Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Facebook Sign In with Google Sign In with OpenID

Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Unknow Compression Algorithm

johnwhilejohnwhile Posts: 6Member
Hi all, this is my first topic.
I'm trying to understand a compression algorithm used by a games maker, preface they themselves have released a small program to unzip their files for modding, then I suppose isn't illegal.
The two files for comparison were obtained from the original game (compressed), and from file uncompressed by the released program (is a exe).

Obviously is a proprietary program then the source code is not released, but certainly from a first analysis with a hex editor seems to be intuitive:
If you see the string "Scene Root" is rewritten equal, the string "bone_root" is written "bone_r" because i suppose "oot" string is already in the previous string. :wtf:

http://dl.dropbox.com/u/47659776/ballista_crank.zip

After this introduction someone can enlighten me ? I would be very grateful !
The purpose of this is just to understand if the same method was used to compress an animations used by the game in some special cases, however, is already dated and now unpacked to 99% with programs made ??by its to support modding, butt this aspect have been neglected and no longer offer support for this game.

Thanks.

Comments

  • ArkadiArkadi Posts: 6Member
    The method used somehow resembles RLE. However, you should put special attention on the leading bytes of each decoded/encoded sequence. It looks like a bit-field with special meaning to each bit.

    Since you have both - compressed and reconstructed data, you can start recording statistics how was encoded each sequence. What simplifies, is that coding is byte-aligned and you can recognize sequences that are stored uncompressed.

    The compression itself is not very efficient in reducing data size, as you can see by comparing to ZIP file size.

    Conclusion:
    You will have to do some work to decipher the compression.
    Does it worth the effort?
    Is it legal?

Sign In or Register to comment.