OBD:BINA: Difference between revisions

624 bytes removed ,  30 November 2025
m
mentioned that OniX uses .sep as well; wording
mNo edit summary
m (mentioned that OniX uses .sep as well; wording)
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{OBD_File_Header|align=right|type=BINA|prev=AKVA|next=CBPI|name=Binary data|family=Start|onistuff=bina}}
{{OBD_File_Header | type=BINA | prev=AKVA | next=CBPI | name=Binary Data | family=General | align=center}}
;Structure
BINA files only have a small (32-byte) header stored in the DAT


The only information there is :
==Introduction==
*at 0x08, the size of the binary data chunk in the RAW/SEP file, and its
"BINA" is short for "binary data", which refers to chunks of data that are stored in the [[separate file]] when available (Windows demo, Mac, [[OniX]]) or in the [[raw file]] otherwise (Windows retail). BINA is registered as a tag, but is really a wrapper for other tags. One of those tags, OBJC, is a wrapper for still more tags (see below).
*at 0x0C, the offset of the binary data chunk to the start of the RAW/SEP
;Version-dependence
The binary data chunk is stored in the SEP file when available (Mac and PC demo), in the RAW otherwise (PC).
;Blue Box Beta "revelations"
See the [[OBD:BINA/OBJC|OBJC]] page


==File description==
[[Image:bina_all.gif]]


==BINA types==
{{Table}}
BINA are differentiated by the layout of their RAW/SEP part. The different types are :
{{OBDth}}
{|{{OBDtable}}
{{OBDtr| 0x00 | res_id  |FF0000| 01 67 23 00 | 9063      | 09063-CJBOCharacter.BINA }}
|align=center|
{{OBDtr| 0x04 | lev_id  |FFFF00| 01 00 00 06 | 3        | level 3 }}
{|{{OBDtable}}
{{OBDtr| 0x08 | uint32  |FFC8C8| 34 8B 00 00 | 35636    | size of the data in the raw/separate file }}
|-bgcolor=#FFDDBB
{{OBDtr| 0x0C | offset  |FFFFC8| 40 DD E4 00 |00 E4 DD 40| offset of the data in the raw/separate file }}
!colspan=4|[[OBD:BINA/OBJC|OBJC]] : Object Collection...
|-
|[[OBD:BINA/OBJC/CHAR|CHAR]]<br>Character
|[[OBD:BINA/OBJC/CMBT|CMBT]]<br>Combat profile
|[[OBD:BINA/OBJC/CONS|CONS]]<br>Console
|[[OBD:BINA/OBJC/DOOR|DOOR]]<br>Door
|-
|[[OBD:BINA/OBJC/FLAG|FLAG]]<br>Flag
|[[OBD:BINA/OBJC/FURN|FURN]]<br>Furniture
|[[OBD:BINA/OBJC/MELE|MELE]]<br>Melee profile
|[[OBD:BINA/OBJC/NEUT|NEUT]]<br>Neutral behaviour
|-
|[[OBD:BINA/OBJC/PART|PART]]<br>Particle
|[[OBD:BINA/OBJC/PATR|PATR]]<br>Patrol path
|[[OBD:BINA/OBJC/PWRU|PWRU]]<br>Powerup
|[[OBD:BINA/OBJC/SNDG|SNDG]]<br>Sound Group
|-
|[[OBD:BINA/OBJC/TRGV|TRGV]]<br>Trigger Volume
|[[OBD:BINA/OBJC/TRIG|TRIG]]<br>Trigger
|[[OBD:BINA/OBJC/TURR|TURR]]<br>Turret
|[[OBD:BINA/OBJC/WEAP|WEAP]]<br>Weapon
|-bgcolor=#FFDDBB
!colspan=4|[[OBD:BINA/ONIE|ONIE]] : Oni Impact Effects
|-bgcolor=#FFDDBB
!colspan=4|[[OBD:BINA/PAR3|PAR3]] : 3D Particle
|-bgcolor=#FFDDBB
!colspan=4|[[OBD:BINA/SABD|SABD]] : Sound Animations Binary Data
|-bgcolor=#FFDDBB
!colspan=4|[[OBD:BINA/TMBD|TMBD]] : Texture Materials Binary Data
|}
|}
|}


==Overview of BINA types==
The different sub-tags of BINA are:


----
{{Table}}
----
|-BGCOLOR="#E9E9E9"
==0x00 - 0x1F==
!COLSPAN=8|[[OBD:BINA/OBJC|OBJC]]: Objects...
;MINIMAL DAT PART
|-ALIGN=CENTER
http://www6.fh-eberswalde.de/user/dkriesch/onistuff/images/bina_all.gif
|WIDTH=12%|[[OBD:BINA/OBJC/CHAR|CHAR]]<BR>Character
 
|WIDTH=13%|[[OBD:BINA/OBJC/CMBT|CMBT]]<BR>Combat profile
 
|WIDTH=12%|[[OBD:BINA/OBJC/CONS|CONS]]<BR>Console
{|{{OBDtable}}
|WIDTH=13%|[[OBD:BINA/OBJC/DOOR|DOOR]]<BR>Door
|align=center|
|WIDTH=12%|[[OBD:BINA/OBJC/FLAG|FLAG]]<BR>Flag
{|{{OBDtable}}
|WIDTH=13%|[[OBD:BINA/OBJC/FURN|FURN]]<BR>Furniture
|-BGCOLOR=#FFDDBB
|WIDTH=12%|[[OBD:BINA/OBJC/MELE|MELE]]<BR>Melee profile
! WIDTH=15% | Hex
|WIDTH=13%|[[OBD:BINA/OBJC/NEUT|NEUT]]<BR>Neutral behaviour
! WIDTH=15% | Translation
|-ALIGN=CENTER
! WIDTH=70% | Meaning
|[[OBD:BINA/OBJC/PART|PART]]<BR>Particle
|-
|[[OBD:BINA/OBJC/PATR|PATR]]<BR>Patrol path
| BGCOLOR="#FF0000" | 01 '''67 23''' 00
|[[OBD:BINA/OBJC/PWRU|PWRU]]<BR>Powerup
| 9063
|[[OBD:BINA/OBJC/SNDG|SNDG]]<BR>Sound Group
| ALIGN=LEFT | file ID : 0x2367 = 09063-CJBOCharacter.BINA
|[[OBD:BINA/OBJC/TRGV|TRGV]]<BR>Trigger Volume
|-
|[[OBD:BINA/OBJC/TRIG|TRIG]]<BR>Trigger
| BGCOLOR="#FFFF00" | 01 00 00 '''06'''
|[[OBD:BINA/OBJC/TURR|TURR]]<BR>Turret
| 3
|[[OBD:BINA/OBJC/WEAP|WEAP]]<BR>Weapon
| ALIGN=LEFT | level ID : 0x06 = 6, level 3
|-BGCOLOR="#E9E9E9"
|-
!COLSPAN=8|[[OBD:BINA/ONIE|ONIE]]: Oni Impact Effects
| BGCOLOR="#FFC8C8" | 34 8B 00 00
|-BGCOLOR="#E9E9E9"
| 35636
!COLSPAN=8|[[OBD:BINA/PAR3|PAR3]]: 3D Particle
| ALIGN=LEFT | size of the part in the raw/sep file (in bytes)
|-BGCOLOR="#E9E9E9"
|-
!COLSPAN=8|[[OBD:BINA/SABD|SABD]]: Sound Animations Binary Data
| BGCOLOR="#FFFFC8" | 40 DD E4 00
|-BGCOLOR="#E9E9E9"
| E4 DD 40
!COLSPAN=8|[[OBD:BINA/TMBD|TMBD]]: Texture Materials Binary Data
| ALIGN=LEFT | offset of binary data in the raw/sep file (in bytes)
|-
| BGCOLOR="#C8FFC8" | AD DE
| dead
| ALIGN=LEFT | blank filler
|}
|}
|}


==Global BINA types==
These are stored in '''level0_Final''' and are available globally. The file names link to the raw/separate file parts of every BINA type (or object type, for OBJC).


