XML talk:StNA: Difference between revisions
Paradox-01 (talk | contribs) (This table requires quite some diligence and research for less known types. However we don't have many active modders, making this a non-priority 'construction site'. For now, most "added value" was realizing that there is a "context check".) |
(moving talk here from main page) |
||
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
==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 [[XML:BINA/OBJC/CONS#tags|''pushbutton'' type of consoles]]" | |||
==Anim types bound to user input== | ==Anim types bound to user input== | ||
Stages of type | Stages of type assignment: | ||
'''User input detection''' | '''User input detection''' | ||
Line 15: | Line 23: | ||
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. | 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. | ;For anim types, the series of anims is hardcoded. This is usually important for combos. | ||
Line 72: | Line 80: | ||
|Kick3 | |Kick3 | ||
|- | |- | ||
|fw (accumulated: k, k, k + fw) | |k + fw (accumulated: k, k, k + fw) | ||
|previous type within timeframe: Kick2 | |previous type within timeframe: Kick2 | ||
|Kick3Fw | |Kick3Fw | ||
Line 79: | Line 87: | ||
[...] | [...] | ||
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 | 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. | ||
Latest revision as of 13:38, 30 March 2021
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.