Gildor's Forums

Author Topic: [AVA] Determining texture file structure  (Read 4002 times)
digita7
Newbie
*
Posts: 2


View Profile
[AVA] Determining texture file structure
« on: February 15, 2014, 11:17 »

Hi, I work with two versions of Alliance of Valiant Arms: UAVA (for Europe and the Americas) and SEA AVA (for southeastern Asia).

These two releases of AVA both use the .upk file format for resource storage, and both load correctly in umodel.exe. No problems there. Now before I ask my main question, let me give some context:

SEA AVA stores its textures in DXT5, with a small 15-byte separator between each of the mip maps.

UAVA, however, though it still appears to be DXT5 (umodel says it is, at least), uses a different file structure for textures within the UPK. It extracts cleanly, but I have not been able to determine where to inject textures. I have been using

Code:
umodel -list

to find the start and length of each file I need, but that doesn't quite tell me everything I need to know. Also, strangely, the lengths of identical textures between SEA AVA (larger) and UAVA (smaller) are different. This makes me think there may be a different compression being used.

Do you have any suggestions as to how I could determine the file structure, or is there a way to make umodel display information such as hexadecimal offsets for each color channel, per texture, from the UPK?

Thanks!
« Last Edit: February 15, 2014, 11:28 by digita7 » Logged
digita7
Newbie
*
Posts: 2


View Profile
Re: [AVA] Determining texture file structure
« Reply #1 on: February 16, 2014, 01:30 »

Update: It seems that the compression happens after the first mip map starts:

UAVA and SEA both have this identical string at the start of the first mipap:

Code:
EB B6 49 82 B6 2C D9 B6 C3 18 41 08 FC 57 56 56 D9 B7 49 B2 6D 02 A4 4D 62 10 20 00 00 FF FF BA D6 B6 49 22 6D 93 04 48 82 10 41 08 AA 55 55 55 D3 B5 49 22 09 00 00 48 82 10 41 08 AA 55 55 55 D8 B8 49 32 49 12 30 69 62 10 9C 05 06 AA D5 B7 49 22 49 80 36 49

This is identical to the first few lines of the .DDS texture that umodel extracts. However, after this, the contents of the UAVA upk, through its full length, are garbled and look compressed. Even extracted as .Texture2D, SEA has a larger filesize than UAVA for the same texture.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7973



View Profile WWW
Re: [AVA] Determining texture file structure
« Reply #2 on: February 16, 2014, 11:38 »

UE3 has compression for mip levels. Sometimes it's used, sometimes - not. If used, you can't inject anything, unless you'll compress your data to be exactly the same size as original data.
Logged
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS