I noticed about "–32768" that the sequence also often happens at the very end. This suggests it's not moving around vertex data. My first instinct the tail end markers were so the deltas could be walked in reverse. However that doesn't look feasible to me. I also noticed the number following the marker tends to be small
, and my instinct is it is a 16-bit index back into the orange offset table.Strikeout: I found an index that is 23, so can't be the orange table. I've also noticed the interleaved bytes are always even on the non-delta side (unless a special index.)
It seems bizarre, but the only explanation I can think of is that a delta block that looks small, can actually include other delta blocks inside itself, basically stringing deltas together. This seems somewhat preposterous. However it's not unlike a general purpose compression algorithm. If this is all true, you might say that this form of animation compression is closer to an off the shelf file compression codec SOM's animation format.
These may not be deltas at all in fact. They could be compression codes. And only after the data is decompressed might it then be interpreted. On the other hand, they don't look like efficient compression, and nothing else is compressed. Hopefully there is not any obfuscation, but I stand by these findings. I just don't see a lot to go on. Could you do more tests modifying the memory in the game? Or coach me?
EDITED: For the record, I edited the last paragraph significantly. Several minutes later