OBD:BINA/OBJC/CHAR

From OniGalore
Jump to navigation Jump to search
ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary data
TMBD << Other BINA >> ONIE
OBJC : Objects
WEAP << Other OBJC >> CMBT
CHAR : Character
XML tutorial
Overview @ Oni Stuff
OBD.png




Screenshot

bin_r_ch.gif


Basic setup

APPEARANCE, WEAPON, POSITION, MISC SPAWN FLAGS
Raw hex Value Meaning
52 41 48 43 CHAR character
87 19 00 00 6535 old file ID
00 00 00 00 0 unknown

A5 7D 9D 43

314.981597 x-position of the character
00 00 D8 C1 -27.000000 y-position (height) of the character
98 09 1E 42 39.509368 z-position of the character
00 00 00 00 0.000000 rotation on the x-axis in degrees
00 00 87 43 270.000000 rotation on the y-axis in degrees
00 00 00 00 0.000000 rotation on the z-axis in degrees
01 1 option bitset 1 (see below)
00 0 option bitset 2 (see below)
00 00 0 unknown; always zero
konoko_generic link by name to character class (local, konoko_generic.ONCC)
konoko name of the character
w1_tap link by name to weapon class (global, w1_tap.ONWC)
not used unknown; never used in Oni (maybe second weapon)
Option bitset 1
1 - player character
2 - random skin
4 - not prespawned
8 - non-combatant
16 - multi-spawnable
32 - unknown
64 - unkillable
128 - superammo
Option bitset 2

option 2; it's a bitset; the following options are possible (values in dec):

1 - boss (whatever that means)
2 - has LSI
4 - no auto-drop (whatever that means)
8 - upgrade difficulty (spawns a stronger enemy if you play on medium or hard)
16 - omniscient (whatever that means)
32 - unknown, never used
64 - unknown, never used
128 - unknown, never used




Script functions

ARE CALLED BY THE SCRIPT ENGINE WHEN CERTAN THINGS HAPPEN TO A CHARACTER
To whoever edited the below table, a few things could be more precise
  • what does "when a character is alarmed" mean, exactly? what is "alarm calling"?
  • if none of that is clear, how did you find out about that whole "alarm" thing?
  • same question about the "nopath" : where does the identifier come from?
  • why not register and log in when contributing such critical stuff?
  • ^^
Hello there, it was me ^_^'. Sorry, Geyser, but I filled that late in the evening so I was quite in a hurry. Answers for your questions-
  • character is alarmed: Due to my hunt for smarter AI I investigate all about alarm thing. Quite interesting. I have no results as far, but some of my theories can be right. So...one of those "unknown" fields in RAHC is ALARM GROUP. Next, alarm consoles in all levels EXCEPT first level (as we know, first one is the most finished) have only "execute script" event. In the first level, our infamous Bay4_Comguy_1's loved alarm console has "execute string" and also has "ACTIVATE ALARM" event 0600 0400, too. I experimented with that. Again, no results as far and it looks like it is defunct, but that gun AI also looked like it wasn't gun AI but garbagge...My theory is when this alarm console is used it tells to all AI with exact number (alarm group, in this case 04) that alarm is triggered. And when this happens, script that is written in ?alarm function? slot should be exectuted (*ai2_makeaware (ai_name, 0)* for easy example). I will keep searching, because this seems like fine way how to make enemies smarter but not annoying(no super-powers, but when alarm is triggered, all enemies with right alarm group number will be awared of you)
  • I found it by interesting way... First I was messing with COMBAT files in order to create "holstering enemies effect®". Here I noticed what was written on WMDD for COMBAT files: alarm behavior: search distance, distance of enemy ignorance, attack enemy distance. I started to play with that but I achieved no results. But whole alarm thing isn't just in COMBAT, it is in consoles, too. So I investigated console files. Because of that, I noticed that in level 1: here is strange block in alarm console: 0600 0400. I was wandering what is it, because either here or on Ssg's site there wasn't 06 as number of some console event. So I looked into Oni.exe. Here I found overview of console events (it is written in BIP thread on the forum) and acknowledged that 06 means "activate alarm". OK, but what do they want to say with that if there is nothing such us "alarm"(apart of doors, turrets, triggers and so on, each with its own ID)??? So I looked into picture that I saved when Ssg showed his results of importing WMDD from level0-tools.dat into normal level0.dat. Here I noticed "alarms: groups" and also here I learnt those "alarm" and "nopath" names.
  • After reading all of this, relax, make cup of tea, write me some of your sharp critics, then erase this stuff and just say "that Loser is really BAKA....." Saionara, Loser - - - - > P.S.: H&SCWM's going to be, only I don't know when. Maybe it will be some level of ONI 2.....but it will BE.
