OBD:ONCV: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (oops)
m (design)
Line 1: Line 1:
{{OBD_File_Header|align=right|type=ONCV|prev=ONCP|next=ONFA|name=Oni Character Variant|family=Character|onistuff=oncv}}
{{OBD_File_Header | type=ONCV | prev=ONCP | next=ONFA | name=Oni Character Variant | family=Character | align=center}}
 
 
All ONCV files are 0 byte files. That means that Oni takes the information out of the ONCV files of level 0. Below is an example of an ONCV file of level 0.
 
 
[[image: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|Character.BINA]] file is set, Oni spawns this type if you play on hard }}
{{OBDtr| 0x4C | char[20] |C8FFFF| AD DE      | dead  | unused }}
|}


;Note 0:ONCV files are [[OBD:File types/Empty|empty]], except those of level 0.
:An overview of global (level 0) ONCV follows.


;Note 1:The ONCV are used for random [[OBD:ONCC|ONCC]] selection
;Note 1:The ONCV are used for random [[OBD:ONCC|ONCC]] selection
Line 34: Line 49:
: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.
: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)
: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'''
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/oncv_all.gif
{|{{OBDtable}}
|align=center|
{|{{OBDtable}}
|-BGCOLOR="#FFDDBB"
!Offset
!Hex
!Translation
!Meaning
|-
| 0x00
| BGCOLOR="#FF0000" | 01 99 06 00
| 1689
| ALIGN=LEFT | 01689-konoko.ONCV
|-
| 0x04
| BGCOLOR="#FFFF00" | 01 00 00 00
| 0
| ALIGN=LEFT | level 0
|-
| 0x08
| BGCOLOR="#FFC8C8" | 01 82 06 00
| 1666
| ALIGN=LEFT | link to 01666-any.ONCV
|-
| 0x0C
| BGCOLOR="#FFFFC8" COLSPAN=2 | <TT>Konoko</TT><br>+ null char + blank filler
| ALIGN=LEFT | basic ("Easy" and "Normal") character type
|-
| 0x2C
| BGCOLOR="#C8FFC8" COLSPAN=2 | null char + blank filler
| ALIGN=LEFT | "Hard" character type (none here)
|-
| 0x4C
| BGCOLOR="#C8FFFF" | AD DE
| dead
| ALIGN=LEFT | blank filler (fills the file up to a 32 byte multiple)
|}
|}




----
{{OBD_File_Footer | type=ONCV | prev=ONCP | next=ONFA | name=Oni Character Variant | family=Character}}
----
{{OBD_File_Footer|align=right|type=ONCV|prev=ONCP|next=ONFA|name=Oni Character Variant|family=Character|onistuff=oncv}}

Revision as of 20:54, 10 September 2007

ONI BINARY DATA
ONCP << Other file types >> ONFA
ONCV : Oni Character Variant
switch to XML:ONCV page
Overview @ Oni Stuff
OBD.png


All ONCV files are 0 byte files. That means that Oni takes the information out of the ONCV files of level 0. Below is an example of an ONCV file of level 0.


Oncv all.gif


Offset Type Raw Hex Value Description
0x00 res_id 01 99 06 00 1689 01689-konoko.ONCV
0x04 lev_id 01 00 00 00 0 level 0
0x08 link 01 82 06 00 1666 link to 01666-any.ONCV
0x0C char[32] Konoko character type name; Oni spawns this type when you start the game
0x2C char[32] unused character type name; if the "upgrade difficulty" bit in the Character.BINA file is set, Oni spawns this type if you play on hard
0x4C char[20] AD DE dead unused


Note 1
The ONCV are used for random ONCC selection
(e.g. spawning striker_easy_1, striker_easy_2 or striker_easy_3, at random).
If character variants are enabled (in Character.BINA) :
  1. the ONCC specified in Character.BINA is selected
  2. the ONCV link in that ONCC is looked up
  3. 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 Character.BINA) :
  1. the ONCC specified in Character.BINA is selected
  2. the ONCV link in that ONCC is looked up
  3. the "harder" ONCV name in that ONCV is looked up
  4. the actual ONCC is chosen at random from all ONCC linking to that new ONCV
  5. 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
"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)


ONI BINARY DATA
ONCP << Other file types >> ONFA
ONCV : Oni Character Variant
Character file