OBD:BINA/OBJC: Difference between revisions

From OniGalore
Jump to navigation Jump to search
mNo edit summary
 
mNo edit summary
Line 1: Line 1:
{|align=right
{{OBD BINA Header|align=right|prev=TMBD|type=OBJC|next=ONIE|name=Object Collection|onistuff=bina}}
![[OBD:Oni Binary Data|ONI BINARY DATA]]
|-
![[OBD:AKVA|AKVA]] << [[OBD:File types|Other file types]] >> [[OBD:CBPI|CBPI]]
|-
!<FONT SIZE=5>BINA : Binary data</FONT>
|-
![[OBD:File types/Start|Start file]]
|-
![[OBD:BINA/TMBD|TMBD]] << [[OBD:BINA|Other BINA]] >> [[OBD:BINA/ONIE|ONIE]]
|-
!<FONT SIZE=5>OBJC : Object Collection</FONT>
|}
;OBJC types
*[[OBD:BINA/OBJC/CHAR|CHAR]] : Character
*[[OBD:BINA/OBJC/CMBT|CMBT]] : Combat profile
*[[OBD:BINA/OBJC/CONS|CONS]] : Console
*[[OBD:BINA/OBJC/DOOR|DOOR]] : Door
*[[OBD:BINA/OBJC/FLAG|FLAG]] : Flag
*[[OBD:BINA/OBJC/FURN|FURN]] : Furniture
*[[OBD:BINA/OBJC/MELE|MELE]] : Melee profile
*[[OBD:BINA/OBJC/NEUT|NEUT]] : Neutral behaviour
*[[OBD:BINA/OBJC/PART|PART]] : Particle
*[[OBD:BINA/OBJC/PATR|PATR]] : Patrol path
*[[OBD:BINA/OBJC/PWRU|PWRU]] : Powerup
*[[OBD:BINA/OBJC/SNDG|SNDG]] : Sound Group
*[[OBD:BINA/OBJC/TRGV|TRGV]] : Trigger Volume
*[[OBD:BINA/OBJC/TRIG|TRIG]] : Trigger
*[[OBD:BINA/OBJC/TURR|TURR]] : Turret
*[[OBD:BINA/OBJC/WEAP|WEAP]] : Weapon
;Object Collection
;Object Collection
*The collection's header structure (first 16 bytes) and collection layout is common to all 16 OBJC types.
*The collection's header structure (first 16 bytes) and collection layout is common to all 16 OBJC types.
Line 39: Line 10:
:Supposedly it allowed developers to edit OBJC files while running the game.
:Supposedly it allowed developers to edit OBJC files while running the game.
:[http://www6.fh-eberswalde.de/user/dkriesch/oni/bina_missing.htm HERE] is the additional information provided by those menus about the structure of a few OBJC types.
:[http://www6.fh-eberswalde.de/user/dkriesch/oni/bina_missing.htm HERE] is the additional information provided by those menus about the structure of a few OBJC types.
==OBJC types==
A given collection can only hold objects of a specific type, which can be :
{|
|
{|{{OBDtable}}
|-bgcolor=#FFDDBB
!Type!!Long name!!Filename
|-
|[[OBD:BINA/OBJC/CHAR|CHAR]]||Character||CJBO'''Character'''.BINA
|-
|[[OBD:BINA/OBJC/CMBT|CMBT]]||Combat profile||CJBO'''Combat'''.BINA
|-
|[[OBD:BINA/OBJC/CONS|CONS]]||Console||CJBO'''Console'''.BINA
|-
|[[OBD:BINA/OBJC/DOOR|DOOR]]||Door||CJBO'''Door'''.BINA
|-
|[[OBD:BINA/OBJC/FLAG|FLAG]]||Flag||CJBO'''Flag'''.BINA
|-
|[[OBD:BINA/OBJC/FURN|FURN]]||Furniture||CJBO'''Furniture'''.BINA
|-
|[[OBD:BINA/OBJC/MELE|MELE]]||Melee profile||CJBO'''Melee Profile'''.BINA
|-
|[[OBD:BINA/OBJC/NEUT|NEUT]]||Neutral behaviour||CJBO'''Neutral'''.BINA
|-
|[[OBD:BINA/OBJC/PART|PART]]||Particle||CJBO'''Particle'''.BINA
|-
|[[OBD:BINA/OBJC/PATR|PATR]]||Patrol path||CJBO'''Patrol_Path'''.BINA
|-
|[[OBD:BINA/OBJC/PWRU|PWRU]]||Powerup||CJBO'''PowerUp'''.BINA
|-
|[[OBD:BINA/OBJC/SNDG|SNDG]]||Sound Group||CJBO'''Sound'''.BINA
|-
|[[OBD:BINA/OBJC/TRGV|TRGV]]||Trigger Volume||CJBO'''Trigger_Volume'''.BINA
|-
|[[OBD:BINA/OBJC/TRIG|TRIG]]||Trigger||CJBO'''Trigger'''.BINA
|-
|[[OBD:BINA/OBJC/TURR|TURR]]||Turret||CJBO'''Turret'''.BINA
|-
|[[OBD:BINA/OBJC/WEAP|WEAP]]||Weapon||CJBO'''Weapon'''.BINA
|}
|}




Line 91: Line 104:
;"Weapon classes?"
;"Weapon classes?"
:If anyone can explain me WTF weapon classes have to do with it, I'd be greatly appreciative. [[User:Geyser|geyser]]
:If anyone can explain me WTF weapon classes have to do with it, I'd be greatly appreciative. [[User:Geyser|geyser]]
----
----
{{OBD BINA Footer|prev=TMBD|type=OBJC|next=ONIE|name=Object Collection}}

Revision as of 18:53, 29 July 2006

ONI BINARY DATA
AKVA << Other file types >> CBPI
TMBD << Other BINA >> ONIE
OBJC : Object Collection
switch to XML:BINA/OBJC page
Overview @ Oni Stuff
OBD.png
Object Collection
  • The collection's header structure (first 16 bytes) and collection layout is common to all 16 OBJC types.
  • A collection consists of a variable number of objects, the size of which can also vary.
  • The size (in bytes) of the next object is announced by the field immediately preceding it (long, 4 bytes)
  • The total size to the end of the collection is announced in the header.
Blue Box Beta "revelations"
A German Mac Beta version was released as part of a compilation of old Mac games.
The version contained extra WMDD files, part of Oni's developer GUI.
Supposedly it allowed developers to edit OBJC files while running the game.
HERE is the additional information provided by those menus about the structure of a few OBJC types.

OBJC types

A given collection can only hold objects of a specific type, which can be :

Type Long name Filename
CHAR Character CJBOCharacter.BINA
CMBT Combat profile CJBOCombat.BINA
CONS Console CJBOConsole.BINA
DOOR Door CJBODoor.BINA
FLAG Flag CJBOFlag.BINA
FURN Furniture CJBOFurniture.BINA
MELE Melee profile CJBOMelee Profile.BINA
NEUT Neutral behaviour CJBONeutral.BINA
PART Particle CJBOParticle.BINA
PATR Patrol path CJBOPatrol_Path.BINA
PWRU Powerup CJBOPowerUp.BINA
SNDG Sound Group CJBOSound.BINA
TRGV Trigger Volume CJBOTrigger_Volume.BINA
TRIG Trigger CJBOTrigger.BINA
TURR Turret CJBOTurret.BINA
WEAP Weapon CJBOWeapon.BINA




0x00 - 0x0F

HEADER
Example file : CJBOPowerUp.BINA from dunno where (level 3, probably)
Offsets
Offsets are given with respect to RAW part size.

bin_r_pu.gif

Offset Hex Translation Meaning
0x00 43 4A 42 4F OBJC Object Collection
0x04 18 02 00 00 536 size of the collection in bytes, counting from 0x08
0x08 27 00 00 00 39 identification number for the weapon classes; in every level the same; do not change it
0x0C 28 00 00 00 40 size of next (first) object (outlined in black)
0x10 - 0x37 First object (40 bytes)
0x38 28 00 00 00 40 size of next (second) object
0x3C - ... Second object (40 bytes), etc
Collection end
After the last object, the end of the collection is signaled by a null next object size.
"Weapon classes?"
If anyone can explain me WTF weapon classes have to do with it, I'd be greatly appreciative. geyser




ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary data
TMBD << Other BINA >> ONIE
OBJC : Object Collection
[[OBD:File types/{{{family}}}|{{{family}}} file]]