mirror of
https://github.com/zeldaret/st
synced 2026-06-18 15:35:30 -04:00
453db24d41
* gcc fixes * document random things in UnkStruct_027e09b8_00 * match func_ov001_020ba670 and rabbit docs * match func_ov026_0211f394 * fix build issues * match func_ov026_0211e3e0 * match func_ov026_02102924 * move structs to header * document train rope thing * MapObject OK and ActorRef stuff * match more actor funcs * fix regressions * fix build issues * more regressions fixes * name keyt grab func * UnkSubStruct19 -> CellAnimObject (based on the only assert string) * fix build issues due to merge * Actor::mUnk_4C -> Actor::mState + related changes * create GetActorPtr template inline for Actor_c4 * ActorUnk_ov000_020a8bb0 -> Actor_Derived1 * actor: add comments about mUnk_50/52 and change type of mAngle
62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include "Game/GameMode.hpp"
|
|
#include "Game/GameModeStartUp.hpp"
|
|
#include "Save/SaveManager.hpp"
|
|
#include "global.h"
|
|
#include "types.h"
|
|
|
|
typedef void (*GameUnkCallback1)(void);
|
|
typedef void (*GameUnkCallback2)(void);
|
|
typedef unk32 (*GameUnkCallback3)(void);
|
|
|
|
class GameModeFileSelect;
|
|
|
|
class UnkStruct_02049a2c_1C {
|
|
public:
|
|
/* 00 (vtable) */
|
|
/* 04 */ unk32 mUnk_04;
|
|
/* 08 */ STRUCT_PAD(0x08, 0xCC);
|
|
/* CC */
|
|
|
|
UnkStruct_02049a2c_1C();
|
|
unk32 func_02013e18(void *param1, unk32 param2);
|
|
|
|
// data_020437d8 vtable
|
|
/* 00 */ virtual ~UnkStruct_02049a2c_1C();
|
|
/* 08 */ virtual void vfunc_08();
|
|
};
|
|
|
|
class Game {
|
|
public:
|
|
/* 00 */ GameModeBase *mpCurrentGameMode;
|
|
/* 04 */ GameModeCreateCallback createCallback;
|
|
/* 08 */ GameUnkCallback1 mUnk_08; // seems related to entering and leaving houses/grottos??
|
|
/* 0C */ unk32 mFrameCounter;
|
|
/* 10 */ SaveSlot *mpSaveSlot;
|
|
/* 14 */ GameUnkCallback2 mUnk_14; // only set for wireless stuff?
|
|
/* 18 */ GameUnkCallback3 mUnk_18; // same as above
|
|
/* 1C */ UnkStruct_02049a2c_1C mUnk_1C;
|
|
/* E8 */
|
|
|
|
Game();
|
|
|
|
void Run();
|
|
void func_02013370(unk32 param1);
|
|
bool TrySetCreateCallback(GameModeCreateCallback createCallback);
|
|
|
|
void func_ov000_020576d0();
|
|
void func_ov000_0205770c();
|
|
|
|
void func_ov018_020c48a4();
|
|
void func_ov018_020c48f8(); // loads overlay 0
|
|
|
|
GameModeFileSelect *GetGameModeFileSelect() {
|
|
return (GameModeFileSelect *) this->mpCurrentGameMode;
|
|
}
|
|
|
|
static GameModeStartUp *func_ov018_020c4ba8();
|
|
};
|
|
|
|
extern Game gGame;
|