A few more .idx realisations, and some parsing code
This commit is contained in:
@@ -309,11 +309,14 @@ matches the value at offset 8. This, then, must be the link.
|
||||
|
||||
If the first sprite is 0, the displayed sprite is 64 (`0x40`)...
|
||||
|
||||
We still need to know how to go from "librarian" to "index 11", though. The
|
||||
`CTYPE_LIBRARIAN` value in `HasAction.ani` gives librarians an 8...
|
||||
|
||||
|
||||
| Offset | Size | Meaning |
|
||||
| ------ | ---- | ------- |
|
||||
| 0 | 4 | Offset of type 2 record(s) |
|
||||
| 4 | 4 | Unknown |
|
||||
| 0 | 4 | Offset of type 2 records |
|
||||
| 4 | 4 | Number of type 2 records |
|
||||
| 8 | 4 | First sprite in `WarHammer.ani` for this record |
|
||||
|
||||
### Type 2 record(s)
|
||||
@@ -334,7 +337,8 @@ Next, we read 5x 12-byte records - 60 bytes total - from that offset in the type
|
||||
the reads of type 2 records stop - so we were searching for it.
|
||||
|
||||
In the first 12-byte record, we have a close offset: `0x098350`. So we have
|
||||
1,824 bytes available in this block of type 2 records - enough for 152 of them.
|
||||
1,824 bytes available in this block of type 2 records - enough for 152 of them,
|
||||
which is the number specified in the second position of the type 1 header.
|
||||
|
||||
What is the significance of the fifth 12-byte read? Why do we move onto type 3
|
||||
records when we reach it? When we place the librarian, he is **facing** south,
|
||||
@@ -354,7 +358,7 @@ total, but I haven't counted the actions yet.
|
||||
|
||||
| Offset | Size | Meaning |
|
||||
| ------ | ---- | ------- |
|
||||
| 0 | 2? | Static per each group of 8 type-2 records? |
|
||||
| 0 | 2? | ActionID? Static per each group of 8 type-2 records? |
|
||||
| 2 | 1? | Counts up from `01` to `08` in each group of 8 type-2 records? |
|
||||
| 3 | 1? | Is `0x33` for all but the last 4 groups of 8 type-2 records? |
|
||||
| 4 | 4 | Position of type 3 record |
|
||||
@@ -386,9 +390,13 @@ offsets of the frames we load.
|
||||
| ------ | ---- | ------- |
|
||||
| 0 | 2 | First sprite in animation (relative offset) |
|
||||
| 2 | 2 | Last sprite in animation (relative offset)? |
|
||||
| 4 | 2? | Could also be last sprite in animation? |
|
||||
| 6 | 2? | ??? |
|
||||
| 8 | 12? | ??? - unset in this case |
|
||||
| 4 | 2? | Could also be last sprite in animation? |
|
||||
| 6 | 2? | ??? |
|
||||
| 8 | 12? | ??? - unset in this case |
|
||||
|
||||
The remaining 78-byte chunk is impenetrable so far, but we should now have the
|
||||
information we need to display all the animated sequences in `WarHammer.ani`!
|
||||
|
||||
How do we know it needs to be 78 bytes? One option is multiplying the final
|
||||
field of the type 2 record by 6. Maybe we have 6 bytes of description per frame,
|
||||
or maybe it's unrelated to frames?
|
||||
|
Reference in New Issue
Block a user