Jump to content

OBD:TRAM: Difference between revisions

491 bytes added ,  12 September 2008
no edit summary
(mostly done...)
No edit summary
Line 22: Line 22:
{{OBDtr| 0x34 | offset  |FFFFC8| 00 BD 80 00 | 00 80 BD 00 | at this position starts the [[OBD:TRAM/raw0x34|bodyparts animation part]] in the raw file }}
{{OBDtr| 0x34 | offset  |FFFFC8| 00 BD 80 00 | 00 80 BD 00 | at this position starts the [[OBD:TRAM/raw0x34|bodyparts animation part]] in the raw file }}
{{OBDtr| 0x38 | offset  |FFFFC8| 00 00 00 00 | unused      | at this position starts the [[OBD:TRAM/raw0x38|sound part]] in the raw file }}
{{OBDtr| 0x38 | offset  |FFFFC8| 00 00 00 00 | unused      | at this position starts the [[OBD:TRAM/raw0x38|sound part]] in the raw file }}
{{OBDtr| 0x3C | bitset32 |C8FFC8| 90 00 08 00 | 144, 0, 8, 0| flags; they're stored in the anim_flags.[[OBD:StNA|StNA]] file; the following bits are possible /values in hex):
{{OBDtr| 0x3C | bitset32 |C8FFC8| 90 00 08 00 | 144, 0, 8, 0| flags; they're stored in the anim_flags.[[OBD:StNA|StNA]] file; the following bits are possible (values in hex):
 
:0x'''01''' 00 00 00 - private1 (this bit is not animation related, it is used at runtime to mark that the animation was loaded)
 
:0x'''02''' 00 00 00 - invulnerable
:0x'''01'''000000 - private1 (this bit is not animation related, it is used at runtime to mark that the animation was loaded)
:0x'''04''' 00 00 00 - blockHigh
:0x'''02'''000000 - invulnerable
:0x'''08''' 00 00 00 - blockLow
:0x'''04'''000000 - blockHigh
:0x'''10''' 00 00 00 - attack
:0x'''08'''000000 - blockLow
:0x'''20''' 00 00 00 - dropWeapon
:0x'''10'''000000 - attack
:0x'''40''' 00 00 00 - inAir
:0x'''20'''000000 - dropWeapon
:0x'''80''' 00 00 00 - atomic
:0x'''40'''000000 - inAir
:0x00 '''01''' 00 00 - noTurn
:0x'''80'''000000 - atomic
:0x00 '''02''' 00 00 - attackForward
:0x00'''01'''0000 - noTurn
:0x00 '''04''' 00 00 - attackLeft
:0x00'''02'''0000 - attackForward
:0x00 '''08''' 00 00 - attackRight
:0x00'''04'''0000 - attackLeft
:0x00 '''10''' 00 00 - attackBackward
:0x00'''08'''0000 - attackRight
:0x00 '''20''' 00 00 - overlay
:0x00'''10'''0000 - attackBackward
:0x00 '''40''' 00 00 - dontInterpolateVelocity
:0x00'''20'''0000 - overlay
:0x00 '''80''' 00 00 - throwSource
:0x00'''40'''0000 - dontInterpolateVelocity
:0x00 00 '''01''' 00 - throwTarget
:0x00'''80'''0000 - throwSource
:0x00 00 '''02''' 00 - realWorld
:0x0000'''01'''00 - throwTarget
:0x00 00 '''04''' 00 - doAim
:0x0000'''02'''00 - realWorld
:0x00 00 '''08''' 00 - dontAim
:0x0000'''04'''00 - doAim
:0x00 00 '''10''' 00 - canPickup
:0x0000'''08'''00 - dontAim
:0x00 00 '''20''' 00 - aim360
:0x0000'''10'''00 - canPickup
:0x00 00 '''40''' 00 - disableShield
:0x0000'''20'''00 - aim360
:0x00 00 '''80''' 00 - noAIPickup
:0x0000'''40'''00 - disableShield
:0x0000'''80'''00 - noAIPickup
 
 
}}
}}
{{OBDtr| 0x040 | link    |C8FFFF| 00 00 00 00 | unused      | direct animation 0 (link to another TRAM file) }}
{{OBDtr| 0x040 | link    |C8FFFF| 00 00 00 00 | unused      | direct animation 0 (link to another TRAM file) }}
{{OBDtr| 0x044 | link    |C8FFFF| 00 00 00 00 | unused      | direct animation 1 (link to another TRAM file) }}
{{OBDtr| 0x044 | link    |C8FFFF| 00 00 00 00 | unused      | direct animation 1 (link to another TRAM file) }}
{{OBDtr| 0x048 | bitset32 |FFC8FF| 00 00 00 00 | 0          | used parts; legend is for original 19-bone chars; the following bist are possible (values in hex):
{{OBDtr| 0x048 | bitset32 |FFC8FF| 00 00 00 00 | 0          | used parts; legend is for original 19-bone chars; the following bits are possible (values in hex):
 
:0x'''01''' 00 00 00 - pelvis
 
:0x'''02''' 00 00 00 - left thigh
:0x'''01'''000000 - pelvis
:0x'''04''' 00 00 00 - left calf
:0x'''02'''000000 - left thigh
:0x'''08''' 00 00 00 - left foot
:0x'''04'''000000 - left calf
:0x'''10''' 00 00 00 - right thigh
:0x'''08'''000000 - left foot
:0x'''20''' 00 00 00 - right calf
:0x'''10'''000000 - right thigh
:0x'''40''' 00 00 00 - right foot
:0x'''20'''000000 - right calf
:0x'''80''' 00 00 00 - mid
:0x'''40'''000000 - right foot
:0x00 '''01''' 00 00 - chest
:0x'''80'''000000 - mid
:0x00 '''02''' 00 00 - neck
:0x00'''01'''0000 - chest
:0x00 '''04''' 00 00 - head
:0x00'''02'''0000 - neck
:0x00 '''08''' 00 00 - left shoulder
:0x00'''04'''0000 - head
:0x00 '''10''' 00 00 - left arm
:0x00'''08'''0000 - left shoulder
:0x00 '''20''' 00 00 - left wrist
:0x00'''10'''0000 - left arm
:0x00 '''40''' 00 00 - left fist
:0x00'''20'''0000 - left wrist
:0x00 '''80''' 00 00 - right shoulder
:0x00'''40'''0000 - left fist
:0x00 00 '''01''' 00 - right arm
:0x00'''80'''0000 - right shoulder
:0x00 00 '''02''' 00 - right wrist
:0x0000'''01'''00 - right arm
:0x00 00 '''04''' 00 - right fist
:0x0000'''02'''00 - right wrist
:0x0000'''04'''00 - right fist
 


Aiming screen TRAMs "use" several bones here. Other overlay TRAMs use only "chest". Non-overlay TRAMs use none.
Aiming screen TRAMs "use" several bones here. Other overlay TRAMs use only "chest". Non-overlay TRAMs use none.
Line 83: Line 76:
{{OBDtr| 0x050 | float    |FFC800| 00 00 00 00 | 0.000000    | final rotation in radians (for anims that make you turn) }}
{{OBDtr| 0x050 | float    |FFC800| 00 00 00 00 | 0.000000    | final rotation in radians (for anims that make you turn) }}
{{OBDtr| 0x054 | int16    |C800C8| 01 00      | 1          | move direction; the following directions are possible:
{{OBDtr| 0x054 | int16    |C800C8| 01 00      | 1          | move direction; the following directions are possible:
:0 - nothing
:0 - nothing
:1 - forward
:1 - forward
Line 90: Line 81:
:3 - left
:3 - left
:4 - right
:4 - right
}}
}}
{{OBDtr| 0x056 | int16    |C87C64| 06 00      | 6          | attack sound ("Rising fury!"); the number belongs to the sound slot in the [[OBD:ONCC|ONCC]] file}}
{{OBDtr| 0x056 | int16    |C87C64| 06 00      | 6          | attack sound ("Rising fury!"); the number belongs to the sound slot in the [[OBD:ONCC|ONCC]] file}}
Line 131: Line 120:
{{OBDtrBK|End max extent info }}
{{OBDtrBK|End max extent info }}
{{OBDtr| 0x134 | int32    |00C864| 00 00 00 00 | 0          | alternative move direction; used only when the previous move direction field is 0, that means never }}
{{OBDtr| 0x134 | int32    |00C864| 00 00 00 00 | 0          | alternative move direction; used only when the previous move direction field is 0, that means never }}
{{OBDtr| 0x138 | int32    |00C8FF| 18 00 00 00 | 24          | amount of elements of the extent part; only used if the attack part exists }}
{{OBDtr| 0x138 | int32    |00C8FF| 18 00 00 00 | 24          | number of elements in the extent part }}
{{OBDtr| 0x13C | offset  |C80040| E0 BB 80 00 | 00 80 BB E0 | at this position starts the [[OBD:TRAM/raw0x13C|extent part]] in the raw file; only used if the attack part exists }}
{{OBDtr| 0x13C | offset  |C80040| E0 BB 80 00 | 00 80 BB E0 | at this position starts the [[OBD:TRAM/raw0x13C|extent part]] in the raw file }}
{{OBDtrBK|End extent info}}
{{OBDtrBK|End extent info}}
{{OBDtr2|0x140 | char[16] |FFCD96| konflash1                | impact particle name (reference to 01018-.[[OBD:ONIA|ONIA]], which is called up in the [[OBD:ONCC|ONCC]] file) }}
{{OBDtr2|0x140 | char[16] |FFCD96| konflash1                | impact particle name (reference to 01018-.[[OBD:ONIA|ONIA]], which is called up in the [[OBD:ONCC|ONCC]] file) }}
{{OBDtr| 0x150 | int16    |C8C864| 00 00      | 0          | hard pause in 1/60 seconds }}
{{OBDtr| 0x150 | int16    |C8C864| 00 00      | 0          | hard pause in 1/60 seconds }}
{{OBDtr| 0x152 | int16    |C8C864| 12 00      | 18          | soft pause in 1/60 seconds }}
{{OBDtr| 0x152 | int16    |C8C864| 12 00      | 18          | soft pause in 1/60 seconds }}
{{OBDtr| 0x154 | int32    |0096C8| 00 00 00 00 | 0          | amount of packages of the sound part }}
{{OBDtr| 0x154 | int32    |0096C8| 00 00 00 00 | 0          | number of elements in the sound part }}
{{OBDtr| 0x158 | int32    |FF80C0| 00 00 00 00 | 0          | runtime: pointer to the sound for this animation (initialised from [[OBD:BINA/SABD|SABD]])}}
{{OBDtr| 0x158 | int32    |FF80C0| 00 00 00 00 | 0          | runtime only; pointer to the sound for this animation (initialised from [[OBD:BINA/SABD|SABD]])}}
{{OBDtr| 0x15C | int16    |D0C0AF| 00 00      | 0          | runtime: sound start frame (initialised from SABD) }}
{{OBDtr| 0x15C | int16    |D0C0AF| 00 00      | 0          | runtime only; sound start frame (initialised from SABD) }}
{{OBDtr| 0x15E | int16    |D0C0AF| 3C 00      | 60          | frames per second }}
{{OBDtr| 0x15E | int16    |D0C0AF| 3C 00      | 60          | frames per second }}
{{OBDtr| 0x160 | int16    |EEDDFF| 06 00      | 6          | compression size }}
{{OBDtr| 0x160 | int16    |EEDDFF| 06 00      | 6          | compression size }}
{{OBDtr| 0x162 | int16    |EEDDFF| 16 00      | 22          | animation type from anim_types.[[OBD:StNA|StNA]] }}
{{OBDtr| 0x162 | int16    |EEDDFF| 16 00      | 22          | animation type (from anim_types.[[OBD:StNA|StNA]]) }}
{{OBDtr| 0x164 | int16    |C5FF8A| 16 00      | 6          | aiming animation type from anim_types.[[OBD:StNA|StNA]] }}
{{OBDtr| 0x164 | int16    |C5FF8A| 16 00      | 6          | aiming type }}
{{OBDtr| 0x166 | int16    |C5FF8A| 00 00      | 0          | from state }}
{{OBDtr| 0x166 | int16    |C5FF8A| 00 00      | 0          | from state }}
{{OBDtr| 0x168 | int16    |C0C0C0| 07 00      | 7          | to state }}
{{OBDtr| 0x168 | int16    |C0C0C0| 07 00      | 7          | to state }}
{{OBDtr| 0x16A | int16    |C0C0C0| 13 00      | 19          | bodyparts }}
{{OBDtr| 0x16A | int16    |C0C0C0| 13 00      | 19          | number of bodyparts }}
{{OBDtr| 0x16C | int16    |FF0080| 50 00      | 80          | frames }}
{{OBDtr| 0x16C | int16    |FF0080| 50 00      | 80          | number of frames }}
{{OBDtr| 0x16E | int16    |FF0080| 50 00      | 80          | duration in in 1/60 seconds }}
{{OBDtr| 0x16E | int16    |FF0080| 50 00      | 80          | duration in in 1/60 seconds }}
{{OBDtr| 0x170 | bitset16 |FFFFA6| 00 02      | 0, 2        | varient, the following bits are possible:
{{OBDtr| 0x170 | bitset16 |FFFFA6| 00 02      | 0, 2        | varient, the following bits are possible (values in hex):
 
:0x00 '''01''' - '''SPR'''int animation
 
:0x00 '''02''' - '''COM'''bat animation
:0x00'''01''' - '''SPR'''int animation
:0x00 '''08''' - '''PIS'''tol animation
:0x00'''02''' - '''COM'''bat animation
:0x00 '''10''' - '''NIN'''ja '''PIS'''tol animation (left-handed)
:0x00'''08''' - '''PIS'''tol animation
:0x00 '''20''' - '''RIF'''le animation
:0x00'''10''' - '''NIN'''ja '''PIS'''tol animation (left-handed)
:0x00 '''40''' - '''NIN'''ja '''RIF'''le animation (left-handed)
:0x00'''20''' - '''RIF'''le animation
:0x00 '''80''' - '''PAN'''ic or '''SCR'''amble animation
:0x00'''40''' - '''NIN'''ja '''RIF'''le animation (left-handed)
:0x00'''80''' - '''PAN'''ic or '''SCR'''amble animation
 
 
}}
}}
{{OBDtr| 0x172 | char[2]  |FFFFA6| AD DE      | dead        | varient end; unused }}
{{OBDtr| 0x172 | char[2]  |FFFFA6| AD DE      | dead        | "varient end"; ignored }}
{{OBDtr| 0x174 | int16    |71FFB8| 00 00      | 0          | atomic start }}
{{OBDtr| 0x174 | int16    |71FFB8| 00 00      | 0          | atomic start }}
{{OBDtr| 0x176 | int16    |71FFB8| FF FF      | -1          | atomic end }}
{{OBDtr| 0x176 | int16    |71FFB8| FF FF      | -1          | atomic end }}
Line 168: Line 153:
{{OBDtr| 0x17A | int16    |0000BF| FF FF      | -1          | maximal interpolation }}
{{OBDtr| 0x17A | int16    |0000BF| FF FF      | -1          | maximal interpolation }}
{{OBDtr| 0x17C | int16    |804040| FF FF      | -1          | action frame }}
{{OBDtr| 0x17C | int16    |804040| FF FF      | -1          | action frame }}
{{OBDtr| 0x17E | int16    |804040| 0A 00      | 10          | first level }}
{{OBDtr| 0x17E | int16    |804040| 0A 00      | 10          | first level where the animation is available }}
{{OBDtr| 0x180 | uint8    |FF22FF| 01          | 1          | first "invulnerable" frame }}
{{OBDtr| 0x180 | uint8    |FF22FF| 01          | 1          | first "invulnerable" frame }}
{{OBDtr| 0x181 | uint8    |FF22FF| 1C          | 28          | last "invulnerable" frame }}
{{OBDtr| 0x181 | uint8    |FF22FF| 1C          | 28          | last "invulnerable" frame }}
{{OBDtr| 0x182 | uint8    |808080| 02          | 2          | amount of elements in the attack part }}
{{OBDtr| 0x182 | uint8    |808080| 02          | 2          | number of elements in the attack part }}
{{OBDtr| 0x183 | uint8    |808080| 00          | 0          | amount of elements in the take damage part }}
{{OBDtr| 0x183 | uint8    |808080| 00          | 0          | number of elements in the take damage part }}
{{OBDtr| 0x184 | uint8    |FFAA82| 01          | 1          | amount of elements in the motion blur part }}
{{OBDtr| 0x184 | uint8    |FFAA82| 01          | 1          | number of elements in the motion blur part }}
{{OBDtr| 0x185 | uint8    |FFAA82| 01          | 1          | amount of elements in the shortcut part }}
{{OBDtr| 0x185 | uint8    |FFAA82| 01          | 1          | number of elements in the shortcut part }}
{{OBDtr| 0x186 | uint8    |00D900| 02          | 2          | amount of elements in the footstep part }}
{{OBDtr| 0x186 | uint8    |00D900| 02          | 2          | number of elements in the footstep part }}
{{OBDtr| 0x187 | uint8    |00D900| 04          | 4          | amount of elements in the particle part }}
{{OBDtr| 0x187 | uint8    |00D900| 04          | 4          | number of elements in the particle part }}
{{OBDtr| 0x188 | char[24] |CACAFF| AD DE      | dead        | unused }}
{{OBDtr| 0x188 | char[24] |CACAFF| AD DE      | dead        | unused }}
|}
|}
Line 192: Line 177:
:That means that if a p_p_p or p_p_k animation follows after a p_p animation there will be no pause between them but for animations other than p_p_p and p_p_k there may be a pause of 'soft pause' frames between them.  
:That means that if a p_p_p or p_p_k animation follows after a p_p animation there will be no pause between them but for animations other than p_p_p and p_p_k there may be a pause of 'soft pause' frames between them.  


;Rather old notes to self...
 
:0x164 is usually the same as 0x162 (type) except for :
;Extent info
:*KONRIFrun_slide_getup, KONRIFrun_slide_run
:The extent information is used by the AI to figure out if an attack can reach the enemy. This information is only present/used if the animation contains attacks.
:*KONPISstartle_lt1, KONPISstartle_rt1
 
:*KONRIFstartle_lt1, KONRIFstartle_rt1
 
:*STRRIFrun_slide_getup, STRIKElev3_startle
;From state, to state, animation type, varient, shortcuts
:*STRPISstartle_lt1, STRPISstartle_rt1
:These are used to find specific animations. Each character has a current animation state and a current varient. When the engine searches for an animation with a specific type it considers those that have a matching "from state" and "varient". For example both "comb_k_k" and "jump_fw_kick" animations have the type "kick" but one can be executed when the character is in the "standing" state and the other can be executed when the character is in "falling back" or "falling forward" states.
:*STRRIFstartle_lt1, STRRIFstartle_rt1
 
:*STRPISstartle_lt2, STRPISstartle_rt2
 
:*STRRIFstartle_lt2, STRRIFstartle_rt2
;Aiming Type
:*COMPISstartle_lt1, KONPISstartle_rt1
:Aiming type is used to find the aiming animation in [[TRSC]] and normally it is the same as the animation type. In a couple of cases this type is "none" meaning that no aiming animation should be used. It is pretty much equivalent to setting the "don't aim" flag.
:*COMRIFstartle_lt1, KONRIFstartle_rt1
:*COMPISstartle_lt2, COMPISstartle_rt2
:*COMRIFstartle_lt2, COMRIFstartle_rt2
:(for all these, 0x164 is null : "None")




{{OBD_File_Footer | type=TRAM | prev=TRAC | next=TRAS | name=Totoro Animation Sequence | family=Character}}
{{OBD_File_Footer | type=TRAM | prev=TRAC | next=TRAS | name=Totoro Animation Sequence | family=Character}}
708

edits