mirror of
https://github.com/zeldaret/st
synced 2026-06-18 07:25:26 -04:00
5e934a8c9b
* name func_01ffd3d8 and func_01ffd400 * name func_01ffd3b0 * match func_ov024_020cf9d4 + improve the Random struct * UnkStruct_027e0cf8_00_0C_024 45% * match PassengerManager::GetRandomIndex * UnkStruct_027e0cf8_00_0C_024 OK * UnkStruct_027e0cf8_00_0C_024: do other sections * UnkStruct_027e0cf8_08_024 55% * cleanup: remplace delete into null by the delete macro * UnkStruct_027e0cf8_08_024 OK * fix build issues * UnkStruct_ov024_020d86a0_024 OK * PlayerActor_A0_38_024 .text OK, CreditsEndingType OK * tools: create courselist.py to convert .CLB data to yaml * UnkDataStruct4_14 OK * UnkDataStruct4 17% * UnkDataStruct4 OK * MiscAdvManager OK * PassengerManager OK * fix build issues * ZeldaTrainBinary OK * mark PassengerManager as complete and adjust delinks * UnkStruct_027e0cf8_08_00_024 OK * document more of UnkStruct_027e0ce0 * savefile hotfixes * UnkStruct_027e0ce0_34_024 OK * code_020d46b4_024 OK * UnkStruct_027e0d00 & UnkStruct_027e0d00_20 OK * code_020d51dc_024 OK * fix weird formatting * UnkTrainSystem1 OK * fix jp broken match * UnkTrainSystem2 OK * UnkStruct_027e0d08_024 31% * fix build issues * UnkStruct_027e0d08 OK!!! * remove useless parenthesis * ActorUnk_ov000_020a8bb0_EC OK * move ActorUnk_ov000_020a8bb0_EC to MainGame/Actor/ * ActorUnkOBPC OK * add sjiswrap support * solve remaining gaps and fix build issues * reorganise files + counter docs * tools: remove format command execution from defaults
124 lines
4.0 KiB
C++
124 lines
4.0 KiB
C++
#pragma once
|
|
|
|
#include "global.h"
|
|
#include "types.h"
|
|
|
|
enum SaveCourseIndex_ {
|
|
SaveCourseIndex_None = 0xFF,
|
|
SaveCourseIndex_t_area0 = 0x00,
|
|
SaveCourseIndex_t_area1 = 0x01,
|
|
SaveCourseIndex_t_area2 = 0x02,
|
|
SaveCourseIndex_t_area3 = 0x03,
|
|
SaveCourseIndex_t_tutorial = 0x04,
|
|
SaveCourseIndex_t_forest = 0x05,
|
|
SaveCourseIndex_t_smarine = 0x06,
|
|
SaveCourseIndex_t_smount = 0x07,
|
|
SaveCourseIndex_t_smount2 = 0x08,
|
|
SaveCourseIndex_t_smount3 = 0x09,
|
|
SaveCourseIndex_t_eviltrain = 0x0A,
|
|
SaveCourseIndex_d_main = 0x0B,
|
|
SaveCourseIndex_d_main_f = 0x0C,
|
|
SaveCourseIndex_d_main_s = 0x0D,
|
|
SaveCourseIndex_d_main_a = 0x0E,
|
|
SaveCourseIndex_d_main_w = 0x0F,
|
|
SaveCourseIndex_d_tutorial = 0x10,
|
|
SaveCourseIndex_d_forest = 0x11,
|
|
SaveCourseIndex_d_snow = 0x12,
|
|
SaveCourseIndex_d_water = 0x13,
|
|
SaveCourseIndex_d_flame = 0x14,
|
|
SaveCourseIndex_d_sand = 0x15,
|
|
SaveCourseIndex_b_forest = 0x16,
|
|
SaveCourseIndex_b_snow = 0x17,
|
|
SaveCourseIndex_b_water = 0x18,
|
|
SaveCourseIndex_b_flame = 0x19,
|
|
SaveCourseIndex_b_sand = 0x1A,
|
|
SaveCourseIndex_b_deago = 0x1B,
|
|
SaveCourseIndex_b_last1 = 0x1C,
|
|
SaveCourseIndex_b_last2 = 0x1D,
|
|
SaveCourseIndex_b_last22 = 0x1E,
|
|
SaveCourseIndex_b_last23 = 0x1F,
|
|
SaveCourseIndex_f_hyral = 0x20,
|
|
SaveCourseIndex_f_htown = 0x21,
|
|
SaveCourseIndex_f_forest1 = 0x22,
|
|
SaveCourseIndex_f_snow = 0x23,
|
|
SaveCourseIndex_f_water = 0x24,
|
|
SaveCourseIndex_f_flame = 0x25,
|
|
SaveCourseIndex_f_flame5 = 0x26,
|
|
SaveCourseIndex_f_first = 0x27,
|
|
SaveCourseIndex_f_forest2 = 0x28,
|
|
SaveCourseIndex_f_snow2 = 0x29,
|
|
SaveCourseIndex_f_water2 = 0x2A,
|
|
SaveCourseIndex_f_flame2 = 0x2B,
|
|
SaveCourseIndex_f_sand = 0x2C,
|
|
SaveCourseIndex_f_tetsuo = 0x2D,
|
|
SaveCourseIndex_f_bridge = 0x2E,
|
|
SaveCourseIndex_f_bridge2 = 0x2F,
|
|
SaveCourseIndex_f_forest3 = 0x30,
|
|
SaveCourseIndex_f_water3 = 0x31,
|
|
SaveCourseIndex_f_ajito = 0x32,
|
|
SaveCourseIndex_f_ajito2 = 0x33,
|
|
SaveCourseIndex_f_flame3 = 0x34,
|
|
SaveCourseIndex_f_flame4 = 0x35,
|
|
SaveCourseIndex_f_rabbit = 0x36,
|
|
SaveCourseIndex_f_kakushi1 = 0x37,
|
|
SaveCourseIndex_f_kakushi2 = 0x38,
|
|
SaveCourseIndex_f_kakushi3 = 0x39,
|
|
SaveCourseIndex_f_kakushi4 = 0x3A,
|
|
SaveCourseIndex_f_pirate = 0x3B,
|
|
SaveCourseIndex_f_passenger = 0x3C,
|
|
SaveCourseIndex_f_trnnpc = 0x3D,
|
|
SaveCourseIndex_e3_train = 0x3E,
|
|
SaveCourseIndex_e3_dungeon = 0x3F,
|
|
SaveCourseIndex_e3_boss = 0x40,
|
|
SaveCourseIndex_e3_bossm = 0x41,
|
|
SaveCourseIndex_e3_smount = 0x42,
|
|
SaveCourseIndex_Max = 0x60,
|
|
};
|
|
|
|
struct UnkStruct_func_ov000_020702a8 {
|
|
/* 00 */ STRUCT_PAD(0x00, 0x20);
|
|
/* 20 */ unk16 mUnk_20;
|
|
};
|
|
|
|
struct CourseRoomEntry {
|
|
/* 00 */ u8 roomIndex;
|
|
/* 01 */ u8 mapPaintIndex;
|
|
/* 02 */ u8 unk_02;
|
|
/* 03 */ u8 unk_03;
|
|
/* 04 */
|
|
};
|
|
|
|
struct CourseEntry {
|
|
/* 00 */ const char name[16];
|
|
/* 10 */ unk32 unk_10;
|
|
/* 14 */ unk8 numRooms;
|
|
/* 15 */ unk8 unk_15;
|
|
/* 16 */ unk8 titleCardMsgIndex;
|
|
/* 17 */ u8 saveCourseIndex;
|
|
/* 18 */ STRUCT_PAD(0x18, 0x1B);
|
|
/* 1B */ u8 unk_1B;
|
|
/* 1C */ u8 unk_1C;
|
|
/* 1D */ u8 unk_1D;
|
|
/* 1E */ u8 unk_1E;
|
|
/* 1F */ u8 unk_1F;
|
|
/* 20 */ u8 defaultMapPaintIndex;
|
|
/* 24 */ CourseRoomEntry roomEntries[];
|
|
};
|
|
|
|
class UnkStruct_027e09a0 {
|
|
public:
|
|
/* 00 */ CourseEntry **mUnk_00; // elements from courselist.clb
|
|
|
|
UnkStruct_027e09a0();
|
|
~UnkStruct_027e09a0();
|
|
|
|
CourseEntry *GetCourseEntry(u32 sceneIndex);
|
|
UnkStruct_func_ov000_020702a8 *func_ov000_020702a8(unk32 param1);
|
|
unk32 GetRoomEntryIndex();
|
|
CourseRoomEntry *GetRoomEntry(u32 sceneIndex, unk32 param2);
|
|
u32 GetSceneIndexFromName(const char *sceneName);
|
|
bool func_ov000_02070378(u32 param1);
|
|
};
|
|
|
|
extern UnkStruct_027e09a0 *data_027e09a0;
|