Jump to content

OBD:TRAM: Difference between revisions

475 bytes added ,  22 November 2022
→‎PS2 implementation: two more fields located; almost done
mNo edit summary
(→‎PS2 implementation: two more fields located; almost done)
Line 297: Line 297:
{{OBDtr| 0x02C | bitset32 |FFC8FF| 00 00 00 00 | 0          | used body parts; used mostly by aiming overlays (same as PC/Mac 0x048) }}
{{OBDtr| 0x02C | bitset32 |FFC8FF| 00 00 00 00 | 0          | used body parts; used mostly by aiming overlays (same as PC/Mac 0x048) }}
{{OBDtr| 0x030 | bitset32 |FFC8FF| 00 00 00 00 | 0          | replaced parts; used by non-aiming overlays (same as PC/Mac 0x04C) }}
{{OBDtr| 0x030 | bitset32 |FFC8FF| 00 00 00 00 | 0          | replaced parts; used by non-aiming overlays (same as PC/Mac 0x04C) }}
{{OBDtr| 0x034 | int32    |FF00FF| 01 00 00 00 | 1          | unknown; moving direction? }}
{{OBDtr| 0x034 | int16    |C800C8| 01 00      | 1          | moving direction }}
{{OBDtr| 0x036 | int32    |FF00FF| 01 00 00 00 | 1          | unknown; moving direction? }}
{{OBDtr| 0x038 | int16    |EEDDFF| 06 00      | 6          | compression size }}
{{OBDtr| 0x038 | int16    |EEDDFF| 06 00      | 6          | compression size }}
{{OBDtr| 0x03A | int16    |EEDDFF| 16 00      | 22          | animation type (from anim_types.[[OBD:StNA|StNA]]) }}
{{OBDtr| 0x03A | int16    |EEDDFF| 16 00      | 22          | animation type (from anim_types.[[OBD:StNA|StNA]]) }}
Line 314: Line 315:
{{OBDtr| 0x050 | char[16] |CACAFF| AD DE      | dead        | unused (not part of the template) }}
{{OBDtr| 0x050 | char[16] |CACAFF| AD DE      | dead        | unused (not part of the template) }}
|}
|}
At the time of writing, some of the above data is merely an informed guess (not thoroughly confirmed), and the nature of 0x034 (int32?) and 0x04C (uint8?) needs to be clarified more particularly.
At the time of writing, some of the above data is merely an informed guess (not thoroughly confirmed), and the nature of 0x036 (int16?) and 0x04C (uint8?) needs to be clarified more particularly. If 0x036 is always zero, then maybe 0x034 is stored as an int32. We also need to locate "end/maximal interpolation" and possibly other remaining fields from the PC/Mac data, or establish that they are missing from the TRAM/TREX representation of animations on PS2.




The TREX file has all the combat-relevant stuff as well as some stuff that isn't necessary combat-related (e.g., vocalizations).
The TREX file has all the combat-relevant stuff as well as some stuff that isn't necessary combat-related (e.g., vocalizations, turning angle, moving direction).


{|cellpadding=3 cellspacing=0 style="line-height:13px"
{|cellpadding=3 cellspacing=0 style="line-height:13px"
Line 449: Line 450:
|00|00|00|00|00|00|00|00|00|00|00|00|00|00|12|00|
|00|00|00|00|00|00|00|00|00|00|00|00|00|00|12|00|
|FF|FF|FF|FF|00|00|00|00|FF|FF|FF|FF|C8|C8|C8|C8|
|FF|FF|FF|FF|00|00|00|00|FF|FF|FF|FF|C8|C8|C8|C8|
|80|80|80|80|96|96|96|96|80|80|80|80|C8|C8|C8|C8|
|C8|C8|C8|C8|96|96|96|96|80|80|80|80|C8|C8|C8|C8|
|C0|C0|C0|C0|C8|C8|C8|C8|C0|C0|C0|C0|64|64|64|64|
|00|00|00|00|C8|C8|C8|C8|C0|C0|C0|C0|64|64|64|64|
|°°°°°°°°°°°°°°°°
|°°°°°°°°°°°°°°°°
}}
}}
Line 510: Line 511:
{{OBDtr| 0x118 | link    |C8FFFF| 00 00 00 00 | unused      | direct animation 0 (link to a TRAM file) }}
{{OBDtr| 0x118 | link    |C8FFFF| 00 00 00 00 | unused      | direct animation 0 (link to a TRAM file) }}
{{OBDtr| 0x11C | link    |C8FFFF| 00 00 00 00 | unused      | direct animation 1 (link to a TRAM file) }}
{{OBDtr| 0x11C | link    |C8FFFF| 00 00 00 00 | unused      | direct animation 1 (link to a TRAM file) }}
{{OBDtr| 0x120 | int32   |FF80C0| 00 00 00 00 | 0           | unknown }}
{{OBDtr| 0x120 | float   |FFC800| 00 00 00 00 | 0.000000    | final rotation in radians (for anims that make you turn) }}
{{OBDtr| 0x124 | int32    |0096C8| 00 00 00 00 | 0          | number of elements in the sound part }}
{{OBDtr| 0x124 | int32    |0096C8| 00 00 00 00 | 0          | number of elements in the sound part }}
{{OBDtr| 0x128 | int32    |FF80C0| 00 00 00 00 | 0          | unknown; runtime pointer to the sound? }}
{{OBDtr| 0x128 | int32    |FF80C0| 00 00 00 00 | 0          | unknown; runtime pointer to the sound? }}
Line 526: Line 527:
{{OBDtr| 0x13C | char[4]  |CACAFF| AD DE      | dead        | unused (not part of the template) }}
{{OBDtr| 0x13C | char[4]  |CACAFF| AD DE      | dead        | unused (not part of the template) }}
|}
|}
At the time of writing, some of the above data is merely an informed guess (not thoroughly confirmed), and the nature of 0x120 (int32?) and 0x128 (int32?) needs to be clarified more particularly. Probably it will all be clarified after locating fields like "final rotation", "main attack direction" and "end/maximal interpolation".
At the time of writing, some of the above data is merely an informed guess (not thoroughly confirmed), and the nature of 0x128 (int32?) needs to be clarified more particularly. We also need to locate "end/maximal interpolation" and possibly other remaining fields from the PC/Mac data, or establish that they are missing from the TRAM/TREX representation of animations on PS2.