Raw hex Value Meaning
not used script function called when character is spawned
you_lose script function called when character dies (health reaches 0); can work multiple times
not used script function called when character notices an enemy; works only once
not used alarm function; never used in Oni, "should" be called when this character is alarmed. Dunno if this one isn't working or alarm calling isn't working...
not used script function called when character is hurt for the first time; works only once
not used script function called when character is "defeated" (health reaches 1); works only once
not used script function called when character runs out of ammo (reloads a weapon with the last clip/cell); works only once, and the character must have the ammo at spawn-time
not used nopath function, some exotic script function call ("should" be called when a character has trouble pathfinding, but isn't)




Less basic setup

INVENTORY, TEAM, JOBS, ALERT/PURSUIT
Raw hex Value Meaning
00 00 00 00 0

additional health (the basic health you'll find in the ONCC file of the character)

00 00 00 00 0 job ID (see below)
00 00 0 patrol path ID (looked up in local CJBOPatrol_Path.BINA)
00 00 0 combat ID (looked up in global CJBOCombat.BINA)
00 00 0 melee ID (looked up in global CJBOMelee Profile.BINA)
00 00 0 neutral ID (looked up in local CJBONeutral.BINA)
01 00 1 amount of ammo (red clips) that can be used
00 00 0 amount of ammo (red clips) that can be dropped
00 00 0 amount of energy cells (green clips) that can be used
00 00 0 amount of energy cells (green clips) that can be dropped
00 00 0 amount of hypos that can be used
00 00 0 amount of hypos that can be dropped
00 00 0 amount of force shields that can be used
00 00 0 amount of force shields that can be dropped
00 00 0 amount of phase cloaking that can be used (60 = 1 second)
00 00 0 amount of phase cloaking that can be dropped
00 00 00 00 0 unknown; always zero
00 00 00 00 0 team ID (see below)
64 00 00 00 100 ammo filling in percent
00 00 00 00 0 initial alert level (see below)
00 00 00 00 0 minimal alert level
01 00 00 00 1 alert level when starting a job
02 00 00 00 2 alert level when investigating
00 0 unknown
00 0 unknown
00 0 unknown
00 0 unknown
04 00 00 00 4 unknown (pm_pursue_strong?)
01 00 00 00 1 unknown (pm_pursue_weak?)
04 00 00 00 4 unknown (pm_pursue_strong_seen?)
04 00 00 00 4 unknown (pm_pursue_weak_seen?)
00 00 00 00 0 unknown (pm_pursue_lost?)
Job ID
0 - none
1 - idle
2 - guard (never used in Oni)
3 - patrol
4 - teambattle (never used in Oni)
Team ID
0 - Konoko
1 - TCTF
2 - Syndicate
3 - Neutral
4 - SecurityGuard
5 - RogueKonoko
6 - Switzerland
7 - SyndicateAccessory
Alert level
0 - lull
1 - low
2 - medium
3 - high
4 - combat




Blue Box Beta WMDD

bina_chara.gif




ONI BINARY DATA
AKVA << Other file types >> CBPI
BINA : Binary data
TMBD << Other BINA >> ONIE
OBJC : Objects
WEAP << Other OBJC >> CMBT
CHAR : Character
[[OBD:File types/{{{family}}}|{{{family}}} file]]