From 0c4e853e4bc94bfe736c5575075334cc6e3d6397 Mon Sep 17 00:00:00 2001 From: Jcw87 Date: Sat, 29 Apr 2023 17:31:04 -0700 Subject: [PATCH] fix functions not returning values (#324) --- include/DynamicLink.h | 2 +- libs/JSystem/J3DGraphAnimator/J3DModel.cpp | 91 +++++++++++----------- src/DynamicLink.cpp | 6 +- src/d/a/d_a_npc.cpp | 9 +-- src/d/msg/d_msg_flow.cpp | 4 +- src/f_op/f_op_msg_mng.cpp | 2 +- 6 files changed, 59 insertions(+), 55 deletions(-) diff --git a/include/DynamicLink.h b/include/DynamicLink.h index 3fe155923c6..f9da596ca89 100644 --- a/include/DynamicLink.h +++ b/include/DynamicLink.h @@ -54,7 +54,7 @@ struct DynamicModuleControl : DynamicModuleControlBase { /* 80262660 */ DynamicModuleControl(char const*); /* 802626D0 */ static JKRArchive* mountCallback(void*); /* 8026275C */ static bool initialize(); - /* 80262794 */ static void* callback(void*); + /* 80262794 */ static bool callback(void*); /* 0x10 */ OSModuleInfo* mModule; /* 0x14 */ void* mBss; diff --git a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp index 37df3184ac6..f717c07639b 100644 --- a/libs/JSystem/J3DGraphAnimator/J3DModel.cpp +++ b/libs/JSystem/J3DGraphAnimator/J3DModel.cpp @@ -163,45 +163,47 @@ s32 J3DModel::entryModelData(J3DModelData* p_modelData, u32 modelFlag, u32 mtxBu return 4; } - switch (mMtxBuffer->create(p_modelData, mtxBufferFlag)) { - case 0: - switch (createShapePacket(p_modelData)) { - case 0: - switch (createMatPacket(p_modelData, modelFlag)) { - case 0: - mVertexBuffer.setVertexData(&p_modelData->getVertexData()); - prepareShapePackets(); - - if (modelFlag & J3DMdlFlag_Unk00001) { - onFlag(J3DMdlFlag_Unk00001); - } - if (modelFlag & J3DMdlFlag_Unk00002) { - onFlag(J3DMdlFlag_Unk00002); - } - if (modelFlag & J3DMdlFlag_Unk00010) { - onFlag(J3DMdlFlag_Unk00010); - } - if (modelFlag & J3DMdlFlag_Unk20000) { - onFlag(J3DMdlFlag_Unk20000); - } - if (modelFlag & J3DMdlFlag_Unk40000) { - onFlag(J3DMdlFlag_Unk40000); - } - if (modelFlag & J3DMdlFlag_Unk80000) { - onFlag(J3DMdlFlag_Unk80000); - } - if (modelFlag & J3DMdlFlag_SkinPosCpu) { - onFlag(J3DMdlFlag_SkinPosCpu); - } - if (modelFlag & J3DMdlFlag_SkinNrmCpu) { - onFlag(J3DMdlFlag_SkinNrmCpu); - } - return 0; - } - break; - } - break; + s32 ret = mMtxBuffer->create(p_modelData, mtxBufferFlag); + if (ret) { + return ret; } + ret = createShapePacket(p_modelData); + if (ret) { + return ret; + } + ret = createMatPacket(p_modelData, modelFlag); + if (ret) { + return ret; + } + + mVertexBuffer.setVertexData(&p_modelData->getVertexData()); + prepareShapePackets(); + + if (modelFlag & J3DMdlFlag_Unk00001) { + onFlag(J3DMdlFlag_Unk00001); + } + if (modelFlag & J3DMdlFlag_Unk00002) { + onFlag(J3DMdlFlag_Unk00002); + } + if (modelFlag & J3DMdlFlag_Unk00010) { + onFlag(J3DMdlFlag_Unk00010); + } + if (modelFlag & J3DMdlFlag_Unk20000) { + onFlag(J3DMdlFlag_Unk20000); + } + if (modelFlag & J3DMdlFlag_Unk40000) { + onFlag(J3DMdlFlag_Unk40000); + } + if (modelFlag & J3DMdlFlag_Unk80000) { + onFlag(J3DMdlFlag_Unk80000); + } + if (modelFlag & J3DMdlFlag_SkinPosCpu) { + onFlag(J3DMdlFlag_SkinPosCpu); + } + if (modelFlag & J3DMdlFlag_SkinNrmCpu) { + onFlag(J3DMdlFlag_SkinNrmCpu); + } + return 0; } /* 80327300-803273CC 321C40 00CC+00 1/1 0/0 0/0 .text createShapePacket__8J3DModelFP12J3DModelData @@ -437,13 +439,14 @@ s32 J3DModel::setDeformData(J3DDeformData* p_deformData, u32 param_1) { return 0; } - switch (mVertexBuffer.copyLocalVtxArray(param_1)) { - case 0: - if (param_1 & 4) { - p_deformData->offAllFlag(1); - } - return 0; + s32 ret = mVertexBuffer.copyLocalVtxArray(param_1); + if (ret) { + return ret; } + if (param_1 & 4) { + p_deformData->offAllFlag(1); + } + return 0; } /* 80327AA0-80327BD4 3223E0 0134+00 0/0 0/0 2/2 .text setSkinDeform__8J3DModelFP13J3DSkinDeformUl diff --git a/src/DynamicLink.cpp b/src/DynamicLink.cpp index 0ce1ce732ba..b42a027f004 100644 --- a/src/DynamicLink.cpp +++ b/src/DynamicLink.cpp @@ -194,9 +194,9 @@ bool DynamicModuleControl::initialize() { /* 80262794-802627C0 25D0D4 002C+00 1/1 0/0 0/0 .text callback__20DynamicModuleControlFPv */ -void* DynamicModuleControl::callback(void* moduleControlPtr) { +bool DynamicModuleControl::callback(void* moduleControlPtr) { DynamicModuleControl* moduleControl = (DynamicModuleControl*)moduleControlPtr; - moduleControl->do_load(); + return moduleControl->do_load(); } /* 802627C0-802627E8 25D100 0028+00 1/1 0/0 0/0 .text calcSum2__FPCUsUl */ @@ -317,7 +317,7 @@ BOOL DynamicModuleControl::do_load_async() { if (mModule != NULL) { return true; } - mAsyncLoadCallback = mDoDvdThd_callback_c::create(DynamicModuleControl::callback, this); + mAsyncLoadCallback = mDoDvdThd_callback_c::create((mDoDvdThd_callback_func)DynamicModuleControl::callback, this); if (mAsyncLoadCallback == NULL) { OSReport_Error( // "DynamicModuleControl::do_load_async() async load callback entry failure [%s]\n" diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index 6135791a6dc..eee828d49e3 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -813,8 +813,8 @@ static int daNpcT_subIdx(int param_0, int param_1, u16& param_2, int param_3) { } /* 80145AC4-80145B20 140404 005C+00 5/5 0/0 0/0 .text daNpcT_incIdx__FiRUsii */ -static void daNpcT_incIdx(int param_0, u16& param_1, int param_2, int param_3) { - param_3 ? daNpcT_subIdx(1,param_0,param_1,param_2) : daNpcT_addIdx(1,param_0,param_1,param_2); +static int daNpcT_incIdx(int param_0, u16& param_1, int param_2, int param_3) { + return param_3 ? daNpcT_subIdx(1,param_0,param_1,param_2) : daNpcT_addIdx(1,param_0,param_1,param_2); } /* 80145B20-80145B7C 140460 005C+00 3/3 0/0 0/0 .text daNpcT_decIdx__FiRUsii */ @@ -926,11 +926,10 @@ int daNpcT_Path_c::setNextIdx(int param_0) { u16 numPnts = getNumPnts(); if (chkClose() != 0 && numPnts == param_0) { - daNpcT_incIdx(param_0,mIdx,1,mDirection); - return; + return daNpcT_incIdx(param_0,mIdx,1,mDirection); } - daNpcT_incIdx(param_0,mIdx,0,mDirection); + return daNpcT_incIdx(param_0,mIdx,0,mDirection); } /* 80145E38-80145FB4 140778 017C+00 0/0 0/0 1/1 .text getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi */ diff --git a/src/d/msg/d_msg_flow.cpp b/src/d/msg/d_msg_flow.cpp index 9ee7d62214d..a0d16cf3b63 100644 --- a/src/d/msg/d_msg_flow.cpp +++ b/src/d/msg/d_msg_flow.cpp @@ -954,7 +954,9 @@ int dMsgFlow_c::query005(mesg_flow_node_branch*, fopAc_ac_c*, int) { /* 8024B2F8-8024B32C 245C38 0034+00 1/0 0/0 0/0 .text * query006__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci */ int dMsgFlow_c::query006(mesg_flow_node_branch* flow_node, fopAc_ac_c* param_1, int) { - mChoiceNo = query005(flow_node, param_1, 0); + int r3 = query005(flow_node, param_1, 0); + mChoiceNo = r3; + return r3; } /* 8024B32C-8024B45C 245C6C 0130+00 1/0 0/0 0/0 .text diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index 10c07b367ec..09e1786306f 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -291,7 +291,7 @@ void fopMsgM_setMessageID(unsigned int msg_id) { /* 80020108-80020158 01AA48 0050+00 0/0 2/2 0/0 .text fopMsgM_Create__FsPFPv_iPv */ u32 fopMsgM_Create(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_process) { - fpcM_Create(i_procName, i_createFunc, i_process); + return fpcM_Create(i_procName, i_createFunc, i_process); } /* 80020158-80020160 -00001 0008+00 0/0 0/0 0/0 .text setAlpha__7J2DPaneFUc */