Sprite actor data

From LBA File Information
Revision as of 20:04, 9 February 2013 by Zink (talk | contribs)
Jump to navigation Jump to search
Sprite actor data
Extension

SAD

Occurence

unknown

Colour
Programs supporting this format

(none)

References

Find entries of this type


SAD files contain information about Sprite Actors. They are divided into 16-byte blocks, without any header or stuff. Each of these blocks contains information about consecutive sprite from the Sprites.hqr file. The blocks contain information about [0,0,0] point of the Sprite image as a Scene Object and dimensions in all three axes it has in the Scene environment.

Specification:

------------------------------------
 LBA font file format
 Author: Kazimierz Król (zink)
 Revision: 1.00
------------------------------------

The Sprite Actor information is the 4th entry (starting with 1) of the ress.hqr in LBA1 and 6th entry in ress.hqr in LBA2. 

The file format is identical in both games.

The file contains information about Sprite Actors. It is divided into 16-byte blocks, no header or stuff. 

Each of these blocks contains information about consecutive sprite from the Sprites.hqr file.

First block starts at offset 0 and it's last byte is at offset 15
(decimal) - it provides inforamtion for the first sprite from sprites.hqr.
Second block starts at offset 16 and it's last byte is at offset 31 - it provides information for the second sprite from sprites.hqr.
And this way it goes till the end of the file.

The file always has the [sprites.hqr_entries_count] * 16 number of bytes. If it has less, the game may crash when trying to display higher sprites. 

The format if each block is as follows (offsets are given from the start of each block):

Offset format           meaning
0x00   signed word      Scene offset in the image's X axis (pixels)
0x02   signed word      Scene offset in the image's Y axis (pixels)
0x04   (signed?) word   X position (in Scene coords) of the top-left side of the Actor's bounding box
0x06   (signed ?) word  X position of the bottom-right side of the Actor's bounding box
0x08   (signed ?) word  Y position of the floor side of the Actor's bounding box
0x0A   (signed ?) word  Y position of the ceiling side of the Actor's bounding box
0x0C   (signed ?) word  Z position of the top-right side of the Actor's bounding box
0x0E   (signed ?) word  Z position of the bottom-left side of the Actor's bounding box   

The first two values describe position of the sprite image's top left corner relative to its Scene position. For example: values X = -46 and Y = -20 mean that the Sprite image will be moved by 46 pixels to the left and by 20 pixels up from the screen pixel coordinates of its top left corner's Scene position. 

The 6 next values describe "physical" dimensions of the Actor (in 3D coding it is referred to as "bounding box"). The values are measured from the Actor's Scene position. Only positive values can be used. Negative values disable the use of bounding box.

Information provided by: Zink