diff --git a/configure.py b/configure.py index ca18d1946..9aca39879 100755 --- a/configure.py +++ b/configure.py @@ -1381,7 +1381,7 @@ config.libs = [ ActorRel(Matching, "d_a_obj_cafelmp"), ActorRel(NonMatching, "d_a_obj_coming"), ActorRel(NonMatching, "d_a_obj_demo_barrel"), - ActorRel(Equivalent, "d_a_obj_doguu"), # weak func order + ActorRel(Matching, "d_a_obj_doguu", extra_cflags=['-pragma "nosyminline on"']), ActorRel(Matching, "d_a_obj_doguu_demo"), ActorRel(Matching, "d_a_obj_gryw00", extra_cflags=['-pragma "nosyminline on"']), ActorRel(Matching, "d_a_obj_hfuck1", extra_cflags=['-pragma "nosyminline on"']), @@ -1665,7 +1665,7 @@ config.libs = [ ActorRel(Matching, "d_a_obj_homensmoke", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_hsehi1"), ActorRel(NonMatching, "d_a_obj_htetu1"), - ActorRel(Matching, "d_a_obj_iceisland", extra_cflags=['-pragma "nosyminline on"']), + ActorRel(Matching, "d_a_obj_iceisland", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_jump"), ActorRel(NonMatching, "d_a_obj_kanoke"), ActorRel(Equivalent, "d_a_obj_ladder", extra_cflags=['-pragma "nosyminline on"']), # weak func order @@ -1688,7 +1688,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_plant"), ActorRel(NonMatching, "d_a_obj_rflw"), ActorRel(Matching, "d_a_obj_rforce"), - ActorRel(Matching, "d_a_obj_smplbg", extra_cflags=['-pragma "nosyminline on"']), + ActorRel(Matching, "d_a_obj_smplbg", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_obj_tapestry"), ActorRel(NonMatching, "d_a_obj_tntrap"), ActorRel(Matching, "d_a_obj_tower"), @@ -1697,7 +1697,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_obj_try"), ActorRel(Matching, "d_a_obj_usovmc"), ActorRel(Matching, "d_a_obj_vfan", extra_cflags=[ '-pragma "nosyminline on"']), - ActorRel(NonMatching, "d_a_obj_vgnfd"), + ActorRel(Matching, "d_a_obj_vgnfd", extra_cflags=[ '-pragma "nosyminline on"']), ActorRel(Matching, "d_a_obj_vmc", extra_cflags=["-sym off"]), ActorRel(Matching, "d_a_obj_vmsdz"), ActorRel(Matching, "d_a_obj_vmsms"), diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index fc9cc1986..145746dab 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -14,7 +14,7 @@ class JUTNameTab; enum J3DMaterialCopyFlag { J3DMatCopyFlag_Material = 0x01, J3DMatCopyFlag_Texture = 0x02, - J3DMatCopyFlag_All = 0x03, + J3DMatCopyFlag_All = J3DMatCopyFlag_Material | J3DMatCopyFlag_Texture, }; enum { diff --git a/include/d/actor/d_a_lwood.h b/include/d/actor/d_a_lwood.h index 3f326c88f..8b5662faa 100644 --- a/include/d/actor/d_a_lwood.h +++ b/include/d/actor/d_a_lwood.h @@ -14,8 +14,8 @@ public: inline bool _execute(); f32 getYureScale() const { return mScale; } s16 getYureTimer() const { return mTimer; } - void setMoveBGMtx(); // weak but not inlined? - void set_mtx(); // weak but not inlined? + inline void setMoveBGMtx(); // weak but not inlined + inline void set_mtx(); // weak but not inlined BOOL CreateHeap(); void CreateInit(); diff --git a/include/d/actor/d_a_obj_doguu.h b/include/d/actor/d_a_obj_doguu.h index 3494e6981..6eb6b81bb 100644 --- a/include/d/actor/d_a_obj_doguu.h +++ b/include/d/actor/d_a_obj_doguu.h @@ -10,7 +10,7 @@ public: inline bool _delete(); inline bool _draw(); inline bool _execute(); - inline void setEffectMtx(const cXyz*, float); // weak but not inlined? + inline void setEffectMtx(const cXyz*, float); // weak but not inlined void setPointLight(); BOOL CreateHeap(); diff --git a/include/d/actor/d_a_obj_hha.h b/include/d/actor/d_a_obj_hha.h index af790a74a..788bc98b2 100644 --- a/include/d/actor/d_a_obj_hha.h +++ b/include/d/actor/d_a_obj_hha.h @@ -118,8 +118,7 @@ public: class daObjHha_c : public fopAc_ac_c { public: - - BOOL check_sw(); // weak but not inline? + inline BOOL check_sw(); // weak but not inlined static int solidHeapCB(fopAc_ac_c*); BOOL create_heap(); diff --git a/include/d/actor/d_a_obj_vgnfd.h b/include/d/actor/d_a_obj_vgnfd.h index 8ca82ef57..18a3926bb 100644 --- a/include/d/actor/d_a_obj_vgnfd.h +++ b/include/d/actor/d_a_obj_vgnfd.h @@ -11,9 +11,9 @@ class dBgW; class daObjVgnfd_c : public fopAc_ac_c { public: - void check_boss(int) {} - BOOL check_ev_init(int); // weak but not inlined? - void on_door_ev(int) {} + inline BOOL check_ev_init(int); // weak but not inlined + inline void on_door_ev(int); + inline BOOL check_boss(int); static BOOL solidHeapCB(fopAc_ac_c*); BOOL create_bdl_brk(int); diff --git a/include/d/actor/d_a_obj_vmsms.h b/include/d/actor/d_a_obj_vmsms.h index 93766dea7..67e4f7f1e 100644 --- a/include/d/actor/d_a_obj_vmsms.h +++ b/include/d/actor/d_a_obj_vmsms.h @@ -6,7 +6,7 @@ class daObjVmsms_c : public fopAc_ac_c { public: - bool check_demo() const; // weak but not inlined? + inline bool check_demo() const; // weak but not inlined static BOOL solidHeapCB(fopAc_ac_c*); BOOL create_heap(); diff --git a/include/d/actor/d_a_toge.h b/include/d/actor/d_a_toge.h index 7b766262d..bafdf48ff 100644 --- a/include/d/actor/d_a_toge.h +++ b/include/d/actor/d_a_toge.h @@ -7,7 +7,7 @@ class daToge_c : public fopAc_ac_c { public: - inline void set_mtx(); // weak but not inlined? + inline void set_mtx(); // weak but not inlined BOOL _delete(); BOOL CreateHeap(); diff --git a/include/d/actor/d_a_ygcwp.h b/include/d/actor/d_a_ygcwp.h index 87c387ffc..5fc29d14b 100644 --- a/include/d/actor/d_a_ygcwp.h +++ b/include/d/actor/d_a_ygcwp.h @@ -7,8 +7,8 @@ class daYgcwp_c : public fopAc_ac_c { public: - BOOL check_ev() const; // weak but not inlined? - void off_ev() const; // weak but not inlined? + inline BOOL check_ev() const; // weak but not inlined + inline void off_ev() const; // weak but not inlined static BOOL solidHeapCB(fopAc_ac_c*); BOOL create_heap(); diff --git a/src/d/actor/d_a_npc_roten.cpp b/src/d/actor/d_a_npc_roten.cpp index 360c27dbe..118bcf715 100644 --- a/src/d/actor/d_a_npc_roten.cpp +++ b/src/d/actor/d_a_npc_roten.cpp @@ -2051,15 +2051,15 @@ void daNpcRoten_c::eventOrder() { } } else if(field_0x9B7 == 3) { - fopAcM_orderOtherEventId(this, field_0x99E, 0xFF, 0xFF7F, 0, 1); + fopAcM_orderOtherEventId(this, field_0x99E, 0xFF, 0xFF7F); field_0x9B2 |= 0x4000; } else if(field_0x9B7 == 4) { - fopAcM_orderOtherEventId(this, field_0x9A0, 0xFF, 0xFF7F, 0, 1); + fopAcM_orderOtherEventId(this, field_0x9A0, 0xFF, 0xFF7F); field_0x9B2 |= 0x4000; } else if(field_0x9B7 == 5) { - fopAcM_orderOtherEventId(this, field_0x9A2, 0xFF, 0xFF7F, 0, 1); + fopAcM_orderOtherEventId(this, field_0x9A2, 0xFF, 0xFF7F); field_0x9B2 |= 0x4000; } else if(field_0x9B7 == 6) { diff --git a/src/d/actor/d_a_obj_doguu.cpp b/src/d/actor/d_a_obj_doguu.cpp index 4fea3b719..27d21c8ac 100644 --- a/src/d/actor/d_a_obj_doguu.cpp +++ b/src/d/actor/d_a_obj_doguu.cpp @@ -41,6 +41,7 @@ static dCcD_SrcCyl l_cyl_src = { /* Height */ 200.0f, } }; + const struct { int bmt_vgsm[3]; int bmt_vgsb[3]; @@ -109,7 +110,7 @@ BOOL daObjDoguu_c::CreateHeap() { JUT_ASSERT(0x170, brk_doguu != NULL); if (mBrk.init(modelData, brk_doguu, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0) == 0) { - return FALSE; + return FALSE; } modelData = static_cast(dComIfG_getObjectRes("Doguu", daObjDoguu_idx_table.bdl_vgsh[field_0x894])); @@ -142,7 +143,7 @@ BOOL daObjDoguu_c::CreateHeap() { field_0x6D4 = mDoExt_J3DModel__create(modelData, 0x80000,0x15220202); if (field_0x6D4 == NULL) { - return FALSE; + return FALSE; } JUTNameTab* nameTable = field_0x6D4->getModelData()->getJointName(); @@ -159,7 +160,7 @@ BOOL daObjDoguu_c::CreateHeap() { JUT_ASSERT(0x1AB, bck_body != NULL); if (mBckBody.init(modelData, bck_body, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false) == 0) { - return FALSE; + return FALSE; } deform = new J3DSkinDeform(); @@ -183,19 +184,18 @@ BOOL daObjDoguu_c::CreateHeap() { if(mBckCrystal.init(modelData, bck_crystal, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false) == 0){ return FALSE; - } else{ - field_0x89C = 1; - return TRUE; } + + field_0x89C = 1; + return TRUE; } /* 000007D0-00000B80 .text CreateInit__12daObjDoguu_cFv */ void daObjDoguu_c::CreateInit() { - - - cullMtx = field_0x6CC->getBaseTRMtx(); + fopAcM_SetMtx(this, field_0x6CC->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -600.0f, -0.0f, -600.0f, 600.0f, 400.0f, 600.0f); fopAcM_setCullSizeFar(this, 1.0f); + if (field_0x894 == 0){ mItemNo = dItem_PEARL_DIN_e; } else if(field_0x894 == 1) { @@ -203,6 +203,7 @@ void daObjDoguu_c::CreateInit() { } else{ mItemNo = dItem_PEARL_NAYRU_e; } + mStts.Init(0xff, 0xff, this); mCyl.Set(l_cyl_src); if(!checkItemGet(mItemNo, TRUE)){ @@ -232,9 +233,9 @@ void daObjDoguu_c::CreateInit() { } else { field_0x8A1 = false; if ( - (field_0x894 == 0) && dComIfGs_isEventBit(0x1480) || - (field_0x894 == 1 && dComIfGs_isEventBit(0x1440) || - (field_0x894 == 2 && dComIfGs_isEventBit(0x1410))) + (field_0x894 == 0 && dComIfGs_isEventBit(0x1480)) || + (field_0x894 == 1 && dComIfGs_isEventBit(0x1440)) || + (field_0x894 == 2 && dComIfGs_isEventBit(0x1410)) ) { field_0x8A2 = true; field_0x8A0 = true; @@ -245,6 +246,7 @@ void daObjDoguu_c::CreateInit() { field_0x8AC = 0; } } + eyePos.y += attr().mOffsetEyePos; set_mtx(); @@ -310,13 +312,11 @@ u16 daObjDoguu_c::next_msgStatus(u32* pMsgNo) { u32 daObjDoguu_c::getMsg() { if (mActIdx == 4) { return 3821; - } - if (field_0x894 == 0) { + } else if (field_0x894 == 0) { return 3822; - } - if(field_0x894 == 1){ + } else if (field_0x894 == 1){ return 3823; - } else{ + } else { return 3824; } } @@ -343,10 +343,8 @@ void daObjDoguu_c::setPlayerAngle(int i_staffIdx) { /* 00000F18-00000FB8 .text setQuake__12daObjDoguu_cFi */ void daObjDoguu_c::setQuake(int i_staffIdx) { - // u8 temp[4] = {0x00, 0x10, 0xFF, 0xEE}; // Doesn't match - u32 temp2 = 0x0010FFEE; - u8* temp = (u8*)&temp2; - dComIfGp_getVibration().StartQuake(temp, 0, 63, cXyz(0.0f, 1.0f, 0.0f)); + u32 pattern = 0x0010FFEE; + dComIfGp_getVibration().StartQuake((u8*)&pattern, 0, 63, cXyz(0.0f, 1.0f, 0.0f)); mTimer = *dComIfGp_evmng_getMyIntegerP(i_staffIdx, "Timer"); } @@ -432,14 +430,14 @@ void daObjDoguu_c::privateCut() { case 6: mTimer--; if (mTimer == 0) { - doCutEnd = true; - dComIfGp_getVibration().StopQuake(63); + doCutEnd = true; + dComIfGp_getVibration().StopQuake(63); } break; case 7: doCutEnd = true; break; - case 8: + case 8: { int iVar2 = field_0x8C4; if(iVar2 >= 200){ mAllColRatio = 1.0f; @@ -456,12 +454,10 @@ void daObjDoguu_c::privateCut() { mAllColRatio = 0.375f - (iVar2 + -40) * 0.00625f; } else if ((iVar2 >= 130) && (iVar2 < 150)) { mAllColRatio = (iVar2 + -130) * 0.00625f + 0.25f; - } else { - if((field_0x8C4 >= 150) && (field_0x8C4 < 170)){ - mAllColRatio = (iVar2 + -150) * 0.0125f + 0.375f; - } else if((iVar2 >= 170) && (iVar2 <= 190)){ - mAllColRatio = (iVar2 + -170) * 0.01875f + 0.625f; - } + } else if((field_0x8C4 >= 150) && (field_0x8C4 < 170)){ + mAllColRatio = (iVar2 + -150) * 0.0125f + 0.375f; + } else if((iVar2 >= 170) && (iVar2 <= 190)){ + mAllColRatio = (iVar2 + -170) * 0.01875f + 0.625f; } if (field_0x8C4 == 40) { @@ -482,6 +478,7 @@ void daObjDoguu_c::privateCut() { field_0x8A3 = true; } break; + } default: doCutEnd = true; break; @@ -513,12 +510,11 @@ int daObjDoguu_c::getFinishEventCount() { void daObjDoguu_c::setFinishMyEvent() { if (field_0x894 == 0) { dComIfGs_onEventBit(0x1480); - } else if (field_0x894 == 1) { + } else if (field_0x894 == 1) { dComIfGs_onEventBit(0x1440); - } else { + } else { dComIfGs_onEventBit(0x1410); - } - return; + } } /* 000016A4-000016C4 .text daObjDoguu_Create__FPv */ @@ -526,8 +522,6 @@ static cPhs_State daObjDoguu_Create(void* i_this) { return static_cast(i_this)->_create(); } -daObjDoguu_c::daObjDoguu_c() {} - /* 000016C4-0000178C .text _create__12daObjDoguu_cFv */ cPhs_State daObjDoguu_c::_create() { fopAcM_SetupActor(this, daObjDoguu_c); @@ -540,20 +534,20 @@ cPhs_State daObjDoguu_c::_create() { if (phase_state == cPhs_COMPLEATE_e) { if(!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0)){ return cPhs_ERROR_e; - } else{ - CreateInit(); - } + } + CreateInit(); } return phase_state; } +daObjDoguu_c::daObjDoguu_c() {} + bool daObjDoguu_c::_delete(){ dKy_plight_cut(&mLightInfluence); dComIfG_resDelete(&mPhs,"Doguu"); return true; } - /* 00001CC8-00001D0C .text daObjDoguu_Delete__FPv */ static BOOL daObjDoguu_Delete(void* i_this) { return static_cast(i_this)->_delete(); @@ -620,28 +614,31 @@ void daObjDoguu_c::setEffectMtx(const cXyz* i_pos, float i_scale) { Mtx reflMtx; C_MTXLookAt(reflMtx, &cXyz::Zero, &cXyz::BaseY, &refl); mDoMtx_stack_c::scaleS(scale, scale, 1.0f); - MTXConcat(mDoMtx_stack_c::now, mtx_adj, mDoMtx_stack_c::now); - MTXConcat(mDoMtx_stack_c::now, reflMtx, mDoMtx_stack_c::now); - mDoMtx_stack_c::now[0][3] = 0.0f; - mDoMtx_stack_c::now[1][3] = 0.0f; - mDoMtx_stack_c::now[2][3] = 0.0f; + mDoMtx_stack_c::concat(mtx_adj); + mDoMtx_stack_c::concat(reflMtx); + MtxP mtx = mDoMtx_stack_c::get(); + mtx[0][3] = 0.0f; + mtx[1][3] = 0.0f; + mtx[2][3] = 0.0f; + J3DModelData *modelData = field_0x6D0->getModelData(); for (u16 i = 0; i < modelData->getMaterialNum(); i++) { J3DMaterial* mat = modelData->getMaterialNodePointer(i); for (u32 j = 0; j < 8; j++) { J3DTexMtx* texMtx = mat->getTexMtx(j); if (texMtx != NULL && texMtx->getTexMtxInfo().mInfo == 10) { - texMtx->getTexMtxInfo().setEffectMtx(mDoMtx_stack_c::now); + texMtx->getTexMtxInfo().setEffectMtx(mDoMtx_stack_c::get()); } } } + modelData = field_0x6D4->getModelData(); for (u16 i = 0; i < modelData->getMaterialNum(); i++) { J3DMaterial* mat = modelData->getMaterialNodePointer(i); for (u32 j = 0; j < 8; j++) { J3DTexMtx* texMtx = mat->getTexMtx(j); if (texMtx != NULL && texMtx->getTexMtxInfo().mInfo == 10) { - texMtx->getTexMtxInfo().setEffectMtx(mDoMtx_stack_c::now); + texMtx->getTexMtxInfo().setEffectMtx(mDoMtx_stack_c::get()); } } } @@ -665,17 +662,17 @@ bool daObjDoguu_c::_execute() { mCyl.SetC(current.pos); dComIfG_Ccsp()->Set(&mCyl); + if (mAllColRatio != 1.0f) { dKy_set_allcol_ratio(mAllColRatio); } switch(field_0x8AC) { case 0: - fopAc_ac_c *ac; if (checkItemGet(mItemNo, TRUE) && mCyl.ChkCoHit()) { cCcD_Obj* hitObj = mCyl.GetCoHitObj(); if (hitObj != NULL) { - ac = hitObj->GetAc(); + fopAc_ac_c *ac = hitObj->GetAc(); if ((ac != NULL) && (fopAcM_GetName(ac) == PROC_PLAYER)) { mCyl.SetR(50.0f); fopAcM_orderOtherEventId(this, mDoguuDemo1EventIdx); diff --git a/src/d/actor/d_a_obj_figure.cpp b/src/d/actor/d_a_obj_figure.cpp index 8d7838920..0c04959af 100644 --- a/src/d/actor/d_a_obj_figure.cpp +++ b/src/d/actor/d_a_obj_figure.cpp @@ -984,7 +984,7 @@ BOOL daObjFigure_c::createHeap() { return false; } - if(mpMorf->getModel()->setSkinDeform(pDeform, 1) != 0) { + if(mpMorf->getModel()->setSkinDeform(pDeform, 1) != J3DErrType_Success) { return false; } } diff --git a/src/d/actor/d_a_obj_iceisland.cpp b/src/d/actor/d_a_obj_iceisland.cpp index d2a4d7284..560eac39d 100644 --- a/src/d/actor/d_a_obj_iceisland.cpp +++ b/src/d/actor/d_a_obj_iceisland.cpp @@ -48,8 +48,8 @@ void daObjIceisland_c::daObjIceisland_particle_set() { /* 00000410-00000588 .text CreateInit__16daObjIceisland_cFv */ void daObjIceisland_c::CreateInit() { - cullMtx = mpModel->getBaseTRMtx(); - cullSizeFar = 1.0f; + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + fopAcM_setCullSizeFar(this, 1.0f); set_mtx(); dKy_tevstr_init(&mTevStr, fopAcM_GetHomeRoomNo(this), 0xFF); g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, &mTevStr); @@ -85,7 +85,7 @@ void daObjIceisland_c::set_mtx() { void daObjIceisland_c::daObjIceisland_freeze_main() { u8 switchNo = daObjIceisland_prm::getSwitchNo(this); if(fopAcM_isSwitch(this, switchNo)){ - fopAcM_orderOtherEventId(this, mMeltIceEventIdx, 0xffff); + fopAcM_orderOtherEventId(this, mMeltIceEventIdx); field_0x39C = 1; } } @@ -107,7 +107,7 @@ void daObjIceisland_c::daObjIceisland_melt_demo_wait() { mBrkAnm.setPlaySpeed(1.0f); field_0x39C = 2; } else { - fopAcM_orderOtherEventId(this,mMeltIceEventIdx,0xffff); + fopAcM_orderOtherEventId(this, mMeltIceEventIdx); } } @@ -124,7 +124,7 @@ void daObjIceisland_c::daObjIceisland_melt_demo() { void daObjIceisland_c::daObjIceisland_melt_main() { u8 switchNo = daObjIceisland_prm::getSwitchNo(this); if(!fopAcM_isSwitch(this, switchNo)){ - fopAcM_orderOtherEventId(this,mFreezeIceEventIdx,0xffff); + fopAcM_orderOtherEventId(this, mFreezeIceEventIdx); field_0x39C = 4; } } @@ -137,7 +137,7 @@ void daObjIceisland_c::daObjIceisland_freeze_demo_wait() { field_0x39C = 5; } else { - fopAcM_orderOtherEventId(this, mFreezeIceEventIdx, 0xffff); + fopAcM_orderOtherEventId(this, mFreezeIceEventIdx); } } diff --git a/src/d/actor/d_a_obj_smplbg.cpp b/src/d/actor/d_a_obj_smplbg.cpp index f97c54d45..796b13926 100644 --- a/src/d/actor/d_a_obj_smplbg.cpp +++ b/src/d/actor/d_a_obj_smplbg.cpp @@ -36,8 +36,7 @@ BOOL daObjSmplbg::Act_c::CreateHeap() { /* 00000144-0000032C .text Create__Q211daObjSmplbg5Act_cFv */ BOOL daObjSmplbg::Act_c::Create() { - cullMtx = mpModel->getBaseTRMtx(); - fopAcM_SetMtx(this, cullMtx); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); init_mtx(); eyePos.y += attr().mEyeOffset; diff --git a/src/d/actor/d_a_obj_vgnfd.cpp b/src/d/actor/d_a_obj_vgnfd.cpp index f69efaf0f..587594776 100644 --- a/src/d/actor/d_a_obj_vgnfd.cpp +++ b/src/d/actor/d_a_obj_vgnfd.cpp @@ -75,21 +75,19 @@ enum { /* 00000078-00000098 .text solidHeapCB__12daObjVgnfd_cFP10fopAc_ac_c */ BOOL daObjVgnfd_c::solidHeapCB(fopAc_ac_c* i_ac) { - /* Nonmatching */ return ((daObjVgnfd_c*)i_ac)->create_heap(); } /* 00000098-0000022C .text create_bdl_brk__12daObjVgnfd_cFi */ BOOL daObjVgnfd_c::create_bdl_brk(int i) { - /* Nonmatching */ BOOL ret = FALSE; - J3DModelData* mdl_data = (J3DModelData*)dComIfG_getObjectRes(M_arcname, M_door_bdl_table[i]); + J3DModelData* mdl_data = static_cast(dComIfG_getObjectRes(M_arcname, M_bdl_table[i])); JUT_ASSERT(0xfe, mdl_data != NULL); if (mdl_data != NULL) { mModel[i] = mDoExt_J3DModel__create(mdl_data, 0, 0x11020203); if (mModel[i] != NULL) { if (M_brk_table[i] != -1) { - J3DAnmTevRegKey* brk_p = (J3DAnmTevRegKey*)dComIfG_getObjectRes(M_arcname, M_brk_table[i]); + J3DAnmTevRegKey* brk_p = static_cast(dComIfG_getObjectRes(M_arcname, M_brk_table[i])); JUT_ASSERT(0x105, brk_p != NULL); if (brk_p != NULL) { if (mBrkAnm[i].init(mdl_data, brk_p, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, FALSE)) @@ -105,9 +103,9 @@ BOOL daObjVgnfd_c::create_bdl_brk(int i) { /* 0000022C-000004A4 .text create_heap__12daObjVgnfd_cFv */ BOOL daObjVgnfd_c::create_heap() { - /* Nonmatching */ BOOL ret = TRUE; - for (s32 i = 0; i < (s32)ARRAY_SIZE(mModel); i++) { + s32 i; + for (i = 0; i < (s32)ARRAY_SIZE(mModel); i++) { if (!create_bdl_brk(i)) { ret = FALSE; break; @@ -115,8 +113,8 @@ BOOL daObjVgnfd_c::create_heap() { } if (ret) { - for (s32 i = 0; i < (s32)ARRAY_SIZE(mModel2); i++) { - J3DModelData* mdl_data = (J3DModelData*)dComIfG_getObjectRes(M_arcname, M_door_bdl_table[i]); + for (i = 0; i < (s32)ARRAY_SIZE(mModel2); i++) { + J3DModelData* mdl_data = static_cast(dComIfG_getObjectRes(M_arcname, M_door_bdl_table[i])); JUT_ASSERT(0x133, mdl_data != NULL); if (mdl_data != NULL) { @@ -133,7 +131,7 @@ BOOL daObjVgnfd_c::create_heap() { } if (ret) { - J3DAnmTextureSRTKey* btk_data = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(M_arcname, VGNFD_BTK_YGCBD00); + J3DAnmTextureSRTKey* btk_data = static_cast(dComIfG_getObjectRes(M_arcname, VGNFD_BTK_YGCBD00)); JUT_ASSERT(0x144, btk_data != NULL); if (btk_data == NULL || !mBtkAnm.init(mModel2[1]->getModelData(), btk_data, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false, FALSE)) { @@ -219,12 +217,20 @@ BOOL daObjVgnfd_c::check_ev_init(int i) { return dComIfGs_isEventBit(M_door_ev_table[i]); } +void daObjVgnfd_c::on_door_ev(int i) { + dComIfGs_onEventBit(M_door_ev_table[i]); +} + +BOOL daObjVgnfd_c::check_boss(int i) { + return dComIfGs_isEventBit(M_boss_ev_table[i]); +} + /* 00000914-000009AC .text get_start_demo_idx__12daObjVgnfd_cFv */ s32 daObjVgnfd_c::get_start_demo_idx() { s32 ret = -1; for (s32 i = 0; i < (s32)ARRAY_SIZE(M_door_ev_table); i++) { - if (!dComIfGs_isEventBit(M_door_ev_table[i]) && dComIfGs_isEventBit(M_boss_ev_table[i])) { + if (!check_ev_init(i) && check_boss(i)) { ret = i; break; } @@ -235,11 +241,11 @@ s32 daObjVgnfd_c::get_start_demo_idx() { /* 000009AC-00000A28 .text check_fin__12daObjVgnfd_cFv */ BOOL daObjVgnfd_c::check_fin() { - /* Nonmatching */ + s32 i; BOOL ret = TRUE; - for (s32 i = 0; i < (s32)ARRAY_SIZE(M_door_ev_table); i++) { - if (!dComIfGs_isEventBit(M_door_ev_table[i])) { + for (i = 0; i < (s32)ARRAY_SIZE(M_door_ev_table); i++) { + if (!check_ev_init(i)) { ret = FALSE; break; } @@ -274,7 +280,6 @@ void daObjVgnfd_c::set_timer() { /* 00000BA0-00001298 .text _execute__12daObjVgnfd_cFv */ bool daObjVgnfd_c::_execute() { - /* Nonmatching */ BOOL done = FALSE; switch (mState) { @@ -308,7 +313,7 @@ bool daObjVgnfd_c::_execute() { if (dComIfGp_evmng_getIsAddvance(mStaffId)) { switch (actIdx) { case ACT_WAIT0: - dComIfGs_onEventBit(M_door_ev_table[M_demo_idx]); + on_door_ev(M_demo_idx); set_timer(); break; case ACT_WAIT1: @@ -400,9 +405,9 @@ bool daObjVgnfd_c::_execute() { mTimer--; switch (actIdx) { - case ACT_WAIT0: case ACT_BURST: break; + case ACT_WAIT0: case ACT_GANNON: case ACT_VIB0: case ACT_VIB1: diff --git a/src/d/actor/d_a_player.cpp b/src/d/actor/d_a_player.cpp index 01726c451..79a3312e0 100644 --- a/src/d/actor/d_a_player.cpp +++ b/src/d/actor/d_a_player.cpp @@ -88,10 +88,8 @@ void daPy_py_c::setDoButtonQuake() { onNoResetFlg0(daPyFlg0_UNK200000); mQuakeTimer = 60; - // u8 temp[4] = {0x00, 0x10, 0xFF, 0xEE}; // Doesn't match - u32 temp2 = 0x0010FFEE; - u8* temp = (u8*)&temp2; - dComIfGp_getVibration().StartQuake(temp, 0, 1, cXyz(0.0f, 1.0f, 0.0f)); + u32 pattern = 0x0010FFEE; + dComIfGp_getVibration().StartQuake((u8*)&pattern, 0, 1, cXyz(0.0f, 1.0f, 0.0f)); } /* 80102D90-80102E18 .text stopDoButtonQuake__9daPy_py_cFi */ diff --git a/src/d/actor/d_a_ship.cpp b/src/d/actor/d_a_ship.cpp index 2c38b9aa8..d70fb7d72 100644 --- a/src/d/actor/d_a_ship.cpp +++ b/src/d/actor/d_a_ship.cpp @@ -4358,7 +4358,7 @@ BOOL daShip_c::createHeap() { return FALSE; } - if (pModel->setSkinDeform(mSkinDeform, 1)) { + if (pModel->setSkinDeform(mSkinDeform, 1) != J3DErrType_Success) { return FALSE; } } diff --git a/src/d/actor/d_a_tag_event.cpp b/src/d/actor/d_a_tag_event.cpp index 354830fb7..78a622268 100644 --- a/src/d/actor/d_a_tag_event.cpp +++ b/src/d/actor/d_a_tag_event.cpp @@ -230,7 +230,7 @@ BOOL daTag_Event_c::actionReady() { } else if (swbit != 0xFF && dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this))) { setActio(ACTION_WAIT); } else { - fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1); + fopAcM_orderOtherEventId(this, mEventIdx, getEventNo()); if (cancelShutter()) { dComIfGp_event_onEventFlag(1); } @@ -253,7 +253,7 @@ BOOL daTag_Event_c::actionHunt() { setActio(ACTION_WAIT); } else if (sp20.abs2XZ() < (scale.x*scale.x) * (100.0f*100.0f) && sp20.y <= scale.y * 100.0f) { setActio(ACTION_READY); - fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1); + fopAcM_orderOtherEventId(this, mEventIdx, getEventNo()); if (cancelShutter()) { dComIfGp_event_onEventFlag(1); } @@ -335,7 +335,7 @@ BOOL daTag_Event_c::actionSpeReady() { actionSpeEvent(); dComIfGs_onEventBit(0x2740); } else { - fopAcM_orderOtherEventId(this, mEventIdx, 0xFF, 0xFFFF, 0, 1); + fopAcM_orderOtherEventId(this, mEventIdx); } return TRUE; } @@ -349,7 +349,7 @@ BOOL daTag_Event_c::actionSpeHunt() { } if (sp20.abs2XZ() < (scale.x*scale.x) * (100.0f*100.0f) && sp20.y <= scale.y * 100.0f) { setActio(ACTION_SPE_READY); - fopAcM_orderOtherEventId(this, mEventIdx, 0xFF, 0xFFFF, 0, 1); + fopAcM_orderOtherEventId(this, mEventIdx); } return TRUE; } @@ -398,7 +398,7 @@ BOOL daTag_Event_c::actionMjReady() { } else { mEventIdx = dComIfGp_evmng_getEventIdx("BEAST_GATE2", getEventNo()); } - fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1); + fopAcM_orderOtherEventId(this, mEventIdx, getEventNo()); if (cancelShutter()) { dComIfGp_event_onEventFlag(1); } @@ -425,7 +425,7 @@ BOOL daTag_Event_c::actionMjHunt() { mEventIdx = dComIfGp_evmng_getEventIdx("BEAST_GATE2", getEventNo()); } setActio(ACTION_MJ_READY); - fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1); + fopAcM_orderOtherEventId(this, mEventIdx, getEventNo()); if (cancelShutter()) { dComIfGp_event_onEventFlag(1); } @@ -446,7 +446,7 @@ BOOL daTag_Event_c::actionHunt2() { m294--; } else { setActio(ACTION_READY); - fopAcM_orderOtherEventId(this, mEventIdx, getEventNo(), 0xFFFF, 0, 1); + fopAcM_orderOtherEventId(this, mEventIdx, getEventNo()); } } else { m294 = 65; diff --git a/src/d/actor/d_a_toge.cpp b/src/d/actor/d_a_toge.cpp index 7c7abb885..ef5a27cb8 100644 --- a/src/d/actor/d_a_toge.cpp +++ b/src/d/actor/d_a_toge.cpp @@ -168,7 +168,6 @@ void daToge_c::set_mtx() { mpModel->setBaseScale(scale); mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); mDoMtx_stack_c::YrotM(current.angle.y); - mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); mDoMtx_copy(mDoMtx_stack_c::get(), mtx1); } @@ -201,11 +200,7 @@ BOOL daToge_c::_execute() { toge_move(); - mpModel->setBaseScale(scale); - mDoMtx_stack_c::transS(current.pos); - mDoMtx_stack_c::YrotM(current.angle.y); - mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); - mDoMtx_copy(mDoMtx_stack_c::get(), mtx1); + set_mtx(); mpBgW2->Move();