retro-data-structures

Construct file definitions for the Retro Studios game engine files


License
MIT
Install
pip install retro-data-structures==0.28.0

Documentation

Retro-data-structures

Construct type definitions for Retro Studios game

Format Prime 1 (Read) Prime 1 (Write) Prime 2 (Read) Prime 2 (Write) Prime 3 (Read) Prime 3 (Write)
PAK βœ“ βœ“ βœ“ βœ“ βœ— βœ—
MLVL βœ“ βœ— βœ“ βœ— βœ“ βœ—
MREA βœ— βœ— βœ“ βœ— [2] βœ— βœ—
MAPA βœ“ βœ— βœ“ βœ— βœ— βœ—
CMDL βœ“ βœ“ βœ“ βœ“ βœ— βœ—
ANCS βœ“ βœ“ βœ“ βœ“ βœ— βœ—
ANIM βœ“ βœ“ βœ“ βœ“ βœ— βœ—
CSKR βœ“ βœ“ βœ“ βœ“ βœ— βœ—
CINF βœ“ βœ“ βœ“ βœ“ βœ— βœ—
PART βœ“ βœ“ βœ“ βœ“ βœ“ [1] βœ“ [1]
HIER - - βœ“ βœ“ - -
STRG βœ“ βœ“ βœ“ βœ“ βœ“ βœ“
SAVW βœ“ βœ“ βœ— βœ— βœ— βœ—
  • [1] All existing files parse, but not checked if exhaustive for what the game supports.
  • [2] Missing re-calculation of how sections are split between blocks.

Example Usage

from retro_data_structures.formats.pak_gc import PAK_GC


def read_file(path):
    with open(path, "rb") as f:
        return f.read()


PAK_GC.build_file({
    'named_resources': [
        {"asset": {"type": 'TXTR', "id": 201335801}, "name": 'TXTR_ElevatorIcon_1'},
        {"asset": {"type": 'TXTR', "id": 239414538}, "name": 'TXTR_ElevatorIcon'},
        {"asset": {"type": 'TXTR', "id": 564256465}, "name": 'TXTR_QuaterCurve'},
        {"asset": {"type": 'TXTR', "id": 568030977}, "name": 'TXTR_SaveStationIcon_1'},
    ],
    'resources': [
        {
            "asset": {"type": 'TXTR', "id": 201335801},
            "compressed": 1,
            "contents": {"value": read_file("ElevatorIcon_1.TXTR")},
        },
        {
            "asset": {"type": 'TXTR', "id": 201335801},
            "compressed": 1,
            "contents": {"value": read_file("ElevatorIcon.TXTR")},
        },
        {
            "asset": {"type": 'TXTR', "id": 201335801},
            "compressed": 1,
            "contents": {"value": read_file("QuaterCurve.TXTR")},
        },
        {
            "asset": {"type": 'TXTR', "id": 201335801},
            "compressed": 1,
            "contents": {"value": read_file("SaveStationIcon_1.TXTR")},
        },
    ]
}, "Game.pak")