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.
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")