XML talk:StNA

From OniGalore
Jump to navigation Jump to search

Unused types

If unused types are still recognized by engine we could try to apply new animations to them. For example additional throws with Thrown9, Thrown14, and Thrown17.

Console_Punch

  • KONOKOconsole_punch (35 frames) is a stretched KONCOMcomb_p clone (16 frames)
  • the game doesn't use this file so the type could be also considered as "unused"
  • the question remains what this animation was used for; Loser suggests that it was "probably meant to be used for pushbutton type of consoles"

Anim types bound to user input

Stages of type assignment:

User input detection

Visible with chr_debug_characters = 1
Action for pickups

Context check and processing

Logical context: Was previous type a combo type?
Temporal context: Was player's input within a valid timeframe?
Spatial context: What is the position and angle of nearest interactive CJBO?

Type assignment

E.g. PickupObjectMid


Since there are also some TRAM files for prone mode, sitting and hiding against a wall, we can assume some geometry awareness (edge detection) - at least during the game dev stage.

For sit animations the Action event was probably used in FURN context as it belongs to CJBO just like the other interactive objects CHAR, CONS, DOOR, PWRU and WEAP.


For anim types, the series of anims is hardcoded. This is usually important for combos.

Bindings:

fw - forward
p - punch input
k - kick input
...
input context type
p previous type within timeframe: Stand Punch
p (accumulated: p, p) previous type within timeframe: Punch Punch2
p (accumulated: p, p, p) previous type within timeframe: Punch2 Punch3
k (accumulated: p, p, k) previous type within timeframe: Punch2 PPK
k (accumulated: p, p, k, k) previous type within timeframe: PPK PPKK
k (accumulated: p, p, k, k, k) previous type within timeframe: PPKK PPKKK
k (accumulated: p, p, k, k, k, k) previous type within timeframe: PPKKK PPKKKK
k previous type within timeframe: Stand Kick
k (accumulated: k, k) previous type within timeframe: Kick Kick2
k (accumulated: k, k, k) previous type within timeframe: Kick2 Kick3
k + fw (accumulated: k, k, k + fw) previous type within timeframe: Kick2 Kick3Fw

[...]

Besides finishing this table, a further objective could be to create graphics with combo and state cycles, like running and walking cycles.

In theory visual representation of states cycles allows a modder to quickly digest most crucial information when he wants to create new animations and/or cycles.