| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

hspr

Page history last edited by PBworks 17 years, 3 months ago

DATA/hspr-0.dat

 

NOT DECODED

 

I've decoded this format completely. Also hele-0.ani, hfra-0.ani and hsta-0.ani which actually animates the sprites. Check out FreeSynd source code. If someone wants to read spritemanager.cpp (may change in future, look around for the filenames in the source) and add info here, I encourage it.

 

- QuantumG

 

--

 

This file contains sprites of the cyborgs, cops etc. I've just learnt that guy called Andrew Sampson has been also digging Syndicate files one day. Results of his work can be grabbed here http://citybuilder.sourceforge.net/ Since it is 3AM and tommorow I'm setting out to do some snowboarding in Alpes :) I'm going to review his code back in January.

 

--

 

hspr-0.dat is the old Bullfrog sprite file. IIRC it should go together with hspr-0.tab. The dat file is the sprite pixel data, the tab file is the sprite struct data. The h means "hi-res" i.e. meant for 640x480 as opposed to 320x200. (Some other Bullfrog games have mspr-0.* for the lower "medium" res). The 0 is just the bank number, although most games used just the one bank I think.

 

Anyway:

 

hspr-0.tab is a binary dump of sprite structs:

 

struct Sprite
{
  char *data;
  unsigned char width;
  unsigned char height;
};

 

The data member is stored in the file as an offset into the sprite data area and the pointer fixup is done at load time.

 

hspr-0.dat is the sprite pixel data in 8-bit format (each value being a lookup into a palette specified elsewhere). Code to draw a sprite is basically as follows:

 

If the source byte is positive N, copy the following N pixels to the destination.

If the source byte is negative N, skip N pixels in the destination.

If the source byte is 0, skip to the next line.

Comments (0)

You don't have permission to comment on this page.