Files
ss/include/s/s_State.hpp
T
robojumper b96e6ee19f Meter madness (#64)
* Meter Madness Part 1

* progress

* maybe

* ::build meters too

* vtables labeling, small order problems

* Moar symbols

* Renames

* some dLytNote_c

* Fixes

* Checkpoint

* ::remove funcs

* Fix includes

* Move code around

* rm dead code

* rm dead include

* Draw functions

* Update include/s/s_State.hpp

* Update include/toBeSorted/scgame.h
2024-10-17 17:58:38 -04:00

35 lines
1.9 KiB
C++

#ifndef S_STATE_H
#define S_STATE_H
#include "s/s_FStateMgr.hpp"
#include "s/s_StateMethodUsr_FI.hpp"
// 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(); \
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_MGR_DECLARE(class_name) \
sFStateMgr_c<class_name, sStateMethodUsr_FI_c> mStateMgr; \
void dummy_GetStateID() { \
mStateMgr.getStateID(); \
}
#define UI_STATE_MGR_DECLARE(class_name) \
sFStateMgr_c<class_name, sStateMethodUsr_FI_c> mStateMgr;
#define STATE_MGR(class_name) \
sFStateMgr_c<class_name, sStateMethodUsr_FI_c>
#endif