----
{{Table}}
----
|-BGCOLOR="#E9E9E9"
==Global BINA==
! WIDTH=30% | Filename || WIDTH=35% | Meaning || WIDTH=35% | Function
These are stored in '''level0_Final''' and are available globally. The filenames link to the RAW/SEP parts ov every BINA type (or object type for [[OBD:OBJC|OBJC]]).
{|{{OBDtable}}
|align=center|
{|{{OBDtable}}
|- BGCOLOR="#FFDDBB"
! Filename
! Meaning
! Function
|-
|-
| ALIGN=LEFT | [[OBD:BINA/PAR3|3RAP''particle_name''.BINA]]
| [[OBD:BINA/PAR3|3RAP''particle_name''.BINA]]
| (PAR3 = 3D particles)
| PAR3 = 3D particles
| ALIGN=LEFT | Explosions, projectiles, flashes, trails... everything
| Explosions, projectiles, flashes, trails... everything
|-
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/CMBT|CJBO'''Combat'''.BINA]]
| [[OBD:BINA/OBJC/CMBT|CJBO'''Combat'''.BINA]]
| Combat profile ([[OBD:OBJC|OBJC]] = Object Collection)
| Combat profile; [[OBD:BINA/OBJC|OBJC]] = Objects
| ALIGN=LEFT | Stores specific (non-melee) behaviour : weapon logic etc
| Stores specific (non-melee) behavior: weapon logic, etc.
|-
|-
| ALIGN=LEFT | [[OBD:BINA/ONIE|EINO'''impact_effects'''.BINA]]
| [[OBD:BINA/ONIE|EINO'''impact_effects'''.BINA]]
| (ONIE = Oni Impact Effects)
| ONIE = Oni Impact Effects
| ALIGN=LEFT | Footsteps, combat sounds, etc
| Footsteps, combat sounds, etc.
|-
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/MELE|CJBO'''Melee Profile'''.BINA]]
| [[OBD:BINA/OBJC/MELE|CJBO'''Melee Profile'''.BINA]]
| Melee profile ([[OBD:OBJC|OBJC]] = Object Collection)
| Melee profile; [[OBD:BINA/OBJC|OBJC]] = Objects
| ALIGN=LEFT | Melee profiles (what else?)
| Melee profiles
|-
|-
| ALIGN=LEFT | [[OBD:BINA/SABD|DBAS''character_name''.BINA]]
| [[OBD:BINA/SABD|DBAS''character_name''.BINA]]
| (SABD = Sound Animations Binary Data)
| SABD = Sound Animations Binary Data
| ALIGN=LEFT | Linked to (by name) from the [[OBD:ONCV|ONCV]] files.
| Linked to (by name) from the [[OBD:ONCV|ONCV]] files
|-
|-
| ALIGN=LEFT | [[OBD:BINA/TMBD|DBMT'''TextureMaterials'''.BINA]]
| [[OBD:BINA/TMBD|DBMT'''TextureMaterials'''.BINA]]
| (TMBD = Texture Materials Binary Data)
| TMBD = Texture Materials Binary Data
| ALIGN=LEFT | ...
| Assigns a material to a texture
|}
|}
|}


==Level-specific BINA types (OBJC)==
Most BINA/OBJC files are stored on a level-by-level basis, though two global OBJCs are listed above. The file names link to the overview of every OBJC type. The table shows whether a BINA/OBJC is present in a certain level.


