diff --git a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h index 1cc88b4079..3a71f94b45 100644 --- a/include/JSystem/J3DGraphBase/J3DDrawBuffer.h +++ b/include/JSystem/J3DGraphBase/J3DDrawBuffer.h @@ -11,6 +11,7 @@ inline f32 J3DCalcZValue(register MtxP m, register Vec v) { register f32 temp_f2; register f32 temp_f1 = 1.0f; +#ifdef __MWERKS__ // clang-format off asm { psq_l temp_f0, 0(v), 0, 0 /* qr0 */ @@ -23,6 +24,7 @@ inline f32 J3DCalcZValue(register MtxP m, register Vec v) { ps_sum0 out, out, out, out } // clang-format on +#endif return out; } diff --git a/include/JSystem/JGadget/linklist.h b/include/JSystem/JGadget/linklist.h index 69e4db3ee5..864f2b6dd2 100644 --- a/include/JSystem/JGadget/linklist.h +++ b/include/JSystem/JGadget/linklist.h @@ -241,8 +241,8 @@ struct TLinkList_factory : public TLinkList { } } - TLinkList::iterator Erase_destroy(T* param_0) { - TLinkList::iterator spC(Erase(param_0)); + typename TLinkList::iterator Erase_destroy(T* param_0) { + typename TLinkList::iterator spC(Erase(param_0)); Do_destroy(param_0); return spC; } diff --git a/include/JSystem/JParticle/JPABaseShape.h b/include/JSystem/JParticle/JPABaseShape.h index 3ebff4528c..6d4dabf2d8 100644 --- a/include/JSystem/JParticle/JPABaseShape.h +++ b/include/JSystem/JParticle/JPABaseShape.h @@ -38,7 +38,7 @@ struct JPABaseShapeData { /* 0x2E */ u8 mAnmRndm; /* 0x2F */ u8 mClrAnmRndmMask; /* 0x30 */ u8 mTexAnmRndmMask; -}; +}; // Size: 0x34 /** * @ingroup jsystem-jparticle diff --git a/include/JSystem/JParticle/JPAChildShape.h b/include/JSystem/JParticle/JPAChildShape.h index 2761a56759..fec4c08a55 100644 --- a/include/JSystem/JParticle/JPAChildShape.h +++ b/include/JSystem/JParticle/JPAChildShape.h @@ -34,7 +34,7 @@ struct JPAChildShapeData { /* 0x44 */ u8 mStep; /* 0x45 */ u8 mTexIdx; /* 0x46 */ s16 mRotSpeed; -}; +}; // Size: 0x48 /** * @ingroup jsystem-jparticle diff --git a/include/JSystem/JParticle/JPADynamicsBlock.h b/include/JSystem/JParticle/JPADynamicsBlock.h index fc175ff69d..38805b3b07 100644 --- a/include/JSystem/JParticle/JPADynamicsBlock.h +++ b/include/JSystem/JParticle/JPADynamicsBlock.h @@ -41,8 +41,7 @@ struct JPADynamicsBlockData { /* 0x74 */ u16 mVolumeSize; /* 0x76 */ u16 mDivNumber; /* 0x78 */ u8 mRateStep; - /* 0x7C */ u32 field_0x7c; -}; +}; // Size: 0x7C typedef void (*JPADynamicsCalcVolumeFunc)(JPAEmitterWorkData*); diff --git a/include/JSystem/JParticle/JPAExTexShape.h b/include/JSystem/JParticle/JPAExTexShape.h index b202cc9d9c..d1d6013dd1 100644 --- a/include/JSystem/JParticle/JPAExTexShape.h +++ b/include/JSystem/JParticle/JPAExTexShape.h @@ -19,7 +19,7 @@ struct JPAExTexShapeData { /* 0x24 */ s8 mExpScale; /* 0x25 */ s8 mIndTexIdx; /* 0x26 */ s8 mSecTexIdx; -}; +}; // Size: 0x28 /** * @ingroup jsystem-jparticle diff --git a/include/JSystem/JParticle/JPAExtraShape.h b/include/JSystem/JParticle/JPAExtraShape.h index dbf4636341..fac178eb6a 100644 --- a/include/JSystem/JParticle/JPAExtraShape.h +++ b/include/JSystem/JParticle/JPAExtraShape.h @@ -38,7 +38,7 @@ struct JPAExtraShapeData { /* 0x54 */ f32 mRotateSpeed; /* 0x58 */ f32 mRotateSpeedRandom; /* 0x5C */ f32 mRotateDirection; -}; +}; // Size: 0x60 /** * @ingroup jsystem-jparticle diff --git a/include/JSystem/JUtility/JUTGamePad.h b/include/JSystem/JUtility/JUTGamePad.h index 87a6b4d28d..bbb20c0865 100644 --- a/include/JSystem/JUtility/JUTGamePad.h +++ b/include/JSystem/JUtility/JUTGamePad.h @@ -100,7 +100,7 @@ public: JUTGamePadRecordBase* getPadReplay() const { return mPadReplay; } JUTGamePadRecordBase* getPadRecord() const { return mPadRecord; } - u32 testTrigger(u32 button) const { return mButton.mTrigger & button; } + bool testTrigger(u32 button) const { return mButton.mTrigger & button; } bool isPushing3ButtonReset() const { return mPortNum != EPortInvalid && mButtonReset.mReset != false; diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 275572e46c..14398e88a8 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -1131,7 +1131,7 @@ public: static bool checkWolfCargoCarrySceneChange() { return getLastSceneMode() == 10; } static int getLastSceneDamage() { return (dComIfGs_getLastSceneMode() >> 4) & 0x7F; } - static u8 getLastSceneSwordAtUpTime() { return (dComIfGs_getLastSceneMode() >> 11) & 0xFF; } + static u32 getLastSceneSwordAtUpTime() { return (dComIfGs_getLastSceneMode() >> 11) & 0xFF; } static BOOL checkNormalSwordEquip() { return dComIfGs_getSelectEquipSword() == fpcNm_ITEM_SWORD; } diff --git a/include/d/d_bg_s_sph_chk.h b/include/d/d_bg_s_sph_chk.h index 460bceb937..15cb92883f 100644 --- a/include/d/d_bg_s_sph_chk.h +++ b/include/d/d_bg_s_sph_chk.h @@ -8,7 +8,7 @@ struct cBgD_Vtx_t; class dBgS_SphChk; -typedef void* (*SphChk_Callback)(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void*); +typedef void (*SphChk_Callback)(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void*); class dBgS_SphChk : public cM3dGSph, public cBgS_PolyInfo, public cBgS_Chk, public dBgS_Chk { public: diff --git a/include/dolphin/gd/GDLight.h b/include/dolphin/gd/GDLight.h index b67d385c6f..549b07a26e 100644 --- a/include/dolphin/gd/GDLight.h +++ b/include/dolphin/gd/GDLight.h @@ -3,6 +3,7 @@ #include #include +#include "global.h" #ifdef __cplusplus extern "C" { diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index b165667006..f283f10435 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -76,14 +76,8 @@ enum fopAc_Cull_e { fopAc_CULLSPHERE_5_e, fopAc_CULLSPHERE_6_e, fopAc_CULLSPHERE_7_e, - fopAc_CULLSPHERE_8_e, - fopAc_CULLSPHERE_9_e, - fopAc_CULLSPHERE_10_e, - fopAc_CULLSPHERE_11_e, - fopAc_CULLSPHERE_12_e, - fopAc_CULLSPHERE_13_e, #ifdef DEBUG - fopAc_CULLSPHERE_14_e, + fopAc_CULLSPHERE_8_e, #endif fopAc_CULLSPHERE_CUSTOM_e, }; diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 96f97c0645..33c0f51300 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -402,6 +402,14 @@ inline int fopAcM_GetCullSize(const fopAc_ac_c* i_actor) { return i_actor->cullType; } +inline int fopAcM_CULLSIZE_IDX(int i_culltype) { + return i_culltype - fopAc_CULLBOX_0_e; +} + +inline int fopAcM_CULLSIZE_Q_IDX(int i_culltype) { + return i_culltype - fopAc_CULLSPHERE_0_e; +} + inline BOOL fopAcM_CULLSIZE_IS_BOX(int i_culltype) { return (i_culltype >= 0 && i_culltype < fopAc_CULLBOX_CUSTOM_e) || i_culltype == fopAc_CULLBOX_CUSTOM_e; diff --git a/include/global.h b/include/global.h index 7f725ba12c..f81e32af9a 100644 --- a/include/global.h +++ b/include/global.h @@ -58,11 +58,12 @@ #define STATIC_ASSERT(...) #endif -// hack to make functions that return comparisons as int match +// Intrinsics extern int __cntlzw(unsigned int); -inline BOOL checkEqual(s32 a, s32 b) { - return (u32)__cntlzw(a - b) >> 5; -} +extern int __rlwimi(int, int, int, int, int); +extern void __dcbz(void*, int); +extern void __sync(); +extern int __abs(int); #ifndef __MWERKS__ void* __memcpy(void*, const void*, int); diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 635ecb623f..5af346ec4f 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -290,7 +290,7 @@ public: J3DAnmTransform* getAnm() { return mpAnm; } void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; } - u8 getPlayMode() { return mFrameCtrl.getAttribute(); } + int getPlayMode() { return mFrameCtrl.getAttribute(); } void setPlayMode(int mode) { mFrameCtrl.setAttribute(mode); } BOOL isStop() { return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f; } bool isLoop() { return mFrameCtrl.checkState(2); } diff --git a/src/JSystem/JParticle/JPABaseShape.cpp b/src/JSystem/JParticle/JPABaseShape.cpp index 3743fa40bf..0125cf197c 100644 --- a/src/JSystem/JParticle/JPABaseShape.cpp +++ b/src/JSystem/JParticle/JPABaseShape.cpp @@ -1355,7 +1355,7 @@ GXBlendMode JPABaseShape::st_bm[3] = { /* 803C436C-803C4394 02148C 0028+00 0/1 0/0 0/0 .data st_bf__12JPABaseShape */ GXBlendFactor JPABaseShape::st_bf[10] = { GX_BL_ZERO, GX_BL_ONE, GX_BL_SRCCLR, GX_BL_INVSRCCLR, - GX_BL_SRCCLR, GX_BL_INVSRCCLR, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, + GX_BL_DSTCLR, GX_BL_INVDSTCLR, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_BL_DSTALPHA, GX_BL_INVDSTALPHA, }; diff --git a/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c b/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c index 264edd9090..fdaf9844b8 100644 --- a/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c +++ b/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c @@ -1,5 +1,6 @@ #include "alloc.h" #include "critical_regions.h" +#include typedef struct Block { struct Block* prev; @@ -331,4 +332,4 @@ void free(void* ptr) { __begin_critical_region(malloc_pool_access); __pool_free(get_malloc_pool(), ptr); __end_critical_region(malloc_pool_access); -} \ No newline at end of file +} diff --git a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/msghndlr.c b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/msghndlr.c index 51a25b747f..d89400be91 100644 --- a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/msghndlr.c +++ b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/msghndlr.c @@ -2,6 +2,7 @@ #include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/nubevent.h" #include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" #include "trk.h" +#include /* 8044F288-8044F290 07BFA8 0004+04 4/4 0/0 0/0 .bss IsTRKConnected */ static BOOL IsTRKConnected; @@ -530,4 +531,4 @@ DSError TRKDoSetOption(TRKBuffer* message) { TRKStandardACK(message, DSMSG_ReplyACK, DS_NoError); return 0; -} \ No newline at end of file +} diff --git a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/support.c b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/support.c index 1d50820fbd..ad54c84636 100644 --- a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/support.c +++ b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/support.c @@ -1,6 +1,7 @@ #include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/support.h" #include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" #include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h" +#include /* 8036F278-8036F498 369BB8 0220+00 0/0 1/1 0/0 .text TRKSuppAccessFile */ DSError TRKSuppAccessFile(u32 file_handle, u8* data, size_t* count, DSIOResult* io_result, @@ -286,4 +287,4 @@ DSError HandlePositionFileSupportRequest(DSReplyError replyErr, u32* param_2, u8 TRKReleaseBuffer(bufferId1); return error; -} \ No newline at end of file +} diff --git a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/targimpl.c b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/targimpl.c index c96e0b59fc..f2b52b2f4d 100644 --- a/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/targimpl.c +++ b/src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/targimpl.c @@ -1,6 +1,7 @@ #include "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.h" #include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h" #include +#include typedef struct memRange { u8* start; diff --git a/src/d/actor/d_a_alink.cpp b/src/d/actor/d_a_alink.cpp index f9ea4a3a79..ec96db25a7 100644 --- a/src/d/actor/d_a_alink.cpp +++ b/src/d/actor/d_a_alink.cpp @@ -22,14 +22,9 @@ #include "d/actor/d_a_mirror.h" #include "d/actor/d_a_spinner.h" #include "d/actor/d_a_tbox.h" -#include "d/actor/d_a_e_wb.h" -#include "d/actor/d_a_obj_carry.h" -#include "d/actor/d_a_obj_movebox.h" -#include "d/actor/d_a_obj_sekizoa.h" #include "d/actor/d_a_tag_Lv6Gate.h" #include "d/actor/d_a_tag_kmsg.h" #include "d/actor/d_a_tag_magne.h" -#include "d/actor/d_a_tag_mist.h" #include "d/actor/d_a_tag_wljump.h" #include "d/actor/d_a_npc_tk.h" #include "d/actor/d_a_cow.h" diff --git a/src/d/actor/d_a_alink_wolf.inc b/src/d/actor/d_a_alink_wolf.inc index 9047ae3662..3a97a00b2c 100644 --- a/src/d/actor/d_a_alink_wolf.inc +++ b/src/d/actor/d_a_alink_wolf.inc @@ -26,11 +26,48 @@ #include "d/actor/d_a_obj_digplace.h" #include "d/actor/d_a_obj_digsnow.h" #include "d/actor/d_a_obj_digholl.h" +#include "d/actor/d_a_obj_sekizoa.h" +#include "d/actor/d_a_midna.h" #include "d/d_com_inf_game.h" #include "d/d_msg_object.h" #include "f_op/f_op_kankyo_mng.h" #include "m_Do/m_Do_controller_pad.h" +// Forward declarations (for clangd) +int daAlink_kandelaarModelCallBack(J3DJoint* param_0, int param_1); +extern const char l_wArcName[]; +extern const char l_bArcName[]; +extern const char l_kArcName[]; +extern const char l_zArcName[]; +extern const char l_mArcName[]; +extern const char l_hyShdArcName[]; +extern const char l_cWShdArcName[]; +extern const char l_sWShdArcName[]; +extern const char l_arcName[]; +extern dJntColData_c l_jntColData[]; +extern dJntColData_c l_wolfJntColData[]; +extern f32 l_autoUpHeight; +extern f32 l_autoDownHeight; +extern f32 const l_crawlStartFrontOffset[]; +extern Vec const l_crawlFrontOffset; +extern Vec const l_crawlBackOffset; +extern Vec const l_crawlTopOffset; +extern Vec const l_crawlFrontUpOffset; +extern Vec const l_wolfLieFrontUpOffset; +extern Vec const l_crawlBackUpOffset; +extern Vec const l_wolfLieBackUpOffset; +extern Vec const l_crawlStandUpOffset; +extern Vec const l_wolfLieStandUpOffset; +extern Vec const l_crawlTopUpOffset; +extern Vec const l_wolfLieTopUpOffset; +extern Vec const l_crawlSideOffset; +extern Vec const l_wolfLieSideOffset; +extern Vec const l_crawlMinSideOffset; +extern f32 const l_wolfFootOnFrame[][4]; +extern cXyz l_wolfBaseAnime; +extern cXyz l_wolfRopeBaseAnime; + + /* 80126740-80126928 121080 01E8+00 2/2 0/0 0/0 .text changeCommon__9daAlink_cFv */ void daAlink_c::changeCommon() { fopAcM_SetMtx(this, mpLinkModel->getBaseTRMtx()); @@ -108,41 +145,40 @@ void daAlink_c::changeCommon() { } /* 80126928-80126F3C 121268 0614+00 2/2 0/0 0/0 .text changeWolf__9daAlink_cFv */ -// NONMATCHING - small regalloc, equivalent? void daAlink_c::changeWolf() { JKRHeap* current_heap = mAnmHeap3.setAnimeHeap(); - mpLinkModel = initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 14), 0x20200); + mpLinkModel = initModel(static_cast(dComIfG_getObjectRes(l_wArcName, 14)), 0x20200); - J3DModelData* chainModelData = (J3DModelData*)dComIfG_getObjectRes(l_wArcName, 15); + J3DModelData* chainModelData = static_cast(dComIfG_getObjectRes(l_wArcName, 15)); for (u16 i = 0; i < 4; i++) { mpWlChainModels[i] = initModel(chainModelData, 0); } - mpWlMidnaModel = initModelEnv((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 10), 0x1020200); + mpWlMidnaModel = initModelEnv(static_cast(dComIfG_getObjectRes(l_wArcName, 10)), 0x1020200); mpWlMidnaMaskModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 7), 0x1000000); + initModel(static_cast(dComIfG_getObjectRes(l_wArcName, 7)), 0x1000000); mpWlMidnaHandModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 6), 0x1000000); + initModel(static_cast(dComIfG_getObjectRes(l_wArcName, 6)), 0x1000000); mpWlMidnaHairModel = - initModelEnv((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 11), 0x1000000); + initModelEnv(static_cast(dComIfG_getObjectRes(l_wArcName, 11)), 0x1000000); - mpDMidnaBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_wArcName, 18); + mpDMidnaBrk = static_cast(dComIfG_getObjectRes(l_wArcName, 18)); mpDMidnaBrk->searchUpdateMaterialID(mpWlMidnaModel->getModelData()); mpWlMidnaModel->getModelData()->entryTevRegAnimator(mpDMidnaBrk); mpDMidnaBrk->setFrame(1.0f); - mpDMidnaMaskBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_wArcName, 21); + mpDMidnaMaskBrk = static_cast(dComIfG_getObjectRes(l_wArcName, 21)); mpDMidnaMaskBrk->searchUpdateMaterialID(mpWlMidnaMaskModel->getModelData()); mpWlMidnaMaskModel->getModelData()->entryTevRegAnimator(mpDMidnaMaskBrk); mpDMidnaMaskBrk->setFrame(1.0f); - mpDMidnaHandBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_wArcName, 20); + mpDMidnaHandBrk = static_cast(dComIfG_getObjectRes(l_wArcName, 20)); mpDMidnaHandBrk->searchUpdateMaterialID(mpWlMidnaHandModel->getModelData()); mpWlMidnaHandModel->getModelData()->entryTevRegAnimator(mpDMidnaHandBrk); mpDMidnaHandBrk->setFrame(1.0f); - mpDMidnaHairHandBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_wArcName, 19); + mpDMidnaHairHandBrk = static_cast(dComIfG_getObjectRes(l_wArcName, 19)); mpDMidnaHairHandBrk->searchUpdateMaterialID(mpWlMidnaHairModel->getModelData()); mpWlMidnaHairModel->getModelData()->entryTevRegAnimator(mpDMidnaHairHandBrk); mpDMidnaHairHandBrk->setFrame(1.0f); @@ -241,7 +277,6 @@ void daAlink_c::changeWolf() { } /* 80126F3C-80127C54 12187C 0D18+00 2/2 0/0 0/0 .text changeLink__9daAlink_cFi */ -// NONMATCHING - almost, small regalloc void daAlink_c::changeLink(int param_0) { JKRHeap* current_heap = mAnmHeap3.setAnimeHeap(); offNoResetFlg2(daPy_FLG2(FLG2_UNK_100000 | FLG2_UNK_80000)); @@ -254,32 +289,32 @@ void daAlink_c::changeLink(int param_0) { offNoResetFlg2(FLG2_UNK_200000); onNoResetFlg2(FLG2_UNK_80000); - tempModelData_r28 = (J3DModelData*)dComIfG_getObjectRes("alSumou", 0x31); + tempModelData_r28 = static_cast(dComIfG_getObjectRes("alSumou", 0x31)); mpLinkModel = mDoExt_J3DModel__create(tempModelData_r28, 0x80000, 0x11000084); - mpLinkHatModel = initModel((J3DModelData*)dComIfG_getObjectRes("alSumou", 0x33), 0); - mpLinkHandModel = initModel((J3DModelData*)dComIfG_getObjectRes("alSumou", 0x32), 0); + mpLinkHatModel = initModel(static_cast(dComIfG_getObjectRes("alSumou", 0x33)), 0); + mpLinkHandModel = initModel(static_cast(dComIfG_getObjectRes("alSumou", 0x32)), 0); } else if (checkCasualWearFlg()) { onNoResetFlg2(FLG2_UNK_100000); - mpLinkModel = initModel((J3DModelData*)dComIfG_getObjectRes(l_bArcName, "bl.bmd"), 0); + mpLinkModel = initModel(static_cast(dComIfG_getObjectRes(l_bArcName, "bl.bmd")), 0); mpLinkHatModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_bArcName, "bl_head.bmd"), 0); + initModel(static_cast(dComIfG_getObjectRes(l_bArcName, "bl_head.bmd")), 0); mpLinkHandModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_bArcName, "bl_hands.bmd"), 0); + initModel(static_cast(dComIfG_getObjectRes(l_bArcName, "bl_hands.bmd")), 0); } else if (checkZoraWearFlg()) { - mpLinkModel = initModel((J3DModelData*)dComIfG_getObjectRes(l_zArcName, "zl.bmd"), 0); + mpLinkModel = initModel(static_cast(dComIfG_getObjectRes(l_zArcName, "zl.bmd")), 0); mpLinkHatModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_zArcName, "zl_head.bmd"), 0); + initModel(static_cast(dComIfG_getObjectRes(l_zArcName, "zl_head.bmd")), 0); mpLinkHandModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_zArcName, "al_hands.bmd"), 0); + initModel(static_cast(dComIfG_getObjectRes(l_zArcName, "al_hands.bmd")), 0); } else if (checkMagicArmorWearFlg()) { mpLinkModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_mArcName, "ml.bmd"), 0x1000000); + initModel(static_cast(dComIfG_getObjectRes(l_mArcName, "ml.bmd")), 0x1000000); mpLinkHatModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_mArcName, "ml_head.bmd"), 0x1000000); + initModel(static_cast(dComIfG_getObjectRes(l_mArcName, "ml_head.bmd")), 0x1000000); mpLinkHandModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_mArcName, "al_hands.bmd"), 0); + initModel(static_cast(dComIfG_getObjectRes(l_mArcName, "al_hands.bmd")), 0); if (dComIfGs_getRupee() != 0) { setMagicArmorBrk(1); @@ -290,39 +325,39 @@ void daAlink_c::changeLink(int param_0) { mMagicArmorBodyBrk->setFrame(mMagicArmorBodyBrk->getFrameMax()); mMagicArmorHeadBrk->setFrame(mMagicArmorHeadBrk->getFrameMax()); } else { - mpLinkModel = initModel((J3DModelData*)dComIfG_getObjectRes(l_kArcName, "al.bmd"), 0); + mpLinkModel = initModel(static_cast(dComIfG_getObjectRes(l_kArcName, "al.bmd")), 0); mpLinkHatModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_kArcName, "al_head.bmd"), 0); + initModel(static_cast(dComIfG_getObjectRes(l_kArcName, "al_head.bmd")), 0); mpLinkHandModel = - initModel((J3DModelData*)dComIfG_getObjectRes(l_kArcName, "al_hands.bmd"), 0); + initModel(static_cast(dComIfG_getObjectRes(l_kArcName, "al_hands.bmd")), 0); } if (checkNoResetFlg2(FLG2_UNK_200000) || !checkZoraWearFlg()) { mpLinkFaceModel = - initModel((J3DModelData*)dComIfG_getObjectRes(mArcName, "al_face.bmd"), 0x20200); + initModel(static_cast(dComIfG_getObjectRes(mArcName, "al_face.bmd")), 0x20200); } else { mpLinkFaceModel = - initModel((J3DModelData*)dComIfG_getObjectRes(mArcName, "zl_face.bmd"), 0x20200); + initModel(static_cast(dComIfG_getObjectRes(mArcName, "zl_face.bmd")), 0x20200); } - tempModelData_r28 = (J3DModelData*)dComIfG_getObjectRes(mArcName, "al_bootsH.bmd"); + tempModelData_r28 = static_cast(dComIfG_getObjectRes(mArcName, "al_bootsH.bmd")); u16 i; for (i = 0; i < 2; i++) { mpLinkBootModels[i] = initModel(tempModelData_r28, 0); } - mpKanteraModel = initModelEnv((J3DModelData*)dComIfG_getObjectRes(mArcName, "al_kantera.bmd"), 0); + mpKanteraModel = initModelEnv(static_cast(dComIfG_getObjectRes(mArcName, "al_kantera.bmd")), 0); tempModelData_r28 = - (J3DModelData*)dComIfG_getObjectRes(mArcName, "ef_ktGlow.bmd"); + static_cast(dComIfG_getObjectRes(mArcName, "ef_ktGlow.bmd")); mpKanteraGlowModel = initModel(tempModelData_r28, 0x200); - mpKanteraGlowBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(mArcName, "ef_ktGlow.btk"); + mpKanteraGlowBtk = static_cast(dComIfG_getObjectRes(mArcName, "ef_ktGlow.btk")); mpKanteraGlowBtk->setFrame(0.0f); mpKanteraGlowBtk->searchUpdateMaterialID(tempModelData_r28); tempModelData_r28->entryTexMtxAnimator(mpKanteraGlowBtk); - mWoodSwordModel = initModel((J3DModelData*)dComIfG_getObjectRes(mArcName, "al_SWB.bmd"), 0); + mWoodSwordModel = initModel(static_cast(dComIfG_getObjectRes(mArcName, "al_SWB.bmd")), 0); mDoExt_setCurrentHeap(current_heap); @@ -1922,6 +1957,8 @@ void daAlink_c::setWolfFootMatrix() { /* 8012B724-8012BFA8 126064 0884+00 1/1 0/0 0/0 .text wolfFootBgCheck__9daAlink_cFv */ void daAlink_c::wolfFootBgCheck() { + int i; + int j; if (field_0x2060->getOldFrameFlg()) { cXyz spBC; cXyz spB0; @@ -1957,8 +1994,13 @@ void daAlink_c::wolfFootBgCheck() { f32* sp20 = &spA0[0][0]; cXyz* var_r26 = &spC8[0]; - f32 temp_f29 = 50.0f * fabsf(cM_ssin(field_0x2ff0)); - f32 temp_f27 = 30.0f + temp_f29; + f32 temp_f31; + f32 temp_f30; + f32 temp_f29; + f32 var_f28; + f32 temp_f27; + temp_f29 = 50.0f * fabsf(cM_ssin(field_0x2ff0)); + temp_f27 = 30.0f + temp_f29; f32 sp1C = -temp_f27; mDoMtx_stack_c::XrotS(-shape_angle.x); mDoMtx_stack_c::YrotM(-shape_angle.y); @@ -1991,15 +2033,15 @@ void daAlink_c::wolfFootBgCheck() { spBC.set(var_r26->x, temp_f29 + (50.0f + (current.pos.y + l_autoUpHeight)), var_r26->z); mLinkGndChk.SetPos(&spBC); - f32 temp_f1 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - f32 temp_f30 = var_r26->y - temp_f1; + temp_f31 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); + temp_f30 = var_r26->y - temp_f31; - if (-1000000000.0f != temp_f1 && temp_f30 < temp_f27 && temp_f30 > sp1C) { - *sp20 = temp_f1; + if (-1000000000.0f != temp_f31 && temp_f30 < temp_f27 && temp_f30 > sp1C) { + *sp20 = temp_f31; var_r28->field_0x0 = 1; sp48[i][j] = getGroundAngle(&mLinkGndChk, shape_angle.y); - spBC.set(var_r26->x - current.pos.x, temp_f1 - current.pos.y, var_r26->z - current.pos.z); + spBC.set(var_r26->x - current.pos.x, temp_f31 - current.pos.y, var_r26->z - current.pos.z); mDoMtx_stack_c::multVec(&spBC, &spB0); *sp20 = spB0.y + current.pos.y; } else { @@ -2009,22 +2051,21 @@ void daAlink_c::wolfFootBgCheck() { } } - f32 var_f28; if (!sp24) { for (i = 0; i < 2; i++) { - /* if (spA0[i][1] > spA0[i][0]) { + if (spA0[i][1] > spA0[i][0]) { sp38[i] = spA0[i][0]; sp40[i] = 0; } else { sp38[i] = spA0[i][1]; sp40[i] = 1; } + } - if (sp38[0] > sp38[1]) { - var_f28 = sp38[0]; - } else { - var_f28 = sp38[1]; - } */ + if (sp38[0] > sp38[1]) { + var_f28 = sp38[1]; + } else { + var_f28 = sp38[0]; } } @@ -2046,13 +2087,13 @@ void daAlink_c::wolfFootBgCheck() { sp58[i][j] = 0; sp50[i][j] = 0; } else { - f32 var_f30 = spA0[i][j] - sp2C[1][3]; - if (var_f30 >= 35.0f) { - var_f30 = 35.0f; + temp_f30 = spA0[i][j] - sp2C[1][3]; + if (temp_f30 >= 35.0f) { + temp_f30 = 35.0f; } - if (var_f30 > 0.0f || sp30) { - if (!setLegAngle(var_f30, var_r28, &sp58[i][j], &sp50[i][j], 1)) { + if (temp_f30 > 0.0f || sp30) { + if (!setLegAngle(temp_f30, var_r28, &sp58[i][j], &sp50[i][j], 1)) { sp58[i][j] = 0; sp50[i][j] = 0; } @@ -2095,36 +2136,36 @@ void daAlink_c::wolfFootBgCheck() { sp84.y += 165.0f; mLinkGndChk.SetPos(&sp90); - f32 temp_f1_2 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - if (fabsf(temp_f1_2 - current.pos.y) < 55.0f + temp_f29) { - sp90.y = temp_f1_2; + temp_f31 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); + if (fabsf(temp_f31 - current.pos.y) < 55.0f + temp_f29) { + sp90.y = temp_f31; } else { sp90.y = current.pos.y; } int sp18; - if (-1000000000.0f != temp_f1_2) { + if (-1000000000.0f != temp_f31) { sp18 = dComIfG_Bgsp().GetPolyAtt0(mLinkGndChk); } - if (-1000000000.0f == temp_f1_2 || sp18 == 3 || sp18 == 0xD) { + if (-1000000000.0f == temp_f31 || sp18 == 3 || sp18 == 0xD) { sp90.y += mSinkShapeOffset; } mLinkGndChk.SetPos(&sp84); - f32 temp_f1_3 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); - if (fabsf(temp_f1_3 - current.pos.y) < 55.0f + temp_f29) { - sp84.y = temp_f1_3; + temp_f31 = dComIfG_Bgsp().GroundCross(&mLinkGndChk); + if (fabsf(temp_f31 - current.pos.y) < 55.0f + temp_f29) { + sp84.y = temp_f31; } else { sp84.y = current.pos.y; } - if (-1000000000.0f != temp_f1_3) { + if (-1000000000.0f != temp_f31) { sp18 = dComIfG_Bgsp().GetPolyAtt0(mLinkGndChk); } - if (-1000000000.0f == temp_f1_3 || sp18 == 3 || sp18 == 0xD) { + if (-1000000000.0f == temp_f31 || sp18 == 3 || sp18 == 0xD) { sp84.y += mSinkShapeOffset; } @@ -4897,7 +4938,6 @@ int daAlink_c::procWolfRopeStaggerInit(int param_0) { /* 80133164-8013384C 12DAA4 06E8+00 1/0 0/0 0/0 .text procWolfRopeStagger__9daAlink_cFv */ -// NONMATCHING - regalloc int daAlink_c::procWolfRopeStagger() { daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; daObjCrope_c* temp_r3 = (daObjCrope_c*)field_0x280c.getActor(); @@ -5009,14 +5049,13 @@ int daAlink_c::procWolfRopeSubjectivityInit() { } /* 80133930-80133D6C 12E270 043C+00 1/0 0/0 0/0 .text procWolfRopeSubjectivity__9daAlink_cFv */ -// NONMATCHING - float regalloc int daAlink_c::procWolfRopeSubjectivity() { daPy_frameCtrl_c* temp_r28 = &mUnderFrameCtrl[0]; daObjCrope_c* temp_r3 = (daObjCrope_c*)field_0x280c.getActor(); cXyz* temp_r26 = temp_r3->getRopeStartPos(); cXyz* temp_r25 = temp_r3->getRopeEndPos(); - temp_r3->getRopeVec(); + cXyz* r23 = temp_r3->getRopeVec(); f32 temp_f31 = temp_r3->getStartRate(¤t.pos); f32 temp_f30 = temp_r26->absXZ(current.pos); @@ -5050,7 +5089,8 @@ int daAlink_c::procWolfRopeSubjectivity() { shape_angle.y += mBodyAngle.y; setBodyAngleToCamera(); - mBodyAngle.y = cLib_minMaxLimit((s16)(shape_angle.y - current.angle.y), -0x5000, 0x5000); + s16 r24 = cLib_minMaxLimit((s16)(shape_angle.y - current.angle.y), -0x5000, 0x5000); + mBodyAngle.y = r24; shape_angle.y = current.angle.y; return 1; } @@ -6983,8 +7023,8 @@ void daAlink_c::setWolfLockDomeModel() { void daAlink_c::setWolfBallModel() { JKRHeap* prev_heap = setItemHeap(); - mHeldItemModel = initModel((J3DModelData*)dComIfG_getObjectRes(l_arcName, 0x25), 0x200); - field_0x0718 = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 0x49); + mHeldItemModel = initModel(static_cast(dComIfG_getObjectRes(l_arcName, 0x25)), 0x200); + field_0x0718 = static_cast(dComIfG_getObjectRes(l_arcName, 0x49)); field_0x0718->searchUpdateMaterialID(mHeldItemModel->getModelData()); mpHookSound = new Z2SoundObjSimple(); diff --git a/src/d/actor/d_a_e_dk.cpp b/src/d/actor/d_a_e_dk.cpp index dcf89ee0ba..309c935a23 100644 --- a/src/d/actor/d_a_e_dk.cpp +++ b/src/d/actor/d_a_e_dk.cpp @@ -834,7 +834,7 @@ void daE_DK_c::action() { collCenter.y += 150.0f + nREG_F(18); mSphereChk.SetC(collCenter); mSphereChk.SetR(150.0f + nREG_F(19)); - mSphereChk.SetCallback((SphChk_Callback)SphBgcCallBack); + mSphereChk.SetCallback(SphBgcCallBack); dComIfG_Bgsp().SphChk(&mSphereChk, this); } diff --git a/src/d/actor/d_a_myna.cpp b/src/d/actor/d_a_myna.cpp index 245fb1f9d3..23d981692c 100644 --- a/src/d/actor/d_a_myna.cpp +++ b/src/d/actor/d_a_myna.cpp @@ -1490,14 +1490,14 @@ J3DAnmTexPattern* daMyna_c::getTexPtrnAnm(char* i_resName) { /* 80949998-80949A70 003E18 00D8+00 1/1 0/0 0/0 .text checkEndAnm__8daMyna_cFf */ int daMyna_c::checkEndAnm(f32 param_0) { bool retVal; - switch (mpMorf->getPlayMode()) { - case 2: + switch ((u8)mpMorf->getPlayMode()) { + case J3DFrameCtrl::EMode_LOOP: return mpMorf->isLoop(); - case 0: - case 1: + case J3DFrameCtrl::EMode_NONE: + case J3DFrameCtrl::EMode_RESET: return mpMorf->isStop() && mpMorf->getPlaySpeed() != param_0; - case 3: - case 4: + case J3DFrameCtrl::EMode_REVERSE: + case J3DFrameCtrl::EMode_LOOP_REVERSE: return mpMorf->isStop() && mpMorf->getPlaySpeed() != param_0; default: return false; diff --git a/src/d/actor/d_a_npc.cpp b/src/d/actor/d_a_npc.cpp index b1f56b800b..37c295be3c 100644 --- a/src/d/actor/d_a_npc.cpp +++ b/src/d/actor/d_a_npc.cpp @@ -1438,7 +1438,7 @@ void daNpcT_c::setRoomNo() { /* 80148D10-80148DD0 143650 00C0+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFf */ int daNpcT_c::checkEndAnm(f32 i_speed) { - switch (mpMorf[0]->getPlayMode()) { + switch ((u8)mpMorf[0]->getPlayMode()) { case J3DFrameCtrl::EMode_LOOP: return mpMorf[0]->isLoop(); case J3DFrameCtrl::EMode_NONE: diff --git a/src/d/actor/d_a_npc2.cpp b/src/d/actor/d_a_npc2.cpp index 5845bccc87..7bc30dea35 100644 --- a/src/d/actor/d_a_npc2.cpp +++ b/src/d/actor/d_a_npc2.cpp @@ -551,7 +551,7 @@ BOOL daBaseNpc_c::btkCtrl() { /* 8014F148-8014F1C8 149A88 0080+00 1/1 0/0 0/0 .text checkEndAnm__11daBaseNpc_cFf */ int daBaseNpc_c::checkEndAnm(f32 param_0) { - switch (mpModelMorf->getPlayMode()) { + switch ((u8)mpModelMorf->getPlayMode()) { case J3DFrameCtrl::EMode_LOOP: return mpModelMorf->isLoop(); case J3DFrameCtrl::EMode_NONE: diff --git a/src/d/actor/d_a_npc4.cpp b/src/d/actor/d_a_npc4.cpp index 57cf1c20d6..d8e408ca22 100644 --- a/src/d/actor/d_a_npc4.cpp +++ b/src/d/actor/d_a_npc4.cpp @@ -936,7 +936,7 @@ void daNpcF_c::setRoomNo() { /* 80152E24-80152EC4 14D764 00A0+00 1/1 0/0 0/0 .text chkEndAnm__8daNpcF_cFf */ BOOL daNpcF_c::chkEndAnm(f32 param_0) { - switch (mpMorf->getPlayMode()) { + switch ((u8)mpMorf->getPlayMode()) { case J3DFrameCtrl::EMode_LOOP: return mpMorf->isLoop(); case J3DFrameCtrl::EMode_NONE: diff --git a/src/d/actor/d_a_npc_kn_base.inc b/src/d/actor/d_a_npc_kn_base.inc index a1fd61ff63..d059ab65e5 100644 --- a/src/d/actor/d_a_npc_kn_base.inc +++ b/src/d/actor/d_a_npc_kn_base.inc @@ -278,7 +278,7 @@ void daNpc_Kn_c::setRoomNo() { /* 80A3904C-80A390F8 00E72C 00AC+00 1/1 0/0 0/0 .text checkEndAnm__10daNpc_Kn_cFf */ BOOL daNpc_Kn_c::checkEndAnm(f32 i_speed) { - switch (mpModelMorf[0]->getPlayMode()) { + switch ((u8)mpModelMorf[0]->getPlayMode()) { case J3DFrameCtrl::EMode_LOOP: return mpModelMorf[0]->isLoop(); case J3DFrameCtrl::EMode_RESET: diff --git a/src/d/actor/d_a_obj_carry.cpp b/src/d/actor/d_a_obj_carry.cpp index 7e0b4c78b2..2bfb256673 100644 --- a/src/d/actor/d_a_obj_carry.cpp +++ b/src/d/actor/d_a_obj_carry.cpp @@ -1080,7 +1080,7 @@ int daObjCarry_c::Create() { } } - fopAcM_SetCullSize(this, fopAc_CULLSPHERE_8_e); + fopAcM_SetCullSize(this, fopAc_CULLSPHERE_CUSTOM_e); fopAcM_setCullSizeSphere(this, data().m_cullsph_min_x, data().m_cullsph_min_y, data().m_cullsph_min_z, mpModel->getModelData()->getJointNodePointer(0)->getRadius() * data().scale); cLib_onBit(attention_info.flags, fopAc_AttnFlag_CARRY_e); diff --git a/src/d/actor/d_a_obj_stone.cpp b/src/d/actor/d_a_obj_stone.cpp index 80bae133ca..0291b8c222 100644 --- a/src/d/actor/d_a_obj_stone.cpp +++ b/src/d/actor/d_a_obj_stone.cpp @@ -1106,7 +1106,7 @@ extern actor_process_profile_definition g_profile_Obj_Stone = { &l_daObjStone_Method, // sub_method 0x40100, // mStatus fopAc_ACTOR_e, // mActorType - fopAc_CULLSPHERE_8_e, // cullType + fopAc_CULLSPHERE_CUSTOM_e, // cullType }; /* 80CECC3C-80CECC3C 000188 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_obj_stoneMark.cpp b/src/d/actor/d_a_obj_stoneMark.cpp index 52d18a1829..21fdfe5b7e 100644 --- a/src/d/actor/d_a_obj_stoneMark.cpp +++ b/src/d/actor/d_a_obj_stoneMark.cpp @@ -115,5 +115,5 @@ extern actor_process_profile_definition g_profile_Obj_StoneMark = { &l_daObjSMark_Method, // sub_method 0x40100, // mStatus fopAc_ACTOR_e, // mActorType - fopAc_CULLSPHERE_8_e, // cullType + fopAc_CULLSPHERE_CUSTOM_e, // cullType }; diff --git a/src/d/actor/d_a_tag_Lv6Gate.cpp b/src/d/actor/d_a_tag_Lv6Gate.cpp index a04ed81cb8..b5230d35a1 100644 --- a/src/d/actor/d_a_tag_Lv6Gate.cpp +++ b/src/d/actor/d_a_tag_Lv6Gate.cpp @@ -65,9 +65,11 @@ int daTagLv6Gate_c::createHeap() { return 0; } - return checkEqual( - mBgW[1].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, 28), cBgW::MOVE_BG_e, &field_0x6f8[1]), - 0); + if (mBgW[1].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, 28), cBgW::MOVE_BG_e, &field_0x6f8[1])) { + return 0; + } + + return 1; } /* 80D4FBB8-80D4FBD8 000398 0020+00 1/0 0/0 0/0 .text daTagLv6Gate_Create__FP10fopAc_ac_c @@ -151,12 +153,13 @@ inline int daTagLv6Gate_c::execute() { dComIfGp_particle_set(0x8B89, &pos, &angle, NULL); break; } - case '0003': + case '0003': { fopAcM_onSwitch(this, getSwitchNo2()); Vec se_pos = {0.0f, 1800.0f, -6800.0f}; Z2GetAudioMgr()->seStart(Z2SE_OBJ_LV6_GATE_STAIR, &se_pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); break; + } case '0004': { cXyz pos(117.8473f, 1677.0f, -5110.8394f); diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 3be0aa1a49..d391798469 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -40,7 +40,7 @@ static f32 limitf(f32 value, f32 min, f32 max) { return value; } -static f32 rangef(f32 value1, f32 value2, f32 ratio) { +static inline f32 rangef(f32 value1, f32 value2, f32 ratio) { return value1 + (value2 - value1) * ratio; } @@ -2336,7 +2336,7 @@ u32 dCamera_c::lineCollisionCheckBush(cXyz* i_start, cXyz* i_end) { /* 80165C08-80165CE0 160548 00D8+00 1/1 0/0 0/0 .text * sph_chk_callback__FP11dBgS_SphChkP10cBgD_Vtx_tiiiP8cM3dGPlaPv */ -static void* sph_chk_callback(dBgS_SphChk* i_sphChk, cBgD_Vtx_t* i_vtxTbl, int i_vtxIdx0, +static void sph_chk_callback(dBgS_SphChk* i_sphChk, cBgD_Vtx_t* i_vtxTbl, int i_vtxIdx0, int i_vtxIdx1, int i_vtxIdx2, cM3dGPla* i_plane, void* i_data) { camSphChkdata* sph_chk_data = (camSphChkdata*)i_data; if (!sph_chk_data->field_0x1c) { @@ -2348,7 +2348,6 @@ static void* sph_chk_callback(dBgS_SphChk* i_sphChk, cBgD_Vtx_t* i_vtxTbl, int i sph_chk_data->field_0x1c = true; } } - //! @bug Function does not return a value } /* 80165CE0-80165E74 160620 0194+00 1/1 0/0 0/0 .text compWallMargin__9dCamera_cFP4cXyzP4cXyzf */ diff --git a/src/dolphin/gx/GXTexture.c b/src/dolphin/gx/GXTexture.c index ad12a7bf53..ba5829901a 100644 --- a/src/dolphin/gx/GXTexture.c +++ b/src/dolphin/gx/GXTexture.c @@ -1,5 +1,6 @@ #include #include +#include #include "__gx.h" diff --git a/src/dolphin/gx/__gx.h b/src/dolphin/gx/__gx.h index 1e065bbb2f..20a85d2cc3 100644 --- a/src/dolphin/gx/__gx.h +++ b/src/dolphin/gx/__gx.h @@ -2,6 +2,7 @@ #define _DOLPHIN_GX_INTERNAL_H_ #include +#include "global.h" // IWYU pragma: export #ifdef __cplusplus extern "C" { diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index cbf9447bc2..d13b8337ed 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -757,7 +757,7 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) { mtx_p = j3dSys.getViewMtx(); } else { Mtx concat_mtx; - MTXConcat(j3dSys.getViewMtx(), fopAcM_GetMtx(i_actor), concat_mtx); + cMtx_concat(j3dSys.getViewMtx(), fopAcM_GetMtx(i_actor), concat_mtx); mtx_p = concat_mtx; } @@ -766,10 +766,8 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) { cullsize_far *= dComIfGp_event_getCullRate(); } - int cullsize = fopAcM_GetCullSize(i_actor); - - if (fopAcM_CULLSIZE_IS_BOX(cullsize)) { - if (fopAcM_GetCullSize(i_actor) == 14) { + if (fopAcM_CULLSIZE_IS_BOX(fopAcM_GetCullSize(i_actor))) { + if (fopAcM_GetCullSize(i_actor) == fopAc_CULLBOX_CUSTOM_e) { if (fopAcM_getCullSizeFar(i_actor) > 0.0f) { mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar()); u32 ret = @@ -780,7 +778,7 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) { return mDoLib_clipper::clip(mtx_p, &i_actor->cull.box.max, &i_actor->cull.box.min); } } else { - cull_box* box = &l_cullSizeBox[cullsize]; + cull_box* box = &l_cullSizeBox[fopAcM_CULLSIZE_IDX(fopAcM_GetCullSize(i_actor))]; if (fopAcM_getCullSizeFar(i_actor) > 0.0f) { mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar()); @@ -792,7 +790,7 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) { } } } else { - if (fopAcM_GetCullSize(i_actor) == 23) { + if (fopAcM_GetCullSize(i_actor) == fopAc_CULLSPHERE_CUSTOM_e) { if (fopAcM_getCullSizeFar(i_actor) > 0.0f) { mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar()); u32 ret = mDoLib_clipper::clip(mtx_p, fopAcM_getCullSizeSphereCenter(i_actor), @@ -804,7 +802,7 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) { fopAcM_getCullSizeSphereR(i_actor)); } } else { - cull_sphere* sphere = &l_cullSizeSphere[cullsize - 15]; + cull_sphere* sphere = &l_cullSizeSphere[fopAcM_CULLSIZE_Q_IDX(fopAcM_GetCullSize(i_actor))]; if (fopAcM_getCullSizeFar(i_actor) > 0.0f) { mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar());