/spriteasm

A image unpacker written in Assembly for sprite-compiled files (as used by games like Tibia)

Primary LanguageAssemblyMIT LicenseMIT

SpriteASM Unpacker

A image unpacker written in Assembly for unpacking sprite-compiled files (as used by games like Tibia) into viewable BMP images.

Note: This application was written in 2009~2010, so it might not support changes in the .spr format that might have happened.

The code has been commented thoroughly for better understanding of each step. Jump points should also be self-explanatory Functions and jump points are underscored, but functions begin with an underscore.


Rough explanation of the structure:

|_main:385
| open sprites file
| create output directory
--->|_read_sprites(file_pointer):145
---- |Read header
---- |loop: read sprites (read pixels/calculate position)
---------> _create_empty_sprite(sprite_index):61
---- | Write to file


For some information regarding x86 Asm instruction set, visit the following page: http://www.hep.wisc.edu/~pinghc/x86AssmTutorial.htm