diff --git a/include/d/actor/d_a_itembase.h b/include/d/actor/d_a_itembase.h index 52234c0a7..1f72c50c3 100644 --- a/include/d/actor/d_a_itembase.h +++ b/include/d/actor/d_a_itembase.h @@ -82,7 +82,7 @@ public: /* 0x4C0 */ dCcD_Stts mStts; /* 0x4FC */ dCcD_Cyl mCyl; /* 0x62C */ u32 mShadowId; - /* 0x630 */ s32 mPickupFlag; + /* 0x630 */ s32 mItemBitNo; /* 0x634 */ s32 field_0x634; /* 0x638 */ s16 field_0x638; /* 0x63A */ u8 m_itemNo; diff --git a/include/d/actor/d_a_player_main.h b/include/d/actor/d_a_player_main.h index f7f4c3bdd..d9da6115c 100644 --- a/include/d/actor/d_a_player_main.h +++ b/include/d/actor/d_a_player_main.h @@ -1373,7 +1373,7 @@ public: BOOL checkSubjectEnd(int); BOOL checkGuardAccept(); void cancelNoDamageMode(); - BOOL commonProcInit(daPy_lk_c::daPy_PROC procID); + BOOL commonProcInit(daPy_lk_c::daPy_PROC proc); BOOL procScope_init(int); BOOL procScope(); BOOL procSubjectivity_init(int); @@ -2171,11 +2171,11 @@ public: virtual BOOL checkPlayerGuard() const; virtual fopAc_ac_c* getGrabMissActor(); virtual u32 checkPlayerFly() const { return checkModeFlg(0x10452822); } // TODO add enum - virtual BOOL checkFrontRoll() const { return mCurProcID == PROC_FRONT_ROLL_e; } - virtual BOOL checkBottleSwing() const { return mCurProcID == PROC_BOTTLE_SWING_e; } - virtual BOOL checkCutCharge() const { return mCurProcID == PROC_CUT_TURN_MOVE_e; } + virtual BOOL checkFrontRoll() const { return mCurProc == PROC_FRONT_ROLL_e; } + virtual BOOL checkBottleSwing() const { return mCurProc == PROC_BOTTLE_SWING_e; } + virtual BOOL checkCutCharge() const { return mCurProc == PROC_CUT_TURN_MOVE_e; } virtual BOOL getBokoFlamePos(cXyz*); - virtual BOOL checkTactWait() const { return mCurProcID == PROC_TACT_WAIT_e; } + virtual BOOL checkTactWait() const { return mCurProc == PROC_TACT_WAIT_e; } virtual void setTactZev(unsigned int, int, char*); virtual void onDekuSpReturnFlg(u8 i_point); virtual bool checkComboCutTurn() const; @@ -2319,7 +2319,7 @@ public: /* 0x31CE */ u16 m31CE; /* 0x31D0 */ void* mpTextureScrollResData; /* 0x31D4 */ JKRSolidHeap* mpTextureScrollResHeap; - /* 0x31D8 */ int mCurProcID; + /* 0x31D8 */ int mCurProc; /* 0x31DC */ ProcFunc mCurProcFunc; /* 0x31E8 */ daPy_footEffect_c m31E8[2]; /* 0x3280 */ dPa_rippleEcallBack m3280; diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 325685148..4049b1f7d 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -432,9 +432,9 @@ public: void setSelectItem(int idx, u8 itemNo) { mSelectItem[idx] = itemNo; } void setSelectEquip(int idx, u8 itemNo) { mSelectEquip[idx] = itemNo; } - void setItem(u8 slot, u8 i_itemNo) { - field_0x493d = slot; - field_0x493e = i_itemNo; + void setItem(u8 i_slot, u8 i_itemNo) { + mItemSlot = i_slot; + mItemNo = i_itemNo; } void setAStatus(u8 status) { mCurrButtonBAction = status; } @@ -498,6 +498,9 @@ public: ItemTableList* getItemTable() { return mpItemTable; } void setFmapData(void * pData) { mpFmapData = pData; } + inline void stopFwaterTimer() { mFwaterTimer = 0; } + inline u8 checkFwaterTimer() { return mFwaterTimer; } + /* 0x0000 */ dBgS mBgS; /* 0x1404 */ dCcS mCcS; /* 0x3DF8 */ dADM mADM; @@ -607,8 +610,8 @@ public: /* 0x4937 */ u8 mSelectEquip[4]; /* 0x493B */ u8 mMesgAnime; /* 0x493C */ u8 mMesgAnimeTagInfo; - /* 0x493D */ u8 field_0x493d; - /* 0x493E */ u8 field_0x493e; + /* 0x493D */ u8 mItemSlot; + /* 0x493E */ u8 mItemNo; /* 0x493F */ u8 field_0x493f; /* 0x4940 */ u8 field_0x4940; /* 0x4941 */ u8 field_0x4941; @@ -627,7 +630,7 @@ public: /* 0x4953 */ u8 field_0x4953; /* 0x4954 */ u8 field_0x4954; /* 0x4955 */ u8 field_0x4955; - /* 0x4956 */ u8 field_0x4956; + /* 0x4956 */ u8 mFwaterTimer; /* 0x4957 */ u8 mPlacenameIndex; /* 0x4958 */ u8 mPlacenameState; /* 0x4959 */ u8 field_0x4959; @@ -1546,6 +1549,14 @@ stage_scls_info_class* dComIfGd_getMeshSceneList(Vec& vec); BOOL dComIfGs_checkSeaLandingEvent(s8 i_roomNo); +inline void dComIfGs_stopFwaterTimer() { + g_dComIfG_gameInfo.play.stopFwaterTimer(); +} + +inline u8 dComIfGs_checkFwaterTimer() { + return g_dComIfG_gameInfo.play.checkFwaterTimer(); +} + /** * === PLAY === */ @@ -2782,6 +2793,13 @@ inline void dComIfGp_particle_setSimple(u16 particleID, cXyz* pos, u8 alpha, GXC pParticle->setSimple(particleID, pos, alpha, prmColor, envColor, param_6); } +inline JPABaseEmitter* dComIfGp_particle_setBombSmoke(u16 particleID, const cXyz* pos, + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF) { + dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); + return pParticle->setBombSmoke(particleID, pos, angle, scale, alpha); +} + inline void dComIfGp_particle_calc3D() { g_dComIfG_gameInfo.play.getParticle()->calc3D(); } diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 56c0b3388..e08e0d512 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -325,13 +325,24 @@ inline BOOL fopAcM_isItem(fopAc_ac_c* item, int bitNo) { inline BOOL dComIfGs_isSaveSwitch(int i_stageNo, int i_no); inline BOOL fopAcM_isItemForIb(int itemBitNo, u8 itemNo, s8 roomNo) { - if (itemNo == BLUE_JELLY) { // Blue Chu Jelly uses itemBitNo as if it was a switch. + if (itemNo == BLUE_JELLY) { + // Blue Chu Jelly uses itemBitNo as if it was a switch in stageNo 0xE. return dComIfGs_isSaveSwitch(0xE, itemBitNo); } else { return dComIfGs_isItem(itemBitNo, roomNo); } } +inline void dComIfGs_onSaveSwitch(int i_stageNo, int i_no); +inline void fopAcM_onItemForIb(int itemBitNo, u8 itemNo, s8 roomNo) { + if (itemNo == BLUE_JELLY) { + // Blue Chu Jelly uses itemBitNo as if it was a switch in stageNo 0xE. + dComIfGs_onSaveSwitch(0xE, itemBitNo); + } else { + dComIfGs_onItem(itemBitNo, roomNo); + } +} + inline f32 fopAcM_searchActorDistanceY(fopAc_ac_c* actorA, fopAc_ac_c* actorB) { return actorB->current.pos.y - actorA->current.pos.y; } diff --git a/src/d/actor/d_a_agbsw0.cpp b/src/d/actor/d_a_agbsw0.cpp index 9d46b787c..e009c3e99 100644 --- a/src/d/actor/d_a_agbsw0.cpp +++ b/src/d/actor/d_a_agbsw0.cpp @@ -1105,7 +1105,7 @@ BOOL daAgbsw0_c::ExeSubT() { mTimer = 30; } else { - g_dComIfG_gameInfo.play.mCcS.Set(&mCyl); + dComIfG_Ccsp()->Set(&mCyl); } } } diff --git a/src/d/actor/d_a_am.cpp b/src/d/actor/d_a_am.cpp index eb3afc44a..418675861 100644 --- a/src/d/actor/d_a_am.cpp +++ b/src/d/actor/d_a_am.cpp @@ -1235,7 +1235,7 @@ static s32 daAM_Create(fopAc_ac_c* i_actor) { i_this->mMaxHealth = 10; i_this->mHealth = 10; - i_this->mCullMtx = i_this->mpMorf->mpModel->getBaseTRMtx(); + fopAcM_SetMtx(i_this, i_this->mpMorf->mpModel->getBaseTRMtx()); fopAcM_setCullSizeBox(i_this, -100.0f, -10.0f, -80.0f, 120.0f, 400.0f, 100.0f); i_this->mAttentionInfo.mFlags = 0; diff --git a/src/d/actor/d_a_am2.cpp b/src/d/actor/d_a_am2.cpp index 390d52a6f..e4a69cb91 100644 --- a/src/d/actor/d_a_am2.cpp +++ b/src/d/actor/d_a_am2.cpp @@ -1341,7 +1341,7 @@ static s32 daAM2_Create(fopAc_ac_c* i_actor) { i_this->mItemStealLeft = 3; i_this->model = i_this->mpMorf->getModel(); - i_this->mCullMtx = i_this->mpMorf->mpModel->getBaseTRMtx(); + fopAcM_SetMtx(i_this, i_this->mpMorf->mpModel->getBaseTRMtx()); fopAcM_setCullSizeBox(i_this, -50.0f, 0.0f, -20.0f, 60.0f, 180.0f, 60.0f); i_this->mAttentionInfo.mFlags = 0; diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index e0d12e0d0..79aedc098 100644 --- a/src/d/actor/d_a_arrow.cpp +++ b/src/d/actor/d_a_arrow.cpp @@ -1063,7 +1063,7 @@ BOOL daArrow_c::createInit() { mCurrProcFunc = &daArrow_c::procWait; setKeepMatrix(); - mCullMtx = mpModel->getBaseTRMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); mCull.mBox.mMin.x = -6.0f; mCull.mBox.mMin.y = -6.0f; mCull.mBox.mMin.z = 0.0f; diff --git a/src/d/actor/d_a_bomb.cpp b/src/d/actor/d_a_bomb.cpp index caefe92e1..d71f2beaf 100644 --- a/src/d/actor/d_a_bomb.cpp +++ b/src/d/actor/d_a_bomb.cpp @@ -617,7 +617,7 @@ void daBomb_c::makeFireEffect(cXyz& pos, csXyz& rotation) { rotation.x = rotation.x + 0x4000; rotation.z = rotation.z; - g_dComIfG_gameInfo.play.getParticle()->setBombSmoke(0x200A, &pos, &rotation, &scale, 0xFF); + dComIfGp_particle_setBombSmoke(0x200A, &pos, &rotation, &scale); dComIfGp_getVibration().StartShock(7, -0x21, cXyz(0.0f, 1.0f, 0.0f)); } @@ -663,8 +663,8 @@ void daBomb_c::setFuseEffect() { void daBomb_c::eff_explode_normal(const csXyz* rotation) { dComIfGp_particle_setP1(0xB, ¤t.pos, rotation, &mScale, 0xFF, 0, -1, 0, 0, 0); - g_dComIfG_gameInfo.play.getParticle()->setBombSmoke(0x2009, ¤t.pos, 0, &mScale, 0xFF); - g_dComIfG_gameInfo.play.getParticle()->setBombSmoke(0x200A, ¤t.pos, 0, &mScale, 0xFF); + dComIfGp_particle_setBombSmoke(0x2009, ¤t.pos, 0, &mScale); + dComIfGp_particle_setBombSmoke(0x200A, ¤t.pos, 0, &mScale); dComIfGp_particle_setToonP1(0x2008, ¤t.pos, 0, &mScale, 0xFF, 0, -1, 0, 0, 0); } @@ -676,8 +676,8 @@ void daBomb_c::eff_explode_cheap(const csXyz* rotation) { emitter->setGlobalParticleScale(vec); } - g_dComIfG_gameInfo.play.getParticle()->setBombSmoke(0x232A, ¤t.pos, 0, &mScale, 0xFF); - emitter = g_dComIfG_gameInfo.play.getParticle()->setBombSmoke(0x200A, ¤t.pos, 0, &mScale, 0xFF); + dComIfGp_particle_setBombSmoke(0x232A, ¤t.pos, 0, &mScale); + emitter = dComIfGp_particle_setBombSmoke(0x200A, ¤t.pos, 0, &mScale); if(emitter) { emitter->mLifeTime = 0x46; } @@ -1220,7 +1220,7 @@ void daBomb_c::create_init() { field_0x560 = 0; mbWaterIn = 0; field_0x562 = 0; - mCullMtx = mpModel->getBaseTRMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); mStts.Init(200, 0xFF, this); mSph.Set(l_sph_src); diff --git a/src/d/actor/d_a_bomb2.cpp b/src/d/actor/d_a_bomb2.cpp index 0d33b15b1..b26d29a6c 100644 --- a/src/d/actor/d_a_bomb2.cpp +++ b/src/d/actor/d_a_bomb2.cpp @@ -580,8 +580,8 @@ namespace daBomb2 { void Act_c::eff_explode_normal(const csXyz* rotation) { dComIfGp_particle_setP1(0xB, ¤t.pos, rotation, &mScale, 0xFF, 0, -1, 0, 0, 0); - g_dComIfG_gameInfo.play.getParticle()->setBombSmoke(0x2009, ¤t.pos, 0, &mScale, 0xFF); - g_dComIfG_gameInfo.play.getParticle()->setBombSmoke(0x200A, ¤t.pos, 0, &mScale, 0xFF); + dComIfGp_particle_setBombSmoke(0x2009, ¤t.pos, 0, &mScale, 0xFF); + dComIfGp_particle_setBombSmoke(0x200A, ¤t.pos, 0, &mScale, 0xFF); dComIfGp_particle_setToonP1(0x2008, ¤t.pos, 0, &mScale, 0xFF, 0, -1, 0, 0, 0); } diff --git a/src/d/actor/d_a_branch.cpp b/src/d/actor/d_a_branch.cpp index 7401e6e17..f6e8f9010 100644 --- a/src/d/actor/d_a_branch.cpp +++ b/src/d/actor/d_a_branch.cpp @@ -191,7 +191,7 @@ static s32 daBranch_Create(fopAc_ac_c* i_this) { state = cPhs_ERROR_e; } else { - branch->mCullMtx = branch->mModel[0]->mBaseTransformMtx; + fopAcM_SetMtx(i_this, branch->mModel[0]->getBaseTRMtx()); fopAcM_setCullSizeBox(i_this, 0.0f, 0.0f, -50.0f, 300.0f, 100.0f, 50.0f); branch->m02B8 = 6; diff --git a/src/d/actor/d_a_item.cpp b/src/d/actor/d_a_item.cpp index 27692e759..26456557a 100644 --- a/src/d/actor/d_a_item.cpp +++ b/src/d/actor/d_a_item.cpp @@ -137,7 +137,7 @@ void daItem_c::CreateInit() { mAcch.Set(¤t.pos, &next.pos, this, 1, &mAcchCir, &fopAcM_GetSpeed_p(this)); mAcch.m_flags &= ~0x400; mAcch.m_flags &= ~0x8; - mCullMtx = mpModel->mBaseTransformMtx; + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); mStts.Init(0, 0xFF, this); mCyl.Set(m_cyl_src); mCyl.SetStts(&mStts); @@ -225,10 +225,10 @@ s32 daItem_c::_daItem_create() { return cPhs_ERROR_e; } - mPickupFlag = daItem_prm::getItemBitNo(this); - if (m_itemNo != BLUE_JELLY) { // Blue Chu Jelly uses mPickupFlag as if it was a switch. - mPickupFlag &= 0x7F; - if (fopAcM_isItem(this, mPickupFlag) && mPickupFlag != 0x7F) { + mItemBitNo = daItem_prm::getItemBitNo(this); + if (m_itemNo != BLUE_JELLY) { // Blue Chu Jelly uses mItemBitNo as if it was a switch. + mItemBitNo &= 0x7F; + if (fopAcM_isItem(this, mItemBitNo) && mItemBitNo != 0x7F) { // Already picked up, don't create the item again. setLoadError(); return cPhs_ERROR_e; @@ -759,15 +759,7 @@ void daItem_c::itemGetExecute() { break; } - u8 roomNo = current.roomNo; - s32 flag = mPickupFlag; - if (m_itemNo == BLUE_JELLY) { - // Blue Chu Jelly uses mPickupFlag as if it was a switch. - // Specifically a switch in stageNo 0xE, which is not used for anything else. - dComIfGs_onSaveSwitch(0xE, flag); - } else { - dComIfGs_onItem(flag, (s8)roomNo); - } + fopAcM_onItemForIb(mItemBitNo, m_itemNo, current.roomNo); clrFlag(0x04); @@ -800,7 +792,7 @@ BOOL daItem_c::checkItemDisappear() { if (dItem_data::chkFlag(m_itemNo, 0x01)) { disappearing = FALSE; } - if (g_dComIfG_gameInfo.play.mEvtCtrl.mMode != 0) { + if (dComIfGp_event_runCheck()) { disappearing = FALSE; } if (mItemStatus == 4) { diff --git a/src/d/actor/d_a_mbdoor.cpp b/src/d/actor/d_a_mbdoor.cpp index 6e03dcde6..6bff6f36c 100644 --- a/src/d/actor/d_a_mbdoor.cpp +++ b/src/d/actor/d_a_mbdoor.cpp @@ -233,7 +233,7 @@ BOOL daMbdoor_c::CreateInit() { mAttentionInfo.mFlags = fopAc_Attn_ACTION_DOOR_e; calcMtx(); mpBgW->Move(); - mStatus = mStatus & ~0x3F | 0x2B; + fopAcM_SetStatusMap(this, 0xB); return TRUE; } diff --git a/src/d/actor/d_a_mozo.cpp b/src/d/actor/d_a_mozo.cpp index cc10d3715..4fe9ce6c7 100644 --- a/src/d/actor/d_a_mozo.cpp +++ b/src/d/actor/d_a_mozo.cpp @@ -168,7 +168,7 @@ s32 daMozo_c::CreateInit() { mQuatRotation = ZeroQuat; fopAcM_setCullSizeBox(this, -1000.f, -1000.f, -1000.f, 1000.0f, 1000.0f, 1000.0f); - mCullMtx = mAnimMorf->getModel()->getBaseTRMtx(); + fopAcM_SetMtx(this, mAnimMorf->getModel()->getBaseTRMtx()); // TODO: Insert missing code here diff --git a/src/d/actor/d_a_nh.cpp b/src/d/actor/d_a_nh.cpp index 924114a58..5021f2e3d 100644 --- a/src/d/actor/d_a_nh.cpp +++ b/src/d/actor/d_a_nh.cpp @@ -132,7 +132,7 @@ s32 daNh_c::create() { return cPhs_ERROR_e; } - mCullMtx = mpModel->getBaseTRMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); if (l_HIO.mChildID < 0) { l_HIO.mChildID = mDoHIO_root.mDoHIO_createChild("森のほたる", &l_HIO); diff --git a/src/d/actor/d_a_npc_kamome.cpp b/src/d/actor/d_a_npc_kamome.cpp index 11fd08839..b509ef01c 100644 --- a/src/d/actor/d_a_npc_kamome.cpp +++ b/src/d/actor/d_a_npc_kamome.cpp @@ -292,7 +292,7 @@ s32 daNpc_kam_c::create() { return cPhs_ERROR_e; } - mCullMtx = mpMorf->getModel()->getBaseTRMtx(); + fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx()); if (l_HIO.mChildID < 0) { l_HIO.mChildID = mDoHIO_root.mDoHIO_createChild("かもめ", &l_HIO); diff --git a/src/d/actor/d_a_obj_mknjd.cpp b/src/d/actor/d_a_obj_mknjd.cpp index 39c14e49c..1ac45a44b 100644 --- a/src/d/actor/d_a_obj_mknjd.cpp +++ b/src/d/actor/d_a_obj_mknjd.cpp @@ -232,9 +232,9 @@ int daObjMknjD::Act_c::CreateHeap() { /* 00000620-000008E8 .text Create__Q210daObjMknjD5Act_cFv */ int daObjMknjD::Act_c::Create() { - mCullMtx = mMainMdl->getBaseTRMtx(); + fopAcM_SetMtx(this, mMainMdl->getBaseTRMtx()); init_mtx(); - mCullMtx = mBreakMdl->getBaseTRMtx(); + fopAcM_SetMtx(this, mBreakMdl->getBaseTRMtx()); init_mtx(); fopAcM_setCullSizeBox(this, -400.0f, -1.0f, -400.0f, 400.0f, 405.0f, 400.0f); @@ -482,7 +482,7 @@ void daObjMknjD::Act_c::privateCut() { if (mpBgW != NULL) { if (mpBgW->ChkUsed()) { - g_dComIfG_gameInfo.play.mBgS.Release(mpBgW); + dComIfG_Bgsp()->Release(mpBgW); } } diff --git a/src/d/actor/d_a_obj_paper.cpp b/src/d/actor/d_a_obj_paper.cpp index 4981b1e41..faf418ace 100644 --- a/src/d/actor/d_a_obj_paper.cpp +++ b/src/d/actor/d_a_obj_paper.cpp @@ -123,8 +123,8 @@ namespace daObjPaper { mMsgId = fpcM_ERROR_PROCESS_ID_e; - if (mType == 2) { - mStatus = mStatus & 0xFFFFFFC0 | 0x38; + if (mType == Piwa_e) { + fopAcM_SetStatusMap(this, 0x18); } if (attr(mType).mColCylinderRadius != 0) { @@ -162,7 +162,7 @@ namespace daObjPaper { /* 00000730-00000748 .text mode_wait_init__Q210daObjPaper5Act_cFv */ void daObjPaper::Act_c::mode_wait_init() { - mStatus |= fopAcStts_NOCULLEXEC_e; + fopAcM_OnStatus(this, fopAcStts_NOCULLEXEC_e); mMode = ActMode_WAIT_e; } @@ -178,7 +178,7 @@ namespace daObjPaper { /* 00000784-000007A4 .text mode_talk0_init__Q210daObjPaper5Act_cFv */ void daObjPaper::Act_c::mode_talk0_init() { - mStatus &= ~fopAcStts_NOCULLEXEC_e; + fopAcM_OffStatus(this, fopAcStts_NOCULLEXEC_e); mMsgId = fpcM_ERROR_PROCESS_ID_e; mMode = ActMode_TALKBEGIN_e; } @@ -271,7 +271,7 @@ namespace daObjPaper { set_mtx(); if (mbHasCc) { mCylinderCol.SetC(current.pos); - g_dComIfG_gameInfo.play.mCcS.Set(&mCylinderCol); + dComIfG_Ccsp()->Set(&mCylinderCol); } return true; diff --git a/src/d/actor/d_a_obj_pbka.cpp b/src/d/actor/d_a_obj_pbka.cpp index 654108748..909067c8e 100644 --- a/src/d/actor/d_a_obj_pbka.cpp +++ b/src/d/actor/d_a_obj_pbka.cpp @@ -8,8 +8,7 @@ #include "m_Do/m_Do_mtx.h" #include "d/d_procname.h" -BOOL daObjPbka_c::_draw() -{ +BOOL daObjPbka_c::_draw() { dKy_tevstr_c * pTevStr; g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, pTevStr = &mTevStr); g_env_light.setLightTevColorType(mpModel, pTevStr); @@ -36,8 +35,8 @@ BOOL daObjPbka_c::CreateHeap() { } void daObjPbka_c::CreateInit() { - mCullMtx = mpModel->getBaseTRMtx(); - fopAcM_setCullSizeBox(this,-300.0,-300.0,-300.0,300.0,300.0,300.0); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); mCullSizeFar = 1.0f; set_mtx(); } diff --git a/src/d/actor/d_a_obj_toripost.cpp b/src/d/actor/d_a_obj_toripost.cpp index fd0fbf45c..517979a19 100644 --- a/src/d/actor/d_a_obj_toripost.cpp +++ b/src/d/actor/d_a_obj_toripost.cpp @@ -917,7 +917,7 @@ void daObjTpost_c::createInit() { setMtx(); mMorf->calc(); - mCullMtx = mMorf->getModel()->getBaseTRMtx(); + fopAcM_SetMtx(this, mMorf->getModel()->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -50.0f, 0.0f, -50.0f, 70.0f, 200.0f, 70.0f); mCullSizeFar = 10.0f; diff --git a/src/d/actor/d_a_player_food.inc b/src/d/actor/d_a_player_food.inc index c89659b7c..7cc56bd78 100644 --- a/src/d/actor/d_a_player_food.inc +++ b/src/d/actor/d_a_player_food.inc @@ -30,7 +30,7 @@ void daPy_lk_c::setHyoiModel() { /* 801543A0-801546F4 .text procFoodThrow_init__9daPy_lk_cFv */ BOOL daPy_lk_c::procFoodThrow_init() { - if (mCurProcID == PROC_FOOD_THROW_e) { + if (mCurProc == PROC_FOOD_THROW_e) { return TRUE; } if (m3630 != -1) { @@ -149,7 +149,7 @@ BOOL daPy_lk_c::procFoodThrow() { /* 80154880-80154A48 .text procFoodSet_init__9daPy_lk_cFv */ BOOL daPy_lk_c::procFoodSet_init() { - if (mCurProcID == PROC_FOOD_SET_e) { + if (mCurProc == PROC_FOOD_SET_e) { if (mDemo.getParam0() == 1) { if (mHeldItemType == ANIMAL_ESA) { u8 btnIdx = dComIfGp_event_getTalkXYBtn(); diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index e79203d80..ed90be616 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -3324,23 +3324,23 @@ void daPy_lk_c::cancelNoDamageMode() { } /* 80112348-80112954 .text commonProcInit__9daPy_lk_cFQ29daPy_lk_c9daPy_PROC */ -BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) { - ProcInitTableEntry& procInit = mProcInitTable[procID]; +BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC proc) { + ProcInitTableEntry& procInit = mProcInitTable[proc]; s32 temp_r29; BOOL resetDemoAnime = FALSE; s32 temp_r28; - if (mCurProcID == PROC_SLIP_e) { + if (mCurProc == PROC_SLIP_e) { mDoAud_seStop(JA_SE_LK_RUN_SLIP, 0); - } else if (mCurProcID == PROC_GRAB_MISS_e || (mCurProcID == PROC_GRAB_READY_e && procID != PROC_GRAB_MISS_e)) { + } else if (mCurProc == PROC_GRAB_MISS_e || (mCurProc == PROC_GRAB_READY_e && proc != PROC_GRAB_MISS_e)) { mActorKeepRope.clearData(); - } else if (mCurProcID == DPROC_TALISMAN_WAIT_e) { + } else if (mCurProc == DPROC_TALISMAN_WAIT_e) { seStartOnlyReverb(JA_SE_LK_ITEM_TAKEOUT); mpHeldItemModel = NULL; - } else if (mCurProcID == PROC_FAN_SWING_e) { + } else if (mCurProc == PROC_FAN_SWING_e) { setSmallFanModel(); - } else if (mCurProcID == PROC_FAN_GLIDE_e) { + } else if (mCurProc == PROC_FAN_GLIDE_e) { deleteEquipItem(0); mMaxFallSpeed = daPy_HIO_autoJump_c0::m.field_0x10; setSmallFanModel(); @@ -3349,28 +3349,28 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) { m3730 = cXyz::Zero; m34E0 = 0; m34E4 = 0; - } else if (mCurProcID == PROC_SLOW_FALL_e) { + } else if (mCurProc == PROC_SLOW_FALL_e) { mMaxFallSpeed = daPy_HIO_autoJump_c0::m.field_0x10; - } else if (mCurProcID == DPROC_TOOL_e) { + } else if (mCurProc == DPROC_TOOL_e) { resetDemoAnime = TRUE; speed.y = 0.0f; - } else if (mCurProcID == DPROC_GET_ITEM_e || mCurProcID == DPROC_GET_DANCE_e) { + } else if (mCurProc == DPROC_GET_ITEM_e || mCurProc == DPROC_GET_DANCE_e) { dKy_Itemgetcol_chg_off(); - if (mCurProcID == DPROC_GET_ITEM_e && m34D8 != 0) { + if (mCurProc == DPROC_GET_ITEM_e && m34D8 != 0) { m34C2 = 0xB; } - } else if (mCurProcID == DPROC_PRESENT_e || mCurProcID == PROC_NOT_USE_e) { + } else if (mCurProc == DPROC_PRESENT_e || mCurProc == PROC_NOT_USE_e) { daItemBase_c* item = (daItemBase_c*)fopAcM_getItemEventPartner(this); if (item && (fopAcM_GetName(item) == PROC_ITEM || fopAcM_GetName(item) == PROC_Demo_Item)) { item->dead(); } - } else if (mCurProcID == DPROC_LETTER_READ_e) { + } else if (mCurProc == DPROC_LETTER_READ_e) { deleteEquipItem(0); - } else if (mCurProcID == PROC_CUT_ROLL_END_e) { + } else if (mCurProc == PROC_CUT_ROLL_END_e) { if (m33A8.getEmitter()) { m33A8.getEmitter()->setGlobalAlpha(0); } - } else if (mCurProcID == PROC_SHIP_BOW_e) { + } else if (mCurProc == PROC_SHIP_BOW_e) { deleteArrow(); } @@ -3384,7 +3384,7 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) { temp_r29 = (checkModeFlg(0x2) >> 1) ^ 1; - mCurProcID = procID; + mCurProc = proc; mCurProcFunc = procInit.mProcFunc; m3598 = 0.0f; mModeFlg = procInit.mProcFlags; @@ -3443,7 +3443,7 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) { m35F4 = m3688.y; } - if (mCurProcID != PROC_SWIM_MOVE_e) { + if (mCurProc != PROC_SWIM_MOVE_e) { mSwimTailEcallBack[0].onEnd(); mSwimTailEcallBack[1].onEnd(); } @@ -3480,7 +3480,7 @@ BOOL daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) { m35E8 = 0.0f; - if (!checkModeFlg(0x800) && mCurProcID != PROC_ROPE_SUBJECT_e && mCurProcID != PROC_ROPE_MOVE_e) { + if (!checkModeFlg(0x800) && mCurProc != PROC_ROPE_SUBJECT_e && mCurProc != PROC_ROPE_MOVE_e) { freeRopeItem(); } if (!checkModeFlg(0x200)) { @@ -3779,7 +3779,7 @@ BOOL daPy_lk_c::procBackJumpLand() { /* 80115E88-80115EA4 .text checkAutoJumpFlying__9daPy_lk_cCFv */ int daPy_lk_c::checkAutoJumpFlying() const { - return mCurProcID != PROC_AUTO_JUMP_e ? -1 : m34D0; + return mCurProc != PROC_AUTO_JUMP_e ? -1 : m34D0; } /* 80115EA4-8011602C .text procAutoJump_init__9daPy_lk_cFv */ @@ -4114,11 +4114,11 @@ void daPy_lk_c::setBgCheckParam() { mAcchCir[1].SetWallH(89.9f); mAcchCir[2].SetWallH(125.0f); - if (mCurProcID == PROC_ROPE_SWING_START_e) { + if (mCurProc == PROC_ROPE_SWING_START_e) { mAcchCir[0].SetWallH(-125.0f); mAcchCir[1].SetWallH(-89.9f); mAcchCir[2].SetWallH(0.0f); - } else if (mCurProcID == PROC_LARGE_DAMAGE_WALL_e || checkModeFlg(0x410000)) { + } else if (mCurProc == PROC_LARGE_DAMAGE_WALL_e || checkModeFlg(0x410000)) { mAcchCir[0].SetWallR(5.0f); } else if (checkModeFlg(0x200000)) { mAcchCir[0].SetWallR(40.0f); @@ -4132,7 +4132,7 @@ void daPy_lk_c::setBgCheckParam() { mAcchCir[0].SetWallH(-5.0f); mAcchCir[1].SetWallH(0.0f); mAcchCir[2].SetWallH(20.0f); - } else if (checkModeFlg(0x1000000) && mCurProcID != PROC_CRAWL_END_e) { + } else if (checkModeFlg(0x1000000) && mCurProc != PROC_CRAWL_END_e) { mAcchCir[0].SetWallR(30.0f); mAcchCir[0].SetWallH(10.0f); mAcchCir[1].SetWallH(50.0f); @@ -4228,7 +4228,7 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int eventInfoIdx, f32 param_3, int return TRUE; } - if (checkNoResetFlg0(daPyFlg0_DEKU_SP_RETURN_FLG) && mCurProcID != DPROC_DEAD_e) { + if (checkNoResetFlg0(daPyFlg0_DEKU_SP_RETURN_FLG) && mCurProc != DPROC_DEAD_e) { i_point = mDekuSpRestartPoint; } else { i_point = mRestartPoint; @@ -4268,7 +4268,7 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int eventInfoIdx, f32 param_3, int dStage_changeScene(scls_idx, 0.0f, param_1, -1); } else { - if (mCurProcID == DPROC_DEAD_e) { + if (mCurProc == DPROC_DEAD_e) { dStage_changeScene(0, 0.0f, param_1, -1); } else { int roomNo = dComIfGs_getRestartRoomNo(); @@ -4284,7 +4284,7 @@ BOOL daPy_lk_c::startRestartRoom(u32 param_1, int eventInfoIdx, f32 param_3, int dComIfGp_setNextStage(dComIfGp_getStartStageName(), i_point, current.roomNo, -1, 0.0f, param_1); } - if (mCurProcID != DPROC_DEAD_e) { + if (mCurProc != DPROC_DEAD_e) { u32 roomParam = setParamData(-1, 0, eventInfoIdx, 0); dComIfGs_setRestartRoomParam(roomParam); mDoAud_seStart(JA_SE_FORCE_BACK); diff --git a/src/d/actor/d_a_race_item.cpp b/src/d/actor/d_a_race_item.cpp index 6d14cd59a..1d12c76e9 100644 --- a/src/d/actor/d_a_race_item.cpp +++ b/src/d/actor/d_a_race_item.cpp @@ -56,9 +56,9 @@ s32 daRaceItem_c::create() { fopAcM_SetupActor(this, daRaceItem_c); m_itemNo = fopAcM_GetParam(this) & 0xFF; - mPickupFlag = fopAcM_GetParam(this) >> 8 & 0x7F; + mItemBitNo = fopAcM_GetParam(this) >> 8 & 0x7F; - if(fopAcM_isItem(this, mPickupFlag) && mPickupFlag != 0x7F) { + if(fopAcM_isItem(this, mItemBitNo) && mItemBitNo != 0x7F) { setLoadError(); return cPhs_ERROR_e; } diff --git a/src/d/actor/d_a_shop_item.cpp b/src/d/actor/d_a_shop_item.cpp index b62c3c1d8..0ae949ad5 100644 --- a/src/d/actor/d_a_shop_item.cpp +++ b/src/d/actor/d_a_shop_item.cpp @@ -73,7 +73,7 @@ s16 daShopItem_c::getShopBmdIdx() { } void daShopItem_c::CreateInit() { - mCullMtx = field_0x64C; + fopAcM_SetMtx(this, field_0x64C); fopAcM_setCullSizeBox(this, -100.0f, 0.0f, -100.0f, 100.0f, 200.0f, 100.0f); if(mDoLib_clipper::mSystemFar > 1.0f) { mCullSizeFar = 5000.0f / mDoLib_clipper::mSystemFar; diff --git a/src/d/actor/d_a_swhit0.cpp b/src/d/actor/d_a_swhit0.cpp index 2d6a6878c..0b25d317c 100644 --- a/src/d/actor/d_a_swhit0.cpp +++ b/src/d/actor/d_a_swhit0.cpp @@ -442,10 +442,10 @@ static s32 daSwhit0_Execute(daSwhit0_c* i_swhit) { } if (i_swhit->checkFlag(0x02)) { - g_dComIfG_gameInfo.play.mCcS.Set(&i_swhit->mColCyl); + dComIfG_Ccsp()->Set(&i_swhit->mColCyl); } - g_dComIfG_gameInfo.play.mCcS.Set(&i_swhit->mColSph); + dComIfG_Ccsp()->Set(&i_swhit->mColSph); return TRUE; } diff --git a/src/d/actor/d_a_tbox.cpp b/src/d/actor/d_a_tbox.cpp index 05343a31d..6328a2d76 100644 --- a/src/d/actor/d_a_tbox.cpp +++ b/src/d/actor/d_a_tbox.cpp @@ -388,7 +388,7 @@ daTbox_c::modelInfo& daTbox_c::getModelInfo() { /* 00000D78-00000DD0 .text clrDzb__8daTbox_cFv */ void daTbox_c::clrDzb() { if (mpBgWCurrent != NULL) { - g_dComIfG_gameInfo.play.mBgS.Release(mpBgWCurrent); + dComIfG_Bgsp()->Release(mpBgWCurrent); mpBgWCurrent = NULL; mColCyl.OffCoSetBit(); @@ -411,7 +411,7 @@ void daTbox_c::setDzb() { } } - bool rt = g_dComIfG_gameInfo.play.mBgS.Regist(mpBgWCurrent, this); + bool rt = dComIfG_Bgsp()->Regist(mpBgWCurrent, this); JUT_ASSERT(0x234, !rt); mpBgWCurrent->mRoomNo = mRoomNo; @@ -953,7 +953,7 @@ void daTbox_c::setCollision() { mColCyl.SetR(40.0f); mColCyl.SetH(110.f); - g_dComIfG_gameInfo.play.mCcS.Set(&mColCyl); + dComIfG_Ccsp()->Set(&mColCyl); } /* 000024AC-000024B4 .text actionWait__8daTbox_cFv */ @@ -1226,7 +1226,7 @@ BOOL daTbox_c::execute() { if (getFuncType() == FUNC_TYPE_GRAVITY) { fopAcM_posMoveF(this, NULL); - mObjAcch.CrrPos(g_dComIfG_gameInfo.play.mBgS); + mObjAcch.CrrPos(*dComIfG_Bgsp()); mAttentionInfo.mPosition = current.pos; @@ -1262,7 +1262,7 @@ static s32 daTbox_IsDelete(daTbox_c*) { /* 00002FD8-00003070 .text daTbox_Delete__FP8daTbox_c */ static s32 daTbox_Delete(daTbox_c* i_tbox) { if (i_tbox->mpBgWCurrent != NULL) { - g_dComIfG_gameInfo.play.mBgS.Release(i_tbox->mpBgWCurrent); + dComIfG_Bgsp()->Release(i_tbox->mpBgWCurrent); } i_tbox->mSmokeCB.end(); diff --git a/src/d/d_a_race_item_static.cpp b/src/d/d_a_race_item_static.cpp index 9978c6e68..41c55d17a 100644 --- a/src/d/d_a_race_item_static.cpp +++ b/src/d/d_a_race_item_static.cpp @@ -57,8 +57,8 @@ void daRaceItem_c::raceItemGet() { void daRaceItem_c::normalItemGet() { field_0x640 = 1; execItemGet(m_itemNo); - if(mPickupFlag != 0x7F) { - dComIfGs_onItem(mPickupFlag, fopAcM_GetHomeRoomNo(this)); + if(mItemBitNo != 0x7F) { + dComIfGs_onItem(mItemBitNo, fopAcM_GetHomeRoomNo(this)); } switch(m_itemNo) { diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp index 60adbd92e..47b19d559 100644 --- a/src/d/d_com_inf_game.cpp +++ b/src/d/d_com_inf_game.cpp @@ -116,8 +116,8 @@ void dComIfG_play_c::itemInit() { mMesgAnime = 0; mMesgAnimeTagInfo = 0; - field_0x493d = 0; - field_0x493e = 0; + mItemSlot = 0; + mItemNo = 0; field_0x493f = 0; field_0x4940 = 0; field_0x4941 = 0; @@ -146,7 +146,7 @@ void dComIfG_play_c::itemInit() { field_0x4953 = 0; field_0x4954 = 0; field_0x4955 = 0; - field_0x4956 = 0; + mFwaterTimer = 0; mPlacenameIndex = 0; mPlacenameState = 0; field_0x4959 = 0; diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp index ccb8b6d62..727f4b469 100644 --- a/src/d/d_item.cpp +++ b/src/d/d_item.cpp @@ -611,8 +611,7 @@ void item_func_l_magic() { /* 800C3008-800C3060 .text item_func_bomb_5__Fv */ void item_func_bomb_5() { dComIfGs_onGetItem(0xD, 0); - g_dComIfG_gameInfo.play.field_0x493d = 0xD; - g_dComIfG_gameInfo.play.field_0x493e = 0xB; + dComIfGp_setItem(0xD, 0xB); dComIfGp_setItemBombNumCount(5); } diff --git a/src/d/d_s_play.cpp b/src/d/d_s_play.cpp index b2a5cb7c0..a1f19eb11 100644 --- a/src/d/d_s_play.cpp +++ b/src/d/d_s_play.cpp @@ -307,6 +307,8 @@ int dScnPly_Draw(dScnPly_ply_c* i_this) { if (dComIfGp_getGrass() != NULL || dComIfGp_getTree() != NULL || dComIfGp_getWood() != NULL || dComIfGp_getFlower() != NULL || dKyr_poison_live_check()) { + // using the inline breaks the match + // dComIfG_Ccsp()->PrepareMass(); g_dComIfG_gameInfo.play.mCcS.PrepareMass(); } diff --git a/src/d/d_save.cpp b/src/d/d_save.cpp index bbb57e3f5..4f6f280b5 100644 --- a/src/d/d_save.cpp +++ b/src/d/d_save.cpp @@ -330,12 +330,12 @@ void dSv_player_item_record_c::init() { /* 8005987C-80059894 .text resetTimer__24dSv_player_item_record_cFUs */ void dSv_player_item_record_c::resetTimer(u16 timer) { mTimer = timer; - g_dComIfG_gameInfo.play.field_0x4956 = 0; + dComIfGs_stopFwaterTimer(); } /* 80059894-800598D0 .text decTimer__24dSv_player_item_record_cFv */ void dSv_player_item_record_c::decTimer() { - if (g_dComIfG_gameInfo.play.field_0x4956 != 1) + if (dComIfGs_checkFwaterTimer() != 1) return; if (mTimer != 0) { @@ -344,7 +344,7 @@ void dSv_player_item_record_c::decTimer() { } mTimer = 0; - g_dComIfG_gameInfo.play.field_0x4956 = 0; + dComIfGs_stopFwaterTimer(); } /* 800598D0-800598D8 .text getTimer__24dSv_player_item_record_cFv */ diff --git a/src/d/d_throwstone.cpp b/src/d/d_throwstone.cpp index 3b91f1963..2e0b52429 100644 --- a/src/d/d_throwstone.cpp +++ b/src/d/d_throwstone.cpp @@ -43,7 +43,7 @@ s32 daThrowstone_c::_create() { mDoMtx_stack_c::scaleM(mScale); mDoMtx_copy(mDoMtx_stack_c::get(), mMtx); - mCullMtx = mpModel->getBaseTRMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); mDoMtx_copy(mpModel->getBaseTRMtx(), mMtx); }