OBD talk:Oni Binary Data: Difference between revisions

m
+cat
m (more or less general OBD-related talk moved here)
 
m (+cat)
 
(16 intermediate revisions by 4 users not shown)
Line 13: Line 13:
:I understand you're a bit like me: figure out something, have a little fun, move on...
:I understand you're a bit like me: figure out something, have a little fun, move on...
:But that's not very rewarding. For you, maybe, but not for "us"... Oh well.
:But that's not very rewarding. For you, maybe, but not for "us"... Oh well.
:ssg has tried adding files to a DAT before you, and failed. Have a look [http://www6.fh-eberswalde.de/user/dkriesch/onistuff/subfold/datfile/datfile.htm HERE] if you haven't already...
:ssg has tried adding files to a DAT before you, and failed. Have a look [http://ssg.oni2.net/subfold/datfile/datfile.htm HERE] if you haven't already...
:There's a lot of stuff to take care of, and it's definitely not something you should do manually.
:There's a lot of stuff to take care of, and it's definitely not something you should do manually.
::(not that it's impossible, but even if you manage to do it, it will be of no ''general'' use)
::(not that it's impossible, but even if you manage to do it, it will be of no ''general'' use)
Line 44: Line 44:
::;ssg
::;ssg
:I'll have a look at the hidden doors in level1. Fixing them is all the more appealing as now we can fix the BNVs, too...
:I'll have a look at the hidden doors in level1. Fixing them is all the more appealing as now we can fix the BNVs, too...
::Thanks for the two IDs: they're a good start. I'll try to cath'em all (when I get some free time, heh).
::Thanks for the two IDs: they're a good start. I'll try to catch'em all (when I get some free time, heh).
:::Collision is probably defined separately from the visible geometry (in the AGQC rather than in the AGQG).
:::Collision is probably defined separately from the visible geometry (in the AGQC rather than in the AGQG).
:Unfortunately, '''env_show''' only works for "objects" (static bike, van, truck, etc). Same for '''env_texswap'''...
:Unfortunately, '''env_show''' only works for "objects" (static bike, van, truck, etc). Same for '''env_texswap'''...
::[[User:Geyser|geyser]] 15:37, 26 January 2007 (CET)
::[[User:Geyser|geyser]] 15:37, 26 January 2007 (CET)
 
:I've had a look at those doors. Rather than making them invisible (what for? no one said invisible walls don't block you), I made those walls into a floor and ceiling, by swapping two pairs of vertices.
 
:For the floor, I edited the AGQC accordingly. Since the now-horizontal quad still thought it was a wall, I had to (un)set the appropriate flag(s) in the bitset.
:It looks and feels quite nice since there is a doorsill now. Wonder if pathfinding will work when the grid is fixed...
:Is there any way to look up the ID of a quad in Oni other than by browsing '''env_highlight_gq''' values?
:I'm interested in the quad just above the original 18454, but couldn't find it after a quick search.
::[[User:Geyser|geyser]] 12:05, 1 February 2007 (CET)
----
----
==File names==
==File names==
Line 63: Line 67:
::;geyser
::;geyser


:may i ask you a question?
:what does "totoro" mean
:i've googled a bit on it, and found only some spherical anime character
::;[[User:Kuchumovn|Kuchumovn]] 15:12, 18 December 2007 (CET)
:totoro is the name of the animation system/engine. The developers gave them anime character names
:akira ==> name of the um... environment(?) system/engine (octrees, nodes, rays, etc.)
:motoko ==> name of the drawing(?) system/engine (graphics quality, resolution, colour, z-buffer, etc.) [[User:Ssg|Ssg]] 16:06, 18 December 2007 (CET)
:danke
::;[[User:Kuchumovn|Kuchumovn]] 16:43, 18 December 2007 (CET)
:пожалуйста [[User:Ssg|Ssg]] 16:59, 18 December 2007 (CET)


==Data types==
==Data types==
Line 79: Line 97:
::;ssg
::;ssg
:Re:Obviously, I don't want to argue about this forever. I'll reformulate when I get the chance.
:Re:Obviously, I don't want to argue about this forever. I'll reformulate when I get the chance.
:My basic point is that there is no "0" bit, and that anything hinting at the existence of such a bit, e.g.
:My basic point is that there is no "0" bit, and no "option" corresponding to it, and that anything hinting otherwise, e.g.
 
option 1; it's a bitset; the following options are possible (values in dec):
:is... pick your own word. ^^
0  - none          <<<<<<<<<<<<<<<<<<<<^^^^^^^
1  - unknown
2  - ghost
4  - stairs up
8  - stairs down
16 - stairs
32 - unknown
64 - unknown
128- unknown
:is... is... whatever. Pick your own word. ^^
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
:Anyway, I'd suggest to leave "dec" alone altogether, and to write:
Option bitset 1
0x01 - unknown
0x02 - ghost
0x04 - stairs up
0x08 - stairs down
0x10 - stairs
0x20 - unknown
0x40 - unknown
0x80 - unknown
:Love it or leave it, of course.
::[[User:Geyser|geyser]] 13:54, 31 January 2007 (CET)
:Oh, and a priori I don't know WTF "ghost" is, so in case you know better, a few words of wisdom are always welcome.
::[[User:Geyser|geyser]] 13:56, 31 January 2007 (CET)
ghost = something you can't see + touch. So a ghost GQ is invisible and not solid.
<p align=right>[[User:Ssg|Ssg]] 13:13, 1 February 2007 (CET)


==OBD update==
==OBD update==
Line 109: Line 152:
:Be careful not to overwrite new information with older stuff, or anything like that.
:Be careful not to overwrite new information with older stuff, or anything like that.
:I'd really appreciate if you put a list of field types [[OBD:Data types|HERE]], for example.
:I'd really appreciate if you put a list of field types [[OBD:Data types|HERE]], for example.
::IMO that's absolutely not "rhetorical". Whatever you think "rhetorical" means... ^^
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)


Line 125: Line 167:
:My a priori guess would be the ONOA, and the IDXA therein. 3003 could refer to the unknown ID stored inside an ONOA.
:My a priori guess would be the ONOA, and the IDXA therein. 3003 could refer to the unknown ID stored inside an ONOA.
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
:OK, I found where the 3003 is mapped to 3058 etc. I'd have been quicker if you hadn't flagged AKEV as "done" :P
:Because it's in the AKEV. Well, not in the AKEV "selbst", but in its specific IDXA.
::(but they're just ''links'', of course, so we don't consider them as unknown AKEV data, right? ^^ )
:Anyway. The first IDXA lists the quads (AGQG, AGQC and AGQR entries) that can be turned on and off.
:The second IDXA lists the "gunk" IDs in parallel. The same "gunk" ID can be assigned to several quads.
:The two IDXA can be used for two-way lookup. Only gunk -> quad is used when you use '''env_show''' etc.
::[[User:Geyser|geyser]] 12:05, 1 February 2007 (CET)
----
Cool. Thanks.
<p align=right>[[User:Ssg|Ssg]] 13:21, 1 February 2007 (CET)
----
:As for the ONOA, that one is related to the unknown field of the AGQG (the one which is not always 0xFFFFFFFF).
:That field is an object ID, looked up in the ONOA. Several quads can belong to the same object (same ID).
:The IDXA next to the ID (in the ONOA) lists the AGQG belonging to every object. So, two-way lookup.
:The high byte of the ID is an object type. 0x05 is furniture, 0x03 is doorframe, 0x0D is trigger guide, 0x0F is console, etc.
::[[User:Geyser|geyser]] 12:05, 1 February 2007 (CET)
----
I figured that out yesterday too. 0E is turret. And that's it. There're no others. The first 2 bytes are the old file ID. It's the same as in the BINA files.
:
Why Oni needs this file (ONOA)? Any idea. IMO Oni needs only the door entries, because if you disable them, the doors aren't any longer solid. But if I disable the other objects I can't see an effect.
<p align=right>[[User:Ssg|Ssg]] 13:21, 1 February 2007 (CET)
:What do you mean, "disable"? Resource, offset, new value?
:I'm not 100% sure why Oni needs it (to look up "gunks with all their glass broken", perhaps).
:Anyway, I find it useful because it will let us to selectively extract furniture (etc) separately from architecture.
::[[User:Geyser|geyser]] 20:21, 1 February 2007 (CET)
:I repeat my question (stuff is a bit scattered on this page, sorry ^^):
::do you know any way to quickly find out the ID of a quad (e.g. AGQG element)?
::[[User:Geyser|geyser]] 20:21, 1 February 2007 (CET)
----
<TABLE BORDER=0><TR><TD BGCOLOR="#E0E0E0">"do you know any way to quickly find out the ID of a quad"</TD></TR></TABLE>
:
Not really. If I'm interested in a GQ, I start Oni (debug_charas on and textures off) and look for the corner points of the GQ. With this information I look to the PNTA file (I've put the coordinates in an Excel sheet) and search for the points. When I've found them, I take the package IDs and search in the AGQG file (a Excel sheet too) for them.
:
[[User:Ssg|Ssg]] 13:33, 7 February 2007 (CET)
==Generic files==
==Generic files==
===VCRA===
===VCRA===
Line 132: Line 209:
===IDXA===
===IDXA===
:Used by M3GM (1 lists triangles as strips, 2 assigns face normals to triangles) (1 has a specific format (high-bit))
:Used by M3GM (1 lists triangles as strips, 2 assigns face normals to triangles) (1 has a specific format (high-bit))
:Used by AKEV (role?)
:Used by AKEV (1 lists script-hideable quads) (2 lists the IDs used by '''env_show''' etc)
:Used by ONOA (an "object ID" is associated to an IDXA listing the AGQG of that object)
:Used by AKOT (role?)
:Used by AKOT (role?)
:Used by ONOA (role?)
:Is that all?
:Is that all?
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
Line 140: Line 217:
:Used by a few files, format seems to be invariant.
:Used by a few files, format seems to be invariant.
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
::[[User:Geyser|geyser]] 20:15, 30 January 2007 (CET)
==Categorizing OBD screenshots==
I experimentally tagged [[:Image:Abna_a.gif]] with the category "OBD data images". Does this name make sense to anyone whom it concerns? If so, I can mark that mentally as the official category for those images, and over time make sure they are categorized. Since there's a decent number of those images, I want to be 100% sure of the category name before going ahead with the rest. --[[User:Iritscen|Iritscen]] 19:07, 12 October 2008 (CEST)
{{OBD}}