Files
st/include/Game/Game.hpp
T
Yanis 453db24d41 Misc Stuff 6 (#78)
* 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
2026-06-17 22:20:45 +02:00

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;