Help figuring out Dog's Life (PS2) .ovl archive format

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Dogmander
Posts: 4
Joined: Mon Feb 22, 2021 3:54 pm

Help figuring out Dog's Life (PS2) .ovl archive format

Post by Dogmander »

Hi, I've currently been working on figuring out the format of the OVL files used in Dog's Life for ps2. Right now me and the other person working on it, DKDave, have figured out somewhat of the format, but still need to figure out the rest of the data tables. I've provided our current notes and a sample file to look at. Thanks in advance!

Code: Select all

HEADER - 12 bytes

0x00    Int    Count1: Number of textures ?
0x04    Int    Count2: Number of ?
0x08    Int    Count3: Number of entries in Table 1

TABLE 1 - Count3 * 0x14

TABLE 2 - Int Count + (Count * 0x20)

TABLE 3 - Count1 * 0x40

TABLE 4 - Count3 * 0x28

[some other table(s)]

TABLE - Int Count + (Count * 0x8)

TABLE - Count3 * 0x30

TABLE - (Table 2 count) * 0x10

TABLE - Count1 * 0x64 (some entries are variable size) [This is a texture info table, with widths, heights, and other info]

TABLE - Count3 * 0x10

[some other table]

Followed by textures, meshes and other data
Dogmander
Posts: 4
Joined: Mon Feb 22, 2021 3:54 pm

Re: Help figuring out Dog's Life (PS2) .ovl archive format

Post by Dogmander »

Here is the notes for the model format right now, also.

Code: Select all

Header - 12 bytes:

0x00    Short    Always seems to be 0xFFFF
0x02    UShort    Number of face sections in this mesh
0x04    UShort    Number of total face entries
0x06    UShort    Number of vertices
0x08    UInt    Always seems to be 0x0000411c

Next follows a table of face sections - 1 UShort per entry.  This is the number of face indices in each part.  They should add up to the total number of face entries in the header.

Then follows the actual face index data - 1 Short per index value

Then follows the vertex data - 0x34 bytes per entry as follows:

* NOTE: Sometimes there is an extra 2 bytes before the vertex data starts - it doesn't seem to be for alignment purposes, so not sure how to calculate it automatically.

0x00    Float    X Coord
0x04    Float    Y Coord
0x08    Float    Z Coord
0x0c    ?
0x10    ?
0x14    ?
0x18    ?
0x1c    ?
0x20    Float    Normal X
0x24    Float    Normal Y
0x28    Float    Normal Z
0x2c    Float    UV X
0x30    Float    UV Y
Dogmander
Posts: 4
Joined: Mon Feb 22, 2021 3:54 pm

Re: Help figuring out Dog's Life (PS2) .ovl archive format

Post by Dogmander »

I've provided another sample ovl if needed