17-05-2009, 08:01 PM
|
#17
|
Join Date: Oct 2004
Location: Opole, Poland
Posts: 14,276
|
Here's what I've got so far. Take note it's mostly deduction and guesswork.
Quote:
Lion ACT format notes:
Every file starts with four bytes - an ASCII string "UNC2"
Next are two bytes (word) ordered in last-to first sequence. As far as I can tell, this is the number of separate data segments (sprites) in the file.
Next follow eight bytes (double word) ordered in last-to-first sequence again. This defines an absolute offset in the file at which a list of length of data segments present in the file is stored. Length of each segment is stored on four bytes (a word) per every data segment in the file, written in last-to-first sequence and defining the absolute offset in the file at which the corresponding data segment begins.
Note: First data segment ALWAYS starts at absolute offset 0Eh.
Data segment structure: First sixteen bytes of each data segment form some kind of a header, and consist of eight entries, each with the length of two bytes (word) and written in last-to-first sequence.
+0h = UNKNOWN
NOTE = is always identical for data entries from the same ACT file.
+2h = UNKNOWN
NOTE = is always identical for data entries from the same ACT file.
+4h = UNKNOWN
+6h = Signifies length from the offset declared at +8h to the end of part A of the data segment
+8h = Signifies an offset in the part A of the data segment
+Ah = UNKNOWN
+Ch = Length of part A of the data segment, starting at +10h from the beginning of the record. The data segment always ends with a byte of zero value.
+Eh = Length of part B of the data segment, starting immediately after part B and invariably consisting of a single byte value repeated over until the end. Probably padding.
+10h = UNKNOWN
NOTE = is always identical for data entries from the same ACT file.
+11h and onwards = data.
|
__________________
"God. Can't you people see I'm trying to commit a crime against science and nature here?"
-- Reed Richards
|
                       
|
|