Pink Files Format

The Pink Panther games use only two data files.

These are ORB and BRO.

Structure of ORB file header

char name[4]; // ORB

uint16 minorVersion;
uint16 majorVersion;

uint32 timestamp;
uint32 tableOffset;
uint32 tableSize;

After header, we will look at the table. It is located at the end of ORB. It contains descriptions of objects. The names in this table are sorted, so the binary search is used for searching.

struct ObjectDescription {
    char name[16];
    uint32 objectsOffset;
    uint32 objectsCount;
    uint32 resourcesOffset;
    uint32 resourcesCount;
};

Let’s look at resources table. Each object description has offset to the resource descriptions table.

struct ResourceDescription {
    char name[16];
    uint32 offset;
    uint32 size;
    bool inBro;
};

The last field determines where the resource is located.

BRO file contains only resources and it is only used in Passport to Peril. In Hokus Pokus it is empty.

char name[4]; // BRO

uint16 minorVersion;
uint16 majorVersion;

uint32 timestamp;

The timestamps of BRO and ORB must be equal to each other.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s