LibT2FS 0.1
C API for accessing TEngine data in memory.
Loading...
Searching...
No Matches
Target files

These data files have a tree structure, we begin with reading a four byte unsigned int as count, this is the amount of offsets that follow, after those offsets is a last offset aka total node size (u32). These offsets can be offsets to another branch node (offset table) or to a leaf node (data).

struct {
uint32_t count;
uint32_t offsets[count];
uint32_t size;
} Node;

With knowing that we can navigate the tree but the trick is to know whether the offset is an offset to another branch node or to a leaf node.

Node sizes can be calculated by picking the next node offset and subtract the current node offset (sizeOfOffset0 = offsets[1] - offset[0]). Except for the last offset then you need to subtract the current node offset from the read size (lastOffsetSize = size - offset[-1]).

Nodes might be compressed with RNC, this applies to both data (leaf) nodes and branch nodes (but not chained as far as observed).

A common data type is an array which starts with an 8 byte header describing the value size and value count. Some arrays are interleaved while others aren't, they probably did interleave some arrays for better compression ratios.

Different files might have a different tree hierarchy. That's why LibT2FS defines schema files for them, we define our schema files in JSON (which has nothing to do with JSON Schema, it's our own format and for other purpose). But we do have defined a JSON Schema for our schema.

See Schema for current defined schemas.

PC data files

Filename Date Schema SHA256 link
demodata.dat 1997-09-02 CARTDATA.json 600e1a0ec96f81244cdbc6e186267d3785f51fc454a39a3019025fcbaf41364d link
CARTDATA.DAT 1997-09-29 CARTDATA.json 17e638afa1a8689caaa100976d06641d9c770edf73053245d7dee719ad5c9571 link
Cartdata.dat 1997-11-06 CARTDATA.json 69feb318fae294e5d34d15eb942cf53be5520fc12e6aaaee633f000b4129c063 link
demodata.dat 1997-12-19 CARTDATA.json a2f54dff7e5d692283ac9274bbb70cb03a3f7253a3a6ac29fb20f5fffd9e9bb6 link
Seeds of Evil.lss 1999-01-11 Seeds of Evil.json 9ec578cffed6df96e9ff53844932e6d3ff39a43f176792bbf8bcdf209637f8c3 link
Rok Match Levels.lsm 1999-01-15 Seeds of Evil.json 4c22900227b1a387ed527ac6c90f2973bf6bed8a67900154acdb0fa633a8a88e link
CTF Levels.lsm 1999-01-15 Seeds of Evil.json 280d73d942c439d9c247016518b9a6cb75a27a5d13247b493fdeabc216afa327 link
Arena Levels.lsm 1999-01-15 Seeds of Evil.json 6aa792b84e7491219cce218677c0bceb2b9f7057edb329431e94c94963011c15 link
win32.dat 1999-01-18 win32.json 8d5c88dd233cbd88a9a9feebe58784f828841fa2598ca593941fac1f4773d9fe link
Seeds of Evil.lss 1999-02-05 Seeds of Evil.json 845d860af600b0d7a685359aafde0572f6e775c34853ccaaff85f46bce4e47c4 link
Turok2Demo.lss 1999-02-10 Turok2Demo.json 22b1e183396e92b0b5330e6ecaaa474e64ff8cef81ed0f29900d80524d4d36e8 link
Rok Match Demo.lsm 1999-02-10 Seeds of Evil.json 498aa4a06649c5bcd42513f60463efc9537f1666f12c744e9f73a60df187edaa link

N64 data files

ID In-file title LibUltra Date Description Links
0000 00000000000000000000 2.0D 1996 Turok - Dinosaur Hunter [North America E3 Kiosk Demo 1996] [HiddenPalace]
0000 00000000000000000000 2.0G 23-12-1996 Turok - Dinosaur Hunter [Prototype 1996] [HiddenPalace] [TCRF]
NTUP TUROK_DINOSAUR_HUNTE 2.0G Turok - Dinosaur Hunter [Europe Rev 2]
NTUD TUROK_DINOSAUR_HUNTE 2.0G Turok - Dinosaur Hunter [Germany Rev 2]
NTUE TUROK_DINOSAUR_HUNTE 2.0G Turok - Dinosaur Hunter [North America Rev 2]
NTUJ turok_dinosaur_hunte 2.0G Jikuu Senshi Turok [Japan]
NTYP Turok 2: Kiosk 2.0D 02-09-1998 Turok 2 - Seeds of Evil [Europe Kiosk Demo] [HiddenPalace] [TCRF]
NTYP Turok 2: Kiosk 2.0D 02-09-1998 Turok 2 - Seeds of Evil [North America Kiosk Demo] [HiddenPalace] [TCRF]
NT2D Turok 2: Seeds of Ev 2.0D Turok 2 - Seeds of Evil [Germany]
NT2E Turok 2: Seeds of Ev 2.0D Turok 2 - Seeds of Evil [North America Rev 1]
NT2J VIOLENCEKILLER 2.0D Violence Killer - Turok New Generation [Japan]
NT2P Turok 2: Seeds of Ev 2.0D Turok 2 - Seeds of Evil [Europe]
NT2X Turok 2: Seeds of Ev 2.0D Turok 2 - Seeds of Evil [Europe - En, Fr, Es, It]
NDTB South Park 2.0D South Park [Brazil]
NDTD South Park 2.0D South Park [Germany]
NDTE South Park 2.0D South Park [North America]
NDTP South Park 2.0D South Park [Europe - En, Fr, Es]
NRWD Turok: Rage Wars 2.0D Turok - Legenden des Verlorenen Landes [Germany]
NRWE Turok: Rage Wars 2.0D Turok - Rage Wars [North America Rev 1]
NRWP Turok: Rage Wars 2.0D Turok - Rage Wars [Europe]
NRWX Turok: Rage Wars 2.0D Turok - Rage Wars [Europe - En, Fr, It]
NARD Armorines Project S. 2.0D Armorines - Project S.W.A.R.M. [Germany]
NARE Armorines Project S. 2.0D Armorines - Project S.W.A.R.M. [North America]
NARP Armorines Project S. 2.0D Armorines - Project S.W.A.R.M. [Europe]
0000 00000000000000000000 2.0D 31-05-2000 Turok 3 - Shadow of Oblivion [Prototype] [HiddenPalace]
ABCD TUROK3 2.0D 06-06-2000 Turok 3 - Shadow of Oblivion [Prototype] [HiddenPalace]
NSED turok 2.0D 10-07-2000 Turok 3 - Shadow of Oblivion [Prototype] [HiddenPalace]
NSHT turok 2.0D 16-07-2000 Turok 3 - Shadow of Oblivion [Prototype 21:14:12] [HiddenPalace]
NSHT turok 2.0D 16-07-2000 Turok 3 - Shadow of Oblivion [Prototype 22:02:45] [HiddenPalace]
ABCD TUROK3 2.0D 18-07-2000 Turok 3 - Shadow of Oblivion [Europe Prototype] [HiddenPalace]
ABCD turok3 2.0D 18-07-2000 Turok 3 - Shadow of Oblivion [North America Prototype] [HiddenPalace]
NTKE Turok 3: Shadow of O 2.0D Turok 3 - Shadow of Oblivion [USA]
NTKP Turok 3: Shadow of O 2.0D Turok 3 - Shadow of Oblivion [Europe]