OBD:ONCV: Difference between revisions

642 bytes added ,  7 December 2023
m
copy-edit
mNo edit summary
m (copy-edit)
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> ONCV File
{{OBD_File_Header | type=ONCV | prev=ONCP | next=ONFA | name=Oni Character Variant | family=Character | align=center}}


{|align=center
!<FONT SIZE=5>ONCV : Oni Character Variant</FONT>
|-
![[OBD:File types/Character|Character file]]
|}


;Note 1:ONCV files are empty, except those of level 0.
All ONCV files are 0 byte files. That means that Oni takes the information out of the ONCV files of level 0.
:So when an ONCC links to an ONCV, a global version (that in level 0) is in fact used
:That means that Oni will take the information out of the ONCV files of level 0. Below is an example of an ONCV file of level 0.


;Note 2:The ONCV define the "harder" characters spawned on Hard (if enabled in the BINA)
:Thus, if you take e.g. 01692-ninja_med.ONCV and replace "ninja_hard" with "striker_hard"
:(not forgetting about the null char), you'll have a surprise at the start of Rooftops :
:in fact, anywhere where you used to have a blue Ninja on Easy and Normal,
:and a red one on Hard, you'll have a red ''Striker'' on Hard. Nice, eh?


;Note 3:The inter-ONCV linking may seem useless
:"01689-konoko.ONCV links to 01666-any.ONCV, which links into nothingness."
:but I think the ONCV tree could be used for the random skin selection
:(e.g. spawning striker_easy_1, striker_easy_2 or striker_easy_3, at random).


;Example:'''01689-konoko.ONCV''' from '''level0_Final'''
[[Image:oncv_all.gif]]




http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oncv_all.gif
{{Table}}
{{OBDth}}
{{OBDtr| 0x00 | res_id  |FF0000| 01 99 06 00 | 1689  | 01689-konoko.ONCV }}
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 00 | 0    | level 0 }}
{{OBDtr| 0x08 | link    |FFC8C8| 01 82 06 00 | 1666  | link to 01666-any.ONCV }}
{{OBDtr2|0x0C | char[32] |FFFFC8| Konoko              | character type name; Oni spawns this type when you start the game}}
{{OBDtr2|0x2C | char[32] |C8FFC8| unused              | character type name; if the "upgrade difficulty" bit in the [[OBD:BINA/OBJC/CHAR|BINA/CHAR]] is set, Oni spawns this type if you play on Hard }}
{{OBDtr| 0x4C | char[20] |C8FFFF| AD DE      | dead  | unused }}
|}




{| BORDER=1 WIDTH=100% CELLPADDING=2 CELLSPACING=0
;Note 1: The ONCVs are used for random [[OBD:ONCC|ONCC]] selection (e.g. spawning striker_easy_1, striker_easy_2 or striker_easy_3, at random).
|- ALIGN=CENTER BGCOLOR="#FFDDBB"
:If character variants are enabled (in [[OBD:BINA/OBJC/CHAR|BINA/CHAR]]):
!Offset
:#The ONCC specified in BINA/CHAR is selected.
!Hex
:#The ONCV link in that ONCC is looked up.
!Translation
:#The actual ONCC is chosen at random from all ONCCs linking to the ONCV.
!Meaning
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| 0x00
| BGCOLOR="#FF0000" | 01 99 06 00
| 1689
| ALIGN=LEFT | 01689-konoko.ONCV
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| 0x04
| BGCOLOR="#FFFF00" | 01 00 00 00
| 0
| ALIGN=LEFT | level 0
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| 0x08
| BGCOLOR="#FFC8C8" | 01 82 06 00
| 1666
| ALIGN=LEFT | link to 01666-any.ONCV
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| 0x0C
| BGCOLOR="#FFFFC8" COLSPAN=2 | <TT>Konoko</TT><br>+ null char + blank filler
| ALIGN=LEFT | basic ("Easy" and "Normal") character type
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| 0x2C
| BGCOLOR="#C8FFC8" COLSPAN=2 | null char + blank filler
| ALIGN=LEFT | "Hard" character type (none here)
|- ALIGN=CENTER VALIGN=TOP BGCOLOR="#FFEEDD"
| 0x4C
| BGCOLOR="#C8FFFF" | AD DE
| dead
| ALIGN=LEFT | blank filler (fills the file up to a 32 byte multiple)
|}


In order to experiment with this, you have to change the ONCV links in several ONCCs. For example:
:Make '''ONCCstriker_easy_1''', '''ONCCstriker_easy_2''' and '''ONCstriker_easy_3''' link to '''ONCVstriker_hard''' and vice versa:
:Make '''ONCCstriker_hard_1''', '''ONCCstriker_hard_2''' and '''ONCCstriker_hard_3''' link to '''ONCVstriker_easy'''.
Then you won't notice any change for those spawns where the character variant was disabled, and for those where it's enabled, you'll get hard Strikers instead of easy ones and vice versa.


;Note 2: The ONCV defines the "harder" characters spawned on Hard mode (if enabled in BINA/CHAR). If "harder character variants" are enabled (in BINA/CHAR):
:#The ONCC specified in BINA/CHAR is selected.
:#The ONCV link in that ONCC is looked up.
:#The "harder" ONCV name in that ONCV is looked up.
:#The actual ONCC is chosen at random from all ONCCs linking to that new ONCV.
:#In case there is no matching ONCC, the ONCC in step 1 is kept.
Thus, if you take e.g. '''ONCVninja_med''' and replace the string "ninja_hard" with "striker_hard" (not forgetting about the null char), you'll have a surprise at the start of Rooftops. In fact, anywhere where you used to have a blue Ninja on Easy and Normal,
and a red one on Hard, you'll have a red ''Striker'' on Hard. Nice, eh? (If you want a ''real'' challenge, just try "Konoko"....)


;Note 3: ONCVkonoko links to ONCVany, which links to nothing.
:Inter-ONCV linking can serve the same purpose: in Notes 1.3 and 2.4 above, any ONCC linking to the ONCV via another ONCV could also be selected.
:In order to play with that, however, you have to rename a level's ONCV, because originally only the more specific ones are included (not ONCVstriker or ONCVany).


<HR>
<CENTER>[[OBD:ONCP|<==]] <B>ONCV File</B> [[OBD:ONFA|==>]]</CENTER>
<HR>


{{OBD_File_Footer | type=ONCV | prev=ONCP | next=ONFA | name=Oni Character Variant | family=Character}}


[[Main Page]] >> [[OBD:Oni Binary Data|Oni Binary Data]] >> [[OBD:File types|File Types]] >> ONCV File
{{OBD}}