|
|
(6 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
| | {{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 0:ONCV files are [[OBD:File types/Empty|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. |
| :An overview of global (level 0) ONCV follows.
| |
|
| |
|
| ;Note 1:The ONCV are used for random [[OBD:ONCC|ONCC]] selection
| |
| :(e.g. spawning striker_easy_1, striker_easy_2 or striker_easy_3, at random).
| |
| :If character variants are enabled (in [[OBD:BINA/Character|Character.BINA]]) :
| |
| :#the ONCC specified in Character.BINA is selected
| |
| :#the ONCV link in that ONCC is looked up
| |
| :#the actual ONCC is chosen at random from all ONCC linking to the ONCV
| |
| In order to experiment with this, you have to change the ONCV links in several ONCC. For example, make striker_easy_1.ONCC, striker_easy_2.ONCC and striker_easy_3.ONCC link to striker_hard.ONCV, and vice-versa (make striker_hard_1.ONCC, striker_hard_2.ONCC and striker_hard_3.ONCC link to striker_easy.ONCV). 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 define the "harder" characters spawned on Hard (if enabled in Character.BINA)
| |
| :If "harder character variants" are enabled (in [[OBD:BINA/Character|Character.BINA]]) :
| |
| :#the ONCC specified in Character.BINA 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 ONCC 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. 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?
| |
| (if you want a ''real'' challenge, just try "Konoko"...)
| |
|
| |
|
| ;Note 3
| | [[Image:oncv_all.gif]] |
| :"01689-konoko.ONCV links to 01666-any.ONCV, which links into nothingness." | |
| :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 less general ones are included (not striker.ONCV or any.ONCV)
| |
|
| |
|
| ;Example:'''01689-konoko.ONCV''' from '''level0_Final'''
| |
|
| |
|
| | | {{Table}} |
| http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oncv_all.gif
| | {{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
| | {{OBD}} |