====== Gex 3 Levels ====== At ROM offset 0x8013C and RAM address 0x8007F53C is an array of level information structures. // 0x54 bytes in size struct LevelInfo { /* 0x00 */ char* internal_name; /* 0x04 */ s16 level_title_text_id; /* 0x06 */ s16 channel_title_1_text_id; /* 0x08 */ s16 channel_title_2_text_id; /* 0x0C */ s16 tv_channel_img_id; // Used in hub areas. 0x06 = Snow, 0x05 = Mystery, etc. /* 0x0E */ s16 mission_1_text_id; /* 0x10 */ s16 mission_2_text_id; /* 0x12 */ s16 mission_3_text_id; /* 0x14 */ s32 unk_14; /* 0x18 */ s32 unk_18; /* 0x1C */ u32 rom_offset_to_compressed_level_data_start; /* 0x20 */ u32 rom_offset_to_compressed_level_data_end; /* 0x24 */ u32 unk24_rom_offset_to_asm; /* 0x28 */ u32 unk28_rom_offset_to_asm; /* 0x2C */ s32* unk2C_ptr; /* 0x30 */ s32* unk30_ptr; /* 0x34 */ s32 unk_34; /* 0x38 */ u32 unk38_rom_offset; /* 0x3C */ u32 rom_offset_to_channel_ci4_texture; /* 0x40 */ u32 rom_offset_to_N64WaveTables; /* 0x44 */ u32 rom_offset_to_N64PtrTablesV2; /* 0x48 */ u32 unk48_rom_offset; /* 0x4C */ u32 unk4C_rom_offset_to_compressed_data; /* 0x50 */ u32 unk50_rom_offset_to_compressed_data; }