OBD:TRAM: Difference between revisions

m
"PC" is now consistently used on the wiki to mean "Win/Mac"
(noted difference between StNAanim_flags and the engine code)
m ("PC" is now consistently used on the wiki to mean "Win/Mac")
 
Line 333: Line 333:
{{OBDtr| 0x020 | offset  |FFFFC8| C0 F4 0F 00 | 0x000FF4C0  | raw file offset of the [[OBD:TRAM/raw0x30|position data]] (for basic prediction) }}
{{OBDtr| 0x020 | offset  |FFFFC8| C0 F4 0F 00 | 0x000FF4C0  | raw file offset of the [[OBD:TRAM/raw0x30|position data]] (for basic prediction) }}
{{OBDtr| 0x024 | offset  |FFFFC8| 40 F7 0F 00 | 0x000FF740  | raw file offset of the [[OBD:TRAM/raw0x34|rotations]] (of all body parts) }}
{{OBDtr| 0x024 | offset  |FFFFC8| 40 F7 0F 00 | 0x000FF740  | raw file offset of the [[OBD:TRAM/raw0x34|rotations]] (of all body parts) }}
{{OBDtr| 0x028 | bitset32 |C8FFC8| 90 00 08 00 | attack, atomic, dontAim | flags (same as PC/Mac 0x03C) }}
{{OBDtr| 0x028 | bitset32 |C8FFC8| 90 00 08 00 | attack, atomic, dontAim | flags (same as PC's 0x03C) }}
{{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's 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's 0x04C) }}
{{OBDtr| 0x034 | int16    |C800C8| 01 00      | 1          | moving direction }}
{{OBDtr| 0x034 | int16    |C800C8| 01 00      | 1          | moving direction }}
{{OBDtr| 0x036 | int16    |FF00FF| 00 00      | 1          | unknown }}
{{OBDtr| 0x036 | int16    |FF00FF| 00 00      | 1          | unknown }}
Line 344: Line 344:
{{OBDtr| 0x040 | int16    |C0C0C0| 07 00      | 7          | to state }}
{{OBDtr| 0x040 | int16    |C0C0C0| 07 00      | 7          | to state }}
{{OBDtr| 0x042 | int16    |FF0080| 50 00      | 80          | number of frames (animations are locked to 60 fps) }}
{{OBDtr| 0x042 | int16    |FF0080| 50 00      | 80          | number of frames (animations are locked to 60 fps) }}
{{OBDtr| 0x044 | bitset16 |FFFFA6| 00 02      | 0x0200 <nowiki>=</nowiki> COM| variant (same as PC/Mac 0x170) }}
{{OBDtr| 0x044 | bitset16 |FFFFA6| 00 02      | 0x0200 <nowiki>=</nowiki> COM| variant (same as PC's 0x170) }}
{{OBDtr| 0x046 | char[2]  |FFFFA6| AD DE      | dead        | "varient end"; ignored by the engine }}
{{OBDtr| 0x046 | char[2]  |FFFFA6| AD DE      | dead        | "varient end"; ignored by the engine }}
{{OBDtr| 0x048 | uint16  |71FFB8| 00 00      | 0          | atomic start }}
{{OBDtr| 0x048 | uint16  |71FFB8| 00 00      | 0          | atomic start }}
Line 354: Line 354:
{{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 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.
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 data format, 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, turning angle, moving direction).
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).


The block between 0x008 and 0x0F0 is exactly the extent block between 0x058 and 0x140 in the PC/Mac TRAM. After that come the other 6 .raw links that were stripped from the reduced TRAM, the impact particle name, and the two direct TRAM links, which accounts for all the data up to 0x150 in the PC/Mac TRAM. Some data fields from the end of PC/Mac TRAM are confirmed to be missing on PS2 (e.g., the frame rate is implied to be 60 Hz), but some of the correspondence is still not documented or thoroughly confirmed.
The block between 0x008 and 0x0F0 is exactly the extent block between 0x058 and 0x140 in the PC TRAM. After that come the other 6 .raw links that were stripped from the reduced TRAM, the impact particle name, and the two direct TRAM links, which accounts for all the data up to 0x150 in the PC TRAM. Some data fields from the end of PC's TRAM are confirmed to be missing on PS2 (e.g., the frame rate is implied to be 60 Hz), but some of the correspondence is still not documented or thoroughly confirmed.
{|cellpadding=3 cellspacing=0 style="line-height:13px"
{|cellpadding=3 cellspacing=0 style="line-height:13px"
{{HexRow|0x000|
{{HexRow|0x000|
Line 567: Line 567:
{{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 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.
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 data format, or establish that they are missing from the TRAM/TREX representation of animations on PS2.