Page 1 of 1

[360] Unreal Tournament 3 compression

Posted: Mon Jun 30, 2008 8:28 am
by juskrey
It seems they made a small surprise by introducing new compression type in Unreal engine.
Not LZO, not even zlib this time.

Someone already digged that?

Re: [360] Unreal Tournament 3 compression

Posted: Fri Jul 04, 2008 2:34 pm
by Mr.Mouse
No, not yet, I had not taken a look yet. So any clue what IS used?

Re: [360] Unreal Tournament 3 compression

Posted: Fri Jul 04, 2008 6:52 pm
by juskrey
The one thing I know exactly, the compressor is the same as in Devil May Cry 4 (it is discussed on xentax already).
Probably, the modification of MS LZX algorithm, but I am not sure..

The one, who will find, what the damn routine (in wild) can return the error code 81DE2001h, will find that compressor.

Re: [360] Unreal Tournament 3 compression

Posted: Sun Sep 07, 2008 12:50 pm
by poly
juskrey wrote:The one thing I know exactly, the compressor is the same as in Devil May Cry 4 (it is discussed on xentax already).
Probably, the modification of MS LZX algorithm, but I am not sure..

The one, who will find, what the damn routine (in wild) can return the error code 81DE2001h, will find that compressor.
Can you elaborate a bit more about the link between compression method used there and in DMC4? And what gives it away that they are both the same, and a modification of MS LZX?

I am after uncompressing DMC4's archives and any insight might help.

Thanks.

Re: [360] Unreal Tournament 3 compression

Posted: Sun Sep 07, 2008 12:56 pm
by juskrey
poly wrote:
Can you elaborate a bit more about the link between compression method used there and in DMC4? And what gives it away that they are both the same, and a modification of MS LZX?

I am after uncompressing DMC4's archives and any insight might help.

Thanks.

I have used dmc4 executable hack to uncompress some data from DMC4. After that, I tried to unpack a data block from UT3, and it worked.

I assume that this compression is included in latest XDK

Re: [360] Unreal Tournament 3 compression

Posted: Tue Sep 09, 2008 1:25 am
by ichigoogle
Could you post the executable hack you used to uncompress DMC4?

Re: [360] Unreal Tournament 3 compression

Posted: Mon Sep 22, 2008 9:40 pm
by poly
juskrey wrote:
poly wrote:
Can you elaborate a bit more about the link between compression method used there and in DMC4? And what gives it away that they are both the same, and a modification of MS LZX?

I am after uncompressing DMC4's archives and any insight might help.

Thanks.

I have used dmc4 executable hack to uncompress some data from DMC4. After that, I tried to unpack a data block from UT3, and it worked.

I assume that this compression is included in latest XDK
Can you elaborate a bit on this "dmc4 executable hack"?
If I understand you correctly, you only partially found a method so far right?

Thanks for the info so far.

Re: [360] Unreal Tournament 3 compression

Posted: Fri Oct 24, 2008 12:33 pm
by AnthonyFiveSixTwo
juskrey wrote:The one thing I know exactly, the compressor is the same as in Devil May Cry 4 (it is discussed on xentax already).
Probably, the modification of MS LZX algorithm, but I am not sure..

The one, who will find, what the damn routine (in wild) can return the error code 81DE2001h, will find that compressor.
You mean this?? :D

Code: Select all

#define XMCDERR_MOREDATA                    _HRESULT_TYPEDEF_(0x81DE2001)
Unfortunately its part of the Xbox 360 XeXDK, and I found it in "xcompress.h" which is in fact LZX.

Re: [360] Unreal Tournament 3 compression

Posted: Fri Oct 24, 2008 1:15 pm
by Mr.Mouse
Nice find! :D

Re: [360] Unreal Tournament 3 compression

Posted: Tue Oct 28, 2008 9:37 am
by poly
AnthonyFiveSixTwo wrote:
juskrey wrote:The one thing I know exactly, the compressor is the same as in Devil May Cry 4 (it is discussed on xentax already).
Probably, the modification of MS LZX algorithm, but I am not sure..

The one, who will find, what the damn routine (in wild) can return the error code 81DE2001h, will find that compressor.
You mean this?? :D

Code: Select all

#define XMCDERR_MOREDATA                    _HRESULT_TYPEDEF_(0x81DE2001)
Unfortunately its part of the Xbox 360 XeXDK, and I found it in "xcompress.h" which is in fact LZX.
Can you point us to any uncompression library that is compatible with the implementation used in the XeXDK?

Re: [360] Unreal Tournament 3 compression

Posted: Sat Nov 08, 2008 7:41 pm
by SAS
Hi all! I`m interested in unpacking UE3 UPK files too. So I collect some information about it.

I found one little program with sourcecode. On this moment it can extract only sounds OGG:
EXE - http://thehackisback.com/spartan018/UPK_Info_Win32.rar
Program Source - http://thehackisback.com/spartan018/UPK_Info_Src.rar

The sourse of information: http://forums.epicgames.com/showthread.php?t=597581

author of this program says:
I've managed to make a lot of progress on the UPK format. I can now partially extract data, although it doesn't always make sense. One of the types I've been more successful with are wav (actually ogg) files. Aside from some extra header data at the beginning of the file (which I haven't been able to decode, part of the reason why I'm posting all this now, but more on that later), OGG files are fully playable. Using a hex editor, you can just remove everything before the first occurance of "OggS" and you'll have a perfectly fine Ogg file.

Unfortunately, the extracted data from textures is unusable (for now). They aren't stored in the DDS format (as far as I can tell), so I need some help figuring it out. I'm posting a compiled version of the app for those who just want to extract sounds, while I'm posting the source for those who want to help. Its written in C# and uses .NET 2.0. Any and all help will be appreciated. If necessary, I will start up a Codeplex project just to keep everything organized.
how to work with this program:
To extract a file, just select an item in the right-most column ("Actual Exportable Items") and either use the Export > Selected menubar item, or just right-click on the item you want to export. Again, most of the stuff thats exported doesn't make any sense (at least to me), so don't complain if you can't get what you want.
I hope, that this information will be interesting for many people.

Re: [360] Unreal Tournament 3 compression

Posted: Sun Nov 09, 2008 12:24 am
by Mr.Mouse
Thank you ! Excellent information! :D