More investigation into animation
This commit is contained in:
@@ -162,6 +162,7 @@ how many type 2 records there are.
|
||||
| 0 | 2? | `02 06` - ??? |
|
||||
| 2 | 2? | `n xx` - ??? `n` counts from 1 to 8 |
|
||||
| 4 | 4 | Position of type 3 record |
|
||||
| 8 | 4 | ??? |
|
||||
|
||||
The two type 3a and 3b records are identical to each other, it's hard to know
|
||||
what's what.
|
||||
@@ -169,137 +170,219 @@ what's what.
|
||||
None of the unknown numbers, however sliced, seem to be sprite indices for
|
||||
`Anim/WarHammer.ani`.
|
||||
|
||||
Here's a trace of both `idx` (fd 34) and `ani` (fd 14) files when placing a
|
||||
single librarian for me to dig into in more detail.
|
||||
Here's a trace of both `idx` and `ani` files when placing a single librarian for
|
||||
me to dig into in more detail. No other files are touched when doing this.
|
||||
|
||||
<details>
|
||||
|
||||
```
|
||||
read(14, "~\337\2\0 \0\0\0\360\373\26\0\20\374\26\0\245J\303\30\0\0\0\0\0\0\0\0(\222R\0", 32) = 32
|
||||
_llseek(<WarHammer.idx>, 132, [132], SEEK_SET) = 0
|
||||
read(<WarHammer.idx>, "\x30\x7c\x09\x00\x98\x00\x00\x00\x88\xf8\x00\x00", 12) = 12
|
||||
|
||||
_llseek(34, 132, [132], SEEK_SET) = 0
|
||||
read(34, "0|\t\0\230\0\0\0\210\370\0\0", 12) = 12
|
||||
_llseek(<WarHammer.idx>, 132, [132], SEEK_SET) = 0
|
||||
read(<WarHammer.idx>, "\x30\x7c\x09\x00\x98\x00\x00\x00\x88\xf8\x00\x00", 12) = 12
|
||||
|
||||
_llseek(34, 132, [132], SEEK_SET) = 0
|
||||
read(34, "0|\t\0\230\0\0\0\210\370\0\0", 12) = 12
|
||||
_llseek(<WarHammer.idx>, 621616, [621616], SEEK_SET) = 0
|
||||
read(<WarHammer.idx>, "\x02\x01\x01\x33\x50\x83\x09\x00\x0d\x00\x00\x00", 12) = 12
|
||||
|
||||
_llseek(34, 621616, [621616], SEEK_SET) = 0
|
||||
read(34, "\2\1\0013P\203\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(34, 621628, [621628], SEEK_SET) = 0
|
||||
read(34, "\2\1\0023\262\203\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(34, 621640, [621640], SEEK_SET) = 0
|
||||
read(34, "\2\1\0033\24\204\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(34, 621652, [621652], SEEK_SET) = 0
|
||||
read(34, "\2\1\0043v\204\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(34, 621664, [621664], SEEK_SET) = 0
|
||||
read(34, "\2\1\0053\330\204\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(<WarHammer.idx>, 621628, [621628], SEEK_SET) = 0
|
||||
read(<WarHammer.idx>, "\x02\x01\x02\x33\xb2\x83\x09\x00\x0d\x00\x00\x00", 12) = 12
|
||||
|
||||
_llseek(34, 623832, [623832], SEEK_SET) = 0
|
||||
read(34, "4\0@\0@\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0", 20) = 20
|
||||
_llseek(<WarHammer.idx>, 621640, [621640], SEEK_SET) = 0
|
||||
read(<WarHammer.idx>, "\x02\x01\x03\x33\x14\x84\x09\x00\x0d\x00\x00\x00", 12) = 12
|
||||
|
||||
_llseek(14, 509440, [509440], SEEK_SET) = 0
|
||||
read(14, "\fM\266\th\16\0\0", 8) = 8
|
||||
_llseek(14, 509448, [509448], SEEK_SET) = 0
|
||||
read(14, "t[\266\t\376\16\0\0", 8) = 8
|
||||
_llseek(14, 509456, [509456], SEEK_SET) = 0
|
||||
read(14, "rj\266\tg\17\0\0", 8) = 8
|
||||
_llseek(14, 509464, [509464], SEEK_SET) = 0
|
||||
read(14, "\331y\266\t\251\17\0\0", 8) = 8
|
||||
_llseek(14, 509472, [509472], SEEK_SET) = 0
|
||||
read(14, "\202\211\266\t\273\17\0\0", 8) = 8
|
||||
_llseek(14, 509480, [509480], SEEK_SET) = 0
|
||||
read(14, "=\231\266\t\10\20\0\0", 8) = 8
|
||||
_llseek(14, 509488, [509488], SEEK_SET) = 0
|
||||
read(14, "E\251\266\t\321\17\0\0", 8) = 8
|
||||
_llseek(14, 509496, [509496], SEEK_SET) = 0
|
||||
read(14, "\26\271\266\t\1\17\0\0", 8) = 8
|
||||
_llseek(14, 509504, [509504], SEEK_SET) = 0
|
||||
read(14, "\27\310\266\t\304\16\0\0", 8) = 8
|
||||
_llseek(14, 509512, [509512], SEEK_SET) = 0
|
||||
read(14, "\333\326\266\t\343\16\0\0", 8) = 8
|
||||
_llseek(14, 509520, [509520], SEEK_SET) = 0
|
||||
read(14, "\276\345\266\t\f\17\0\0", 8) = 8
|
||||
_llseek(14, 509528, [509528], SEEK_SET) = 0
|
||||
read(14, "\312\364\266\tA\17\0\0", 8) = 8
|
||||
_llseek(14, 509536, [509536], SEEK_SET) = 0
|
||||
read(14, "\v\4\267\t\246\17\0\0", 8) = 8
|
||||
_llseek(14, 509440, [509440], SEEK_SET) = 0
|
||||
read(14, "\fM\266\th\16\0\0", 8) = 8
|
||||
_llseek(<WarHammer.idx>, 621652, [621652], SEEK_SET) = 0
|
||||
read(<WarHammer.idx>, "\x02\x01\x04\x33\x76\x84\x09\x00\x0d\x00\x00\x00", 12) = 12
|
||||
|
||||
_llseek(14, 164448540, [164448540], SEEK_SET) = 0
|
||||
read(14, "\367\0\n\0015\0T\0\0\0\0\0P\16\0\0\324q;\1\0\0\0\0\200\23\207**+*+"..., 3688) = 3688
|
||||
_llseek(14, 509448, [509448], SEEK_SET) = 0
|
||||
read(14, "t[\266\t\376\16\0\0", 8) = 8
|
||||
_llseek(14, 164452228, [164452228], SEEK_SET) = 0
|
||||
read(14, "\365\0\10\0017\0W\0\0\0\0\0\346\16\0\0\324q;\1\0\0\0\0\200\25\3*\212+*,"..., 3838) = 3838
|
||||
_llseek(14, 509456, [509456], SEEK_SET) = 0
|
||||
read(14, "rj\266\tg\17\0\0", 8) = 8
|
||||
_llseek(14, 164456066, [164456066], SEEK_SET) = 0
|
||||
read(14, "\364\0\10\19\0Z\0\0\0\0\0O\17\0\0\324q;\1\0\0\0\0\200\30\201*\5+\200\33"..., 3943) = 3943
|
||||
_llseek(14, 509464, [509464], SEEK_SET) = 0
|
||||
read(14, "\331y\266\t\251\17\0\0", 8) = 8
|
||||
_llseek(14, 164460009, [164460009], SEEK_SET) = 0
|
||||
read(14, "\356\0\7\1B\0[\0\0\0\0\0\221\17\0\0\324q;\1\0\0\0\0\200\"\201*\200\37\0\200"..., 4009) = 4009
|
||||
_llseek(14, 509472, [509472], SEEK_SET) = 0
|
||||
read(14, "\202\211\266\t\273\17\0\0", 8) = 8
|
||||
_llseek(14, 164464018, [164464018], SEEK_SET) = 0
|
||||
read(14, "\356\0\n\1C\0\\\0\0\0\0\0\243\17\0\0\324q;\1\0\0\0\0\200#\3)\3+\200\32"..., 4027) = 4027
|
||||
_llseek(14, 509480, [509480], SEEK_SET) = 0
|
||||
read(14, "=\231\266\t\10\20\0\0", 8) = 8
|
||||
_llseek(14, 164468045, [164468045], SEEK_SET) = 0
|
||||
read(14, "\354\0\t\1C\0Z\0\0\0\0\0\360\17\0\0\324q;\1\0\0\0\0\200$\201*\200\36\0\200"..., 4104) = 4104
|
||||
_llseek(14, 509488, [509488], SEEK_SET) = 0
|
||||
read(14, "E\251\266\t\321\17\0\0", 8) = 8
|
||||
_llseek(14, 164472149, [164472149], SEEK_SET) = 0
|
||||
read(14, "\356\0\t\1?\0V\0\0\0\0\0\271\17\0\0\324q;\1\0\0\0\0\200\35\212&&H)*"..., 4049) = 4049
|
||||
_llseek(14, 509496, [509496], SEEK_SET) = 0
|
||||
read(14, "\26\271\266\t\1\17\0\0", 8) = 8
|
||||
_llseek(14, 164476198, [164476198], SEEK_SET) = 0
|
||||
read(14, "\366\0\10\0015\0[\0\0\0\0\0\351\16\0\0\324q;\1\0\0\0\0\200\20\201*\4+\206*"..., 3841) = 3841
|
||||
_llseek(14, 509504, [509504], SEEK_SET) = 0
|
||||
read(14, "\27\310\266\t\304\16\0\0", 8) = 8
|
||||
_llseek(14, 164480039, [164480039], SEEK_SET) = 0
|
||||
read(14, "\367\0\7\0013\0[\0\0\0\0\0\254\16\0\0\324q;\1\0\0\0\0\200\33\210+,+,,"..., 3780) = 3780
|
||||
_llseek(14, 509512, [509512], SEEK_SET) = 0
|
||||
read(14, "\333\326\266\t\343\16\0\0", 8) = 8
|
||||
_llseek(14, 164483819, [164483819], SEEK_SET) = 0
|
||||
read(14, "\370\0\7\1A\0_\0\0\0\0\0\313\16\0\0\324q;\1\0\0\0\0\200\34\203,,*\200\""..., 3811) = 3811
|
||||
_llseek(14, 509520, [509520], SEEK_SET) = 0
|
||||
read(14, "\276\345\266\t\f\17\0\0", 8) = 8
|
||||
_llseek(14, 164487630, [164487630], SEEK_SET) = 0
|
||||
read(14, "\370\0\7\1H\0`\0\0\0\0\0\364\16\0\0\324q;\1\0\0\0\0\200\35\201,\200*\0\200"..., 3852) = 3852
|
||||
_llseek(14, 509528, [509528], SEEK_SET) = 0
|
||||
read(14, "\312\364\266\tA\17\0\0", 8) = 8
|
||||
_llseek(14, 164491482, [164491482], SEEK_SET) = 0
|
||||
read(14, "\373\0\10\1;\0Z\0\0\0\0\0)\17\0\0\324q;\1\0\0\0\0\200\36\202+,\200\33\0"..., 3905) = 3905
|
||||
_llseek(14, 509536, [509536], SEEK_SET) = 0
|
||||
read(14, "\v\4\267\t\246\17\0\0", 8) = 8
|
||||
_llseek(14, 164495387, [164495387], SEEK_SET) = 0
|
||||
read(14, "\366\0\n\18\0Y\0\0\0\0\0\216\17\0\0\324q;\1\0\0\0\0\200\32\t+\205*\4,"..., 4006) = 4006
|
||||
_llseek(<WarHammer.idx>, 621664, [621664], SEEK_SET) = 0
|
||||
read(<WarHammer.idx>, "\x02\x01\x05\x33\xd8\x84\x09\x00\x0d\x00\x00\x00", 12) = 12
|
||||
|
||||
_llseek(34, 623832, [623832], SEEK_SET) = 0
|
||||
read(34, "4\0@\0@\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0", 20) = 20
|
||||
read(34, "\0\0\6\0\4\0\0\0\6\0\4\0\0\0\6\0\4\0\0\0\5\0\4\0\0\0\5\0\4\0\0\0"..., 78) = 78
|
||||
_llseek(<WarHammer.idx>, 623832, [623832], SEEK_SET) = 0
|
||||
read(<WarHammer.idx>, "\x34\x00\x40\x00\x40\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 20) = 20
|
||||
|
||||
_llseek(34, 132, [132], SEEK_SET) = 0
|
||||
read(34, "0|\t\0\230\0\0\0\210\370\0\0", 12) = 12
|
||||
_llseek(<WarHammer.idx>, 0, [623852], SEEK_CUR) = 0
|
||||
_llseek(<WarHammer.idx>, 623852, [623852], SEEK_SET) = 0
|
||||
_llseek(<WarHammer.idx>, 623930, [623930], SEEK_SET) = 0
|
||||
|
||||
_llseek(34, 621616, [621616], SEEK_SET) = 0
|
||||
read(34, "\2\1\0013P\203\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(34, 621628, [621628], SEEK_SET) = 0
|
||||
read(34, "\2\1\0023\262\203\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(34, 621640, [621640], SEEK_SET) = 0
|
||||
read(34, "\2\1\0033\24\204\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(34, 621652, [621652], SEEK_SET) = 0
|
||||
read(34, "\2\1\0043v\204\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(34, 621664, [621664], SEEK_SET) = 0
|
||||
read(34, "\2\1\0053\330\204\t\0\r\0\0\0", 12) = 12
|
||||
_llseek(<WarHammer.ani>, 509440, [509440], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x0c\x4d\xb6\x09\x68\x0e\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509448, [509448], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x74\x5b\xb6\x09\xfe\x0e\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509456, [509456], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x72\x6a\xb6\x09\x67\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509464, [509464], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xd9\x79\xb6\x09\xa9\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509472, [509472], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x82\x89\xb6\x09\xbb\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509480, [509480], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x3d\x99\xb6\x09\x08\x10\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509488, [509488], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x45\xa9\xb6\x09\xd1\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509496, [509496], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x16\xb9\xb6\x09\x01\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509504, [509504], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x17\xc8\xb6\x09\xc4\x0e\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509512, [509512], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xdb\xd6\xb6\x09\xe3\x0e\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509520, [509520], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xbe\xe5\xb6\x09\x0c\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509528, [509528], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xca\xf4\xb6\x09\x41\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509536, [509536], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x0b\x04\xb7\x09\xa6\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 509440, [509440], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x0c\x4d\xb6\x09\x68\x0e\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164448540, [164448540], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xf7\x00\x0a\x01\x35\x00\x54\x00\x00\x00\x00\x00\x50\x0e\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x13\x87\x2a\x2a\x2b\x2a\x2b"..., 3688) = 3688
|
||||
|
||||
_llseek(<WarHammer.ani>, 509448, [509448], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x74\x5b\xb6\x09\xfe\x0e\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164452228, [164452228], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xf5\x00\x08\x01\x37\x00\x57\x00\x00\x00\x00\x00\xe6\x0e\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x15\x03\x2a\x8a\x2b\x2a\x2c"..., 3838) = 3838
|
||||
|
||||
_llseek(<WarHammer.ani>, 509456, [509456], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x72\x6a\xb6\x09\x67\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164456066, [164456066], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xf4\x00\x08\x01\x39\x00\x5a\x00\x00\x00\x00\x00\x4f\x0f\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x18\x81\x2a\x05\x2b\x80\x1b"..., 3943) = 3943
|
||||
|
||||
_llseek(<WarHammer.ani>, 509464, [509464], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xd9\x79\xb6\x09\xa9\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164460009, [164460009], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xee\x00\x07\x01\x42\x00\x5b\x00\x00\x00\x00\x00\x91\x0f\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x22\x81\x2a\x80\x1f\x00\x80"..., 4009) = 4009
|
||||
|
||||
_llseek(<WarHammer.ani>, 509472, [509472], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x82\x89\xb6\x09\xbb\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164464018, [164464018], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xee\x00\x0a\x01\x43\x00\x5c\x00\x00\x00\x00\x00\xa3\x0f\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x23\x03\x29\x03\x2b\x80\x1a"..., 4027) = 4027
|
||||
|
||||
_llseek(<WarHammer.ani>, 509480, [509480], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x3d\x99\xb6\x09\x08\x10\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164468045, [164468045], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xec\x00\x09\x01\x43\x00\x5a\x00\x00\x00\x00\x00\xf0\x0f\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x24\x81\x2a\x80\x1e\x00\x80"..., 4104) = 4104
|
||||
|
||||
_llseek(<WarHammer.ani>, 509488, [509488], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x45\xa9\xb6\x09\xd1\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164472149, [164472149], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xee\x00\x09\x01\x3f\x00\x56\x00\x00\x00\x00\x00\xb9\x0f\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x1d\x8a\x26\x26\x48\x29\x2a"..., 4049) = 4049
|
||||
|
||||
_llseek(<WarHammer.ani>, 509496, [509496], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x16\xb9\xb6\x09\x01\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164476198, [164476198], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xf6\x00\x08\x01\x35\x00\x5b\x00\x00\x00\x00\x00\xe9\x0e\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x10\x81\x2a\x04\x2b\x86\x2a"..., 3841) = 3841
|
||||
|
||||
_llseek(<WarHammer.ani>, 509504, [509504], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\x17\xc8\xb6\x09\xc4\x0e\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164480039, [164480039], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xf7\x00\x07\x01\x33\x00\x5b\x00\x00\x00\x00\x00\xac\x0e\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x1b\x88\x2b\x2c\x2b\x2c\x2c"..., 3780) = 3780
|
||||
|
||||
_llseek(<WarHammer.ani>, 509512, [509512], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xdb\xd6\xb6\x09\xe3\x0e\x00\x00", 8) = 8
|
||||
|
||||
_llseek(<WarHammer.ani>, 164483819, [164483819], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xf8\x00\x07\x01\x41\x00\x5f\x00\x00\x00\x00\x00\xcb\x0e\x00\x00\xd4\x71\x3b\x01\x00\x00\x00\x00\x80\x1c\x83\x2c\x2c\x2a\x80\x22"..., 3811) = 3811
|
||||
|
||||
_llseek(<WarHammer.ani>, 509520, [509520], SEEK_SET) = 0
|
||||
read(<WarHammer.ani>, "\xbe\xe5\xb6\x09\x0c\x0f\x00\x00", 8) = 8
|
||||
|
||||
_llseek(34, 623832, [623832], SEEK_SET) = 0
|
||||
read(34, "4\0@\0@\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0", 20) = 20
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
Notable is that we still load 5 type 2 records, even though there's just a
|
||||
single librarian, and 8 compass points. Why 5?
|
||||
Notable is that we still load 5 type 2 records, even though there's just a
|
||||
single librarian, and 8 compass points. Why 5?
|
||||
|
||||
Also notable is that we read from `idx` **before** we read from `ani`.
|
||||
|
||||
Other data may be loaded at program start, of course. What other files seem
|
||||
relevant?
|
||||
|
||||
* `Data/AniObDef.dat`
|
||||
* `Data/HasAction.dat`
|
||||
* `Data/VehicDef.dat`
|
||||
* `Data/WeapDef.dat`
|
||||
|
||||
These all reference animations in one way or another.
|
||||
|
||||
## `HasAction.dat`
|
||||
|
||||
This file seems relevant as it says whether or not particular animations exist
|
||||
for the different types of character, which maps directly to what is stored in
|
||||
the .ani file - and so must affect lookups thereof.
|
||||
|
||||
Fortunately, it's commented extensively. For each "Character Type", there are
|
||||
36 different possible animations.
|
||||
|
||||
Here's a table representation of the data:
|
||||
|
||||
```
|
||||
Tac Ass Dev Term Apo Tech Chp Lib Cpt CMar CLrd CChp CSrc CTrm Kbz BTh BL FHnd LoC Flm PHr BHr Cult
|
||||
00 x x x x x x x x x x x x x x x x x x x x x x x
|
||||
01 x x x x x x x x x x x x x x x x x x x x x x x
|
||||
02 x x x x x x x x x x x x x x x x x x x x x x x
|
||||
03
|
||||
04
|
||||
05
|
||||
06 x x x x x x x x x x x x x x x x x x x x
|
||||
07 x x x x x x x x x x x x x x x x x x x x x x x
|
||||
08 x x x x x x x x x x x x x x x x
|
||||
09
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14 x x x x x x x x x x x x x
|
||||
15 x x x x x x x x x x x x x
|
||||
16 x x x x x x x x x x x x x
|
||||
17 x x x x x x x x x x x x x
|
||||
18 x x x x x x x x x x x x x
|
||||
19 x x x x x x x x x x x x x
|
||||
20 x x x x x x x x x x x x x
|
||||
21 x x x x x x x x x x x x x
|
||||
22 x x x x x x x x x x x x x x
|
||||
23 x x x x x x x x x x x x x
|
||||
24 x x x x x x x x x x x x x x x x
|
||||
25 x x x x x x x x x x x x x x x x x x x x x x
|
||||
26 x x x x x x x x x x x x x x x x x
|
||||
27 x x x x x x x x x x x x x x x x x x x x x
|
||||
28 x x x x x x x x x x x x x x
|
||||
29 x x x
|
||||
30 x
|
||||
31 x
|
||||
32 x x x
|
||||
33 x x x x x x x x x x x x x x x x x x x x x
|
||||
34 x x x x x x x x x x x x x x x x x x x x x x x
|
||||
35 x x x x x x x
|
||||
```
|
||||
|
||||
`WarHammer.ani` doesn't have blank sprites for the unchecked cells, so this must
|
||||
surely be used to map between set-of-sprites and `AnimAction`.
|
||||
|
||||
I think we still need the data in `.idx` for a full picture, though. Things we
|
||||
still need:
|
||||
|
||||
* Mapping of character type to sprite directory index in `WarHammer.ani`
|
||||
* Number of frames in each AnimAction
|
||||
|
||||
Either of these could be hardcoded, or dynamic.
|
||||
|
Reference in New Issue
Block a user