From: Marzo J. <ma...@ya...> - 2007-06-09 03:56:56
|
Hello all, I just discovered something about which I want to ask to see if anyone knowns anything about it: namely, that the TFA.DAT file (in both BG and SI) have a 512-byte tailer which is not at all read by Exult (assuming you do not read part of that data in SI for the skin shapes). I was shocked to discover that. Doubly so since it seems to contain animation data! Thanks to hex editing and DOSBox, this is what I know for sure: It is a nibble-field -- each byte has 4 bits for each shape. Thus, the shapes take the data at offset 0xC00 + shape/2, the high nibble being for the odd shape. The shape nibbles do not seem to be bit fields. For animating shapes, the nibbles mean the following: ============ BG Nibble Meaning -------------------------- 0, 1 Continuous, looping animation 2 Unused like 0 or 1, but frames seem to advance randomly (maybe with 1/4 chance) 3 Mistery. Some shapes animate to the end then keep alternating between the last two frames, other shapes reverse direction of animation at the end then back at the beginning. Present only for strength tester, which is not animated. 4 Mystery, unused. Frames advance randomly, like in 2, but with some of the behaviour of 3. Maybe 1/4 chance to advance as per 3? 5 Like the random loops I recently added; stops at frame 0 for random periods of time, then animates as per 0 or 1. 6 Seems to select one frame at random from the animation. Used for wounded man. 7 Present only in slimes. When used for an animated shape, toggles bit 0 of frame at random time intervals with a low chance. 8 Sundials; frame = hour of day. 9 Fire/sleep fields. Resumes animation from 8th frame from last (i.e., frame 24 if shape has 32-frames, like the wounded man). A Poison field. Like 9, but using the 6th frame from last instead. B Doesn't animate first frame; all other frames form a single looping cycle (e.g., shafts). C Like 1, but animation is slower; maybe 1/4 of normal speed. Used only for guillotine and wedding ring, which don't animate. D Energy field: animates normally but stops at the last frame. E Grandfather clocks; slower animation. Maybe time-synched? F Unused; does not animate at all. ============ SI Nibble Meaning -------------------------- 0 to E Exactly like their BG counterparts F Animation happens in groups of 6 frames or less. Thus, a shape with 13 frames would have 3 cycles: 0-5, 6-11 and 12 (non-animating). In any case, the current system in Exult is far more capable than the original system. Methinks I will just use this new data to finish adding data in shape_info.txt for BG and SI and fix the TFA reader to ignore those last 512 bytes. Maybe add some of the extra capabilities like those from nibbles 6 and 7. Any thoughts? -- Marzo Sette Torres Junior ma...@fi... ma...@ya... ma...@ta... ____________________________________________________________________________________ 8:00? 8:25? 8:40? Find a flick in no time with the Yahoo! Search movie showtime shortcut. http://tools.search.yahoo.com/shortcuts/#news |