added macro for declaring state manager (used for annoying dummy funcs)

This commit is contained in:
elijah-thomas774
2024-06-09 22:47:44 -04:00
parent 5d9ca41e21
commit 70dbbb1cb1
3 changed files with 12 additions and 16 deletions
+1 -6
View File
@@ -23,14 +23,9 @@ public:
STATE_FUNC_DECLARE(dTgRockBoat_c, Wait);
private:
sFStateMgr_c<dTgRockBoat_c, sStateMethodUsr_FI_c> mStateMgr;
STATE_MGR_DECLARE(dTgRockBoat_c);
int cooldown;
int boatNum;
void dummy() {
mStateMgr.getStateID();
}
};
#endif
+1 -4
View File
@@ -30,11 +30,8 @@ private:
bool shouldDoWind();
void doSpawnTumbleweed();
void getWind(mVec3_c *);
void unused() {
mStateMgr.getStateID();
}
sFStateMgr_c<dTgTumbleWeed_c, sStateMethodUsr_FI_c> mStateMgr;
STATE_MGR_DECLARE(dTgTumbleWeed_c);
u16 tumbleweedTimer;
u16 padding;
u16 windTimer;
+10 -6
View File
@@ -7,15 +7,19 @@
// Note: Ported from https://github.com/NSMBW-Community/NSMBW-Decomp/tree/master/include/dol/sLib
// See include/s/README.txt for changes made
#define STATE_FUNC_DECLARE(class, name) void initializeState_##name(); \
#define STATE_FUNC_DECLARE(class, name) \
void initializeState_##name(); \
void executeState_##name(); \
void finalizeState_##name(); \
static sFStateID_c<class> StateID_##name
#define STATE_DEFINE(class, name) sFStateID_c<class> class::StateID_##name( \
#class "::StateID_" #name, \
&class::initializeState_##name, \
&class::executeState_##name, \
&class::finalizeState_##name)
#define STATE_DEFINE(class, name) \
sFStateID_c<class> class ::StateID_##name(#class "::StateID_" #name, &class ::initializeState_##name, \
&class ::executeState_##name, &class ::finalizeState_##name)
#define STATE_MGR_DECLARE(class_name) \
sFStateMgr_c<class_name, sStateMethodUsr_FI_c> mStateMgr; \
void dummy_GetStateID() { \
mStateMgr.getStateID(); \
}
#endif