OBD talk:ONCP: Difference between revisions
(prompted by the investigation of variabe .dat file sizes across different language versions) |
(→murowave, blanka, thunderbolt and super_attractor: seems that we've had this wrong for a long time) |
||
Line 121: | Line 121: | ||
====murowave, blanka, thunderbolt and super_attractor==== | ====murowave, blanka, thunderbolt and super_attractor==== | ||
Exclusive to Mutant Muro, used for his superpowers: "butt-quake", | Exclusive to Mutant Muro, used for his superpowers: "butt-quake", "thunderbolt" (attractive lightning) and "blanka" (repulsive lightning). | ||
The PAR3 references are '''murowave_e01''' for "murowave", '''w14_muro_e01''' for "blanka", '''w13_muro_e01''' for "thunderbolt" and '''super_e02''' for "super_attractor". | The PAR3 references are '''murowave_e01''' for "murowave", '''w14_muro_e01''' for "blanka", '''w13_muro_e01''' for "thunderbolt" and '''super_e02''' for "super_attractor". |
Latest revision as of 19:50, 22 March 2022
Overview of Vanilla ONCPs
The ONCPs are not named, so the below tables list the names of the ONCCs that typically refer to the ONCP.
First five types
acid | env_splash_e01a |
---|---|
dust | h2h_dust_e01 |
trail | h2h_trail_e01 |
snap | h2h_snap_e01 |
thud | h2h_thud_e01 |
The types "acid", "dust", "trail", "snap" and "thud" are present in every ONCC's ONCP, always with the same PAR3 references, listed in the table on the right.
Of the 124 ONCCs in Vanilla Oni, the following 34 have minimal ONCPs that contains only the five basic types:
- bd_# (#=1-5) and bdfem_# (#=1-4),
- generic_male_# (#=1-6) and generic_female_# (#=1-9),
- CopfemA# (#=1-2) and CopmaleA# (#=1-4),
- SH_generic, SH_dream_lab, Shinzom_generic
- sniper_generic
- Body part override
- All of the basic particles are triggered from TRAM, so the "body part override" at ONCP level is mostly 0xFFFF (None).
- The only exception is "snap", which uses 0x8000 (same as 0xFFFF but with a management of hit/kill flashes).
- As a further exception, the ONCPs of security_guard_1 and security_guard_2 use 0xFFFF for "snap", not 0x8000.
Contrail and glow
Another two widespread particle types are "contrail" and "glow".
Every combatant character has them (except for plain-clothed cops and snipers).
Contrails and glows are triggereg from TRAM on specific body parts, to the "body part override" ID for "contrail" and "glow" is always None (0xFFFF).
ONCC \ part. type | contrail | glow |
---|---|---|
security_guard_# | h2h_trail_e01 | h2h_glow_e01 |
thug_*_# | h2h_thutrail_e01 | h2h_thuglow_e01 |
griffin_* | h2h_gritrail_e01 | h2h_griglow_e01 |
comguy_#, mad_bomber | h2h_comtrail_e01 | h2h_comglow_e01 |
TCTF_lite_1, TCTF_lite_blackops_1 |
h2h_tcltrail_e01 | h2h_tclglow_e01 |
TCTF_swat_1, TCTF_swat_blackops_1 |
h2h_swttrail_e01 | h2h_swtglow_e01 |
tanker_*_1 | h2h_tantrail_e01 | h2h_tanglow_e01 |
striker_*_#, striker_dream_lab |
h2h_strtrail_e01 | h2h_strglow_e01 |
red_*_# | h2h_redtrail_e01 | h2h_redglow_e01 |
elite_*_#, barabus | h2h_elitrail_e01 | h2h_eliglow_e01 |
konoko_generic, k3, k4_* | h2h_kontrail_e01 | h2h_konglow_e01 |
muro_generic, mutantmuro |
h2h_murtrail_e01 | h2h_murglow_e01 |
ninjabot, ninja_*_# | h2h_nintrail_e01 | h2h_ninglow_e01 |
super_ninja_1 | h2h_snitrail_e01 | h2h_sniglow_e01 |
Special particles
In addition to "contrail", "glow" and the 5 basic particles, there are several kinds of special/rare particles.
flash
Unique to Elite Strikers and Barabas, never actually used (redundant of the Eliflash1 impact?).
The PAR3 reference is h2h_eliflash_e01, attachment is specified in TRAM (body part override 0xFFFF).
teleport and fireball
Used exclusively by Mukade, but available for all Ninja as well as "ninjabots".
The PAR3 reference is teleport_e01 for "teleport" and w10_sni_e01 for "fireball".
Attachment is specified in TRAM for both (body part override 0xFFFF).
super_glow
Exclusive to Konoko (all variants), Muro and Mutant Muro. Triggered by overpower, hence an explicit body part override 0x0000 (pelvis).
The PAR3 reference is superglow_e01 for Konoko, murosuperglow_e01 for Muro and muroglow_e01 for Mutant Muro.
super_l_hand and super_r_hand
Exclusive to Konoko (all variants) and Muro (not Mutant Muro). Triggered by overpower, with an explicit body part override.
The body part override ID is 0x000E (left hand) for "super_l_hand" and 0x0012 (right hand) for "super_r_hand".
The PAR3 references (same for both hands) are super_e01 for Konoko and murosuper_e01 for Muro.
daodan and daodan2
Exclusive to Konoko (all variants), used for "powerup" animations in Chapters 6, 7, 11 and 14.
Attachment is specified in TRAM (body part override 0xFFFF) for both "daodan" and "daodan2".
The PAR3 reference is h2h_powerup_e01 for "daodan" and h2h_powerup_e01a for "daodan2".
powerup, rocket and barabwave
Exclusive to Barabas, used for regeneration, Earthquaker and jetpack FX. Attached through TRAM (body part override 0xFFFF).
The PAR3 reference is powerup_e01 for "powerup", barab_e01 for "rocket" and barwave_e01 for "barabwave".
murowave, blanka, thunderbolt and super_attractor
Exclusive to Mutant Muro, used for his superpowers: "butt-quake", "thunderbolt" (attractive lightning) and "blanka" (repulsive lightning).
The PAR3 references are murowave_e01 for "murowave", w14_muro_e01 for "blanka", w13_muro_e01 for "thunderbolt" and super_e02 for "super_attractor".
All the particles are triggered from TRAM (body part override 0xFFFF), with the exception of "super_attractor", attached to the chest (0x0008).
death
Allows characters to disappear in a spectacular "dream flash" that leaves behind a creepy ghost shape (TXMPskull). The PAR3 reference is death_e01.
Used in CHAPTER 11 . DREAM DIVER for Griffin, Muro and Konoko, therefore available for muro_generic, griffin generic and k4_G.
Also available for all Konoko variants (not available for griffin_swat or mutantmuro!) as well as for comguy_# and mad_bomber.
The availability of spectacular "dream-death" for Comguy types is intriguing, possibly hinting at Kojiro-like story elements.
Sharing across ONCCs
As a rule the Vanilla ONCPs are shared by ONCCs that have a common ONCV, e.g., if a level has all nine Striker ONCCs, then there will be three copies of the Striker ONCP: one shared by striker_easy_# ONCCs, another shared by striker_med_# ONCCs, and a third one shared by striker_hard_# ONCCs.
However, this is not always enforced. Thus, in leve1_Final of English Oni, striker_easy_1 and striker_easy_3 share the same ONCP and striker_easy_2 has a different one, and there are two different ONCPs for the five thug_wh_# ONCCs.
This variable optimization is the main source of discrepancy in .dat file sizes across different language versions of Oni, along with alternative sound takes left behind by localization teams).
OniSplit optimizes ONCP parenting upon -import and makes sure that all the ONCCs in a .dat file link to the same unique ONCP whenever possible.