Skip to content
Jocelyn Beedie edited this page Jun 13, 2020 · 1 revision

Format

struct World {
    uint32_t unknown1;
    uint32_t num_nodes1;
    int32_t nodes1_ids[num_nodes1];
    uint32_t unknown2; // Always 0
    uint32_t num_light_nodes;
    int32_t light_node_ids[num_light_nodes];
    int32_t root_node_id;
    float unk3[6];
    uint32_t num_unknown3_x;
    uint32_t num_unknown3_y;
    uint32_t num_unknown3_a;
    uint32_t num_unknown3_b;
    uint32_t unknown3[num_unknown3_x * num_unknown3_y];
    uint32_t num_interactables;
    Interactable interactables[num_interactables];
    float unk4[6];
    uint32_t num_unknown4_x;
    uint32_t num_unknown4_y;
    uint32_t num_unknown4_a;
    uint32_t num_unknown4_b;
    uint32_t unknown4[num_unknown4_x * num_unknown4_y];
    uint32_t num_unknown5;
    UnknownSection5 unknown5[num_unknown5];
    float unk6[6];
    uint32_t num_unknown6_x;
    uint32_t num_unknown6_y;
    uint32_t num_unknown6_a;
    uint32_t num_unknown6_b;
    uint32_t unknown6[num_unknown6_x * num_unknown6_y];
    uint32_t num_unknown7;
    UnknownSection7 unknown7[num_unknown7];
    uint32_t num_unknown8;
    UnknownSection8 unknown8[num_unknown8];
    uint32_t num_camerazones;
    int32_t camerazone_ids[num_cameras]; // CAMERAZONE references
    uint32_t unknown9; // Always 0
    uint32_t num_occluders;
    int32_t occluder_ids[num_occluders]; // OCCLUDER references
    int32_t warp_id; // WARP reference
    int32_t gameobj_id; // GAMEOBJ reference
}
struct Interactable {
    uint32_t unk[4];
    int32_t node_id; // may be 0
}
struct UnknownSection5 {
    uint32_t unk[5];
}
struct UnknownSection7 {
    uint32_t unk[5];
}
struct UnknownSection8 {
    uint32_t unk1[3];
    int32_t node_id;
    uint32_t unk2;
    // ...
}
Clone this wiki locally