XML:TRAM: Difference between revisions

1,116 bytes added ,  16 October 2023
Reworked the Throws section. Removed the information on forward/back naming pattern, as forward/back/left/right is a naming convention for input direction in the game, therefore it isn't even specific to throws. Will continue reworking this section later.
(moved in the deeper explanation of anim lookup from the talk page; broke out explanations of Weight and idle timer into sep. sections; moved "Open questions" up and added other questions found on the talk page; consolidated notes about "varient" misspelling)
(Reworked the Throws section. Removed the information on forward/back naming pattern, as forward/back/left/right is a naming convention for input direction in the game, therefore it isn't even specific to throws. Will continue reworking this section later.)
Line 881: Line 881:


===Throws===
===Throws===
Throw target animations are registered in the TRAC of the throw initiator (AKA the throw source). Target animations are forced onto the other character. Throw target (TRAM*tgt) animations can only cover up to 256 frames (0-255). These animations of type ''ThrownX'' are like slots. They can be used freely, although it might be a good idea to follow the traditional slot arrangement whenever possible: first the normal throws, then run, the catch, then disarm, and so on.


The first anim state of source (src) and target (tgt) is the "primary" <FromState>. The others <FromState> entries are located in <Shortcut>.
==States==
The first anim state of source (src) and target (tgt) is the "primary" <FromState>. The others <FromState> entries are located in <Shortcut>.  


====Throw table====
==Types==
Source and target anim types (pairs) aren't named in an intuitive pattern: Using "forward" and "backward" in throw names can be ambiguous for newbies. For example Konoko can throw a foe seemingly '''backwards''' by her '''throw forward kick''' (TRAMKONCOMthrow_fw_k). Therefore we should also describe throws how "source" and "target" are facing each other.
Throw target animations are registered in the TRAC of the throw initiator (AKA the throw source). Target animations are forced onto the other character. Throw target (TRAM*tgt) animations can only cover up to 256 frames (0-255).
   
 
The game identifies which Target animation is it supposed to play through the ''ThrownX'' animation types. Each throw, together with its corresponding Target animation, uses one of the 17 available ''ThrownX'' animation types. These types are used in three tags:
 
* <TargetType> tag in the Source animation,
* <Type> and <AimingType> tags in the Target animation.
 
For example, Konoko's forward punch throw / ''KONCOMthrow_fw_p'' uses Thrown1 as its TargetType tag:
 
            <TargetType>Thrown1</TargetType>
 
And the corresponding target animation, ''KONCOMthrow_fw_p'', uses Thrown1 in the Type and AimingType tags:
 
            <Type>Thrown1</Type>
            <AimingType>Thrown1</AimingType>
 
The ''ThrownX'' anim types work like slots - if you want to add a new throw to the game, you have to assign both the Source and the Target animations the same ThrownX type in the tags listed above. While these "pairs" are organized within vanilla animations according to the Throw Table below, this is nothing more than a convention, and as a result ''ThrownX'' types can be used freely. To give an example, while all Forward Punch Throws in the game seem to use the Thrown1 type, you can swap those types with another throw and they will work just as fine.
 
The fact that the game has only 17 ''ThrownX'' types is a major limitation - this effectively means that each character can have no more than 17 throws - out of which only 4 are unused by any character in the game. This prevents modders from creating a significant number of throws despite the game allowing great flexibility in creating new throws by mixing Animation States, Animation Types and <Varient> tags.
 
  {{divhide|Throw table}}
{| class="wikitable" width=100%
{| class="wikitable" width=100%
|-
|-
Line 1,216: Line 1,235:
|<!--image-->
|<!--image-->
|}
|}
{{divhide|end}}


Looks like there was/is support for [[OBD:BINA/OBJC/MELE/MoveList/Throw|running disarms]]. Though unused types for new Thrown''N'' would be needed. On second thought, one should check if we can't simply make a '''running (tgt + src) variant''' of disarms.
Looks like there was/is support for [[OBD:BINA/OBJC/MELE/MoveList/Throw|running disarms]]. Though unused types for new Thrown''N'' would be needed. On second thought, one should check if we can't simply make a '''running (tgt + src) variant''' of disarms.
191

edits