Skip to content

GenWorld_Z

widberg edited this page Jan 22, 2024 · 35 revisions

ImZouna GenWorld_Z

See also: Map

struct Category {
    /// Always 1
    /// Means enabled?
    /// Stored into the category object
    u32 one;
    std::assert(one == 1, "one != 1");
    DynArray_Z<Name_Z> node_name_arrays;
};

struct cA_FlatSurface {
    u32 zero0;
    std::assert(zero0 == 0, "zero0 != 0");
    Mat4f mat;
    f32 a;
    f32 b;
    f32 c;
    f32 reciprocal;
    Vec3f vec;
    f32 unknown1;
    f32 unknown3;
    u32 zero1;
    std::assert(zero1 == 0, "zero1 != 0");
    u32 zero2;
    std::assert(zero2 == 0, "zero2 != 0");
    u32 zero3;
    std::assert(zero3 == 0, "zero3 != 0");
    u32 zero4;
    std::assert(zero4 == 0, "zero4 != 0");
    i32 unknown9;
    std::assert(unknown9 == -1, "unknown9 != -1");
    /// gets clamped to be less than or equal to 6
    u8 unknown4;
    u8 unknown20;
    u8 unknown21;
    u8 unknown22;
    u8 unknown23;
    u8 unknown24;
    u8 unknown2;
};

struct Unused10 {
    u32 unused0;
    u32 unused1s[8];
    u32 unused2;
    u32 unused3;
    u32 unused4;
};

struct RegionEdge {
    u32 region_vertices_index_a;
    u32 region_vertices_index_b;
};

struct Region {
    u8 unknown;
    /// Indices into the region_edges array
    DynArray_Z<u32> region_edges_indices;
};

