summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTakaRikka <takarikka@outlook.com>2022-05-28 03:49:55 -0700
committerTakaRikka <takarikka@outlook.com>2022-05-28 03:49:55 -0700
commit36e62e0b80225b6ef6cbe6a7322397899d3a0ffd (patch)
tree78f9950298acfc601001a0da4ab9d46cd04d6de2 /src
parent9bcbccbeb5966896e10b9f29cc4c69bc49abe20d (diff)
npcT / JUTGamePad work
Diffstat (limited to 'src')
-rw-r--r--src/d/a/d_a_alink.cpp8
-rw-r--r--src/d/a/d_a_npc.cpp655
-rw-r--r--src/d/bg/d_bg_w_kcol.cpp4
-rw-r--r--src/d/com/d_com_inf_game.cpp2
-rw-r--r--src/d/d_attention.cpp14
-rw-r--r--src/d/d_drawlist.cpp4
-rw-r--r--src/d/d_lib.cpp4
-rw-r--r--src/d/d_timer.cpp8
-rw-r--r--src/d/event/d_event.cpp8
-rw-r--r--src/d/event/d_event_data.cpp13
-rw-r--r--src/d/event/d_event_manager.cpp16
-rw-r--r--src/d/kankyo/d_kankyo.cpp92
-rw-r--r--src/d/menu/d_menu_collect.cpp10
-rw-r--r--src/d/menu/d_menu_dmap.cpp15
-rw-r--r--src/d/menu/d_menu_fmap.cpp10
-rw-r--r--src/d/menu/d_menu_insect.cpp10
-rw-r--r--src/d/menu/d_menu_letter.cpp10
-rw-r--r--src/d/menu/d_menu_option.cpp12
-rw-r--r--src/d/menu/d_menu_ring.cpp14
-rw-r--r--src/d/menu/d_menu_save.cpp15
-rw-r--r--src/d/menu/d_menu_skill.cpp10
-rw-r--r--src/d/meter/d_meter2_draw.cpp13
-rw-r--r--src/d/msg/d_msg_class.cpp15
-rw-r--r--src/d/msg/d_msg_object.cpp21
-rw-r--r--src/d/particle/d_particle.cpp4
-rw-r--r--src/f_op/f_op_msg_mng.cpp8
-rw-r--r--src/m_Do/m_Do_ext.cpp157
-rw-r--r--src/m_Do/m_Do_graphic.cpp4
28 files changed, 446 insertions, 710 deletions
diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp
index 1625dd2140..cf4975757c 100644
--- a/src/d/a/d_a_alink.cpp
+++ b/src/d/a/d_a_alink.cpp
@@ -27,14 +27,6 @@
// Types:
//
-struct mDoExt_blkAnm {
- /* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
-};
-
-struct mDoExt_MtxCalcAnmBlendTbl {
- /* 800D00BC */ void getAnm(int);
-};
-
struct fopEn_enemy_c {};
struct daTagMist_c {
diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp
index 589f0076cd..5a1f3575e8 100644
--- a/src/d/a/d_a_npc.cpp
+++ b/src/d/a/d_a_npc.cpp
@@ -6,30 +6,14 @@
#include "d/a/d_a_npc.h"
#include "dol2asm.h"
#include "dolphin/types.h"
+#include "m_Do/m_Do_mtx.h"
+#include "rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h"
+#include "d/d_procname.h"
//
// Types:
//
-struct mDoMtx_stack_c {
- /* 8000CD64 */ void transS(cXyz const&);
- /* 8000CD9C */ void transM(f32, f32, f32);
- /* 8000CE70 */ void scaleM(cXyz const&);
- /* 8000CE9C */ void XYZrotS(csXyz const&);
- /* 8000CED4 */ void XYZrotM(csXyz const&);
- /* 8000CF0C */ void ZXYrotS(csXyz const&);
- /* 8000CF44 */ void ZXYrotM(csXyz const&);
-
- static u8 now[48];
-};
-
-struct mDoExt_McaMorfSO {
- /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
- /* 800110B0 */ void play(u32, s8);
- /* 800111C0 */ void entryDL();
- /* 800111EC */ void modelCalc();
-};
-
struct daNpcT_Hermite_c {
/* 8014CBAC */ ~daNpcT_Hermite_c();
};
@@ -289,10 +273,6 @@ struct dMsgObject_c {
/* 802383A4 */ void isMouthCheck();
};
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
//
// Forward References:
//
@@ -873,7 +853,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" extern void* __vt__14J3DMaterialAnm[4];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
-extern "C" extern u8 g_env_light[4880];
+extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 Zero__5csXyz[4];
@@ -884,46 +864,32 @@ extern "C" extern u8 data_80451164[4];
//
/* 801456D4-801456E0 140014 000C+00 1/1 0/0 159/159 .text initialize__18daNpcT_ActorMngr_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_ActorMngr_c::initialize() {
- nofralloc
-#include "asm/d/a/d_a_npc/initialize__18daNpcT_ActorMngr_cFv.s"
+void daNpcT_ActorMngr_c::initialize() {
+ mActorID = -1;
}
-#pragma pop
/* 801456E0-801456FC 140020 001C+00 1/1 0/0 160/160 .text
* entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_ActorMngr_c::entry(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/d/a/d_a_npc/entry__18daNpcT_ActorMngr_cFP10fopAc_ac_c.s"
+void daNpcT_ActorMngr_c::entry(fopAc_ac_c* actor) {
+ mActorID = fopAcM_GetID(actor);
}
-#pragma pop
/* 801456FC-80145708 14003C 000C+00 1/1 0/0 382/382 .text remove__18daNpcT_ActorMngr_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_ActorMngr_c::remove() {
- nofralloc
-#include "asm/d/a/d_a_npc/remove__18daNpcT_ActorMngr_cFv.s"
+void daNpcT_ActorMngr_c::remove() {
+ mActorID = -1;
}
-#pragma pop
/* 80145708-80145764 140048 005C+00 2/2 1/1 233/233 .text getActorP__18daNpcT_ActorMngr_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_ActorMngr_c::getActorP() {
- nofralloc
-#include "asm/d/a/d_a_npc/getActorP__18daNpcT_ActorMngr_cFv.s"
+fopAc_ac_c* daNpcT_ActorMngr_c::getActorP() {
+ fopAc_ac_c* actor = NULL;
+
+ if (fopAcM_SearchByID(mActorID, &actor) == 1 && actor != NULL && fopAcM_IsActor(actor)) {
+ return actor;
+ }
+
+ return NULL;
}
-#pragma pop
/* ############################################################################################## */
/* 804533D8-804533DC 0019D8 0004+00 54/54 0/0 0/0 .sdata2 @4116 */
@@ -968,35 +934,66 @@ SECTION_SDATA2 static f32 lit_4148 = -1.0f;
/* 80145898-801458C0 1401D8 0028+00 4/4 0/0 533/533 .text initialize__22daNpcT_MotionSeqMngr_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_MotionSeqMngr_c::initialize() {
- nofralloc
-#include "asm/d/a/d_a_npc/initialize__22daNpcT_MotionSeqMngr_cFv.s"
+void daNpcT_MotionSeqMngr_c::initialize() {
+ mNo = 0;
+ mOffset = 0;
+ mStepNo = 0;
+ field_0x14 = -1;
+ field_0x18 = lit_4148;
+ mEndSequence = false;
}
-#pragma pop
/* 801458C0-80145A24 140200 0164+00 2/2 0/0 2/2 .text play__22daNpcT_MotionSeqMngr_cFUsPiPf */
+// matches with literals
+#ifdef NONMATCHING
+int daNpcT_MotionSeqMngr_c::play(u16 param_0, int* param_1, f32* param_2) {
+ int ret = 0;
+
+ if (field_0x14 == mStepNo && mStepNo < field_0x4) {
+ if ((&mpSeqData[mNo * field_0x4])[mStepNo].field_0x0 != -1) {
+ s8 tmp = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x3;
+
+ if (tmp > 0 && tmp <= param_0) {
+ mStepNo++;
+ } else if (tmp == 0 && param_0 != 0) {
+ mEndSequence = true;
+ }
+ }
+ }
+
+ if (field_0x14 != mStepNo && mStepNo < field_0x4) {
+ if ((&mpSeqData[mNo * field_0x4])[mStepNo].field_0x0 != -1) {
+ *param_1 = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x0;
+ *param_2 = (&mpSeqData[mNo * field_0x4])[mStepNo].field_0x2;
+
+ if (field_0x14 == -1 && -1.0f < field_0x18) {
+ *param_2 = field_0x18;
+ }
+ ret = 1;
+ } else {
+ mEndSequence = true;
+ }
+ }
+
+ field_0x14 = mStepNo;
+ return ret;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daNpcT_MotionSeqMngr_c::play(u16 param_0, int* param_1, f32* param_2) {
+asm int daNpcT_MotionSeqMngr_c::play(u16 param_0, int* param_1, f32* param_2) {
nofralloc
#include "asm/d/a/d_a_npc/play__22daNpcT_MotionSeqMngr_cFUsPiPf.s"
}
#pragma pop
+#endif
/* 80145A24-80145A38 140364 0014+00 0/0 0/0 43/43 .text
* checkEndSequence__22daNpcT_MotionSeqMngr_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_MotionSeqMngr_c::checkEndSequence() {
- nofralloc
-#include "asm/d/a/d_a_npc/checkEndSequence__22daNpcT_MotionSeqMngr_cFv.s"
+s32 daNpcT_MotionSeqMngr_c::checkEndSequence() {
+ return mEndSequence == true;
}
-#pragma pop
/* 80145A38-80145A78 140378 0040+00 2/2 0/0 0/0 .text daNpcT_addIdx__FiiRUsi */
#pragma push
@@ -1512,14 +1509,10 @@ static asm void daNpcT_chkPassed(cXyz param_0, dPnt* param_1, u16 param_2, u16 p
/* 80146C98-80146CD8 1415D8 0040+00 0/0 0/0 121/121 .text initialize__15daNpcT_JntAnm_cFv
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_JntAnm_c::initialize() {
- nofralloc
-#include "asm/d/a/d_a_npc/initialize__15daNpcT_JntAnm_cFv.s"
+void daNpcT_JntAnm_c::initialize() {
+ mActrMngr.initialize();
+ memset(&field_0x14, 0, (u32)&field_0x158 - (u32)&field_0x14);
}
-#pragma pop
/* ############################################################################################## */
/* 80453408-80453410 001A08 0008+00 8/8 0/0 0/0 .sdata2 @4723 */
@@ -1631,225 +1624,356 @@ asm void daNpcT_c::tgHitCallBack(fopAc_ac_c* param_0, dCcD_GObjInf* param_1, fop
/* ############################################################################################## */
/* 80425708-804257D0 052428 00C8+00 4/4 0/0 40/40 .bss mFindActorPtrs__8daNpcT_c */
-u8 daNpcT_c::mFindActorPtrs[200];
+fopAc_ac_c* daNpcT_c::mFindActorPtrs[50];
/* 80450FD8-80450FDC 0004D8 0002+02 4/4 0/0 2/2 .sbss mSrchName__8daNpcT_c */
-u8 daNpcT_c::mSrchName[2 + 2 /* padding */];
+s16 daNpcT_c::mSrchName;
/* 80450FDC-80450FE0 0004DC 0004+00 4/4 0/0 42/42 .sbss mFindCount__8daNpcT_c */
-u8 daNpcT_c::mFindCount[4];
+s32 daNpcT_c::mFindCount;
/* 80147FD4-80148058 142914 0084+00 3/3 0/0 2/2 .text srchActor__8daNpcT_cFPvPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::srchActor(void* param_0, void* param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/srchActor__8daNpcT_cFPvPv.s"
+int daNpcT_c::srchActor(void* actor, void* param_1) {
+ if (mFindCount < 50 && fopAcM_IsActor(actor) && actor != param_1) {
+ if (mSrchName == fopAcM_GetName((fopAc_ac_c*)actor)) {
+ mFindActorPtrs[mFindCount] = (fopAc_ac_c*)actor;
+ mFindCount++;
+ }
+ }
+
+ return 0;
}
-#pragma pop
/* 80148058-80148094 142998 003C+00 1/1 0/0 7/7 .text getTrnsfrmAnmP__8daNpcT_cFPCci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::getTrnsfrmAnmP(char const* param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/getTrnsfrmAnmP__8daNpcT_cFPCci.s"
+J3DAnmTransform* daNpcT_c::getTrnsfrmAnmP(char const* arcName, int fileIdx) {
+ return (J3DAnmTransform*)dComIfG_getObjectRes(arcName, fileIdx);
}
-#pragma pop
/* 80148094-801480D0 1429D4 003C+00 1/1 0/0 11/11 .text getTrnsfrmKeyAnmP__8daNpcT_cFPCci
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::getTrnsfrmKeyAnmP(char const* param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/getTrnsfrmKeyAnmP__8daNpcT_cFPCci.s"
+J3DAnmTransformKey* daNpcT_c::getTrnsfrmKeyAnmP(char const* arcName, int fileIdx) {
+ return (J3DAnmTransformKey*)dComIfG_getObjectRes(arcName, fileIdx);
}
-#pragma pop
/* 801480D0-8014810C 142A10 003C+00 1/1 0/0 1/1 .text getTexPtrnAnmP__8daNpcT_cFPCci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::getTexPtrnAnmP(char const* param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/getTexPtrnAnmP__8daNpcT_cFPCci.s"
+J3DAnmTexPattern* daNpcT_c::getTexPtrnAnmP(char const* arcName, int fileIdx) {
+ return (J3DAnmTexPattern*)dComIfG_getObjectRes(arcName, fileIdx);
}
-#pragma pop
/* 8014810C-80148148 142A4C 003C+00 1/1 0/0 7/7 .text getTexSRTKeyAnmP__8daNpcT_cFPCci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::getTexSRTKeyAnmP(char const* param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/getTexSRTKeyAnmP__8daNpcT_cFPCci.s"
+J3DAnmTextureSRTKey* daNpcT_c::getTexSRTKeyAnmP(char const* arcName, int fileIdx) {
+ return (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(arcName, fileIdx);
}
-#pragma pop
/* 80148148-80148184 142A88 003C+00 0/0 0/0 9/9 .text getTevRegKeyAnmP__8daNpcT_cFPCci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::getTevRegKeyAnmP(char const* param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/getTevRegKeyAnmP__8daNpcT_cFPCci.s"
+J3DAnmTevRegKey* daNpcT_c::getTevRegKeyAnmP(char const* arcName, int fileIdx) {
+ return (J3DAnmTevRegKey*)dComIfG_getObjectRes(arcName, fileIdx);
}
-#pragma pop
/* 80148184-801481C0 142AC4 003C+00 0/0 0/0 2/2 .text getColorAnmP__8daNpcT_cFPCci */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::getColorAnmP(char const* param_0, int param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/getColorAnmP__8daNpcT_cFPCci.s"
+J3DAnmColor* daNpcT_c::getColorAnmP(char const* arcName, int fileIdx) {
+ return (J3DAnmColor*)dComIfG_getObjectRes(arcName, fileIdx);
}
-#pragma pop
/* 801481C0-80148204 142B00 0044+00 1/1 0/0 0/0 .text setBckAnm__8daNpcT_cFP15J3DAnmTransformfiiib
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setBckAnm(J3DAnmTransform* param_0, f32 param_1, int param_2, int param_3,
- int param_4, bool param_5) {
- nofralloc
-#include "asm/d/a/d_a_npc/setBckAnm__8daNpcT_cFP15J3DAnmTransformfiiib.s"
+void daNpcT_c::setBckAnm(J3DAnmTransform* bck, f32 rate, int attr, int startF,
+ int endF, bool modify) {
+ mBckAnm.init(bck, TRUE, attr, rate, startF, endF, modify);
}
-#pragma pop
/* 80148204-801482F8 142B44 00F4+00 1/1 0/0 1/1 .text
* setMcaMorfAnm__8daNpcT_cFP18J3DAnmTransformKeyffiii */
+// matches with literals
+#ifdef NONMATCHING
+int daNpcT_c::setMcaMorfAnm(J3DAnmTransformKey* bck, f32 morf, f32 frame, int mode,
+ int startF, int endF) {
+ f32 start = startF;
+ f32 end = endF;
+
+ mMcaMorfAnm[0]->setAnm(bck, mode, frame, morf, start, end);
+
+ if (mMcaMorfAnm[1] != NULL) {
+ mMcaMorfAnm[1]->setAnm(bck, mode, frame, morf, start, end);
+ }
+
+ return 1;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daNpcT_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3,
+asm int daNpcT_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3,
int param_4, int param_5) {
nofralloc
#include "asm/d/a/d_a_npc/setMcaMorfAnm__8daNpcT_cFP18J3DAnmTransformKeyffiii.s"
}
#pragma pop
+#endif
/* 801482F8-80148338 142C38 0040+00 1/1 0/0 1/1 .text
* setBtpAnm__8daNpcT_cFP16J3DAnmTexPatternP12J3DModelDatafi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2,
+void daNpcT_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* modelData, f32 param_2,
int param_3) {
- nofralloc
-#include "asm/d/a/d_a_npc/setBtpAnm__8daNpcT_cFP16J3DAnmTexPatternP12J3DModelDatafi.s"
+ mBtpAnm.init(modelData, param_0, 1, param_3, param_2, 0, -1);
}
-#pragma pop
/* 80148338-80148378 142C78 0040+00 1/1 0/0 6/6 .text
* setBtkAnm__8daNpcT_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setBtkAnm(J3DAnmTextureSRTKey* param_0, J3DModelData* param_1, f32 param_2,
+void daNpcT_c::setBtkAnm(J3DAnmTextureSRTKey* param_0, J3DModelData* modelData, f32 param_2,
int param_3) {
- nofralloc
-#include "asm/d/a/d_a_npc/setBtkAnm__8daNpcT_cFP19J3DAnmTextureSRTKeyP12J3DModelDatafi.s"
+ mBtkAnm.init(modelData, param_0, 1, param_3, param_2, 0, -1);
}
-#pragma pop
/* 80148378-801483B8 142CB8 0040+00 0/0 0/0 9/9 .text
* setBrkAnm__8daNpcT_cFP15J3DAnmTevRegKeyP12J3DModelDatafi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setBrkAnm(J3DAnmTevRegKey* param_0, J3DModelData* param_1, f32 param_2,
+void daNpcT_c::setBrkAnm(J3DAnmTevRegKey* param_0, J3DModelData* modelData, f32 param_2,
int param_3) {
- nofralloc
-#include "asm/d/a/d_a_npc/setBrkAnm__8daNpcT_cFP15J3DAnmTevRegKeyP12J3DModelDatafi.s"
+ mBrkAnm.init(modelData, param_0, 1, param_3, param_2, 0, -1);
}
-#pragma pop
/* 801483B8-801483F8 142CF8 0040+00 0/0 0/0 2/2 .text
* setBpkAnm__8daNpcT_cFP11J3DAnmColorP12J3DModelDatafi */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setBpkAnm(J3DAnmColor* param_0, J3DModelData* param_1, f32 param_2,
+void daNpcT_c::setBpkAnm(J3DAnmColor* param_0, J3DModelData* modelData, f32 param_2,
int param_3) {
- nofralloc
-#include "asm/d/a/d_a_npc/setBpkAnm__8daNpcT_cFP11J3DAnmColorP12J3DModelDatafi.s"
+ mBpkAnm.init(modelData, param_0, 1, param_3, param_2, 0, -1);
}
-#pragma pop
/* 801483F8-801484AC 142D38 00B4+00 0/0 0/0 58/58 .text loadRes__8daNpcT_cFPCScPPCc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::loadRes(s8 const* param_0, char const** param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/loadRes__8daNpcT_cFPCScPPCc.s"
+int daNpcT_c::loadRes(s8 const* resNoList, char const** resNameList) {
+ for (int resLoad_cnt = 0, i = 0; i < 10; i++) {
+ if (resNoList[i] == -1) {
+ if (i != resLoad_cnt) {
+ break;
+ }
+ return cPhs_COMPLEATE_e;
+ }
+
+ int status = dComIfG_resLoad(&field_0x8e0[i], resNameList[resNoList[i]]);
+ if (status == cPhs_COMPLEATE_e) {
+ resLoad_cnt++;
+ }
+
+ if (status == cPhs_ERROR_e || status == 3) {
+ return cPhs_ERROR_e;
+ }
+ }
+
+ return cPhs_ZERO_e;
}
-#pragma pop
/* 801484AC-8014852C 142DEC 0080+00 0/0 0/0 58/58 .text deleteRes__8daNpcT_cFPCScPPCc */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::deleteRes(s8 const* param_0, char const** param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/deleteRes__8daNpcT_cFPCScPPCc.s"
+void daNpcT_c::deleteRes(s8 const* resNoList, char const** resNameList) {
+ for (int i = 0; i < 10 && resNoList[i] != -1; i++) {
+ dComIfG_resDelete(&field_0x8e0[i], resNameList[resNoList[i]]);
+ }
}
-#pragma pop
/* ############################################################################################## */
/* 80453440-80453444 001A40 0004+00 3/3 0/0 0/0 .sdata2 @5667 */
SECTION_SDATA2 static f32 lit_5667 = -1000000000.0f;
+inline dEvt_control_c& dComIfGp_getEvent() {
+ return g_dComIfG_gameInfo.play.getEvent();
+}
+
+inline BOOL dComIfGp_event_runCheck() {
+ return g_dComIfG_gameInfo.play.getEvent().runCheck();
+}
+
/* 8014852C-8014886C 142E6C 0340+00 0/0 0/0 59/59 .text execute__8daNpcT_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::execute() {
+// matches with literals
+#ifdef NONMATCHING
+int daNpcT_c::execute() {
+ setParam();
+ if (!evtProc()) {
+ action();
+ }
+
+ beforeMove();
+ fopAcM_posMoveF(this, field_0x864.GetCCMoveP());
+ field_0x68c.CrrPos(dComIfG_Bgsp());
+ field_0x930 = field_0x68c.m_gnd;
+ field_0xdca = fopAcM_getPolygonAngle(field_0x930, mCurrent.mAngle.y);
+ field_0xdf4 = field_0x68c.GetGroundH();
+ if (field_0xdf4 != -1000000000.0f) {
+ field_0xda8 = dKy_pol_sound_get(&field_0x68c.m_gnd);
+ field_0xe24 = dComIfGp_getReverb(field_0x864.GetRoomId());
+
+ if (field_0x68c.ChkWaterHit() && field_0x68c.m_wtr.GetHeight() > field_0xdf4) {
+ field_0xda8 = dKy_pol_sound_get(&field_0x68c.m_wtr);
+ }
+ }
+
+ afterMoved();
+ if (field_0xdf4 != -1000000000.0f) {
+ setEnvTevColor();
+ setRoomNo();
+ }
+
+ if (field_0xb50.checkEntryNewMotion()) {
+ ctrlFaceMotion();
+ ctrlSubFaceMotion(1);
+ }
+
+ if (field_0xb74.checkEntryNewMotion()) {
+ ctrlMotion();
+ }
+
+ playAllAnm();
+ ctrlFaceMotion();
+ ctrlSubFaceMotion(0);
+ ctrlMotion();
+ setAttnPos();
+ cLib_chaseF(&field_0xdfc, 0.0f, 1.0f);
+ twilight();
+ setCollision();
+
+ if (!field_0xe2c) {
+ if ((field_0xe33 && dComIfGp_getEvent().i_isOrderOK()) || !dComIfGp_event_runCheck()) {
+ evtOrder();
+ }
+ }
+
+ clrParam();
+ decTmr();
+ return 1;
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm int daNpcT_c::execute() {
nofralloc
#include "asm/d/a/d_a_npc/execute__8daNpcT_cFv.s"
}
#pragma pop
+#endif
/* ############################################################################################## */
/* 80453444-80453448 001A44 0004+00 3/3 0/0 0/0 .sdata2 @5794 */
SECTION_SDATA2 static f32 lit_5794 = 20.0f;
/* 8014886C-80148C70 1431AC 0404+00 0/0 0/0 58/58 .text draw__8daNpcT_cFiifP11_GXColorS10fiii */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param_3, f32 param_4,
+// close. literals + few wrong areas
+#ifdef NONMATCHING
+int daNpcT_c::draw(int param_0, int param_1, f32 param_2, GXColorS10* color, f32 param_4,
+ int param_5, int param_6, int param_7) {
+ J3DModel* model = mMcaMorfAnm[0]->getModel();
+ J3DModelData* modelData = model->getModelData();
+ field_0xe34 = 1;
+
+ if (drawDbgInfo() || checkHide() || field_0xe2b) {
+ return 1;
+ }
+
+ mTevStr.field_0x358 = 0;
+ mTevStr.field_0x35a = 0;
+ mTevStr.field_0x35c = 0;
+ mTevStr.field_0x35e = 0;
+
+ if (color != NULL) {
+ mTevStr.field_0x358 = color->r;
+ mTevStr.field_0x35a = color->g;
+ mTevStr.field_0x35c = color->b;
+ mTevStr.field_0x35e = color->a;
+ }
+
+ if (field_0xdb8 != 0 && mTimer != 0) {
+ f32 r = (f32)field_0xdb8 / (f32)mTimer;
+ if (!cM3d_IsZero(r)) {
+ mTevStr.field_0x358 = r * 20.0f;
+ }
+ } else if (param_0 != 0) {
+ mTevStr.field_0x35a = 20;
+ }
+
+ if (field_0xd98 & 0x800) {
+ mBtpAnm.entry(modelData);
+ }
+
+ if (field_0xd98 & 0x80) {
+ mBtkAnm.entry(modelData);
+ }
+
+ if (field_0xd98 & 0x100) {
+ mBrkAnm.entry(modelData);
+ }
+
+ if (field_0xd98 & 0x200) {
+ mBpkAnm.entry(modelData);
+ }
+
+ if (param_1 != 0) {
+ fopAcM_setEffectMtx(this, modelData);
+ }
+
+ if (param_5 != 0) {
+ drawGhost();
+ } else if (field_0xa89 != 0) {
+ g_env_light.settingTevStruct(4, &mCurrent.mPosition, &mTevStr);
+ g_env_light.setLightTevColorType_MAJI(modelData, &mTevStr);
+ dComIfGd_setListDark();
+ mMcaMorfAnm[0]->entryDL();
+ dComIfGd_setList();
+ } else {
+ g_env_light.settingTevStruct(0, &mCurrent.mPosition, &mTevStr);
+ g_env_light.setLightTevColorType_MAJI(modelData, &mTevStr);
+ mMcaMorfAnm[0]->entryDL();
+ }
+
+ if (field_0xd98 & 0x800) {
+ mBtpAnm.remove(modelData);
+ }
+
+ if (field_0xd98 & 0x80) {
+ mBtkAnm.remove(modelData);
+ }
+
+ if (field_0xd98 & 0x100) {
+ mBrkAnm.remove(modelData);
+ }
+
+ if (field_0xd98 & 0x200) {
+ mBpkAnm.remove(modelData);
+ }
+
+ if (param_6 == 0) {
+ if (param_7 == 0) {
+ field_0xd94 = dComIfGd_setShadow(field_0xd94, 1, model, &mCurrent.mPosition, param_2, param_4, mCurrent.mPosition.y, field_0xdf4, field_0x930, &mTevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex());
+ } else {
+ dComIfGd_setSimpleShadow(&mCurrent.mPosition, field_0xdf4, param_4, field_0x930, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex());
+ }
+ }
+
+ drawOtherMdl();
+ return 1;
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+asm int daNpcT_c::draw(int param_0, int param_1, f32 param_2, _GXColorS10* param_3, f32 param_4,
int param_5, int param_6, int param_7) {
nofralloc
#include "asm/d/a/d_a_npc/draw__8daNpcT_cFiifP11_GXColorS10fiii.s"
}
#pragma pop
+#endif
/* 80148C70-80148CCC 1435B0 005C+00 1/1 0/0 58/58 .text setEnvTevColor__8daNpcT_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setEnvTevColor() {
- nofralloc
-#include "asm/d/a/d_a_npc/setEnvTevColor__8daNpcT_cFv.s"
+void daNpcT_c::setEnvTevColor() {
+ mTevStr.field_0x381 = dComIfG_Bgsp().GetPolyColor(field_0x930);
+ mTevStr.field_0x380 = dComIfG_Bgsp().GetRoomId(field_0x930);
}
-#pragma pop
/* 80148CCC-80148D10 14360C 0044+00 1/1 0/0 58/58 .text setRoomNo__8daNpcT_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setRoomNo() {
- nofralloc
-#include "asm/d/a/d_a_npc/setRoomNo__8daNpcT_cFv.s"
+void daNpcT_c::setRoomNo() {
+ int roomId = dComIfG_Bgsp().GetRoomId(field_0x930);
+
+ fopAcM_SetRoomNo(this, roomId);
+ field_0x864.SetRoomId(roomId);
}
-#pragma pop
/* 80148D10-80148DD0 143650 00C0+00 1/1 0/0 0/0 .text checkEndAnm__8daNpcT_cFf */
#pragma push
@@ -1892,14 +2016,28 @@ asm void daNpcT_c::ctrlBtk() {
#pragma pop
/* 80149190-8014924C 143AD0 00BC+00 0/0 0/0 57/57 .text setMtx__8daNpcT_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setMtx() {
- nofralloc
-#include "asm/d/a/d_a_npc/setMtx__8daNpcT_cFv.s"
+void daNpcT_c::setMtx() {
+ J3DModel* model = mMcaMorfAnm[0]->getModel();
+ J3DModelData* modelData = model->getModelData();
+
+ mDoMtx_stack_c::transS(mCurrent.mPosition);
+ mDoMtx_stack_c::ZXYrotM(field_0xd78);
+ mDoMtx_stack_c::scaleM(mScale);
+
+ model->i_setBaseTRMtx(mDoMtx_stack_c::get());
+ model->setUserArea((u32)this);
+
+ mMcaMorfAnm[0]->onMorfNone();
+ if (cM3d_IsZero(field_0xdfc) != 0) {
+ mMcaMorfAnm[0]->offMorfNone();
+ }
+
+ if (field_0xd98 & 0x400) {
+ mBckAnm.getBckAnm()->setFrame(mBckAnm.getFrame());
+ }
+
+ mMcaMorfAnm[0]->modelCalc();
}
-#pragma pop
/* 8014924C-80149300 143B8C 00B4+00 1/1 0/0 0/0 .text ctrlFaceMotion__8daNpcT_cFv */
#pragma push
@@ -1953,7 +2091,7 @@ SECTION_DEAD static char const* const stringBase_80392710 = "DEFAULT_GETITEM";
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void daNpcT_c::evtProc() {
+asm int daNpcT_c::evtProc() {
nofralloc
#include "asm/d/a/d_a_npc/evtProc__8daNpcT_cFv.s"
}
@@ -1986,14 +2124,14 @@ bool daNpcT_c::checkCullDraw() {
}
/* 8014A064-8014A0B0 1449A4 004C+00 1/0 1/0 60/0 .text twilight__8daNpcT_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::twilight() {
- nofralloc
-#include "asm/d/a/d_a_npc/twilight__8daNpcT_cFv.s"
+void daNpcT_c::twilight() {
+ if (field_0xa89 != 0) {
+ mAttentionInfo.mFlags |= 0x400000;
+ field_0xe2b = 0;
+ mAttentionInfo.mFlags |= 0x800000;
+ setHitodamaPrtcl();
+ }
}
-#pragma pop
/* 8014A0B0-8014A224 1449F0 0174+00 1/0 1/0 59/0 .text evtOrder__8daNpcT_cFv */
#pragma push
@@ -2016,14 +2154,12 @@ asm void daNpcT_c::evtChange() {
#pragma pop
/* 8014A324-8014A388 144C64 0064+00 1/0 1/0 60/0 .text clrParam__8daNpcT_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::clrParam() {
- nofralloc
-#include "asm/d/a/d_a_npc/clrParam__8daNpcT_cFv.s"
+void daNpcT_c::clrParam() {
+ field_0xd7e = field_0xd78;
+ mCutType = 0;
+ memset(&field_0xe30, 0, (u32)&field_0xe38 - (u32)&field_0xe30);
+ field_0xba8.clrDirectFlag();
}
-#pragma pop
/* 8014A388-8014A628 144CC8 02A0+00 1/1 0/0 57/57 .text setFaceMotionAnm__8daNpcT_cFib */
#pragma push
@@ -2050,44 +2186,52 @@ asm void daNpcT_c::setMotionAnm(int param_0, f32 param_1, int param_2) {
SECTION_SDATA2 static f32 lit_6667 = 300.0f;
/* 8014A908-8014A99C 145248 0094+00 0/0 0/0 40/40 .text setPos__8daNpcT_cF4cXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setPos(cXyz param_0) {
- nofralloc
-#include "asm/d/a/d_a_npc/setPos__8daNpcT_cF4cXyz.s"
+void daNpcT_c::setPos(cXyz i_pos) {
+ i_pos.y += 300.0f;
+ field_0x930.SetPos(&i_pos);
+ i_pos.y = dComIfG_Bgsp().GroundCross(&field_0x930);
+
+ mCurrent.mPosition = i_pos;
+ mNext.mPosition = mCurrent.mPosition;
}
-#pragma pop
/* 8014A99C-8014AA18 1452DC 007C+00 0/0 0/0 29/29 .text setAngle__8daNpcT_cF5csXyz */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setAngle(csXyz param_0) {
- nofralloc
-#include "asm/d/a/d_a_npc/setAngle__8daNpcT_cF5csXyz.s"
+void daNpcT_c::setAngle(csXyz i_angle) {
+ mCurrent.mAngle = i_angle;
+ mCollisionRot = mCurrent.mAngle;
+ field_0xd78 = mCurrent.mAngle;
+ field_0xd7e = field_0xd78;
+ mNext.mAngle = mCurrent.mAngle;
}
-#pragma pop
/* 8014AA18-8014AA40 145358 0028+00 0/0 0/0 138/138 .text setAngle__8daNpcT_cFs */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::setAngle(s16 param_0) {
- nofralloc
-#include "asm/d/a/d_a_npc/setAngle__8daNpcT_cFs.s"
+void daNpcT_c::setAngle(s16 i_angle) {
+ mCurrent.mAngle.y = i_angle;
+ mCollisionRot.y = mCurrent.mAngle.y;
+ field_0xd78.y = mCurrent.mAngle.y;
+ field_0xd7e.y = field_0xd78.y;
+ mNext.mAngle.y = mCurrent.mAngle.y;
}
-#pragma pop
/* 8014AA40-8014AAD0 145380 0090+00 0/0 0/0 33/33 .text hitChk__8daNpcT_cFP12dCcD_GObjInfUl */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::hitChk(dCcD_GObjInf* param_0, u32 param_1) {
- nofralloc
-#include "asm/d/a/d_a_npc/hitChk__8daNpcT_cFP12dCcD_GObjInfUl.s"
+fopAc_ac_c* daNpcT_c::hitChk(dCcD_GObjInf* i_objInf, u32 param_1) {
+ dCcD_Stts* stts = (dCcD_Stts*)i_objInf->GetStts();
+ stts->Move();
+
+ if (mTimer == 0) {
+ fopAc_ac_c* hitAc = i_objInf->GetTgHitAc();
+
+ if (hitAc != NULL) {
+ if (fopAcM_GetName(hitAc) == PROC_NPC_TK && param_1 & 1) {
+ ((daNPC_TK_c*)hitAc)->setBump();
+ return hitAc;
+ }
+ return hitAc;
+ }
+ }
+
+ return NULL;
}
-#pragma pop
/* 8014AAD0-8014ABD0 145410 0100+00 0/0 0/0 27/27 .text setDamage__8daNpcT_cFiii */
#pragma push
@@ -2498,14 +2642,11 @@ asm daNpcT_Hermite_c::~daNpcT_Hermite_c() {
#pragma pop
/* 8014CBF4-8014CC0C 147534 0018+00 1/0 1/0 0/0 .text decTmr__8daNpcT_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daNpcT_c::decTmr() {
- nofralloc
-#include "asm/d/a/d_a_npc/decTmr__8daNpcT_cFv.s"
+void daNpcT_c::decTmr() {
+ if (mTimer != 0) {
+ mTimer--;
+ }
}
-#pragma pop
/* 8014CC0C-8014CC10 14754C 0004+00 1/0 1/0 0/0 .text setCollision__8daNpcT_cFv */
void daNpcT_c::setCollision() {
@@ -2553,7 +2694,7 @@ void daNpcT_c::drawGhost() {
}
/* 8014CC30-8014CC38 147570 0008+00 1/0 1/0 0/0 .text drawDbgInfo__8daNpcT_cFv */
-bool daNpcT_c::drawDbgInfo() {
+int daNpcT_c::drawDbgInfo() {
return false;
}
diff --git a/src/d/bg/d_bg_w_kcol.cpp b/src/d/bg/d_bg_w_kcol.cpp
index 4332c70011..8b47c5a3a9 100644
--- a/src/d/bg/d_bg_w_kcol.cpp
+++ b/src/d/bg/d_bg_w_kcol.cpp
@@ -15,10 +15,6 @@ struct cM3dGTri {
/* 8026F8C8 */ void set(Vec const*, Vec const*, Vec const*, Vec const*);
};
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
//
// Forward References:
//
diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp
index a559d27c22..bc98c495aa 100644
--- a/src/d/com/d_com_inf_game.cpp
+++ b/src/d/com/d_com_inf_game.cpp
@@ -2503,7 +2503,7 @@ int dComIfGs_wolfeye_effect_check() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dComIfGs_wolfeye_effect_check() {
+asm int dComIfGs_wolfeye_effect_check() {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_wolfeye_effect_check__Fv.s"
}
diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp
index e38167ef3e..a4d6949074 100644
--- a/src/d/d_attention.cpp
+++ b/src/d/d_attention.cpp
@@ -21,20 +21,6 @@ struct dAttDrawParam_c {
/* 80073FC4 */ ~dAttDrawParam_c();
};
-struct Z2SeqMgr {
- /* 802B5E88 */ void bgmNowBattle(f32);
-};
-
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
//
// Forward References:
//
diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp
index 4833a9c046..6deebb62d9 100644
--- a/src/d/d_drawlist.cpp
+++ b/src/d/d_drawlist.cpp
@@ -88,10 +88,6 @@ struct ShdwDrawPoly_c {
/* 80054A6C */ ~ShdwDrawPoly_c();
};
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
struct J3DUClipper {
/* 8027378C */ void calcViewFrustum();
/* 80273A44 */ void clip(f32 const (*)[4], Vec*, Vec*) const;
diff --git a/src/d/d_lib.cpp b/src/d/d_lib.cpp
index 882afebe9a..ad09b0485c 100644
--- a/src/d/d_lib.cpp
+++ b/src/d/d_lib.cpp
@@ -23,10 +23,6 @@ struct dEvt_control_c {
struct JKRExpandSwitch {};
-struct JKRArchive {
- /* 802D65A4 */ void findFsResource(char const*, u32) const;
-};
-
struct JKRAramArchive {
/* 802D781C */ void getAramAddress(char const*);
};
diff --git a/src/d/d_timer.cpp b/src/d/d_timer.cpp
index 66f360b7ab..c45998a6a3 100644
--- a/src/d/d_timer.cpp
+++ b/src/d/d_timer.cpp
@@ -45,14 +45,6 @@ struct dDlst_TimerScrnDraw_c {
/* 80261394 */ ~dDlst_TimerScrnDraw_c();
};
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
diff --git a/src/d/event/d_event.cpp b/src/d/event/d_event.cpp
index bd2455821b..fb0461a816 100644
--- a/src/d/event/d_event.cpp
+++ b/src/d/event/d_event.cpp
@@ -24,14 +24,6 @@ struct dCamera_c {
/* 801614C4 */ void QuickStart();
};
-struct Z2StatusMgr {
- /* 802B61E8 */ void setDemoName(char*);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
//
// Forward References:
//
diff --git a/src/d/event/d_event_data.cpp b/src/d/event/d_event_data.cpp
index e52bbfe19d..5b453acd40 100644
--- a/src/d/event/d_event_data.cpp
+++ b/src/d/event/d_event_data.cpp
@@ -25,19 +25,6 @@ struct dCamera_c {
/* 80181170 */ void StartBlure(int, fopAc_ac_c*, f32, f32);
};
-struct Z2SeqMgr {
- /* 802AF408 */ void bgmStop(u32, s32);
- /* 802AFE18 */ void bgmStreamPlay();
-};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
//
// Forward References:
//
diff --git a/src/d/event/d_event_manager.cpp b/src/d/event/d_event_manager.cpp
index e8e0db6958..ee0927975a 100644
--- a/src/d/event/d_event_manager.cpp
+++ b/src/d/event/d_event_manager.cpp
@@ -17,22 +17,6 @@ struct dCamera_c {
/* 80181E98 */ void Center();
};
-struct Z2StatusMgr {
- /* 802B61E8 */ void setDemoName(char*);
-};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
//
// Forward References:
//
diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp
index 709ecb2717..21e0ab0ef0 100644
--- a/src/d/kankyo/d_kankyo.cpp
+++ b/src/d/kankyo/d_kankyo.cpp
@@ -755,12 +755,8 @@ static asm void dKy_pos2_get_angle(cXyz* param_0, cXyz* param_1, s16* param_2, s
}
#pragma pop
-/* ############################################################################################## */
-/* 8042CA48-8042CA54 059768 000C+00 2/2 0/0 0/0 .bss @4112 */
-static u8 lit_4112[12];
-
/* 8042CA54-8042DD64 059774 1310+00 116/118 128/128 649/649 .bss g_env_light */
-u8 g_env_light[4880];
+dScnKy_env_light_c g_env_light;
/* 80453C28-80453C2C 002228 0004+00 1/1 0/0 0/0 .sdata2 @4441 */
SECTION_SDATA2 static f32 lit_4441 = 0.0054931640625f;
@@ -1018,7 +1014,7 @@ static asm void dKy_eflight_influence_id(cXyz param_0, int param_1) {
/* 8019E404-8019E430 198D44 002C+00 1/1 0/0 0/0 .text dKy_light_influence_col__Fi */
static GXColorS10 dKy_light_influence_col(int param_0) {
- dScnKy_env_light_c* env_light = ((dScnKy_env_light_c*)g_env_light);
+ dScnKy_env_light_c* env_light = &g_env_light;
return env_light->mPointLight[param_0 >= 0 ? param_0 : 0]->mColor;
}
@@ -1038,13 +1034,13 @@ asm void dKy_light_influence_col(_GXColor* param_0, f32 param_1) {
/* 8019E520-8019E548 198E60 0028+00 1/1 0/0 0/0 .text dKy_light_influence_power__Fi */
static f32 dKy_light_influence_power(int param_0) {
- dScnKy_env_light_c* env_light = ((dScnKy_env_light_c*)g_env_light);
+ dScnKy_env_light_c* env_light = &g_env_light;
return env_light->mPointLight[param_0 >= 0 ? param_0 : 0]->mPow;
}
/* 8019E548-8019E570 198E88 0028+00 1/1 0/0 0/0 .text dKy_light_influence_yuragi__Fi */
static f32 dKy_light_influence_yuragi(int param_0) {
- dScnKy_env_light_c* env_light = ((dScnKy_env_light_c*)g_env_light);
+ dScnKy_env_light_c* env_light = &g_env_light;
return env_light->mPointLight[param_0 >= 0 ? param_0 : 0]->mFluctuation;
}
@@ -1064,25 +1060,25 @@ SECTION_SDATA2 static f32 lit_5077 = 99999.8984375f;
/* 8019E694-8019E708 198FD4 0074+00 2/2 0/0 0/0 .text plight_init__Fv */
static void plight_init() {
- (*(dScnKy_env_light_c*)g_env_light).field_0x38[0].mPow = lit_5077;
+ g_env_light.field_0x38[0].mPow = lit_5077;
for (int i = 0; i < 100; i++) {
- (*(dScnKy_env_light_c*)g_env_light).mPointLight[i] = NULL;
+ g_env_light.mPointLight[i] = NULL;
}
for (int i = 0; i < 5; i++) {
- (*(dScnKy_env_light_c*)g_env_light).mEfPLight[i] = NULL;
- (*(dScnKy_env_light_c*)g_env_light).field_0x72c[i] = NULL;
+ g_env_light.mEfPLight[i] = NULL;
+ g_env_light.field_0x72c[i] = NULL;
}
- (*(dScnKy_env_light_c*)g_env_light).field_0x12a4 = -1;
- (*(dScnKy_env_light_c*)g_env_light).field_0x12a8 = -1;
+ g_env_light.field_0x12a4 = -1;
+ g_env_light.field_0x12a8 = -1;
}
/* 8019E708-8019E734 199048 002C+00 1/1 0/0 0/0 .text darkmist_init__Fv */
static void darkmist_init() {
for (int i = 0; i < 10; i++) {
- (*(dScnKy_env_light_c*)g_env_light).mDalkmistInf[i] = NULL;
+ g_env_light.mDalkmistInf[i] = NULL;
}
}
@@ -1152,25 +1148,25 @@ static asm void dungeonlight_init() {
/* 8019EAA0-8019EBD0 1993E0 0130+00 1/1 0/0 0/0 .text undwater_init__Fv */
static void undwater_init() {
J3DModelData* modelData2 = (J3DModelData*)dComIfG_getObjectRes("Always", 0x1D);
- (*(dScnKy_env_light_c*)g_env_light).field_0xf38 =
+ g_env_light.field_0xf38 =
mDoExt_createSolidHeapFromGameToCurrent(0x600, 0x20);
- if ((*(dScnKy_env_light_c*)g_env_light).field_0xf38 != NULL) {
- (*(dScnKy_env_light_c*)g_env_light).field_0xf30 =
+ if (g_env_light.field_0xf38 != NULL) {
+ g_env_light.field_0xf30 =
mDoExt_J3DModel__create(modelData2, 0x80000, 0x11020202);
- if ((*(dScnKy_env_light_c*)g_env_light).field_0xf30 != NULL) {
- (*(dScnKy_env_light_c*)g_env_light).field_0x105c = new mDoExt_btkAnm();
+ if (g_env_light.field_0xf30 != NULL) {
+ g_env_light.field_0x105c = new mDoExt_btkAnm();
- if ((*(dScnKy_env_light_c*)g_env_light).field_0x105c != NULL) {
+ if (g_env_light.field_0x105c != NULL) {
J3DAnmTextureSRTKey* key =
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Always", 0x3C);
- (*(dScnKy_env_light_c*)g_env_light)
+ g_env_light
.field_0x105c->init(modelData2, key, 1, 2, lit_4505, 0, -1);
}
}
mDoExt_restoreCurrentHeap();
- mDoExt_adjustSolidHeap((*(dScnKy_env_light_c*)g_env_light).field_0xf38);
+ mDoExt_adjustSolidHeap(g_env_light.field_0xf38);
}
}
@@ -1182,7 +1178,7 @@ static void dKy_light_size_get(char const* stage) {
if (!dKy_darkworld_check()) {
for (int i = 0; i < 36; i++) {
if (!strcmp(stage, lightTbl->stageName)) {
- (*(dScnKy_env_light_c*)g_env_light).field_0x1309 = lightTbl->size;
+ g_env_light.field_0x1309 = lightTbl->size;
return;
}
lightTbl++;
@@ -1190,7 +1186,7 @@ static void dKy_light_size_get(char const* stage) {
} else {
for (int i = 0; i < 9; i++) {
if (!strcmp(stage, lightTwTbl->stageName)) {
- (*(dScnKy_env_light_c*)g_env_light).field_0x1309 = lightTwTbl->size;
+ g_env_light.field_0x1309 = lightTwTbl->size;
return;
}
lightTwTbl++;
@@ -1603,7 +1599,7 @@ void dScnKy_env_light_c::setDaytime() {
mDoAud_setMinute(dKy_getdaytime_minute());
mDoAud_setWeekday(dKy_get_dayofweek());
dComIfGs_setDate(mDate);
- (*(dScnKy_env_light_c*)g_env_light).field_0x12fb = 0;
+ g_env_light.field_0x12fb = 0;
}
#else
#pragma push
@@ -1704,7 +1700,7 @@ s32 dKy_daynight_check() {
/* 8019FAF4-8019FB30 19A434 003C+00 0/0 0/0 22/22 .text dKy_getDarktime_hour__Fv */
s32 dKy_getDarktime_hour() {
- return (*(dScnKy_env_light_c*)g_env_light).getDarkDaytime() / lit_5347;
+ return g_env_light.getDarkDaytime() / lit_5347;
}
/* 8019FB30-8019FBBC 19A470 008C+00 0/0 0/0 19/19 .text dKy_getDarktime_minute__Fv */
@@ -1719,7 +1715,7 @@ asm void dKy_getDarktime_minute() {
/* 8019FBBC-8019FBCC 19A4FC 0010+00 0/0 0/0 8/8 .text dKy_getDarktime_week__Fv */
s32 dKy_getDarktime_week() {
- return (*(dScnKy_env_light_c*)g_env_light).mDarktimeWeek;
+ return g_env_light.mDarktimeWeek;
}
/* 8019FBCC-8019FBD4 19A50C 0008+00 2/2 0/0 0/0 .text getDarkDaytime__18dScnKy_env_light_cFv */
@@ -1937,16 +1933,9 @@ asm void dScnKy_env_light_c::settingTevStruct_plightcol_plus(cXyz* param_0, dKy_
}
#pragma pop
-/* ############################################################################################## */
-/* 8042DD64-8042DD70 05AA84 000C+00 0/1 0/0 0/0 .bss @4113 */
-#pragma push
-#pragma force_active on
-static u8 lit_4113[12];
-#pragma pop
-
/* 8042DD70-8042E07C 05AA90 030C+00 1/2 8/8 9/9 .bss g_mEnvSeMgr */
-extern u8 g_mEnvSeMgr[780];
-u8 g_mEnvSeMgr[780];
+extern Z2EnvSeMgr g_mEnvSeMgr;
+Z2EnvSeMgr g_mEnvSeMgr;
/* 8042E07C-8042E7BC 05AD9C 0740+00 5/4 0/0 0/0 .bss lightStatusData */
static u8 lightStatusData[1856];
@@ -2148,7 +2137,7 @@ void dScnKy_env_light_c::drawKankyo() {
setSunpos();
SetBaseLight();
setLight();
- dKy_setLight_nowroom((*(dScnKy_env_light_c*)g_env_light).mNowRoom);
+ dKy_setLight_nowroom(g_env_light.mNowRoom);
}
/* ############################################################################################## */
@@ -2370,13 +2359,13 @@ static cXyz dKy_light_influence_pos(int param_0) {
param_0 = 0;
}
- dScnKy_env_light_c* env_light = ((dScnKy_env_light_c*)g_env_light);
+ dScnKy_env_light_c* env_light = &g_env_light;
return env_light->mPointLight[param_0]->mPosition;
}
/* 801A7714-801A7738 1A2054 0024+00 0/0 1/1 0/0 .text dKy_plight_near_pos__Fv */
cXyz dKy_plight_near_pos() {
- return (*(dScnKy_env_light_c*)g_env_light).mPLightNearPos;
+ return g_env_light.mPLightNearPos;
}
/* 801A7738-801A7790 1A2078 0058+00 0/0 0/0 1/1 .text
@@ -3131,7 +3120,7 @@ asm void dKy_pol_efftype2_get(cBgS_PolyInfo const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dKy_pol_sound_get(cBgS_PolyInfo const* param_0) {
+asm u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0) {
nofralloc
#include "asm/d/kankyo/d_kankyo/dKy_pol_sound_get__FPC13cBgS_PolyInfo.s"
}
@@ -3491,17 +3480,17 @@ static asm void dKy_murky_set(J3DMaterial* param_0) {
/* 801ACCDC-801ACCF4 1A761C 0018+00 2/2 1/1 0/0 .text dKy_shadow_mode_set__FUc */
void dKy_shadow_mode_set(u8 mode) {
- (*(dScnKy_env_light_c*)g_env_light).mShadowMode |= mode;
+ g_env_light.mShadowMode |= mode;
}
/* 801ACCF4-801ACD0C 1A7634 0018+00 2/2 1/1 0/0 .text dKy_shadow_mode_reset__FUc */
void dKy_shadow_mode_reset(u8 mode) {
- (*(dScnKy_env_light_c*)g_env_light).mShadowMode &= ~mode;
+ g_env_light.mShadowMode &= ~mode;
}
/* 801ACD0C-801ACD24 1A764C 0018+00 3/3 0/0 1/1 .text dKy_shadow_mode_check__FUc */
u8 dKy_shadow_mode_check(u8 mode) {
- return (*(dScnKy_env_light_c*)g_env_light).mShadowMode & mode;
+ return g_env_light.mShadowMode & mode;
}
/* ############################################################################################## */
@@ -3621,21 +3610,6 @@ extern "C" asm void __dt__18dScnKy_env_light_cFv() {
}
#pragma pop
-/* 801ADCA4-801ADD00 1A85E4 005C+00 0/0 1/0 0/0 .text __sinit_d_kankyo_cpp */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void __sinit_d_kankyo_cpp() {
- nofralloc
-#include "asm/d/kankyo/d_kankyo/__sinit_d_kankyo_cpp.s"
-}
-#pragma pop
-
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x801ADCA4, __sinit_d_kankyo_cpp);
-#pragma pop
-
/* ############################################################################################## */
/* 80451070-80451078 -00001 0008+00 0/0 1/1 0/0 .sbss None */
/* 80451070 0001+00 data_80451070 None */
diff --git a/src/d/menu/d_menu_collect.cpp b/src/d/menu/d_menu_collect.cpp
index d79e83d118..e843e45287 100644
--- a/src/d/menu/d_menu_collect.cpp
+++ b/src/d/menu/d_menu_collect.cpp
@@ -117,16 +117,6 @@ struct dMenu_Fishing_c {
/* 801C5470 */ void _close();
};
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
struct J3DTexNoAnm {
/* 8003B1F8 */ ~J3DTexNoAnm();
/* 8003B240 */ J3DTexNoAnm();
diff --git a/src/d/menu/d_menu_dmap.cpp b/src/d/menu/d_menu_dmap.cpp
index 29af0cfc34..361e6c7699 100644
--- a/src/d/menu/d_menu_dmap.cpp
+++ b/src/d/menu/d_menu_dmap.cpp
@@ -163,21 +163,6 @@ struct dMenuMapCommon_c {
/* 801C443C */ void clearIconInfo();
};
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
- /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
struct J2DAnmLoaderDataBase {
/* 80308A6C */ void load(void const*);
};
diff --git a/src/d/menu/d_menu_fmap.cpp b/src/d/menu/d_menu_fmap.cpp
index 4e63663e93..5cdec65eac 100644
--- a/src/d/menu/d_menu_fmap.cpp
+++ b/src/d/menu/d_menu_fmap.cpp
@@ -166,16 +166,6 @@ struct dMapInfo_n {
/* 8003F02C */ void getMapRestartPos();
};
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
struct JKRAramArchive {};
//
diff --git a/src/d/menu/d_menu_insect.cpp b/src/d/menu/d_menu_insect.cpp
index 81282c73a5..b9b41b1b05 100644
--- a/src/d/menu/d_menu_insect.cpp
+++ b/src/d/menu/d_menu_insect.cpp
@@ -65,16 +65,6 @@ struct dMeter2Info_c {
J2DPicture*, void*, J2DPicture*, int);
};
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
//
// Forward References:
//
diff --git a/src/d/menu/d_menu_letter.cpp b/src/d/menu/d_menu_letter.cpp
index 33d406e774..0e6bbd1735 100644
--- a/src/d/menu/d_menu_letter.cpp
+++ b/src/d/menu/d_menu_letter.cpp
@@ -64,16 +64,6 @@ struct dMenu_Letter {
static u8 letter_data[512];
};
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
//
// Forward References:
//
diff --git a/src/d/menu/d_menu_option.cpp b/src/d/menu/d_menu_option.cpp
index f16ff8f134..4aaf5028dc 100644
--- a/src/d/menu/d_menu_option.cpp
+++ b/src/d/menu/d_menu_option.cpp
@@ -67,18 +67,6 @@ struct dComIfG_play_c {
/* 8002B3B0 */ void getNowVibration();
};
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- /* 802CD888 */ void setOutputMode(u32);
-
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
struct JUTGamePad {
struct CRumble {
struct ERumble {};
diff --git a/src/d/menu/d_menu_ring.cpp b/src/d/menu/d_menu_ring.cpp
index 8bcd53e40c..fdab7a3d83 100644
--- a/src/d/menu/d_menu_ring.cpp
+++ b/src/d/menu/d_menu_ring.cpp
@@ -73,20 +73,6 @@ struct dItem_data {
static void* item_resource[1530];
};
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
//
// Forward References:
//
diff --git a/src/d/menu/d_menu_save.cpp b/src/d/menu/d_menu_save.cpp
index 2db66924ab..99d58569f3 100644
--- a/src/d/menu/d_menu_save.cpp
+++ b/src/d/menu/d_menu_save.cpp
@@ -99,21 +99,6 @@ struct dFile_info_c {
/* 80192D60 */ void _draw();
};
-struct Z2SeqMgr {
- /* 802B3EAC */ void checkBgmIDPlaying(u32);
-};
-
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
- /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
struct JFWDisplay {
static u8 sManager[4];
};
diff --git a/src/d/menu/d_menu_skill.cpp b/src/d/menu/d_menu_skill.cpp
index 0c92b021bc..4eb93188d5 100644
--- a/src/d/menu/d_menu_skill.cpp
+++ b/src/d/menu/d_menu_skill.cpp
@@ -42,16 +42,6 @@ struct dMeter2Info_c {
/* 8021C544 */ void getStringKanji(u32, char*, JMSMesgEntry_c*);
};
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
//
// Forward References:
//
diff --git a/src/d/meter/d_meter2_draw.cpp b/src/d/meter/d_meter2_draw.cpp
index 4fe4ed13bf..1d870c06f7 100644
--- a/src/d/meter/d_meter2_draw.cpp
+++ b/src/d/meter/d_meter2_draw.cpp
@@ -13,19 +13,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
- /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
-//
// Forward References:
//
diff --git a/src/d/msg/d_msg_class.cpp b/src/d/msg/d_msg_class.cpp
index fa67684d0c..5485ab9440 100644
--- a/src/d/msg/d_msg_class.cpp
+++ b/src/d/msg/d_msg_class.cpp
@@ -236,21 +236,6 @@ struct dMsgObject_c {
/* 80238638 */ void getItemEquipButton();
};
-struct Z2SpeechMgr2 {
- /* 802CBD88 */ void setString(u16 const*, s16, u8, u16);
- /* 802CCA18 */ void playOneShotVoice(u8, u16, Vec*, s8);
-};
-
-struct JAISoundID {};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
struct STControl {
/* 80032044 */ STControl(s16, s16, s16, s16, f32, f32, s16, s16);
/* 80032088 */ void setWaitParm(s16, s16, s16, s16, f32, f32, s16, s16);
diff --git a/src/d/msg/d_msg_object.cpp b/src/d/msg/d_msg_object.cpp
index 53b349a53e..4363fcea84 100644
--- a/src/d/msg/d_msg_object.cpp
+++ b/src/d/msg/d_msg_object.cpp
@@ -90,27 +90,6 @@ struct dDemo_c {
static u8 m_mesgControl[4];
};
-struct Z2StatusMgr {
- /* 802B60CC */ void talkIn();
- /* 802B6104 */ void talkOut();
-};
-
-struct Z2SpeechMgr2 {
- /* 802CBF60 */ void setTextCount(s16);
-};
-
-struct Z2SeqMgr {
- /* 802AFF8C */ void changeBgmStatus(s32);
-};
-
-struct Z2SeMgr {
- /* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
-};
-
-struct Z2AudioMgr {
- static u8 mAudioMgrPtr[4 + 4 /* padding */];
-};
-
//
// Forward References:
//
diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp
index b44228ba19..f2f0d51860 100644
--- a/src/d/particle/d_particle.cpp
+++ b/src/d/particle/d_particle.cpp
@@ -177,10 +177,6 @@ struct cBgS {
/* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
};
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
struct J3DUClipper {
/* 802738FC */ void clip(f32 const (*)[4], Vec, f32) const;
};
diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp
index 3b92dad6cd..ff889b9ded 100644
--- a/src/f_op/f_op_msg_mng.cpp
+++ b/src/f_op/f_op_msg_mng.cpp
@@ -12,14 +12,6 @@
#include "dolphin/types.h"
//
-// Types:
-//
-
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
-//
// Forward References:
//
diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp
index 08ec75cdfc..5751726721 100644
--- a/src/m_Do/m_Do_ext.cpp
+++ b/src/m_Do/m_Do_ext.cpp
@@ -18,112 +18,8 @@
// Types:
//
-struct mDoExt_blkAnm {
- /* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
-};
-
-struct mDoExt_MtxCalcAnmBlendTblOld {
- /* 8000F4B0 */ void calc();
- /* 80014EB0 */ ~mDoExt_MtxCalcAnmBlendTblOld();
-};
-
-struct mDoExt_MtxCalcAnmBlendTbl {
- /* 8000F26C */ void calc();
- /* 80014F3C */ ~mDoExt_MtxCalcAnmBlendTbl();
-};
-
-struct mDoExt_McaMorfCallBack2_c {};
-
-struct Z2Creature {
- /* 802C0628 */ void initAnime(void*, bool, f32, f32);
- /* 802C06D0 */ void updateAnime(f32, f32);
-};
-
-struct mDoExt_McaMorfSO {
- /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
- mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
- int, Z2Creature*, u32, u32);
- /* 80010888 */ ~mDoExt_McaMorfSO();
- /* 800108F0 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
- mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
- Z2Creature*, u32, u32);
- /* 80010B68 */ void calc();
- /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
- /* 800110B0 */ void play(u32, s8);
- /* 80011154 */ void updateDL();
- /* 800111C0 */ void entryDL();
- /* 800111EC */ void modelCalc();
- /* 80011250 */ void getTransform(u16, J3DTransformInfo*);
- /* 80011310 */ void stopZelAnime();
-};
-
-struct mDoExt_McaMorf2 {
- /* 80011348 */ mDoExt_McaMorf2(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
- mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*,
- int, f32, int, int, Z2Creature*, u32, u32);
- /* 800113FC */ ~mDoExt_McaMorf2();
- /* 80011464 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
- mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, J3DAnmTransform*, int,
- f32, int, int, Z2Creature*, u32, u32);
- /* 800116B4 */ void ERROR_EXIT();
- /* 800116F4 */ void calc();
- /* 80011D70 */ void setAnm(J3DAnmTransform*, J3DAnmTransform*, f32, int, f32, f32, f32, f32);
- /* 80011FCC */ void setAnmRate(f32);
- /* 800120A0 */ void play(u32, s8);
- /* 80012144 */ void entryDL();
- /* 80012170 */ void modelCalc();
- /* 800121E8 */ void stopZelAnime();
-};
-
-struct mDoExt_McaMorf {
- /* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
- mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
- int, void*, u32, u32);
- /* 8000FD10 */ ~mDoExt_McaMorf();
- /* 8000FD94 */ void create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
- mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
- int, void*, u32, u32);
- /* 80010074 */ void calc();
- /* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*);
- /* 800105C8 */ void play(Vec*, u32, s8);
- /* 80010680 */ void entryDL();
- /* 800106AC */ void modelCalc();
- /* 80010710 */ void getTransform(u16, J3DTransformInfo*);
-};
-
-struct mDoExt_3Dline_c {
- /* 800123D0 */ void init(u16, int, int);
- /* 800126BC */ mDoExt_3Dline_c();
-};
-
-struct mDoExt_3DlineMat_c {};
-
-struct mDoExt_3DlineMatSortPacket {
- /* 80014738 */ void setMat(mDoExt_3DlineMat_c*);
- /* 8001479C */ void draw();
- /* 80014E20 */ ~mDoExt_3DlineMatSortPacket();
-};
-
struct dKy_tevstr_c {};
-struct mDoExt_3DlineMat1_c {
- /* 80013360 */ void init(u16, u16, ResTIMG*, int);
- /* 800134F8 */ void setMaterial();
- /* 800135D0 */ void draw();
- /* 80013FB0 */ void update(int, _GXColor&, dKy_tevstr_c*);
- /* 8001373C */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
- /* 80014E7C */ bool getMaterialID();
-};
-
-struct mDoExt_3DlineMat0_c {
- /* 800125E0 */ void init(u16, u16, int);
- /* 800126C0 */ void setMaterial();
- /* 80012774 */ void draw();
- /* 80012874 */ void update(int, f32, _GXColor&, u16, dKy_tevstr_c*);
- /* 80012E3C */ void update(int, _GXColor&, dKy_tevstr_c*);
- /* 80014E84 */ bool getMaterialID();
-};
-
struct J3DDrawBuffer;
struct J3DDrawBuffer {
@@ -134,25 +30,6 @@ struct dDlst_list_c {
/* 800565EC */ void entryZSortXluDrawList(J3DDrawBuffer*, J3DPacket*, cXyz&);
};
-struct JAISoundID {};
-
-struct Z2SoundHandlePool {};
-
-struct Z2SoundObjBase {
- /* 802BE038 */ void framework(u32, s8);
- /* 802BE070 */ void dispose();
- /* 802BE104 */ void stopOK(Z2SoundHandlePool&);
- /* 802BE144 */ void startSound(JAISoundID, u32, s8);
- /* 802BE2D4 */ void startLevelSound(JAISoundID, u32, s8);
-};
-
-struct Z2SoundObjAnime {
- /* 802BEB94 */ Z2SoundObjAnime();
- /* 802BEBDC */ void init(Vec*, u8);
- /* 802BEBFC */ void initAnime(void*, bool, f32, f32);
- /* 802BEED4 */ void updateAnime(f32, f32);
-};
-
struct ResFONT {};
struct JUtility {
@@ -1446,8 +1323,8 @@ SECTION_DATA extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */] = {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm int mDoExt_bckAnm::init(J3DAnmTransform* param_0, int param_1, int param_2, f32 param_3,
- s16 param_4, s16 param_5, bool param_6) {
+asm int mDoExt_bckAnm::init(J3DAnmTransform* i_bck, int i_play, int i_attr, f32 i_rate,
+ s16 i_startF, s16 i_endF, bool i_modify) {
nofralloc
#include "asm/m_Do/m_Do_ext/init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb.s"
}
@@ -2539,7 +2416,8 @@ asm mDoExt_McaMorf::mDoExt_McaMorf(J3DModelData* param_0, mDoExt_McaMorfCallBack
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm mDoExt_McaMorf::~mDoExt_McaMorf() {
+// asm mDoExt_McaMorf::~mDoExt_McaMorf() {
+extern "C" asm void __dt__14mDoExt_McaMorfFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/__dt__14mDoExt_McaMorfFv.s"
}
@@ -2647,7 +2525,8 @@ asm mDoExt_McaMorfSO::mDoExt_McaMorfSO(J3DModelData* param_0, mDoExt_McaMorfCall
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm mDoExt_McaMorfSO::~mDoExt_McaMorfSO() {
+// asm mDoExt_McaMorfSO::~mDoExt_McaMorfSO() {
+extern "C" asm void __dt__16mDoExt_McaMorfSOFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/__dt__16mDoExt_McaMorfSOFv.s"
}
@@ -2774,7 +2653,8 @@ asm mDoExt_McaMorf2::mDoExt_McaMorf2(J3DModelData* param_0, mDoExt_McaMorfCallBa
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm mDoExt_McaMorf2::~mDoExt_McaMorf2() {
+// asm mDoExt_McaMorf2::~mDoExt_McaMorf2() {
+extern "C" asm void __dt__15mDoExt_McaMorf2Fv() {
nofralloc
#include "asm/m_Do/m_Do_ext/__dt__15mDoExt_McaMorf2Fv.s"
}
@@ -3080,7 +2960,8 @@ asm void mDoExt_3DlineMatSortPacket::setMat(mDoExt_3DlineMat_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void mDoExt_3DlineMatSortPacket::draw() {
+// asm void mDoExt_3DlineMatSortPacket::draw() {
+extern "C" asm void draw__26mDoExt_3DlineMatSortPacketFv() {
nofralloc
#include "asm/m_Do/m_Do_ext/draw__26mDoExt_3DlineMatSortPacketFv.s"
}
@@ -3456,25 +3337,15 @@ extern "C" asm void func_80015034(void* _this, Vec const& param_0, f32 const (&p
/* 8001505C-80015084 00F99C 0028+00 7/0 0/0 0/0 .text
* init__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>FRC3VecRA3_A4_Cf
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-extern "C" asm void func_8001505C(void* _this, Vec const& param_0, f32 const (&param_1)[3][4]) {
- nofralloc
-#include "asm/m_Do/m_Do_ext/func_8001505C.s"
+void J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya>::init(Vec const& param_0, f32 const (&param_1)[3][4]) {
+ J3DMtxCalcJ3DSysInitMaya::init(param_0, param_1);
}
-#pragma pop
/* 80015084-800150AC 00F9C4 0028+00 2/0 0/0 0/0 .text
* calc__73J3DMtxCalcNoAnm<27J3DMtxCalcCalcTransformMaya,24J3DMtxCalcJ3DSysInitMaya>Fv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-extern "C" asm void func_80015084(void* _this) {
- nofralloc
-#include "asm/m_Do/m_Do_ext/func_80015084.s"
+void J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya>::calc() {
+ calcTransform(getJoint()->getTransformInfo());
}
-#pragma pop
/* 800150AC-8001513C 00F9EC 0090+00 1/0 0/0 0/0 .text
* calc__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>Fv
diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp
index a4b1b4f12e..4718a4deae 100644
--- a/src/m_Do/m_Do_graphic.cpp
+++ b/src/m_Do/m_Do_graphic.cpp
@@ -18,10 +18,6 @@
// Types:
//
-struct JMath {
- static u8 sincosTable_[65536];
-};
-
struct J2DPrint {
/* 802F4658 */ void setBuffer(u32);
};