* f_op debug 1

* f_op debug 2

* f_op debug 3

* f_op debug 4

* f_op debug 5

* f_op_debug fix build

* f_op linking

* remove goto in fopac_create

* fix regressions

* fix regressions

* pr comments

* f_op debug 6

* f_op debug 7

* f_op debug 8

* f_op debug 9

* f_op debug 10

* f_op work, linking, symbols, heap

* regressions 1

* regressions 2

* pr comments
This commit is contained in:
Niklas Bauer
2025-12-30 13:22:38 +01:00
committed by GitHub
parent 798ba743a0
commit b3803dfa74
32 changed files with 729 additions and 302 deletions
+3 -1
View File
@@ -86,7 +86,9 @@ public:
/* vt 0x18 */ virtual void resize(f32 x, f32 y);
/* vt 0x1C */ virtual void setCullBack(bool cull);
/* vt 0x20 */ virtual void setCullBack(_GXCullMode cmode);
/* vt 0x24 */ virtual void setAlpha(u8);
/* vt 0x24 */ virtual void setAlpha(u8 alpha) {
mAlpha = alpha;
};
/* vt 0x28 */ virtual bool setConnectParent(bool connected);
/* vt 0x2C */ virtual void calcMtx() {
if (mPaneTree.getParent() != NULL) {
+1
View File
@@ -63,6 +63,7 @@ protected:
void joinTwoBlocks(CMemBlock* block);
public:
s32 isEmpty();
s32 getUsedSize(u8 groupId) const;
s32 getTotalUsedSize(void) const;
+4 -1
View File
@@ -63,10 +63,12 @@ namespace JUTAssertion {
u32 getSDevice();
void showAssert_f(u32 device, const char* file, int line, const char* msg, ...);
void showAssert_f_va(u32 device, const char* file, int line, const char* msg, __va_list args);
void setWarningMessage_f(u32 device, char * file, int line, const char * fmt, ...);
void setWarningMessage_f_va(u32 device, const char* file, int line, const char* msg, va_list args);
void setLogMessage_f(u32 device, char* file, int line, const char* fmt, ...);
void setConfirmMessage(u32 param_1, char* file, int line, bool param_4, const char* msg);
inline void showAssert(u32 device, const char* file, int line, const char* msg) {
showAssert_f(device, file, line, "%s", msg);
}
@@ -76,6 +78,7 @@ namespace JUTAssertion {
}
};
extern bool sAssertVisible;
#endif /* JUTASSERT_H */
+1
View File
@@ -22,6 +22,7 @@ void dDbVw_drawCircle(int i_bufferType, cXyz& i_pos, f32 i_radius, const GXColor
void dDbVw_drawSphere(int i_bufferType, cXyz& i_pos, f32 i_size, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawCylinder(int i_bufferType, cXyz& i_pos, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawCylinderM(int i_bufferType, Mtx i_mtx, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawCube8pXlu(cXyz* i_points, const GXColor& i_color);
inline void dDbVw_drawCube8pOpa(cXyz* i_points, const GXColor& i_color) {
dDbVw_drawCube8p(0, i_points, i_color);
+6
View File
@@ -12,4 +12,10 @@ struct dDvdErrorMsg_c {
static u8 execute();
};
#if !PLATFORM_GCN
struct dConnectErrorMsg_c {
static void disable();
};
#endif
#endif /* D_D_ERROR_MSG_H */
+2 -2
View File
@@ -417,7 +417,7 @@ inline void dMsgObject_changeFlowGroup(s32 flow) {
inline void dMsgObject_setTalkActor(fopAc_ac_c* actor) {
if (dMsgObject_getMsgObjectClass() != NULL) {
dMsgObject_c::setTalkActor(actor);
dMsgObject_getMsgObjectClass()->setTalkActor(actor);
}
}
@@ -445,7 +445,7 @@ inline void dMsgObject_setKillMessageFlag() {
}
inline void dMsgObject_endFlowGroup() {
dMsgObject_c::endFlowGroup();
dMsgObject_getMsgObjectClass()->endFlowGroup();
}
inline void dMsgObject_setSmellType(u8 type) {
+4
View File
@@ -30,6 +30,10 @@ inline BOOL dPath_ChkClose(const dPath* i_path) { return i_path->m_closed & 1; }
dPath* dPath_GetRoomPath(int path_index, int room_no);
dPath* dPath_GetNextRoomPath(dPath const* i_path, int room_no);
dPnt* dPath_GetPnt(dPath const* i_path, int pnt_index);
#if !PLATFORM_GCN // Fakematch due to differing return type on non-GCN platforms
int dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2);
#else
u8 dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2);
#endif
#endif /* D_D_PATH_H */
+1 -1
View File
@@ -19,7 +19,7 @@ enum {
/* 0x00C */ PROC_OPENING_SCENE,
/* 0x00D */ PROC_NAME_SCENE,
/* 0x00E */ PROC_NAMEEX_SCENE,
#if VERSION != VERSION_WII_USA_R0
#if VERSION != VERSION_WII_USA_R0 && VERSION != VERSION_WII_PAL
/* 0x00F */ PROC_WARNING_SCENE,
/* 0x010 */ PROC_WARNING2_SCENE,
#endif
+2 -1
View File
@@ -1140,7 +1140,8 @@ public:
static void setRegionNo(int i_roomNo, u8 i_regionNo) { mStatus[i_roomNo].mRegionNo = i_regionNo; }
u8 checkStatusFlag(int i_roomNo, u8 flag) const {
return cLib_checkBit(mStatus[i_roomNo].mFlag, flag);
JUT_ASSERT(2699, 0 <= i_roomNo && i_roomNo < 64);
return cLib_checkBit((u8) mStatus[i_roomNo].mFlag, flag);
}
void onStatusFlag(int i_roomNo, u8 flag) {
+15 -16
View File
@@ -39,6 +39,17 @@ class cM3dGPla;
s8 dComIfGp_getReverb(int roomNo);
namespace fopAcM {
extern u8 HeapAdjustEntry;
extern u8 HeapAdjustUnk;
extern u8 HeapAdjustVerbose;
extern u8 HeapAdjustQuiet;
extern u8 HeapDummyCreate;
extern u8 HeapDummyCheck;
extern u8 HeapSkipMargin;
extern int HeapAdjustMargin;
} // namespace fopAcM
struct fopAcM_prmBase_class {
/* 0x00 */ u32 parameters;
/* 0x04 */ cXyz position;
@@ -816,22 +827,8 @@ inline void fopAcM_effSmokeSet2(u32* param_0, u32* param_1, cXyz const* param_2,
fopAcM_effSmokeSet1(param_0, param_1, param_2, param_3, param_4, param_5, 0);
}
inline void fopAcM_setWarningMessage_f(const fopAc_ac_c* i_actor, const char* i_filename,
int i_line, const char* i_msg, ...) {
#if DEBUG
/* va_list args;
va_start(args, i_msg);
char buf[64];
snprintf(buf, sizeof(buf), "<%s> %s", dStage_getName(fopAcM_GetProfName(i_actor),
i_actor->argument), i_msg); setWarningMessage_f_va(JUTAssertion::getSDevice(), i_filename,
i_line, buf, args);
va_end(args); */
#endif
}
void fopAcM_showAssert_f(const fopAc_ac_c*, const char*, int, const char*, ...);
void fopAcM_showAssert_f(const fopAc_ac_c* i_actor, const char* i_filename, int i_line,
const char* i_msg, ...) ;
#define fopAcM_assert(line, actor, COND, msg) \
(COND) ? (void)0 : (fopAcM_showAssert_f(actor, __FILE__, line, msg));
@@ -839,6 +836,8 @@ void fopAcM_showAssert_f(const fopAc_ac_c*, const char*, int, const char*, ...);
#if DEBUG
#define fopAcM_setWarningMessage(i_actor, i_filename, i_line, i_msg) \
fopAcM_setWarningMessage_f(i_actor, i_filename, i_line, i_msg)
void fopAcM_setWarningMessage_f(const fopAc_ac_c* i_actor, const char* i_filename, int i_line,
const char* i_msg, ...);
#else
#define fopAcM_setWarningMessage(...)
#endif
+1 -1
View File
@@ -751,7 +751,7 @@ inline void mDoExt_bckAnmRemove(J3DModelData* i_modelData) {
i_modelData->getJointNodePointer(0)->setMtxCalc(NULL);
}
static JKRSolidHeap* mDoExt_createSolidHeap(u32 i_size, JKRHeap* i_parent, u32 i_alignment);
JKRSolidHeap* mDoExt_createSolidHeap(u32 i_size, JKRHeap* i_parent, u32 i_alignment);
JKRSolidHeap* mDoExt_createSolidHeapFromGame(u32 i_size, u32 i_alignment);
void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap);
u32 mDoExt_adjustSolidHeap(JKRSolidHeap* i_heap);
+3 -1
View File
@@ -71,7 +71,9 @@ public:
extern mDoHIO_root_c mDoHIO_root;
void mDoHIO_updateChild(s8 i_no);
void mDoHIO_update();
inline void mDoHIO_update() {
mDoHIO_root.update();
};
void mDoHIO_deleteChild(s8 i_no);
inline s8 mDoHIO_createChild(const char* i_name, JORReflexible* i_node) {
return mDoHIO_root.createChild(i_name, i_node);
+1 -1
View File
@@ -45,7 +45,7 @@ inline void mDoMtx_multVec(CMtxP m, const Vec* src, Vec* dst) {
}
inline void mDoMtx_multVecArray(const Mtx m, const Vec* src, Vec* dst, u32 count) {
MTXMultVecArray(m, src, dst, count);
PSMTXMultVecArray(m, src, dst, count);
}
inline void mDoMtx_copy(const Mtx src, Mtx dst) {