struct GenWorld_Z : Object_Z {
    std::assert(type == ObjectType::GenWorld_Z, "type != ObjectType::GenWorld_Z");
    Name_Z node_name;
    Name_Z user_define_name;
    Name_Z gw_road_name;
    /// Describe how the world is generated
    /// Type of terrain/grass/stuff
    /// Helipad vertices
    DynArray_Z<Name_Z> binary_names;
    DynArray_Z<Name_Z> bitmap_names;
    DynArray_Z<Name_Z> material_names;
    u32 equals41;
    std::assert(equals41 == 41, "equals41 != 41");
    /// Valid id values:
    ///   * TREES
    ///   * BUSHES
    ///   * ROCKS - Appears in an object but empty and the game ignores it
    Map_Z<PascalStringNULL, Category> categories;
    /// Override terrain generation with a flat area
    /// Used around camps, races, and landmarks
    DynArray_Z<cA_FlatSurface> cA_FlatSurfaces;
    /// Doesn't generate tress, rocks, and stuff in the mat volumes
    /// Used around the bridges at big cauldrons edge to keep trees from poking through them
    /// Same with some areas around the start of races
    /// Roads already cancel object placement so its not necessary if roads are used over that area
    DynArray_Z<Mat4f> cancel_object_placement;
    DynArray_Z<Unused10> unused10s;
    std::assert(unused10s.size == 0, "unused10s.size != 0");
    DynArray_Z<Vec2f> region_vertices;
    DynArray_Z<RegionEdge> region_edges;
    Map_Z<FixedStringNULL<31>, Region> regions;
};
datetime index
"04/12/2007 17:39" 0
"04/12/2007 17:40" 1
"04/12/2007 17:41" 2
"04/12/2007 17:42" 3
"04/12/2007 17:43" 4
"04/12/2007 17:44" 5
"04/12/2007 17:45" 6
"04/12/2007 17:46" 7
"04/12/2007 17:47" 8
"04/12/2007 17:48" 9
"04/12/2007 17:49" 10
"04/12/2007 17:50" 11
"04/12/2007 17:51" 12
"04/12/2007 17:52" 13
"04/12/2007 17:53" 14
"04/12/2007 17:54" 15
"04/12/2007 17:55" 16
"04/12/2007 17:56" 17
"28/07/2008 16:59" 18
"28/07/2008 17:00" 19
"04/12/2007 17:57" 20
"04/12/2007 18:26" 21
"28/07/2008 17:01" 22
"28/07/2008 17:02" 23
"04/12/2007 17:58" 24
"04/12/2007 17:59" 25
"28/07/2008 17:03" 26
"28/07/2008 17:04" 27
"04/12/2007 18:00" 28
"04/12/2007 18:01" 29
"28/07/2008 17:05" 30
"28/07/2008 17:06" 31
"04/12/2007 18:02" 32
"04/12/2007 18:03" 33
"28/07/2008 17:07" 34
"28/07/2008 17:08" 35
"04/12/2007 18:04" 36
"04/12/2007 18:05" 37
"04/12/2007 18:06" 38
"04/12/2007 18:07" 39
"04/12/2007 18:08" 40
"04/12/2007 18:09" 41
"04/12/2007 18:10" 42
"04/12/2007 18:11" 43
"04/12/2007 18:12" 44
"04/12/2007 18:13" 45
"04/12/2007 18:14" 46
"04/12/2007 18:15" 47
"04/12/2007 18:16" 48
"04/12/2007 18:17" 49
"04/12/2007 18:18" 50
"04/12/2007 18:19" 51
"04/12/2007 18:20" 52
"04/12/2007 18:21" 53
"04/12/2007 18:22" 54
"04/12/2007 18:23" 55
"04/12/2007 18:25" 57
"28/07/2008 17:13" 59
"28/07/2008 17:14" 60
"28/07/2008 17:15" 61
"28/07/2008 17:16" 62
"28/07/2008 17:17" 63
"28/07/2008 17:18" 64
"28/07/2008 17:19" 65
"28/07/2008 17:20" 66
"28/07/2008 17:21" 67
"28/07/2008 17:22" 68
"28/07/2008 17:23" 69
"28/07/2008 17:24" 70
"28/07/2008 17:25" 71
"28/07/2008 17:26" 72
"28/07/2008 17:27" 73
"28/07/2008 17:28" 74
"28/07/2008 17:29" 75
"28/07/2008 17:30" 76
"28/07/2008 17:31" 77
"28/07/2008 17:32" 78
"28/07/2008 17:33" 79
"28/07/2008 17:34" 80
"28/07/2008 17:35" 81
"28/07/2008 17:36" 82
"28/07/2008 17:37" 83
"28/07/2008 17:38" 84
"28/07/2008 17:39" 85
"28/07/2008 17:40" 86
"28/07/2008 17:41" 87
"28/07/2008 17:42" 88
"28/07/2008 17:43" 89
"28/07/2008 17:44" 90
"28/07/2008 17:45" 91
"28/07/2008 17:46" 92
"28/07/2008 17:47" 93
"28/07/2008 17:48" 94
"28/07/2008 17:49" 95
"28/07/2008 17:50" 96
"28/07/2008 17:51" 97
"28/07/2008 17:52" 98
"28/07/2008 17:53" 99
"28/07/2008 17:54" 100
"28/07/2008 17:55" 101
"28/07/2008 17:56" 102
"28/07/2008 17:57" 103
"28/07/2008 17:58" 104
"28/07/2008 17:59" 105
"28/07/2008 18:00" 106
"28/07/2008 18:01" 107
"28/07/2008 18:02" 108
"28/07/2008 18:03" 109
"28/07/2008 18:04" 110
"04/12/2007 18:24" 56
"04/12/2007 18:34" 111
"04/12/2007 18:27" 112
"04/12/2007 18:28" 113
"04/12/2007 18:29" 114
"04/12/2007 18:30" 115
"04/12/2007 18:31" 116
"04/12/2007 18:32" 117
"04/12/2007 18:33" 118
"29/08/2008 15:34" 58
"15/10/2008 11:46" 119
"15/10/2008 11:47" 120
"15/10/2008 11:48" 121
"15/10/2008 11:49" 122

Home
FAQ

For FMTK Users and Mod Developers

Read the Docs

For FMTK Developers

Asobo BigFile Format Specification
Asobo Classes
      Animation_Z
      Binary_Z
      Bitmap_Z
      Camera_Z
      CollisionVol_Z
      Fonts_Z
      GameObj_Z
      GenWorld_Z
      GwRoad_Z
      Keyframer*_Z
      Light_Z
      LightData_Z
      Lod_Z
      LodData_Z
      Material_Z
      MaterialAnim_Z
      MaterialObj_Z
      Mesh_Z
      MeshData_Z
      Node_Z
      Omni_Z
      Particles_Z
      ParticlesData_Z
      RotShape_Z
      RotShapeData_Z
      Rtc_Z
      Skel_Z
      Skin_Z
      Sound_Z
      Spline_Z
      SplineGraph_Z
      Surface_Z
      SurfaceDatas_Z
      UserDefine_Z
      Warp_Z
      World_Z
      WorldRef_Z
Asobo File Format Idioms
Asobo CRC32
Asobo LZ Compression
Asobo Arithmetic Coding Compression
Asobo Save Game File Format Specification
Asobo Audio Formats
TotemTech/ToonTech/Zouna/ACE/BSSTech/Opal Timeline
Zouna Modding Resources
Miscellaneous

Clone this wiki locally