summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2025-09-26 21:50:46 -0400
committerGitHub <noreply@github.com>2025-09-26 18:50:46 -0700
commit6242aa6e8411cd6bbcfec5ee4f421950a62cae8d (patch)
treeb8fe4ac0f56c8afbbdb49c67dbe0063b09181a42
parent30fafe135d20aaad8c9efc4c0a2de1e216822487 (diff)
Misc matches and fixes (#2703)
* Match mDoExt_morf_c::getPlayMode * Misc cleanup * Fix actor cull spheres * Match daPy_py_c::getLastSceneSwordAtUpTime, JUTGamePad::testTrigger * Fix improper demangling of dBgS_SphChk::SetCallback * Fix d_camera rangef weak func order * Match more alink_wolf funcs
-rw-r--r--include/JSystem/J3DGraphBase/J3DDrawBuffer.h2
-rw-r--r--include/JSystem/JGadget/linklist.h4
-rw-r--r--include/JSystem/JParticle/JPABaseShape.h2
-rw-r--r--include/JSystem/JParticle/JPAChildShape.h2
-rw-r--r--include/JSystem/JParticle/JPADynamicsBlock.h3
-rw-r--r--include/JSystem/JParticle/JPAExTexShape.h2
-rw-r--r--include/JSystem/JParticle/JPAExtraShape.h2
-rw-r--r--include/JSystem/JUtility/JUTGamePad.h2
-rw-r--r--include/d/actor/d_a_player.h2
-rw-r--r--include/d/d_bg_s_sph_chk.h2
-rw-r--r--include/dolphin/gd/GDLight.h1
-rw-r--r--include/f_op/f_op_actor.h8
-rw-r--r--include/f_op/f_op_actor_mng.h8
-rw-r--r--include/global.h9
-rw-r--r--include/m_Do/m_Do_ext.h2
-rw-r--r--src/JSystem/JParticle/JPABaseShape.cpp2
-rw-r--r--src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c3
-rw-r--r--src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/msghndlr.c3
-rw-r--r--src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Portable/support.c3
-rw-r--r--src/TRK_MINNOW_DOLPHIN/debugger/embedded/MetroTRK/Processor/ppc/Generic/targimpl.c1
-rw-r--r--src/d/actor/d_a_alink.cpp5
-rw-r--r--src/d/actor/d_a_alink_wolf.inc178
-rw-r--r--src/d/actor/d_a_e_dk.cpp2
-rw-r--r--src/d/actor/d_a_myna.cpp12
-rw-r--r--src/d/actor/d_a_npc.cpp2
-rw-r--r--src/d/actor/d_a_npc2.cpp2
-rw-r--r--src/d/actor/d_a_npc4.cpp2
-rw-r--r--src/d/actor/d_a_npc_kn_base.inc2
-rw-r--r--src/d/actor/d_a_obj_carry.cpp2
-rw-r--r--src/d/actor/d_a_obj_stone.cpp2
-rw-r--r--src/d/actor/d_a_obj_stoneMark.cpp2
-rw-r--r--src/d/actor/d_a_tag_Lv6Gate.cpp11
-rw-r--r--src/d/d_camera.cpp5
-rw-r--r--src/dolphin/gx/GXTexture.c1
-rw-r--r--src/dolphin/gx/__gx.h1
-rw-r--r--src/f_op/f_op_actor_mng.cpp14
36 files changed, 176 insertions, 130 deletions
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<T, I> {
}
}
- TLinkList<T, I>::iterator Erase_destroy(T* param_0) {
- TLinkList<T, I>::iterator spC(Erase(param_0));
+ typename TLinkList<T, I>::iterator Erase_destroy(T* param_0) {
+ typename TLinkList<T, I>::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 <dolphin/gx/GXEnum.h>
#include <dolphin/gx/GXStruct.h>
+#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 <string.h>
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 <string.h>
/* 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 <string.h>
/* 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 <stdint.h>
+#include <string.h>
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<J3DModelData*>(dComIfG_getObjectRes(l_wArcName, 14)), 0x20200);
- J3DModelData* chainModelData = (J3DModelData*)dComIfG_getObjectRes(l_wArcName, 15);
+ J3DModelData* chainModelData = static_cast<J3DModelData*>(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<J3DModelData*>(dComIfG_getObjectRes(l_wArcName, 10)), 0x1020200);
mpWlMidnaMaskModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 7), 0x1000000);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_wArcName, 7)), 0x1000000);
mpWlMidnaHandModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 6), 0x1000000);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_wArcName, 6)), 0x1000000);
mpWlMidnaHairModel =
- initModelEnv((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 11), 0x1000000);
+ initModelEnv(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_wArcName, 11)), 0x1000000);
- mpDMidnaBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_wArcName, 18);
+ mpDMidnaBrk = static_cast<J3DAnmTevRegKey*>(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<J3DAnmTevRegKey*>(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<J3DAnmTevRegKey*>(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<J3DAnmTevRegKey*>(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<J3DModelData*>(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<J3DModelData*>(dComIfG_getObjectRes("alSumou", 0x33)), 0);
+ mpLinkHandModel = initModel(static_cast<J3DModelData*>(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<J3DModelData*>(dComIfG_getObjectRes(l_bArcName, "bl.bmd")), 0);
mpLinkHatModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_bArcName, "bl_head.bmd"), 0);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_bArcName, "bl_head.bmd")), 0);
mpLinkHandModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_bArcName, "bl_hands.bmd"), 0);
+ initModel(static_cast<J3DModelData*>(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<J3DModelData*>(dComIfG_getObjectRes(l_zArcName, "zl.bmd")), 0);
mpLinkHatModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_zArcName, "zl_head.bmd"), 0);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_zArcName, "zl_head.bmd")), 0);
mpLinkHandModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_zArcName, "al_hands.bmd"), 0);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_zArcName, "al_hands.bmd")), 0);
} else if (checkMagicArmorWearFlg()) {
mpLinkModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_mArcName, "ml.bmd"), 0x1000000);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_mArcName, "ml.bmd")), 0x1000000);
mpLinkHatModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_mArcName, "ml_head.bmd"), 0x1000000);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_mArcName, "ml_head.bmd")), 0x1000000);
mpLinkHandModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_mArcName, "al_hands.bmd"), 0);
+ initModel(static_cast<J3DModelData*>(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<J3DModelData*>(dComIfG_getObjectRes(l_kArcName, "al.bmd")), 0);
mpLinkHatModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_kArcName, "al_head.bmd"), 0);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(l_kArcName, "al_head.bmd")), 0);
mpLinkHandModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(l_kArcName, "al_hands.bmd"), 0);
+ initModel(static_cast<J3DModelData*>(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<J3DModelData*>(dComIfG_getObjectRes(mArcName, "al_face.bmd")), 0x20200);
} else {
mpLinkFaceModel =
- initModel((J3DModelData*)dComIfG_getObjectRes(mArcName, "zl_face.bmd"), 0x20200);
+ initModel(static_cast<J3DModelData*>(dComIfG_getObjectRes(mArcName, "zl_face.bmd")), 0x20200);
}
- tempModelData_r28 = (J3DModelData*)dComIfG_getObjectRes(mArcName, "al_bootsH.bmd");
+ tempModelData_r28 = static_cast<J3DModelData*>(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<J3DModelData*>(dComIfG_getObjectRes(mArcName, "al_kantera.bmd")), 0);
tempModelData_r28 =
- (J3DModelData*)dComIfG_getObjectRes(mArcName, "ef_ktGlow.bmd");
+ static_cast<J3DModelData*>(dComIfG_getObjectRes(mArcName, "ef_ktGlow.bmd"));
mpKanteraGlowModel = initModel(tempModelData_r28, 0x200);
- mpKanteraGlowBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(mArcName, "ef_ktGlow.btk");
+ mpKanteraGlowBtk = static_cast<J3DAnmTextureSRTKey*>(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<J3DModelData*>(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(&current.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>((s16)(shape_angle.y - current.angle.y), -0x5000, 0x5000);
+ s16 r24 = cLib_minMaxLimit<s16>((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<J3DModelData*>(dComIfG_getObjectRes(l_arcName, 0x25)), 0x200);
+ field_0x0718 = static_cast<J3DAnmTextureSRTKey*>(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<u32>(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 <dolphin/gx.h>
#include <dolphin/os.h>
+#include <string.h>
#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 <dolphin/gx.h>
+#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());