OBD:BINA: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (changed family)
 
(12 intermediate revisions by 3 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 has to do with the binary data in the RAW/SEP :
==Introduction==
*at 0x08, the size of the binary data chunk in the RAW/SEP file
"BINA" is short for "binary data", which refers to chunks of data that are stored in the [[separate file]] when available (Windows demo, Mac) or in the [[raw file]] otherwise (Windows). 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 | int32    |FFC8C8| 34 8B 00 00 | 35636    | size of the part in the raw/separate file in bytes }}
|-bgcolor=#FFDDBB
{{OBDtr| 0x0C | offset  |FFFFC8| 40 DD E4 00 |00 E4 DD 40| at this position starts the part in the raw/separate file }}
!colspan=4|[[OBD:BINA/OBJC|OBJC]] : Object Collection...
{{OBDtr| 0x10 | char[16] |C8FFC8| AD DE      | dead      | unused }}
|-
|[[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:BINA/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:BINA/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}}

Latest revision as of 01:57, 8 December 2023

ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary Data
switch to XML:BINA page
Overview @ Oni Stuff
OBD.png

Introduction

"BINA" is short for "binary data", which refers to chunks of data that are stored in the separate file when available (Windows demo, Mac) or in the raw file otherwise (Windows). 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).

File description

Bina all.gif

Offset Type Raw Hex Value Description
0x00 res_id 01 67 23 00 9063 09063-CJBOCharacter.BINA
0x04 lev_id 01 00 00 06 3 level 3
0x08 int32 34 8B 00 00 35636 size of the part in the raw/separate file in bytes
0x0C offset 40 DD E4 00 00 E4 DD 40 at this position starts the part in the raw/separate file
0x10 char[16] AD DE dead unused

Overview of BINA types

The different sub-tags of BINA are:

OBJC: Objects...
CHAR
Character
CMBT
Combat profile
CONS
Console
DOOR
Door
FLAG
Flag
FURN
Furniture
MELE
Melee profile
NEUT
Neutral behaviour
PART
Particle
PATR
Patrol path
PWRU
Powerup
SNDG
Sound Group
TRGV
Trigger Volume
TRIG
Trigger
TURR
Turret
WEAP
Weapon
ONIE: Oni Impact Effects
PAR3: 3D Particle
SABD: Sound Animations Binary Data
TMBD: Texture Materials Binary Data

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).

Filename Meaning Function
3RAPparticle_name.BINA PAR3 = 3D particles Explosions, projectiles, flashes, trails... everything
CJBOCombat.BINA Combat profile; OBJC = Objects Stores specific (non-melee) behavior: weapon logic, etc.
EINOimpact_effects.BINA ONIE = Oni Impact Effects Footsteps, combat sounds, etc.
CJBOMelee Profile.BINA Melee profile; OBJC = Objects Melee profiles
DBAScharacter_name.BINA SABD = Sound Animations Binary Data Linked to (by name) from the ONCV files
DBMTTextureMaterials.BINA TMBD = Texture Materials Binary Data 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.

BINA file / Level 1 2 3 4 6 8 9 10 11 12 13 14 18 19
CJBOCharacter.BINA X X X X X X X X X X X X X X
CJBOConsole.BINA X X X X X X X X X     X X X
CJBODoor.BINA X X X X X X X X X X X X X X
CJBOFlag.BINA X X X X X X X X X X X X X X
CJBOFurniture.BINA X X X X X X X X X X X X X X
CJBONeutral.BINA X X X X X X X X X X X X X X
CJBOParticle.BINA X X X X X X X X X X X X X X
CJBOPatrol_Path.BINA X X X X X X X X X X X X X X
CJBOPowerUp.BINA X X X X X X X X X X X X X X
CJBOSound.BINA X X X X X X X X X X X X X X
CJBOTrigger_Volume.BINA X X X X X X X X X X X X X X
CJBOTrigger.BINA X X     X X     X   X X X X
CJBOTurret.BINA   X       X     X   X X X X
CJBOWeapon.BINA     X     X X X X X     X X
ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary Data
General file