5,391
edits
m (→Strings) |
m (string types) |
||
Line 1: | Line 1: | ||
==General notes== | |||
===Struct defs=== | |||
Place here suggestions for data type IDs (for new-gen struct defs). | |||
===Appearance=== | |||
[[OUP]] could/should have special GUI settings for some of the types: | |||
*Links to other resources (in the long term, also links by label and non-file ID) | |||
*Vectors, AABBs, planes, transformation matrices, quaternions. | |||
*Bitsets: checkboxes with labels specified in the struct def | |||
:Same for longs with high bits/bytes and more generally, IDs. | |||
Ideally, the labels for recurring bitsets and ID fields should be hardcoded, but it's OK to have them in struct defs ATM. | |||
---- | |||
==Resource links== | |||
===DAT links=== | |||
Those should certainly be typed: a different ID for every DAT-resource type. | |||
===RAW/SEP links=== | |||
I would type those too: a different ID for every RAW/SEP-resource type. | |||
:Note that the size of the RAW/SEP data is not always provided. | |||
===Links by label=== | |||
Those are special string subtypes. I wouldn't specify them right now. | |||
:(but you can try and draw a list of what links-by-label there are) | |||
===Links by ID=== | |||
:(not to be confused with links by ID to DAT resources) | |||
E.g., vocalization IDs, melee profile IDs, combat behaviour IDs, etc. | |||
:In most cases, they are not links to DAT/RAW/SEP resources, but lookups to hardcoded tables (which are also part of OBD, sort of...) | |||
---- | |||
==Strings== | ==Strings== | ||
checked past BINA... | |||
===16 chars=== | ===16 chars=== | ||
*[[PAR3]] ([[BINA]] raw/sep part) | |||
*[[ONCP]] | |||
*[[ONIA]] | |||
*[[TRAM]] | |||
*[[TRAM]] (particle part) | |||
===32 chars=== | ===32 chars=== | ||
*[[AGDB]] raw/sep parts | *[[AGDB]] raw/sep parts | ||
*[[AISA]] | *[[AISA]] | ||
*[[ONIE]] | *[[CHAR]] ([[BINA]] raw/sep part) | ||
*[[SABD]] | *[[CONS]] ([[BINA]] raw/sep part) | ||
* | *[[FURN]] ([[BINA]] raw/sep part) | ||
*[[NEUT]] ([[BINA]] raw/sep part) | |||
*[[PATR]] ([[BINA]] raw/sep part) | |||
*[[SNDG]] ([[BINA]] raw/sep part) | |||
*[[TRGV]] ([[BINA]] raw/sep part) | |||
*[[TURR]] ([[BINA]] raw/sep part) | |||
*[[WEAP]] ([[BINA]] raw/sep part) | |||
*[[ONIE]] ([[BINA]] raw/sep part) | |||
*[[PAR3]] ([[BINA]] raw/sep part) | |||
*[[SABD]] ([[BINA]] raw/sep part) | |||
*[[TMBD]] ([[BINA]] raw/sep part) | |||
*[[CONS]] | |||
*[[DOOR]] | |||
*[[ONCC]] | |||
*[[ONCV]] | |||
*[[ONGS]] | |||
*[[ONWC]] | |||
*[[OSAm]], [[OSGr]], [[OSIm]] ([[OSBD]] raw/sep parts) | |||
*[[TRAM]] (sound part) | |||
*[[TRIG]] | |||
*[[TURR]] | |||
===48 chars=== | |||
*[[FURN]] ([[BINA]] raw/sep part) | |||
*[[PART]] ([[BINA]] raw/sep part) | |||
*[[ENVP]] | |||
*[[ONGS]]? | |||
===63 chars=== | |||
*[[CONS]] ([[BINA]] raw/sep part) | |||
*[[DOOR]] ([[BINA]] raw/sep part) | |||
*[[TRGV]] ([[BINA]] raw/sep part) | |||
*[[TRIG]] ([[BINA]] raw/sep part) | |||
*[[TURR]] ([[BINA]] raw/sep part) | |||
===64 chars=== | ===64 chars=== | ||
*[[AITR]] | *[[AITR]] | ||
*[[ONIE]] | *[[CHAR]] ([[BINA]] raw/sep part) | ||
* | *[[CMBT]] ([[BINA]] raw/sep part) | ||
*[[MELE]] ([[BINA]] raw/sep part) | |||
*[[ONIE]] ([[BINA]] raw/sep part) | |||
*[[PART]] ([[BINA]] raw/sep part) | |||
*[[ENVP]] | |||
*[[IGHH]] | |||
*[[OBOA]] | |||
*[[ONCC]] | |||
*[[ONCP]] | |||
*[[ONLD]] | |||
*[[ONMA]] | |||
*[[TRCM]] | |||
*[[TSFL]] | |||
*[[TURR]] | |||
*[[WMM_]] | |||
===68 chars=== | |||
*[[DOOR]] ([[BINA]] raw/sep part) | |||
===128 chars=== | |||
*[[FLAG]] ([[BINA]] raw/sep part) | |||
*[[TRGV]] ([[BINA]] raw/sep part) | |||
*[[ONCC]] | |||
*[[ONGS]] | |||
*[[ONIA]] | |||
*[[TStr]] | |||
*[[TXMP]] | |||
===132 chars=== | ===132 chars=== | ||
*[[ONIE]] ([[BINA]] raw/sep part) | |||
*[[ | ===160 chars=== | ||
* | *[[CRSA]] | ||
===256 chars=== | |||
*[[WMDD]] | |||
===364 chars=== | |||
*[[IGSt]] | |||
---- | ---- | ||
==Floats== | ==Floats== | ||
===Float=== | ===Float=== | ||
4-byte IEEE float | 4-byte IEEE float | ||
:(amount, distance, angle, ...) | |||
===Vector=== | ===Vector=== | ||
3 floats define a vector in 3D space | 3 floats define a vector in 3D space | ||
:(position, normal, ...) | |||
===Axis-aligned bounding box=== | ===Axis-aligned bounding box=== | ||
2 vectors define a min corner and a max corner | 2 vectors define a min corner and a max corner | ||
===Plane=== | ===Plane=== | ||
4 floats define an oriented plane in 3D | 4 floats define an oriented plane in 3D | ||
:(see [[PLEA]] for algorithm) | |||
===Quaternion=== | ===Quaternion=== | ||
4 floats define a [[w:quaternion|quaternion]] | 4 floats define a [[w:quaternion|quaternion]] | ||
:(always normalized, i.e., rotation w/o scaling?) | :(always normalized, i.e., rotation w/o scaling?) | ||
===Translation and rotation=== | |||
*3 floats define a translation | |||
*3 others define a rotation (Euler angles) | |||
===Transformation matrix=== | ===Transformation matrix=== | ||
12 floats define a 4x4 transformation matrix | 12 floats define a 4x4 transformation matrix | ||
Line 40: | Line 139: | ||
Mostly non-negative indices, so possibly unsigned. | Mostly non-negative indices, so possibly unsigned. | ||
:One known exception: the quantized Euler angles in TRAM | :One known exception: the quantized Euler angles in TRAM | ||
===char=== | |||
:ever used? | |||
===short=== | ===short=== | ||
:everywhere... | |||
===long=== | ===long=== | ||
=== | :everywhere... | ||
===long with high bit=== | |||
The lower bits are used for an ID, the high bit is a flag | The lower bits are used for an ID, the high bit is a flag | ||
:(used in ... ) | |||
===long with high byte=== | |||
The lower bytes are used for an ID, the high byte is a group ID | |||
:(used for [[MELE]] moves) | |||
===quantized float=== | ===quantized float=== | ||
e.g., quantized Euler angles in [[TRAM_]] | e.g., quantized Euler angles in [[TRAM_]] | ||
===other stuff=== | |||
lots of funny stuff in [[PAR3]], maybe... | |||
Line 54: | Line 163: | ||
===4 bytes=== | ===4 bytes=== | ||
===8 bytes=== | ===8 bytes=== | ||
---- | |||
==Misc== | |||
===4-character codes=== | |||
In various BINA raw/sep parts | |||
===...=== |