From f67a9d94116f11f8874bf2213924aa0926e2f76d Mon Sep 17 00:00:00 2001 From: Luke Street Date: Sat, 16 Sep 2023 10:23:12 -0400 Subject: [PATCH] Match & link d_a_alldie; more d_com_inf_game (#38) --- configure.py | 2 +- include/d/d_com_inf_game.h | 55 ++++++- include/d/d_drawlist.h | 7 +- include/d/d_save.h | 35 ++++- include/f_op/f_op_actor_mng.h | 4 +- src/d/actor/d_a_alldie.cpp | 31 ++-- src/d/d_com_inf_game.cpp | 263 +++++++++++++++++++++++++++++++--- src/d/d_drawlist.cpp | 71 +++++---- 8 files changed, 380 insertions(+), 88 deletions(-) diff --git a/configure.py b/configure.py index 1cc666374..8a5588790 100644 --- a/configure.py +++ b/configure.py @@ -1316,7 +1316,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_warphr"), ActorRel(NonMatching, "d_a_wbird"), ActorRel(NonMatching, "d_a_ykgr"), - ActorRel(NonMatching, "d_a_alldie"), + ActorRel(Matching, "d_a_alldie"), ActorRel(NonMatching, "d_a_am"), ActorRel(NonMatching, "d_a_am2"), ActorRel(NonMatching, "d_a_amiprop"), diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 0e74a6fbd..5cb4580df 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -90,7 +90,7 @@ public: void ct(); void init(); void itemInit(); - int getLayerNo(int i_roomNo); + static int getLayerNo(int i_roomNo); void createParticle(); void createDemo(); void removeDemo(); @@ -374,6 +374,42 @@ inline u8 dComIfGs_getItem(int param_0) { return g_dComIfG_gameInfo.save.getPlayer().getItem().getItem(param_0); } +inline u8 dComIfGs_getBeast(int i_idx) { + return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getBeast(i_idx); +} + +inline u8 dComIfGs_getBait(int i_idx) { + return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getBait(i_idx); +} + +inline u8 dComIfGs_getReserve(int i_idx) { + return g_dComIfG_gameInfo.save.getPlayer().getBagItem().getReserve(i_idx); +} + +inline BOOL dComIfGs_isGetCollectMap(int i_itemNo) { + return g_dComIfG_gameInfo.save.getPlayer().getMap().isGetMap(i_itemNo - 1); +} + +inline u8 dComIfGs_getArrowNum() { + return g_dComIfG_gameInfo.save.getPlayer().getItemRecord().getArrowNum(); +} + +inline u8 dComIfGs_getBombNum() { + return g_dComIfG_gameInfo.save.getPlayer().getItemRecord().getBombNum(); +} + +inline u8 dComIfGs_getBeastNum(int i_idx) { + return g_dComIfG_gameInfo.save.getPlayer().getBagItemRecord().getBeastNum(i_idx); +} + +inline u8 dComIfGs_getBaitNum(int i_idx) { + return g_dComIfG_gameInfo.save.getPlayer().getBagItemRecord().getBaitNum(i_idx); +} + +inline u8 dComIfGs_getReserveNum(int i_idx) { + return g_dComIfG_gameInfo.save.getPlayer().getBagItemRecord().getReserveNum(i_idx); +} + inline void dComIfGs_setEventReg(u16 i_reg, u8 i_no) { g_dComIfG_gameInfo.save.getEvent().setEventReg(i_reg, i_no); } @@ -708,10 +744,19 @@ inline void dComIfGp_evmng_execute() { * === DRAWLIST === */ -inline int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cXyz* param_3, s16 angle, - f32 param_5, _GXTexObj* tex) { - return g_dComIfG_gameInfo.drawlist.setSimpleShadow(pos, param_1, param_2, param_3, angle, - param_5, tex); +inline int dComIfGd_setSimpleShadow(cXyz* pPos, f32 param_1, f32 param_2, cXyz* param_3, s16 angle, + f32 param_5, GXTexObj* pTex) { + return g_dComIfG_gameInfo.drawlist.setSimpleShadow(pPos, param_1, param_2, param_3, angle, + param_5, pTex); +} + +int dComIfGd_setSimpleShadow2(cXyz* pPos, f32 param_1, f32 param_2, cBgS_PolyInfo& pPolyInfo, + s16 param_4, f32 param_5, GXTexObj* pTex); + +inline int dComIfGd_setRealShadow2(u32 id, s8 param_2, J3DModel* pModel, cXyz* pPos, f32 param_5, + f32 param_6, dKy_tevstr_c* pTevStr) { + return g_dComIfG_gameInfo.drawlist.setRealShadow2(id, param_2, pModel, pPos, param_5, param_6, + pTevStr); } /** diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index a2918a937..3cc5aaa85 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -132,6 +132,7 @@ public: void imageDraw(f32 (*)[4]); void draw(f32 (*)[4]); int setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*); + int setReal2(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*); bool addReal(u32, J3DModel*); int setSimple(cXyz*, f32, f32, cXyz*, s16, f32, GXTexObj*); static void setSimpleTex(ResTIMG const*); @@ -186,6 +187,10 @@ public: return mShadowControl.setSimple(param_0, param_1, param_2, param_3, param_4, param_5, param_6); } + int setRealShadow2(u32 id, s8 param_2, J3DModel* pModel, cXyz* pPos, f32 param_5, f32 param_6, + dKy_tevstr_c* pTevStr) { + return mShadowControl.setReal2(id, param_2, pModel, pPos, param_5, param_6, pTevStr); + } static void offWipe() { mWipe = false; } @@ -234,4 +239,4 @@ STATIC_ASSERT(sizeof(dDlst_list_c) == 0x16234); void dDlst_texSpecmapST(const cXyz*, const dKy_tevstr_c*, J3DModelData*, float); -#endif /* D_D_DRAWLIST_H */ \ No newline at end of file +#endif /* D_D_DRAWLIST_H */ diff --git a/include/d/d_save.h b/include/d/d_save.h index e45b7e245..8d4382f75 100644 --- a/include/d/d_save.h +++ b/include/d/d_save.h @@ -46,7 +46,7 @@ public: void init(); void set(char const*, s8, u8); - s8 getRoomNo() const { return mRoomNo; } + const s8 getRoomNo() const { return mRoomNo; } u8 getPlayerStatus() const { return mPlayerStatus; } char* getName() { return mName; } @@ -99,6 +99,9 @@ public: /* 80059894 */ void decTimer(); /* 800598D0 */ u16 getTimer(); + u8 getArrowNum() const { return mArrowNum; } + u8 getBombNum() const { return mBombNum; } + /* 0x0 */ u16 mTimer; /* 0x2 */ u8 field_0x2; /* 0x3 */ u8 mArrowNum; @@ -141,9 +144,13 @@ public: /* 8005A854 */ u8 checkReserveItemEmpty(); /* 8005A878 */ u8 checkReserveItem(u8); - /* 0x00 */ u8 field_0x0[8]; - /* 0x08 */ u8 field_0x8[8]; - /* 0x10 */ u8 field_0x10[8]; + u8 getBeast(int i_idx) const { return mBeast[i_idx]; } + u8 getBait(int i_idx) const { return mBait[i_idx]; } + u8 getReserve(int i_idx) const { return mReserve[i_idx]; } + + /* 0x00 */ u8 mBeast[8]; + /* 0x08 */ u8 mBait[8]; + /* 0x10 */ u8 mReserve[8]; }; // Size: 0x18 STATIC_ASSERT(sizeof(dSv_player_bag_item_c) == 0x18); @@ -170,9 +177,13 @@ class dSv_player_bag_item_record_c { public: /* 8005AC48 */ void init(); - /* 0x00 */ u8 field_0x0[8]; - /* 0x08 */ u8 field_0x8[8]; - /* 0x10 */ u8 field_0x10[8]; + u8 getBeastNum(int i_idx) const { return mBeastNum[i_idx]; } + u8 getBaitNum(int i_idx) const { return mBaitNum[i_idx]; } + u8 getReserveNum(int i_idx) const { return mReserveNum[i_idx]; } + + /* 0x00 */ u8 mBeastNum[8]; + /* 0x08 */ u8 mBaitNum[8]; + /* 0x10 */ u8 mReserveNum[8]; }; // Size: 0x18 STATIC_ASSERT(sizeof(dSv_player_bag_item_record_c) == 0x18); @@ -413,6 +424,8 @@ public: /* 0x21 */ u8 mDungeonItem; }; // Size: 0x24 +STATIC_ASSERT(sizeof(dSv_memBit_c) == 0x24); + class dSv_ocean_c { public: /* 8005C8E8 */ void init(); @@ -422,6 +435,8 @@ public: /* 0x0 */ u16 field_0x0[50]; }; +STATIC_ASSERT(sizeof(dSv_ocean_c) == 0x64); + class dSv_event_c { public: /* 8005CACC */ void init(); @@ -434,6 +449,8 @@ public: /* 0x0 */ u8 mFlags[0x100]; }; // Size: 0x100 +STATIC_ASSERT(sizeof(dSv_event_c) == 0x100); + class dSv_reserve_c { public: /* 8005CB94 */ void init(); @@ -452,6 +469,8 @@ public: /* 0x0 */ dSv_memBit_c mMembit; }; // Size: 0x24 +STATIC_ASSERT(sizeof(dSv_memory_c) == 0x24); + class dSv_danBit_c { public: /* 8005CBD0 */ int init(s8); @@ -568,6 +587,8 @@ public: /* 0x624 */ dSv_event_c mEvent; }; // Size: 0x724 +STATIC_ASSERT(sizeof(dSv_save_c) == 0x728); + class dSv_info_c { public: /* 8005D604 */ void init(); diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index ae921b475..ab264fba1 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -111,8 +111,8 @@ struct DOUBLE_POS { double x, y, z; }; -inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) { - return (s8)pActor->current.roomNo; +inline const s8 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) { + return pActor->current.roomNo; } inline u32 fopAcM_GetID(const void* pActor) { diff --git a/src/d/actor/d_a_alldie.cpp b/src/d/actor/d_a_alldie.cpp index 588775553..35a965fa8 100644 --- a/src/d/actor/d_a_alldie.cpp +++ b/src/d/actor/d_a_alldie.cpp @@ -3,9 +3,10 @@ // Translation Unit: d_a_alldie.cpp // -#include "f_op/f_op_actor_mng.h" #include "JSystem/JKernel/JKRHeap.h" +#include "d/d_com_inf_game.h" #include "d/d_procname.h" +#include "f_op/f_op_actor_mng.h" enum { ACT_WAIT, @@ -25,12 +26,12 @@ public: public: u8 mAction; - u16 mTimer; + s16 mTimer; }; /* 00000078-00000084 .text getSwbit__10daAlldie_cFv */ u8 daAlldie_c::getSwbit() { - return fopAcM_GetParam(this) >> 0x8; + return fopAcM_GetParam(this) >> 0x8; } /* 00000084-0000008C .text actionWait__10daAlldie_cFv */ @@ -52,13 +53,11 @@ s32 daAlldie_c::actionCheck() { s32 daAlldie_c::actionTimer() { if (fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this))) { mAction = ACT_CHECK; + } else if (mTimer > 0) { + mTimer--; } else { - if (mTimer > 0) { - mTimer--; - } else { - mAction = ACT_WAIT; - dComIfGs_onSwitch(getSwbit(), fopAcM_GetRoomNo(this)); - } + mAction = ACT_WAIT; + dComIfGs_onSwitch(getSwbit(), fopAcM_GetRoomNo(this)); } return 1; } @@ -83,9 +82,7 @@ s32 daAlldie_c::execute() { s32 daAlldie_c::create() { fopAcM_SetupActor(this, daAlldie_c); - s8 roomNo = fopAcM_GetRoomNo(this); - - if (!dComIfGs_isSwitch(this->getSwbit(), roomNo)) { + if (!dComIfGs_isSwitch(getSwbit(), fopAcM_GetRoomNo(this))) { mAction = ACT_CHECK; } else { mAction = ACT_WAIT; @@ -100,29 +97,29 @@ s32 daAlldie_c::create() { } /* 000001BC-000001C4 .text daAlldie_Draw__FP10daAlldie_c */ -s32 daAlldie_Draw(daAlldie_c*) { +static s32 daAlldie_Draw(daAlldie_c*) { return 1; } /* 000001C4-000001E8 .text daAlldie_Execute__FP10daAlldie_c */ -s32 daAlldie_Execute(daAlldie_c* i_this) { +static s32 daAlldie_Execute(daAlldie_c* i_this) { i_this->execute(); return 1; } /* 000001E8-000001F0 .text daAlldie_IsDelete__FP10daAlldie_c */ -s32 daAlldie_IsDelete(daAlldie_c*) { +static s32 daAlldie_IsDelete(daAlldie_c*) { return 1; } /* 000001F0-00000220 .text daAlldie_Delete__FP10daAlldie_c */ -s32 daAlldie_Delete(daAlldie_c* i_this) { +static s32 daAlldie_Delete(daAlldie_c* i_this) { i_this->~daAlldie_c(); return 1; } /* 00000220-000002CC .text daAlldie_Create__FP10fopAc_ac_c */ -s32 daAlldie_Create(fopAc_ac_c* ac) { +static s32 daAlldie_Create(fopAc_ac_c* ac) { return ((daAlldie_c*)ac)->create(); } diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp index 8daaed286..ad4681cc6 100644 --- a/src/d/d_com_inf_game.cpp +++ b/src/d/d_com_inf_game.cpp @@ -183,11 +183,11 @@ int dComIfG_play_c::getLayerNo(int i_roomNo) { int layer = dComIfGp_getStartStageLayer(); if (layer < 0) { - int hour = dKy_getdaytime_hour(); + layer = dKy_getdaytime_hour(); if (dKy_checkEventNightStop()) { layer = 1; } else { - layer = (hour >= 6 && hour < 18) == 0; + layer = (layer >= 6 && layer < 18) ? 0 : 1; } if (strcmp(dComIfGp_getStartStageName(), "sea") == 0) { @@ -494,12 +494,12 @@ int dComIfG_resetToOpening(scene_class* i_scene) { /* 800532D8-80053330 .text phase_1__FPc */ // matches with stringbase -int phase_1(char* i_arcName) { +static int phase_1(char* i_arcName) { return !dComIfG_setObjectRes(i_arcName, (u8)0, NULL) ? cPhs_ERROR_e : cPhs_NEXT_e; } /* 80053330-80053388 .text phase_2__FPc */ -int phase_2(char* i_arcName) { +static int phase_2(char* i_arcName) { int syncStatus = dComIfG_syncObjectRes(i_arcName); if (syncStatus < 0) { @@ -510,7 +510,7 @@ int phase_2(char* i_arcName) { } /* 80053388-80053390 .text phase_3__FPc */ -int phase_3(char* i_arcName) { +static int phase_3(char* i_arcName) { return cPhs_COMPLEATE_e; } @@ -711,7 +711,6 @@ BOOL dComIfGs_isStageLife(int i_stageNo) { } /* 80053B30-80053F70 .text dComIfGs_checkGetItem__FUc */ -// NONMATCHING - almost, just a couple small things u8 dComIfGs_checkGetItem(u8 i_itemNo) { u8 get_item = 0; @@ -819,15 +818,15 @@ u8 dComIfGs_checkGetItem(u8 i_itemNo) { } else if (i < 24) { item = NO_ITEM; } else if (i < 32) { - item = g_dComIfG_gameInfo.save.getPlayer().getGetItem().mItemFlags[i - 0x18]; + item = dComIfGs_getBeast(i - 24); } else if (i < 36) { item = NO_ITEM; } else if (i < 44) { - item = g_dComIfG_gameInfo.save.getPlayer().getGetItem().mItemFlags[i - 0x1C]; + item = dComIfGs_getBait(i - 36); } else if (i < 48) { item = NO_ITEM; } else if (i < 56) { - item = g_dComIfG_gameInfo.save.getPlayer().getGetItem().mItemFlags[i - 0x20]; + item = dComIfGs_getReserve(i - 48); } else { item = NO_ITEM; } @@ -843,8 +842,8 @@ u8 dComIfGs_checkGetItem(u8 i_itemNo) { } } - if (i_itemNo >= 0xBF && i_itemNo <= 0xFE && - g_dComIfG_gameInfo.save.getPlayer().getMap().isGetMap(i_itemNo - 1)) + if (i_itemNo >= 0xBF && i_itemNo <= NO_ITEM - 1 && + dComIfGs_isGetCollectMap(NO_ITEM - i_itemNo)) { get_item++; } @@ -855,15 +854,229 @@ u8 dComIfGs_checkGetItem(u8 i_itemNo) { } /* 80053F70-80054578 .text dComIfGs_checkGetItemNum__FUc */ -void dComIfGs_checkGetItemNum(u8) { - /* Nonmatching */ +u8 dComIfGs_checkGetItemNum(u8 i_itemNo) { + u8 get_item = 0; + + switch (i_itemNo) { + case TACT_SONG1: + if (dComIfGs_isTact(0)) { + get_item = 1; + } + break; + case TACT_SONG2: + if (dComIfGs_isTact(1)) { + get_item = 1; + } + break; + case TACT_SONG3: + if (dComIfGs_isTact(2)) { + get_item = 1; + } + break; + case TACT_SONG4: + if (dComIfGs_isTact(3)) { + get_item = 1; + } + break; + case TACT_SONG5: + if (dComIfGs_isTact(4)) { + get_item = 1; + } + break; + case TACT_SONG6: + if (dComIfGs_isTact(5)) { + get_item = 1; + } + break; + case TRIFORCE1: + if (dComIfGs_isTriforce(0)) { + get_item = 1; + } + break; + case TRIFORCE2: + if (dComIfGs_isTriforce(1)) { + get_item = 1; + } + break; + case TRIFORCE3: + if (dComIfGs_isTriforce(2)) { + get_item = 1; + } + break; + case TRIFORCE4: + if (dComIfGs_isTriforce(3)) { + get_item = 1; + } + break; + case TRIFORCE5: + if (dComIfGs_isTriforce(4)) { + get_item = 1; + } + break; + case TRIFORCE6: + if (dComIfGs_isTriforce(5)) { + get_item = 1; + } + break; + case TRIFORCE7: + if (dComIfGs_isTriforce(6)) { + get_item = 1; + } + break; + case TRIFORCE8: + if (dComIfGs_isTriforce(7)) { + get_item = 1; + } + break; + case PEARL1: + if (dComIfGs_isSymbol(0)) { + get_item = 1; + } + break; + case PEARL2: + if (dComIfGs_isSymbol(1)) { + get_item = 1; + } + break; + case PEARL3: + if (dComIfGs_isSymbol(2)) { + get_item = 1; + } + break; + case PIRATES_OMAMORI: + if (dComIfGs_isCollect(3, 0)) { + get_item = 1; + } + break; + case HEROS_OMAMORI: + if (dComIfGs_isCollect(4, 0)) { + get_item = 1; + } + break; + case BOW: + if (dComIfGs_getItem(12)) { + get_item = dComIfGs_getArrowNum(); + } + break; + case BOMB_BAG: + if (dComIfGs_getItem(13)) { + get_item = dComIfGs_getBombNum(); + } + break; + case SKULL_NECKLACE: + for (int i = 0; i < 8; i++) { + if (dComIfGs_getBeast(i) == SKULL_NECKLACE) { + get_item = dComIfGs_getBeastNum(0); + } + } + break; + case BOKOBABA_SEED: + for (int i = 0; i < 8; i++) { + if (dComIfGs_getBeast(i) == BOKOBABA_SEED) { + get_item = dComIfGs_getBeastNum(1); + } + } + break; + case GOLDEN_FEATHER: + for (int i = 0; i < 8; i++) { + if (dComIfGs_getBeast(i) == GOLDEN_FEATHER) { + get_item = dComIfGs_getBeastNum(2); + } + } + break; + case BOKO_BELT: + for (int i = 0; i < 8; i++) { + if (dComIfGs_getBeast(i) == BOKO_BELT) { + get_item = dComIfGs_getBeastNum(3); + } + } + break; + case RED_JELLY: + for (int i = 0; i < 8; i++) { + if (dComIfGs_getBeast(i) == RED_JELLY) { + get_item = dComIfGs_getBeastNum(4); + } + } + break; + case GREEN_JELLY: + for (int i = 0; i < 8; i++) { + if (dComIfGs_getBeast(i) == GREEN_JELLY) { + get_item = dComIfGs_getBeastNum(5); + } + } + break; + case BLUE_JELLY: + for (int i = 0; i < 8; i++) { + if (dComIfGs_getBeast(i) == BLUE_JELLY) { + get_item = dComIfGs_getBeastNum(6); + } + } + break; + case PENDANT: + for (int i = 0; i < 8; i++) { + if (dComIfGs_getBeast(i) == PENDANT) { + get_item = dComIfGs_getBeastNum(7); + } + } + break; + default: + u8 item = 0; + for (int i = 0; i < 60; i++) { + if (i < 21) { + item = dComIfGs_getItem(i); + } else if (i < 24) { + item = NO_ITEM; + } else if (i < 32) { + item = dComIfGs_getBeast(i - 24); + } else if (i < 36) { + item = NO_ITEM; + } else if (i < 44) { + item = dComIfGs_getBait(i - 36); + } else if (i < 48) { + item = NO_ITEM; + } else if (i < 56) { + item = dComIfGs_getReserve(i - 48); + } else { + item = NO_ITEM; + } + + if (i_itemNo == item) { + get_item = 1; + } + } + + for (int i = 0; i < 3; i++) { + if (i_itemNo == dComIfGs_getSelectEquip(i)) { + get_item = 1; + } + } + + if (i_itemNo >= 0xBF && i_itemNo <= NO_ITEM - 1 && + dComIfGs_isGetCollectMap(NO_ITEM - i_itemNo)) + { + get_item = 1; + } + break; + } + + return get_item; } /* 80054578-8005468C .text * dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj */ -void dComIfGd_setShadow(u32, s8, J3DModel*, cXyz*, f32, f32, f32, f32, cBgS_PolyInfo&, - dKy_tevstr_c*, s16, f32, _GXTexObj*) { - /* Nonmatching */ +int dComIfGd_setShadow(u32 id, s8 param_2, J3DModel* pModel, cXyz* pPos, f32 param_5, f32 param_6, + f32 y, f32 param_8, cBgS_PolyInfo& pFloorPoly, dKy_tevstr_c* param_10, + s16 rotY, f32 param_12, GXTexObj* pTexObj) { + if (param_8 <= -1000000000.0f) { + return 0; + } + + int sid = dComIfGd_setRealShadow2(id, param_2, pModel, pPos, param_5, y - param_8, param_10); + if (sid == 0) { + cXyz i_pos(pPos->x, y, pPos->z); + dComIfGd_setSimpleShadow2(&i_pos, param_8, param_6, pFloorPoly, rotY, param_12, pTexObj); + } + return sid; } /* 8005468C-800547BC .text getSceneList__Fi */ @@ -880,8 +1093,20 @@ stage_scls_info_class* getSceneList(int i_no) { } /* 800547BC-80054870 .text dComIfGd_getMeshSceneList__FR3Vec */ -stage_scls_info_class* dComIfGd_getMeshSceneList(Vec&) { - /* Nonmatching */ +stage_scls_info_class* dComIfGd_getMeshSceneList(Vec& vec) { + s32 x = (s32)((vec.x + 350000.0f) * 2e-05f); + s32 z = (s32)((vec.z + 350000.0f) * 2e-05f); + if (x < 0) { + x = 0; + } else if (13 < x) { + x = 13; + } + if (z < 0) { + z = 0; + } else if (13 < z) { + z = 13; + } + return getSceneList((x & 1) + ((x >> 1) + (z >> 1) * 7) * 4 + (z & 1) * 2); } /* 80054870-800548FC .text dComIfGs_checkSeaLandingEvent__FSc */ @@ -926,7 +1151,7 @@ void dComIfGs_setGameStartStage() { }; check_data* data_p = l_checkData; - for (int i = 0; i < 5; i++) { + for (u32 i = 0; i < 5; i++) { if (data_p->mbHasEvent == true && dComIfGs_isEventBit(data_p->mEvent)) { break; } diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 345702623..cc53b8f0f 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -7,12 +7,12 @@ #include "dolphin/types.h" /* 800804A4-800804C0 .text setViewPort__14dDlst_window_cFffffff */ -void dDlst_window_c::setViewPort(float, float, float, float, float, float) { +void dDlst_window_c::setViewPort(f32, f32, f32, f32, f32, f32) { /* Nonmatching */ } /* 800804C0-800804D4 .text setScissor__14dDlst_window_cFffff */ -void dDlst_window_c::setScissor(float, float, float, float) { +void dDlst_window_c::setScissor(f32, f32, f32, f32) { /* Nonmatching */ } @@ -37,7 +37,7 @@ void dDlst_2DT2_c::draw() { } /* 800811E8-800812F4 .text init__12dDlst_2DT2_cFP7ResTIMGffffUcUcUcff */ -void dDlst_2DT2_c::init(ResTIMG*, float, float, float, float, unsigned char, unsigned char, unsigned char, float, float) { +void dDlst_2DT2_c::init(ResTIMG*, f32, f32, f32, f32, u8, u8, u8, f32, f32) { /* Nonmatching */ } @@ -47,22 +47,22 @@ void dDlst_2DM_c::draw() { } /* 800817CC-80081850 .text init__11dDlst_2Dm_cFP7ResTIMGP7ResTIMGff */ -void dDlst_2Dm_c::init(ResTIMG*, ResTIMG*, float, float) { +void dDlst_2Dm_c::init(ResTIMG*, ResTIMG*, f32, f32) { /* Nonmatching */ } /* 80081850-80081864 .text setPos__11dDlst_2Dm_cFssss */ -void dDlst_2Dm_c::setPos(short, short, short, short) { +void dDlst_2Dm_c::setPos(s16, s16, s16, s16) { /* Nonmatching */ } /* 80081864-80081870 .text setScale__11dDlst_2Dm_cFff */ -void dDlst_2Dm_c::setScale(float, float) { +void dDlst_2Dm_c::setScale(f32, f32) { /* Nonmatching */ } /* 80081870-80081888 .text setScroll__11dDlst_2Dm_cFiss */ -void dDlst_2Dm_c::setScroll(int, short, short) { +void dDlst_2Dm_c::setScroll(int, s16, s16) { /* Nonmatching */ } @@ -77,7 +77,7 @@ void dDlst_2DMt_c::draw() { } /* 80082130-800821B0 .text __ct__10dDlst_2D_cFP7ResTIMGssUc */ -dDlst_2D_c::dDlst_2D_c(ResTIMG*, short, short, unsigned char) { +dDlst_2D_c::dDlst_2D_c(ResTIMG*, s16, s16, u8) { /* Nonmatching */ } @@ -97,17 +97,17 @@ void cM_rnd_c::get() { } /* 80082368-800823A0 .text getF__8cM_rnd_cFf */ -void cM_rnd_c::getF(float) { +void cM_rnd_c::getF(f32) { /* Nonmatching */ } /* 800823A0-800823E8 .text getFX__8cM_rnd_cFf */ -void cM_rnd_c::getFX(float) { +void cM_rnd_c::getFX(f32) { /* Nonmatching */ } /* 800823E8-80082424 .text getValue__8cM_rnd_cFff */ -void cM_rnd_c::getValue(float, float) { +void cM_rnd_c::getValue(f32, f32) { /* Nonmatching */ } @@ -117,17 +117,17 @@ void dDlst_effectLine_c::draw() { } /* 80082794-80082828 .text update__18dDlst_effectLine_cFR4cXyzR8_GXColorUsUsUsUsffff */ -void dDlst_effectLine_c::update(cXyz&, _GXColor&, unsigned short, unsigned short, unsigned short, unsigned short, float, float, float, float) { +void dDlst_effectLine_c::update(cXyz&, _GXColor&, u16, u16, u16, u16, f32, f32, f32, f32) { /* Nonmatching */ } /* 80082828-80082838 .text set__22dDlst_alphaModelData_cFUcPA4_fUc */ -void dDlst_alphaModelData_c::set(unsigned char, float(*)[4], unsigned char) { +void dDlst_alphaModelData_c::set(u8, f32(*)[4], u8) { /* Nonmatching */ } /* 80082838-80082E44 .text draw__22dDlst_alphaModelData_cFPA4_f */ -void dDlst_alphaModelData_c::draw(float(*)[4]) { +void dDlst_alphaModelData_c::draw(f32(*)[4]) { /* Nonmatching */ } @@ -152,12 +152,12 @@ dDlst_alphaModelData_c::dDlst_alphaModelData_c() { } /* 80082F3C-80082F9C .text set__18dDlst_alphaModel_cFUcPA4_fUc */ -void dDlst_alphaModel_c::set(unsigned char, float(*)[4], unsigned char) { +void dDlst_alphaModel_c::set(u8, f32(*)[4], u8) { /* Nonmatching */ } /* 80082F9C-80083064 .text draw__18dDlst_alphaModel_cFPA4_f */ -void dDlst_alphaModel_c::draw(float(*)[4]) { +void dDlst_alphaModel_c::draw(f32(*)[4]) { /* Nonmatching */ } @@ -167,7 +167,7 @@ void dDlst_alphaModelPacket::draw() { } /* 800832C4-800833CC .text set__18dDlst_shadowPoly_cFP10cBgD_Vtx_tUsUsUsP8cM3dGPla */ -void dDlst_shadowPoly_c::set(cBgD_Vtx_t*, unsigned short, unsigned short, unsigned short, cM3dGPla*) { +void dDlst_shadowPoly_c::set(cBgD_Vtx_t*, u16, u16, u16, cM3dGPla*) { /* Nonmatching */ } @@ -207,7 +207,7 @@ void dDlst_shadowReal_c::reset() { } /* 80083850-8008398C .text imageDraw__18dDlst_shadowReal_cFPA4_f */ -void dDlst_shadowReal_c::imageDraw(float(*)[4]) { +void dDlst_shadowReal_c::imageDraw(f32(*)[4]) { /* Nonmatching */ } @@ -227,7 +227,7 @@ void seaRealCallBack(void*, cXyz&, cXyz&, cXyz&) { } /* 80083E18-800840B0 .text realPolygonCheck__FP4cXyzffP4cXyzP18dDlst_shadowPoly_c */ -void realPolygonCheck(cXyz*, float, float, cXyz*, dDlst_shadowPoly_c*) { +void realPolygonCheck(cXyz*, f32, f32, cXyz*, dDlst_shadowPoly_c*) { /* Nonmatching */ } @@ -242,17 +242,17 @@ cBgS_ShdwDraw::~cBgS_ShdwDraw() { } /* 800841B0-8008450C .text setShadowRealMtx__FPA4_fPA4_fPA4_fP4cXyzP4cXyzffP18dDlst_shadowPoly_cf */ -void setShadowRealMtx(float(*)[4], float(*)[4], float(*)[4], cXyz*, cXyz*, float, float, dDlst_shadowPoly_c*, float) { +void setShadowRealMtx(f32(*)[4], f32(*)[4], f32(*)[4], cXyz*, cXyz*, f32, f32, dDlst_shadowPoly_c*, f32) { /* Nonmatching */ } /* 8008450C-800846C8 .text set__18dDlst_shadowReal_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c */ -void dDlst_shadowReal_c::set(unsigned long, signed char, J3DModel*, cXyz*, float, float, dKy_tevstr_c*) { +void dDlst_shadowReal_c::set(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*) { /* Nonmatching */ } /* 800846C8-80084844 .text set2__18dDlst_shadowReal_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c */ -void dDlst_shadowReal_c::set2(unsigned long, signed char, J3DModel*, cXyz*, float, float, dKy_tevstr_c*) { +void dDlst_shadowReal_c::set2(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*) { /* Nonmatching */ } @@ -267,7 +267,7 @@ void dDlst_shadowSimple_c::draw() { } /* 80084AC8-80084D48 .text set__20dDlst_shadowSimple_cFP4cXyzffP4cXyzsfP9_GXTexObj */ -void dDlst_shadowSimple_c::set(cXyz*, float, float, cXyz*, short, float, _GXTexObj*) { +void dDlst_shadowSimple_c::set(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*) { /* Nonmatching */ } @@ -282,32 +282,32 @@ void dDlst_shadowControl_c::reset() { } /* 80084DEC-80084EF0 .text imageDraw__21dDlst_shadowControl_cFPA4_f */ -void dDlst_shadowControl_c::imageDraw(float(*)[4]) { +void dDlst_shadowControl_c::imageDraw(f32(*)[4]) { /* Nonmatching */ } /* 80084EF0-800850D4 .text draw__21dDlst_shadowControl_cFPA4_f */ -void dDlst_shadowControl_c::draw(float(*)[4]) { +void dDlst_shadowControl_c::draw(f32(*)[4]) { /* Nonmatching */ } /* 800850D4-80085170 .text setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c */ -void dDlst_shadowControl_c::setReal(unsigned long, signed char, J3DModel*, cXyz*, float, float, dKy_tevstr_c*) { +void dDlst_shadowControl_c::setReal(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*) { /* Nonmatching */ } /* 80085170-8008520C .text setReal2__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c */ -void dDlst_shadowControl_c::setReal2(unsigned long, signed char, J3DModel*, cXyz*, float, float, dKy_tevstr_c*) { +void dDlst_shadowControl_c::setReal2(u32, s8, J3DModel*, cXyz*, f32, f32, dKy_tevstr_c*) { /* Nonmatching */ } /* 8008520C-80085274 .text addReal__21dDlst_shadowControl_cFUlP8J3DModel */ -void dDlst_shadowControl_c::addReal(unsigned long, J3DModel*) { +void dDlst_shadowControl_c::addReal(u32, J3DModel*) { /* Nonmatching */ } /* 80085274-800852D8 .text setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj */ -void dDlst_shadowControl_c::setSimple(cXyz*, float, float, cXyz*, short, float, _GXTexObj*) { +void dDlst_shadowControl_c::setSimple(cXyz*, f32, f32, cXyz*, s16, f32, _GXTexObj*) { /* Nonmatching */ } @@ -327,12 +327,12 @@ void dDlst_mirrorPacket::init(ResTIMG*) { } /* 80085624-80085808 .text mirrorPolygonCheck__FP4cXyzP4cXyzfP18dDlst_shadowPoly_c */ -void mirrorPolygonCheck(cXyz*, cXyz*, float, dDlst_shadowPoly_c*) { +void mirrorPolygonCheck(cXyz*, cXyz*, f32, dDlst_shadowPoly_c*) { /* Nonmatching */ } /* 80085808-800859DC .text update__18dDlst_mirrorPacketFPA4_fUcf */ -void dDlst_mirrorPacket::update(float(*)[4], unsigned char, float) { +void dDlst_mirrorPacket::update(f32(*)[4], u8, f32) { /* Nonmatching */ } @@ -347,7 +347,7 @@ void dDlst_alphaInvVolPacket::draw() { } /* 80085BBC-80085BFC .text newData__13dDlst_peekZ_cFssPUl */ -void dDlst_peekZ_c::newData(short, short, unsigned long*) { +void dDlst_peekZ_c::newData(s16, s16, u32*) { /* Nonmatching */ } @@ -427,12 +427,12 @@ void dDlst_list_c::draw(dDlst_base_c**, dDlst_base_c**) { } /* 800865C8-800866C8 .text wipeIn__12dDlst_list_cFfR8_GXColor */ -void dDlst_list_c::wipeIn(float, _GXColor&) { +void dDlst_list_c::wipeIn(f32, _GXColor&) { /* Nonmatching */ } /* 800866C8-800866F0 .text wipeIn__12dDlst_list_cFf */ -void dDlst_list_c::wipeIn(float) { +void dDlst_list_c::wipeIn(f32) { /* Nonmatching */ } @@ -442,7 +442,7 @@ void dDlst_list_c::calcWipe() { } /* 80086790-8008696C .text dDlst_texSpecmapST__FPC4cXyzPC12dKy_tevstr_cP12J3DModelDataf */ -void dDlst_texSpecmapST(const cXyz*, const dKy_tevstr_c*, J3DModelData*, float) { +void dDlst_texSpecmapST(const cXyz*, const dKy_tevstr_c*, J3DModelData*, f32) { /* Nonmatching */ } @@ -520,4 +520,3 @@ dDlst_2DPoint_c::~dDlst_2DPoint_c() { dDlst_2DTri_c::~dDlst_2DTri_c() { /* Nonmatching */ } -