----
{{Table}}
----
|-BGCOLOR="#E9E9E9"
==Level-specific [[OBD:OBJC|OBJC]]==
! WIDTH=30% | BINA file / Level || WIDTH=5% | 1 || WIDTH=5% | 2 || WIDTH=5% | 3 || WIDTH=5% | 4 || WIDTH=5% | 6 || WIDTH=5% | 8 || WIDTH=5% | 9 || WIDTH=5% | 10 || WIDTH=5% | 11 || WIDTH=5% | 12 || WIDTH=5% | 13 || WIDTH=5% | 14 || WIDTH=5% | 18 || WIDTH=5% | 19
These are stored on a level-by-level basis. The filenames link to the overview of every OBJC type and the table shows whenever an [[OBD:OBJC|OBJC]] BINA is absent from a level (black field).
|-ALIGN=CENTER
{|{{OBDtable}}
| ALIGN=LEFT | [[OBD:BINA/OBJC/CHAR|CJBO'''Character'''.BINA]]     ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
|align=center|
|-ALIGN=CENTER
{|{{OBDtable}}
| ALIGN=LEFT | [[OBD:BINA/OBJC/CONS|CJBO'''Console'''.BINA]]       ||X||X||X||X||X||X||X||X||X||&nbsp;||&nbsp;||X||X||X
|- BGCOLOR="#FFDDBB"
|-ALIGN=CENTER
! WIDTH=30% | BINA file \ Level
| ALIGN=LEFT | [[OBD:BINA/OBJC/DOOR|CJBO'''Door'''.BINA]]           ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
! WIDTH=5% | 1
|-ALIGN=CENTER
! WIDTH=5% | 2
| ALIGN=LEFT | [[OBD:BINA/OBJC/FLAG|CJBO'''Flag'''.BINA]]           ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
! WIDTH=5% | 3
|-ALIGN=CENTER
! WIDTH=5% | 4
| ALIGN=LEFT | [[OBD:BINA/OBJC/FURN|CJBO'''Furniture'''.BINA]]     ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
! WIDTH=5% | 6
|-ALIGN=CENTER
! WIDTH=5% | 8
| ALIGN=LEFT | [[OBD:BINA/OBJC/NEUT|CJBO'''Neutral'''.BINA]]       ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
! WIDTH=5% | 9
|-ALIGN=CENTER
! WIDTH=5% | 10
| ALIGN=LEFT | [[OBD:BINA/OBJC/PART|CJBO'''Particle'''.BINA]]       ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
! WIDTH=5% | 11
|-ALIGN=CENTER
! WIDTH=5% | 12
| ALIGN=LEFT | [[OBD:BINA/OBJC/PATR|CJBO'''Patrol_Path'''.BINA]]   ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
! WIDTH=5% | 13
|-ALIGN=CENTER
! WIDTH=5% | 14
| ALIGN=LEFT | [[OBD:BINA/OBJC/PWRU|CJBO'''PowerUp'''.BINA]]       ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
! WIDTH=5% | 18
|-ALIGN=CENTER
! WIDTH=5% | 19
| ALIGN=LEFT | [[OBD:BINA/OBJC/SNDG|CJBO'''Sound'''.BINA]]         ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
|-
|-ALIGN=CENTER
| ALIGN=LEFT | [[OBD:BINA/OBJC/CHAR|CJBO'''Character'''.BINA]]
| ALIGN=LEFT | [[OBD:BINA/OBJC/TRGV|CJBO'''Trigger_Volume'''.BINA]] ||X||X||X||X||X||X||X||X||X||X||X||X||X||X
| X
|-ALIGN=CENTER
| X
| ALIGN=LEFT | [[OBD:BINA/OBJC/TRIG|CJBO'''Trigger'''.BINA]]       ||X||X||&nbsp;||&nbsp;||X||X||&nbsp;||&nbsp;||X||&nbsp;||X||X||X||X
| X
|-ALIGN=CENTER
| X
| ALIGN=LEFT | [[OBD:BINA/OBJC/TURR|CJBO'''Turret'''.BINA]]         ||&nbsp;||X||&nbsp;||&nbsp;||&nbsp;||X||&nbsp;||&nbsp;||X||&nbsp;||X||X||X||X
| X
|-ALIGN=CENTER
| X
| ALIGN=LEFT | [[OBD:BINA/OBJC/WEAP|CJBO'''Weapon'''.BINA]]         ||&nbsp;||&nbsp;||X||&nbsp;||&nbsp;||X||X||X||X||X||&nbsp;||&nbsp;||X||X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/CONS|CJBO'''Console'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
|bgcolor="black"|
|bgcolor="black"|
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/DOOR|CJBO'''Door'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/FLAG|CJBO'''Flag'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/FURN|CJBO'''Furniture'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/NEUT|CJBO'''Neutral'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/PART|CJBO'''Particle'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/PATR|CJBO'''Patrol_Path'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/PWRU|CJBO'''PowerUp'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/SNDG|CJBO'''Sound'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/TRGV|CJBO'''Trigger_Volume'''.BINA]]
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/TRIG|CJBO'''Trigger'''.BINA]]
| X
| X
|bgcolor="black"|
|bgcolor="black"|
| X
| X
|bgcolor="black"|
|bgcolor="black"|
| X
|bgcolor="black"|
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/TURR|CJBO'''Turret'''.BINA]]
|bgcolor="black"|
| X
|bgcolor="black"|
|bgcolor="black"|
|bgcolor="black"|
| X
|bgcolor="black"|
|bgcolor="black"|
| X
|bgcolor="black"|
| X
| X
| X
| X
|-
| ALIGN=LEFT | [[OBD:BINA/OBJC/WEAP|CJBO'''Weapon'''.BINA]]
|bgcolor="black"|
|bgcolor="black"|
| X
|bgcolor="black"|
|bgcolor="black"|
| X
| X
| X
| X
| X
|bgcolor="black"|
|bgcolor="black"|
| X
| X
|}
|}
|}


{{OBD_File_Footer | type=BINA | prev=AKVA | next=CBPI | name=Binary Data | family=General}}


----
{{OBD}}
----
{{OBD_File_Footer|type=BINA|prev=AKVA|next=CBPI|name=Binary data}}