OME
![]() |
This page is under construction Check back later for additional changes |
OME is a model format used in Yakuza, Yakuza 2, and by extension, Ryu Ga Gotoku 1 + 2 HD Edition. It was phased out and replaced with GMD.
Format Overview
A typical OME file has the following order:
1) File header data
2) Object/physics data*
3) ODBP/MDBP block
MDBP is an earlier version of OME and is not supported by the game, attempting to load one may lead to a crash.
Within ODBP:
1) ODBP File header data
2) Mesh block (pointers, material ids etc.)
3) Armature block
4) File header data
5) Material group**
6) Mesh data (vertex info and face index table)
7) End block
*Unclear yet if this actually does contain physics, there seems to be coordinates for a collision shape in prop/stage object OME files.
**Doesn't seem to control anything related to actual materials, here like materials are grouped together.
Technical Information
Offset | Data type | Description | Notes |
---|---|---|---|
0x00 | 4 bytes | File magic | "OME" |
0x04 | Uint32 | Version ID | Unclear if this does anything
Version ids in Y1: (4, 5, 6, 2, 1, 0) |
0x08 | Uint32 | ODBP file pointer | |
0x10 | Uint32 | Count | Count of the entries in the next block (object/physics data block) |
0x14 | Uint32 | Block size | Here, refers to the size of this struct |
0x18 | Uint32 | Model "sheen/glare" strength | Controls the "glare" of the model, which is controlled by the
model's texture alpha |
0x1c | Uint32 | Mesh flag | Unclear if this does anything |
Note: This is still WIP, more info needed on this!
Entry
(Block size: 32 bytes) | |||
---|---|---|---|
Offset | Data type | Description | Notes |
0x00 | Uint32 | Read flag | The whole entry will not be read if set to 0,
If 1, will be read. (assumption) |
0x04 | Uint32 | Pointer | Pointer to a field below the entries |
0x08 | Uint32 | Unknown | |
0x0c | Uint32 | Constant | Always FF FF FF FF |
0x10 | Uint16 | Unknown1 | |
0x12 | Uint16 | Unknown2 | |
0x14 | Uint32 | Unknown | |
Field A
(Block size: 16 bytes) | |||
Offset | Data type | Description | Notes |
0x00 | Uint32 | count1 | Unclear on how its used |
0x04 | Uint32 | pointer1 | Unclear on how its used |
0x08 | Uint32 | pointer2 | |
0x0c | Uint32 | count2 | |
Field B (based from pointer2 and count2)
(Block size: 16 bytes) | |||
Offset | Data type | Description | Notes |
0x00 | Float | X coord | |
0x04 | Float | Y coord | |
0x08 | Float | Z coord | |
0x0c | Float | Unk float | Don't know what this does so far |