// clang-format off #include "s/s_StateID.hpp" #include "common.h" #include "s/s_StateMethodUsr_FI.hpp" #include "s/s_StateInterfaces.hpp" #include "s/s_StateIDChk.hpp" // clang-format on // Note: Ported from https://github.com/NSMBW-Community/NSMBW-Decomp/tree/master/include/dol/sLib // See include/s/README.txt for changes made sStateID_c::NumberMemo_c sStateID_c::sm_numberMemo; const sStateID_c sStateID::null(nullptr); sStateID_c::sStateID_c(const char *name) { mpName = name; mNumber = (name != nullptr) ? sm_numberMemo.get() : 0; } sStateID_c::~sStateID_c() {} bool sStateID_c::isNull() const { return mNumber == 0; } bool sStateID_c::isEqual(const sStateIDIf_c &other) const { return number() == other.number(); } BOOL sStateID_c::operator==(const sStateIDIf_c &other) const { return isEqual(other); } BOOL sStateID_c::operator!=(const sStateIDIf_c &other) const { return !isEqual(other); } bool sStateID_c::isSameName(const char *name) const { // Just return false, the full implementation is in sFStateID_c return false; } const char *sStateID_c::name() const { return mpName; } unsigned int sStateID_c::number() const { return mNumber; } sStateFctIf_c::~sStateFctIf_c() {} sStateIDChkIf_c::~sStateIDChkIf_c() {} sStateIDChk_c::~sStateIDChk_c() {} sStateIDIf_c::~sStateIDIf_c() {} sStateIf_c::~sStateIf_c() {} sStateMethodIf_c::~sStateMethodIf_c() {} sStateMethodUsr_FI_c::~sStateMethodUsr_FI_c() {} sStateMgrIf_c::~sStateMgrIf_c() {}