From 5876617a11c167a1d8b510f3bbf3d2417d6e480a Mon Sep 17 00:00:00 2001 From: TakaRikka Date: Sun, 29 Jan 2023 21:00:46 -0800 Subject: [PATCH 1/5] most of d_map_path_dmap decompiled --- asm/d/map/d_map/_draw__6dMap_cFv.s | 4 +- .../calcFloorNo__10dMapInfo_cFfbi.s | 4 +- .../calcNowStayFloorNo__10dMapInfo_cFfb.s | 4 +- .../getTopBottomFloorNo__8dMpath_cFPScPSc.s | 4 +- .../d_map_path_dmap/init__10dMapInfo_cFv.s | 4 +- .../d_map_path_dmap/move__10dMapInfo_cFif.s | 4 +- .../map/d_map_path_dmap/reset__8dMpath_cFv.s | 4 +- .../setPointer__8dMpath_cFScPvi.s | 4 +- ...reate__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s | 4 +- ...erStayFloorNo__20dMenu_StageMapCtrl_cCFv.s | 4 +- include/d/com/d_com_inf_game.h | 4 + include/d/d_drawlist.h | 1 + include/d/d_stage.h | 40 +- include/d/d_tresure.h | 4 +- include/d/map/d_map_path.h | 25 +- include/d/map/d_map_path_dmap.h | 106 +- include/d/meter/d_meter_map.h | 34 +- include/dolphin/gx/GX.h | 15 +- include/m_Do/m_Do_mtx.h | 7 +- src/d/d_stage.cpp | 4 +- src/d/d_tresure.cpp | 8 - src/d/map/d_map.cpp | 4 +- src/d/map/d_map_path_dmap.cpp | 1398 ++++++++++------- src/d/menu/d_menu_dmap_map.cpp | 4 +- src/d/menu/d_menu_window.cpp | 145 +- 25 files changed, 1146 insertions(+), 693 deletions(-) diff --git a/asm/d/map/d_map/_draw__6dMap_cFv.s b/asm/d/map/d_map/_draw__6dMap_cFv.s index afba0191f0..002afc8067 100644 --- a/asm/d/map/d_map/_draw__6dMap_cFv.s +++ b/asm/d/map/d_map/_draw__6dMap_cFv.s @@ -9,10 +9,10 @@ lbl_8002AB54: /* 8002AB70 28 00 00 00 */ cmplwi r0, 0 /* 8002AB74 41 82 00 28 */ beq lbl_8002AB9C /* 8002AB78 38 A0 00 00 */ li r5, 0 -/* 8002AB7C 88 0D 88 E0 */ lbz r0, data_80450E60(r13) +/* 8002AB7C 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 8002AB80 28 00 00 00 */ cmplwi r0, 0 /* 8002AB84 41 82 00 08 */ beq lbl_8002AB8C -/* 8002AB88 88 AD 88 D8 */ lbz r5, data_80450E58(r13) +/* 8002AB88 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13) lbl_8002AB8C: /* 8002AB8C C0 23 00 50 */ lfs f1, 0x50(r3) /* 8002AB90 C0 43 00 54 */ lfs f2, 0x54(r3) diff --git a/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s b/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s index 0e29053843..a2bb66d8be 100644 --- a/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s +++ b/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s @@ -25,10 +25,10 @@ lbl_8003F40C: /* 8003F468 80 0D 88 DC */ lwz r0, mNowStayRoomNo__10dMapInfo_c(r13) /* 8003F46C 7C 1F 00 00 */ cmpw r31, r0 /* 8003F470 40 82 00 3C */ bne lbl_8003F4AC -/* 8003F474 88 0D 88 E0 */ lbz r0, data_80450E60(r13) +/* 8003F474 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 8003F478 28 00 00 00 */ cmplwi r0, 0 /* 8003F47C 41 82 00 30 */ beq lbl_8003F4AC -/* 8003F480 88 AD 88 D8 */ lbz r5, data_80450E58(r13) +/* 8003F480 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13) /* 8003F484 7C A4 07 74 */ extsb r4, r5 /* 8003F488 88 01 00 08 */ lbz r0, 8(r1) /* 8003F48C 7C 03 07 74 */ extsb r3, r0 diff --git a/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s b/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s index 7b443c0f78..19b232035c 100644 --- a/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s +++ b/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s @@ -13,7 +13,7 @@ lbl_8003F570: /* 8003F59C 38 C1 00 0C */ addi r6, r1, 0xc /* 8003F5A0 38 E0 00 00 */ li r7, 0 /* 8003F5A4 4B FF FC A9 */ bl getFloorParameter__10dMapInfo_nFfPScPfPfPfPf -/* 8003F5A8 88 0D 88 E0 */ lbz r0, data_80450E60(r13) +/* 8003F5A8 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 8003F5AC 28 00 00 00 */ cmplwi r0, 0 /* 8003F5B0 41 82 00 5C */ beq lbl_8003F60C /* 8003F5B4 C0 01 00 10 */ lfs f0, 0x10(r1) @@ -23,7 +23,7 @@ lbl_8003F570: /* 8003F5C4 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8003F5C8 4C 41 13 82 */ cror 2, 1, 2 /* 8003F5CC 40 82 00 6C */ bne lbl_8003F638 -/* 8003F5D0 88 AD 88 D8 */ lbz r5, data_80450E58(r13) +/* 8003F5D0 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13) /* 8003F5D4 7C A4 07 74 */ extsb r4, r5 /* 8003F5D8 88 01 00 08 */ lbz r0, 8(r1) /* 8003F5DC 7C 03 07 74 */ extsb r3, r0 diff --git a/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s b/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s index c6160b2b78..d93b1d8bbb 100644 --- a/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s +++ b/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s @@ -11,12 +11,12 @@ lbl_8003F760: /* 8003F784 41 82 00 28 */ beq lbl_8003F7AC /* 8003F788 28 1E 00 00 */ cmplwi r30, 0 /* 8003F78C 41 82 00 0C */ beq lbl_8003F798 -/* 8003F790 88 0D 80 B5 */ lbz r0, struct_80450634+0x1(r13) +/* 8003F790 88 0D 80 B5 */ lbz r0, mBottomFloorNo__8dMpath_c+0x1(r13) /* 8003F794 98 1E 00 00 */ stb r0, 0(r30) lbl_8003F798: /* 8003F798 28 1F 00 00 */ cmplwi r31, 0 /* 8003F79C 41 82 00 30 */ beq lbl_8003F7CC -/* 8003F7A0 88 0D 80 B4 */ lbz r0, struct_80450634+0x0(r13) +/* 8003F7A0 88 0D 80 B4 */ lbz r0, mBottomFloorNo__8dMpath_c+0x0(r13) /* 8003F7A4 98 1F 00 00 */ stb r0, 0(r31) /* 8003F7A8 48 00 00 24 */ b lbl_8003F7CC lbl_8003F7AC: diff --git a/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s b/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s index 0b3bf375cb..fee2d9c86a 100644 --- a/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s +++ b/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s @@ -1,7 +1,7 @@ lbl_8003F6FC: /* 8003F6FC 38 00 00 00 */ li r0, 0 -/* 8003F700 98 0D 88 D8 */ stb r0, data_80450E58(r13) -/* 8003F704 98 0D 88 E0 */ stb r0, data_80450E60(r13) +/* 8003F700 98 0D 88 D8 */ stb r0, mNowStayFloorNo__10dMapInfo_c(r13) +/* 8003F704 98 0D 88 E0 */ stb r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 8003F708 38 00 FF FF */ li r0, -1 /* 8003F70C 90 0D 88 DC */ stw r0, mNowStayRoomNo__10dMapInfo_c(r13) /* 8003F710 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s b/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s index 1167fbfee3..74bdca8f23 100644 --- a/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s +++ b/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s @@ -5,9 +5,9 @@ lbl_8003F6C8: /* 8003F6D4 90 6D 88 DC */ stw r3, mNowStayRoomNo__10dMapInfo_c(r13) /* 8003F6D8 38 60 00 01 */ li r3, 1 /* 8003F6DC 4B FF FE 95 */ bl calcNowStayFloorNo__10dMapInfo_cFfb -/* 8003F6E0 98 6D 88 D8 */ stb r3, data_80450E58(r13) +/* 8003F6E0 98 6D 88 D8 */ stb r3, mNowStayFloorNo__10dMapInfo_c(r13) /* 8003F6E4 38 00 00 01 */ li r0, 1 -/* 8003F6E8 98 0D 88 E0 */ stb r0, data_80450E60(r13) +/* 8003F6E8 98 0D 88 E0 */ stb r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 8003F6EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003F6F0 7C 08 03 A6 */ mtlr r0 /* 8003F6F4 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/asm/d/map/d_map_path_dmap/reset__8dMpath_cFv.s b/asm/d/map/d_map_path_dmap/reset__8dMpath_cFv.s index c78ea2e9d2..81aced9096 100644 --- a/asm/d/map/d_map_path_dmap/reset__8dMpath_cFv.s +++ b/asm/d/map/d_map_path_dmap/reset__8dMpath_cFv.s @@ -30,9 +30,9 @@ lbl_8003FC00: /* 8003FC38 D0 2D 88 F0 */ stfs f1, mMinZ__8dMpath_c(r13) /* 8003FC3C D0 0D 88 F4 */ stfs f0, mMaxZ__8dMpath_c(r13) /* 8003FC40 38 00 00 7F */ li r0, 0x7f -/* 8003FC44 98 0D 80 B4 */ stb r0, struct_80450634+0x0(r13) +/* 8003FC44 98 0D 80 B4 */ stb r0, mBottomFloorNo__8dMpath_c+0x0(r13) /* 8003FC48 38 00 FF 80 */ li r0, -128 -/* 8003FC4C 98 0D 80 B5 */ stb r0, struct_80450634+0x1(r13) +/* 8003FC4C 98 0D 80 B5 */ stb r0, mBottomFloorNo__8dMpath_c+0x1(r13) /* 8003FC50 38 00 00 00 */ li r0, 0 /* 8003FC54 98 0D 80 B6 */ stb r0, data_80450636(r13) /* 8003FC58 98 0D 89 08 */ stb r0, data_80450E88(r13) diff --git a/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s b/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s index f06f59567c..66fdc60918 100644 --- a/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s +++ b/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s @@ -14,8 +14,8 @@ lbl_8003FA40: /* 8003FA70 38 00 00 01 */ li r0, 1 /* 8003FA74 98 0D 89 08 */ stb r0, data_80450E88(r13) /* 8003FA78 7F C3 F3 78 */ mr r3, r30 -/* 8003FA7C 38 8D 80 B4 */ la r4, struct_80450634+0x0(r13) /* 80450634-_SDA_BASE_ */ -/* 8003FA80 38 AD 80 B5 */ la r5, struct_80450634+0x1(r13) /* 80450635-_SDA_BASE_ */ +/* 8003FA7C 38 8D 80 B4 */ la r4, mBottomFloorNo__8dMpath_c+0x0(r13) /* 80450634-_SDA_BASE_ */ +/* 8003FA80 38 AD 80 B5 */ la r5, mBottomFloorNo__8dMpath_c+0x1(r13) /* 80450635-_SDA_BASE_ */ /* 8003FA84 4B FF FD 8D */ bl setPointer__8dMpath_cFPQ211dDrawPath_c10room_classPScPSc /* 8003FA88 C0 02 84 28 */ lfs f0, lit_3796(r2) /* 8003FA8C D0 01 00 14 */ stfs f0, 0x14(r1) diff --git a/asm/d/menu/d_menu_dmap_map/_create__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s b/asm/d/menu/d_menu_dmap_map/_create__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s index 8be1378bfe..92e0dda779 100644 --- a/asm/d/menu/d_menu_dmap_map/_create__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s +++ b/asm/d/menu/d_menu_dmap_map/_create__20dMenu_StageMapCtrl_cFUsUsUsUsPv.s @@ -3,12 +3,12 @@ lbl_801C231C: /* 801C2320 7C 08 02 A6 */ mflr r0 /* 801C2324 90 01 00 14 */ stw r0, 0x14(r1) /* 801C2328 7D 09 43 78 */ mr r9, r8 -/* 801C232C 88 0D 88 E0 */ lbz r0, data_80450E60(r13) +/* 801C232C 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 801C2330 28 00 00 00 */ cmplwi r0, 0 /* 801C2334 41 82 00 14 */ beq lbl_801C2348 /* 801C2338 38 00 00 00 */ li r0, 0 /* 801C233C 41 82 00 08 */ beq lbl_801C2344 -/* 801C2340 88 0D 88 D8 */ lbz r0, data_80450E58(r13) +/* 801C2340 88 0D 88 D8 */ lbz r0, mNowStayFloorNo__10dMapInfo_c(r13) lbl_801C2344: /* 801C2344 7C 08 03 78 */ mr r8, r0 lbl_801C2348: diff --git a/asm/d/menu/d_menu_dmap_map/getPlayerStayFloorNo__20dMenu_StageMapCtrl_cCFv.s b/asm/d/menu/d_menu_dmap_map/getPlayerStayFloorNo__20dMenu_StageMapCtrl_cCFv.s index c66be794ca..9f4b8dd812 100644 --- a/asm/d/menu/d_menu_dmap_map/getPlayerStayFloorNo__20dMenu_StageMapCtrl_cCFv.s +++ b/asm/d/menu/d_menu_dmap_map/getPlayerStayFloorNo__20dMenu_StageMapCtrl_cCFv.s @@ -1,11 +1,11 @@ lbl_801C22F8: /* 801C22F8 38 60 00 00 */ li r3, 0 -/* 801C22FC 88 0D 88 E0 */ lbz r0, data_80450E60(r13) +/* 801C22FC 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) /* 801C2300 28 00 00 00 */ cmplwi r0, 0 /* 801C2304 4D 82 00 20 */ beqlr /* 801C2308 38 00 00 00 */ li r0, 0 /* 801C230C 41 82 00 08 */ beq lbl_801C2314 -/* 801C2310 88 0D 88 D8 */ lbz r0, data_80450E58(r13) +/* 801C2310 88 0D 88 D8 */ lbz r0, mNowStayFloorNo__10dMapInfo_c(r13) lbl_801C2314: /* 801C2314 7C 03 03 78 */ mr r3, r0 /* 801C2318 4E 80 00 20 */ blr diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 84ba45a17f..85a7ab14a8 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -2788,6 +2788,10 @@ inline void dComIfGd_set2DOpaTop(dDlst_base_c* dlst) { g_dComIfG_gameInfo.drawlist.set2DOpaTop(dlst); } +inline void dComIfGd_setCopy2D(dDlst_base_c* dlst) { + g_dComIfG_gameInfo.drawlist.setCopy2D(dlst); +} + inline view_class* dComIfGd_getView() { return g_dComIfG_gameInfo.drawlist.getView(); } diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index c2de5e7e6a..51bea81b87 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -286,6 +286,7 @@ public: void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaSet[0], mp2DOpaSet[1], dlst); } void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopSet[0], mp2DOpaTopSet[1], dlst); } void set2DXlu(dDlst_base_c* dlst) { set(mp2DXluSet[0], mp2DXluSet[1], dlst); } + void setCopy2D(dDlst_base_c* dlst) { set(mpCopy2DSet[0], mpCopy2DSet[1], dlst); } view_class* getView() { return mView; } void setView(view_class* view) { mView = view; } void setWindow(dDlst_window_c* window) { mWindow = window; } diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 67e0da5cdb..62838f3e70 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -868,7 +868,7 @@ struct dStage_objectNameInf { class dStage_KeepDoorInfo { public: /* 80028418 */ ~dStage_KeepDoorInfo() {} - /* 0x000 */ stage_tgsc_class* unk_0x0; + /* 0x000 */ int unk_0x0; /* 0x004 */ stage_tgsc_data_class unk_0x4[0x40]; }; // Size = 0x904 @@ -953,6 +953,8 @@ struct cBgS_GndChk; int dStage_RoomCheck(cBgS_GndChk* gndChk); void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* stageDt, int param_2); void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* stageDt, int param_2); +dStage_KeepDoorInfo* dStage_GetKeepDoorInfo(); +dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo(); inline bool dStage_roomRead_dt_c_ChkBg(u8 param_0) { return param_0 & 0x80; @@ -1014,6 +1016,18 @@ inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) { return p_info->field_0x0a & 0x1000; } +inline int dStage_stagInfo_GetGapLevel(stage_stag_info_class* pstag) { + return pstag->mGapLevel; +} + +inline int dStage_stagInfo_GetRangeUp(stage_stag_info_class* pstag) { + return pstag->mRangeUp; +} + +inline int dStage_stagInfo_GetRangeDown(stage_stag_info_class* pstag) { + return pstag->mRangeDown; +} + inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) { return p_info->field_0xb & 0xF; } @@ -1042,6 +1056,30 @@ inline int dStage_FileList_dt_GetBitSw(dStage_FileList_dt_c* p_fList) { return p_fList->mBitSw; } +inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mLeftRmX; +} + +inline f32 dStage_FileList2_dt_GetRightRmX(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mRightRmX; +} + +inline f32 dStage_FileList2_dt_GetInnerRmZ(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mInnerRmZ; +} + +inline f32 dStage_FileList2_dt_GetFrontRmZ(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mFrontRmZ; +} + +inline s8 dStage_FileList2_dt_GetMinFloorNo(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mMinFloorNo; +} + +inline s8 dStage_FileList2_dt_GetMaxFloorNo(dStage_FileList2_dt_c* p_fList2) { + return p_fList2->mMaxFloorNo; +} + inline int dStage_MapEvent_dt_c_getEventSCutSW(dStage_MapEvent_dt_c* event) { return event->field_0x8 & 1; } diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h index cc9567ad82..8e5d134d0b 100644 --- a/include/d/d_tresure.h +++ b/include/d/d_tresure.h @@ -15,12 +15,13 @@ public: /* 0x10 */ u8 mSwBit; /* 0x11 */ u8 mType; /* 0x12 */ u8 mArg2; - /* 0x13 */ u8 mAngleY; + /* 0x13 */ s8 mAngleY; }; class typeGroupData_c { public: data_s* getDataPointer() { return &mData; } + const data_s* getConstDataPointer() const { return &mData; } typeGroupData_c* getNextDataPointer() const { return mNextData; } void setNextDataPointer(typeGroupData_c* data) { mNextData = data; } void setTypeGroupNo(u8 no) { mTypeGroupNo = no; } @@ -32,6 +33,7 @@ public: void setPos(const Vec& pos) { mData.mPos = pos; } u8 getSwBit() const { return mData.mSwBit; } const Vec* getPos() const { return &mData.mPos; } + int getAngleY() const { return mData.mAngleY; } /* 0x00 */ data_s mData; /* 0x14 */ typeGroupData_c* mNextData; diff --git a/include/d/map/d_map_path.h b/include/d/map/d_map_path.h index 23b511d6ae..670b172441 100644 --- a/include/d/map/d_map_path.h +++ b/include/d/map/d_map_path.h @@ -84,6 +84,19 @@ public: class dRenderingFDAmap_c : public dRenderingMap_c { public: + dRenderingFDAmap_c() { + field_0x4 = NULL; + field_0x8 = 0.0f; + field_0xc = 0.0f; + field_0x10 = 0.0f; + field_0x14 = 0.0f; + mCmPerTexel = 0.0f; + field_0x1c = 0; + field_0x1e = 0; + field_0x20 = 0; + field_0x22 = 0; + } + /* 8003CE78 */ void setTevSettingNonTextureDirectColor() const; /* 8003CF40 */ void setTevSettingIntensityTextureToCI() const; /* 8003D0AC */ void drawBack() const; @@ -95,8 +108,14 @@ public: /* 8003D68C */ virtual GXColor* getDecoLineColor(int, int); /* 8003D6B8 */ virtual s32 getDecorationLineWidth(int); -private: - /* 0x04 */ void* field_0x4; + bool isDrawAreaCheck(const Vec& param_0) { + return (param_0.x >= field_0x10 - field_0x8 * 2.0f && + param_0.x <= field_0x10 + field_0x8 * 2.0f) && + (param_0.z >= field_0x14 - field_0xc * 2.0f && + param_0.z <= field_0x14 + field_0xc * 2.0f); + } + + /* 0x04 */ u8* field_0x4; /* 0x08 */ f32 field_0x8; /* 0x0C */ f32 field_0xc; /* 0x10 */ f32 field_0x10; @@ -115,6 +134,8 @@ struct dMpath_n { /* 8003C8F4 */ void remove(); /* 8003D740 */ ~dTexObjAggregate_c() { remove(); }; + GXTexObj* getTexObjPointer(int i_no) { return mp_texObj[i_no]; } + dTexObjAggregate_c() { for (int i = 0; i < 7; i++) { mp_texObj[i] = NULL; diff --git a/include/d/map/d_map_path_dmap.h b/include/d/map/d_map_path_dmap.h index 210d09079f..957afae8b6 100644 --- a/include/d/map/d_map_path_dmap.h +++ b/include/d/map/d_map_path_dmap.h @@ -8,16 +8,16 @@ class dMpath_c { public: - /* 8003F758 */ static u8 isExistMapPathData(); - /* 8003F760 */ void getTopBottomFloorNo(s8*, s8*); + /* 8003F758 */ static bool isExistMapPathData(); + /* 8003F760 */ static int getTopBottomFloorNo(s8*, s8*); /* 8003F7E8 */ static void createWork(); - /* 8003FA40 */ void setPointer(s8, void*, int); - /* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*); + /* 8003FA40 */ static void setPointer(s8, void*, int); + /* 8003F810 */ static void setPointer(dDrawPath_c::room_class*, s8*, s8*); /* 8003FB70 */ static void create(); - /* 8003FBD0 */ void reset(); - /* 8003FC70 */ void remove(); + /* 8003FBD0 */ static void reset(); + /* 8003FC70 */ static void remove(); - static u8 mLayerList[4]; + static dDrawPath_c::room_class** mLayerList; // this doesn't seem right, but can't figure it out atm static f32 mMinX; static f32 mMaxX; static f32 mMinZ; @@ -26,33 +26,59 @@ public: static f32 mAllCenterZ; static f32 mAllSizeX; static f32 mAllSizeZ; + static s8 mBottomFloorNo; + static s8 mTopFloorNo; }; struct dMapInfo_n { - /* 8003ECA0 */ bool chkGetCompass(); - /* 8003ECD8 */ bool chkGetMap(); + /* 8003ECA0 */ static bool chkGetCompass(); + /* 8003ECD8 */ static bool chkGetMap(); /* 8003ED10 */ static bool isVisitedRoom(int); /* 8003ED60 */ static void correctionOriginPos(s8, Vec*); /* 8003EDC0 */ static void offsetPlus(dStage_FileList2_dt_c const*, Vec*); /* 8003EDEC */ static void rotAngle(dStage_FileList2_dt_c const*, Vec*); /* 8003EE5C */ static Vec getMapPlayerPos(); - /* 8003EF20 */ void getMapPlayerAngleY(); - /* 8003EF70 */ void getConstRestartIconPointer(); - /* 8003F02C */ void getMapRestartPos(); - /* 8003F0F8 */ void getMapRestartAngleY(); - /* 8003F19C */ void getRoomCenter(int, f32*, f32*); - /* 8003F1F4 */ void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*); - /* 8003F24C */ void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*); + /* 8003EF20 */ static s16 getMapPlayerAngleY(); + /* 8003EF70 */ static const dTres_c::typeGroupData_c* getConstRestartIconPointer(); + /* 8003F02C */ static Vec getMapRestartPos(); + /* 8003F0F8 */ static s16 getMapRestartAngleY(); + /* 8003F19C */ static void getRoomCenter(int, f32*, f32*); + /* 8003F1F4 */ static void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*); + /* 8003F24C */ static void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*); +}; + +class dMapInfo_c { +public: + /* 8003F40C */ static s8 calcFloorNo(f32, bool, int); + /* 8003F570 */ static s8 calcNowStayFloorNo(f32, bool); + /* 8003F6C8 */ static void move(int, f32); + /* 8003F6FC */ static void init(); + /* 8003F714 */ static void reset(); + /* 8003F734 */ static void create(); + /* 8003F754 */ static void remove(); + + static int mNextRoomNo; + static int mNowStayRoomNo; + static s8 mNowStayFloorNo; + static u8 mNowStayFloorNoDecisionFlg; }; class renderingDAmap_c : public dRenderingFDAmap_c { public: - /* 8003FCA4 */ void calcFloorNoForObjectByMapPathRend(f32, int) const; + renderingDAmap_c() { + mRoomNo = 0; + field_0x28 = 0; + mRoomNoSingle = 0; + mRenderedFloor = 0; + mIsDraw = false; + } + + /* 8003FCA4 */ s8 calcFloorNoForObjectByMapPathRend(f32, int) const; /* 8003FCC8 */ void init(u8*, u16, u16, u16, u16); /* 8003FD08 */ void entry(f32, f32, f32, int, s8); /* 8003FE6C */ void setSingleRoomSetting(); - /* 8003FFF4 */ void getFirstDrawRoomNo(); - /* 80040094 */ void getNextDrawRoomNo(int); + /* 8003FFF4 */ int getFirstDrawRoomNo(); + /* 80040094 */ int getNextDrawRoomNo(int); /* 8003FE18 */ virtual void draw(); /* 8002B150 */ virtual ~renderingDAmap_c(); @@ -65,27 +91,26 @@ public: /* 800402C0 */ virtual bool isDrawPath(); /* 8003FE4C */ virtual GXColor* getBackColor() const; /* 800402E0 */ virtual bool getFirstDrawLayerNo(); - /* 800402E8 */ virtual void getNextDrawLayerNo(int); - /* 800409E0 */ virtual void isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool, + /* 800402E8 */ virtual int getNextDrawLayerNo(int); + /* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool, Vec const*) const; - /* 80040AE4 */ virtual void getIconGroupNumber(u8) const; - virtual void hasMap() const = 0; - virtual void isRendAllRoom() const = 0; - virtual void isRendDoor() const = 0; + /* 80040AE4 */ virtual int getIconGroupNumber(u8) const; + virtual bool hasMap() const = 0; + virtual bool isRendAllRoom() const = 0; + virtual bool isRendDoor() const = 0; virtual bool isCheckFloor() const = 0; - virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0; - /* 8003FFEC */ virtual void getRoomNoSingle(); - /* 8003FE70 */ virtual void isDrawRoom(int, int) const; - /* 800409B4 */ virtual void isDrawRoomIcon(int, int) const; + virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0; + /* 8003FFEC */ virtual int getRoomNoSingle(); + /* 8003FE70 */ virtual bool isDrawRoom(int, int) const; + /* 800409B4 */ virtual bool isDrawRoomIcon(int, int) const; - bool isDraw() const { return mDraw; } + bool isDraw() const { return mIsDraw; } -private: - /* 0x24 */ int field_0x24; + /* 0x24 */ int mRoomNo; /* 0x28 */ int field_0x28; /* 0x2C */ int mRoomNoSingle; - /* 0x30 */ u8 field_0x30; - /* 0x31 */ bool mDraw; + /* 0x30 */ s8 mRenderedFloor; + /* 0x31 */ bool mIsDraw; }; // Size: 0x34 class stage_tgsc_data_class; @@ -95,7 +120,7 @@ public: /* 80040574 */ void drawDoor1(); /* 800405B8 */ void drawDoor2(); /* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool); - /* 80040710 */ void checkDispDoorS(int, int, f32); + /* 80040710 */ bool checkDispDoorS(int, int, f32); /* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool); /* 8002B0B4 */ virtual ~renderingPlusDoor_c(); @@ -115,11 +140,12 @@ public: /* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c(); /* 800402FC */ virtual void afterDrawPath(); - /* 80040ADC */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const; - /* 80040A94 */ virtual void getFirstData(u8); - /* 80040AB8 */ virtual void getNextData(dTres_c::typeGroupData_c*); - virtual void getPlayerCursorSize() = 0; - virtual void getRestartCursorSize() = 0; + virtual f32 getIconSize(u8) const = 0; + /* 80040ADC */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const; + /* 80040A94 */ virtual dTres_c::typeGroupData_c* getFirstData(u8); + /* 80040AB8 */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*); + virtual f32 getPlayerCursorSize() = 0; + virtual f32 getRestartCursorSize() = 0; }; #endif /* D_MAP_D_MAP_PATH_DMAP_H */ diff --git a/include/d/meter/d_meter_map.h b/include/d/meter/d_meter_map.h index 2cdc3ac04f..33b0e506b1 100644 --- a/include/d/meter/d_meter_map.h +++ b/include/d/meter/d_meter_map.h @@ -27,20 +27,20 @@ public: /* 800289F0 */ virtual void rendering(dDrawPath_c::room_class const*); /* 80028960 */ virtual void beforeDrawPath(); /* 800289D0 */ virtual void afterDrawPath(); - /* 80028FB4 */ virtual void getDecoLineColor(int, int); - /* 80028CF4 */ virtual void getDecorationLineWidth(int); - /* 80029058 */ virtual void getIconGroupNumber(u8) const; - /* 80029078 */ virtual void hasMap() const; - /* 8002911C */ virtual void isRendAllRoom() const; - /* 800290C0 */ virtual void isRendDoor() const; + /* 80028FB4 */ virtual GXColor* getDecoLineColor(int, int); + /* 80028CF4 */ virtual s32 getDecorationLineWidth(int); + /* 80029058 */ virtual int getIconGroupNumber(u8) const; + /* 80029078 */ virtual bool hasMap() const; + /* 8002911C */ virtual bool isRendAllRoom() const; + /* 800290C0 */ virtual bool isRendDoor() const; /* 80029104 */ virtual bool isCheckFloor() const; - /* 80029190 */ virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const; + /* 80029190 */ virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const; /* 8002910C */ virtual bool isRendRestart() const; /* 80029114 */ virtual bool isRendCursor() const; /* 8002B000 */ virtual bool isRendIcon() const; - /* 800284BC */ virtual void getIconSize(u8) const; - /* 80028B04 */ virtual void getPlayerCursorSize(); - /* 80028B10 */ virtual void getRestartCursorSize(); + /* 800284BC */ virtual f32 getIconSize(u8) const; + /* 80028B04 */ virtual f32 getPlayerCursorSize(); + /* 80028B10 */ virtual f32 getRestartCursorSize(); virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0; virtual bool isSpecialOutline() = 0; @@ -70,13 +70,13 @@ public: /* 8002AF20 */ virtual ~dMap_c(); /* 800296EC */ virtual bool isDrawType(int); /* 80028DF4 */ virtual GXColor* getColor(int); - /* 800296F8 */ virtual void isRendAllRoom() const; - /* 8002A254 */ virtual void getRoomNoSingle(); - /* 8002A1DC */ virtual void isDrawRoom(int, int) const; - /* 8002A294 */ virtual void isDrawRoomIcon(int, int) const; - /* 80029038 */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const; - /* 8002ABAC */ virtual void getFirstData(u8); - /* 8002ABCC */ virtual void getNextData(dTres_c::typeGroupData_c*); + /* 800296F8 */ virtual bool isRendAllRoom() const; + /* 8002A254 */ virtual int getRoomNoSingle(); + /* 8002A1DC */ virtual bool isDrawRoom(int, int) const; + /* 8002A294 */ virtual bool isDrawRoomIcon(int, int) const; + /* 80029038 */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const; + /* 8002ABAC */ virtual dTres_c::typeGroupData_c* getFirstData(u8); + /* 8002ABCC */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*); /* 8002A148 */ virtual void setAmapPaletteColor(int, u8, u8, u8, u8); /* 80029744 */ virtual bool isSpecialOutline(); diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index 978639b8ad..d1d57bdd39 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -45,9 +45,14 @@ volatile PPCWGPipe GXFIFO : 0xCC008000; #define GFX_FIFO(T) (*(volatile T*)0xCC008000) inline void GXPosition3f32(f32 x, f32 y, f32 z) { - GFX_FIFO(f32) = x; - GFX_FIFO(f32) = y; - GFX_FIFO(f32) = z; + GXFIFO.f32 = x; + GXFIFO.f32 = y; + GXFIFO.f32 = z; +} + +inline void GXPosition2f32(f32 x, f32 z) { + GXFIFO.f32 = x; + GXFIFO.f32 = z; } inline void GXColor1u32(u32 c) { @@ -64,6 +69,10 @@ inline void GXTexCoord2u8(u8 s, u8 t) { GFX_FIFO(u8) = t; } +inline void GXTexCoord1x8(u8 s) { + GFX_FIFO(u8) = s; +} + inline void GXPosition2u16(u16 x, u16 y) { GFX_FIFO(u16) = x; GFX_FIFO(u16) = y; diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 642cf2fdbe..f4829044d0 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -19,6 +19,8 @@ void mDoMtx_XrotM(Mtx mtx, s16 x); void mDoMtx_YrotM(Mtx, s16); void mDoMtx_MtxToRot(CMtxP, csXyz*); void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, s16 param_3); +void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, Vec const* param_3, + s16 param_4); void mDoMtx_concatProjView(f32 const (*param_0)[4], f32 const (*param_1)[4], f32 (*param_2)[4]); void mDoMtx_ZrotM(Mtx mtx, s16 z); @@ -35,7 +37,7 @@ inline void mDoMtx_copy(const Mtx src, Mtx dst) { } inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) { - PSMTXTrans(m,x,y,z); + PSMTXTrans(m, x, y, z); } inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) { @@ -66,7 +68,8 @@ public: static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); } static void multVec(const Vec* a, Vec* b) { PSMTXMultVec(now, a, b); } static void multVecSR(const Vec* a, Vec* b) { PSMTXMultVecSR(now, a, b); } - static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); } + static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); } + static void multVecArray(const Vec* src, Vec* dst, u32 count) { PSMTXMultVecArray(now, src, dst, count); } static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); } static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); } static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); } diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp index a502a41ddc..5b099442a4 100644 --- a/src/d/d_stage.cpp +++ b/src/d/d_stage.cpp @@ -448,7 +448,7 @@ static u8 dStage_isBossStage(dStage_dt_c* stageDt) { /* 80023F50-80023F84 01E890 0034+00 1/1 0/0 0/1 .text dStage_KeepDoorInfoInit__FP11dStage_dt_c */ static void dStage_KeepDoorInfoInit(dStage_dt_c* param_0) { if (dStage_isBossStage(param_0) == 0) { - DoorInfo.unk_0x0 = NULL; + DoorInfo.unk_0x0 = 0; } } @@ -471,7 +471,7 @@ dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo() { } static void dStage_initRoomKeepDoorInfo() { - l_RoomKeepDoorInfo.unk_0x0 = NULL; + l_RoomKeepDoorInfo.unk_0x0 = 0; } /* 80024078-80024174 01E9B8 00FC+00 1/1 0/0 0/0 .text diff --git a/src/d/d_tresure.cpp b/src/d/d_tresure.cpp index 6726996672..0480999a1d 100644 --- a/src/d/d_tresure.cpp +++ b/src/d/d_tresure.cpp @@ -8,14 +8,6 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct dMapInfo_c { - /* 8003F40C */ static s8 calcFloorNo(f32, bool, int); -}; - // // Forward References: // diff --git a/src/d/map/d_map.cpp b/src/d/map/d_map.cpp index 5f04dd65dc..ed09ee976f 100644 --- a/src/d/map/d_map.cpp +++ b/src/d/map/d_map.cpp @@ -366,8 +366,8 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_Counter[12 + 4 /* padding */]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" u32 mNextRoomNo__10dMapInfo_c; -extern "C" extern u8 data_80450E58[4]; -extern "C" extern u8 data_80450E60[4]; +extern "C" extern u8 mNowStayFloorNo__10dMapInfo_c[4]; +extern "C" extern u8 mNowStayFloorNoDecisionFlg__10dMapInfo_c[4]; extern "C" f32 mMinX__8dMpath_c; extern "C" f32 mMaxX__8dMpath_c; extern "C" f32 mMinZ__8dMpath_c; diff --git a/src/d/map/d_map_path_dmap.cpp b/src/d/map/d_map_path_dmap.cpp index 4b3aaaa8c7..f95e1b9f9c 100644 --- a/src/d/map/d_map_path_dmap.cpp +++ b/src/d/map/d_map_path_dmap.cpp @@ -1,33 +1,15 @@ -// -// Generated By: dol2asm -// Translation Unit: d/map/d_map_path_dmap -// +/** + * d_map_path_dmap.cpp + * + */ #include "d/map/d_map_path_dmap.h" -#include "d/map/d_map_path.h" +#include "MSL_C/math.h" #include "d/com/d_com_inf_game.h" +#include "d/map/d_map_path.h" #include "d/meter/d_meter_HIO.h" #include "dol2asm.h" -#include "dolphin/types.h" #include "m_Do/m_Do_mtx.h" -#include "MSL_C/math.h" - -// -// Types: -// - -struct dMapInfo_c { - /* 8003F40C */ void calcFloorNo(f32, bool, int); - /* 8003F570 */ void calcNowStayFloorNo(f32, bool); - /* 8003F6C8 */ void move(int, f32); - /* 8003F6FC */ void init(); - /* 8003F714 */ void reset(); - /* 8003F734 */ void create(); - /* 8003F754 */ void remove(); - - static u32 mNextRoomNo; - static u8 mNowStayRoomNo[4]; -}; // // Forward References: @@ -105,7 +87,10 @@ extern "C" extern void* __vt__28renderingPlusDoorAndCursor_c[47]; extern "C" extern void* __vt__16renderingDAmap_c[38]; extern "C" u32 mNextRoomNo__10dMapInfo_c; extern "C" u8 mNowStayRoomNo__10dMapInfo_c[4]; +extern "C" u8 mNowStayFloorNoDecisionFlg__10dMapInfo_c[4]; +extern "C" u8 mNowStayFloorNo__10dMapInfo_c[4]; extern "C" u8 mLayerList__8dMpath_c[4]; +extern "C" u8 mBottomFloorNo__8dMpath_c; extern "C" f32 mMinX__8dMpath_c; extern "C" f32 mMaxX__8dMpath_c; extern "C" f32 mMinZ__8dMpath_c; @@ -193,29 +178,29 @@ bool dMapInfo_n::isVisitedRoom(int i_roomNo) { } /* 8003ED60-8003EDC0 0396A0 0060+00 1/1 2/2 0/0 .text correctionOriginPos__10dMapInfo_nFScP3Vec */ -void dMapInfo_n::correctionOriginPos(s8 i_roomNo, Vec* pos_p) { +void dMapInfo_n::correctionOriginPos(s8 i_roomNo, Vec* o_pos) { dStage_FileList2_dt_c* filelist = dStage_roomControl_c::getFileList2(i_roomNo); - if (pos_p != NULL) { - rotAngle(filelist, pos_p); - offsetPlus(filelist, pos_p); + if (o_pos != NULL) { + rotAngle(filelist, o_pos); + offsetPlus(filelist, o_pos); } } /* 8003EDC0-8003EDEC 039700 002C+00 3/3 0/0 0/0 .text * offsetPlus__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec */ -void dMapInfo_n::offsetPlus(dStage_FileList2_dt_c const* filelist, Vec* p_pos) { +void dMapInfo_n::offsetPlus(dStage_FileList2_dt_c const* filelist, Vec* o_pos) { if (filelist == NULL) { return; } - p_pos->x += filelist->field_0x14; - p_pos->z += filelist->field_0x18; + o_pos->x += filelist->field_0x14; + o_pos->z += filelist->field_0x18; } /* 8003EDEC-8003EE5C 03972C 0070+00 3/3 0/0 0/0 .text * rotAngle__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec */ -void dMapInfo_n::rotAngle(dStage_FileList2_dt_c const* filelist, Vec* p_pos) { +void dMapInfo_n::rotAngle(dStage_FileList2_dt_c const* filelist, Vec* o_pos) { s16 rot = 0; if (filelist != NULL) { @@ -224,36 +209,24 @@ void dMapInfo_n::rotAngle(dStage_FileList2_dt_c const* filelist, Vec* p_pos) { mDoMtx_stack_c::YrotS(rot); Vec mult; - mDoMtx_stack_c::multVec(p_pos, &mult); + mDoMtx_stack_c::multVec(o_pos, &mult); - *p_pos = mult; + *o_pos = mult; } -/* ############################################################################################## */ -/* 80451E28-80451E2C 000428 0004+00 6/6 0/0 0/0 .sdata2 @3796 */ -SECTION_SDATA2 static u8 lit_3796[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 8003EE5C-8003EF20 03979C 00C4+00 1/1 6/6 0/0 .text getMapPlayerPos__10dMapInfo_nFv */ -// stayNo / mStatus loads switched -#ifdef NONMATCHING Vec dMapInfo_n::getMapPlayerPos() { Vec pos; fopAc_ac_c* player = daPy_getPlayerActorClass(); if (player != NULL) { pos = player->current.pos; } else { - f32 tmp = FLOAT_LABEL(lit_3796); - pos.x = tmp; - pos.y = tmp; - pos.z = tmp; + pos.x = 0.0f; + pos.y = 0.0f; + pos.z = 0.0f; } - s8 stayNo = dComIfGp_roomControl_getStayNo(); + s32 stayNo = dComIfGp_roomControl_getStayNo(); dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(stayNo); if (fileList2_p != NULL) { rotAngle(fileList2_p, &pos); @@ -262,195 +235,313 @@ Vec dMapInfo_n::getMapPlayerPos() { return pos; } + +/* 8003EF20-8003EF70 039860 0050+00 1/1 1/1 0/0 .text getMapPlayerAngleY__10dMapInfo_nFv + */ +s16 dMapInfo_n::getMapPlayerAngleY() { + s32 stayNo = dComIfGp_roomControl_getStayNo(); + s16 angle = 0; + + daPy_py_c* player = daPy_getPlayerActorClass(); + if (player != NULL) { + angle = player->shape_angle.y; + } + + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(stayNo); + if (fileList2_p != NULL) { + angle += fileList2_p->field_0x1c; + } + + return angle; +} + +/* 8003EF70-8003F02C 0398B0 00BC+00 2/2 0/0 0/0 .text getConstRestartIconPointer__10dMapInfo_nFv + */ +const dTres_c::typeGroupData_c* dMapInfo_n::getConstRestartIconPointer() { + int group_num = dTres_c::getTypeGroupNumber(7); + const dTres_c::typeGroupData_c* group_data = dTres_c::getFirstData(7); + + for (int i = 0; i < group_num && group_data != NULL; i++) { + if (group_data->getRoomNo() == dComIfGs_getRestartRoomNo()) { + if (group_data->getSwBit() == 0xFF) { + break; + } + + if (group_data->getSwBit() != 0xFF) { + if (dComIfGs_isSwitch(group_data->getSwBit(), group_data->getRoomNo())) { + break; + } + } + } + + group_data = dTres_c::getNextData(group_data); + } + + return group_data; +} + +/* 8003F02C-8003F0F8 03996C 00CC+00 1/1 2/2 0/0 .text getMapRestartPos__10dMapInfo_nFv */ +Vec dMapInfo_n::getMapRestartPos() { + Vec pos; + const dTres_c::typeGroupData_c* icon_data = getConstRestartIconPointer(); + + if (icon_data != NULL) { + pos = *icon_data->getPos(); + } else { + pos = dComIfGs_getRestartRoomPos(); + } + + s32 roomNo = dComIfGs_getRestartRoomNo(); + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(roomNo); + rotAngle(fileList2_p, &pos); + offsetPlus(fileList2_p, &pos); + return pos; +} + +/* 8003F0F8-8003F19C 039A38 00A4+00 1/1 1/1 0/0 .text getMapRestartAngleY__10dMapInfo_nFv + */ +// small regalloc +#ifdef NONMATCHING +s16 dMapInfo_n::getMapRestartAngleY() { + int angle = dComIfGs_getRestartRoomAngleY(); + + const dTres_c::typeGroupData_c* icon_data = getConstRestartIconPointer(); + if (icon_data != NULL) { + int icon_angle = icon_data->getAngleY(); + bool tmp = icon_angle > 0; + + if (tmp) { + icon_angle = -icon_angle; + } + + angle = icon_angle * 0x0100; + if (tmp) { + angle = icon_angle * -0x0100; + } + } + + s32 roomNo = dComIfGs_getRestartRoomNo(); + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(roomNo); + if (fileList2_p != NULL) { + angle += fileList2_p->field_0x1c; + } + + return angle; +} #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm Vec dMapInfo_n::getMapPlayerPos() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s" -} -#pragma pop -#endif - -/* 8003EF20-8003EF70 039860 0050+00 1/1 1/1 0/0 .text getMapPlayerAngleY__10dMapInfo_nFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getMapPlayerAngleY() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s" -} -#pragma pop - -/* 8003EF70-8003F02C 0398B0 00BC+00 2/2 0/0 0/0 .text getConstRestartIconPointer__10dMapInfo_nFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getConstRestartIconPointer() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s" -} -#pragma pop - -/* 8003F02C-8003F0F8 03996C 00CC+00 1/1 2/2 0/0 .text getMapRestartPos__10dMapInfo_nFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getMapRestartPos() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s" -} -#pragma pop - -/* 8003F0F8-8003F19C 039A38 00A4+00 1/1 1/1 0/0 .text getMapRestartAngleY__10dMapInfo_nFv - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getMapRestartAngleY() { +asm s16 dMapInfo_n::getMapRestartAngleY() { nofralloc #include "asm/d/map/d_map_path_dmap/getMapRestartAngleY__10dMapInfo_nFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 80451E2C-80451E30 00042C 0004+00 4/4 0/0 0/0 .sdata2 @3887 */ -SECTION_SDATA2 static f32 lit_3887 = 0.5f; +#endif /* 8003F19C-8003F1F4 039ADC 0058+00 0/0 1/1 0/0 .text getRoomCenter__10dMapInfo_nFiPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getRoomCenter(int param_0, f32* param_1, f32* param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s" +void dMapInfo_n::getRoomCenter(int i_roomNo, f32* i_roomCenterX, f32* i_roomCenterZ) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i_roomNo); + + if (i_roomCenterX != NULL) { + *i_roomCenterX = (dStage_FileList2_dt_GetRightRmX(fileList2_p) + + dStage_FileList2_dt_GetLeftRmX(fileList2_p)) * + 0.5f; + } + + if (i_roomCenterZ != NULL) { + *i_roomCenterZ = (dStage_FileList2_dt_GetFrontRmZ(fileList2_p) + + dStage_FileList2_dt_GetInnerRmZ(fileList2_p)) * + 0.5f; + } } -#pragma pop /* 8003F1F4-8003F24C 039B34 0058+00 1/1 2/2 0/0 .text getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getRoomMinMaxXZ(int param_0, f32* param_1, f32* param_2, f32* param_3, - f32* param_4) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s" -} -#pragma pop +void dMapInfo_n::getRoomMinMaxXZ(int i_roomNo, f32* i_roomLeftX, f32* i_roomInnerZ, + f32* i_roomRightX, f32* i_roomFrontZ) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i_roomNo); -/* ############################################################################################## */ -/* 80451E30-80451E38 000430 0008+00 1/1 0/0 0/0 .sdata2 @3957 */ -SECTION_SDATA2 static f64 lit_3957 = 4503601774854144.0 /* cast s32 to float */; + if (i_roomLeftX != NULL) { + *i_roomLeftX = dStage_FileList2_dt_GetLeftRmX(fileList2_p); + } + + if (i_roomRightX != NULL) { + *i_roomRightX = dStage_FileList2_dt_GetRightRmX(fileList2_p); + } + + if (i_roomInnerZ != NULL) { + *i_roomInnerZ = dStage_FileList2_dt_GetInnerRmZ(fileList2_p); + } + + if (i_roomFrontZ != NULL) { + *i_roomFrontZ = dStage_FileList2_dt_GetFrontRmZ(fileList2_p); + } +} /* 8003F24C-8003F40C 039B8C 01C0+00 2/2 0/0 0/0 .text getFloorParameter__10dMapInfo_nFfPScPfPfPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_n::getFloorParameter(f32 param_0, s8* param_1, f32* param_2, f32* param_3, - f32* param_4, f32* param_5) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s" +void dMapInfo_n::getFloorParameter(f32 param_0, s8* i_floorNo, f32* param_2, f32* param_3, + f32* param_4, f32* param_5) { + f32 gap_level = dStage_stagInfo_GetGapLevel(dComIfGp_getStageStagInfo()); + f32 range_up = fabsf(dStage_stagInfo_GetRangeUp(dComIfGp_getStageStagInfo())); + f32 range_down = fabsf(dStage_stagInfo_GetRangeDown(dComIfGp_getStageStagInfo())); + s8 floorNo = (f32)floor(param_0 / gap_level); + + if (i_floorNo != NULL) { + *i_floorNo = floorNo; + } + + f32 fvar1 = floorNo * gap_level; + if (param_2 != NULL) { + *param_2 = fvar1; + } + + if (param_3 != NULL) { + *param_3 = fvar1 + range_up; + } + + if (param_4 != NULL) { + *param_4 = (fvar1 + gap_level) - range_down; + } + + if (param_5 != NULL) { + *param_5 = gap_level; + } } -#pragma pop /* ############################################################################################## */ /* 80450E58-80450E5C 000358 0004+00 4/4 3/3 0/0 .sbss None */ -extern u8 data_80450E58[4]; -u8 data_80450E58[4]; +s8 dMapInfo_c::mNowStayFloorNo; /* 80450E5C-80450E60 00035C 0004+00 4/4 0/0 0/0 .sbss mNowStayRoomNo__10dMapInfo_c */ -u8 dMapInfo_c::mNowStayRoomNo[4]; +int dMapInfo_c::mNowStayRoomNo; /* 80450E60-80450E64 000360 0004+00 4/4 3/3 0/0 .sbss None */ -extern u8 data_80450E60[4]; -u8 data_80450E60[4]; +u8 dMapInfo_c::mNowStayFloorNoDecisionFlg; /* 8003F40C-8003F570 039D4C 0164+00 2/2 1/1 0/0 .text calcFloorNo__10dMapInfo_cFfbi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::calcFloorNo(f32 param_0, bool param_1, int param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s" +s8 dMapInfo_c::calcFloorNo(f32 param_0, bool i_chkMinMax, int i_roomNo) { + f32 sp10; + f32 spC; + s8 floorNo; + dMapInfo_n::getFloorParameter(param_0, &floorNo, NULL, &sp10, &spC, NULL); + + if (param_0 < sp10) { + if (param_0 >= spC) { + if (i_roomNo == mNowStayRoomNo && mNowStayFloorNoDecisionFlg && + (mNowStayFloorNo == floorNo || mNowStayFloorNo == floorNo + 1)) + { + floorNo = mNowStayFloorNo; + } else if (param_0 >= 0.5f * (spC + sp10)) { + floorNo++; + } + } + } else { + floorNo++; + } + + if (i_chkMinMax && i_roomNo >= 0 && i_roomNo < 64) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(i_roomNo); + if (fileList2_p != NULL) { + s8 min_floorNo = dStage_FileList2_dt_GetMinFloorNo(fileList2_p); + s8 max_floorNo = dStage_FileList2_dt_GetMaxFloorNo(fileList2_p); + + if (floorNo < min_floorNo) { + floorNo = min_floorNo; + } + + if (floorNo > max_floorNo) { + floorNo = max_floorNo; + } + } + } + + return floorNo; } -#pragma pop /* 8003F570-8003F6C8 039EB0 0158+00 1/1 1/1 0/0 .text calcNowStayFloorNo__10dMapInfo_cFfb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::calcNowStayFloorNo(f32 param_0, bool param_1) { - nofralloc -#include "asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s" +s8 dMapInfo_c::calcNowStayFloorNo(f32 param_0, bool i_chkMinMax) { + f32 sp10; + f32 spC; + s8 floorNo; + dMapInfo_n::getFloorParameter(param_0, &floorNo, NULL, &sp10, &spC, NULL); + + if (mNowStayFloorNoDecisionFlg) { + if (param_0 < sp10) { + if (param_0 >= spC && (mNowStayFloorNo == floorNo || mNowStayFloorNo == floorNo + 1)) { + floorNo = mNowStayFloorNo; + } + } else { + floorNo++; + } + } else if (param_0 >= 0.5f * (spC + sp10)) { + floorNo++; + } + + if (i_chkMinMax && mNowStayRoomNo >= 0 && mNowStayRoomNo < 64) { + dStage_FileList2_dt_c* fileList2_p = dStage_roomControl_c::getFileList2(mNowStayRoomNo); + if (fileList2_p != NULL) { + s8 min_floorNo = dStage_FileList2_dt_GetMinFloorNo(fileList2_p); + s8 max_floorNo = dStage_FileList2_dt_GetMaxFloorNo(fileList2_p); + + if (floorNo < min_floorNo) { + floorNo = min_floorNo; + } + + if (floorNo > max_floorNo) { + floorNo = max_floorNo; + } + } + } + + return floorNo; } -#pragma pop /* 8003F6C8-8003F6FC 03A008 0034+00 0/0 1/1 0/0 .text move__10dMapInfo_cFif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::move(int param_0, f32 param_1) { - nofralloc -#include "asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s" +void dMapInfo_c::move(int i_roomNo, f32 param_1) { + mNowStayRoomNo = i_roomNo; + mNowStayFloorNo = calcNowStayFloorNo(param_1, true); + mNowStayFloorNoDecisionFlg = true; } -#pragma pop /* 8003F6FC-8003F714 03A03C 0018+00 2/2 0/0 0/0 .text init__10dMapInfo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::init() { - nofralloc -#include "asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s" +void dMapInfo_c::init() { + mNowStayFloorNo = 0; + mNowStayFloorNoDecisionFlg = false; + mNowStayRoomNo = -1; } -#pragma pop /* 8003F714-8003F734 03A054 0020+00 1/1 0/0 0/0 .text reset__10dMapInfo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::reset() { - nofralloc -#include "asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s" +void dMapInfo_c::reset() { + init(); } -#pragma pop /* 8003F734-8003F754 03A074 0020+00 1/1 0/0 0/0 .text create__10dMapInfo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMapInfo_c::create() { - nofralloc -#include "asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s" +void dMapInfo_c::create() { + init(); } -#pragma pop /* 8003F754-8003F758 03A094 0004+00 1/1 0/0 0/0 .text remove__10dMapInfo_cFv */ -void dMapInfo_c::remove() { - /* empty function */ -} +void dMapInfo_c::remove() {} /* ############################################################################################## */ /* 80450E64-80450E68 000364 0004+00 5/5 1/1 0/0 .sbss mLayerList__8dMpath_c */ -u8 dMpath_c::mLayerList[4]; +dDrawPath_c::room_class** dMpath_c::mLayerList; /* 80450E68-80450E6C 000368 0004+00 3/3 1/1 0/0 .sbss mMinX__8dMpath_c */ -f32 dMpath_c::mMinX; +// these are needed for sinit, but its got reversed reg alloc? +f32 dMpath_c::mMinX /* = __float_max[0] */; /* 80450E6C-80450E70 00036C 0004+00 3/3 1/1 0/0 .sbss mMaxX__8dMpath_c */ -f32 dMpath_c::mMaxX; +f32 dMpath_c::mMaxX /* = -__float_max[0] */; /* 80450E70-80450E74 000370 0004+00 3/3 2/2 0/0 .sbss mMinZ__8dMpath_c */ -f32 dMpath_c::mMinZ; +f32 dMpath_c::mMinZ /* = __float_max[0] */; /* 80450E74-80450E78 000374 0004+00 3/3 1/1 0/0 .sbss mMaxZ__8dMpath_c */ -f32 dMpath_c::mMaxZ; +f32 dMpath_c::mMaxZ /* = -__float_max[0] */; /* 80450E78-80450E7C 000378 0004+00 1/1 2/2 0/0 .sbss mAllCenterX__8dMpath_c */ f32 dMpath_c::mAllCenterX; @@ -465,34 +556,45 @@ f32 dMpath_c::mAllSizeX; f32 dMpath_c::mAllSizeZ; /* 80450E88-80450E90 000388 0008+00 4/3 0/0 0/0 .sbss None */ -static u8 data_80450E88[8]; +static bool data_80450E88; /* 8003F758-8003F760 -00001 0008+00 0/0 0/0 0/0 .text isExistMapPathData__8dMpath_cFv */ -u8 dMpath_c::isExistMapPathData() { - return *(u8*)(&data_80450E88); +bool dMpath_c::isExistMapPathData() { + return data_80450E88; } /* ############################################################################################## */ /* 80450630-80450634 0000B0 0004+00 0/0 1/1 2/2 .sdata mNextRoomNo__10dMapInfo_c */ -SECTION_SDATA u32 dMapInfo_c::mNextRoomNo = 0xFFFFFFFF; +SECTION_SDATA int dMapInfo_c::mNextRoomNo = -1; -/* 80450634-80450636 -00001 0002+00 3/3 0/0 0/0 .sdata None */ -SECTION_SDATA static u8 struct_80450634[2] = { - /* 80450634 0001+00 data_80450634 None */ - 0x7F, - /* 80450635 0001+00 data_80450635 None */ - 0x80, -}; +/* 80450634 0001+00 data_80450634 None */ +s8 dMpath_c::mBottomFloorNo = 127; + +/* 80450635 0001+00 data_80450635 None */ +s8 dMpath_c::mTopFloorNo = 128; /* 8003F760-8003F7E8 03A0A0 0088+00 0/0 1/1 0/0 .text getTopBottomFloorNo__8dMpath_cFPScPSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMpath_c::getTopBottomFloorNo(s8* param_0, s8* param_1) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s" +int dMpath_c::getTopBottomFloorNo(s8* i_topFloorNo, s8* i_bottomFloorNo) { + if (isExistMapPathData()) { + if (i_topFloorNo != NULL) { + *i_topFloorNo = mTopFloorNo; + } + + if (i_bottomFloorNo != NULL) { + *i_bottomFloorNo = mBottomFloorNo; + } + } else { + if (i_topFloorNo != NULL) { + *i_topFloorNo = 0; + } + + if (i_bottomFloorNo != NULL) { + *i_bottomFloorNo = 0; + } + } + + return 1; } -#pragma pop /* 8003F7E8-8003F810 03A128 0028+00 0/0 1/1 0/0 .text createWork__8dMpath_cFv */ #pragma push @@ -515,29 +617,72 @@ asm void dMpath_c::setPointer(dDrawPath_c::room_class* param_0, s8* param_1, s8* } #pragma pop +struct map_path_class { + int field_0x0; + dDrawPath_c::room_class* field_0x4; +}; + /* 8003FA40-8003FB70 03A380 0130+00 0/0 2/2 0/0 .text setPointer__8dMpath_cFScPvi */ #pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMpath_c::setPointer(s8 param_0, void* param_1, int param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s" +#pragma optimization_level 2 +void dMpath_c::setPointer(s8 i_roomNo, void* i_data, int i_mapLayerNo) { + s32 roomNo; + dDrawPath_c::room_class* room = ((map_path_class*)i_data)->field_0x4; + + if (room != NULL) { + roomNo = i_roomNo; + + reset(); + data_80450E88 = true; + setPointer(room, &mBottomFloorNo, &mTopFloorNo); + + f32 minX = 0.0f; + f32 maxX = 0.0f; + f32 minZ = 0.0f; + f32 maxZ = 0.0f; + dMapInfo_n::getRoomMinMaxXZ(roomNo, &minX, &minZ, &maxX, &maxZ); + + if (minX < mMinX) { + mMinX = minX; + } + + if (maxX > mMaxX) { + mMaxX = maxX; + } + + if (minZ < mMinZ) { + mMinZ = minZ; + } + + if (maxZ > mMaxZ) { + mMaxZ = maxZ; + } + + mAllCenterX = (mMaxX + mMinX) * 0.5f; + mAllCenterZ = (mMaxZ + mMinZ) * 0.5f; + mAllSizeX = mMaxX - mMinX; + mAllSizeZ = mMaxZ - mMinZ; + + (mLayerList + i_mapLayerNo * 0x40)[(s8)i_roomNo] = room; + } } #pragma pop /* 8003FB70-8003FBD0 03A4B0 0060+00 0/0 1/1 0/0 .text create__8dMpath_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMpath_c::create() { - nofralloc -#include "asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s" +void dMpath_c::create() { + stage_stag_info_class* p_stag = i_dComIfGp_getStage()->getStagInfo(); + if (dStage_stagInfo_GetSTType(p_stag) != ST_BOSS_ROOM) { + reset(); + data_80450E88 = false; + } + + dMpath_n::m_texObjAgg.create(); + dMapInfo_c::create(); } -#pragma pop /* ############################################################################################## */ /* 80450636-80450638 0000B6 0002+00 2/2 0/0 0/0 .sdata None */ -SECTION_SDATA static u16 data_80450636 = 0x0100; +SECTION_SDATA static u8 data_80450636 = 0x01; /* 8003FBD0-8003FC70 03A510 00A0+00 2/2 0/0 0/0 .text reset__8dMpath_cFv */ #pragma push @@ -550,187 +695,204 @@ asm void dMpath_c::reset() { #pragma pop /* 8003FC70-8003FCA4 03A5B0 0034+00 0/0 1/1 0/0 .text remove__8dMpath_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMpath_c::remove() { - nofralloc -#include "asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s" +void dMpath_c::remove() { + data_80450636 = 1; + dMpath_n::m_texObjAgg.remove(); + dMapInfo_c::remove(); } -#pragma pop /* 8003FCA4-8003FCC8 03A5E4 0024+00 2/2 0/0 0/0 .text * calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::calcFloorNoForObjectByMapPathRend(f32 param_0, int param_1) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s" +s8 renderingDAmap_c::calcFloorNoForObjectByMapPathRend(f32 param_0, int i_roomNo) const { + return dMapInfo_c::calcFloorNo(param_0, true, i_roomNo); } -#pragma pop - -/* ############################################################################################## */ -/* 80451E38-80451E40 000438 0004+04 3/3 0/0 0/0 .sdata2 @4202 */ -SECTION_SDATA2 static f32 lit_4202[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; /* 8003FCC8-8003FD08 03A608 0040+00 0/0 2/2 0/0 .text init__16renderingDAmap_cFPUcUsUsUsUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::init(u8* param_0, u16 param_1, u16 param_2, u16 param_3, u16 param_4) { - nofralloc -#include "asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s" -} -#pragma pop +void renderingDAmap_c::init(u8* param_0, u16 param_1, u16 param_2, u16 param_3, u16 param_4) { + mIsDraw = false; + field_0x4 = param_0; + field_0x1c = param_1; + field_0x1e = param_2; + field_0x20 = param_3; + field_0x22 = param_4; -/* ############################################################################################## */ -/* 80451E40-80451E48 000440 0008+00 2/2 0/0 0/0 .sdata2 @4211 */ -SECTION_SDATA2 static f64 lit_4211 = 4503599627370496.0 /* cast u32 to float */; + field_0x10 = 0.0f; + field_0x14 = 0.0f; + field_0x8 = 1.0f; + field_0xc = 1.0f; + mRoomNoSingle = 0; + mRenderedFloor = 0; +} /* 8003FD08-8003FD9C 03A648 0094+00 0/0 2/2 0/0 .text entry__16renderingDAmap_cFfffiSc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::entry(f32 param_0, f32 param_1, f32 param_2, int param_3, s8 param_4) { - nofralloc -#include "asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s" +void renderingDAmap_c::entry(f32 param_0, f32 param_1, f32 i_cmPerTexel, int i_roomNoSingle, + s8 param_4) { + field_0x10 = param_0; + field_0x14 = param_1; + mCmPerTexel = i_cmPerTexel; + field_0x8 = mCmPerTexel * field_0x20; + field_0xc = mCmPerTexel * field_0x22; + mRoomNoSingle = i_roomNoSingle; + mRenderedFloor = param_4; + dComIfGd_setCopy2D(this); } -#pragma pop /* 8003FD9C-8003FE18 03A6DC 007C+00 3/0 3/0 0/0 .text * isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool renderingDAmap_c::isSwitch(dDrawPath_c::group_class const* param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s" +bool renderingDAmap_c::isSwitch(dDrawPath_c::group_class const* i_group) { + if (i_group->field_0x0 == 0xFF) { + return true; + } else if (i_group->field_0x1 == 0) { + return dComIfGs_isSwitch(i_group->field_0x0, mRoomNo) == false; + } else { + return dComIfGs_isSwitch(i_group->field_0x0, mRoomNo) != false; + } } -#pragma pop /* 8003FE18-8003FE4C 03A758 0034+00 3/0 2/1 0/0 .text draw__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::draw() { - nofralloc -#include "asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s" +void renderingDAmap_c::draw() { + renderingMap(); + mIsDraw = true; } -#pragma pop /* ############################################################################################## */ /* 80451E48-80451E4C 000448 0004+00 1/1 0/0 0/0 .sdata2 l_mapBaseColor$4239 */ -SECTION_SDATA2 static u8 l_mapBaseColor[4] = { - 0x04, - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA2 static GXColor l_mapBaseColor = {4, 0, 0, 0}; /* 8003FE4C-8003FE54 03A78C 0008+00 3/0 3/0 0/0 .text getBackColor__16renderingDAmap_cCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm GXColor* renderingDAmap_c::getBackColor() const { - nofralloc -#include "asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s" +GXColor* renderingDAmap_c::getBackColor() const { + return &l_mapBaseColor; } -#pragma pop /* 8003FE54-8003FE6C 03A794 0018+00 3/0 3/0 0/0 .text isRenderingFloor__16renderingDAmap_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool renderingDAmap_c::isRenderingFloor(int param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s" +bool renderingDAmap_c::isRenderingFloor(int i_floorNo) { + return i_floorNo == mRenderedFloor; } -#pragma pop /* 8003FE6C-8003FE70 03A7AC 0004+00 2/2 0/0 0/0 .text setSingleRoomSetting__16renderingDAmap_cFv */ -void renderingDAmap_c::setSingleRoomSetting() { - /* empty function */ -} +void renderingDAmap_c::setSingleRoomSetting() {} /* 8003FE70-8003FF14 03A7B0 00A4+00 3/0 3/1 0/0 .text isDrawRoom__16renderingDAmap_cCFii */ +// regalloc. probably supposed to be a one liner or some kind of ternary +#ifdef NONMATCHING +bool renderingDAmap_c::isDrawRoom(int param_0, int param_1) const { + bool var_r31; + bool var_r30 = false; + if (hasMap() || param_0 == param_1) { + var_r30 = true; + } + + if (isRendAllRoom()) { + var_r31 = false; + if (var_r30 || dMapInfo_n::isVisitedRoom(param_1)) { + var_r31 = true; + } + + var_r30 = var_r31; + } + + return var_r30; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void renderingDAmap_c::isDrawRoom(int param_0, int param_1) const { +asm bool renderingDAmap_c::isDrawRoom(int param_0, int param_1) const { nofralloc #include "asm/d/map/d_map_path_dmap/isDrawRoom__16renderingDAmap_cCFii.s" } #pragma pop - -/* ############################################################################################## */ -/* 80451E4C-80451E50 00044C 0004+00 1/1 0/0 0/0 .sdata2 @4264 */ -SECTION_SDATA2 static f32 lit_4264 = -5000.0f; - -/* 80451E50-80451E54 000450 0004+00 1/1 0/0 0/0 .sdata2 @4265 */ -SECTION_SDATA2 static f32 lit_4265 = 5000.0f; - -/* 80451E54-80451E58 000454 0004+00 1/1 0/0 0/0 .sdata2 @4266 */ -SECTION_SDATA2 static f32 lit_4266 = -1.0f; +#endif /* 8003FF14-8003FFC4 03A854 00B0+00 3/0 3/0 0/0 .text preDrawPath__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::preDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s" +void renderingDAmap_c::preDrawPath() { + Mtx m; + Vec sp20; + Vec sp14; + Vec sp8; + + sp20.x = field_0x10; + sp20.y = field_0x14; + sp20.z = -5000.0f; + + sp14.x = field_0x10; + sp14.y = field_0x14; + sp14.z = 5000.0f; + + sp8.x = 0.0f; + sp8.y = -1.0f; + sp8.z = 0.0f; + + mDoMtx_lookAt(m, &sp20, &sp14, &sp8, 0); + GXLoadPosMtxImm(m, GX_PNMTX0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_INDEX16); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0); + GXSetMisc(1, 8); } -#pragma pop /* 8003FFC4-8003FFEC 03A904 0028+00 3/0 3/0 0/0 .text postDrawPath__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::postDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s" +void renderingDAmap_c::postDrawPath() { + GXSetMisc(1, 0); } -#pragma pop /* 8003FFEC-8003FFF4 03A92C 0008+00 3/0 3/1 0/0 .text getRoomNoSingle__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::getRoomNoSingle() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s" +int renderingDAmap_c::getRoomNoSingle() { + return mRoomNoSingle; } -#pragma pop /* 8003FFF4-80040094 03A934 00A0+00 2/2 0/0 0/0 .text getFirstDrawRoomNo__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::getFirstDrawRoomNo() { - nofralloc -#include "asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s" +int renderingDAmap_c::getFirstDrawRoomNo() { + int roomNo = 0; + + if (isRendAllRoom()) { + if (!isDrawRoom(0, mRoomNoSingle)) { + roomNo = getNextDrawRoomNo(0); + } + } else { + roomNo = getRoomNoSingle(); + } + + return roomNo; } -#pragma pop /* 80040094-80040134 03A9D4 00A0+00 2/2 0/0 0/0 .text getNextDrawRoomNo__16renderingDAmap_cFi */ +// weird loop +#ifdef NONMATCHING +int renderingDAmap_c::getNextDrawRoomNo(int param_0) { + int i = param_0 + 1; + + if (isRendAllRoom()) { + if (i >= 64) { + i = -1; + } else { + for (; i < 64; ++i) { + if (isDrawRoom(i, mRoomNoSingle)) { + return i; + } + } + } + } else { + i = -1; + } + + return i; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void renderingDAmap_c::getNextDrawRoomNo(int param_0) { +asm int renderingDAmap_c::getNextDrawRoomNo(int param_0) { nofralloc #include "asm/d/map/d_map_path_dmap/getNextDrawRoomNo__16renderingDAmap_cFi.s" } #pragma pop +#endif /* 80040134-800401E8 03AA74 00B4+00 3/0 3/0 0/0 .text getFirstRoomPointer__16renderingDAmap_cFv */ #pragma push @@ -753,14 +915,9 @@ asm dDrawPath_c::room_class* renderingDAmap_c::getNextRoomPointer() { #pragma pop /* 800402C0-800402E0 03AC00 0020+00 3/0 3/0 0/0 .text isDrawPath__16renderingDAmap_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool renderingDAmap_c::isDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s" +bool renderingDAmap_c::isDrawPath() { + return dMpath_c::isExistMapPathData(); } -#pragma pop /* 800402E0-800402E8 03AC20 0008+00 3/0 3/0 0/0 .text getFirstDrawLayerNo__16renderingDAmap_cFv */ bool renderingDAmap_c::getFirstDrawLayerNo() { @@ -768,70 +925,93 @@ bool renderingDAmap_c::getFirstDrawLayerNo() { } /* 800402E8-800402FC 03AC28 0014+00 3/0 3/0 0/0 .text getNextDrawLayerNo__16renderingDAmap_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::getNextDrawLayerNo(int param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s" +int renderingDAmap_c::getNextDrawLayerNo(int param_0) { + int layerNo = param_0 + 1; + if (layerNo >= 2) { + layerNo = -1; + } + + return layerNo; } -#pragma pop /* 800402FC-80040518 03AC3C 021C+00 1/0 1/1 0/0 .text * afterDrawPath__28renderingPlusDoorAndCursor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::afterDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s" +void renderingPlusDoorAndCursor_c::afterDrawPath() { + renderingPlusDoor_c::afterDrawPath(); + bool check_floor = isCheckFloor(); + + if (isRendCursor() && isRendRestart()) { + bool tmp = true; + + if (check_floor) { + s8 calc_floor = dMapInfo_c::calcFloorNo(dMapInfo_n::getMapRestartPos().y, true, + dComIfGs_getRestartRoomNo()); + if (calc_floor != mRenderedFloor) { + tmp = false; + } + } + + if (tmp) { + int tmp2 = 0x1F; + if (mRoomNoSingle != dComIfGs_getRestartRoomNo()) { + tmp2 = 0x20; + } + + f32 cursor_size = getRestartCursorSize(); + s16 angle_y = dMapInfo_n::getMapRestartAngleY(); + drawCursor(dMapInfo_n::getMapRestartPos(), angle_y, tmp2, cursor_size); + } + } + + if (mRoomNoSingle >= 0 && isRendIcon()) { + drawTreasure(); + } + + if (isRendCursor() && daPy_getPlayerActorClass() != NULL) { + f32 cursor_size = getPlayerCursorSize(); + drawCursor(dMapInfo_n::getMapPlayerPos(), dMapInfo_n::getMapPlayerAngleY(), 0x1E, + cursor_size); + } + + if (mRoomNoSingle >= 0 && isRendIcon()) { + drawTreasureAfterPlayer(); + } } -#pragma pop /* 80040518-80040574 03AE58 005C+00 2/1 1/1 0/0 .text afterDrawPath__19renderingPlusDoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::afterDrawPath() { - nofralloc -#include "asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s" +void renderingPlusDoor_c::afterDrawPath() { + if (mRoomNoSingle >= 0 && isRendDoor()) { + drawDoor1(); + drawDoor2(); + } } -#pragma pop /* 80040574-800405B8 03AEB4 0044+00 1/1 0/0 0/0 .text drawDoor1__19renderingPlusDoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::drawDoor1() { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s" +void renderingPlusDoor_c::drawDoor1() { + dStage_KeepDoorInfo* door_info = dStage_GetKeepDoorInfo(); + drawDoorCommon(door_info->unk_0x4, door_info->unk_0x0, true); } -#pragma pop /* 800405B8-800405FC 03AEF8 0044+00 1/1 0/0 0/0 .text drawDoor2__19renderingPlusDoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::drawDoor2() { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s" +void renderingPlusDoor_c::drawDoor2() { + dStage_KeepDoorInfo* door_info = dStage_GetRoomKeepDoorInfo(); + drawDoorCommon(door_info->unk_0x4, door_info->unk_0x0, false); } -#pragma pop /* ############################################################################################## */ /* 80451E58-80451E5C 000458 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhite */ -SECTION_SDATA2 static u32 l_doorWhite = 0x64000000; +SECTION_SDATA2 static GXColor l_doorWhite = {100, 0, 0, 0}; /* 80451E5C-80451E60 00045C 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhiteNoStay */ -SECTION_SDATA2 static u32 l_doorWhiteNoStay = 0x6C000000; +SECTION_SDATA2 static GXColor l_doorWhiteNoStay = {108, 0, 0, 0}; /* 80451E60-80451E64 000460 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhite2 */ -SECTION_SDATA2 static u32 l_doorWhite2 = 0x64000000; +SECTION_SDATA2 static GXColor l_doorWhite2 = {100, 0, 0, 0}; /* 80451E64-80451E68 000464 0004+00 1/1 0/0 0/0 .sdata2 l_doorWhiteNoStay2 */ -SECTION_SDATA2 static u32 l_doorWhiteNoStay2 = 0x6C000000; +SECTION_SDATA2 static GXColor l_doorWhiteNoStay2 = {108, 0, 0, 0}; /* 80451E68-80451E70 000468 0008+00 1/1 0/0 0/0 .sdata2 l_tex0$4406 */ SECTION_SDATA2 static u8 l_tex0[8] = { @@ -840,168 +1020,175 @@ SECTION_SDATA2 static u8 l_tex0[8] = { /* 800405FC-80040710 03AF3C 0114+00 2/2 0/0 0/0 .text * drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::drawDoorCommon(stage_tgsc_data_class const* param_0, int param_1, - bool param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s" +void renderingPlusDoor_c::drawDoorCommon(stage_tgsc_data_class const* i_doorData, int i_dataNum, + bool param_2) { + int prm0; + int prm1; + + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0); + GXSetArray(GX_VA_TEX0, l_tex0, 2); + + setTevSettingIntensityTextureToCI(); + + for (int i = 0; i < i_dataNum; i++, i_doorData++) { + prm0 = (i_doorData->mParameter >> 0xD) & 0x3F; + prm1 = (i_doorData->mParameter >> 0x13) & 0x3F; + + if (checkDispDoorS(prm0, prm1, i_doorData->mSpawnPos.y)) { + GXLoadTexObj(dMpath_n::m_texObjAgg.getTexObjPointer(0), GX_TEXMAP0); + drawNormalDoorS(i_doorData, prm0, prm1, param_2); + } + } + + setTevSettingNonTextureDirectColor(); } -#pragma pop /* 80040710-80040838 03B050 0128+00 1/1 0/0 0/0 .text checkDispDoorS__19renderingPlusDoor_cFiif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::checkDispDoorS(int param_0, int param_1, f32 param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s" +bool renderingPlusDoor_c::checkDispDoorS(int param_0, int param_1, f32 param_2) { + if (isRendAllRoom()) { + if (!hasMap() && (!dMapInfo_n::isVisitedRoom(param_0) && param_0 != mRoomNoSingle) && + (!dMapInfo_n::isVisitedRoom(param_1) && param_1 != mRoomNoSingle)) + { + return false; + } + } else if (param_0 != mRoomNoSingle && param_1 != mRoomNoSingle) { + return false; + } + + if (mRenderedFloor == calcFloorNoForObjectByMapPathRend(param_2, param_0) || + mRenderedFloor == calcFloorNoForObjectByMapPathRend(param_2, param_1)) + { + return true; + } + + return false; } -#pragma pop - -/* ############################################################################################## */ -/* 80379C58-80379C88 0062B8 0030+00 1/1 0/0 0/0 .rodata l_100x100BoxVertexList */ -SECTION_RODATA static u8 const l_100x100BoxVertexList[48] = { - 0xC2, 0x48, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, - 0xC2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80379C58, &l_100x100BoxVertexList); - -/* 80451E70-80451E74 000470 0004+00 1/1 0/0 0/0 .sdata2 @4484 */ -SECTION_SDATA2 static f32 lit_4484 = 6.0f; /* 80040838-800409B4 03B178 017C+00 1/1 0/0 0/0 .text * drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoor_c::drawNormalDoorS(stage_tgsc_data_class const* param_0, int param_1, - int param_2, bool param_3) { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s" +void renderingPlusDoor_c::drawNormalDoorS(stage_tgsc_data_class const* i_doorData, int i_roomNo, + int param_2, bool param_3) { + static Vec const l_100x100BoxVertexList[4] = { + {-50.0f, -50.0f, 0.0f}, + {50.0f, -50.0f, 0.0f}, + {50.0f, 50.0f, 0.0f}, + {-50.0f, 50.0f, 0.0f}, + }; + + if (i_roomNo == dComIfGp_roomControl_getStayNo() || param_2 == dComIfGp_roomControl_getStayNo()) + { + GXSetTevColor(GX_TEVREG1, l_doorWhite); + GXSetTevColor(GX_TEVREG2, l_doorWhite2); + } else { + GXSetTevColor(GX_TEVREG1, l_doorWhiteNoStay); + GXSetTevColor(GX_TEVREG2, l_doorWhiteNoStay2); + } + + Vec spC; + spC.x = i_doorData->mSpawnPos.x; + spC.y = i_doorData->mSpawnPos.y; + spC.z = i_doorData->mSpawnPos.z; + + if (param_3) { + dMapInfo_n::correctionOriginPos(i_roomNo, &spC); + } + + mDoMtx_stack_c::transS(spC.x, spC.z, 0.0f); + mDoMtx_stack_c::ZrotM(i_doorData->mAngle.y); + mDoMtx_stack_c::scaleM(6.0f, 6.0f, 1.0f); + + Vec sp18[4]; + mDoMtx_stack_c::multVecArray(l_100x100BoxVertexList, sp18, 4); + + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + for (u8 i = 0; i < 4; i++) { + GXPosition3f32(sp18[i].x, sp18[i].y, sp18[i].z); + GXTexCoord1x8(i); + } + i_GXEnd(); } -#pragma pop /* 800409B4-800409E0 03B2F4 002C+00 3/0 2/0 0/0 .text isDrawRoomIcon__16renderingDAmap_cCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::isDrawRoomIcon(int param_0, int param_1) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s" +bool renderingDAmap_c::isDrawRoomIcon(int param_0, int param_1) const { + return isDrawRoom(param_0, param_1); } -#pragma pop /* 800409E0-80040A94 03B320 00B4+00 3/0 3/0 0/0 .text * isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::isDrawIconSingle(dTres_c::data_s const* param_0, int param_1, - int param_2, bool param_3, bool param_4, - Vec const* param_5) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s" +bool renderingDAmap_c::isDrawIconSingle(dTres_c::data_s const* data, int param_1, int param_2, + bool param_3, bool param_4, Vec const* param_5) const { + bool draw_room_icon = isDrawRoomIcon(data->mRoomNo, param_1); + bool tmp = false; + + if (param_4) { + int floorNo = calcFloorNoForObjectByMapPathRend(param_5->y, data->mRoomNo); + if (floorNo == param_2) { + tmp = true; + } + } + + return isDrawIconSingle2(data, tmp, draw_room_icon, param_1); } -#pragma pop /* 80040A94-80040AB8 03B3D4 0024+00 1/0 2/1 0/0 .text * getFirstData__28renderingPlusDoorAndCursor_cFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::getFirstData(u8 param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s" +dTres_c::typeGroupData_c* renderingPlusDoorAndCursor_c::getFirstData(u8 param_0) { + return dTres_c::getFirstData((int)param_0); } -#pragma pop /* 80040AB8-80040ADC 03B3F8 0024+00 1/0 2/1 0/0 .text * getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::getNextData(dTres_c::typeGroupData_c* param_0) { - nofralloc -#include "asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s" +dTres_c::typeGroupData_c* +renderingPlusDoorAndCursor_c::getNextData(dTres_c::typeGroupData_c* param_0) { + return dTres_c::getNextData(param_0); } -#pragma pop /* 80040ADC-80040AE4 03B41C 0008+00 1/0 2/1 0/0 .text * getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::getIconPosition(dTres_c::typeGroupData_c* param_0) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s" +const Vec* +renderingPlusDoorAndCursor_c::getIconPosition(dTres_c::typeGroupData_c* i_typeGroupData) const { + return i_typeGroupData->getPos(); } -#pragma pop /* 80040AE4-80040B00 03B424 001C+00 3/0 2/1 0/0 .text getIconGroupNumber__16renderingDAmap_cCFUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingDAmap_c::getIconGroupNumber(u8 param_0) const { - nofralloc -#include "asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s" +int renderingDAmap_c::getIconGroupNumber(u8 param_0) const { + return dTres_c::getTypeGroupNumber(param_0); } -#pragma pop - -/* ############################################################################################## */ -/* 80451E74-80451E78 000474 0004+00 1/0 0/0 0/0 .sdata2 l_entranceStartColor */ -extern "C" u32 l_entranceStartColor; - -/* 80451E78-80451E7C 000478 0004+00 1/0 0/0 0/0 .sdata2 l_entranceLv8StartColor */ -extern "C" u32 l_entranceLv8StartColor; - -/* 80451E7C-80451E80 00047C 0004+00 3/2 0/0 0/0 .sdata2 l_treasureStartColor */ -extern "C" u32 l_treasureStartColor; - -/* 80451E8C-80451E90 00048C 0004+00 1/0 0/0 0/0 .sdata2 l_destinationStartColor */ -extern "C" u32 l_destinationStartColor; - -/* 80379C88-80379CB8 -00001 0030+00 1/1 0/0 0/0 .rodata l_treasureDispList$4524 */ -SECTION_RODATA static void* const l_treasureDispList_4524[12] = { - (void*)0x01000000, (void*)0x00000002, (void*)&l_entranceStartColor, - (void*)0x08000000, (void*)0x00000005, (void*)&l_entranceLv8StartColor, - (void*)NULL, (void*)0x00000001, (void*)&l_treasureStartColor, - (void*)0x05000000, (void*)0x00000003, (void*)&l_destinationStartColor, -}; -COMPILER_STRIP_GATE(0x80379C88, &l_treasureDispList_4524); /* 80451E74-80451E78 000474 0004+00 1/0 0/0 0/0 .sdata2 l_entranceStartColor */ -SECTION_SDATA2 static u32 l_entranceStartColor = 0x94000000; +SECTION_SDATA2 static GXColor l_entranceStartColor = {148, 0, 0, 0}; /* 80451E78-80451E7C 000478 0004+00 1/0 0/0 0/0 .sdata2 l_entranceLv8StartColor */ -SECTION_SDATA2 static u32 l_entranceLv8StartColor = 0x9C000000; +SECTION_SDATA2 static GXColor l_entranceLv8StartColor = {156, 0, 0, 0}; /* 80451E7C-80451E80 00047C 0004+00 3/2 0/0 0/0 .sdata2 l_treasureStartColor */ -SECTION_SDATA2 static u32 l_treasureStartColor = 0x7C000000; +SECTION_SDATA2 static GXColor l_treasureStartColor = {124, 0, 0, 0}; /* 80451E80-80451E84 000480 0004+00 1/0 0/0 0/0 .sdata2 l_smallKeyStartColor */ -SECTION_SDATA2 static u32 l_smallKeyStartColor = 0x84000000; +SECTION_SDATA2 static GXColor l_smallKeyStartColor = {132, 0, 0, 0}; /* 80451E84-80451E88 000484 0004+00 1/0 0/0 0/0 .sdata2 l_bossStartColor */ -SECTION_SDATA2 static u32 l_bossStartColor = 0x88000000; +SECTION_SDATA2 static GXColor l_bossStartColor = {136, 0, 0, 0}; /* 80451E88-80451E8C 000488 0004+00 1/0 0/0 0/0 .sdata2 l_npc0StartColor */ -SECTION_SDATA2 static u32 l_npc0StartColor = 0x8C000000; +SECTION_SDATA2 static GXColor l_npc0StartColor = {140, 0, 0, 0}; /* 80451E8C-80451E90 00048C 0004+00 1/0 0/0 0/0 .sdata2 l_destinationStartColor */ -SECTION_SDATA2 static u32 l_destinationStartColor = 0x90000000; +SECTION_SDATA2 static GXColor l_destinationStartColor = {144, 0, 0, 0}; /* 80451E90-80451E94 000490 0004+00 1/0 0/0 0/0 .sdata2 l_npcYkmStartColor */ -SECTION_SDATA2 static u32 l_npcYkmStartColor = 0x8C000000; +SECTION_SDATA2 static GXColor l_npcYkmStartColor = {140, 0, 0, 0}; /* 80451E94-80451E98 000494 0004+00 1/0 0/0 0/0 .sdata2 l_npcYkwStartColor */ -SECTION_SDATA2 static u32 l_npcYkwStartColor = 0x8C000000; +SECTION_SDATA2 static GXColor l_npcYkwStartColor = {140, 0, 0, 0}; /* 80451E98-80451E9C 000498 0004+00 1/0 0/0 0/0 .sdata2 l_tksStartColor */ -SECTION_SDATA2 static u32 l_tksStartColor = 0xA4000000; +SECTION_SDATA2 static GXColor l_tksStartColor = {164, 0, 0, 0}; /* 80451E9C-80451EA4 00049C 0008+00 1/1 0/0 0/0 .sdata2 l_iconTex0$4523 */ SECTION_SDATA2 static u8 l_iconTex0_4523[8] = { @@ -1009,18 +1196,95 @@ SECTION_SDATA2 static u8 l_iconTex0_4523[8] = { }; /* 80451EA4-80451EA8 0004A4 0004+00 1/1 0/0 0/0 .sdata2 tboxNotStayColor$4542 */ -SECTION_SDATA2 static u8 tboxNotStayColor_4542[4] = { - 0x80, - 0x00, - 0x00, - 0x00, -}; +SECTION_SDATA2 static GXColor tboxNotStayColor_4542 = {128, 0, 0, 0}; /* 80451EA8-80451EAC 0004A8 0004+00 2/2 0/0 0/0 .sdata2 @4600 */ SECTION_SDATA2 static f32 lit_4600 = 2.0f; +struct treasureDispData { + /* 0x0 */ u8 field_0x0; + /* 0x4 */ int field_0x4; + /* 0x8 */ GXColor* field_0x8; +}; + +/* 80379C88-80379CB8 -00001 0030+00 1/1 0/0 0/0 .rodata l_treasureDispList$4524 */ +static const treasureDispData l_treasureDispList_4524[4] = { + {1, 2, &l_entranceStartColor}, + {8, 5, &l_entranceLv8StartColor}, + {0, 1, &l_treasureStartColor}, + {5, 3, &l_destinationStartColor}, +}; + /* 80040B00-80040E84 03B440 0384+00 1/1 0/0 0/0 .text * drawTreasure__28renderingPlusDoorAndCursor_cFv */ +#ifdef NONMATCHING +void renderingPlusDoorAndCursor_c::drawTreasure() { + bool rend_all_room = isRendAllRoom(); + + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_INDEX8); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB565, 0); + GXSetArray(GX_VA_TEX0, l_iconTex0_4523, 2); + + setTevSettingIntensityTextureToCI(); + + for (int i = 0; i < 4; i++) { + u8 tmp = l_treasureDispList_4524[i].field_0x0; + dTres_c::typeGroupData_c* typeGroupData_p = getFirstData(tmp); + int group_num = getIconGroupNumber(tmp); + + if (group_num != 0) { + f32 icon_size = getIconSize(tmp) * mCmPerTexel; + + GXInvalidateTexAll(); + GXTexObj* texObj_p = + dMpath_n::m_texObjAgg.getTexObjPointer(l_treasureDispList_4524[i].field_0x4); + GXLoadTexObj(texObj_p, GX_TEXMAP0); + GXColor sp18; + GXColor* temp_r3_2 = l_treasureDispList_4524[i].field_0x8; + sp18.r = temp_r3_2->r; + sp18.g = temp_r3_2->g; + sp18.b = temp_r3_2->b; + sp18.a = temp_r3_2->a; + + GXSetTevColor(GX_TEVREG1, sp18); + + sp18.r += 4; + GXSetTevColor(GX_TEVREG2, sp18); + + for (int j = 0; j < group_num && typeGroupData_p != NULL; j++) { + Vec* icon_pos = getIconPosition(typeGroupData_p); + + if (tmp == 0) { + if (mRoomNoSingle != typeGroupData_p->getRoomNo()) { + sp18 = tboxNotStayColor_4542; + } else { + sp18 = l_treasureStartColor; + } + + GXSetTevColor(GX_TEVREG1, sp18); + + sp18.r += 4; + GXSetTevColor(GX_TEVREG2, sp18); + } + + if (isDrawAreaCheck(*icon_pos) && + isDrawIconSingle(typeGroupData_p->getConstDataPointer(), mRoomNoSingle, + mRenderedFloor, rend_all_room, true, icon_pos)) + { + drawIconSingle(*icon_pos, icon_size, icon_size); + } + + typeGroupData_p = getNextData(typeGroupData_p); + } + } + } + + setTevSettingNonTextureDirectColor(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1029,41 +1293,15 @@ asm void renderingPlusDoorAndCursor_c::drawTreasure() { #include "asm/d/map/d_map_path_dmap/drawTreasure__28renderingPlusDoorAndCursor_cFv.s" } #pragma pop - -/* ############################################################################################## */ -/* 80451E80-80451E84 000480 0004+00 1/0 0/0 0/0 .sdata2 l_smallKeyStartColor */ -extern "C" u32 l_smallKeyStartColor; - -/* 80451E84-80451E88 000484 0004+00 1/0 0/0 0/0 .sdata2 l_bossStartColor */ -extern "C" u32 l_bossStartColor; - -/* 80451E88-80451E8C 000488 0004+00 1/0 0/0 0/0 .sdata2 l_npc0StartColor */ -extern "C" u32 l_npc0StartColor; - -/* 80451E90-80451E94 000490 0004+00 1/0 0/0 0/0 .sdata2 l_npcYkmStartColor */ -extern "C" u32 l_npcYkmStartColor; - -/* 80451E94-80451E98 000494 0004+00 1/0 0/0 0/0 .sdata2 l_npcYkwStartColor */ -extern "C" u32 l_npcYkwStartColor; - -/* 80451E98-80451E9C 000498 0004+00 1/0 0/0 0/0 .sdata2 l_tksStartColor */ -extern "C" u32 l_tksStartColor; +#endif /* 80379CB8-80379D3C -00001 0084+00 1/1 0/0 0/0 .rodata l_treasureDispList$4606 */ -SECTION_RODATA static void* const l_treasureDispList_4606[33] = { - (void*)0x10000000, (void*)0x00000004, (void*)&l_tksStartColor, - (void*)0x02000000, (void*)0x00000004, (void*)&l_smallKeyStartColor, - (void*)0x0A000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x09000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x0E000000, (void*)0x00000004, (void*)&l_npcYkwStartColor, - (void*)0x0D000000, (void*)0x00000004, (void*)&l_npcYkmStartColor, - (void*)0x0F000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x0B000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x0C000000, (void*)0x00000004, (void*)&l_npc0StartColor, - (void*)0x04000000, (void*)0x00000004, (void*)&l_smallKeyStartColor, - (void*)0x03000000, (void*)0x00000004, (void*)&l_bossStartColor, +static const treasureDispData l_treasureDispList_4606[11] = { + {16, 4, &l_tksStartColor}, {2, 4, &l_smallKeyStartColor}, {10, 4, &l_npc0StartColor}, + {9, 4, &l_npc0StartColor}, {14, 4, &l_npcYkwStartColor}, {13, 4, &l_npcYkmStartColor}, + {15, 4, &l_npc0StartColor}, {11, 4, &l_npc0StartColor}, {12, 4, &l_npc0StartColor}, + {4, 4, &l_smallKeyStartColor}, {3, 4, &l_bossStartColor}, }; -COMPILER_STRIP_GATE(0x80379CB8, &l_treasureDispList_4606); /* 80451EAC-80451EB4 0004AC 0008+00 1/1 0/0 0/0 .sdata2 l_iconTex0$4605 */ SECTION_SDATA2 static u8 l_iconTex0_4605[8] = { @@ -1089,78 +1327,74 @@ asm void renderingPlusDoorAndCursor_c::drawTreasureAfterPlayer() { } #pragma pop -/* ############################################################################################## */ -/* 80379D3C-80379D5C 00639C 0020+00 1/1 0/0 0/0 .rodata l_iconPosData$4686 */ -SECTION_RODATA static u8 const l_iconPosData[32] = { - 0xC2, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, - 0x42, 0x48, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80379D3C, &l_iconPosData); - /* 80041208-800412C0 03BB48 00B8+00 2/2 0/0 0/0 .text * drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::drawIconSingle(Vec const& param_0, f32 param_1, - f32 param_2) { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s" +void renderingPlusDoorAndCursor_c::drawIconSingle(Vec const& param_0, f32 param_1, f32 param_2) { + static f32 const l_iconPosData[4][2] = { + {-50.0f, 50.0f}, + {50.0f, 50.0f}, + {50.0f, -50.0f}, + {-50.0f, -50.0f}, + }; + + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + for (u8 i = 0; i < 4; i++) { + GXPosition2f32(param_0.x + param_1 * l_iconPosData[i][0], + param_0.z + param_2 * l_iconPosData[i][1]); + GXTexCoord1x8(i); + } + + i_GXEnd(); } -#pragma pop - -/* ############################################################################################## */ -/* 80379D5C-80379D80 0063BC 0024+00 1/1 0/0 0/0 .rodata l_offset$4703 */ -SECTION_RODATA static u8 const l_offset[36] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xC8, 0x00, 0x00, - 0xC3, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x70, 0x00, 0x00, - 0x43, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x70, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80379D5C, &l_offset); - -/* 80450638-80450640 0000B8 0004+04 1/1 0/0 0/0 .sdata l_cursorColor$4709 */ -SECTION_SDATA static u8 l_cursorColor[4 + 4 /* padding */] = { - 0x78, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80451EB8-80451EC0 0004B8 0004+04 1/1 0/0 0/0 .sdata2 @4731 */ -SECTION_SDATA2 static f32 lit_4731[1 + 1 /* padding */] = { - 640.0f, - /* padding */ - 0.0f, -}; /* 800412C0-8004145C 03BC00 019C+00 1/1 0/0 0/0 .text * drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void renderingPlusDoorAndCursor_c::drawCursor(Vec const& param_0, s16 param_1, int param_2, - f32 param_3) { - nofralloc -#include "asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s" +void renderingPlusDoorAndCursor_c::drawCursor(Vec const& param_0, s16 param_1, int param_2, + f32 param_3) { + static Vec const l_offset[3] = { + {0.0f, 0.0f, 400.0f}, + {-200.0f, 0.0f, -240.0f}, + {200.0f, 0.0f, -240.0f}, + }; + + static GXColor l_cursorColor = {120, 0, 0, 0}; + + f32 temp_f3 = param_3 / 640.0f; + f32 temp_f31 = temp_f3 * (field_0x8 / field_0x20); + f32 temp_f30 = temp_f3 * (field_0xc / field_0x22); + + mDoMtx_stack_c::transS(param_0.x, 0.0f, param_0.z); + mDoMtx_stack_c::scaleM(temp_f31, 1.0f, temp_f30); + mDoMtx_stack_c::YrotM(param_1); + + Vec offset[3]; + for (int i = 0; i < 3; i++) { + mDoMtx_stack_c::multVec(&l_offset[i], &offset[i]); + } + + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGB, GX_F32, 0); + + l_cursorColor.r = param_2 * 4; + GXSetTevColor(GX_TEVREG0, l_cursorColor); + + GXBegin(GX_TRIANGLES, GX_VTXFMT0, 3); + for (int i = 0; i < 3; i++) { + GXPosition2f32(offset[i].x, offset[i].z); + } + + i_GXEnd(); } -#pragma pop /* 8004145C-80041460 03BD9C 0004+00 2/0 0/0 0/0 .text beforeDrawPath__19renderingPlusDoor_cFv */ -void renderingPlusDoor_c::beforeDrawPath() { - /* empty function */ -} +void renderingPlusDoor_c::beforeDrawPath() {} /* 80041460-80041480 03BDA0 0020+00 0/0 1/0 0/0 .text __sinit_d_map_path_dmap_cpp */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_map_path_dmap_cpp() { - nofralloc +asm void __sinit_d_map_path_dmap_cpp(){nofralloc #include "asm/d/map/d_map_path_dmap/__sinit_d_map_path_dmap_cpp.s" } #pragma pop diff --git a/src/d/menu/d_menu_dmap_map.cpp b/src/d/menu/d_menu_dmap_map.cpp index 79abf82cc9..bcd4edaab4 100644 --- a/src/d/menu/d_menu_dmap_map.cpp +++ b/src/d/menu/d_menu_dmap_map.cpp @@ -366,8 +366,8 @@ extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mTypeGroupListAll__7dTres_c[204 + 4 /* padding */]; extern "C" extern u32 __float_max; extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; -extern "C" extern u8 data_80450E58[4]; -extern "C" extern u8 data_80450E60[4]; +extern "C" extern u8 mNowStayFloorNo__10dMapInfo_c[4]; +extern "C" extern u8 mNowStayFloorNoDecisionFlg__10dMapInfo_c[4]; extern "C" u8 mLayerList__8dMpath_c[4]; extern "C" f32 mAllCenterX__8dMpath_c; extern "C" f32 mAllCenterZ__8dMpath_c; diff --git a/src/d/menu/d_menu_window.cpp b/src/d/menu/d_menu_window.cpp index 245b78caf4..df4208beb5 100644 --- a/src/d/menu/d_menu_window.cpp +++ b/src/d/menu/d_menu_window.cpp @@ -343,7 +343,7 @@ void dMw_offMenuRing() { } } -static bool dMw_isMenuRing() { +static BOOL dMw_isMenuRing() { dMw_c* menu_window = dMeter2Info_getMenuWindowClass(); if (menu_window) { @@ -739,6 +739,45 @@ SECTION_DATA static u8 init_proc[420] = { 0x00, 0x00, 0x00, 0x00, }; +/* typedef void (dMw_c::*initFunc)(u8); +SECTION_DATA initFunc init_proc[] = { + &dMw_c::key_wait_init, + &dMw_c::ring_open_init, + &dMw_c::ring_move_init, + &dMw_c::ring_close_init, + &dMw_c::collect_open_init, + &dMw_c::collect_move_init, + &dMw_c::collect_close_init, + &dMw_c::fmap_open_init, + &dMw_c::fmap_move_init, + &dMw_c::fmap_close_init, + &dMw_c::dmap_open_init, + &dMw_c::dmap_move_init, + &dMw_c::dmap_close_init, + &dMw_c::collect_save_open_init, + &dMw_c::collect_save_move_init, + &dMw_c::collect_save_close_init, + &dMw_c::collect_option_open_init, + &dMw_c::collect_option_move_init, + &dMw_c::collect_option_close_init, + &dMw_c::collect_letter_open_init, + &dMw_c::collect_letter_move_init, + &dMw_c::collect_letter_close_init, + &dMw_c::collect_fishing_open_init, + &dMw_c::collect_fishing_move_init, + &dMw_c::collect_fishing_close_init, + &dMw_c::collect_skill_open_init, + &dMw_c::collect_skill_move_init, + &dMw_c::collect_skill_close_init, + &dMw_c::collect_insect_open_init, + &dMw_c::collect_insect_move_init, + &dMw_c::collect_insect_close_init, + &dMw_c::insect_open_init, + &dMw_c::insect_open2_init, + &dMw_c::insect_move_init, + &dMw_c::insect_close_init, +}; */ + /* 803BEC4C-803BEC58 -00001 000C+00 0/1 0/0 0/0 .data @4311 */ #pragma push #pragma force_active on @@ -1120,6 +1159,45 @@ SECTION_DATA static u8 move_proc[420] = { 0x00, 0x00, 0x00, 0x00, }; +/* typedef void (dMw_c::*procFunc)(); +SECTION_DATA procFunc move_proc[] = { + &dMw_c::key_wait_proc, + &dMw_c::ring_open_proc, + &dMw_c::ring_move_proc, + &dMw_c::ring_close_proc, + &dMw_c::collect_open_proc, + &dMw_c::collect_move_proc, + &dMw_c::collect_close_proc, + &dMw_c::fmap_open_proc, + &dMw_c::fmap_move_proc, + &dMw_c::fmap_close_proc, + &dMw_c::dmap_open_proc, + &dMw_c::dmap_move_proc, + &dMw_c::dmap_close_proc, + &dMw_c::collect_save_open_proc, + &dMw_c::collect_save_move_proc, + &dMw_c::collect_save_close_proc, + &dMw_c::collect_option_open_proc, + &dMw_c::collect_option_move_proc, + &dMw_c::collect_option_close_proc, + &dMw_c::collect_letter_open_proc, + &dMw_c::collect_letter_move_proc, + &dMw_c::collect_letter_close_proc, + &dMw_c::collect_fishing_open_proc, + &dMw_c::collect_fishing_move_proc, + &dMw_c::collect_fishing_close_proc, + &dMw_c::collect_skill_open_proc, + &dMw_c::collect_skill_move_proc, + &dMw_c::collect_skill_close_proc, + &dMw_c::collect_insect_open_proc, + &dMw_c::collect_insect_move_proc, + &dMw_c::collect_insect_close_proc, + &dMw_c::insect_open_proc, + &dMw_c::insect_open2_proc, + &dMw_c::insect_move_proc, + &dMw_c::insect_close_proc, +}; */ + /* 801FA13C-801FA220 1F4A7C 00E4+00 2/0 0/0 0/0 .text key_wait_init__5dMw_cFUc */ void dMw_c::key_wait_init(u8 menu_status) { dMeter2Info_setWindowStatus(0); @@ -1238,12 +1316,13 @@ void dMw_c::collect_move_init(u8 menu_status) { /* 801FA46C-801FA538 1F4DAC 00CC+00 1/0 0/0 0/0 .text collect_close_init__5dMw_cFUc */ void dMw_c::collect_close_init(u8 param_0) { - if (mpMenuCollect->getSubWindowOpenCheck() != 1 && - mpMenuCollect->getSubWindowOpenCheck() != 2) { + if (mpMenuCollect->getSubWindowOpenCheck() != 1 && mpMenuCollect->getSubWindowOpenCheck() != 2) + { if (mpMenuCollect->getSubWindowOpenCheck() == 3 || mpMenuCollect->getSubWindowOpenCheck() == 4 || mpMenuCollect->getSubWindowOpenCheck() == 5 || - mpMenuCollect->getSubWindowOpenCheck() == 6) { + mpMenuCollect->getSubWindowOpenCheck() == 6) + { Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_SY_MENU_SUB_IN, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } else { @@ -1495,8 +1574,8 @@ void dMw_c::collect_move_proc() { if (mpMenuCollect->getSubWindowOpenCheck()) { mMenuStatus = COLLECT_CLOSE; } else { - if ((dMw_isPush_S_Button() && !mpMenuCollect->isKeyCheck()) || - mpMenuCollect->isOutCheck()) { + if ((dMw_isPush_S_Button() && !mpMenuCollect->isKeyCheck()) || mpMenuCollect->isOutCheck()) + { mMenuStatus = COLLECT_CLOSE; } else { mpMenuCollect->_move(); @@ -2033,7 +2112,8 @@ void dMw_c::dMw_fmap_create() { if (dMeter2Info_getMapKeyDirection() == 0x400 || dMeter2Info_getMapStatus() == 3 || dMeter2Info_getMapStatus() == 4 || dMeter2Info_getMapStatus() == 5 || dMeter2Info_getMapStatus() == 7 || dMeter2Info_getMapStatus() == 8 || - dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6) { + dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6) + { tmp = 1; } else if (dMeter2Info_getMapKeyDirection() == 0x200) { tmp = 3; @@ -2330,7 +2410,8 @@ BOOL dMw_c::dMw_isPush_S_Button() { if (isFadeNowCheck()) { if (daPy_getLinkPlayerActorClass()->getClothesChangeWaitTimer() == 0 && daPy_getLinkPlayerActorClass()->getShieldChangeWaitTimer() == 0 && - daPy_getLinkPlayerActorClass()->getSwordChangeWaitTimer() == 0) { + daPy_getLinkPlayerActorClass()->getSwordChangeWaitTimer() == 0) + { if (dMw_START_TRIGGER() || dMw_B_TRIGGER()) { return true; } @@ -2414,7 +2495,8 @@ bool dMw_c::isEventCheck() { dMeter2Info_getMapStatus() == 7 || dMeter2Info_getMapStatus() == 8 || dMeter2Info_getMapStatus() == 9 || dMeter2Info_getMapStatus() == 6 || dMeter2Info_getMapStatus() == 3 || dMeter2Info_isMenuInForce(2) || - dMeter2Info_getPauseStatus() == 8)) { + dMeter2Info_getPauseStatus() == 8)) + { return false; } return true; @@ -2493,6 +2575,47 @@ int dMw_c::_create() { } /* 801FD2D8-801FD450 1F7C18 0178+00 1/1 0/0 0/0 .text _execute__5dMw_cFv */ +// matches with sinit +#ifdef NONMATCHING +int dMw_c::_execute() { + if (field_0x151 != 0) { + field_0x151--; + } + + JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap); + u8 old_proc = mMenuStatus; + mpStick->checkTrigger(); + + if (dMw_isMenuRing()) { + mpCStick->checkTrigger(); + checkCStickTrigger(); + } + + if (i_dComIfGp_event_runCheck()) { + field_0x148 = 5; + } else if (field_0x148 > 0) { + field_0x148--; + } else { + field_0x148 = 0; + } + + (this->*move_proc[mMenuStatus])(); + if (mMenuStatus != old_proc) { + (this->*init_proc[mMenuStatus])(old_proc); + } + + if (!mDoCPd_c::getHoldLockL(PAD_1) && dMw_isButtonBit(1)) { + dMw_offButtonBit(1); + } + + if (!mDoCPd_c::getHoldLockR(PAD_1) && dMw_isButtonBit(2)) { + dMw_offButtonBit(2); + } + + mDoExt_setCurrentHeap(old_heap); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2501,6 +2624,7 @@ asm int dMw_c::_execute() { #include "asm/d/menu/d_menu_window/_execute__5dMw_cFv.s" } #pragma pop +#endif /* 801FD450-801FD67C 1F7D90 022C+00 1/1 0/0 0/0 .text _draw__5dMw_cFv */ int dMw_c::_draw() { @@ -2646,8 +2770,7 @@ static int dMw_Create(msg_class* p_menu) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_menu_window_cpp() { - nofralloc +asm void __sinit_d_menu_window_cpp(){nofralloc #include "asm/d/menu/d_menu_window/__sinit_d_menu_window_cpp.s" } #pragma pop From 358bb410757ebd1bf3ff2a0bc60649ba6b61434d Mon Sep 17 00:00:00 2001 From: TakaRikka Date: Sun, 29 Jan 2023 21:03:20 -0800 Subject: [PATCH 2/5] remove asm --- Progress.md | 1478 ++++++++--------- .../afterDrawPath__19renderingPlusDoor_cFv.s | 25 - ...awPath__28renderingPlusDoorAndCursor_cFv.s | 142 -- ...ectByMapPathRend__16renderingDAmap_cCFfi.s | 10 - .../calcFloorNo__10dMapInfo_cFfbi.s | 96 -- .../calcNowStayFloorNo__10dMapInfo_cFfb.s | 93 -- ...heckDispDoorS__19renderingPlusDoor_cFiif.s | 80 - .../d_map_path_dmap/create__10dMapInfo_cFv.s | 9 - .../map/d_map_path_dmap/create__8dMpath_cFv.s | 26 - ...28renderingPlusDoorAndCursor_cFRC3Vecsif.s | 106 -- .../drawDoor1__19renderingPlusDoor_cFv.s | 18 - .../drawDoor2__19renderingPlusDoor_cFv.s | 18 - ...ngPlusDoor_cFPC21stage_tgsc_data_classib.s | 73 - ..._28renderingPlusDoorAndCursor_cFRC3Vecff.s | 49 - ...gPlusDoor_cFPC21stage_tgsc_data_classiib.s | 102 -- .../draw__16renderingDAmap_cFv.s | 14 - .../entry__16renderingDAmap_cFfffiSc.s | 38 - .../getBackColor__16renderingDAmap_cCFv.s | 3 - ...tConstRestartIconPointer__10dMapInfo_nFv.s | 52 - ...tData__28renderingPlusDoorAndCursor_cFUc.s | 10 - ...getFirstDrawRoomNo__16renderingDAmap_cFv.s | 43 - ...loorParameter__10dMapInfo_nFfPScPfPfPfPf.s | 118 -- ...tIconGroupNumber__16renderingDAmap_cCFUc.s | 8 - ...ndCursor_cCFPQ27dTres_c15typeGroupData_c.s | 3 - .../getMapPlayerAngleY__10dMapInfo_nFv.s | 22 - .../getMapPlayerPos__10dMapInfo_nFv.s | 53 - .../getMapRestartPos__10dMapInfo_nFv.s | 54 - ...AndCursor_cFPQ27dTres_c15typeGroupData_c.s | 10 - ...getNextDrawLayerNo__16renderingDAmap_cFi.s | 6 - .../getRoomCenter__10dMapInfo_nFiPfPf.s | 24 - .../getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s | 26 - .../getRoomNoSingle__16renderingDAmap_cFv.s | 3 - .../getTopBottomFloorNo__8dMpath_cFPScPSc.s | 39 - .../d_map_path_dmap/init__10dMapInfo_cFv.s | 7 - .../init__16renderingDAmap_cFPUcUsUsUsUs.s | 17 - ...ngDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s | 47 - .../isDrawPath__16renderingDAmap_cFv.s | 9 - .../isDrawRoomIcon__16renderingDAmap_cCFii.s | 12 - .../isRenderingFloor__16renderingDAmap_cFi.s | 7 - ...ngDAmap_cFPCQ211dDrawPath_c11group_class.s | 35 - .../d_map_path_dmap/move__10dMapInfo_cFif.s | 14 - .../postDrawPath__16renderingDAmap_cFv.s | 11 - .../preDrawPath__16renderingDAmap_cFv.s | 45 - .../map/d_map_path_dmap/remove__8dMpath_cFv.s | 14 - .../d_map_path_dmap/reset__10dMapInfo_cFv.s | 9 - .../setPointer__8dMpath_cFScPvi.s | 82 - 46 files changed, 739 insertions(+), 2421 deletions(-) delete mode 100644 asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s delete mode 100644 asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s delete mode 100644 asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s delete mode 100644 asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s delete mode 100644 asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s delete mode 100644 asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s delete mode 100644 asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s delete mode 100644 asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s delete mode 100644 asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s delete mode 100644 asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s delete mode 100644 asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s delete mode 100644 asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s delete mode 100644 asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s delete mode 100644 asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s delete mode 100644 asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s delete mode 100644 asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s delete mode 100644 asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s delete mode 100644 asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s delete mode 100644 asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s delete mode 100644 asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s delete mode 100644 asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s delete mode 100644 asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s delete mode 100644 asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s delete mode 100644 asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s delete mode 100644 asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s delete mode 100644 asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s delete mode 100644 asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s delete mode 100644 asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s delete mode 100644 asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s delete mode 100644 asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s delete mode 100644 asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s diff --git a/Progress.md b/Progress.md index 389871f092..6a44987339 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 23.661493% | 850996 | 3596544 +.text | 23.835549% | 857256 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 31.709426% | 1274932 | 4020672 +Total | 31.865121% | 1281192 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 31.709426% | 1274932 | 4020672 +main.dol | 31.865121% | 1281192 | 4020672 RELs | 33.041295% | 3799856 | 11500324 -Total | 32.696278% | 5074788 | 15520996 +Total | 32.736610% | 5081048 | 15520996 ## RELs @@ -30,759 +30,759 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- f_pc_profile_lst | 100.000000% | 28156 | 28156 d_a_hozelda | 28.805621% | 4920 | 17080 -d_a_ni | 27.299309% | 8216 | 30096 -d_a_mg_fshop | 36.363636% | 9360 | 25740 -d_a_movie_player | 23.696790% | 8328 | 35144 -d_a_vrbox | 48.327138% | 1040 | 2152 -d_a_sq | 35.488722% | 3776 | 10640 -d_a_ppolamp | 42.341463% | 1736 | 4100 -d_a_demo_item | 33.863165% | 3920 | 11576 -d_a_cstaf | 32.377740% | 3840 | 11860 +d_a_passer_mng | 31.038027% | 2416 | 7784 +d_a_formation_mng | 27.806286% | 3468 | 12472 +d_a_guard_mng | 53.457447% | 804 | 1504 +d_a_arrow | 28.104690% | 6400 | 22772 +d_a_mant | 86.020312% | 40316 | 46868 +d_a_demo00 | 29.136000% | 7284 | 25000 +d_a_scene_exit | 61.359223% | 1264 | 2060 d_a_bg | 41.505376% | 3860 | 9300 +d_a_midna | 22.953368% | 12404 | 54040 +d_a_dmidna | 50.000000% | 944 | 1888 +d_a_swTime | 63.076923% | 656 | 1040 +d_a_tbox | 30.165503% | 9332 | 30936 +d_a_grass | 49.074395% | 28312 | 57692 +d_a_boomerang | 26.528647% | 6612 | 24924 +d_a_swc00 | 43.087121% | 1820 | 4224 +d_a_vrbox2 | 34.977578% | 2184 | 6244 +d_a_talk | 45.434783% | 836 | 1840 +d_a_suspend | 68.303571% | 612 | 896 +d_a_tbox2 | 42.486445% | 4388 | 10328 +d_a_dshutter | 46.003263% | 2256 | 4904 +d_a_cow | 22.936702% | 12784 | 55736 +d_a_scene_exit2 | 44.782034% | 1356 | 3028 +d_a_balloon_2D | 29.886212% | 3572 | 11952 +d_a_L7demo_dr | 30.796884% | 2056 | 6676 +d_a_myna | 30.876570% | 9736 | 31532 +d_a_set_bgobj | 100.000000% | 1108 | 1108 +d_a_mg_fshop | 36.363636% | 9360 | 25740 +d_a_path_line | 100.000000% | 508 | 508 +d_a_canoe | 28.479263% | 4944 | 17360 +d_a_do | 25.780847% | 10004 | 38804 +d_a_ykgr | 44.400631% | 2252 | 5072 +d_a_fr | 34.866377% | 4488 | 12872 +d_a_demo_item | 33.863165% | 3920 | 11576 +d_a_swBall | 33.297414% | 1236 | 3712 +d_a_mg_fish | 26.024167% | 17660 | 67860 +d_a_cstaf | 32.377740% | 3840 | 11860 +d_a_peru | 33.139234% | 10244 | 30912 +d_a_ppolamp | 42.341463% | 1736 | 4100 +d_a_crod | 33.887043% | 2448 | 7224 +d_a_horse | 22.301298% | 15668 | 70256 +d_a_spinner | 27.874187% | 5140 | 18440 +d_a_nbomb | 28.739233% | 8808 | 30648 d_a_tboxSw | 100.000000% | 1016 | 1016 d_a_title | 39.558574% | 2796 | 7068 -d_a_L7low_dr | 38.905775% | 1536 | 3948 -d_a_andsw2 | 29.472774% | 1364 | 4628 -d_a_nbomb | 28.739233% | 8808 | 30648 -d_a_talk | 45.434783% | 836 | 1840 -d_a_coach_2D | 38.344915% | 2428 | 6332 -d_a_ykgr | 44.400631% | 2252 | 5072 -d_a_scene_exit | 61.359223% | 1264 | 2060 -d_a_tbox2 | 42.486445% | 4388 | 10328 -d_a_shop_item | 43.088737% | 2020 | 4688 -d_a_midna | 22.953368% | 12404 | 54040 -d_a_passer_mng | 31.038027% | 2416 | 7784 -d_a_boomerang | 26.528647% | 6612 | 24924 -d_a_demo00 | 29.136000% | 7284 | 25000 -d_a_startAndGoal | 41.918528% | 1276 | 3044 -d_a_horse | 22.301298% | 15668 | 70256 -d_a_kago | 24.588671% | 15124 | 61508 -d_a_path_line | 100.000000% | 508 | 508 -d_a_do | 25.780847% | 10004 | 38804 -d_a_formation_mng | 27.806286% | 3468 | 12472 -d_a_andsw | 60.526316% | 644 | 1064 -d_a_dmidna | 50.000000% | 944 | 1888 -d_a_L7op_demo_dr | 26.198715% | 4240 | 16184 -d_a_guard_mng | 53.457447% | 804 | 1504 -d_a_econt | 59.836066% | 876 | 1464 -d_a_myna | 30.876570% | 9736 | 31532 -d_a_izumi_gate | 57.729941% | 1180 | 2044 -d_a_mirror | 32.707993% | 3208 | 9808 -d_a_cow | 22.936702% | 12784 | 55736 -d_a_disappear | 45.091514% | 1084 | 2404 -d_a_swc00 | 43.087121% | 1820 | 4224 -d_a_spinner | 27.874187% | 5140 | 18440 -d_a_swLBall | 33.651805% | 1268 | 3768 -d_a_suspend | 68.303571% | 612 | 896 -d_a_coach_fire | 44.050104% | 1688 | 3832 -d_a_bg_obj | 32.434657% | 6304 | 19436 -d_a_warp_bug | 54.940711% | 1112 | 2024 -d_a_vrbox2 | 34.977578% | 2184 | 6244 -d_a_alldie | 100.000000% | 2096 | 2096 d_a_bd | 31.115418% | 5780 | 18576 -d_a_scene_exit2 | 44.782034% | 1356 | 3028 -d_a_swhit0 | 35.577421% | 2748 | 7724 -d_a_swBall | 33.297414% | 1236 | 3712 -d_a_crod | 33.887043% | 2448 | 7224 -d_a_balloon_2D | 29.886212% | 3572 | 11952 -d_a_fr | 34.866377% | 4488 | 12872 -d_a_hitobj | 62.682927% | 1028 | 1640 -d_a_mg_rod | 24.484345% | 23836 | 97352 -d_a_skip_2D | 100.000000% | 1332 | 1332 -d_a_ep | 30.950696% | 5248 | 16956 -d_a_grass | 49.074395% | 28312 | 57692 -d_a_dshutter | 46.003263% | 2256 | 4904 -d_a_tbox | 30.165503% | 9332 | 30936 -d_a_peru | 33.139234% | 10244 | 30912 -d_a_set_bgobj | 100.000000% | 1108 | 1108 -d_a_mant | 86.020312% | 40316 | 46868 +d_a_coach_2D | 38.344915% | 2428 | 6332 +d_a_andsw2 | 29.472774% | 1364 | 4628 +d_a_alldie | 100.000000% | 2096 | 2096 +d_a_mirror | 32.707993% | 3208 | 9808 +d_a_bg_obj | 32.434657% | 6304 | 19436 d_a_cstatue | 29.155833% | 6728 | 23076 -d_a_swTime | 63.076923% | 656 | 1040 -d_a_arrow | 28.104690% | 6400 | 22772 -d_a_mg_fish | 26.024167% | 17660 | 67860 -d_a_L7demo_dr | 30.796884% | 2056 | 6676 -d_a_canoe | 28.479263% | 4944 | 17360 +d_a_swhit0 | 35.577421% | 2748 | 7724 +d_a_econt | 59.836066% | 876 | 1464 +d_a_disappear | 45.091514% | 1084 | 2404 +d_a_L7low_dr | 38.905775% | 1536 | 3948 +d_a_mg_rod | 24.484345% | 23836 | 97352 +d_a_startAndGoal | 41.918528% | 1276 | 3044 d_a_bullet | 42.660550% | 2604 | 6104 -d_a_tag_watchge | 61.290323% | 760 | 1240 -d_a_tag_mhint | 35.576923% | 1332 | 3744 -d_a_tag_attack_item | 43.212237% | 1808 | 4184 -d_a_tag_attention | 50.000000% | 1012 | 2024 -d_a_tag_myna2 | 47.260274% | 828 | 1752 -d_a_tag_Lv6Gate | 39.281576% | 2712 | 6904 -d_a_tag_hinit | 100.000000% | 1440 | 1440 -d_a_tag_camera | 37.023593% | 1632 | 4408 -d_a_tag_statue_evt | 38.427948% | 2816 | 7328 -d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204 -d_a_tag_TWgate | 53.384834% | 10504 | 19676 -d_a_tag_smk_emt | 50.127226% | 788 | 1572 -d_a_tag_csw | 35.869565% | 3696 | 10304 -d_a_tag_evt | 37.815126% | 1620 | 4284 -d_a_tag_evtmsg | 39.491150% | 1428 | 3616 -d_a_tag_spring | 45.780591% | 868 | 1896 -d_a_tag_poFire | 63.270142% | 1068 | 1688 -d_a_tag_shop_camera | 62.541806% | 748 | 1196 -d_a_tag_wljump | 30.777538% | 1140 | 3704 -d_a_tag_telop | 100.000000% | 1040 | 1040 -d_a_tag_kago_fall | 34.469328% | 1416 | 4108 -d_a_tag_yami | 42.650334% | 1532 | 3592 -d_a_tag_Lv7Gate | 34.752224% | 2188 | 6296 -d_a_tag_arena | 82.022472% | 584 | 712 -d_a_tag_sppath | 33.333333% | 2040 | 6120 -d_a_tag_shop_item | 41.944848% | 1156 | 2756 -d_a_tag_theB_hint | 67.253521% | 764 | 1136 -d_a_tag_lv2prchk | 35.734870% | 992 | 2776 -d_a_tag_mmsg | 100.000000% | 1960 | 1960 -d_a_tag_lightball | 46.212121% | 976 | 2112 -d_a_tag_msg | 37.563971% | 1468 | 3908 -d_a_tag_pachi | 51.107595% | 1292 | 2528 -d_a_tag_evtarea | 37.091319% | 1316 | 3548 -d_a_tag_Lv8Gate | 43.347193% | 1668 | 3848 -d_a_tag_ret_room | 49.168646% | 828 | 1684 -d_a_tag_waterfall | 46.361502% | 1580 | 3408 -d_a_tag_gstart | 100.000000% | 1208 | 1208 -d_a_tag_mstop | 36.151961% | 1180 | 3264 -d_a_tag_escape | 100.000000% | 712 | 712 -d_a_tag_setrestart | 96.739130% | 1780 | 1840 -d_a_tag_river_back | 45.725916% | 1348 | 2948 -d_a_tag_qs | 34.804270% | 1956 | 5620 -d_a_tag_event | 31.075697% | 1248 | 4016 -d_a_tag_gra | 76.000000% | 608 | 800 -d_a_tag_ss_drink | 36.483740% | 1436 | 3936 -d_a_tag_allmato | 30.234070% | 3720 | 12304 -d_a_tag_bottle_item | 38.554217% | 1024 | 2656 -d_a_tag_push | 41.000000% | 1148 | 2800 -d_a_tag_stream | 49.729730% | 736 | 1480 -d_a_tag_magne | 100.000000% | 928 | 928 -d_a_tag_spinner | 45.850622% | 884 | 1928 -d_a_tag_schedule | 82.022472% | 584 | 712 -d_a_tag_setBall | 100.000000% | 880 | 880 -d_a_tag_kmsg | 32.037997% | 1484 | 4632 -d_a_tag_myna_light | 36.747759% | 1148 | 3124 -d_a_tag_howl | 46.934461% | 888 | 1892 -d_a_tag_chkpoint | 39.852399% | 864 | 2168 -d_a_tag_firewall | 35.325132% | 1608 | 4552 -d_a_tag_lv6CstaSw | 51.406250% | 1316 | 2560 -d_a_tag_instruction | 100.000000% | 712 | 712 -d_a_tag_mwait | 35.082873% | 1016 | 2896 -d_a_tag_ajnot | 56.493506% | 696 | 1232 -d_a_tag_hstop | 100.000000% | 3424 | 3424 -d_a_tag_chgrestart | 48.868778% | 864 | 1768 -d_a_tag_cstasw | 51.406250% | 1316 | 2560 -d_a_tag_lv5soup | 100.000000% | 1908 | 1908 -d_a_tag_lantern | 52.013423% | 1240 | 2384 -d_a_tag_guard | 54.421769% | 640 | 1176 -d_a_tag_assistance | 76.699029% | 632 | 824 -d_a_tag_mist | 43.436293% | 900 | 2072 -d_a_tag_wara_howl | 100.000000% | 1420 | 1420 -d_a_tag_hjump | 40.841584% | 1320 | 3232 -d_a_door_dbdoor00 | 40.734908% | 3104 | 7620 -d_a_door_spiral | 100.000000% | 504 | 504 -d_a_door_push | 37.997725% | 2672 | 7032 -d_a_door_shutter | 37.465797% | 14240 | 38008 -d_a_door_bossL5 | 39.221790% | 4032 | 10280 -d_a_door_mbossL1 | 34.467633% | 10372 | 30092 -d_a_door_bossl1 | 39.355114% | 7372 | 18732 -d_a_door_knob00 | 37.500000% | 4608 | 12288 -d_a_door_boss | 40.856890% | 3700 | 9056 -d_a_kytag10 | 31.720430% | 944 | 2976 -d_a_kytag12 | 20.217129% | 3352 | 16580 -d_a_kytag16 | 47.212544% | 1084 | 2296 -d_a_kytag17 | 86.170213% | 648 | 752 -d_a_kytag09 | 49.936948% | 1584 | 3172 -d_a_kytag07 | 60.062893% | 764 | 1272 -d_a_kytag04 | 36.357481% | 2148 | 5908 -d_a_kytag01 | 35.156250% | 1260 | 3584 -d_a_kytag08 | 31.379026% | 1520 | 4844 -d_a_kytag00 | 33.522084% | 2368 | 7064 -d_a_kytag02 | 54.888889% | 988 | 1800 -d_a_kytag14 | 100.000000% | 1408 | 1408 -d_a_kytag11 | 52.643172% | 956 | 1816 -d_a_kytag05 | 100.000000% | 816 | 816 -d_a_kytag13 | 30.696576% | 2080 | 6776 -d_a_kytag03 | 23.399898% | 1828 | 7812 -d_a_kytag15 | 49.443561% | 1244 | 2516 -d_a_kytag06 | 31.287129% | 4424 | 14140 -d_a_obj_lv4floor | 49.786020% | 1396 | 2804 -d_a_obj_scannon_ten | 37.738049% | 3884 | 10292 -d_a_obj_crvhahen | 37.120623% | 1908 | 5140 -d_a_obj_lv4HsTarget | 58.333333% | 1428 | 2448 -d_a_obj_kiPot | 53.782895% | 1308 | 2432 -d_a_obj_fireWood2 | 41.290323% | 2304 | 5580 -d_a_obj_lv4bridge | 47.146866% | 2016 | 4276 -d_a_obj_suisya | 49.914821% | 1172 | 2348 -d_a_obj_tatigi | 40.549020% | 2068 | 5100 -d_a_obj_volcbom | 32.897713% | 5236 | 15916 -d_a_obj_gra2 | 24.809250% | 21200 | 85452 -d_a_obj_yousei | 27.926623% | 4628 | 16572 -d_a_obj_laundry_rope | 34.459867% | 2284 | 6628 -d_a_obj_oiltubo | 40.168244% | 3056 | 7608 -d_a_obj_scannon | 35.209799% | 5404 | 15348 -d_a_obj_barDesk | 49.477072% | 2460 | 4972 -d_a_obj_yobikusa | 39.095993% | 3356 | 8584 -d_a_obj_Y_taihou | 37.379068% | 3400 | 9096 -d_a_obj_hbombkoya | 47.549020% | 3104 | 6528 -d_a_obj_keyhole | 33.394883% | 5064 | 15164 -d_a_obj_ki | 41.573034% | 2220 | 5340 -d_a_obj_lv6swturn | 36.266259% | 1896 | 5228 -d_a_obj_twGate | 57.395498% | 2856 | 4976 -d_a_obj_bsGate | 48.010850% | 2124 | 4424 -d_a_obj_zra_freeze | 37.662338% | 1624 | 4312 -d_a_obj_waterfall | 34.033613% | 2268 | 6664 -d_a_obj_kita | 40.112090% | 2004 | 4996 -d_a_obj_nan | 33.293811% | 5616 | 16868 -d_a_obj_testcube | 100.000000% | 504 | 504 -d_a_obj_batta | 31.886560% | 5172 | 16220 -d_a_obj_udoor | 49.156627% | 1632 | 3320 -d_a_obj_damCps | 100.000000% | 504 | 504 -d_a_obj_tobyhouse | 34.586466% | 3864 | 11172 -d_a_obj_enemy_create | 100.000000% | 2828 | 2828 -d_a_obj_magne_arm | 34.395028% | 7084 | 20596 -d_a_obj_TvCdlst | 43.547170% | 2308 | 5300 -d_a_obj_lv8OptiLift | 35.768374% | 3212 | 8980 -d_a_obj_avalanche | 41.881443% | 2600 | 6208 -d_a_obj_glowSphere | 38.917749% | 3596 | 9240 -d_a_obj_lv4CandleDemoTag | 46.972860% | 1800 | 3832 -d_a_obj_pillar | 38.500852% | 3616 | 9392 -d_a_obj_fchain | 30.649490% | 2284 | 7452 -d_a_obj_Turara | 38.494412% | 4684 | 12168 -d_a_obj_tgake | 49.302326% | 1272 | 2580 -d_a_obj_crvlh_up | 42.485784% | 2092 | 4924 -d_a_obj_lv7PropellerY | 41.738506% | 2324 | 5568 -d_a_obj_digholl | 42.781690% | 972 | 2272 -d_a_obj_swpush2 | 34.150019% | 3624 | 10612 -d_a_obj_warp_obrg | 34.784076% | 4124 | 11856 -d_a_obj_zrTuraraRock | 46.299094% | 2452 | 5296 -d_a_obj_scannon_crs | 35.204678% | 3612 | 10260 -d_a_obj_boumato | 40.192484% | 3508 | 8728 -d_a_obj_lv6FurikoTrap | 45.967742% | 2736 | 5952 -d_a_obj_fireWood | 44.125561% | 1968 | 4460 -d_a_obj_wdStick | 32.908234% | 4748 | 14428 -d_a_obj_lv4PoGate | 44.906743% | 2504 | 5576 -d_a_obj_rotBridge | 43.430152% | 2512 | 5784 -d_a_obj_bmWindow | 38.757933% | 3420 | 8824 -d_a_obj_smtile | 35.912938% | 2376 | 6616 -d_a_obj_sm_door | 39.302885% | 2616 | 6656 -d_a_obj_lv6bemos | 42.081031% | 3656 | 8688 -d_a_obj_lv3WaterB | 46.278317% | 1716 | 3708 -d_a_obj_swhang | 38.446450% | 3920 | 10196 -d_a_obj_kjgjs | 52.250804% | 1300 | 2488 -d_a_obj_drop | 30.227416% | 3828 | 12664 -d_a_obj_chandelier | 36.773256% | 2024 | 5504 -d_a_obj_lv7BsGate | 48.080279% | 2204 | 4584 -d_a_obj_volcball | 34.010759% | 4552 | 13384 -d_a_obj_heavySw | 41.214623% | 2796 | 6784 -d_a_obj_ikada | 40.697674% | 1960 | 4816 -d_a_obj_cho | 33.555219% | 4436 | 13220 -d_a_obj_hakai_ftr | 42.324888% | 2272 | 5368 -d_a_obj_stairBlock | 45.129643% | 2576 | 5708 -d_a_obj_brg | 22.881356% | 6696 | 29264 -d_a_obj_lv8UdFloor | 39.681529% | 2492 | 6280 -d_a_obj_zra_rock | 45.394112% | 1912 | 4212 -d_a_obj_kago | 31.956798% | 4024 | 12592 -d_a_obj_ice_s | 35.446009% | 2416 | 6816 -d_a_obj_klift00 | 37.650457% | 3128 | 8308 -d_a_obj_sakuita | 43.573382% | 1912 | 4388 -d_a_obj_ystone | 42.824944% | 2280 | 5324 -d_a_obj_bk_leaf | 41.935484% | 1144 | 2728 -d_a_obj_flag2 | 46.370840% | 5852 | 12620 -d_a_obj_flag3 | 33.292929% | 3296 | 9900 -d_a_obj_waterGate | 47.279550% | 2016 | 4264 -d_a_obj_lv1Candle01 | 44.344569% | 2368 | 5340 -d_a_obj_bosswarp | 39.728243% | 4912 | 12364 -d_a_obj_poCandle | 44.244604% | 2460 | 5560 -d_a_obj_vground | 44.817927% | 1280 | 2856 -d_a_obj_grave_stone | 42.700730% | 2340 | 5480 -d_a_obj_lv6elevta | 39.452780% | 1788 | 4532 -d_a_obj_bky_rock | 35.592460% | 3172 | 8912 -d_a_obj_burnbox | 45.251397% | 1620 | 3580 -d_a_obj_table | 45.544554% | 1656 | 3636 -d_a_obj_gm | 35.212957% | 4696 | 13336 -d_a_obj_szbridge | 43.280632% | 1752 | 4048 -d_a_obj_lv3Water | 44.263566% | 4568 | 10320 -d_a_obj_lv1Candle00 | 41.348158% | 2380 | 5756 -d_a_obj_ktonfire | 45.504087% | 2004 | 4404 -d_a_obj_sw | 27.590884% | 4068 | 14744 -d_a_obj_lv6bemos2 | 32.122093% | 7072 | 22016 -d_a_obj_kazeneko | 45.277127% | 2320 | 5124 -d_a_obj_fw | 43.368592% | 2132 | 4916 -d_a_obj_kamakiri | 30.171107% | 5572 | 18468 -d_a_obj_lv5SwIce | 46.408046% | 2584 | 5568 -d_a_obj_lv4digsand | 43.888433% | 2140 | 4876 -d_a_obj_kuwagata | 30.226537% | 5604 | 18540 -d_a_obj_food | 36.994728% | 3368 | 9104 -d_a_obj_hata | 39.059081% | 1428 | 3656 -d_a_obj_pleaf | 44.689221% | 2272 | 5084 -d_a_obj_dust | 40.406977% | 2224 | 5504 -d_a_obj_firepillar | 43.032015% | 1828 | 4248 -d_a_obj_brakeeff | 45.417515% | 1784 | 3928 -d_a_obj_lv9SwShutter | 48.128342% | 2160 | 4488 -d_a_obj_lv6SwGate | 40.186916% | 3784 | 9416 -d_a_obj_kwheel00 | 40.352811% | 2928 | 7256 -d_a_obj_crystal | 44.482173% | 1048 | 2356 -d_a_obj_hb | 29.310936% | 3420 | 11668 -d_a_obj_swchain | 24.473297% | 3996 | 16328 -d_a_obj_sword | 45.479963% | 1952 | 4292 -d_a_obj_shield | 34.160959% | 3192 | 9344 -d_a_obj_tmoon | 48.478702% | 956 | 1972 -d_a_obj_lv7bridge | 39.684569% | 3724 | 9384 -d_a_obj_lbox | 47.423510% | 2356 | 4968 -d_a_obj_lv6ChangeGate | 41.732283% | 3816 | 9144 -d_a_obj_sekidoor | 43.834383% | 1948 | 4444 -d_a_obj_pumpkin | 29.152971% | 4612 | 15820 -d_a_obj_bhashi | 31.443815% | 3772 | 11996 -d_a_obj_hhashi | 33.138856% | 3408 | 10284 -d_a_obj_riverrock | 37.311178% | 2964 | 7944 -d_a_obj_prop | 47.868217% | 988 | 2064 -d_a_obj_lv6Lblock | 46.958175% | 1976 | 4208 -d_a_obj_swBallC | 41.458222% | 3116 | 7516 -d_a_obj_digplace | 35.129068% | 1252 | 3564 -d_a_obj_lv4CandleTag | 50.114416% | 1752 | 3496 -d_a_obj_rw | 41.210834% | 3104 | 7532 -d_a_obj_syRock | 38.458961% | 4592 | 11940 -d_a_obj_bed | 42.310889% | 2036 | 4812 -d_a_obj_thdoor | 39.419319% | 2824 | 7164 -d_a_obj_kag | 32.055503% | 5452 | 17008 -d_a_obj_movebox | 36.691330% | 7736 | 21084 -d_a_obj_dan | 35.198921% | 4176 | 11864 -d_a_obj_magLiftRot | 40.697674% | 3080 | 7568 -d_a_obj_lv4SlideWall | 48.954373% | 2060 | 4208 -d_a_obj_toaru_maki | 46.596067% | 1232 | 2644 -d_a_obj_yel_bag | 33.773087% | 3584 | 10612 -d_a_obj_hsTarget | 57.317073% | 1504 | 2624 -d_a_obj_digsnow | 44.813278% | 2160 | 4820 -d_a_obj_bubblePilar | 44.760583% | 2580 | 5764 -d_a_obj_well_cover | 45.704467% | 1596 | 3492 -d_a_obj_mato | 37.093023% | 2552 | 6880 -d_a_obj_lv4RailWall | 41.496973% | 3016 | 7268 -d_a_obj_stonemark | 52.549020% | 1072 | 2040 -d_a_obj_gomikabe | 37.032799% | 3884 | 10488 -d_a_obj_lv5IceWall | 39.937435% | 3064 | 7672 -d_a_obj_life_container | 34.456243% | 3764 | 10924 -d_a_obj_lv3waterEff | 48.122066% | 820 | 1704 -d_a_obj_kwheel01 | 41.610233% | 2212 | 5316 -d_a_obj_firepillar2 | 32.320564% | 2936 | 9084 -d_a_obj_h_saku | 37.610063% | 2392 | 6360 -d_a_obj_warp_kbrg | 34.066524% | 5080 | 14912 -d_a_obj_so | 31.698636% | 6412 | 20228 -d_a_obj_kshutter | 35.690936% | 4804 | 13460 -d_a_obj_lv4prwall | 38.593750% | 1976 | 5120 -d_a_obj_ari | 31.622322% | 5372 | 16988 -d_a_obj_swpush5 | 39.210384% | 2900 | 7396 -d_a_obj_crvfence | 37.146893% | 3156 | 8496 -d_a_obj_crvlh_down | 42.363776% | 2208 | 5212 -d_a_obj_rock | 40.423729% | 1908 | 4720 -d_a_obj_poFire | 36.999540% | 3216 | 8692 -d_a_obj_stone | 26.135237% | 5272 | 20172 -d_a_obj_lv4gear | 42.242704% | 1100 | 2604 -d_a_obj_wchain | 31.823745% | 3120 | 9804 -d_a_obj_spinLift | 41.107692% | 2672 | 6500 -d_a_obj_lv3Candle | 45.638126% | 2260 | 4952 -d_a_obj_smw_stone | 40.435606% | 1708 | 4224 -d_a_obj_stick | 43.708609% | 2376 | 5436 -d_a_obj_groundwater | 40.823478% | 3728 | 9132 -d_a_obj_stopper | 31.675996% | 3848 | 12148 -d_a_obj_ten | 30.064631% | 5396 | 17948 -d_a_obj_mhole | 35.548173% | 2140 | 6020 -d_a_obj_fmobj | 55.200000% | 1104 | 2000 -d_a_obj_swallshutter | 41.268759% | 2420 | 5864 -d_a_obj_takaraDai | 46.376812% | 2304 | 4968 -d_a_obj_ice_l | 34.815373% | 1848 | 5308 -d_a_obj_fallobj | 31.929604% | 2032 | 6364 -d_a_obj_crvsteel | 48.717949% | 1520 | 3120 -d_a_obj_lv3Water2 | 41.786571% | 2788 | 6672 -d_a_obj_cboard | 57.703927% | 1528 | 2648 -d_a_obj_crope | 26.014689% | 2692 | 10348 -d_a_obj_sakuita_rope | 30.817009% | 2580 | 8372 -d_a_obj_eff | 73.504274% | 688 | 936 -d_a_obj_thashi | 49.534161% | 3828 | 7728 -d_a_obj_itamato | 38.072602% | 3524 | 9256 -d_a_obj_knBullet | 43.076923% | 1568 | 3640 -d_a_obj_wsword | 48.936170% | 1380 | 2820 -d_a_obj_smoke | 51.322751% | 776 | 1512 -d_a_obj_swBallA | 35.803945% | 2396 | 6692 -d_a_obj_cwall | 30.455195% | 5968 | 19596 -d_a_obj_picture | 35.041841% | 4020 | 11472 -d_a_obj_ladder | 42.348485% | 2236 | 5280 -d_a_obj_gptaru | 33.238231% | 4660 | 14020 -d_a_obj_rotTrap | 45.877144% | 3316 | 7228 -d_a_obj_swspinner | 39.141631% | 1824 | 4660 -d_a_obj_lv3saka00 | 50.576369% | 1404 | 2776 -d_a_obj_metalbox | 50.268097% | 1500 | 2984 -d_a_obj_bmshutter | 41.338854% | 2396 | 5796 -d_a_obj_kkanban | 47.103514% | 1984 | 4212 -d_a_obj_goGate | 48.046181% | 2164 | 4504 -d_a_obj_lv8KekkaiTrap | 49.367089% | 2028 | 4108 -d_a_obj_lv6Tenbin | 40.000000% | 2848 | 7120 -d_a_obj_kbox | 35.736196% | 3728 | 10432 -d_a_obj_bbox | 48.606466% | 1744 | 3588 -d_a_obj_bombf | 46.875000% | 1020 | 2176 -d_a_obj_key | 33.145009% | 3520 | 10620 -d_a_obj_crvgate | 27.603513% | 4400 | 15940 -d_a_obj_iceleaf | 37.604212% | 3428 | 9116 -d_a_obj_tombo | 33.688640% | 4804 | 14260 -d_a_obj_lv5ychndlr | 40.267765% | 3128 | 7768 -d_a_obj_usaku | 55.081301% | 1084 | 1968 -d_a_obj_gb | 41.063644% | 1884 | 4588 -d_a_obj_nougu | 42.325581% | 2548 | 6020 -d_a_obj_roten | 41.613588% | 1568 | 3768 -d_a_obj_timer | 46.691176% | 1016 | 2176 -d_a_obj_bhbridge | 39.936609% | 2016 | 5048 -d_a_obj_sekizo | 53.625171% | 1568 | 2924 -d_a_obj_saidan | 50.210970% | 1904 | 3792 -d_a_obj_grz_rock | 45.558087% | 1600 | 3512 -d_a_obj_kaisou | 41.645729% | 2652 | 6368 -d_a_obj_mvstair | 35.209479% | 3328 | 9452 -d_a_obj_pdoor | 37.254902% | 1900 | 5100 -d_a_obj_pdtile | 31.467607% | 2856 | 9076 -d_a_obj_inobone | 42.361111% | 1952 | 4608 -d_a_obj_msima | 35.108959% | 3480 | 9912 -d_a_obj_smgdoor | 41.383095% | 3016 | 7288 -d_a_obj_bemos | 32.943081% | 10580 | 32116 -d_a_obj_sekizoa | 32.789446% | 15112 | 46088 -d_a_obj_chest | 39.833795% | 2876 | 7220 -d_a_obj_snowEffTag | 46.419098% | 1400 | 3016 -d_a_obj_lv4sand | 46.461825% | 1996 | 4296 -d_a_obj_flag | 37.518248% | 2056 | 5480 -d_a_obj_maki | 45.531587% | 2364 | 5192 -d_a_obj_ss_drink | 36.026542% | 3692 | 10248 -d_a_obj_automata | 40.573951% | 3676 | 9060 -d_a_obj_geyser | 29.678068% | 3540 | 11928 -d_a_obj_cblock | 42.294713% | 3008 | 7112 -d_a_obj_taFence | 41.279360% | 3304 | 8004 -d_a_obj_window | 42.655602% | 2056 | 4820 -d_a_obj_swturn | 31.295716% | 2396 | 7656 -d_a_obj_rcircle | 43.989432% | 1332 | 3028 -d_a_obj_kanban2 | 30.775877% | 7124 | 23148 -d_a_obj_iceblock | 32.744340% | 4744 | 14488 -d_a_obj_lv6TogeTrap | 34.484536% | 5352 | 15520 -d_a_obj_wflag | 41.214286% | 2308 | 5600 -d_a_obj_cdoor | 40.255786% | 2644 | 6568 -d_a_obj_lv8Lift | 35.532359% | 3404 | 9580 -d_a_obj_zcloth | 52.373418% | 1324 | 2528 -d_a_obj_katatsumuri | 31.170697% | 5208 | 16708 -d_a_obj_togeTrap | 41.746183% | 3500 | 8384 -d_a_obj_web0 | 75.286533% | 4204 | 5584 -d_a_obj_ganonwall | 38.930481% | 1456 | 3740 -d_a_obj_kantera | 37.623762% | 2432 | 6464 -d_a_obj_gra_rock | 37.947123% | 2928 | 7716 -d_a_obj_lv5yiblltray | 33.403583% | 3804 | 11388 -d_a_obj_swLight | 40.346767% | 3444 | 8536 -d_a_obj_tks | 34.669261% | 7128 | 20560 -d_a_obj_nameplate | 39.726962% | 2328 | 5860 -d_a_obj_nagaisu | 37.130271% | 2360 | 6356 -d_a_obj_stopper2 | 38.987342% | 1848 | 4740 -d_a_obj_graWall | 55.725191% | 1168 | 2096 -d_a_obj_balloon | 42.722710% | 2724 | 6376 -d_a_obj_rgate | 36.466069% | 5696 | 15620 -d_a_obj_waterPillar | 37.877429% | 5068 | 13380 -d_a_obj_swBallB | 34.276891% | 2664 | 7772 -d_a_obj_fan | 39.173554% | 2844 | 7260 -d_a_obj_lv4EdShutter | 45.846154% | 2384 | 5200 -d_a_obj_swpropeller | 39.765679% | 2308 | 5804 -d_a_obj_dmelevator | 35.600390% | 4376 | 12292 -d_a_obj_onsenTaru | 38.567616% | 3468 | 8992 -d_a_obj_wind_stone | 37.702265% | 1864 | 4944 -d_a_obj_kgate | 35.192216% | 5932 | 16856 -d_a_obj_lv6TogeRoll | 35.933806% | 4256 | 11844 -d_a_obj_ornament_cloth | 38.734568% | 2008 | 5184 -d_a_obj_ita | 42.717855% | 2804 | 6564 -d_a_obj_ndoor | 51.957831% | 1380 | 2656 -d_a_obj_kznkarm | 35.088583% | 2852 | 8128 -d_a_obj_zrTurara | 43.437672% | 3164 | 7284 -d_a_obj_wood_statue | 36.601579% | 3524 | 9628 -d_a_obj_rstair | 37.354086% | 2688 | 7196 -d_a_obj_lv6SzGate | 45.147151% | 2884 | 6388 -d_a_obj_tp | 35.262726% | 3436 | 9744 -d_a_obj_swpush | 31.657104% | 3752 | 11852 -d_a_obj_lv4Gate | 48.863636% | 2064 | 4224 -d_a_obj_ito | 30.588925% | 4176 | 13652 -d_a_obj_master_sword | 43.575419% | 2808 | 6444 -d_a_obj_carry | 29.827071% | 18352 | 61528 -d_a_obj_myogan | 51.677852% | 1848 | 3576 -d_a_obj_toby | 32.460733% | 3720 | 11460 -d_a_obj_lv5FloorBoard | 47.577093% | 2592 | 5448 -d_a_obj_smallkey | 31.464798% | 3772 | 11988 -d_a_obj_rfHole | 43.621701% | 2380 | 5456 -d_a_obj_tornado | 36.577869% | 1428 | 3904 -d_a_obj_rope_bridge | 36.903633% | 4672 | 12660 -d_a_obj_zraMark | 34.016942% | 3052 | 8972 -d_a_obj_ss_item | 38.313378% | 2944 | 7684 -d_a_obj_laundry | 39.077103% | 2676 | 6848 -d_a_obj_lv4chandelier | 26.284971% | 4848 | 18444 -d_a_obj_Lv5Key | 37.172105% | 2324 | 6252 -d_a_obj_zdoor | 45.037688% | 2868 | 6368 -d_a_obj_kage | 50.520833% | 1164 | 2304 -d_a_obj_magLift | 41.319181% | 2180 | 5276 -d_a_obj_timeFire | 43.483146% | 1548 | 3560 -d_a_obj_mie | 34.891676% | 3672 | 10524 -d_a_obj_octhashi | 35.325420% | 3452 | 9772 -d_a_obj_onsenFire | 61.419753% | 796 | 1296 -d_a_obj_cb | 43.008475% | 2436 | 5664 -d_a_obj_poTbox | 44.731739% | 2768 | 6188 -d_a_obj_kbacket | 33.053127% | 3932 | 11896 -d_a_obj_lv4prelvtr | 48.664688% | 1312 | 2696 -d_a_obj_ihasi | 43.372216% | 1636 | 3772 -d_a_obj_pdwall | 40.192308% | 1672 | 4160 -d_a_obj_web1 | 100.000000% | 5772 | 5772 -d_a_obj_hfuta | 39.073970% | 2768 | 7084 -d_a_obj_lv2candle | 38.160920% | 2656 | 6960 -d_a_obj_wood_pendulum | 44.455748% | 1748 | 3932 -d_a_obj_onsen | 49.239281% | 1424 | 2892 -d_a_obj_hasu2 | 41.190476% | 1384 | 3360 -d_a_obj_catdoor | 82.338611% | 2704 | 3284 -d_a_obj_bkdoor | 45.847554% | 1612 | 3516 -d_a_obj_mgate | 47.398844% | 1968 | 4152 -d_a_obj_ganonwall2 | 41.938675% | 1696 | 4044 -d_a_obj_hakai_brl | 40.491284% | 2044 | 5048 -d_a_obj_lp | 29.557762% | 2620 | 8864 -d_a_obj_gadget | 34.371565% | 3752 | 10916 -d_a_obj_tornado2 | 30.997110% | 1716 | 5536 -d_a_obj_amiShutter | 42.478422% | 2756 | 6488 -d_a_obj_lv6egate | 42.456719% | 2060 | 4852 -d_a_obj_snow_soup | 37.025948% | 1484 | 4008 -d_a_obj_kabuto | 30.226537% | 5604 | 18540 -d_a_obj_treesh | 48.098664% | 1872 | 3892 -d_a_obj_cowdoor | 56.672761% | 1240 | 2188 -d_a_obj_mirror_sand | 46.972860% | 1800 | 3832 -d_a_obj_mirror_chain | 34.916201% | 3500 | 10024 -d_a_obj_mirror_screw | 40.374532% | 2156 | 5340 -d_a_obj_mirror_6pole | 49.656751% | 1736 | 3496 -d_a_obj_mirror_table | 38.664122% | 4052 | 10480 -d_a_npc_doc | 38.160961% | 8516 | 22316 -d_a_npc_tkc | 32.075472% | 7820 | 24380 -d_a_npc_aru | 34.812103% | 12932 | 37148 -d_a_npc_kolinb | 41.382827% | 8116 | 19612 -d_a_npc_knj | 41.627219% | 5628 | 13520 -d_a_npc_fish | 79.939819% | 3188 | 3988 -d_a_npc_raca | 38.792102% | 8016 | 20664 -d_a_npc_pachi_taro | 42.126544% | 15420 | 36604 -d_a_npc_rafrel | 29.654182% | 10736 | 36204 -d_a_npc_seirei | 39.691517% | 6176 | 15560 -d_a_npc_doorboy | 35.898009% | 6420 | 17884 -d_a_npc_zra | 24.569698% | 26608 | 108296 -d_a_npc_chin | 33.958357% | 11808 | 34772 -d_a_npc_zant | 38.262795% | 6220 | 16256 -d_a_npc_kkri | 38.042823% | 10092 | 26528 -d_a_npc_zelRo | 37.784656% | 6836 | 18092 -d_a_npc_zelR | 37.762547% | 6832 | 18092 -d_a_npc_ne | 24.204919% | 12360 | 51064 -d_a_npc_kasi_kyu | 33.587533% | 8104 | 24128 -d_a_npc_shop_maro | 53.691275% | 2880 | 5364 -d_a_npc_grs | 33.634658% | 7888 | 23452 -d_a_npc_lf | 39.566396% | 2336 | 5904 -d_a_npc_wrestler | 27.819607% | 28820 | 103596 -d_a_npc_grm | 38.118162% | 6968 | 18280 -d_a_npc_besu | 38.726854% | 19492 | 50332 -d_a_npc_yelia | 40.634175% | 13840 | 34060 -d_a_npc_bouS | 32.586831% | 9720 | 29828 -d_a_npc_kakashi | 39.139523% | 8988 | 22964 -d_a_npc_p2 | 100.000000% | 632 | 632 -d_a_npc_jagar | 33.736985% | 11924 | 35344 -d_a_npc_inko | 32.502352% | 2764 | 8504 -d_a_npc_len | 37.465709% | 11472 | 30620 -d_a_npc_moir | 28.712188% | 11656 | 40596 -d_a_npc_tkj2 | 28.985507% | 5520 | 19044 -d_a_npc_gro | 33.290996% | 9436 | 28344 -d_a_npc_kasi_mich | 33.749584% | 8108 | 24024 -d_a_npc_the | 34.936999% | 9760 | 27936 -d_a_npc_df | 35.418672% | 2944 | 8312 -d_a_npc_uri | 34.281392% | 13596 | 39660 -d_a_npc_grz | 31.010419% | 12620 | 40696 -d_a_npc_prayer | 36.469470% | 6140 | 16836 -d_a_npc_shop0 | 38.731379% | 3224 | 8324 -d_a_npc_bans | 34.954955% | 11640 | 33300 -d_a_npc_midp | 37.189356% | 6764 | 18188 -d_a_npc_bou | 36.186814% | 12800 | 35372 -d_a_npc_hanjo | 32.618297% | 14476 | 44380 -d_a_npc_fairy_seirei | 42.302956% | 5496 | 12992 -d_a_npc_du | 35.940410% | 3860 | 10740 -d_a_npc_sq | 39.651108% | 3364 | 8484 -d_a_npc_zrc | 32.120762% | 10384 | 32328 -d_a_npc_kdk | 100.000000% | 504 | 504 -d_a_npc_grc | 32.984636% | 8072 | 24472 -d_a_npc_fguard | 42.375887% | 2868 | 6768 -d_a_npc_ashB | 32.906995% | 8336 | 25332 -d_a_npc_kn | 34.989558% | 48252 | 137904 -d_a_npc_chat | 56.591640% | 32384 | 57224 -d_a_npc_ash | 31.737680% | 9892 | 31168 -d_a_npc_tr | 57.199682% | 2876 | 5028 -d_a_npc_blue_ns | 31.763122% | 7552 | 23776 -d_a_npc_yamid | 36.895778% | 7236 | 19612 -d_a_npc_zanb | 37.827310% | 6992 | 18484 -d_a_npc_tkj | 37.419769% | 6996 | 18696 -d_a_npc_shoe | 36.629002% | 6224 | 16992 -d_a_npc_hoz | 40.521518% | 14048 | 34668 -d_a_npc_pachi_maro | 38.260301% | 9360 | 24464 -d_a_npc_seid | 42.554557% | 5304 | 12464 -d_a_npc_pachi_besu | 42.797557% | 11492 | 26852 -d_a_npc_gwolf | 35.693780% | 11936 | 33440 -d_a_npc_grmc | 40.486016% | 7064 | 17448 -d_a_npc_fairy | 39.344262% | 19776 | 50264 -d_a_npc_gra | 30.387241% | 20120 | 66212 -d_a_npc_tks | 27.123246% | 14384 | 53032 -d_a_npc_ykm | 32.908526% | 20348 | 61832 -d_a_npc_clerka | 36.659479% | 7480 | 20404 -d_a_npc_coach | 28.195770% | 12052 | 42744 -d_a_npc_worm | 33.717579% | 2340 | 6940 -d_a_npc_grr | 33.284338% | 8152 | 24492 -d_a_npc_kolin | 35.754689% | 14412 | 40308 -d_a_npc_clerkt | 36.386139% | 7056 | 19392 -d_a_npc_grd | 33.161068% | 7700 | 23220 -d_a_npc_theB | 34.129794% | 9256 | 27120 -d_a_npc_toby | 35.857461% | 14168 | 39512 -d_a_npc_yamit | 36.693548% | 7280 | 19840 -d_a_npc_maro | 36.380572% | 21872 | 60120 -d_a_npc_ins | 30.852199% | 10412 | 33748 -d_a_npc_seira | 38.908741% | 11324 | 29104 -d_a_npc_post | 37.414676% | 10524 | 28128 -d_a_npc_passer2 | 37.528815% | 3256 | 8676 -d_a_npc_seib | 42.233442% | 5688 | 13468 -d_a_npc_mk | 100.000000% | 632 | 632 -d_a_npc_lud | 38.010021% | 12744 | 33528 -d_a_npc_drainSol | 38.587732% | 4328 | 11216 -d_a_npc_ykw | 33.875000% | 18428 | 54400 -d_a_npc_shad | 27.050485% | 14960 | 55304 -d_a_npc_soldierA | 34.996894% | 6760 | 19316 -d_a_npc_zrz | 31.977232% | 13708 | 42868 -d_a_npc_tk | 22.166176% | 12656 | 57096 -d_a_npc_soldierB | 35.587267% | 6484 | 18220 -d_a_npc_pouya | 40.447529% | 11424 | 28244 -d_a_npc_guard | 35.071398% | 6484 | 18488 -d_a_npc_yamis | 36.878425% | 7268 | 19708 -d_a_npc_sola | 39.560155% | 6116 | 15460 -d_a_npc_ks | 24.232793% | 27448 | 113268 -d_a_npc_taro | 38.152632% | 28996 | 76000 -d_a_npc_seira2 | 39.278557% | 10192 | 25948 -d_a_npc_henna0 | 100.000000% | 504 | 504 -d_a_npc_passer | 35.701424% | 8724 | 24436 -d_a_npc_moi | 34.114704% | 14728 | 43172 -d_a_npc_impal | 32.590326% | 8948 | 27456 -d_a_npc_kyury | 39.351296% | 9172 | 23308 -d_a_npc_saru | 39.289415% | 10616 | 27020 -d_a_npc_shaman | 40.368229% | 10612 | 26288 -d_a_npc_cdn3 | 34.686491% | 14184 | 40892 -d_a_npc_gnd | 36.965399% | 6880 | 18612 -d_a_npc_myna2 | 33.448276% | 8924 | 26680 -d_a_npc_kasi_hana | 29.810206% | 10492 | 35196 -d_a_npc_clerkb | 36.128920% | 8340 | 23084 -d_a_npc_zelda | 37.603569% | 7080 | 18828 -d_a_npc_henna | 27.446434% | 11836 | 43124 -d_a_npc_seic | 42.554557% | 5304 | 12464 -d_a_e_ws | 29.700483% | 6148 | 20700 +d_a_ep | 30.950696% | 5248 | 16956 +d_a_skip_2D | 100.000000% | 1332 | 1332 +d_a_kago | 24.588671% | 15124 | 61508 +d_a_hitobj | 62.682927% | 1028 | 1640 +d_a_swLBall | 33.651805% | 1268 | 3768 +d_a_ni | 27.299309% | 8216 | 30096 +d_a_sq | 35.488722% | 3776 | 10640 +d_a_vrbox | 48.327138% | 1040 | 2152 +d_a_andsw | 60.526316% | 644 | 1064 +d_a_warp_bug | 54.940711% | 1112 | 2024 +d_a_coach_fire | 44.050104% | 1688 | 3832 +d_a_movie_player | 23.696790% | 8328 | 35144 +d_a_izumi_gate | 57.729941% | 1180 | 2044 +d_a_shop_item | 43.088737% | 2020 | 4688 +d_a_L7op_demo_dr | 26.198715% | 4240 | 16184 +d_a_e_zs | 31.358336% | 3980 | 12692 +d_a_e_bg | 27.665091% | 7256 | 26228 +d_a_e_gob | 26.683396% | 10208 | 38256 +d_a_e_oc | 22.586920% | 11148 | 49356 +d_a_e_mm | 27.438612% | 4872 | 17756 +d_a_e_sg | 29.168221% | 6256 | 21448 +d_a_e_zh | 27.029865% | 9268 | 34288 +d_a_e_bu | 30.436573% | 5912 | 19424 +d_a_e_yd | 27.879315% | 7688 | 27576 +d_a_e_sm | 24.418880% | 8236 | 33728 +d_a_e_nz | 32.041969% | 4764 | 14868 +d_a_e_rdb | 27.331887% | 9576 | 35036 +d_a_e_gi | 30.183330% | 6388 | 21164 +d_a_e_fk | 32.965394% | 4420 | 13408 +d_a_e_mb | 29.067542% | 4252 | 14628 +d_a_e_ga | 43.014395% | 2032 | 4724 +d_a_e_bs | 32.320835% | 5448 | 16856 +d_a_e_hzelda | 30.097531% | 7900 | 26248 +d_a_e_rb | 30.197628% | 4584 | 15180 +d_a_e_bi_leaf | 50.446429% | 904 | 1792 +d_a_e_bee | 30.316629% | 4864 | 16044 +d_a_e_yg | 28.386013% | 7436 | 26196 +d_a_e_ww | 23.418134% | 10052 | 42924 +d_a_e_tk | 32.077326% | 3916 | 12208 +d_a_e_dn | 25.842869% | 13460 | 52084 +d_a_e_warpappear | 28.864569% | 4220 | 14620 +d_a_e_yc | 30.733107% | 4712 | 15332 +d_a_e_wb | 23.058129% | 20008 | 86772 +d_a_e_bi | 30.767563% | 5676 | 18448 +d_a_e_ymb | 23.798093% | 14672 | 61652 +d_a_e_dk | 29.244060% | 5416 | 18520 +d_a_e_sh | 30.953709% | 6660 | 21516 +d_a_e_arrow | 35.306882% | 4556 | 12904 +d_a_e_sb | 28.045789% | 5488 | 19568 +d_a_e_tk_ball | 33.349562% | 2740 | 8216 +d_a_e_st_line | 60.459770% | 1052 | 1740 +d_a_e_cr | 34.481521% | 3844 | 11148 d_a_e_ym | 20.062370% | 13896 | 69264 +d_a_e_mm_mt | 28.672856% | 4200 | 14648 +d_a_e_is | 31.728595% | 3928 | 12380 +d_a_e_gb | 26.939571% | 8292 | 30780 +d_a_e_hb | 27.624471% | 7568 | 27396 +d_a_e_sf | 29.821481% | 8152 | 27336 +d_a_e_fs | 31.823996% | 4976 | 15636 +d_a_e_ai | 28.308171% | 5100 | 18016 +d_a_e_rd | 24.121965% | 25632 | 106260 +d_a_e_ge | 24.669967% | 7176 | 29088 +d_a_e_fz | 30.508860% | 5372 | 17608 +d_a_e_sw | 21.949266% | 9864 | 44940 +d_a_e_st | 26.260013% | 12588 | 47936 +d_a_e_yh | 26.277603% | 9996 | 38040 +d_a_e_nest | 29.119005% | 5804 | 19932 +d_a_e_hz | 23.990326% | 7936 | 33080 +d_a_e_s1 | 28.078818% | 9804 | 34916 +d_a_e_hp | 28.231798% | 6840 | 24228 +d_a_e_ym_tag | 61.764706% | 672 | 1088 d_a_e_po | 23.824220% | 14204 | 59620 d_a_e_dt | 27.760631% | 12952 | 46656 -d_a_e_bi | 30.767563% | 5676 | 18448 -d_a_e_tk | 32.077326% | 3916 | 12208 -d_a_e_ai | 28.308171% | 5100 | 18016 -d_a_e_md | 34.917814% | 3144 | 9004 -d_a_e_tk2 | 33.419577% | 3100 | 9276 -d_a_e_fk | 32.965394% | 4420 | 13408 -d_a_e_db_leaf | 57.582938% | 972 | 1688 -d_a_e_ms | 28.208138% | 5768 | 20448 -d_a_e_cr_egg | 43.296089% | 1860 | 4296 -d_a_e_mb | 29.067542% | 4252 | 14628 -d_a_e_yc | 30.733107% | 4712 | 15332 -d_a_e_pz | 27.469575% | 13904 | 50616 -d_a_e_mm | 27.438612% | 4872 | 17756 -d_a_e_db | 26.006517% | 9896 | 38052 -d_a_e_rb | 30.197628% | 4584 | 15180 -d_a_e_s1 | 28.078818% | 9804 | 34916 -d_a_e_gm | 28.274812% | 10404 | 36796 -d_a_e_sh | 30.953709% | 6660 | 21516 -d_a_e_sw | 21.949266% | 9864 | 44940 -d_a_e_ph | 23.274129% | 5556 | 23872 -d_a_e_df | 28.031364% | 4004 | 14284 -d_a_e_hzelda | 30.097531% | 7900 | 26248 -d_a_e_hb | 27.624471% | 7568 | 27396 -d_a_e_sg | 29.168221% | 6256 | 21448 -d_a_e_kk | 27.161029% | 7516 | 27672 -d_a_e_yr | 27.591936% | 9964 | 36112 -d_a_e_bi_leaf | 50.446429% | 904 | 1792 -d_a_e_vt | 24.313702% | 16332 | 67172 -d_a_e_th_ball | 29.462631% | 5724 | 19428 -d_a_e_mm_mt | 28.672856% | 4200 | 14648 -d_a_e_bug | 29.207138% | 5172 | 17708 -d_a_e_sm2 | 30.097087% | 8184 | 27192 -d_a_e_ww | 23.418134% | 10052 | 42924 -d_a_e_dk | 29.244060% | 5416 | 18520 -d_a_e_dd | 26.687870% | 7384 | 27668 -d_a_e_ba | 28.140394% | 5484 | 19488 -d_a_e_yd | 27.879315% | 7688 | 27576 -d_a_e_kr | 27.652396% | 9508 | 34384 -d_a_e_hm | 27.299426% | 8180 | 29964 -d_a_e_zs | 31.358336% | 3980 | 12692 -d_a_e_rd | 24.121965% | 25632 | 106260 -d_a_e_fm | 24.588144% | 15164 | 61672 -d_a_e_hz | 23.990326% | 7936 | 33080 -d_a_e_is | 31.728595% | 3928 | 12380 -d_a_e_st_line | 60.459770% | 1052 | 1740 -d_a_e_pm | 21.505129% | 11236 | 52248 -d_a_e_oc | 22.586920% | 11148 | 49356 -d_a_e_rdy | 25.649401% | 19788 | 77148 -d_a_e_zh | 27.029865% | 9268 | 34288 -d_a_e_hp | 28.231798% | 6840 | 24228 -d_a_e_sb | 28.045789% | 5488 | 19568 d_a_e_mf | 25.211695% | 12624 | 50072 -d_a_e_gi | 30.183330% | 6388 | 21164 -d_a_e_bs | 32.320835% | 5448 | 16856 -d_a_e_nest | 29.119005% | 5804 | 19932 -d_a_e_rdb | 27.331887% | 9576 | 35036 -d_a_e_yh | 26.277603% | 9996 | 38040 -d_a_e_kg | 31.431080% | 4296 | 13668 -d_a_e_gs | 44.729606% | 1952 | 4364 -d_a_e_fs | 31.823996% | 4976 | 15636 -d_a_e_wb | 23.058129% | 20008 | 86772 -d_a_e_fz | 30.508860% | 5372 | 17608 -d_a_e_mk_bo | 29.776477% | 4476 | 15032 d_a_e_th | 29.463680% | 6944 | 23568 -d_a_e_ga | 43.014395% | 2032 | 4724 -d_a_e_st | 26.260013% | 12588 | 47936 -d_a_e_hb_leaf | 55.309735% | 1000 | 1808 -d_a_e_sf | 29.821481% | 8152 | 27336 +d_a_e_hm | 27.299426% | 8180 | 29964 +d_a_e_ba | 28.140394% | 5484 | 19488 d_a_e_tt | 27.836991% | 7104 | 25520 -d_a_e_ge | 24.669967% | 7176 | 29088 -d_a_e_arrow | 35.306882% | 4556 | 12904 -d_a_e_yk | 29.001484% | 5472 | 18868 -d_a_e_nz | 32.041969% | 4764 | 14868 -d_a_e_fb | 31.127328% | 4948 | 15896 -d_a_e_warpappear | 28.864569% | 4220 | 14620 -d_a_e_ot | 32.497589% | 5392 | 16592 -d_a_e_zm | 28.267015% | 5200 | 18396 -d_a_e_sm | 24.418880% | 8236 | 33728 -d_a_e_ymb | 23.798093% | 14672 | 61652 -d_a_e_gob | 26.683396% | 10208 | 38256 +d_a_e_gm | 28.274812% | 10404 | 36796 d_a_e_oct_bg | 30.217151% | 6568 | 21736 -d_a_e_yg | 28.386013% | 7436 | 26196 -d_a_e_tk_ball | 33.349562% | 2740 | 8216 -d_a_e_bee | 30.316629% | 4864 | 16044 -d_a_e_ym_tag | 61.764706% | 672 | 1088 -d_a_e_gb | 26.939571% | 8292 | 30780 -d_a_e_mk | 25.747187% | 11716 | 45504 -d_a_e_dn | 25.842869% | 13460 | 52084 -d_a_e_cr | 34.481521% | 3844 | 11148 +d_a_e_mk_bo | 29.776477% | 4476 | 15032 +d_a_e_ws | 29.700483% | 6148 | 20700 +d_a_e_vt | 24.313702% | 16332 | 67172 +d_a_e_tk2 | 33.419577% | 3100 | 9276 +d_a_e_bug | 29.207138% | 5172 | 17708 +d_a_e_cr_egg | 43.296089% | 1860 | 4296 +d_a_e_pz | 27.469575% | 13904 | 50616 +d_a_e_ph | 23.274129% | 5556 | 23872 +d_a_e_rdy | 25.649401% | 19788 | 77148 +d_a_e_yr | 27.591936% | 9964 | 36112 +d_a_e_db | 26.006517% | 9896 | 38052 +d_a_e_hb_leaf | 55.309735% | 1000 | 1808 +d_a_e_df | 28.031364% | 4004 | 14284 +d_a_e_yk | 29.001484% | 5472 | 18868 +d_a_e_md | 34.917814% | 3144 | 9004 +d_a_e_sm2 | 30.097087% | 8184 | 27192 +d_a_e_ot | 32.497589% | 5392 | 16592 +d_a_e_kk | 27.161029% | 7516 | 27672 +d_a_e_kr | 27.652396% | 9508 | 34384 +d_a_e_ms | 28.208138% | 5768 | 20448 +d_a_e_fm | 24.588144% | 15164 | 61672 +d_a_e_fb | 31.127328% | 4948 | 15896 +d_a_e_pm | 21.505129% | 11236 | 52248 +d_a_e_dd | 26.687870% | 7384 | 27668 d_a_e_yd_leaf | 54.022989% | 1128 | 2088 -d_a_e_bu | 30.436573% | 5912 | 19424 -d_a_e_bg | 27.665091% | 7256 | 26228 -d_a_b_bh | 24.452445% | 6520 | 26664 -d_a_b_yo_ice | 28.297953% | 5972 | 21104 -d_a_b_dre | 27.912731% | 4964 | 17784 -d_a_b_yo | 25.613486% | 14404 | 56236 -d_a_b_gnd | 25.489573% | 19264 | 75576 -d_a_b_oh | 32.611348% | 4276 | 13112 -d_a_b_go | 44.671347% | 2800 | 6268 -d_a_b_zant_magic | 42.453480% | 2464 | 5804 -d_a_b_tn | 24.850960% | 21176 | 85212 +d_a_e_zm | 28.267015% | 5200 | 18396 +d_a_e_th_ball | 29.462631% | 5724 | 19428 +d_a_e_mk | 25.747187% | 11716 | 45504 +d_a_e_gs | 44.729606% | 1952 | 4364 +d_a_e_db_leaf | 57.582938% | 972 | 1688 +d_a_e_kg | 31.431080% | 4296 | 13668 +d_a_kytag03 | 23.399898% | 1828 | 7812 +d_a_kytag00 | 33.522084% | 2368 | 7064 +d_a_kytag02 | 54.888889% | 988 | 1800 +d_a_kytag07 | 60.062893% | 764 | 1272 +d_a_kytag14 | 100.000000% | 1408 | 1408 +d_a_kytag11 | 52.643172% | 956 | 1816 +d_a_kytag04 | 36.357481% | 2148 | 5908 +d_a_kytag13 | 30.696576% | 2080 | 6776 +d_a_kytag05 | 100.000000% | 816 | 816 +d_a_kytag15 | 49.443561% | 1244 | 2516 +d_a_kytag01 | 35.156250% | 1260 | 3584 +d_a_kytag08 | 31.379026% | 1520 | 4844 +d_a_kytag09 | 49.936948% | 1584 | 3172 +d_a_kytag17 | 86.170213% | 648 | 752 +d_a_kytag16 | 47.212544% | 1084 | 2296 +d_a_kytag12 | 20.217129% | 3352 | 16580 +d_a_kytag06 | 31.287129% | 4424 | 14140 +d_a_kytag10 | 31.720430% | 944 | 2976 +d_a_tag_setrestart | 96.739130% | 1780 | 1840 +d_a_tag_TWgate | 53.384834% | 10504 | 19676 +d_a_tag_sppath | 33.333333% | 2040 | 6120 +d_a_tag_ss_drink | 36.483740% | 1436 | 3936 +d_a_tag_myna_light | 36.747759% | 1148 | 3124 +d_a_tag_hstop | 100.000000% | 3424 | 3424 +d_a_tag_evt | 37.815126% | 1620 | 4284 +d_a_tag_wljump | 30.777538% | 1140 | 3704 +d_a_tag_waterfall | 46.361502% | 1580 | 3408 +d_a_tag_statue_evt | 38.427948% | 2816 | 7328 +d_a_tag_kago_fall | 34.469328% | 1416 | 4108 +d_a_tag_watchge | 61.290323% | 760 | 1240 +d_a_tag_guard | 54.421769% | 640 | 1176 +d_a_tag_evtmsg | 39.491150% | 1428 | 3616 +d_a_tag_attention | 50.000000% | 1012 | 2024 +d_a_tag_gstart | 100.000000% | 1208 | 1208 +d_a_tag_qs | 34.804270% | 1956 | 5620 +d_a_tag_shop_item | 41.944848% | 1156 | 2756 +d_a_tag_ajnot | 56.493506% | 696 | 1232 +d_a_tag_csw | 35.869565% | 3696 | 10304 +d_a_tag_instruction | 100.000000% | 712 | 712 +d_a_tag_event | 31.075697% | 1248 | 4016 +d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204 +d_a_tag_gra | 76.000000% | 608 | 800 +d_a_tag_lightball | 46.212121% | 976 | 2112 +d_a_tag_push | 41.000000% | 1148 | 2800 +d_a_tag_kmsg | 32.037997% | 1484 | 4632 +d_a_tag_cstasw | 51.406250% | 1316 | 2560 +d_a_tag_Lv8Gate | 43.347193% | 1668 | 3848 +d_a_tag_schedule | 82.022472% | 584 | 712 +d_a_tag_smk_emt | 50.127226% | 788 | 1572 +d_a_tag_attack_item | 43.212237% | 1808 | 4184 +d_a_tag_setBall | 100.000000% | 880 | 880 +d_a_tag_pachi | 51.107595% | 1292 | 2528 +d_a_tag_arena | 82.022472% | 584 | 712 +d_a_tag_shop_camera | 62.541806% | 748 | 1196 +d_a_tag_firewall | 35.325132% | 1608 | 4552 +d_a_tag_lv5soup | 100.000000% | 1908 | 1908 +d_a_tag_poFire | 63.270142% | 1068 | 1688 +d_a_tag_telop | 100.000000% | 1040 | 1040 +d_a_tag_Lv6Gate | 39.281576% | 2712 | 6904 +d_a_tag_stream | 49.729730% | 736 | 1480 +d_a_tag_howl | 46.934461% | 888 | 1892 +d_a_tag_wara_howl | 100.000000% | 1420 | 1420 +d_a_tag_mmsg | 100.000000% | 1960 | 1960 +d_a_tag_river_back | 45.725916% | 1348 | 2948 +d_a_tag_theB_hint | 67.253521% | 764 | 1136 +d_a_tag_lantern | 52.013423% | 1240 | 2384 +d_a_tag_lv6CstaSw | 51.406250% | 1316 | 2560 +d_a_tag_mhint | 35.576923% | 1332 | 3744 +d_a_tag_hjump | 40.841584% | 1320 | 3232 +d_a_tag_bottle_item | 38.554217% | 1024 | 2656 +d_a_tag_mist | 43.436293% | 900 | 2072 +d_a_tag_spring | 45.780591% | 868 | 1896 +d_a_tag_lv2prchk | 35.734870% | 992 | 2776 +d_a_tag_msg | 37.563971% | 1468 | 3908 +d_a_tag_myna2 | 47.260274% | 828 | 1752 +d_a_tag_Lv7Gate | 34.752224% | 2188 | 6296 +d_a_tag_hinit | 100.000000% | 1440 | 1440 +d_a_tag_allmato | 30.234070% | 3720 | 12304 +d_a_tag_camera | 37.023593% | 1632 | 4408 +d_a_tag_chkpoint | 39.852399% | 864 | 2168 +d_a_tag_magne | 100.000000% | 928 | 928 +d_a_tag_assistance | 76.699029% | 632 | 824 +d_a_tag_chgrestart | 48.868778% | 864 | 1768 +d_a_tag_ret_room | 49.168646% | 828 | 1684 +d_a_tag_spinner | 45.850622% | 884 | 1928 +d_a_tag_evtarea | 37.091319% | 1316 | 3548 +d_a_tag_yami | 42.650334% | 1532 | 3592 +d_a_tag_escape | 100.000000% | 712 | 712 +d_a_tag_mwait | 35.082873% | 1016 | 2896 +d_a_tag_mstop | 36.151961% | 1180 | 3264 +d_a_obj_oiltubo | 40.168244% | 3056 | 7608 +d_a_obj_goGate | 48.046181% | 2164 | 4504 +d_a_obj_master_sword | 43.575419% | 2808 | 6444 +d_a_obj_glowSphere | 38.917749% | 3596 | 9240 +d_a_obj_sm_door | 39.302885% | 2616 | 6656 +d_a_obj_msima | 35.108959% | 3480 | 9912 +d_a_obj_grz_rock | 45.558087% | 1600 | 3512 +d_a_obj_warp_kbrg | 34.066524% | 5080 | 14912 +d_a_obj_bky_rock | 35.592460% | 3172 | 8912 +d_a_obj_zra_freeze | 37.662338% | 1624 | 4312 +d_a_obj_fw | 43.368592% | 2132 | 4916 +d_a_obj_iceleaf | 37.604212% | 3428 | 9116 +d_a_obj_waterfall | 34.033613% | 2268 | 6664 +d_a_obj_digholl | 42.781690% | 972 | 2272 +d_a_obj_lv4prelvtr | 48.664688% | 1312 | 2696 +d_a_obj_lv4PoGate | 44.906743% | 2504 | 5576 +d_a_obj_kkanban | 47.103514% | 1984 | 4212 +d_a_obj_well_cover | 45.704467% | 1596 | 3492 +d_a_obj_carry | 29.827071% | 18352 | 61528 +d_a_obj_rock | 40.423729% | 1908 | 4720 +d_a_obj_yel_bag | 33.773087% | 3584 | 10612 +d_a_obj_kbox | 35.736196% | 3728 | 10432 +d_a_obj_prop | 47.868217% | 988 | 2064 +d_a_obj_gra_rock | 37.947123% | 2928 | 7716 +d_a_obj_ganonwall2 | 41.938675% | 1696 | 4044 +d_a_obj_lv4Gate | 48.863636% | 2064 | 4224 +d_a_obj_syRock | 38.458961% | 4592 | 11940 +d_a_obj_web1 | 100.000000% | 5772 | 5772 +d_a_obj_sekidoor | 43.834383% | 1948 | 4444 +d_a_obj_lv6TogeRoll | 35.933806% | 4256 | 11844 +d_a_obj_groundwater | 40.823478% | 3728 | 9132 +d_a_obj_lv6elevta | 39.452780% | 1788 | 4532 +d_a_obj_stonemark | 52.549020% | 1072 | 2040 +d_a_obj_life_container | 34.456243% | 3764 | 10924 +d_a_obj_lv4bridge | 47.146866% | 2016 | 4276 +d_a_obj_lv2candle | 38.160920% | 2656 | 6960 +d_a_obj_kgate | 35.192216% | 5932 | 16856 +d_a_obj_lv7PropellerY | 41.738506% | 2324 | 5568 +d_a_obj_wchain | 31.823745% | 3120 | 9804 +d_a_obj_damCps | 100.000000% | 504 | 504 +d_a_obj_lv5yiblltray | 33.403583% | 3804 | 11388 +d_a_obj_lv4prwall | 38.593750% | 1976 | 5120 +d_a_obj_kazeneko | 45.277127% | 2320 | 5124 +d_a_obj_picture | 35.041841% | 4020 | 11472 +d_a_obj_poTbox | 44.731739% | 2768 | 6188 +d_a_obj_catdoor | 82.338611% | 2704 | 3284 +d_a_obj_pillar | 38.500852% | 3616 | 9392 +d_a_obj_firepillar2 | 32.320564% | 2936 | 9084 +d_a_obj_kznkarm | 35.088583% | 2852 | 8128 +d_a_obj_tgake | 49.302326% | 1272 | 2580 +d_a_obj_tornado | 36.577869% | 1428 | 3904 +d_a_obj_hfuta | 39.073970% | 2768 | 7084 +d_a_obj_lbox | 47.423510% | 2356 | 4968 +d_a_obj_hakai_brl | 40.491284% | 2044 | 5048 +d_a_obj_myogan | 51.677852% | 1848 | 3576 +d_a_obj_stopper | 31.675996% | 3848 | 12148 +d_a_obj_rfHole | 43.621701% | 2380 | 5456 +d_a_obj_hata | 39.059081% | 1428 | 3656 +d_a_obj_ito | 30.588925% | 4176 | 13652 +d_a_obj_lv7bridge | 39.684569% | 3724 | 9384 +d_a_obj_lv7BsGate | 48.080279% | 2204 | 4584 +d_a_obj_lv8Lift | 35.532359% | 3404 | 9580 +d_a_obj_klift00 | 37.650457% | 3128 | 8308 +d_a_obj_scannon_crs | 35.204678% | 3612 | 10260 +d_a_obj_window | 42.655602% | 2056 | 4820 +d_a_obj_balloon | 42.722710% | 2724 | 6376 +d_a_obj_enemy_create | 100.000000% | 2828 | 2828 +d_a_obj_pdoor | 37.254902% | 1900 | 5100 +d_a_obj_nougu | 42.325581% | 2548 | 6020 +d_a_obj_ihasi | 43.372216% | 1636 | 3772 +d_a_obj_zraMark | 34.016942% | 3052 | 8972 +d_a_obj_heavySw | 41.214623% | 2796 | 6784 +d_a_obj_flag2 | 46.370840% | 5852 | 12620 +d_a_obj_kita | 40.112090% | 2004 | 4996 +d_a_obj_poCandle | 44.244604% | 2460 | 5560 +d_a_obj_barDesk | 49.477072% | 2460 | 4972 +d_a_obj_Lv5Key | 37.172105% | 2324 | 6252 +d_a_obj_lv4RailWall | 41.496973% | 3016 | 7268 +d_a_obj_bmWindow | 38.757933% | 3420 | 8824 +d_a_obj_kshutter | 35.690936% | 4804 | 13460 +d_a_obj_lv4floor | 49.786020% | 1396 | 2804 +d_a_obj_ice_l | 34.815373% | 1848 | 5308 +d_a_obj_iceblock | 32.744340% | 4744 | 14488 +d_a_obj_hhashi | 33.138856% | 3408 | 10284 +d_a_obj_bbox | 48.606466% | 1744 | 3588 +d_a_obj_maki | 45.531587% | 2364 | 5192 +d_a_obj_lv3waterEff | 48.122066% | 820 | 1704 +d_a_obj_lv4EdShutter | 45.846154% | 2384 | 5200 +d_a_obj_ikada | 40.697674% | 1960 | 4816 +d_a_obj_wood_statue | 36.601579% | 3524 | 9628 +d_a_obj_crope | 26.014689% | 2692 | 10348 +d_a_obj_swLight | 40.346767% | 3444 | 8536 +d_a_obj_bsGate | 48.010850% | 2124 | 4424 +d_a_obj_lv5ychndlr | 40.267765% | 3128 | 7768 +d_a_obj_lv1Candle00 | 41.348158% | 2380 | 5756 +d_a_obj_lv1Candle01 | 44.344569% | 2368 | 5340 +d_a_obj_ki | 41.573034% | 2220 | 5340 +d_a_obj_gomikabe | 37.032799% | 3884 | 10488 +d_a_obj_lv8OptiLift | 35.768374% | 3212 | 8980 +d_a_obj_swBallC | 41.458222% | 3116 | 7516 +d_a_obj_gadget | 34.371565% | 3752 | 10916 +d_a_obj_twGate | 57.395498% | 2856 | 4976 +d_a_obj_tombo | 33.688640% | 4804 | 14260 +d_a_obj_lv6SwGate | 40.186916% | 3784 | 9416 +d_a_obj_mie | 34.891676% | 3672 | 10524 +d_a_obj_smw_stone | 40.435606% | 1708 | 4224 +d_a_obj_h_saku | 37.610063% | 2392 | 6360 +d_a_obj_riverrock | 37.311178% | 2964 | 7944 +d_a_obj_fallobj | 31.929604% | 2032 | 6364 +d_a_obj_crvlh_down | 42.363776% | 2208 | 5212 +d_a_obj_bombf | 46.875000% | 1020 | 2176 +d_a_obj_ita | 42.717855% | 2804 | 6564 +d_a_obj_toaru_maki | 46.596067% | 1232 | 2644 +d_a_obj_lv6egate | 42.456719% | 2060 | 4852 +d_a_obj_lv3Candle | 45.638126% | 2260 | 4952 +d_a_obj_tatigi | 40.549020% | 2068 | 5100 +d_a_obj_geyser | 29.678068% | 3540 | 11928 +d_a_obj_lv3Water | 44.263566% | 4568 | 10320 +d_a_obj_lv6TogeTrap | 34.484536% | 5352 | 15520 +d_a_obj_wsword | 48.936170% | 1380 | 2820 +d_a_obj_stairBlock | 45.129643% | 2576 | 5708 +d_a_obj_fmobj | 55.200000% | 1104 | 2000 +d_a_obj_firepillar | 43.032015% | 1828 | 4248 +d_a_obj_suisya | 49.914821% | 1172 | 2348 +d_a_obj_web0 | 75.286533% | 4204 | 5584 +d_a_obj_swpush2 | 34.150019% | 3624 | 10612 +d_a_obj_wflag | 41.214286% | 2308 | 5600 +d_a_obj_hb | 29.310936% | 3420 | 11668 +d_a_obj_zra_rock | 45.394112% | 1912 | 4212 +d_a_obj_crvsteel | 48.717949% | 1520 | 3120 +d_a_obj_itamato | 38.072602% | 3524 | 9256 +d_a_obj_lv8KekkaiTrap | 49.367089% | 2028 | 4108 +d_a_obj_kwheel00 | 40.352811% | 2928 | 7256 +d_a_obj_crvgate | 27.603513% | 4400 | 15940 +d_a_obj_tornado2 | 30.997110% | 1716 | 5536 +d_a_obj_eff | 73.504274% | 688 | 936 +d_a_obj_bk_leaf | 41.935484% | 1144 | 2728 +d_a_obj_chandelier | 36.773256% | 2024 | 5504 +d_a_obj_togeTrap | 41.746183% | 3500 | 8384 +d_a_obj_testcube | 100.000000% | 504 | 504 +d_a_obj_sekizo | 53.625171% | 1568 | 2924 +d_a_obj_swhang | 38.446450% | 3920 | 10196 +d_a_obj_sakuita_rope | 30.817009% | 2580 | 8372 +d_a_obj_bhbridge | 39.936609% | 2016 | 5048 +d_a_obj_fireWood | 44.125561% | 1968 | 4460 +d_a_obj_nan | 33.293811% | 5616 | 16868 +d_a_obj_lv3Water2 | 41.786571% | 2788 | 6672 +d_a_obj_ten | 30.064631% | 5396 | 17948 +d_a_obj_fireWood2 | 41.290323% | 2304 | 5580 +d_a_obj_pleaf | 44.689221% | 2272 | 5084 +d_a_obj_rgate | 36.466069% | 5696 | 15620 +d_a_obj_knBullet | 43.076923% | 1568 | 3640 +d_a_obj_treesh | 48.098664% | 1872 | 3892 +d_a_obj_automata | 40.573951% | 3676 | 9060 +d_a_obj_ornament_cloth | 38.734568% | 2008 | 5184 +d_a_obj_kbacket | 33.053127% | 3932 | 11896 +d_a_obj_avalanche | 41.881443% | 2600 | 6208 +d_a_obj_vground | 44.817927% | 1280 | 2856 +d_a_obj_crvfence | 37.146893% | 3156 | 8496 +d_a_obj_kantera | 37.623762% | 2432 | 6464 +d_a_obj_brg | 22.881356% | 6696 | 29264 +d_a_obj_ss_item | 38.313378% | 2944 | 7684 +d_a_obj_scannon_ten | 37.738049% | 3884 | 10292 +d_a_obj_cwall | 30.455195% | 5968 | 19596 +d_a_obj_sw | 27.590884% | 4068 | 14744 +d_a_obj_sakuita | 43.573382% | 1912 | 4388 +d_a_obj_rstair | 37.354086% | 2688 | 7196 +d_a_obj_metalbox | 50.268097% | 1500 | 2984 +d_a_obj_octhashi | 35.325420% | 3452 | 9772 +d_a_obj_dust | 40.406977% | 2224 | 5504 +d_a_obj_hsTarget | 57.317073% | 1504 | 2624 +d_a_obj_timer | 46.691176% | 1016 | 2176 +d_a_obj_graWall | 55.725191% | 1168 | 2096 +d_a_obj_lv4chandelier | 26.284971% | 4848 | 18444 +d_a_obj_rw | 41.210834% | 3104 | 7532 +d_a_obj_zdoor | 45.037688% | 2868 | 6368 +d_a_obj_spinLift | 41.107692% | 2672 | 6500 +d_a_obj_lv9SwShutter | 48.128342% | 2160 | 4488 +d_a_obj_bemos | 32.943081% | 10580 | 32116 +d_a_obj_bkdoor | 45.847554% | 1612 | 3516 +d_a_obj_takaraDai | 46.376812% | 2304 | 4968 +d_a_obj_food | 36.994728% | 3368 | 9104 +d_a_obj_kago | 31.956798% | 4024 | 12592 +d_a_obj_crystal | 44.482173% | 1048 | 2356 +d_a_obj_warp_obrg | 34.784076% | 4124 | 11856 +d_a_obj_lv6swturn | 36.266259% | 1896 | 5228 +d_a_obj_ganonwall | 38.930481% | 1456 | 3740 +d_a_obj_onsen | 49.239281% | 1424 | 2892 +d_a_obj_ndoor | 51.957831% | 1380 | 2656 +d_a_obj_poFire | 36.999540% | 3216 | 8692 +d_a_obj_grave_stone | 42.700730% | 2340 | 5480 +d_a_obj_timeFire | 43.483146% | 1548 | 3560 +d_a_obj_brakeeff | 45.417515% | 1784 | 3928 +d_a_obj_rotTrap | 45.877144% | 3316 | 7228 +d_a_obj_burnbox | 45.251397% | 1620 | 3580 +d_a_obj_kabuto | 30.226537% | 5604 | 18540 +d_a_obj_wood_pendulum | 44.455748% | 1748 | 3932 +d_a_obj_wind_stone | 37.702265% | 1864 | 4944 +d_a_obj_tks | 34.669261% | 7128 | 20560 +d_a_obj_lv5FloorBoard | 47.577093% | 2592 | 5448 +d_a_obj_cblock | 42.294713% | 3008 | 7112 +d_a_obj_snow_soup | 37.025948% | 1484 | 4008 +d_a_obj_movebox | 36.691330% | 7736 | 21084 +d_a_obj_inobone | 42.361111% | 1952 | 4608 +d_a_obj_lv4digsand | 43.888433% | 2140 | 4876 +d_a_obj_flag | 37.518248% | 2056 | 5480 +d_a_obj_smgdoor | 41.383095% | 3016 | 7288 +d_a_obj_flag3 | 33.292929% | 3296 | 9900 +d_a_obj_gptaru | 33.238231% | 4660 | 14020 +d_a_obj_onsenFire | 61.419753% | 796 | 1296 +d_a_obj_so | 31.698636% | 6412 | 20228 +d_a_obj_volcbom | 32.897713% | 5236 | 15916 +d_a_obj_nameplate | 39.726962% | 2328 | 5860 +d_a_obj_ice_s | 35.446009% | 2416 | 6816 +d_a_obj_ladder | 42.348485% | 2236 | 5280 +d_a_obj_zrTurara | 43.437672% | 3164 | 7284 +d_a_obj_drop | 30.227416% | 3828 | 12664 +d_a_obj_swpropeller | 39.765679% | 2308 | 5804 +d_a_obj_Turara | 38.494412% | 4684 | 12168 +d_a_obj_lv6SzGate | 45.147151% | 2884 | 6388 +d_a_obj_szbridge | 43.280632% | 1752 | 4048 +d_a_obj_table | 45.544554% | 1656 | 3636 +d_a_obj_lv6Tenbin | 40.000000% | 2848 | 7120 +d_a_obj_gra2 | 24.809250% | 21200 | 85452 +d_a_obj_pdwall | 40.192308% | 1672 | 4160 +d_a_obj_kuwagata | 30.226537% | 5604 | 18540 +d_a_obj_fan | 39.173554% | 2844 | 7260 +d_a_obj_gm | 35.212957% | 4696 | 13336 +d_a_obj_smtile | 35.912938% | 2376 | 6616 +d_a_obj_ss_drink | 36.026542% | 3692 | 10248 +d_a_obj_saidan | 50.210970% | 1904 | 3792 +d_a_obj_swBallA | 35.803945% | 2396 | 6692 +d_a_obj_ystone | 42.824944% | 2280 | 5324 +d_a_obj_cowdoor | 56.672761% | 1240 | 2188 +d_a_obj_lv4CandleTag | 50.114416% | 1752 | 3496 +d_a_obj_ari | 31.622322% | 5372 | 16988 +d_a_obj_stopper2 | 38.987342% | 1848 | 4740 +d_a_obj_rotBridge | 43.430152% | 2512 | 5784 +d_a_obj_dmelevator | 35.600390% | 4376 | 12292 +d_a_obj_lv4SlideWall | 48.954373% | 2060 | 4208 +d_a_obj_kwheel01 | 41.610233% | 2212 | 5316 +d_a_obj_yousei | 27.926623% | 4628 | 16572 +d_a_obj_mhole | 35.548173% | 2140 | 6020 +d_a_obj_cho | 33.555219% | 4436 | 13220 +d_a_obj_batta | 31.886560% | 5172 | 16220 +d_a_obj_sekizoa | 32.789446% | 15112 | 46088 +d_a_obj_lv6bemos2 | 32.122093% | 7072 | 22016 +d_a_obj_rcircle | 43.989432% | 1332 | 3028 +d_a_obj_lv6bemos | 42.081031% | 3656 | 8688 +d_a_obj_onsenTaru | 38.567616% | 3468 | 8992 +d_a_obj_kamakiri | 30.171107% | 5572 | 18468 +d_a_obj_digplace | 35.129068% | 1252 | 3564 +d_a_obj_amiShutter | 42.478422% | 2756 | 6488 +d_a_obj_lv6FurikoTrap | 45.967742% | 2736 | 5952 +d_a_obj_crvlh_up | 42.485784% | 2092 | 4924 +d_a_obj_laundry | 39.077103% | 2676 | 6848 +d_a_obj_swspinner | 39.141631% | 1824 | 4660 +d_a_obj_stone | 26.135237% | 5272 | 20172 +d_a_obj_lv4gear | 42.242704% | 1100 | 2604 +d_a_obj_mgate | 47.398844% | 1968 | 4152 +d_a_obj_swpush5 | 39.210384% | 2900 | 7396 +d_a_obj_digsnow | 44.813278% | 2160 | 4820 +d_a_obj_yobikusa | 39.095993% | 3356 | 8584 +d_a_obj_lv4CandleDemoTag | 46.972860% | 1800 | 3832 +d_a_obj_lv5SwIce | 46.408046% | 2584 | 5568 +d_a_obj_pdtile | 31.467607% | 2856 | 9076 +d_a_obj_cboard | 57.703927% | 1528 | 2648 +d_a_obj_lv8UdFloor | 39.681529% | 2492 | 6280 +d_a_obj_kanban2 | 30.775877% | 7124 | 23148 +d_a_obj_lv4HsTarget | 58.333333% | 1428 | 2448 +d_a_obj_key | 33.145009% | 3520 | 10620 +d_a_obj_scannon | 35.209799% | 5404 | 15348 +d_a_obj_waterGate | 47.279550% | 2016 | 4264 +d_a_obj_thashi | 49.534161% | 3828 | 7728 +d_a_obj_cb | 43.008475% | 2436 | 5664 +d_a_obj_keyhole | 33.394883% | 5064 | 15164 +d_a_obj_hakai_ftr | 42.324888% | 2272 | 5368 +d_a_obj_swpush | 31.657104% | 3752 | 11852 +d_a_obj_swturn | 31.295716% | 2396 | 7656 +d_a_obj_lv4sand | 46.461825% | 1996 | 4296 +d_a_obj_ktonfire | 45.504087% | 2004 | 4404 +d_a_obj_wdStick | 32.908234% | 4748 | 14428 +d_a_obj_kag | 32.055503% | 5452 | 17008 +d_a_obj_hasu2 | 41.190476% | 1384 | 3360 +d_a_obj_swchain | 24.473297% | 3996 | 16328 +d_a_obj_pumpkin | 29.152971% | 4612 | 15820 +d_a_obj_swallshutter | 41.268759% | 2420 | 5864 +d_a_obj_chest | 39.833795% | 2876 | 7220 +d_a_obj_kaisou | 41.645729% | 2652 | 6368 +d_a_obj_sword | 45.479963% | 1952 | 4292 +d_a_obj_thdoor | 39.419319% | 2824 | 7164 +d_a_obj_hbombkoya | 47.549020% | 3104 | 6528 +d_a_obj_lv5IceWall | 39.937435% | 3064 | 7672 +d_a_obj_stick | 43.708609% | 2376 | 5436 +d_a_obj_udoor | 49.156627% | 1632 | 3320 +d_a_obj_taFence | 41.279360% | 3304 | 8004 +d_a_obj_nagaisu | 37.130271% | 2360 | 6356 +d_a_obj_mvstair | 35.209479% | 3328 | 9452 +d_a_obj_roten | 41.613588% | 1568 | 3768 +d_a_obj_crvhahen | 37.120623% | 1908 | 5140 +d_a_obj_tp | 35.262726% | 3436 | 9744 +d_a_obj_tobyhouse | 34.586466% | 3864 | 11172 +d_a_obj_Y_taihou | 37.379068% | 3400 | 9096 +d_a_obj_bubblePilar | 44.760583% | 2580 | 5764 +d_a_obj_usaku | 55.081301% | 1084 | 1968 +d_a_obj_bosswarp | 39.728243% | 4912 | 12364 +d_a_obj_lp | 29.557762% | 2620 | 8864 +d_a_obj_rope_bridge | 36.903633% | 4672 | 12660 +d_a_obj_lv3saka00 | 50.576369% | 1404 | 2776 +d_a_obj_katatsumuri | 31.170697% | 5208 | 16708 +d_a_obj_mato | 37.093023% | 2552 | 6880 +d_a_obj_dan | 35.198921% | 4176 | 11864 +d_a_obj_TvCdlst | 43.547170% | 2308 | 5300 +d_a_obj_volcball | 34.010759% | 4552 | 13384 +d_a_obj_lv6Lblock | 46.958175% | 1976 | 4208 +d_a_obj_waterPillar | 37.877429% | 5068 | 13380 +d_a_obj_bhashi | 31.443815% | 3772 | 11996 +d_a_obj_zrTuraraRock | 46.299094% | 2452 | 5296 +d_a_obj_magLiftRot | 40.697674% | 3080 | 7568 +d_a_obj_lv3WaterB | 46.278317% | 1716 | 3708 +d_a_obj_kage | 50.520833% | 1164 | 2304 +d_a_obj_bmshutter | 41.338854% | 2396 | 5796 +d_a_obj_boumato | 40.192484% | 3508 | 8728 +d_a_obj_smoke | 51.322751% | 776 | 1512 +d_a_obj_smallkey | 31.464798% | 3772 | 11988 +d_a_obj_bed | 42.310889% | 2036 | 4812 +d_a_obj_snowEffTag | 46.419098% | 1400 | 3016 +d_a_obj_kiPot | 53.782895% | 1308 | 2432 +d_a_obj_tmoon | 48.478702% | 956 | 1972 +d_a_obj_toby | 32.460733% | 3720 | 11460 +d_a_obj_shield | 34.160959% | 3192 | 9344 +d_a_obj_kjgjs | 52.250804% | 1300 | 2488 +d_a_obj_cdoor | 40.255786% | 2644 | 6568 +d_a_obj_laundry_rope | 34.459867% | 2284 | 6628 +d_a_obj_lv6ChangeGate | 41.732283% | 3816 | 9144 +d_a_obj_magLift | 41.319181% | 2180 | 5276 +d_a_obj_zcloth | 52.373418% | 1324 | 2528 +d_a_obj_magne_arm | 34.395028% | 7084 | 20596 +d_a_obj_gb | 41.063644% | 1884 | 4588 +d_a_obj_fchain | 30.649490% | 2284 | 7452 +d_a_obj_swBallB | 34.276891% | 2664 | 7772 +d_a_obj_mirror_6pole | 49.656751% | 1736 | 3496 +d_a_obj_mirror_table | 38.664122% | 4052 | 10480 +d_a_obj_mirror_sand | 46.972860% | 1800 | 3832 +d_a_obj_mirror_screw | 40.374532% | 2156 | 5340 +d_a_obj_mirror_chain | 34.916201% | 3500 | 10024 +d_a_door_knob00 | 37.500000% | 4608 | 12288 +d_a_door_shutter | 37.465797% | 14240 | 38008 +d_a_door_boss | 40.856890% | 3700 | 9056 +d_a_door_mbossL1 | 34.467633% | 10372 | 30092 +d_a_door_push | 37.997725% | 2672 | 7032 +d_a_door_spiral | 100.000000% | 504 | 504 +d_a_door_bossl1 | 39.355114% | 7372 | 18732 +d_a_door_bossL5 | 39.221790% | 4032 | 10280 +d_a_door_dbdoor00 | 40.734908% | 3104 | 7620 +d_a_npc_mk | 100.000000% | 632 | 632 +d_a_npc_kn | 34.989558% | 48252 | 137904 +d_a_npc_aru | 34.812103% | 12932 | 37148 +d_a_npc_kakashi | 39.139523% | 8988 | 22964 +d_a_npc_ykw | 33.875000% | 18428 | 54400 +d_a_npc_pouya | 40.447529% | 11424 | 28244 +d_a_npc_drainSol | 38.587732% | 4328 | 11216 +d_a_npc_bou | 36.186814% | 12800 | 35372 +d_a_npc_chat | 56.591640% | 32384 | 57224 +d_a_npc_toby | 35.857461% | 14168 | 39512 +d_a_npc_ins | 30.852199% | 10412 | 33748 +d_a_npc_post | 37.414676% | 10524 | 28128 +d_a_npc_doorboy | 35.898009% | 6420 | 17884 +d_a_npc_besu | 38.726854% | 19492 | 50332 +d_a_npc_len | 37.465709% | 11472 | 30620 +d_a_npc_ashB | 32.906995% | 8336 | 25332 +d_a_npc_bans | 34.954955% | 11640 | 33300 +d_a_npc_coach | 28.195770% | 12052 | 42744 +d_a_npc_zrc | 32.120762% | 10384 | 32328 +d_a_npc_kyury | 39.351296% | 9172 | 23308 +d_a_npc_inko | 32.502352% | 2764 | 8504 +d_a_npc_blue_ns | 31.763122% | 7552 | 23776 +d_a_npc_grc | 32.984636% | 8072 | 24472 +d_a_npc_raca | 38.792102% | 8016 | 20664 +d_a_npc_midp | 37.189356% | 6764 | 18188 +d_a_npc_kolinb | 41.382827% | 8116 | 19612 +d_a_npc_seirei | 39.691517% | 6176 | 15560 +d_a_npc_shad | 27.050485% | 14960 | 55304 +d_a_npc_grm | 38.118162% | 6968 | 18280 +d_a_npc_grr | 33.284338% | 8152 | 24492 +d_a_npc_tkj2 | 28.985507% | 5520 | 19044 +d_a_npc_sola | 39.560155% | 6116 | 15460 +d_a_npc_shaman | 40.368229% | 10612 | 26288 +d_a_npc_gro | 33.290996% | 9436 | 28344 +d_a_npc_shop0 | 38.731379% | 3224 | 8324 +d_a_npc_henna0 | 100.000000% | 504 | 504 +d_a_npc_theB | 34.129794% | 9256 | 27120 +d_a_npc_passer | 35.701424% | 8724 | 24436 +d_a_npc_chin | 33.958357% | 11808 | 34772 +d_a_npc_gra | 30.387241% | 20120 | 66212 +d_a_npc_zelda | 37.603569% | 7080 | 18828 +d_a_npc_shop_maro | 53.691275% | 2880 | 5364 +d_a_npc_df | 35.418672% | 2944 | 8312 +d_a_npc_pachi_besu | 42.797557% | 11492 | 26852 +d_a_npc_tkc | 32.075472% | 7820 | 24380 +d_a_npc_zelR | 37.762547% | 6832 | 18092 +d_a_npc_kasi_hana | 29.810206% | 10492 | 35196 +d_a_npc_seid | 42.554557% | 5304 | 12464 +d_a_npc_henna | 27.446434% | 11836 | 43124 +d_a_npc_yamid | 36.895778% | 7236 | 19612 +d_a_npc_worm | 33.717579% | 2340 | 6940 +d_a_npc_ne | 24.204919% | 12360 | 51064 +d_a_npc_kasi_kyu | 33.587533% | 8104 | 24128 +d_a_npc_gnd | 36.965399% | 6880 | 18612 +d_a_npc_tk | 22.166176% | 12656 | 57096 +d_a_npc_knj | 41.627219% | 5628 | 13520 +d_a_npc_kolin | 35.754689% | 14412 | 40308 +d_a_npc_saru | 39.289415% | 10616 | 27020 +d_a_npc_uri | 34.281392% | 13596 | 39660 +d_a_npc_wrestler | 27.819607% | 28820 | 103596 +d_a_npc_moi | 34.114704% | 14728 | 43172 +d_a_npc_lud | 38.010021% | 12744 | 33528 +d_a_npc_fguard | 42.375887% | 2868 | 6768 +d_a_npc_grs | 33.634658% | 7888 | 23452 +d_a_npc_doc | 38.160961% | 8516 | 22316 +d_a_npc_ykm | 32.908526% | 20348 | 61832 +d_a_npc_moir | 28.712188% | 11656 | 40596 +d_a_npc_zelRo | 37.784656% | 6836 | 18092 +d_a_npc_the | 34.936999% | 9760 | 27936 +d_a_npc_impal | 32.590326% | 8948 | 27456 +d_a_npc_fish | 79.939819% | 3188 | 3988 +d_a_npc_yelia | 40.634175% | 13840 | 34060 +d_a_npc_zanb | 37.827310% | 6992 | 18484 +d_a_npc_tkj | 37.419769% | 6996 | 18696 +d_a_npc_guard | 35.071398% | 6484 | 18488 +d_a_npc_rafrel | 29.654182% | 10736 | 36204 +d_a_npc_ks | 24.232793% | 27448 | 113268 +d_a_npc_du | 35.940410% | 3860 | 10740 +d_a_npc_tks | 27.123246% | 14384 | 53032 +d_a_npc_hoz | 40.521518% | 14048 | 34668 +d_a_npc_kasi_mich | 33.749584% | 8108 | 24024 +d_a_npc_soldierB | 35.587267% | 6484 | 18220 +d_a_npc_myna2 | 33.448276% | 8924 | 26680 +d_a_npc_bouS | 32.586831% | 9720 | 29828 +d_a_npc_zant | 38.262795% | 6220 | 16256 +d_a_npc_ash | 31.737680% | 9892 | 31168 +d_a_npc_seira2 | 39.278557% | 10192 | 25948 +d_a_npc_soldierA | 34.996894% | 6760 | 19316 +d_a_npc_jagar | 33.736985% | 11924 | 35344 +d_a_npc_grmc | 40.486016% | 7064 | 17448 +d_a_npc_seib | 42.233442% | 5688 | 13468 +d_a_npc_zrz | 31.977232% | 13708 | 42868 +d_a_npc_taro | 38.152632% | 28996 | 76000 +d_a_npc_clerkt | 36.386139% | 7056 | 19392 +d_a_npc_maro | 36.380572% | 21872 | 60120 +d_a_npc_clerkb | 36.128920% | 8340 | 23084 +d_a_npc_tr | 57.199682% | 2876 | 5028 +d_a_npc_clerka | 36.659479% | 7480 | 20404 +d_a_npc_fairy | 39.344262% | 19776 | 50264 +d_a_npc_gwolf | 35.693780% | 11936 | 33440 +d_a_npc_grd | 33.161068% | 7700 | 23220 +d_a_npc_zra | 24.569698% | 26608 | 108296 +d_a_npc_pachi_taro | 42.126544% | 15420 | 36604 +d_a_npc_pachi_maro | 38.260301% | 9360 | 24464 +d_a_npc_p2 | 100.000000% | 632 | 632 +d_a_npc_yamit | 36.693548% | 7280 | 19840 +d_a_npc_shoe | 36.629002% | 6224 | 16992 +d_a_npc_cdn3 | 34.686491% | 14184 | 40892 +d_a_npc_grz | 31.010419% | 12620 | 40696 +d_a_npc_hanjo | 32.618297% | 14476 | 44380 +d_a_npc_sq | 39.651108% | 3364 | 8484 +d_a_npc_kdk | 100.000000% | 504 | 504 +d_a_npc_seic | 42.554557% | 5304 | 12464 +d_a_npc_seira | 38.908741% | 11324 | 29104 +d_a_npc_yamis | 36.878425% | 7268 | 19708 +d_a_npc_lf | 39.566396% | 2336 | 5904 +d_a_npc_fairy_seirei | 42.302956% | 5496 | 12992 +d_a_npc_passer2 | 37.528815% | 3256 | 8676 +d_a_npc_prayer | 36.469470% | 6140 | 16836 +d_a_npc_kkri | 38.042823% | 10092 | 26528 d_a_b_mgn | 26.103833% | 15064 | 57708 -d_a_b_ob | 26.856326% | 15784 | 58772 -d_a_b_gg | 22.324410% | 17380 | 77852 +d_a_b_gm | 30.376176% | 11628 | 38280 +d_a_b_yo_ice | 28.297953% | 5972 | 21104 d_a_b_ds | 26.627364% | 26016 | 97704 +d_a_b_tn | 24.850960% | 21176 | 85212 +d_a_b_bh | 24.452445% | 6520 | 26664 +d_a_b_yo | 25.613486% | 14404 | 56236 +d_a_b_zant_sima | 40.995025% | 1648 | 4020 d_a_b_zant | 22.203940% | 19432 | 87516 -d_a_b_gos | 43.551689% | 3404 | 7816 +d_a_b_ob | 26.856326% | 15784 | 58772 +d_a_b_gnd | 25.489573% | 19264 | 75576 d_a_b_dr | 27.536664% | 18476 | 67096 +d_a_b_oh | 32.611348% | 4276 | 13112 +d_a_b_bq | 28.033347% | 11164 | 39824 +d_a_b_dre | 27.912731% | 4964 | 17784 +d_a_b_zant_magic | 42.453480% | 2464 | 5804 +d_a_b_gg | 22.324410% | 17380 | 77852 +d_a_b_gos | 43.551689% | 3404 | 7816 d_a_b_zant_mobile | 36.326402% | 4612 | 12696 d_a_b_oh2 | 100.000000% | 5532 | 5532 -d_a_b_bq | 28.033347% | 11164 | 39824 -d_a_b_zant_sima | 40.995025% | 1648 | 4020 -d_a_b_gm | 30.376176% | 11628 | 38280 +d_a_b_go | 44.671347% | 2800 | 6268 Total | 33.041295% | 3799856 | 11500324 diff --git a/asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s b/asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s deleted file mode 100644 index ab0ac60d76..0000000000 --- a/asm/d/map/d_map_path_dmap/afterDrawPath__19renderingPlusDoor_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80040518: -/* 80040518 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8004051C 7C 08 02 A6 */ mflr r0 -/* 80040520 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040524 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80040528 7C 7F 1B 78 */ mr r31, r3 -/* 8004052C 80 03 00 2C */ lwz r0, 0x2c(r3) -/* 80040530 2C 00 00 00 */ cmpwi r0, 0 -/* 80040534 41 80 00 2C */ blt lbl_80040560 -/* 80040538 81 83 00 00 */ lwz r12, 0(r3) -/* 8004053C 81 8C 00 80 */ lwz r12, 0x80(r12) -/* 80040540 7D 89 03 A6 */ mtctr r12 -/* 80040544 4E 80 04 21 */ bctrl -/* 80040548 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8004054C 41 82 00 14 */ beq lbl_80040560 -/* 80040550 7F E3 FB 78 */ mr r3, r31 -/* 80040554 48 00 00 21 */ bl drawDoor1__19renderingPlusDoor_cFv -/* 80040558 7F E3 FB 78 */ mr r3, r31 -/* 8004055C 48 00 00 5D */ bl drawDoor2__19renderingPlusDoor_cFv -lbl_80040560: -/* 80040560 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80040564 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80040568 7C 08 03 A6 */ mtlr r0 -/* 8004056C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80040570 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s b/asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s deleted file mode 100644 index 94e63b4e1c..0000000000 --- a/asm/d/map/d_map_path_dmap/afterDrawPath__28renderingPlusDoorAndCursor_cFv.s +++ /dev/null @@ -1,142 +0,0 @@ -lbl_800402FC: -/* 800402FC 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80040300 7C 08 02 A6 */ mflr r0 -/* 80040304 90 01 00 54 */ stw r0, 0x54(r1) -/* 80040308 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 8004030C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 80040310 39 61 00 40 */ addi r11, r1, 0x40 -/* 80040314 48 32 1E C9 */ bl _savegpr_29 -/* 80040318 7C 7F 1B 78 */ mr r31, r3 -/* 8004031C 48 00 01 FD */ bl afterDrawPath__19renderingPlusDoor_cFv -/* 80040320 7F E3 FB 78 */ mr r3, r31 -/* 80040324 81 9F 00 00 */ lwz r12, 0(r31) -/* 80040328 81 8C 00 84 */ lwz r12, 0x84(r12) -/* 8004032C 7D 89 03 A6 */ mtctr r12 -/* 80040330 4E 80 04 21 */ bctrl -/* 80040334 7C 7E 1B 78 */ mr r30, r3 -/* 80040338 7F E3 FB 78 */ mr r3, r31 -/* 8004033C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80040340 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80040344 7D 89 03 A6 */ mtctr r12 -/* 80040348 4E 80 04 21 */ bctrl -/* 8004034C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040350 41 82 00 D8 */ beq lbl_80040428 -/* 80040354 7F E3 FB 78 */ mr r3, r31 -/* 80040358 81 9F 00 00 */ lwz r12, 0(r31) -/* 8004035C 81 8C 00 98 */ lwz r12, 0x98(r12) -/* 80040360 7D 89 03 A6 */ mtctr r12 -/* 80040364 4E 80 04 21 */ bctrl -/* 80040368 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8004036C 41 82 00 BC */ beq lbl_80040428 -/* 80040370 3B A0 00 01 */ li r29, 1 -/* 80040374 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 80040378 41 82 00 44 */ beq lbl_800403BC -/* 8004037C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80040380 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80040384 88 03 0D B4 */ lbz r0, 0xdb4(r3) -/* 80040388 7C 1E 07 74 */ extsb r30, r0 -/* 8004038C 38 61 00 20 */ addi r3, r1, 0x20 -/* 80040390 4B FF EC 9D */ bl getMapRestartPos__10dMapInfo_nFv -/* 80040394 C0 21 00 24 */ lfs f1, 0x24(r1) -/* 80040398 38 60 00 01 */ li r3, 1 -/* 8004039C 7F C4 F3 78 */ mr r4, r30 -/* 800403A0 4B FF F0 6D */ bl calcFloorNo__10dMapInfo_cFfbi -/* 800403A4 7C 63 07 74 */ extsb r3, r3 -/* 800403A8 88 1F 00 30 */ lbz r0, 0x30(r31) -/* 800403AC 7C 00 07 74 */ extsb r0, r0 -/* 800403B0 7C 03 00 00 */ cmpw r3, r0 -/* 800403B4 41 82 00 08 */ beq lbl_800403BC -/* 800403B8 3B A0 00 00 */ li r29, 0 -lbl_800403BC: -/* 800403BC 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 800403C0 41 82 00 68 */ beq lbl_80040428 -/* 800403C4 3B A0 00 1F */ li r29, 0x1f -/* 800403C8 80 9F 00 2C */ lwz r4, 0x2c(r31) -/* 800403CC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800403D0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800403D4 88 03 0D B4 */ lbz r0, 0xdb4(r3) -/* 800403D8 7C 00 07 74 */ extsb r0, r0 -/* 800403DC 7C 04 00 00 */ cmpw r4, r0 -/* 800403E0 41 82 00 08 */ beq lbl_800403E8 -/* 800403E4 3B A0 00 20 */ li r29, 0x20 -lbl_800403E8: -/* 800403E8 7F E3 FB 78 */ mr r3, r31 -/* 800403EC 81 9F 00 00 */ lwz r12, 0(r31) -/* 800403F0 81 8C 00 B8 */ lwz r12, 0xb8(r12) -/* 800403F4 7D 89 03 A6 */ mtctr r12 -/* 800403F8 4E 80 04 21 */ bctrl -/* 800403FC FF E0 08 90 */ fmr f31, f1 -/* 80040400 4B FF EC F9 */ bl getMapRestartAngleY__10dMapInfo_nFv -/* 80040404 7C 7E 1B 78 */ mr r30, r3 -/* 80040408 38 61 00 14 */ addi r3, r1, 0x14 -/* 8004040C 4B FF EC 21 */ bl getMapRestartPos__10dMapInfo_nFv -/* 80040410 7F E3 FB 78 */ mr r3, r31 -/* 80040414 38 81 00 14 */ addi r4, r1, 0x14 -/* 80040418 7F C5 F3 78 */ mr r5, r30 -/* 8004041C 7F A6 EB 78 */ mr r6, r29 -/* 80040420 FC 20 F8 90 */ fmr f1, f31 -/* 80040424 48 00 0E 9D */ bl drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif -lbl_80040428: -/* 80040428 80 1F 00 2C */ lwz r0, 0x2c(r31) -/* 8004042C 2C 00 00 00 */ cmpwi r0, 0 -/* 80040430 41 80 00 28 */ blt lbl_80040458 -/* 80040434 7F E3 FB 78 */ mr r3, r31 -/* 80040438 81 9F 00 00 */ lwz r12, 0(r31) -/* 8004043C 81 8C 00 A0 */ lwz r12, 0xa0(r12) -/* 80040440 7D 89 03 A6 */ mtctr r12 -/* 80040444 4E 80 04 21 */ bctrl -/* 80040448 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8004044C 41 82 00 0C */ beq lbl_80040458 -/* 80040450 7F E3 FB 78 */ mr r3, r31 -/* 80040454 48 00 06 AD */ bl drawTreasure__28renderingPlusDoorAndCursor_cFv -lbl_80040458: -/* 80040458 7F E3 FB 78 */ mr r3, r31 -/* 8004045C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80040460 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80040464 7D 89 03 A6 */ mtctr r12 -/* 80040468 4E 80 04 21 */ bctrl -/* 8004046C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040470 41 82 00 58 */ beq lbl_800404C8 -/* 80040474 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80040478 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8004047C 80 03 5D AC */ lwz r0, 0x5dac(r3) -/* 80040480 28 00 00 00 */ cmplwi r0, 0 -/* 80040484 41 82 00 44 */ beq lbl_800404C8 -/* 80040488 7F E3 FB 78 */ mr r3, r31 -/* 8004048C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80040490 81 8C 00 B4 */ lwz r12, 0xb4(r12) -/* 80040494 7D 89 03 A6 */ mtctr r12 -/* 80040498 4E 80 04 21 */ bctrl -/* 8004049C FF E0 08 90 */ fmr f31, f1 -/* 800404A0 4B FF EA 81 */ bl getMapPlayerAngleY__10dMapInfo_nFv -/* 800404A4 7C 7E 1B 78 */ mr r30, r3 -/* 800404A8 38 61 00 08 */ addi r3, r1, 8 -/* 800404AC 4B FF E9 B1 */ bl getMapPlayerPos__10dMapInfo_nFv -/* 800404B0 7F E3 FB 78 */ mr r3, r31 -/* 800404B4 38 81 00 08 */ addi r4, r1, 8 -/* 800404B8 7F C5 F3 78 */ mr r5, r30 -/* 800404BC 38 C0 00 1E */ li r6, 0x1e -/* 800404C0 FC 20 F8 90 */ fmr f1, f31 -/* 800404C4 48 00 0D FD */ bl drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif -lbl_800404C8: -/* 800404C8 80 1F 00 2C */ lwz r0, 0x2c(r31) -/* 800404CC 2C 00 00 00 */ cmpwi r0, 0 -/* 800404D0 41 80 00 28 */ blt lbl_800404F8 -/* 800404D4 7F E3 FB 78 */ mr r3, r31 -/* 800404D8 81 9F 00 00 */ lwz r12, 0(r31) -/* 800404DC 81 8C 00 A0 */ lwz r12, 0xa0(r12) -/* 800404E0 7D 89 03 A6 */ mtctr r12 -/* 800404E4 4E 80 04 21 */ bctrl -/* 800404E8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800404EC 41 82 00 0C */ beq lbl_800404F8 -/* 800404F0 7F E3 FB 78 */ mr r3, r31 -/* 800404F4 48 00 09 91 */ bl drawTreasureAfterPlayer__28renderingPlusDoorAndCursor_cFv -lbl_800404F8: -/* 800404F8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 800404FC CB E1 00 40 */ lfd f31, 0x40(r1) -/* 80040500 39 61 00 40 */ addi r11, r1, 0x40 -/* 80040504 48 32 1D 25 */ bl _restgpr_29 -/* 80040508 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8004050C 7C 08 03 A6 */ mtlr r0 -/* 80040510 38 21 00 50 */ addi r1, r1, 0x50 -/* 80040514 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s b/asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s deleted file mode 100644 index 100ec1117b..0000000000 --- a/asm/d/map/d_map_path_dmap/calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8003FCA4: -/* 8003FCA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FCA8 7C 08 02 A6 */ mflr r0 -/* 8003FCAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FCB0 38 60 00 01 */ li r3, 1 -/* 8003FCB4 4B FF F7 59 */ bl calcFloorNo__10dMapInfo_cFfbi -/* 8003FCB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FCBC 7C 08 03 A6 */ mtlr r0 -/* 8003FCC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FCC4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s b/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s deleted file mode 100644 index a2bb66d8be..0000000000 --- a/asm/d/map/d_map_path_dmap/calcFloorNo__10dMapInfo_cFfbi.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_8003F40C: -/* 8003F40C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8003F410 7C 08 02 A6 */ mflr r0 -/* 8003F414 90 01 00 34 */ stw r0, 0x34(r1) -/* 8003F418 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8003F41C F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8003F420 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8003F424 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8003F428 FF E0 08 90 */ fmr f31, f1 -/* 8003F42C 7C 7E 1B 78 */ mr r30, r3 -/* 8003F430 7C 9F 23 78 */ mr r31, r4 -/* 8003F434 38 61 00 08 */ addi r3, r1, 8 -/* 8003F438 38 80 00 00 */ li r4, 0 -/* 8003F43C 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8003F440 38 C1 00 0C */ addi r6, r1, 0xc -/* 8003F444 38 E0 00 00 */ li r7, 0 -/* 8003F448 4B FF FE 05 */ bl getFloorParameter__10dMapInfo_nFfPScPfPfPfPf -/* 8003F44C C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8003F450 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F454 40 80 00 80 */ bge lbl_8003F4D4 -/* 8003F458 C0 41 00 0C */ lfs f2, 0xc(r1) -/* 8003F45C FC 1F 10 40 */ fcmpo cr0, f31, f2 -/* 8003F460 4C 41 13 82 */ cror 2, 1, 2 -/* 8003F464 40 82 00 7C */ bne lbl_8003F4E0 -/* 8003F468 80 0D 88 DC */ lwz r0, mNowStayRoomNo__10dMapInfo_c(r13) -/* 8003F46C 7C 1F 00 00 */ cmpw r31, r0 -/* 8003F470 40 82 00 3C */ bne lbl_8003F4AC -/* 8003F474 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) -/* 8003F478 28 00 00 00 */ cmplwi r0, 0 -/* 8003F47C 41 82 00 30 */ beq lbl_8003F4AC -/* 8003F480 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13) -/* 8003F484 7C A4 07 74 */ extsb r4, r5 -/* 8003F488 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F48C 7C 03 07 74 */ extsb r3, r0 -/* 8003F490 7C 04 18 00 */ cmpw r4, r3 -/* 8003F494 41 82 00 10 */ beq lbl_8003F4A4 -/* 8003F498 38 03 00 01 */ addi r0, r3, 1 -/* 8003F49C 7C 04 00 00 */ cmpw r4, r0 -/* 8003F4A0 40 82 00 0C */ bne lbl_8003F4AC -lbl_8003F4A4: -/* 8003F4A4 98 A1 00 08 */ stb r5, 8(r1) -/* 8003F4A8 48 00 00 38 */ b lbl_8003F4E0 -lbl_8003F4AC: -/* 8003F4AC C0 22 84 2C */ lfs f1, lit_3887(r2) -/* 8003F4B0 EC 02 00 2A */ fadds f0, f2, f0 -/* 8003F4B4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003F4B8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F4BC 4C 41 13 82 */ cror 2, 1, 2 -/* 8003F4C0 40 82 00 20 */ bne lbl_8003F4E0 -/* 8003F4C4 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F4C8 38 03 00 01 */ addi r0, r3, 1 -/* 8003F4CC 98 01 00 08 */ stb r0, 8(r1) -/* 8003F4D0 48 00 00 10 */ b lbl_8003F4E0 -lbl_8003F4D4: -/* 8003F4D4 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F4D8 38 03 00 01 */ addi r0, r3, 1 -/* 8003F4DC 98 01 00 08 */ stb r0, 8(r1) -lbl_8003F4E0: -/* 8003F4E0 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 8003F4E4 41 82 00 68 */ beq lbl_8003F54C -/* 8003F4E8 2C 1F 00 00 */ cmpwi r31, 0 -/* 8003F4EC 41 80 00 60 */ blt lbl_8003F54C -/* 8003F4F0 2C 1F 00 40 */ cmpwi r31, 0x40 -/* 8003F4F4 40 80 00 58 */ bge lbl_8003F54C -/* 8003F4F8 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F4FC 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F500 1C 1F 04 04 */ mulli r0, r31, 0x404 -/* 8003F504 7C 63 02 14 */ add r3, r3, r0 -/* 8003F508 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8003F50C 28 03 00 00 */ cmplwi r3, 0 -/* 8003F510 41 82 00 3C */ beq lbl_8003F54C -/* 8003F514 88 03 00 10 */ lbz r0, 0x10(r3) -/* 8003F518 7C 04 07 74 */ extsb r4, r0 -/* 8003F51C 88 03 00 11 */ lbz r0, 0x11(r3) -/* 8003F520 7C 03 07 74 */ extsb r3, r0 -/* 8003F524 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F528 7C 00 07 74 */ extsb r0, r0 -/* 8003F52C 7C 00 20 00 */ cmpw r0, r4 -/* 8003F530 40 80 00 08 */ bge lbl_8003F538 -/* 8003F534 98 81 00 08 */ stb r4, 8(r1) -lbl_8003F538: -/* 8003F538 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F53C 7C 00 07 74 */ extsb r0, r0 -/* 8003F540 7C 00 18 00 */ cmpw r0, r3 -/* 8003F544 40 81 00 08 */ ble lbl_8003F54C -/* 8003F548 98 61 00 08 */ stb r3, 8(r1) -lbl_8003F54C: -/* 8003F54C 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F550 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8003F554 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8003F558 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003F55C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8003F560 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8003F564 7C 08 03 A6 */ mtlr r0 -/* 8003F568 38 21 00 30 */ addi r1, r1, 0x30 -/* 8003F56C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s b/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s deleted file mode 100644 index 19b232035c..0000000000 --- a/asm/d/map/d_map_path_dmap/calcNowStayFloorNo__10dMapInfo_cFfb.s +++ /dev/null @@ -1,93 +0,0 @@ -lbl_8003F570: -/* 8003F570 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8003F574 7C 08 02 A6 */ mflr r0 -/* 8003F578 90 01 00 34 */ stw r0, 0x34(r1) -/* 8003F57C DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8003F580 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8003F584 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8003F588 FF E0 08 90 */ fmr f31, f1 -/* 8003F58C 7C 7F 1B 78 */ mr r31, r3 -/* 8003F590 38 61 00 08 */ addi r3, r1, 8 -/* 8003F594 38 80 00 00 */ li r4, 0 -/* 8003F598 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8003F59C 38 C1 00 0C */ addi r6, r1, 0xc -/* 8003F5A0 38 E0 00 00 */ li r7, 0 -/* 8003F5A4 4B FF FC A9 */ bl getFloorParameter__10dMapInfo_nFfPScPfPfPfPf -/* 8003F5A8 88 0D 88 E0 */ lbz r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) -/* 8003F5AC 28 00 00 00 */ cmplwi r0, 0 -/* 8003F5B0 41 82 00 5C */ beq lbl_8003F60C -/* 8003F5B4 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8003F5B8 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F5BC 40 80 00 40 */ bge lbl_8003F5FC -/* 8003F5C0 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8003F5C4 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F5C8 4C 41 13 82 */ cror 2, 1, 2 -/* 8003F5CC 40 82 00 6C */ bne lbl_8003F638 -/* 8003F5D0 88 AD 88 D8 */ lbz r5, mNowStayFloorNo__10dMapInfo_c(r13) -/* 8003F5D4 7C A4 07 74 */ extsb r4, r5 -/* 8003F5D8 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F5DC 7C 03 07 74 */ extsb r3, r0 -/* 8003F5E0 7C 04 18 00 */ cmpw r4, r3 -/* 8003F5E4 41 82 00 10 */ beq lbl_8003F5F4 -/* 8003F5E8 38 03 00 01 */ addi r0, r3, 1 -/* 8003F5EC 7C 04 00 00 */ cmpw r4, r0 -/* 8003F5F0 40 82 00 48 */ bne lbl_8003F638 -lbl_8003F5F4: -/* 8003F5F4 98 A1 00 08 */ stb r5, 8(r1) -/* 8003F5F8 48 00 00 40 */ b lbl_8003F638 -lbl_8003F5FC: -/* 8003F5FC 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F600 38 03 00 01 */ addi r0, r3, 1 -/* 8003F604 98 01 00 08 */ stb r0, 8(r1) -/* 8003F608 48 00 00 30 */ b lbl_8003F638 -lbl_8003F60C: -/* 8003F60C C0 42 84 2C */ lfs f2, lit_3887(r2) -/* 8003F610 C0 21 00 0C */ lfs f1, 0xc(r1) -/* 8003F614 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8003F618 EC 01 00 2A */ fadds f0, f1, f0 -/* 8003F61C EC 02 00 32 */ fmuls f0, f2, f0 -/* 8003F620 FC 1F 00 40 */ fcmpo cr0, f31, f0 -/* 8003F624 4C 41 13 82 */ cror 2, 1, 2 -/* 8003F628 40 82 00 10 */ bne lbl_8003F638 -/* 8003F62C 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F630 38 03 00 01 */ addi r0, r3, 1 -/* 8003F634 98 01 00 08 */ stb r0, 8(r1) -lbl_8003F638: -/* 8003F638 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 8003F63C 41 82 00 6C */ beq lbl_8003F6A8 -/* 8003F640 80 0D 88 DC */ lwz r0, mNowStayRoomNo__10dMapInfo_c(r13) -/* 8003F644 2C 00 00 00 */ cmpwi r0, 0 -/* 8003F648 41 80 00 60 */ blt lbl_8003F6A8 -/* 8003F64C 2C 00 00 40 */ cmpwi r0, 0x40 -/* 8003F650 40 80 00 58 */ bge lbl_8003F6A8 -/* 8003F654 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F658 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F65C 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8003F660 7C 63 02 14 */ add r3, r3, r0 -/* 8003F664 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8003F668 28 03 00 00 */ cmplwi r3, 0 -/* 8003F66C 41 82 00 3C */ beq lbl_8003F6A8 -/* 8003F670 88 03 00 10 */ lbz r0, 0x10(r3) -/* 8003F674 7C 04 07 74 */ extsb r4, r0 -/* 8003F678 88 03 00 11 */ lbz r0, 0x11(r3) -/* 8003F67C 7C 03 07 74 */ extsb r3, r0 -/* 8003F680 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F684 7C 00 07 74 */ extsb r0, r0 -/* 8003F688 7C 00 20 00 */ cmpw r0, r4 -/* 8003F68C 40 80 00 08 */ bge lbl_8003F694 -/* 8003F690 98 81 00 08 */ stb r4, 8(r1) -lbl_8003F694: -/* 8003F694 88 01 00 08 */ lbz r0, 8(r1) -/* 8003F698 7C 00 07 74 */ extsb r0, r0 -/* 8003F69C 7C 00 18 00 */ cmpw r0, r3 -/* 8003F6A0 40 81 00 08 */ ble lbl_8003F6A8 -/* 8003F6A4 98 61 00 08 */ stb r3, 8(r1) -lbl_8003F6A8: -/* 8003F6A8 88 61 00 08 */ lbz r3, 8(r1) -/* 8003F6AC E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8003F6B0 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8003F6B4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003F6B8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8003F6BC 7C 08 03 A6 */ mtlr r0 -/* 8003F6C0 38 21 00 30 */ addi r1, r1, 0x30 -/* 8003F6C4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s b/asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s deleted file mode 100644 index c4b267e5f8..0000000000 --- a/asm/d/map/d_map_path_dmap/checkDispDoorS__19renderingPlusDoor_cFiif.s +++ /dev/null @@ -1,80 +0,0 @@ -lbl_80040710: -/* 80040710 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80040714 7C 08 02 A6 */ mflr r0 -/* 80040718 90 01 00 24 */ stw r0, 0x24(r1) -/* 8004071C DB E1 00 18 */ stfd f31, 0x18(r1) -/* 80040720 39 61 00 18 */ addi r11, r1, 0x18 -/* 80040724 48 32 1A B9 */ bl _savegpr_29 -/* 80040728 7C 7D 1B 78 */ mr r29, r3 -/* 8004072C 7C 9E 23 78 */ mr r30, r4 -/* 80040730 7C BF 2B 78 */ mr r31, r5 -/* 80040734 FF E0 08 90 */ fmr f31, f1 -/* 80040738 81 83 00 00 */ lwz r12, 0(r3) -/* 8004073C 81 8C 00 7C */ lwz r12, 0x7c(r12) -/* 80040740 7D 89 03 A6 */ mtctr r12 -/* 80040744 4E 80 04 21 */ bctrl -/* 80040748 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8004074C 41 82 00 60 */ beq lbl_800407AC -/* 80040750 7F A3 EB 78 */ mr r3, r29 -/* 80040754 81 9D 00 00 */ lwz r12, 0(r29) -/* 80040758 81 8C 00 78 */ lwz r12, 0x78(r12) -/* 8004075C 7D 89 03 A6 */ mtctr r12 -/* 80040760 4E 80 04 21 */ bctrl -/* 80040764 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040768 40 82 00 60 */ bne lbl_800407C8 -/* 8004076C 7F C3 F3 78 */ mr r3, r30 -/* 80040770 4B FF E5 A1 */ bl isVisitedRoom__10dMapInfo_nFi -/* 80040774 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040778 40 82 00 50 */ bne lbl_800407C8 -/* 8004077C 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 80040780 7C 1E 00 00 */ cmpw r30, r0 -/* 80040784 41 82 00 44 */ beq lbl_800407C8 -/* 80040788 7F E3 FB 78 */ mr r3, r31 -/* 8004078C 4B FF E5 85 */ bl isVisitedRoom__10dMapInfo_nFi -/* 80040790 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040794 40 82 00 34 */ bne lbl_800407C8 -/* 80040798 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 8004079C 7C 1F 00 00 */ cmpw r31, r0 -/* 800407A0 41 82 00 28 */ beq lbl_800407C8 -/* 800407A4 38 60 00 00 */ li r3, 0 -/* 800407A8 48 00 00 74 */ b lbl_8004081C -lbl_800407AC: -/* 800407AC 80 1D 00 2C */ lwz r0, 0x2c(r29) -/* 800407B0 7C 1E 00 00 */ cmpw r30, r0 -/* 800407B4 41 82 00 14 */ beq lbl_800407C8 -/* 800407B8 7C 1F 00 00 */ cmpw r31, r0 -/* 800407BC 41 82 00 0C */ beq lbl_800407C8 -/* 800407C0 38 60 00 00 */ li r3, 0 -/* 800407C4 48 00 00 58 */ b lbl_8004081C -lbl_800407C8: -/* 800407C8 7F A3 EB 78 */ mr r3, r29 -/* 800407CC FC 20 F8 90 */ fmr f1, f31 -/* 800407D0 7F C4 F3 78 */ mr r4, r30 -/* 800407D4 4B FF F4 D1 */ bl calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi -/* 800407D8 7C 63 07 74 */ extsb r3, r3 -/* 800407DC 88 1D 00 30 */ lbz r0, 0x30(r29) -/* 800407E0 7C 00 07 74 */ extsb r0, r0 -/* 800407E4 7C 00 18 00 */ cmpw r0, r3 -/* 800407E8 41 82 00 28 */ beq lbl_80040810 -/* 800407EC 7F A3 EB 78 */ mr r3, r29 -/* 800407F0 FC 20 F8 90 */ fmr f1, f31 -/* 800407F4 7F E4 FB 78 */ mr r4, r31 -/* 800407F8 4B FF F4 AD */ bl calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi -/* 800407FC 7C 63 07 74 */ extsb r3, r3 -/* 80040800 88 1D 00 30 */ lbz r0, 0x30(r29) -/* 80040804 7C 00 07 74 */ extsb r0, r0 -/* 80040808 7C 00 18 00 */ cmpw r0, r3 -/* 8004080C 40 82 00 0C */ bne lbl_80040818 -lbl_80040810: -/* 80040810 38 60 00 01 */ li r3, 1 -/* 80040814 48 00 00 08 */ b lbl_8004081C -lbl_80040818: -/* 80040818 38 60 00 00 */ li r3, 0 -lbl_8004081C: -/* 8004081C CB E1 00 18 */ lfd f31, 0x18(r1) -/* 80040820 39 61 00 18 */ addi r11, r1, 0x18 -/* 80040824 48 32 1A 05 */ bl _restgpr_29 -/* 80040828 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8004082C 7C 08 03 A6 */ mtlr r0 -/* 80040830 38 21 00 20 */ addi r1, r1, 0x20 -/* 80040834 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s b/asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s deleted file mode 100644 index 43a29de8fc..0000000000 --- a/asm/d/map/d_map_path_dmap/create__10dMapInfo_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8003F734: -/* 8003F734 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003F738 7C 08 02 A6 */ mflr r0 -/* 8003F73C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F740 4B FF FF BD */ bl init__10dMapInfo_cFv -/* 8003F744 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003F748 7C 08 03 A6 */ mtlr r0 -/* 8003F74C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003F750 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s b/asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s deleted file mode 100644 index c78fa28cbb..0000000000 --- a/asm/d/map/d_map_path_dmap/create__8dMpath_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8003FB70: -/* 8003FB70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FB74 7C 08 02 A6 */ mflr r0 -/* 8003FB78 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FB7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003FB80 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003FB84 85 83 4E 20 */ lwzu r12, 0x4e20(r3) -/* 8003FB88 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8003FB8C 7D 89 03 A6 */ mtctr r12 -/* 8003FB90 4E 80 04 21 */ bctrl -/* 8003FB94 80 03 00 0C */ lwz r0, 0xc(r3) -/* 8003FB98 54 00 87 7E */ rlwinm r0, r0, 0x10, 0x1d, 0x1f -/* 8003FB9C 28 00 00 03 */ cmplwi r0, 3 -/* 8003FBA0 41 82 00 10 */ beq lbl_8003FBB0 -/* 8003FBA4 48 00 00 2D */ bl reset__8dMpath_cFv -/* 8003FBA8 38 00 00 00 */ li r0, 0 -/* 8003FBAC 98 0D 89 08 */ stb r0, data_80450E88(r13) -lbl_8003FBB0: -/* 8003FBB0 3C 60 80 42 */ lis r3, m_texObjAgg__8dMpath_n@ha /* 0x80424684@ha */ -/* 8003FBB4 38 63 46 84 */ addi r3, r3, m_texObjAgg__8dMpath_n@l /* 0x80424684@l */ -/* 8003FBB8 4B FF CC A5 */ bl create__Q28dMpath_n18dTexObjAggregate_cFv -/* 8003FBBC 4B FF FB 79 */ bl create__10dMapInfo_cFv -/* 8003FBC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FBC4 7C 08 03 A6 */ mtlr r0 -/* 8003FBC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FBCC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s b/asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s deleted file mode 100644 index 42aa721681..0000000000 --- a/asm/d/map/d_map_path_dmap/drawCursor__28renderingPlusDoorAndCursor_cFRC3Vecsif.s +++ /dev/null @@ -1,106 +0,0 @@ -lbl_800412C0: -/* 800412C0 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 800412C4 7C 08 02 A6 */ mflr r0 -/* 800412C8 90 01 00 84 */ stw r0, 0x84(r1) -/* 800412CC DB E1 00 70 */ stfd f31, 0x70(r1) -/* 800412D0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 800412D4 DB C1 00 60 */ stfd f30, 0x60(r1) -/* 800412D8 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 800412DC 39 61 00 60 */ addi r11, r1, 0x60 -/* 800412E0 48 32 0E F5 */ bl _savegpr_27 -/* 800412E4 7C BC 2B 78 */ mr r28, r5 -/* 800412E8 7C DB 33 78 */ mr r27, r6 -/* 800412EC C0 02 84 B8 */ lfs f0, lit_4731(r2) -/* 800412F0 EC 61 00 24 */ fdivs f3, f1, f0 -/* 800412F4 C0 23 00 08 */ lfs f1, 8(r3) -/* 800412F8 A0 03 00 20 */ lhz r0, 0x20(r3) -/* 800412FC C8 42 84 40 */ lfd f2, lit_4211(r2) -/* 80041300 90 01 00 34 */ stw r0, 0x34(r1) -/* 80041304 3C A0 43 30 */ lis r5, 0x4330 -/* 80041308 90 A1 00 30 */ stw r5, 0x30(r1) -/* 8004130C C8 01 00 30 */ lfd f0, 0x30(r1) -/* 80041310 EC 00 10 28 */ fsubs f0, f0, f2 -/* 80041314 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80041318 EF E3 00 32 */ fmuls f31, f3, f0 -/* 8004131C C0 23 00 0C */ lfs f1, 0xc(r3) -/* 80041320 A0 03 00 22 */ lhz r0, 0x22(r3) -/* 80041324 90 01 00 3C */ stw r0, 0x3c(r1) -/* 80041328 90 A1 00 38 */ stw r5, 0x38(r1) -/* 8004132C C8 01 00 38 */ lfd f0, 0x38(r1) -/* 80041330 EC 00 10 28 */ fsubs f0, f0, f2 -/* 80041334 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80041338 EF C3 00 32 */ fmuls f30, f3, f0 -/* 8004133C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80041340 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80041344 C0 24 00 00 */ lfs f1, 0(r4) -/* 80041348 C0 42 84 28 */ lfs f2, lit_3796(r2) -/* 8004134C C0 64 00 08 */ lfs f3, 8(r4) -/* 80041350 48 30 55 99 */ bl PSMTXTrans -/* 80041354 FC 20 F8 90 */ fmr f1, f31 -/* 80041358 C0 42 84 38 */ lfs f2, lit_4202(r2) -/* 8004135C FC 60 F0 90 */ fmr f3, f30 -/* 80041360 4B FC BA D9 */ bl scaleM__14mDoMtx_stack_cFfff -/* 80041364 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80041368 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 8004136C 7F 84 E3 78 */ mr r4, r28 -/* 80041370 4B FC B0 C5 */ bl mDoMtx_YrotM__FPA4_fs -/* 80041374 3B 80 00 00 */ li r28, 0 -/* 80041378 3B E0 00 00 */ li r31, 0 -/* 8004137C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80041380 3B A3 D4 70 */ addi r29, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80041384 3C 60 80 38 */ lis r3, l_offset@ha /* 0x80379D5C@ha */ -/* 80041388 3B C3 9D 5C */ addi r30, r3, l_offset@l /* 0x80379D5C@l */ -lbl_8004138C: -/* 8004138C 7F A3 EB 78 */ mr r3, r29 -/* 80041390 7C 9E FA 14 */ add r4, r30, r31 -/* 80041394 38 A1 00 0C */ addi r5, r1, 0xc -/* 80041398 7C A5 FA 14 */ add r5, r5, r31 -/* 8004139C 48 30 59 D1 */ bl PSMTXMultVec -/* 800413A0 3B 9C 00 01 */ addi r28, r28, 1 -/* 800413A4 2C 1C 00 03 */ cmpwi r28, 3 -/* 800413A8 3B FF 00 0C */ addi r31, r31, 0xc -/* 800413AC 41 80 FF E0 */ blt lbl_8004138C -/* 800413B0 48 31 A1 DD */ bl GXClearVtxDesc -/* 800413B4 38 60 00 09 */ li r3, 9 -/* 800413B8 38 80 00 01 */ li r4, 1 -/* 800413BC 48 31 9A FD */ bl GXSetVtxDesc -/* 800413C0 38 60 00 00 */ li r3, 0 -/* 800413C4 38 80 00 09 */ li r4, 9 -/* 800413C8 38 A0 00 00 */ li r5, 0 -/* 800413CC 38 C0 00 04 */ li r6, 4 -/* 800413D0 38 E0 00 00 */ li r7, 0 -/* 800413D4 48 31 A1 F1 */ bl GXSetVtxAttrFmt -/* 800413D8 57 60 16 3A */ rlwinm r0, r27, 2, 0x18, 0x1d -/* 800413DC 98 0D 80 B8 */ stb r0, l_cursorColor(r13) -/* 800413E0 80 0D 80 B8 */ lwz r0, l_cursorColor(r13) -/* 800413E4 90 01 00 08 */ stw r0, 8(r1) -/* 800413E8 38 60 00 01 */ li r3, 1 -/* 800413EC 38 81 00 08 */ addi r4, r1, 8 -/* 800413F0 48 31 DF 8D */ bl GXSetTevColor -/* 800413F4 38 60 00 90 */ li r3, 0x90 -/* 800413F8 38 80 00 00 */ li r4, 0 -/* 800413FC 38 A0 00 03 */ li r5, 3 -/* 80041400 48 31 B3 65 */ bl GXBegin -/* 80041404 38 60 00 00 */ li r3, 0 -/* 80041408 3C 80 CC 01 */ lis r4, 0xCC01 /* 0xCC008000@ha */ -/* 8004140C 38 00 00 03 */ li r0, 3 -/* 80041410 7C 09 03 A6 */ mtctr r0 -lbl_80041414: -/* 80041414 38 A1 00 0C */ addi r5, r1, 0xc -/* 80041418 7C A5 1A 14 */ add r5, r5, r3 -/* 8004141C C0 05 00 00 */ lfs f0, 0(r5) -/* 80041420 D0 04 80 00 */ stfs f0, 0x8000(r4) /* 0xCC008000@l */ -/* 80041424 C0 05 00 08 */ lfs f0, 8(r5) -/* 80041428 D0 04 80 00 */ stfs f0, -0x8000(r4) -/* 8004142C 38 63 00 0C */ addi r3, r3, 0xc -/* 80041430 42 00 FF E4 */ bdnz lbl_80041414 -/* 80041434 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 80041438 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 8004143C E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 80041440 CB C1 00 60 */ lfd f30, 0x60(r1) -/* 80041444 39 61 00 60 */ addi r11, r1, 0x60 -/* 80041448 48 32 0D D9 */ bl _restgpr_27 -/* 8004144C 80 01 00 84 */ lwz r0, 0x84(r1) -/* 80041450 7C 08 03 A6 */ mtlr r0 -/* 80041454 38 21 00 80 */ addi r1, r1, 0x80 -/* 80041458 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s b/asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s deleted file mode 100644 index 46a9c4e79c..0000000000 --- a/asm/d/map/d_map_path_dmap/drawDoor1__19renderingPlusDoor_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80040574: -/* 80040574 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80040578 7C 08 02 A6 */ mflr r0 -/* 8004057C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040580 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80040584 7C 7F 1B 78 */ mr r31, r3 -/* 80040588 4B FE 39 6D */ bl dStage_GetKeepDoorInfo__Fv -/* 8004058C 7C 65 1B 78 */ mr r5, r3 -/* 80040590 7F E3 FB 78 */ mr r3, r31 -/* 80040594 38 85 00 04 */ addi r4, r5, 4 -/* 80040598 80 A5 00 00 */ lwz r5, 0(r5) -/* 8004059C 38 C0 00 01 */ li r6, 1 -/* 800405A0 48 00 00 5D */ bl drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib -/* 800405A4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800405A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800405AC 7C 08 03 A6 */ mtlr r0 -/* 800405B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 800405B4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s b/asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s deleted file mode 100644 index 8dfc7febdd..0000000000 --- a/asm/d/map/d_map_path_dmap/drawDoor2__19renderingPlusDoor_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_800405B8: -/* 800405B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800405BC 7C 08 02 A6 */ mflr r0 -/* 800405C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 800405C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 800405C8 7C 7F 1B 78 */ mr r31, r3 -/* 800405CC 4B FE 3A 91 */ bl dStage_GetRoomKeepDoorInfo__Fv -/* 800405D0 7C 65 1B 78 */ mr r5, r3 -/* 800405D4 7F E3 FB 78 */ mr r3, r31 -/* 800405D8 38 85 00 04 */ addi r4, r5, 4 -/* 800405DC 80 A5 00 00 */ lwz r5, 0(r5) -/* 800405E0 38 C0 00 00 */ li r6, 0 -/* 800405E4 48 00 00 19 */ bl drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib -/* 800405E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800405EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800405F0 7C 08 03 A6 */ mtlr r0 -/* 800405F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 800405F8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s b/asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s deleted file mode 100644 index 1147930037..0000000000 --- a/asm/d/map/d_map_path_dmap/drawDoorCommon__19renderingPlusDoor_cFPC21stage_tgsc_data_classib.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_800405FC: -/* 800405FC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80040600 7C 08 02 A6 */ mflr r0 -/* 80040604 90 01 00 34 */ stw r0, 0x34(r1) -/* 80040608 39 61 00 30 */ addi r11, r1, 0x30 -/* 8004060C 48 32 1B C1 */ bl _savegpr_25 -/* 80040610 7C 79 1B 78 */ mr r25, r3 -/* 80040614 7C 9A 23 78 */ mr r26, r4 -/* 80040618 7C BB 2B 78 */ mr r27, r5 -/* 8004061C 7C DC 33 78 */ mr r28, r6 -/* 80040620 48 31 AF 6D */ bl GXClearVtxDesc -/* 80040624 38 60 00 09 */ li r3, 9 -/* 80040628 38 80 00 01 */ li r4, 1 -/* 8004062C 48 31 A8 8D */ bl GXSetVtxDesc -/* 80040630 38 60 00 0D */ li r3, 0xd -/* 80040634 38 80 00 02 */ li r4, 2 -/* 80040638 48 31 A8 81 */ bl GXSetVtxDesc -/* 8004063C 38 60 00 00 */ li r3, 0 -/* 80040640 38 80 00 09 */ li r4, 9 -/* 80040644 38 A0 00 01 */ li r5, 1 -/* 80040648 38 C0 00 04 */ li r6, 4 -/* 8004064C 38 E0 00 00 */ li r7, 0 -/* 80040650 48 31 AF 75 */ bl GXSetVtxAttrFmt -/* 80040654 38 60 00 00 */ li r3, 0 -/* 80040658 38 80 00 0D */ li r4, 0xd -/* 8004065C 38 A0 00 01 */ li r5, 1 -/* 80040660 38 C0 00 00 */ li r6, 0 -/* 80040664 38 E0 00 00 */ li r7, 0 -/* 80040668 48 31 AF 5D */ bl GXSetVtxAttrFmt -/* 8004066C 38 60 00 0D */ li r3, 0xd -/* 80040670 38 82 84 68 */ la r4, l_tex0(r2) /* 80451E68-_SDA2_BASE_ */ -/* 80040674 38 A0 00 02 */ li r5, 2 -/* 80040678 48 31 B4 B1 */ bl GXSetArray -/* 8004067C 7F 23 CB 78 */ mr r3, r25 -/* 80040680 4B FF C8 C1 */ bl setTevSettingIntensityTextureToCI__18dRenderingFDAmap_cCFv -/* 80040684 3B A0 00 00 */ li r29, 0 -/* 80040688 48 00 00 60 */ b lbl_800406E8 -lbl_8004068C: -/* 8004068C 80 1A 00 08 */ lwz r0, 8(r26) -/* 80040690 54 1F 9E BE */ rlwinm r31, r0, 0x13, 0x1a, 0x1f -/* 80040694 54 1E 6E BE */ rlwinm r30, r0, 0xd, 0x1a, 0x1f -/* 80040698 7F 23 CB 78 */ mr r3, r25 -/* 8004069C 7F E4 FB 78 */ mr r4, r31 -/* 800406A0 7F C5 F3 78 */ mr r5, r30 -/* 800406A4 C0 3A 00 10 */ lfs f1, 0x10(r26) -/* 800406A8 48 00 00 69 */ bl checkDispDoorS__19renderingPlusDoor_cFiif -/* 800406AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 800406B0 41 82 00 30 */ beq lbl_800406E0 -/* 800406B4 3C 60 80 42 */ lis r3, m_texObjAgg__8dMpath_n@ha /* 0x80424684@ha */ -/* 800406B8 38 63 46 84 */ addi r3, r3, m_texObjAgg__8dMpath_n@l /* 0x80424684@l */ -/* 800406BC 80 63 00 00 */ lwz r3, 0(r3) -/* 800406C0 38 80 00 00 */ li r4, 0 -/* 800406C4 48 31 DD 51 */ bl GXLoadTexObj -/* 800406C8 7F 23 CB 78 */ mr r3, r25 -/* 800406CC 7F 44 D3 78 */ mr r4, r26 -/* 800406D0 7F E5 FB 78 */ mr r5, r31 -/* 800406D4 7F C6 F3 78 */ mr r6, r30 -/* 800406D8 7F 87 E3 78 */ mr r7, r28 -/* 800406DC 48 00 01 5D */ bl drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib -lbl_800406E0: -/* 800406E0 3B BD 00 01 */ addi r29, r29, 1 -/* 800406E4 3B 5A 00 24 */ addi r26, r26, 0x24 -lbl_800406E8: -/* 800406E8 7C 1D D8 00 */ cmpw r29, r27 -/* 800406EC 41 80 FF A0 */ blt lbl_8004068C -/* 800406F0 7F 23 CB 78 */ mr r3, r25 -/* 800406F4 4B FF C7 85 */ bl setTevSettingNonTextureDirectColor__18dRenderingFDAmap_cCFv -/* 800406F8 39 61 00 30 */ addi r11, r1, 0x30 -/* 800406FC 48 32 1B 1D */ bl _restgpr_25 -/* 80040700 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80040704 7C 08 03 A6 */ mtlr r0 -/* 80040708 38 21 00 30 */ addi r1, r1, 0x30 -/* 8004070C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s b/asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s deleted file mode 100644 index fd03f8c7e1..0000000000 --- a/asm/d/map/d_map_path_dmap/drawIconSingle__28renderingPlusDoorAndCursor_cFRC3Vecff.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_80041208: -/* 80041208 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8004120C 7C 08 02 A6 */ mflr r0 -/* 80041210 90 01 00 34 */ stw r0, 0x34(r1) -/* 80041214 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 80041218 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8004121C DB C1 00 10 */ stfd f30, 0x10(r1) -/* 80041220 F3 C1 00 18 */ psq_st f30, 24(r1), 0, 0 /* qr0 */ -/* 80041224 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80041228 7C 9F 23 78 */ mr r31, r4 -/* 8004122C FF C0 08 90 */ fmr f30, f1 -/* 80041230 FF E0 10 90 */ fmr f31, f2 -/* 80041234 38 60 00 80 */ li r3, 0x80 -/* 80041238 38 80 00 00 */ li r4, 0 -/* 8004123C 38 A0 00 04 */ li r5, 4 -/* 80041240 48 31 B5 25 */ bl GXBegin -/* 80041244 38 C0 00 00 */ li r6, 0 -/* 80041248 C0 5F 00 08 */ lfs f2, 8(r31) -/* 8004124C 3C 60 80 38 */ lis r3, l_iconPosData@ha /* 0x80379D3C@ha */ -/* 80041250 38 83 9D 3C */ addi r4, r3, l_iconPosData@l /* 0x80379D3C@l */ -/* 80041254 C0 3F 00 00 */ lfs f1, 0(r31) -/* 80041258 3C 60 CC 01 */ lis r3, 0xcc01 -/* 8004125C 48 00 00 34 */ b lbl_80041290 -lbl_80041260: -/* 80041260 54 C0 1D 78 */ rlwinm r0, r6, 3, 0x15, 0x1c -/* 80041264 7C A4 02 14 */ add r5, r4, r0 -/* 80041268 C0 05 00 04 */ lfs f0, 4(r5) -/* 8004126C EC 1F 00 32 */ fmuls f0, f31, f0 -/* 80041270 EC 62 00 2A */ fadds f3, f2, f0 -/* 80041274 C0 05 00 00 */ lfs f0, 0(r5) -/* 80041278 EC 1E 00 32 */ fmuls f0, f30, f0 -/* 8004127C EC 01 00 2A */ fadds f0, f1, f0 -/* 80041280 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80041284 D0 63 80 00 */ stfs f3, -0x8000(r3) -/* 80041288 98 C3 80 00 */ stb r6, -0x8000(r3) -/* 8004128C 38 C6 00 01 */ addi r6, r6, 1 -lbl_80041290: -/* 80041290 54 C0 06 3E */ clrlwi r0, r6, 0x18 -/* 80041294 28 00 00 04 */ cmplwi r0, 4 -/* 80041298 41 80 FF C8 */ blt lbl_80041260 -/* 8004129C E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 800412A0 CB E1 00 20 */ lfd f31, 0x20(r1) -/* 800412A4 E3 C1 00 18 */ psq_l f30, 24(r1), 0, 0 /* qr0 */ -/* 800412A8 CB C1 00 10 */ lfd f30, 0x10(r1) -/* 800412AC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 800412B0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 800412B4 7C 08 03 A6 */ mtlr r0 -/* 800412B8 38 21 00 30 */ addi r1, r1, 0x30 -/* 800412BC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s b/asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s deleted file mode 100644 index 230f1175b4..0000000000 --- a/asm/d/map/d_map_path_dmap/drawNormalDoorS__19renderingPlusDoor_cFPC21stage_tgsc_data_classiib.s +++ /dev/null @@ -1,102 +0,0 @@ -lbl_80040838: -/* 80040838 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 8004083C 7C 08 02 A6 */ mflr r0 -/* 80040840 90 01 00 74 */ stw r0, 0x74(r1) -/* 80040844 39 61 00 70 */ addi r11, r1, 0x70 -/* 80040848 48 32 19 95 */ bl _savegpr_29 -/* 8004084C 7C 9D 23 78 */ mr r29, r4 -/* 80040850 7C BE 2B 78 */ mr r30, r5 -/* 80040854 7C FF 3B 78 */ mr r31, r7 -/* 80040858 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8004085C 7C 00 07 74 */ extsb r0, r0 -/* 80040860 7C 1E 00 00 */ cmpw r30, r0 -/* 80040864 41 82 00 0C */ beq lbl_80040870 -/* 80040868 7C 06 00 00 */ cmpw r6, r0 -/* 8004086C 40 82 00 30 */ bne lbl_8004089C -lbl_80040870: -/* 80040870 80 02 84 58 */ lwz r0, l_doorWhite(r2) -/* 80040874 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040878 38 60 00 02 */ li r3, 2 -/* 8004087C 38 81 00 14 */ addi r4, r1, 0x14 -/* 80040880 48 31 EA FD */ bl GXSetTevColor -/* 80040884 80 02 84 60 */ lwz r0, l_doorWhite2(r2) -/* 80040888 90 01 00 10 */ stw r0, 0x10(r1) -/* 8004088C 38 60 00 03 */ li r3, 3 -/* 80040890 38 81 00 10 */ addi r4, r1, 0x10 -/* 80040894 48 31 EA E9 */ bl GXSetTevColor -/* 80040898 48 00 00 2C */ b lbl_800408C4 -lbl_8004089C: -/* 8004089C 80 02 84 5C */ lwz r0, l_doorWhiteNoStay(r2) -/* 800408A0 90 01 00 0C */ stw r0, 0xc(r1) -/* 800408A4 38 60 00 02 */ li r3, 2 -/* 800408A8 38 81 00 0C */ addi r4, r1, 0xc -/* 800408AC 48 31 EA D1 */ bl GXSetTevColor -/* 800408B0 80 02 84 64 */ lwz r0, l_doorWhiteNoStay2(r2) -/* 800408B4 90 01 00 08 */ stw r0, 8(r1) -/* 800408B8 38 60 00 03 */ li r3, 3 -/* 800408BC 38 81 00 08 */ addi r4, r1, 8 -/* 800408C0 48 31 EA BD */ bl GXSetTevColor -lbl_800408C4: -/* 800408C4 C0 1D 00 0C */ lfs f0, 0xc(r29) -/* 800408C8 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 800408CC C0 1D 00 10 */ lfs f0, 0x10(r29) -/* 800408D0 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 800408D4 C0 1D 00 14 */ lfs f0, 0x14(r29) -/* 800408D8 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 800408DC 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 800408E0 41 82 00 10 */ beq lbl_800408F0 -/* 800408E4 7F C3 07 74 */ extsb r3, r30 -/* 800408E8 38 81 00 18 */ addi r4, r1, 0x18 -/* 800408EC 4B FF E4 75 */ bl correctionOriginPos__10dMapInfo_nFScP3Vec -lbl_800408F0: -/* 800408F0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 800408F4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 800408F8 C0 21 00 18 */ lfs f1, 0x18(r1) -/* 800408FC C0 41 00 20 */ lfs f2, 0x20(r1) -/* 80040900 C0 62 84 28 */ lfs f3, lit_3796(r2) -/* 80040904 48 30 5F E5 */ bl PSMTXTrans -/* 80040908 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8004090C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80040910 A8 9D 00 1A */ lha r4, 0x1a(r29) -/* 80040914 4B FC BB B9 */ bl mDoMtx_ZrotM__FPA4_fs -/* 80040918 C0 22 84 70 */ lfs f1, lit_4484(r2) -/* 8004091C FC 40 08 90 */ fmr f2, f1 -/* 80040920 C0 62 84 38 */ lfs f3, lit_4202(r2) -/* 80040924 4B FC C5 15 */ bl scaleM__14mDoMtx_stack_cFfff -/* 80040928 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8004092C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80040930 3C 80 80 38 */ lis r4, l_100x100BoxVertexList@ha /* 0x80379C58@ha */ -/* 80040934 38 84 9C 58 */ addi r4, r4, l_100x100BoxVertexList@l /* 0x80379C58@l */ -/* 80040938 38 A1 00 24 */ addi r5, r1, 0x24 -/* 8004093C 38 C0 00 04 */ li r6, 4 -/* 80040940 48 30 64 81 */ bl PSMTXMultVecArray -/* 80040944 38 60 00 80 */ li r3, 0x80 -/* 80040948 38 80 00 00 */ li r4, 0 -/* 8004094C 38 A0 00 04 */ li r5, 4 -/* 80040950 48 31 BE 15 */ bl GXBegin -/* 80040954 38 A0 00 00 */ li r5, 0 -/* 80040958 3C 60 CC 01 */ lis r3, 0xcc01 -/* 8004095C 48 00 00 34 */ b lbl_80040990 -lbl_80040960: -/* 80040960 54 A0 06 3E */ clrlwi r0, r5, 0x18 -/* 80040964 1C 00 00 0C */ mulli r0, r0, 0xc -/* 80040968 38 81 00 24 */ addi r4, r1, 0x24 -/* 8004096C 7C 84 02 14 */ add r4, r4, r0 -/* 80040970 C0 04 00 00 */ lfs f0, 0(r4) -/* 80040974 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80040978 C0 04 00 04 */ lfs f0, 4(r4) -/* 8004097C D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80040980 C0 04 00 08 */ lfs f0, 8(r4) -/* 80040984 D0 03 80 00 */ stfs f0, -0x8000(r3) -/* 80040988 98 A3 80 00 */ stb r5, -0x8000(r3) -/* 8004098C 38 A5 00 01 */ addi r5, r5, 1 -lbl_80040990: -/* 80040990 54 A0 06 3E */ clrlwi r0, r5, 0x18 -/* 80040994 28 00 00 04 */ cmplwi r0, 4 -/* 80040998 41 80 FF C8 */ blt lbl_80040960 -/* 8004099C 39 61 00 70 */ addi r11, r1, 0x70 -/* 800409A0 48 32 18 89 */ bl _restgpr_29 -/* 800409A4 80 01 00 74 */ lwz r0, 0x74(r1) -/* 800409A8 7C 08 03 A6 */ mtlr r0 -/* 800409AC 38 21 00 70 */ addi r1, r1, 0x70 -/* 800409B0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s deleted file mode 100644 index 9c6aabc082..0000000000 --- a/asm/d/map/d_map_path_dmap/draw__16renderingDAmap_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003FE18: -/* 8003FE18 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FE1C 7C 08 02 A6 */ mflr r0 -/* 8003FE20 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FE24 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003FE28 7C 7F 1B 78 */ mr r31, r3 -/* 8003FE2C 4B FF CF 81 */ bl renderingMap__15dRenderingMap_cFv -/* 8003FE30 38 00 00 01 */ li r0, 1 -/* 8003FE34 98 1F 00 31 */ stb r0, 0x31(r31) -/* 8003FE38 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003FE3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FE40 7C 08 03 A6 */ mtlr r0 -/* 8003FE44 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FE48 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s b/asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s deleted file mode 100644 index 42599a787d..0000000000 --- a/asm/d/map/d_map_path_dmap/entry__16renderingDAmap_cFfffiSc.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8003FD08: -/* 8003FD08 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003FD0C 7C 08 02 A6 */ mflr r0 -/* 8003FD10 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003FD14 7C 66 1B 78 */ mr r6, r3 -/* 8003FD18 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 8003FD1C D0 43 00 14 */ stfs f2, 0x14(r3) -/* 8003FD20 D0 63 00 18 */ stfs f3, 0x18(r3) -/* 8003FD24 C0 23 00 18 */ lfs f1, 0x18(r3) -/* 8003FD28 A0 03 00 20 */ lhz r0, 0x20(r3) -/* 8003FD2C C8 42 84 40 */ lfd f2, lit_4211(r2) -/* 8003FD30 90 01 00 0C */ stw r0, 0xc(r1) -/* 8003FD34 3C 60 43 30 */ lis r3, 0x4330 -/* 8003FD38 90 61 00 08 */ stw r3, 8(r1) -/* 8003FD3C C8 01 00 08 */ lfd f0, 8(r1) -/* 8003FD40 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8003FD44 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003FD48 D0 06 00 08 */ stfs f0, 8(r6) -/* 8003FD4C C0 26 00 18 */ lfs f1, 0x18(r6) -/* 8003FD50 A0 06 00 22 */ lhz r0, 0x22(r6) -/* 8003FD54 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FD58 90 61 00 10 */ stw r3, 0x10(r1) -/* 8003FD5C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8003FD60 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8003FD64 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003FD68 D0 06 00 0C */ stfs f0, 0xc(r6) -/* 8003FD6C 90 86 00 2C */ stw r4, 0x2c(r6) -/* 8003FD70 98 A6 00 30 */ stb r5, 0x30(r6) -/* 8003FD74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003FD78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003FD7C 38 63 5F 64 */ addi r3, r3, 0x5f64 -/* 8003FD80 38 83 00 64 */ addi r4, r3, 0x64 -/* 8003FD84 38 A3 00 68 */ addi r5, r3, 0x68 -/* 8003FD88 48 01 6A 0D */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c -/* 8003FD8C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003FD90 7C 08 03 A6 */ mtlr r0 -/* 8003FD94 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003FD98 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s b/asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s deleted file mode 100644 index 61d84e5fb6..0000000000 --- a/asm/d/map/d_map_path_dmap/getBackColor__16renderingDAmap_cCFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8003FE4C: -/* 8003FE4C 38 62 84 48 */ la r3, l_mapBaseColor(r2) /* 80451E48-_SDA2_BASE_ */ -/* 8003FE50 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s b/asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s deleted file mode 100644 index 426e719a17..0000000000 --- a/asm/d/map/d_map_path_dmap/getConstRestartIconPointer__10dMapInfo_nFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_8003EF70: -/* 8003EF70 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003EF74 7C 08 02 A6 */ mflr r0 -/* 8003EF78 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003EF7C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003EF80 48 32 32 59 */ bl _savegpr_28 -/* 8003EF84 3C 60 80 42 */ lis r3, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */ -/* 8003EF88 38 63 54 38 */ addi r3, r3, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */ -/* 8003EF8C 8B C3 00 5C */ lbz r30, 0x5c(r3) -/* 8003EF90 38 60 00 07 */ li r3, 7 -/* 8003EF94 48 05 D3 CD */ bl getFirstData__7dTres_cFUc -/* 8003EF98 7C 7D 1B 78 */ mr r29, r3 -/* 8003EF9C 3B 80 00 00 */ li r28, 0 -/* 8003EFA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003EFA4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003EFA8 48 00 00 58 */ b lbl_8003F000 -lbl_8003EFAC: -/* 8003EFAC 88 1D 00 01 */ lbz r0, 1(r29) -/* 8003EFB0 7C 05 07 74 */ extsb r5, r0 -/* 8003EFB4 88 1F 0D B4 */ lbz r0, 0xdb4(r31) -/* 8003EFB8 7C 00 07 74 */ extsb r0, r0 -/* 8003EFBC 7C 05 00 00 */ cmpw r5, r0 -/* 8003EFC0 40 82 00 30 */ bne lbl_8003EFF0 -/* 8003EFC4 88 1D 00 10 */ lbz r0, 0x10(r29) -/* 8003EFC8 28 00 00 FF */ cmplwi r0, 0xff -/* 8003EFCC 41 82 00 44 */ beq lbl_8003F010 -/* 8003EFD0 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 8003EFD4 28 04 00 FF */ cmplwi r4, 0xff -/* 8003EFD8 41 82 00 18 */ beq lbl_8003EFF0 -/* 8003EFDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003EFE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003EFE4 4B FF 63 7D */ bl isSwitch__10dSv_info_cCFii -/* 8003EFE8 2C 03 00 00 */ cmpwi r3, 0 -/* 8003EFEC 40 82 00 24 */ bne lbl_8003F010 -lbl_8003EFF0: -/* 8003EFF0 7F A3 EB 78 */ mr r3, r29 -/* 8003EFF4 48 05 D3 C1 */ bl getNextData__7dTres_cFPCQ27dTres_c15typeGroupData_c -/* 8003EFF8 7C 7D 1B 78 */ mr r29, r3 -/* 8003EFFC 3B 9C 00 01 */ addi r28, r28, 1 -lbl_8003F000: -/* 8003F000 7C 1C F0 00 */ cmpw r28, r30 -/* 8003F004 40 80 00 0C */ bge lbl_8003F010 -/* 8003F008 28 1D 00 00 */ cmplwi r29, 0 -/* 8003F00C 40 82 FF A0 */ bne lbl_8003EFAC -lbl_8003F010: -/* 8003F010 7F A3 EB 78 */ mr r3, r29 -/* 8003F014 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003F018 48 32 32 0D */ bl _restgpr_28 -/* 8003F01C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003F020 7C 08 03 A6 */ mtlr r0 -/* 8003F024 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003F028 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s b/asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s deleted file mode 100644 index 19d8d41db8..0000000000 --- a/asm/d/map/d_map_path_dmap/getFirstData__28renderingPlusDoorAndCursor_cFUc.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80040A94: -/* 80040A94 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80040A98 7C 08 02 A6 */ mflr r0 -/* 80040A9C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040AA0 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 80040AA4 48 05 B8 BD */ bl getFirstData__7dTres_cFUc -/* 80040AA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80040AAC 7C 08 03 A6 */ mtlr r0 -/* 80040AB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80040AB4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s deleted file mode 100644 index 8776845267..0000000000 --- a/asm/d/map/d_map_path_dmap/getFirstDrawRoomNo__16renderingDAmap_cFv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8003FFF4: -/* 8003FFF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FFF8 7C 08 02 A6 */ mflr r0 -/* 8003FFFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040000 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80040004 93 C1 00 08 */ stw r30, 8(r1) -/* 80040008 7C 7E 1B 78 */ mr r30, r3 -/* 8004000C 3B E0 00 00 */ li r31, 0 -/* 80040010 81 83 00 00 */ lwz r12, 0(r3) -/* 80040014 81 8C 00 7C */ lwz r12, 0x7c(r12) -/* 80040018 7D 89 03 A6 */ mtctr r12 -/* 8004001C 4E 80 04 21 */ bctrl -/* 80040020 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040024 41 82 00 3C */ beq lbl_80040060 -/* 80040028 7F C3 F3 78 */ mr r3, r30 -/* 8004002C 38 80 00 00 */ li r4, 0 -/* 80040030 80 BE 00 2C */ lwz r5, 0x2c(r30) -/* 80040034 81 9E 00 00 */ lwz r12, 0(r30) -/* 80040038 81 8C 00 90 */ lwz r12, 0x90(r12) -/* 8004003C 7D 89 03 A6 */ mtctr r12 -/* 80040040 4E 80 04 21 */ bctrl -/* 80040044 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80040048 40 82 00 30 */ bne lbl_80040078 -/* 8004004C 7F C3 F3 78 */ mr r3, r30 -/* 80040050 38 80 00 00 */ li r4, 0 -/* 80040054 48 00 00 41 */ bl getNextDrawRoomNo__16renderingDAmap_cFi -/* 80040058 7C 7F 1B 78 */ mr r31, r3 -/* 8004005C 48 00 00 1C */ b lbl_80040078 -lbl_80040060: -/* 80040060 7F C3 F3 78 */ mr r3, r30 -/* 80040064 81 9E 00 00 */ lwz r12, 0(r30) -/* 80040068 81 8C 00 8C */ lwz r12, 0x8c(r12) -/* 8004006C 7D 89 03 A6 */ mtctr r12 -/* 80040070 4E 80 04 21 */ bctrl -/* 80040074 7C 7F 1B 78 */ mr r31, r3 -lbl_80040078: -/* 80040078 7F E3 FB 78 */ mr r3, r31 -/* 8004007C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80040080 83 C1 00 08 */ lwz r30, 8(r1) -/* 80040084 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80040088 7C 08 03 A6 */ mtlr r0 -/* 8004008C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80040090 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s b/asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s deleted file mode 100644 index 468d48a871..0000000000 --- a/asm/d/map/d_map_path_dmap/getFloorParameter__10dMapInfo_nFfPScPfPfPfPf.s +++ /dev/null @@ -1,118 +0,0 @@ -lbl_8003F24C: -/* 8003F24C 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 8003F250 7C 08 02 A6 */ mflr r0 -/* 8003F254 90 01 00 84 */ stw r0, 0x84(r1) -/* 8003F258 DB E1 00 70 */ stfd f31, 0x70(r1) -/* 8003F25C F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 8003F260 DB C1 00 60 */ stfd f30, 0x60(r1) -/* 8003F264 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 8003F268 DB A1 00 50 */ stfd f29, 0x50(r1) -/* 8003F26C F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */ -/* 8003F270 DB 81 00 40 */ stfd f28, 0x40(r1) -/* 8003F274 F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */ -/* 8003F278 39 61 00 40 */ addi r11, r1, 0x40 -/* 8003F27C 48 32 2F 55 */ bl _savegpr_26 -/* 8003F280 FF 80 08 90 */ fmr f28, f1 -/* 8003F284 7C 7B 1B 78 */ mr r27, r3 -/* 8003F288 7C 9C 23 78 */ mr r28, r4 -/* 8003F28C 7C BD 2B 78 */ mr r29, r5 -/* 8003F290 7C DE 33 78 */ mr r30, r6 -/* 8003F294 7C FF 3B 78 */ mr r31, r7 -/* 8003F298 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003F29C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003F2A0 3B 43 4E 20 */ addi r26, r3, 0x4e20 -/* 8003F2A4 7F 43 D3 78 */ mr r3, r26 -/* 8003F2A8 81 9A 00 00 */ lwz r12, 0(r26) -/* 8003F2AC 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8003F2B0 7D 89 03 A6 */ mtctr r12 -/* 8003F2B4 4E 80 04 21 */ bctrl -/* 8003F2B8 A8 03 00 1A */ lha r0, 0x1a(r3) -/* 8003F2BC C8 22 84 30 */ lfd f1, lit_3957(r2) -/* 8003F2C0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8003F2C4 90 01 00 0C */ stw r0, 0xc(r1) -/* 8003F2C8 3C 00 43 30 */ lis r0, 0x4330 -/* 8003F2CC 90 01 00 08 */ stw r0, 8(r1) -/* 8003F2D0 C8 01 00 08 */ lfd f0, 8(r1) -/* 8003F2D4 EF E0 08 28 */ fsubs f31, f0, f1 -/* 8003F2D8 7F 43 D3 78 */ mr r3, r26 -/* 8003F2DC 81 9A 00 00 */ lwz r12, 0(r26) -/* 8003F2E0 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8003F2E4 7D 89 03 A6 */ mtctr r12 -/* 8003F2E8 4E 80 04 21 */ bctrl -/* 8003F2EC A8 03 00 1C */ lha r0, 0x1c(r3) -/* 8003F2F0 C8 22 84 30 */ lfd f1, lit_3957(r2) -/* 8003F2F4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8003F2F8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F2FC 3C 00 43 30 */ lis r0, 0x4330 -/* 8003F300 90 01 00 10 */ stw r0, 0x10(r1) -/* 8003F304 C8 01 00 10 */ lfd f0, 0x10(r1) -/* 8003F308 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8003F30C FC 00 02 10 */ fabs f0, f0 -/* 8003F310 FF C0 00 18 */ frsp f30, f0 -/* 8003F314 7F 43 D3 78 */ mr r3, r26 -/* 8003F318 81 9A 00 00 */ lwz r12, 0(r26) -/* 8003F31C 81 8C 00 BC */ lwz r12, 0xbc(r12) -/* 8003F320 7D 89 03 A6 */ mtctr r12 -/* 8003F324 4E 80 04 21 */ bctrl -/* 8003F328 A8 03 00 1E */ lha r0, 0x1e(r3) -/* 8003F32C C8 22 84 30 */ lfd f1, lit_3957(r2) -/* 8003F330 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8003F334 90 01 00 1C */ stw r0, 0x1c(r1) -/* 8003F338 3C 00 43 30 */ lis r0, 0x4330 -/* 8003F33C 90 01 00 18 */ stw r0, 0x18(r1) -/* 8003F340 C8 01 00 18 */ lfd f0, 0x18(r1) -/* 8003F344 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8003F348 FC 00 02 10 */ fabs f0, f0 -/* 8003F34C FF A0 00 18 */ frsp f29, f0 -/* 8003F350 EC 3C F8 24 */ fdivs f1, f28, f31 -/* 8003F354 48 32 CD A9 */ bl floor -/* 8003F358 FC 00 08 18 */ frsp f0, f1 -/* 8003F35C FC 00 00 1E */ fctiwz f0, f0 -/* 8003F360 D8 01 00 20 */ stfd f0, 0x20(r1) -/* 8003F364 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003F368 28 1B 00 00 */ cmplwi r27, 0 -/* 8003F36C 41 82 00 08 */ beq lbl_8003F374 -/* 8003F370 98 1B 00 00 */ stb r0, 0(r27) -lbl_8003F374: -/* 8003F374 7C 00 07 74 */ extsb r0, r0 -/* 8003F378 C8 22 84 30 */ lfd f1, lit_3957(r2) -/* 8003F37C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8003F380 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003F384 3C 00 43 30 */ lis r0, 0x4330 -/* 8003F388 90 01 00 20 */ stw r0, 0x20(r1) -/* 8003F38C C8 01 00 20 */ lfd f0, 0x20(r1) -/* 8003F390 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8003F394 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 8003F398 28 1C 00 00 */ cmplwi r28, 0 -/* 8003F39C 41 82 00 08 */ beq lbl_8003F3A4 -/* 8003F3A0 D0 3C 00 00 */ stfs f1, 0(r28) -lbl_8003F3A4: -/* 8003F3A4 28 1D 00 00 */ cmplwi r29, 0 -/* 8003F3A8 41 82 00 0C */ beq lbl_8003F3B4 -/* 8003F3AC EC 01 F0 2A */ fadds f0, f1, f30 -/* 8003F3B0 D0 1D 00 00 */ stfs f0, 0(r29) -lbl_8003F3B4: -/* 8003F3B4 28 1E 00 00 */ cmplwi r30, 0 -/* 8003F3B8 41 82 00 10 */ beq lbl_8003F3C8 -/* 8003F3BC EC 01 F8 2A */ fadds f0, f1, f31 -/* 8003F3C0 EC 00 E8 28 */ fsubs f0, f0, f29 -/* 8003F3C4 D0 1E 00 00 */ stfs f0, 0(r30) -lbl_8003F3C8: -/* 8003F3C8 28 1F 00 00 */ cmplwi r31, 0 -/* 8003F3CC 41 82 00 08 */ beq lbl_8003F3D4 -/* 8003F3D0 D3 FF 00 00 */ stfs f31, 0(r31) -lbl_8003F3D4: -/* 8003F3D4 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 8003F3D8 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 8003F3DC E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 8003F3E0 CB C1 00 60 */ lfd f30, 0x60(r1) -/* 8003F3E4 E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */ -/* 8003F3E8 CB A1 00 50 */ lfd f29, 0x50(r1) -/* 8003F3EC E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */ -/* 8003F3F0 CB 81 00 40 */ lfd f28, 0x40(r1) -/* 8003F3F4 39 61 00 40 */ addi r11, r1, 0x40 -/* 8003F3F8 48 32 2E 25 */ bl _restgpr_26 -/* 8003F3FC 80 01 00 84 */ lwz r0, 0x84(r1) -/* 8003F400 7C 08 03 A6 */ mtlr r0 -/* 8003F404 38 21 00 80 */ addi r1, r1, 0x80 -/* 8003F408 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s b/asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s deleted file mode 100644 index 540a9d4c6d..0000000000 --- a/asm/d/map/d_map_path_dmap/getIconGroupNumber__16renderingDAmap_cCFUc.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80040AE4: -/* 80040AE4 3C 60 80 42 */ lis r3, mTypeGroupListAll__7dTres_c@ha /* 0x80425438@ha */ -/* 80040AE8 38 63 54 38 */ addi r3, r3, mTypeGroupListAll__7dTres_c@l /* 0x80425438@l */ -/* 80040AEC 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 80040AF0 1C 00 00 0C */ mulli r0, r0, 0xc -/* 80040AF4 7C 63 02 14 */ add r3, r3, r0 -/* 80040AF8 88 63 00 08 */ lbz r3, 8(r3) -/* 80040AFC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s b/asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s deleted file mode 100644 index e788feb03d..0000000000 --- a/asm/d/map/d_map_path_dmap/getIconPosition__28renderingPlusDoorAndCursor_cCFPQ27dTres_c15typeGroupData_c.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_80040ADC: -/* 80040ADC 38 64 00 04 */ addi r3, r4, 4 -/* 80040AE0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s b/asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s deleted file mode 100644 index 93c09b1965..0000000000 --- a/asm/d/map/d_map_path_dmap/getMapPlayerAngleY__10dMapInfo_nFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8003EF20: -/* 8003EF20 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8003EF24 7C 00 07 74 */ extsb r0, r0 -/* 8003EF28 38 60 00 00 */ li r3, 0 -/* 8003EF2C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003EF30 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003EF34 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 8003EF38 28 04 00 00 */ cmplwi r4, 0 -/* 8003EF3C 41 82 00 08 */ beq lbl_8003EF44 -/* 8003EF40 A8 64 04 E6 */ lha r3, 0x4e6(r4) -lbl_8003EF44: -/* 8003EF44 3C 80 80 3F */ lis r4, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003EF48 38 84 60 94 */ addi r4, r4, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003EF4C 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8003EF50 7C 84 02 14 */ add r4, r4, r0 -/* 8003EF54 80 84 00 20 */ lwz r4, 0x20(r4) -/* 8003EF58 28 04 00 00 */ cmplwi r4, 0 -/* 8003EF5C 4D 82 00 20 */ beqlr -/* 8003EF60 A8 04 00 1C */ lha r0, 0x1c(r4) -/* 8003EF64 7C 03 02 14 */ add r0, r3, r0 -/* 8003EF68 7C 03 07 34 */ extsh r3, r0 -/* 8003EF6C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s b/asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s deleted file mode 100644 index c03c664b50..0000000000 --- a/asm/d/map/d_map_path_dmap/getMapPlayerPos__10dMapInfo_nFv.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_8003EE5C: -/* 8003EE5C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003EE60 7C 08 02 A6 */ mflr r0 -/* 8003EE64 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003EE68 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8003EE6C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8003EE70 7C 7E 1B 78 */ mr r30, r3 -/* 8003EE74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003EE78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003EE7C 80 63 5D AC */ lwz r3, 0x5dac(r3) -/* 8003EE80 28 03 00 00 */ cmplwi r3, 0 -/* 8003EE84 41 82 00 20 */ beq lbl_8003EEA4 -/* 8003EE88 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 8003EE8C D0 01 00 08 */ stfs f0, 8(r1) -/* 8003EE90 C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 8003EE94 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003EE98 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 8003EE9C D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8003EEA0 48 00 00 14 */ b lbl_8003EEB4 -lbl_8003EEA4: -/* 8003EEA4 C0 02 84 28 */ lfs f0, lit_3796(r2) -/* 8003EEA8 D0 01 00 08 */ stfs f0, 8(r1) -/* 8003EEAC D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003EEB0 D0 01 00 10 */ stfs f0, 0x10(r1) -lbl_8003EEB4: -/* 8003EEB4 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13) -/* 8003EEB8 7C 00 07 74 */ extsb r0, r0 -/* 8003EEBC 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003EEC0 38 63 60 94 */ addi r3, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003EEC4 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8003EEC8 7C 63 02 14 */ add r3, r3, r0 -/* 8003EECC 83 E3 00 20 */ lwz r31, 0x20(r3) -/* 8003EED0 28 1F 00 00 */ cmplwi r31, 0 -/* 8003EED4 41 82 00 1C */ beq lbl_8003EEF0 -/* 8003EED8 7F E3 FB 78 */ mr r3, r31 -/* 8003EEDC 38 81 00 08 */ addi r4, r1, 8 -/* 8003EEE0 4B FF FF 0D */ bl rotAngle__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec -/* 8003EEE4 7F E3 FB 78 */ mr r3, r31 -/* 8003EEE8 38 81 00 08 */ addi r4, r1, 8 -/* 8003EEEC 4B FF FE D5 */ bl offsetPlus__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec -lbl_8003EEF0: -/* 8003EEF0 80 61 00 08 */ lwz r3, 8(r1) -/* 8003EEF4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8003EEF8 90 7E 00 00 */ stw r3, 0(r30) -/* 8003EEFC 90 1E 00 04 */ stw r0, 4(r30) -/* 8003EF00 80 01 00 10 */ lwz r0, 0x10(r1) -/* 8003EF04 90 1E 00 08 */ stw r0, 8(r30) -/* 8003EF08 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003EF0C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8003EF10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003EF14 7C 08 03 A6 */ mtlr r0 -/* 8003EF18 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003EF1C 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s b/asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s deleted file mode 100644 index 22ded1a6f0..0000000000 --- a/asm/d/map/d_map_path_dmap/getMapRestartPos__10dMapInfo_nFv.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8003F02C: -/* 8003F02C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003F030 7C 08 02 A6 */ mflr r0 -/* 8003F034 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003F038 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8003F03C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8003F040 7C 7E 1B 78 */ mr r30, r3 -/* 8003F044 4B FF FF 2D */ bl getConstRestartIconPointer__10dMapInfo_nFv -/* 8003F048 28 03 00 00 */ cmplwi r3, 0 -/* 8003F04C 41 82 00 20 */ beq lbl_8003F06C -/* 8003F050 C0 03 00 04 */ lfs f0, 4(r3) -/* 8003F054 D0 01 00 08 */ stfs f0, 8(r1) -/* 8003F058 C0 03 00 08 */ lfs f0, 8(r3) -/* 8003F05C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003F060 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8003F064 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8003F068 48 00 00 24 */ b lbl_8003F08C -lbl_8003F06C: -/* 8003F06C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003F070 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003F074 C0 03 0D BC */ lfs f0, 0xdbc(r3) -/* 8003F078 D0 01 00 08 */ stfs f0, 8(r1) -/* 8003F07C C0 03 0D C0 */ lfs f0, 0xdc0(r3) -/* 8003F080 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003F084 C0 03 0D C4 */ lfs f0, 0xdc4(r3) -/* 8003F088 D0 01 00 10 */ stfs f0, 0x10(r1) -lbl_8003F08C: -/* 8003F08C 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F090 38 83 60 94 */ addi r4, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F094 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003F098 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003F09C 88 03 0D B4 */ lbz r0, 0xdb4(r3) -/* 8003F0A0 7C 00 07 74 */ extsb r0, r0 -/* 8003F0A4 1C 00 04 04 */ mulli r0, r0, 0x404 -/* 8003F0A8 7C 64 02 14 */ add r3, r4, r0 -/* 8003F0AC 83 E3 00 20 */ lwz r31, 0x20(r3) -/* 8003F0B0 7F E3 FB 78 */ mr r3, r31 -/* 8003F0B4 38 81 00 08 */ addi r4, r1, 8 -/* 8003F0B8 4B FF FD 35 */ bl rotAngle__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec -/* 8003F0BC 7F E3 FB 78 */ mr r3, r31 -/* 8003F0C0 38 81 00 08 */ addi r4, r1, 8 -/* 8003F0C4 4B FF FC FD */ bl offsetPlus__10dMapInfo_nFPC21dStage_FileList2_dt_cP3Vec -/* 8003F0C8 80 61 00 08 */ lwz r3, 8(r1) -/* 8003F0CC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8003F0D0 90 7E 00 00 */ stw r3, 0(r30) -/* 8003F0D4 90 1E 00 04 */ stw r0, 4(r30) -/* 8003F0D8 80 01 00 10 */ lwz r0, 0x10(r1) -/* 8003F0DC 90 1E 00 08 */ stw r0, 8(r30) -/* 8003F0E0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8003F0E4 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8003F0E8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003F0EC 7C 08 03 A6 */ mtlr r0 -/* 8003F0F0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003F0F4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s b/asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s deleted file mode 100644 index 9e63d0f973..0000000000 --- a/asm/d/map/d_map_path_dmap/getNextData__28renderingPlusDoorAndCursor_cFPQ27dTres_c15typeGroupData_c.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80040AB8: -/* 80040AB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80040ABC 7C 08 02 A6 */ mflr r0 -/* 80040AC0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80040AC4 7C 83 23 78 */ mr r3, r4 -/* 80040AC8 48 05 B8 D5 */ bl getNextData__7dTres_cFPQ27dTres_c15typeGroupData_c -/* 80040ACC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80040AD0 7C 08 03 A6 */ mtlr r0 -/* 80040AD4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80040AD8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s b/asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s deleted file mode 100644 index aa2497b144..0000000000 --- a/asm/d/map/d_map_path_dmap/getNextDrawLayerNo__16renderingDAmap_cFi.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_800402E8: -/* 800402E8 38 64 00 01 */ addi r3, r4, 1 -/* 800402EC 2C 03 00 02 */ cmpwi r3, 2 -/* 800402F0 4D 80 00 20 */ bltlr -/* 800402F4 38 60 FF FF */ li r3, -1 -/* 800402F8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s b/asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s deleted file mode 100644 index c43d86dda1..0000000000 --- a/asm/d/map/d_map_path_dmap/getRoomCenter__10dMapInfo_nFiPfPf.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_8003F19C: -/* 8003F19C 3C C0 80 3F */ lis r6, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F1A0 38 C6 60 94 */ addi r6, r6, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F1A4 1C 03 04 04 */ mulli r0, r3, 0x404 -/* 8003F1A8 7C 66 02 14 */ add r3, r6, r0 -/* 8003F1AC 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8003F1B0 28 04 00 00 */ cmplwi r4, 0 -/* 8003F1B4 41 82 00 1C */ beq lbl_8003F1D0 -/* 8003F1B8 C0 42 84 2C */ lfs f2, lit_3887(r2) -/* 8003F1BC C0 23 00 08 */ lfs f1, 8(r3) -/* 8003F1C0 C0 03 00 00 */ lfs f0, 0(r3) -/* 8003F1C4 EC 01 00 2A */ fadds f0, f1, f0 -/* 8003F1C8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8003F1CC D0 04 00 00 */ stfs f0, 0(r4) -lbl_8003F1D0: -/* 8003F1D0 28 05 00 00 */ cmplwi r5, 0 -/* 8003F1D4 4D 82 00 20 */ beqlr -/* 8003F1D8 C0 42 84 2C */ lfs f2, lit_3887(r2) -/* 8003F1DC C0 23 00 0C */ lfs f1, 0xc(r3) -/* 8003F1E0 C0 03 00 04 */ lfs f0, 4(r3) -/* 8003F1E4 EC 01 00 2A */ fadds f0, f1, f0 -/* 8003F1E8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8003F1EC D0 05 00 00 */ stfs f0, 0(r5) -/* 8003F1F0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s b/asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s deleted file mode 100644 index 091ce27e1e..0000000000 --- a/asm/d/map/d_map_path_dmap/getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_8003F1F4: -/* 8003F1F4 3D 00 80 3F */ lis r8, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8003F1F8 39 08 60 94 */ addi r8, r8, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8003F1FC 1C 03 04 04 */ mulli r0, r3, 0x404 -/* 8003F200 7C 68 02 14 */ add r3, r8, r0 -/* 8003F204 80 63 00 20 */ lwz r3, 0x20(r3) -/* 8003F208 28 04 00 00 */ cmplwi r4, 0 -/* 8003F20C 41 82 00 0C */ beq lbl_8003F218 -/* 8003F210 C0 03 00 00 */ lfs f0, 0(r3) -/* 8003F214 D0 04 00 00 */ stfs f0, 0(r4) -lbl_8003F218: -/* 8003F218 28 06 00 00 */ cmplwi r6, 0 -/* 8003F21C 41 82 00 0C */ beq lbl_8003F228 -/* 8003F220 C0 03 00 08 */ lfs f0, 8(r3) -/* 8003F224 D0 06 00 00 */ stfs f0, 0(r6) -lbl_8003F228: -/* 8003F228 28 05 00 00 */ cmplwi r5, 0 -/* 8003F22C 41 82 00 0C */ beq lbl_8003F238 -/* 8003F230 C0 03 00 04 */ lfs f0, 4(r3) -/* 8003F234 D0 05 00 00 */ stfs f0, 0(r5) -lbl_8003F238: -/* 8003F238 28 07 00 00 */ cmplwi r7, 0 -/* 8003F23C 4D 82 00 20 */ beqlr -/* 8003F240 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8003F244 D0 07 00 00 */ stfs f0, 0(r7) -/* 8003F248 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s deleted file mode 100644 index 009a6543c7..0000000000 --- a/asm/d/map/d_map_path_dmap/getRoomNoSingle__16renderingDAmap_cFv.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_8003FFEC: -/* 8003FFEC 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 8003FFF0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s b/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s deleted file mode 100644 index d93b1d8bbb..0000000000 --- a/asm/d/map/d_map_path_dmap/getTopBottomFloorNo__8dMpath_cFPScPSc.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_8003F760: -/* 8003F760 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003F764 7C 08 02 A6 */ mflr r0 -/* 8003F768 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F76C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8003F770 93 C1 00 08 */ stw r30, 8(r1) -/* 8003F774 7C 7E 1B 78 */ mr r30, r3 -/* 8003F778 7C 9F 23 78 */ mr r31, r4 -/* 8003F77C 4B FF FF DD */ bl isExistMapPathData__8dMpath_cFv -/* 8003F780 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8003F784 41 82 00 28 */ beq lbl_8003F7AC -/* 8003F788 28 1E 00 00 */ cmplwi r30, 0 -/* 8003F78C 41 82 00 0C */ beq lbl_8003F798 -/* 8003F790 88 0D 80 B5 */ lbz r0, mBottomFloorNo__8dMpath_c+0x1(r13) -/* 8003F794 98 1E 00 00 */ stb r0, 0(r30) -lbl_8003F798: -/* 8003F798 28 1F 00 00 */ cmplwi r31, 0 -/* 8003F79C 41 82 00 30 */ beq lbl_8003F7CC -/* 8003F7A0 88 0D 80 B4 */ lbz r0, mBottomFloorNo__8dMpath_c+0x0(r13) -/* 8003F7A4 98 1F 00 00 */ stb r0, 0(r31) -/* 8003F7A8 48 00 00 24 */ b lbl_8003F7CC -lbl_8003F7AC: -/* 8003F7AC 28 1E 00 00 */ cmplwi r30, 0 -/* 8003F7B0 41 82 00 0C */ beq lbl_8003F7BC -/* 8003F7B4 38 00 00 00 */ li r0, 0 -/* 8003F7B8 98 1E 00 00 */ stb r0, 0(r30) -lbl_8003F7BC: -/* 8003F7BC 28 1F 00 00 */ cmplwi r31, 0 -/* 8003F7C0 41 82 00 0C */ beq lbl_8003F7CC -/* 8003F7C4 38 00 00 00 */ li r0, 0 -/* 8003F7C8 98 1F 00 00 */ stb r0, 0(r31) -lbl_8003F7CC: -/* 8003F7CC 38 60 00 01 */ li r3, 1 -/* 8003F7D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8003F7D4 83 C1 00 08 */ lwz r30, 8(r1) -/* 8003F7D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003F7DC 7C 08 03 A6 */ mtlr r0 -/* 8003F7E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003F7E4 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s b/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s deleted file mode 100644 index fee2d9c86a..0000000000 --- a/asm/d/map/d_map_path_dmap/init__10dMapInfo_cFv.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8003F6FC: -/* 8003F6FC 38 00 00 00 */ li r0, 0 -/* 8003F700 98 0D 88 D8 */ stb r0, mNowStayFloorNo__10dMapInfo_c(r13) -/* 8003F704 98 0D 88 E0 */ stb r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) -/* 8003F708 38 00 FF FF */ li r0, -1 -/* 8003F70C 90 0D 88 DC */ stw r0, mNowStayRoomNo__10dMapInfo_c(r13) -/* 8003F710 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s b/asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s deleted file mode 100644 index e8cd545ebc..0000000000 --- a/asm/d/map/d_map_path_dmap/init__16renderingDAmap_cFPUcUsUsUsUs.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8003FCC8: -/* 8003FCC8 38 00 00 00 */ li r0, 0 -/* 8003FCCC 98 03 00 31 */ stb r0, 0x31(r3) -/* 8003FCD0 90 83 00 04 */ stw r4, 4(r3) -/* 8003FCD4 B0 A3 00 1C */ sth r5, 0x1c(r3) -/* 8003FCD8 B0 C3 00 1E */ sth r6, 0x1e(r3) -/* 8003FCDC B0 E3 00 20 */ sth r7, 0x20(r3) -/* 8003FCE0 B1 03 00 22 */ sth r8, 0x22(r3) -/* 8003FCE4 C0 02 84 28 */ lfs f0, lit_3796(r2) -/* 8003FCE8 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8003FCEC D0 03 00 14 */ stfs f0, 0x14(r3) -/* 8003FCF0 C0 02 84 38 */ lfs f0, lit_4202(r2) -/* 8003FCF4 D0 03 00 08 */ stfs f0, 8(r3) -/* 8003FCF8 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8003FCFC 90 03 00 2C */ stw r0, 0x2c(r3) -/* 8003FD00 98 03 00 30 */ stb r0, 0x30(r3) -/* 8003FD04 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s b/asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s deleted file mode 100644 index fc932f0509..0000000000 --- a/asm/d/map/d_map_path_dmap/isDrawIconSingle__16renderingDAmap_cCFPCQ27dTres_c6data_siibbPC3Vec.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_800409E0: -/* 800409E0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 800409E4 7C 08 02 A6 */ mflr r0 -/* 800409E8 90 01 00 34 */ stw r0, 0x34(r1) -/* 800409EC 39 61 00 30 */ addi r11, r1, 0x30 -/* 800409F0 48 32 17 D9 */ bl _savegpr_24 -/* 800409F4 7C 78 1B 78 */ mr r24, r3 -/* 800409F8 7C 99 23 78 */ mr r25, r4 -/* 800409FC 7C BA 2B 78 */ mr r26, r5 -/* 80040A00 7C DB 33 78 */ mr r27, r6 -/* 80040A04 7D 1C 43 78 */ mr r28, r8 -/* 80040A08 7D 3D 4B 78 */ mr r29, r9 -/* 80040A0C 88 84 00 01 */ lbz r4, 1(r4) -/* 80040A10 7C 84 07 74 */ extsb r4, r4 -/* 80040A14 81 83 00 00 */ lwz r12, 0(r3) -/* 80040A18 81 8C 00 94 */ lwz r12, 0x94(r12) -/* 80040A1C 7D 89 03 A6 */ mtctr r12 -/* 80040A20 4E 80 04 21 */ bctrl -/* 80040A24 7C 7F 1B 78 */ mr r31, r3 -/* 80040A28 3B C0 00 00 */ li r30, 0 -/* 80040A2C 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 80040A30 41 82 00 28 */ beq lbl_80040A58 -/* 80040A34 7F 03 C3 78 */ mr r3, r24 -/* 80040A38 C0 3D 00 04 */ lfs f1, 4(r29) -/* 80040A3C 88 99 00 01 */ lbz r4, 1(r25) -/* 80040A40 7C 84 07 74 */ extsb r4, r4 -/* 80040A44 4B FF F2 61 */ bl calcFloorNoForObjectByMapPathRend__16renderingDAmap_cCFfi -/* 80040A48 7C 60 07 74 */ extsb r0, r3 -/* 80040A4C 7C 00 D8 00 */ cmpw r0, r27 -/* 80040A50 40 82 00 08 */ bne lbl_80040A58 -/* 80040A54 3B C0 00 01 */ li r30, 1 -lbl_80040A58: -/* 80040A58 7F 03 C3 78 */ mr r3, r24 -/* 80040A5C 7F 24 CB 78 */ mr r4, r25 -/* 80040A60 7F C5 F3 78 */ mr r5, r30 -/* 80040A64 7F E6 FB 78 */ mr r6, r31 -/* 80040A68 7F 47 D3 78 */ mr r7, r26 -/* 80040A6C 81 98 00 00 */ lwz r12, 0(r24) -/* 80040A70 81 8C 00 88 */ lwz r12, 0x88(r12) -/* 80040A74 7D 89 03 A6 */ mtctr r12 -/* 80040A78 4E 80 04 21 */ bctrl -/* 80040A7C 39 61 00 30 */ addi r11, r1, 0x30 -/* 80040A80 48 32 17 95 */ bl _restgpr_24 -/* 80040A84 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80040A88 7C 08 03 A6 */ mtlr r0 -/* 80040A8C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80040A90 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s deleted file mode 100644 index 368e623c41..0000000000 --- a/asm/d/map/d_map_path_dmap/isDrawPath__16renderingDAmap_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_800402C0: -/* 800402C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800402C4 7C 08 02 A6 */ mflr r0 -/* 800402C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 800402CC 4B FF F4 8D */ bl isExistMapPathData__8dMpath_cFv -/* 800402D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800402D4 7C 08 03 A6 */ mtlr r0 -/* 800402D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800402DC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s b/asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s deleted file mode 100644 index 8ec3ec6326..0000000000 --- a/asm/d/map/d_map_path_dmap/isDrawRoomIcon__16renderingDAmap_cCFii.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_800409B4: -/* 800409B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 800409B8 7C 08 02 A6 */ mflr r0 -/* 800409BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 800409C0 81 83 00 00 */ lwz r12, 0(r3) -/* 800409C4 81 8C 00 90 */ lwz r12, 0x90(r12) -/* 800409C8 7D 89 03 A6 */ mtctr r12 -/* 800409CC 4E 80 04 21 */ bctrl -/* 800409D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 800409D4 7C 08 03 A6 */ mtlr r0 -/* 800409D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 800409DC 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s b/asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s deleted file mode 100644 index 11ebe68be0..0000000000 --- a/asm/d/map/d_map_path_dmap/isRenderingFloor__16renderingDAmap_cFi.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8003FE54: -/* 8003FE54 88 03 00 30 */ lbz r0, 0x30(r3) -/* 8003FE58 7C 00 07 74 */ extsb r0, r0 -/* 8003FE5C 7C 04 00 50 */ subf r0, r4, r0 -/* 8003FE60 7C 00 00 34 */ cntlzw r0, r0 -/* 8003FE64 54 03 D9 7E */ srwi r3, r0, 5 -/* 8003FE68 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s b/asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s deleted file mode 100644 index 61d070d4e8..0000000000 --- a/asm/d/map/d_map_path_dmap/isSwitch__16renderingDAmap_cFPCQ211dDrawPath_c11group_class.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8003FD9C: -/* 8003FD9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FDA0 7C 08 02 A6 */ mflr r0 -/* 8003FDA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FDA8 7C 66 1B 78 */ mr r6, r3 -/* 8003FDAC 88 A4 00 00 */ lbz r5, 0(r4) -/* 8003FDB0 28 05 00 FF */ cmplwi r5, 0xff -/* 8003FDB4 40 82 00 0C */ bne lbl_8003FDC0 -/* 8003FDB8 38 60 00 01 */ li r3, 1 -/* 8003FDBC 48 00 00 4C */ b lbl_8003FE08 -lbl_8003FDC0: -/* 8003FDC0 88 04 00 01 */ lbz r0, 1(r4) -/* 8003FDC4 28 00 00 00 */ cmplwi r0, 0 -/* 8003FDC8 40 82 00 24 */ bne lbl_8003FDEC -/* 8003FDCC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003FDD0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003FDD4 7C A4 2B 78 */ mr r4, r5 -/* 8003FDD8 80 A6 00 24 */ lwz r5, 0x24(r6) -/* 8003FDDC 4B FF 55 85 */ bl isSwitch__10dSv_info_cCFii -/* 8003FDE0 7C 60 00 34 */ cntlzw r0, r3 -/* 8003FDE4 54 03 D9 7E */ srwi r3, r0, 5 -/* 8003FDE8 48 00 00 20 */ b lbl_8003FE08 -lbl_8003FDEC: -/* 8003FDEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8003FDF0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003FDF4 7C A4 2B 78 */ mr r4, r5 -/* 8003FDF8 80 A6 00 24 */ lwz r5, 0x24(r6) -/* 8003FDFC 4B FF 55 65 */ bl isSwitch__10dSv_info_cCFii -/* 8003FE00 30 03 FF FF */ addic r0, r3, -1 -/* 8003FE04 7C 60 19 10 */ subfe r3, r0, r3 -lbl_8003FE08: -/* 8003FE08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FE0C 7C 08 03 A6 */ mtlr r0 -/* 8003FE10 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FE14 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s b/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s deleted file mode 100644 index 74bdca8f23..0000000000 --- a/asm/d/map/d_map_path_dmap/move__10dMapInfo_cFif.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003F6C8: -/* 8003F6C8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003F6CC 7C 08 02 A6 */ mflr r0 -/* 8003F6D0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F6D4 90 6D 88 DC */ stw r3, mNowStayRoomNo__10dMapInfo_c(r13) -/* 8003F6D8 38 60 00 01 */ li r3, 1 -/* 8003F6DC 4B FF FE 95 */ bl calcNowStayFloorNo__10dMapInfo_cFfb -/* 8003F6E0 98 6D 88 D8 */ stb r3, mNowStayFloorNo__10dMapInfo_c(r13) -/* 8003F6E4 38 00 00 01 */ li r0, 1 -/* 8003F6E8 98 0D 88 E0 */ stb r0, mNowStayFloorNoDecisionFlg__10dMapInfo_c(r13) -/* 8003F6EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003F6F0 7C 08 03 A6 */ mtlr r0 -/* 8003F6F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003F6F8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s deleted file mode 100644 index 1f91db08d0..0000000000 --- a/asm/d/map/d_map_path_dmap/postDrawPath__16renderingDAmap_cFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8003FFC4: -/* 8003FFC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FFC8 7C 08 02 A6 */ mflr r0 -/* 8003FFCC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FFD0 38 60 00 01 */ li r3, 1 -/* 8003FFD4 38 80 00 00 */ li r4, 0 -/* 8003FFD8 48 31 BE 61 */ bl GXSetMisc -/* 8003FFDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FFE0 7C 08 03 A6 */ mtlr r0 -/* 8003FFE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FFE8 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s b/asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s deleted file mode 100644 index d4436bf989..0000000000 --- a/asm/d/map/d_map_path_dmap/preDrawPath__16renderingDAmap_cFv.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8003FF14: -/* 8003FF14 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 8003FF18 7C 08 02 A6 */ mflr r0 -/* 8003FF1C 90 01 00 64 */ stw r0, 0x64(r1) -/* 8003FF20 C0 43 00 10 */ lfs f2, 0x10(r3) -/* 8003FF24 D0 41 00 20 */ stfs f2, 0x20(r1) -/* 8003FF28 C0 23 00 14 */ lfs f1, 0x14(r3) -/* 8003FF2C D0 21 00 24 */ stfs f1, 0x24(r1) -/* 8003FF30 C0 02 84 4C */ lfs f0, lit_4264(r2) -/* 8003FF34 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8003FF38 D0 41 00 14 */ stfs f2, 0x14(r1) -/* 8003FF3C D0 21 00 18 */ stfs f1, 0x18(r1) -/* 8003FF40 C0 02 84 50 */ lfs f0, lit_4265(r2) -/* 8003FF44 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 8003FF48 C0 22 84 28 */ lfs f1, lit_3796(r2) -/* 8003FF4C D0 21 00 08 */ stfs f1, 8(r1) -/* 8003FF50 C0 02 84 54 */ lfs f0, lit_4266(r2) -/* 8003FF54 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003FF58 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 8003FF5C 38 61 00 2C */ addi r3, r1, 0x2c -/* 8003FF60 38 81 00 20 */ addi r4, r1, 0x20 -/* 8003FF64 38 A1 00 14 */ addi r5, r1, 0x14 -/* 8003FF68 38 C1 00 08 */ addi r6, r1, 8 -/* 8003FF6C 38 E0 00 00 */ li r7, 0 -/* 8003FF70 4B FC C7 A1 */ bl mDoMtx_lookAt__FPA4_fPC3VecPC3VecPC3Vecs -/* 8003FF74 38 61 00 2C */ addi r3, r1, 0x2c -/* 8003FF78 38 80 00 00 */ li r4, 0 -/* 8003FF7C 48 32 02 D1 */ bl GXLoadPosMtxImm -/* 8003FF80 48 31 B6 0D */ bl GXClearVtxDesc -/* 8003FF84 38 60 00 09 */ li r3, 9 -/* 8003FF88 38 80 00 03 */ li r4, 3 -/* 8003FF8C 48 31 AF 2D */ bl GXSetVtxDesc -/* 8003FF90 38 60 00 00 */ li r3, 0 -/* 8003FF94 38 80 00 09 */ li r4, 9 -/* 8003FF98 38 A0 00 00 */ li r5, 0 -/* 8003FF9C 38 C0 00 04 */ li r6, 4 -/* 8003FFA0 38 E0 00 00 */ li r7, 0 -/* 8003FFA4 48 31 B6 21 */ bl GXSetVtxAttrFmt -/* 8003FFA8 38 60 00 01 */ li r3, 1 -/* 8003FFAC 38 80 00 08 */ li r4, 8 -/* 8003FFB0 48 31 BE 89 */ bl GXSetMisc -/* 8003FFB4 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8003FFB8 7C 08 03 A6 */ mtlr r0 -/* 8003FFBC 38 21 00 60 */ addi r1, r1, 0x60 -/* 8003FFC0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s b/asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s deleted file mode 100644 index 98146ce379..0000000000 --- a/asm/d/map/d_map_path_dmap/remove__8dMpath_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003FC70: -/* 8003FC70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003FC74 7C 08 02 A6 */ mflr r0 -/* 8003FC78 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003FC7C 38 00 00 01 */ li r0, 1 -/* 8003FC80 98 0D 80 B6 */ stb r0, data_80450636(r13) -/* 8003FC84 3C 60 80 42 */ lis r3, m_texObjAgg__8dMpath_n@ha /* 0x80424684@ha */ -/* 8003FC88 38 63 46 84 */ addi r3, r3, m_texObjAgg__8dMpath_n@l /* 0x80424684@l */ -/* 8003FC8C 4B FF CC 69 */ bl remove__Q28dMpath_n18dTexObjAggregate_cFv -/* 8003FC90 4B FF FA C5 */ bl remove__10dMapInfo_cFv -/* 8003FC94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003FC98 7C 08 03 A6 */ mtlr r0 -/* 8003FC9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003FCA0 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s b/asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s deleted file mode 100644 index edb37bf7da..0000000000 --- a/asm/d/map/d_map_path_dmap/reset__10dMapInfo_cFv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8003F714: -/* 8003F714 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003F718 7C 08 02 A6 */ mflr r0 -/* 8003F71C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003F720 4B FF FF DD */ bl init__10dMapInfo_cFv -/* 8003F724 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003F728 7C 08 03 A6 */ mtlr r0 -/* 8003F72C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003F730 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s b/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s deleted file mode 100644 index 66fdc60918..0000000000 --- a/asm/d/map/d_map_path_dmap/setPointer__8dMpath_cFScPvi.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_8003FA40: -/* 8003FA40 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8003FA44 7C 08 02 A6 */ mflr r0 -/* 8003FA48 90 01 00 34 */ stw r0, 0x34(r1) -/* 8003FA4C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8003FA50 48 32 27 89 */ bl _savegpr_28 -/* 8003FA54 7C 7C 1B 78 */ mr r28, r3 -/* 8003FA58 7C BD 2B 78 */ mr r29, r5 -/* 8003FA5C 83 C4 00 04 */ lwz r30, 4(r4) -/* 8003FA60 28 1E 00 00 */ cmplwi r30, 0 -/* 8003FA64 41 82 00 F4 */ beq lbl_8003FB58 -/* 8003FA68 7F 9F 07 74 */ extsb r31, r28 -/* 8003FA6C 48 00 01 65 */ bl reset__8dMpath_cFv -/* 8003FA70 38 00 00 01 */ li r0, 1 -/* 8003FA74 98 0D 89 08 */ stb r0, data_80450E88(r13) -/* 8003FA78 7F C3 F3 78 */ mr r3, r30 -/* 8003FA7C 38 8D 80 B4 */ la r4, mBottomFloorNo__8dMpath_c+0x0(r13) /* 80450634-_SDA_BASE_ */ -/* 8003FA80 38 AD 80 B5 */ la r5, mBottomFloorNo__8dMpath_c+0x1(r13) /* 80450635-_SDA_BASE_ */ -/* 8003FA84 4B FF FD 8D */ bl setPointer__8dMpath_cFPQ211dDrawPath_c10room_classPScPSc -/* 8003FA88 C0 02 84 28 */ lfs f0, lit_3796(r2) -/* 8003FA8C D0 01 00 14 */ stfs f0, 0x14(r1) -/* 8003FA90 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 8003FA94 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 8003FA98 D0 01 00 08 */ stfs f0, 8(r1) -/* 8003FA9C 7F E3 FB 78 */ mr r3, r31 -/* 8003FAA0 38 81 00 14 */ addi r4, r1, 0x14 -/* 8003FAA4 38 A1 00 0C */ addi r5, r1, 0xc -/* 8003FAA8 38 C1 00 10 */ addi r6, r1, 0x10 -/* 8003FAAC 38 E1 00 08 */ addi r7, r1, 8 -/* 8003FAB0 4B FF F7 45 */ bl getRoomMinMaxXZ__10dMapInfo_nFiPfPfPfPf -/* 8003FAB4 C0 21 00 14 */ lfs f1, 0x14(r1) -/* 8003FAB8 C0 0D 88 E8 */ lfs f0, mMinX__8dMpath_c(r13) -/* 8003FABC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003FAC0 40 80 00 08 */ bge lbl_8003FAC8 -/* 8003FAC4 D0 2D 88 E8 */ stfs f1, mMinX__8dMpath_c(r13) -lbl_8003FAC8: -/* 8003FAC8 C0 21 00 10 */ lfs f1, 0x10(r1) -/* 8003FACC C0 0D 88 EC */ lfs f0, mMaxX__8dMpath_c(r13) -/* 8003FAD0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003FAD4 40 81 00 08 */ ble lbl_8003FADC -/* 8003FAD8 D0 2D 88 EC */ stfs f1, mMaxX__8dMpath_c(r13) -lbl_8003FADC: -/* 8003FADC C0 21 00 0C */ lfs f1, 0xc(r1) -/* 8003FAE0 C0 0D 88 F0 */ lfs f0, mMinZ__8dMpath_c(r13) -/* 8003FAE4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003FAE8 40 80 00 08 */ bge lbl_8003FAF0 -/* 8003FAEC D0 2D 88 F0 */ stfs f1, mMinZ__8dMpath_c(r13) -lbl_8003FAF0: -/* 8003FAF0 C0 21 00 08 */ lfs f1, 8(r1) -/* 8003FAF4 C0 0D 88 F4 */ lfs f0, mMaxZ__8dMpath_c(r13) -/* 8003FAF8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8003FAFC 40 81 00 08 */ ble lbl_8003FB04 -/* 8003FB00 D0 2D 88 F4 */ stfs f1, mMaxZ__8dMpath_c(r13) -lbl_8003FB04: -/* 8003FB04 C0 22 84 2C */ lfs f1, lit_3887(r2) -/* 8003FB08 C0 6D 88 EC */ lfs f3, mMaxX__8dMpath_c(r13) -/* 8003FB0C C0 4D 88 E8 */ lfs f2, mMinX__8dMpath_c(r13) -/* 8003FB10 EC 03 10 2A */ fadds f0, f3, f2 -/* 8003FB14 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003FB18 D0 0D 88 F8 */ stfs f0, mAllCenterX__8dMpath_c(r13) -/* 8003FB1C C0 AD 88 F4 */ lfs f5, mMaxZ__8dMpath_c(r13) -/* 8003FB20 C0 8D 88 F0 */ lfs f4, mMinZ__8dMpath_c(r13) -/* 8003FB24 EC 05 20 2A */ fadds f0, f5, f4 -/* 8003FB28 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8003FB2C D0 0D 88 FC */ stfs f0, mAllCenterZ__8dMpath_c(r13) -/* 8003FB30 EC 03 10 28 */ fsubs f0, f3, f2 -/* 8003FB34 D0 0D 89 00 */ stfs f0, mAllSizeX__8dMpath_c(r13) -/* 8003FB38 EC 05 20 28 */ fsubs f0, f5, f4 -/* 8003FB3C D0 0D 89 04 */ stfs f0, mAllSizeZ__8dMpath_c(r13) -/* 8003FB40 80 8D 88 E4 */ lwz r4, mLayerList__8dMpath_c(r13) -/* 8003FB44 57 A3 40 2E */ slwi r3, r29, 8 -/* 8003FB48 7F 80 07 74 */ extsb r0, r28 -/* 8003FB4C 54 00 10 3A */ slwi r0, r0, 2 -/* 8003FB50 7C 03 02 14 */ add r0, r3, r0 -/* 8003FB54 7F C4 01 2E */ stwx r30, r4, r0 -lbl_8003FB58: -/* 8003FB58 39 61 00 30 */ addi r11, r1, 0x30 -/* 8003FB5C 48 32 26 C9 */ bl _restgpr_28 -/* 8003FB60 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8003FB64 7C 08 03 A6 */ mtlr r0 -/* 8003FB68 38 21 00 30 */ addi r1, r1, 0x30 -/* 8003FB6C 4E 80 00 20 */ blr From cd5a9dee6f06cdea56bee7e83707bc7159271c74 Mon Sep 17 00:00:00 2001 From: TakaRikka Date: Mon, 30 Jan 2023 22:52:13 -0800 Subject: [PATCH 3/5] some d_map_path_fmap work --- ...ypeGroupDataList_cFUcPCQ27dTres_c6data_s.s | 38 --- ...oomData__22dMenu_Fmap_room_data_cFiiffff.s | 14 - ...StageData__23dMenu_Fmap_stage_data_cFiff.s | 101 ------ ...sTypeGroup__22dMenu_Fmap_room_data_cFiii.s | 55 ---- ...pStageData__24dMenu_Fmap_region_data_cFi.s | 13 - include/d/d_tresure.h | 6 +- src/d/d_tresure.cpp | 7 +- src/d/map/d_map_path.cpp | 36 +-- src/d/map/d_map_path_fmap.cpp | 305 +++++++++++++----- 9 files changed, 244 insertions(+), 331 deletions(-) delete mode 100644 asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s delete mode 100644 asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s delete mode 100644 asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s delete mode 100644 asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s delete mode 100644 asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s diff --git a/asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s b/asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s deleted file mode 100644 index 436b62a51a..0000000000 --- a/asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8003D790: -/* 8003D790 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003D794 7C 08 02 A6 */ mflr r0 -/* 8003D798 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003D79C 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003D7A0 48 32 4A 39 */ bl _savegpr_28 -/* 8003D7A4 7C 7C 1B 78 */ mr r28, r3 -/* 8003D7A8 7C 9D 23 78 */ mr r29, r4 -/* 8003D7AC 7C BE 2B 78 */ mr r30, r5 -/* 8003D7B0 83 E3 00 04 */ lwz r31, 4(r3) -/* 8003D7B4 38 60 00 0C */ li r3, 0xc -/* 8003D7B8 48 29 14 95 */ bl __nw__FUl -/* 8003D7BC 28 03 00 00 */ cmplwi r3, 0 -/* 8003D7C0 41 82 00 10 */ beq lbl_8003D7D0 -/* 8003D7C4 38 00 00 00 */ li r0, 0 -/* 8003D7C8 90 03 00 00 */ stw r0, 0(r3) -/* 8003D7CC 90 03 00 04 */ stw r0, 4(r3) -lbl_8003D7D0: -/* 8003D7D0 80 1C 00 00 */ lwz r0, 0(r28) -/* 8003D7D4 28 00 00 00 */ cmplwi r0, 0 -/* 8003D7D8 40 82 00 08 */ bne lbl_8003D7E0 -/* 8003D7DC 90 7C 00 00 */ stw r3, 0(r28) -lbl_8003D7E0: -/* 8003D7E0 93 C3 00 00 */ stw r30, 0(r3) -/* 8003D7E4 38 00 00 00 */ li r0, 0 -/* 8003D7E8 90 03 00 04 */ stw r0, 4(r3) -/* 8003D7EC 9B A3 00 08 */ stb r29, 8(r3) -/* 8003D7F0 28 1F 00 00 */ cmplwi r31, 0 -/* 8003D7F4 41 82 00 08 */ beq lbl_8003D7FC -/* 8003D7F8 90 7F 00 04 */ stw r3, 4(r31) -lbl_8003D7FC: -/* 8003D7FC 90 7C 00 04 */ stw r3, 4(r28) -/* 8003D800 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003D804 48 32 4A 21 */ bl _restgpr_28 -/* 8003D808 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003D80C 7C 08 03 A6 */ mtlr r0 -/* 8003D810 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003D814 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s b/asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s deleted file mode 100644 index 891d487da0..0000000000 --- a/asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8003D92C: -/* 8003D92C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8003D930 7C 08 02 A6 */ mflr r0 -/* 8003D934 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003D938 88 C3 00 10 */ lbz r6, 0x10(r3) -/* 8003D93C 80 03 00 00 */ lwz r0, 0(r3) -/* 8003D940 28 00 00 00 */ cmplwi r0, 0 -/* 8003D944 41 82 00 08 */ beq lbl_8003D94C -/* 8003D948 4B FF FF 21 */ bl buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii -lbl_8003D94C: -/* 8003D94C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8003D950 7C 08 03 A6 */ mtlr r0 -/* 8003D954 38 21 00 10 */ addi r1, r1, 0x10 -/* 8003D958 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s b/asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s deleted file mode 100644 index 22401dcc2c..0000000000 --- a/asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_8003D9D8: -/* 8003D9D8 94 21 FF 80 */ stwu r1, -0x80(r1) -/* 8003D9DC 7C 08 02 A6 */ mflr r0 -/* 8003D9E0 90 01 00 84 */ stw r0, 0x84(r1) -/* 8003D9E4 DB E1 00 70 */ stfd f31, 0x70(r1) -/* 8003D9E8 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */ -/* 8003D9EC DB C1 00 60 */ stfd f30, 0x60(r1) -/* 8003D9F0 F3 C1 00 68 */ psq_st f30, 104(r1), 0, 0 /* qr0 */ -/* 8003D9F4 DB A1 00 50 */ stfd f29, 0x50(r1) -/* 8003D9F8 F3 A1 00 58 */ psq_st f29, 88(r1), 0, 0 /* qr0 */ -/* 8003D9FC DB 81 00 40 */ stfd f28, 0x40(r1) -/* 8003DA00 F3 81 00 48 */ psq_st f28, 72(r1), 0, 0 /* qr0 */ -/* 8003DA04 DB 61 00 30 */ stfd f27, 0x30(r1) -/* 8003DA08 F3 61 00 38 */ psq_st f27, 56(r1), 0, 0 /* qr0 */ -/* 8003DA0C DB 41 00 20 */ stfd f26, 0x20(r1) -/* 8003DA10 F3 41 00 28 */ psq_st f26, 40(r1), 0, 0 /* qr0 */ -/* 8003DA14 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003DA18 48 32 47 C1 */ bl _savegpr_28 -/* 8003DA1C 7C 7C 1B 78 */ mr r28, r3 -/* 8003DA20 7C 9D 23 78 */ mr r29, r4 -/* 8003DA24 FF 40 08 90 */ fmr f26, f1 -/* 8003DA28 FF 60 10 90 */ fmr f27, f2 -/* 8003DA2C 83 E3 00 0C */ lwz r31, 0xc(r3) -/* 8003DA30 3C 60 80 45 */ lis r3, __float_max@ha /* 0x80450AE8@ha */ -/* 8003DA34 C0 03 0A E8 */ lfs f0, __float_max@l(r3) /* 0x80450AE8@l */ -/* 8003DA38 FF E0 00 90 */ fmr f31, f0 -/* 8003DA3C FF C0 00 90 */ fmr f30, f0 -/* 8003DA40 FC 00 00 50 */ fneg f0, f0 -/* 8003DA44 FF A0 00 90 */ fmr f29, f0 -/* 8003DA48 FF 80 00 90 */ fmr f28, f0 -/* 8003DA4C 3B C0 00 00 */ li r30, 0 -/* 8003DA50 48 00 00 74 */ b lbl_8003DAC4 -lbl_8003DA54: -/* 8003DA54 7F E3 FB 78 */ mr r3, r31 -/* 8003DA58 7F A4 EB 78 */ mr r4, r29 -/* 8003DA5C 7F C5 F3 78 */ mr r5, r30 -/* 8003DA60 FC 20 D0 90 */ fmr f1, f26 -/* 8003DA64 FC 40 D8 90 */ fmr f2, f27 -/* 8003DA68 C0 7C 00 14 */ lfs f3, 0x14(r28) -/* 8003DA6C C0 9C 00 18 */ lfs f4, 0x18(r28) -/* 8003DA70 4B FF FE BD */ bl buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff -/* 8003DA74 80 7F 00 00 */ lwz r3, 0(r31) -/* 8003DA78 80 63 00 04 */ lwz r3, 4(r3) -/* 8003DA7C C0 03 00 00 */ lfs f0, 0(r3) -/* 8003DA80 C0 23 00 04 */ lfs f1, 4(r3) -/* 8003DA84 C0 43 00 08 */ lfs f2, 8(r3) -/* 8003DA88 C0 63 00 0C */ lfs f3, 0xc(r3) -/* 8003DA8C FC 00 F8 40 */ fcmpo cr0, f0, f31 -/* 8003DA90 40 80 00 08 */ bge lbl_8003DA98 -/* 8003DA94 FF E0 00 90 */ fmr f31, f0 -lbl_8003DA98: -/* 8003DA98 FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 8003DA9C 40 80 00 08 */ bge lbl_8003DAA4 -/* 8003DAA0 FF C0 08 90 */ fmr f30, f1 -lbl_8003DAA4: -/* 8003DAA4 FC 02 E8 40 */ fcmpo cr0, f2, f29 -/* 8003DAA8 40 81 00 08 */ ble lbl_8003DAB0 -/* 8003DAAC FF A0 10 90 */ fmr f29, f2 -lbl_8003DAB0: -/* 8003DAB0 FC 03 E0 40 */ fcmpo cr0, f3, f28 -/* 8003DAB4 40 81 00 08 */ ble lbl_8003DABC -/* 8003DAB8 FF 80 18 90 */ fmr f28, f3 -lbl_8003DABC: -/* 8003DABC 83 FF 00 08 */ lwz r31, 8(r31) -/* 8003DAC0 3B DE 00 01 */ addi r30, r30, 1 -lbl_8003DAC4: -/* 8003DAC4 28 1F 00 00 */ cmplwi r31, 0 -/* 8003DAC8 40 82 FF 8C */ bne lbl_8003DA54 -/* 8003DACC 2C 1E 00 00 */ cmpwi r30, 0 -/* 8003DAD0 40 81 00 18 */ ble lbl_8003DAE8 -/* 8003DAD4 D3 FC 00 1C */ stfs f31, 0x1c(r28) -/* 8003DAD8 D3 DC 00 20 */ stfs f30, 0x20(r28) -/* 8003DADC D3 BC 00 24 */ stfs f29, 0x24(r28) -/* 8003DAE0 D3 9C 00 28 */ stfs f28, 0x28(r28) -/* 8003DAE4 48 00 00 18 */ b lbl_8003DAFC -lbl_8003DAE8: -/* 8003DAE8 C0 02 84 20 */ lfs f0, lit_3894(r2) -/* 8003DAEC D0 1C 00 1C */ stfs f0, 0x1c(r28) -/* 8003DAF0 D0 1C 00 20 */ stfs f0, 0x20(r28) -/* 8003DAF4 D0 1C 00 24 */ stfs f0, 0x24(r28) -/* 8003DAF8 D0 1C 00 28 */ stfs f0, 0x28(r28) -lbl_8003DAFC: -/* 8003DAFC 7F C3 F3 78 */ mr r3, r30 -/* 8003DB00 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */ -/* 8003DB04 CB E1 00 70 */ lfd f31, 0x70(r1) -/* 8003DB08 E3 C1 00 68 */ psq_l f30, 104(r1), 0, 0 /* qr0 */ -/* 8003DB0C CB C1 00 60 */ lfd f30, 0x60(r1) -/* 8003DB10 E3 A1 00 58 */ psq_l f29, 88(r1), 0, 0 /* qr0 */ -/* 8003DB14 CB A1 00 50 */ lfd f29, 0x50(r1) -/* 8003DB18 E3 81 00 48 */ psq_l f28, 72(r1), 0, 0 /* qr0 */ -/* 8003DB1C CB 81 00 40 */ lfd f28, 0x40(r1) -/* 8003DB20 E3 61 00 38 */ psq_l f27, 56(r1), 0, 0 /* qr0 */ -/* 8003DB24 CB 61 00 30 */ lfd f27, 0x30(r1) -/* 8003DB28 E3 41 00 28 */ psq_l f26, 40(r1), 0, 0 /* qr0 */ -/* 8003DB2C CB 41 00 20 */ lfd f26, 0x20(r1) -/* 8003DB30 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003DB34 48 32 46 F1 */ bl _restgpr_28 -/* 8003DB38 80 01 00 84 */ lwz r0, 0x84(r1) -/* 8003DB3C 7C 08 03 A6 */ mtlr r0 -/* 8003DB40 38 21 00 80 */ addi r1, r1, 0x80 -/* 8003DB44 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s b/asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s deleted file mode 100644 index 98bd757d01..0000000000 --- a/asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s +++ /dev/null @@ -1,55 +0,0 @@ -lbl_8003D868: -/* 8003D868 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003D86C 7C 08 02 A6 */ mflr r0 -/* 8003D870 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003D874 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003D878 48 32 49 5D */ bl _savegpr_27 -/* 8003D87C 7C 7B 1B 78 */ mr r27, r3 -/* 8003D880 7C DC 33 78 */ mr r28, r6 -/* 8003D884 80 63 00 00 */ lwz r3, 0(r3) -/* 8003D888 80 63 00 00 */ lwz r3, 0(r3) -/* 8003D88C 28 03 00 00 */ cmplwi r3, 0 -/* 8003D890 41 82 00 84 */ beq lbl_8003D914 -/* 8003D894 83 C3 00 00 */ lwz r30, 0(r3) -/* 8003D898 83 A3 00 04 */ lwz r29, 4(r3) -/* 8003D89C 80 1B 00 04 */ lwz r0, 4(r27) -/* 8003D8A0 28 00 00 00 */ cmplwi r0, 0 -/* 8003D8A4 40 82 00 34 */ bne lbl_8003D8D8 -/* 8003D8A8 38 60 00 88 */ li r3, 0x88 -/* 8003D8AC 48 29 13 A1 */ bl __nw__FUl -/* 8003D8B0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 8003D8B4 41 82 00 20 */ beq lbl_8003D8D4 -/* 8003D8B8 3C 80 80 04 */ lis r4, __ct__26fmpTresTypeGroupDataList_cFv@ha /* 0x8003EC90@ha */ -/* 8003D8BC 38 84 EC 90 */ addi r4, r4, __ct__26fmpTresTypeGroupDataList_cFv@l /* 0x8003EC90@l */ -/* 8003D8C0 3C A0 80 04 */ lis r5, __dt__26fmpTresTypeGroupDataList_cFv@ha /* 0x8003EB10@ha */ -/* 8003D8C4 38 A5 EB 10 */ addi r5, r5, __dt__26fmpTresTypeGroupDataList_cFv@l /* 0x8003EB10@l */ -/* 8003D8C8 38 C0 00 08 */ li r6, 8 -/* 8003D8CC 38 E0 00 11 */ li r7, 0x11 -/* 8003D8D0 48 32 44 91 */ bl __construct_array -lbl_8003D8D4: -/* 8003D8D4 93 FB 00 04 */ stw r31, 4(r27) -lbl_8003D8D8: -/* 8003D8D8 3B E0 00 00 */ li r31, 0 -/* 8003D8DC 48 00 00 30 */ b lbl_8003D90C -lbl_8003D8E0: -/* 8003D8E0 9B 9D 00 01 */ stb r28, 1(r29) -/* 8003D8E4 88 7D 00 11 */ lbz r3, 0x11(r29) -/* 8003D8E8 48 05 EB C9 */ bl getTypeToTypeGroupNo__7dTres_cFUc -/* 8003D8EC 7C 64 1B 78 */ mr r4, r3 -/* 8003D8F0 80 7B 00 04 */ lwz r3, 4(r27) -/* 8003D8F4 54 80 1D 78 */ rlwinm r0, r4, 3, 0x15, 0x1c -/* 8003D8F8 7C 63 02 14 */ add r3, r3, r0 -/* 8003D8FC 7F A5 EB 78 */ mr r5, r29 -/* 8003D900 4B FF FE 91 */ bl addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s -/* 8003D904 3B BD 00 14 */ addi r29, r29, 0x14 -/* 8003D908 3B FF 00 01 */ addi r31, r31, 1 -lbl_8003D90C: -/* 8003D90C 7C 1F F0 00 */ cmpw r31, r30 -/* 8003D910 41 80 FF D0 */ blt lbl_8003D8E0 -lbl_8003D914: -/* 8003D914 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003D918 48 32 49 09 */ bl _restgpr_27 -/* 8003D91C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8003D920 7C 08 03 A6 */ mtlr r0 -/* 8003D924 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003D928 4E 80 00 20 */ blr diff --git a/asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s b/asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s deleted file mode 100644 index 5410f11f6b..0000000000 --- a/asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8003DB48: -/* 8003DB48 80 63 00 00 */ lwz r3, 0(r3) -/* 8003DB4C 38 A0 00 00 */ li r5, 0 -/* 8003DB50 48 00 00 0C */ b lbl_8003DB5C -lbl_8003DB54: -/* 8003DB54 80 63 00 10 */ lwz r3, 0x10(r3) -/* 8003DB58 38 A5 00 01 */ addi r5, r5, 1 -lbl_8003DB5C: -/* 8003DB5C 28 03 00 00 */ cmplwi r3, 0 -/* 8003DB60 4D 82 00 20 */ beqlr -/* 8003DB64 7C 05 20 00 */ cmpw r5, r4 -/* 8003DB68 41 80 FF EC */ blt lbl_8003DB54 -/* 8003DB6C 4E 80 00 20 */ blr diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h index 8e5d134d0b..b8feddbd26 100644 --- a/include/d/d_tresure.h +++ b/include/d/d_tresure.h @@ -41,8 +41,8 @@ public: }; // Size: 0x1C struct list_class { - /* 0x0 */ typeGroupData_c* field_0x0; - /* 0x4 */ typeGroupData_c* field_0x4; + /* 0x0 */ int field_0x0; + /* 0x4 */ data_s* field_0x4; /* 0x8 */ u8 mNumber; }; @@ -60,7 +60,7 @@ public: /* 8009C3B4 */ static typeGroupData_c* getNextData(dTres_c::typeGroupData_c const*); /* 8009C3CC */ static void setPosition(int, u8, Vec const*, int); /* 8009C49C */ static int getTypeGroupNoToType(u8); - /* 8009C4B0 */ static int getTypeToTypeGroupNo(u8); + /* 8009C4B0 */ static u8 getTypeToTypeGroupNo(u8); static int getTypeGroupNumber(int index) { return mTypeGroupListAll[index].mNumber; diff --git a/src/d/d_tresure.cpp b/src/d/d_tresure.cpp index 0480999a1d..e27fa83141 100644 --- a/src/d/d_tresure.cpp +++ b/src/d/d_tresure.cpp @@ -264,7 +264,8 @@ dTres_c::typeGroupData_c* dTres_c::getFirstData(u8 listIdx) { return NULL; } - return mTypeGroupListAll[listIdx].field_0x0; + // this is wrong, fix later + return (dTres_c::typeGroupData_c*)mTypeGroupListAll[listIdx].field_0x0; } /* 8009C39C-8009C3B4 096CDC 0018+00 2/2 3/3 0/0 .text @@ -327,8 +328,8 @@ int dTres_c::getTypeGroupNoToType(u8 i_typeGroupNo) { /* 8009C4B0-8009C4FC 096DF0 004C+00 1/1 3/3 0/0 .text getTypeToTypeGroupNo__7dTres_cFUc */ -int dTres_c::getTypeToTypeGroupNo(u8 i_type) { - u8 groupNo = 17; +u8 dTres_c::getTypeToTypeGroupNo(u8 i_type) { + int groupNo = 17; for (int i = 0; i < 17; i++) { if (i_type == typeToTypeGroup[i][0]) { groupNo = typeToTypeGroup[i][1]; diff --git a/src/d/map/d_map_path.cpp b/src/d/map/d_map_path.cpp index ed5edf5e53..1e8c06b367 100644 --- a/src/d/map/d_map_path.cpp +++ b/src/d/map/d_map_path.cpp @@ -4,8 +4,6 @@ // #include "d/map/d_map_path.h" -#include "dol2asm.h" -#include "dolphin/types.h" #include "d/com/d_com_inf_game.h" #include "m_Do/m_Do_lib.h" @@ -42,25 +40,12 @@ extern "C" u8 m_texObjAgg__8dMpath_n[28]; // External References: // -extern "C" void mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj(); extern "C" void draw__12dDlst_base_cFv(); extern "C" bool isDrawType__11dDrawPath_cFi(); extern "C" void __dt__18dRenderingFDAmap_cFv(); extern "C" void __dt__11dDrawPath_cFv(); extern "C" void getLineColor__11dDrawPath_cFii(); extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void GXClearVtxDesc(); -extern "C" void GXPixModeSync(); -extern "C" void __register_global_object(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" extern Mtx g_mDoMtx_identity; // // Declarations: @@ -93,7 +78,7 @@ void dMpath_n::dTexObjAggregate_c::remove() { void dDrawPath_c::rendering(dDrawPath_c::line_class const* p_line) { if (isDrawType(p_line->unk0)) { int width = getLineWidth(p_line->unk1); - + if (width > 0 && p_line->unk2 >= 2) { GXSetLineWidth(width, GX_TO_ZERO); GXSetTevColor(GX_TEVREG0, *getLineColor(p_line->unk0 & 0x3F, p_line->unk1)); @@ -114,7 +99,7 @@ void dDrawPath_c::rendering(dDrawPath_c::line_class const* p_line) { void dDrawPath_c::rendering(dDrawPath_c::poly_class const* p_poly) { if (isDrawType(p_poly->field_0x0)) { GXSetTevColor(GX_TEVREG0, *getColor(p_poly->field_0x0 & 0x3F)); - + if (p_poly->field_0x1 >= 3) { GXBegin(GX_TRIANGLESTRIP, GX_VTXFMT0, p_poly->field_0x1); @@ -169,7 +154,7 @@ void dDrawPath_c::rendering(dDrawPath_c::room_class const* p_room) { if (floor != NULL) { for (int i = 0; i < p_room->field_0x0; i++) { if (isRenderingFloor(floor->field_0x0)) { - rendering(floor); + rendering(floor); } floor++; } @@ -189,7 +174,7 @@ void dDrawPath_c::drawPath() { /* 8003CD38-8003CDAC 037678 0074+00 0/0 3/3 0/0 .text * makeResTIMG__15dRenderingMap_cCFP7ResTIMGUsUsPUcPUcUs */ void dRenderingMap_c::makeResTIMG(ResTIMG* p_image, u16 width, u16 height, u8* p_data, - u8* p_palette, u16 param_5) const { + u8* p_palette, u16 param_5) const { p_image->format = GX_TF_CI14; p_image->alphaEnabled = 2; p_image->width = width; @@ -253,7 +238,8 @@ void dRenderingFDAmap_c::setTevSettingIntensityTextureToCI() const { GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_KONST, GX_CC_TEXC, GX_CC_C1); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_CPREV, GX_CC_C2, GX_CC_CPREV, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_COMP_R8_GT, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_COMP_R8_GT, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, + GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_TEXA); @@ -324,7 +310,7 @@ dMpath_n::dTexObjAggregate_c dMpath_n::m_texObjAgg; * make the map look worse for extra speed in the emulator, especially in large * areas such as hyrule field. */ -//#define HYRULE_FIELD_SPEEDHACK +// #define HYRULE_FIELD_SPEEDHACK /* 8003D3C0-8003D68C 037D00 02CC+00 0/0 2/2 0/0 .text * renderingDecoration__18dRenderingFDAmap_cFPCQ211dDrawPath_c10line_class */ @@ -333,6 +319,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li if (width <= 0) { return; } + setTevSettingIntensityTextureToCI(); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); @@ -341,6 +328,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_F32, 0); GXSetNumTevStages(1); GXLoadTexObj(dMpath_n::m_texObjAgg.mp_texObj[6], GX_TEXMAP0); + u16* unk = p_line->unk4; s32 unk2 = p_line->unk2; GXSetLineWidth(width, GX_TO_ONE); @@ -349,6 +337,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXSetTevColor(GX_TEVREG0, lineColor); lineColor.r = lineColor.r - 4; GXSetTevColor(GX_TEVREG1, lineColor); + for (int i = 0; i < unk2; unk++, i++) { #ifndef HYRULE_FIELD_SPEEDHACK if (i < unk2 - 1) { @@ -374,6 +363,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li GXTexCoord2f32(0, 0); i_GXEnd(); } + setTevSettingNonTextureDirectColor(); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_INDEX16); @@ -393,7 +383,7 @@ s32 dRenderingFDAmap_c::getDecorationLineWidth(int param_0) { /* ############################################################################################## */ /* 803A7C90-803A7CF8 004DB0 0068+00 0/0 12/12 0/0 .data __vt__18dRenderingFDAmap_c */ -SECTION_DATA extern void* __vt__18dRenderingFDAmap_c[26] = { +extern void* __vt__18dRenderingFDAmap_c[26] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)draw__12dDlst_base_cFv, @@ -423,7 +413,7 @@ SECTION_DATA extern void* __vt__18dRenderingFDAmap_c[26] = { }; /* 803A7CF8-803A7D38 004E18 0040+00 0/0 15/15 0/0 .data __vt__11dDrawPath_c */ -SECTION_DATA extern void* __vt__11dDrawPath_c[16] = { +extern void* __vt__11dDrawPath_c[16] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)draw__12dDlst_base_cFv, diff --git a/src/d/map/d_map_path_fmap.cpp b/src/d/map/d_map_path_fmap.cpp index b252fe87b5..58b65a0e56 100644 --- a/src/d/map/d_map_path_fmap.cpp +++ b/src/d/map/d_map_path_fmap.cpp @@ -4,78 +4,143 @@ // #include "d/map/d_map_path_fmap.h" +#include "d/com/d_com_inf_game.h" #include "dol2asm.h" -#include "dolphin/types.h" // // Types: // -struct fmpTresTypeGroupData_c { +class fmpTresTypeGroupData_c { +public: + fmpTresTypeGroupData_c() { + mpTresData = NULL; + mpNext = NULL; + } + /* 8003EB70 */ ~fmpTresTypeGroupData_c(); -}; -struct dTres_c { - struct data_s {}; + void setTypeGroupNo(u8 i_no) { mTypeGroupNo = i_no; } + void setNextData(fmpTresTypeGroupData_c* i_next) { mpNext = i_next; } + void setTresData(const dTres_c::data_s* i_data) { mpTresData = i_data; } + const dTres_c::data_s* getTresData() { return mpTresData; } + fmpTresTypeGroupData_c* getNextData() { return mpNext; } - struct typeGroupData_c {}; + /* 0x0 */ const dTres_c::data_s* mpTresData; + /* 0x0 */ fmpTresTypeGroupData_c* mpNext; + /* 0x8 */ u8 mTypeGroupNo; +}; // Size: 0xC - /* 8009C360 */ void getFirstData(u8); - /* 8009C39C */ void getNextData(dTres_c::typeGroupData_c*); - /* 8009C49C */ void getTypeGroupNoToType(u8); - /* 8009C4B0 */ void getTypeToTypeGroupNo(u8); -}; - -struct fmpTresTypeGroupDataList_c { +class fmpTresTypeGroupDataList_c { +public: /* 8003D790 */ void addTypeGroupData(u8, dTres_c::data_s const*); /* 8003EB10 */ ~fmpTresTypeGroupDataList_c(); /* 8003EC90 */ fmpTresTypeGroupDataList_c(); + + /* 0x0 */ fmpTresTypeGroupData_c* mpTypeGroupDataHead; + /* 0x4 */ fmpTresTypeGroupData_c* mpNextData; }; -struct dSv_save_c { - /* 800350A8 */ void getSave2(int); +class fmpTresTypeGroupDataListAll_c { +public: + void addTypeGroupData(u8 i_typeGroupNo, const dTres_c::data_s* i_data) { + mpTypeGroupData[i_typeGroupNo].addTypeGroupData(i_typeGroupNo, i_data); + } + + /* 0x0 */ fmpTresTypeGroupDataList_c mpTypeGroupData[17]; }; -struct dSv_memory2_c { - /* 80034AEC */ void isVisitedRoom(int); +class dMenu_Fmap_data_c { +public: + dTres_c::list_class* getTresure() { return mp_tresure; } + f32 getFilelist2MinX() { return m_fileList2->mLeftRmX; } + f32 getFilelist2MinZ() { return m_fileList2->mInnerRmZ; } + f32 getFilelist2MaxX() { return m_fileList2->mRightRmX; } + f32 getFilelist2MaxZ() { return m_fileList2->mFrontRmZ; } + + /* 0x0 */ dTres_c::list_class* mp_tresure; + /* 0x4 */ dStage_FileList2_dt_c* m_fileList2; + /* 0x8 */ dDrawPath_c::room_class* mp_mapPath; + /* 0xC */ void* mp_dzsData; }; -struct dSv_memBit_c { - /* 800347E8 */ void isTbox(int) const; +class dMenu_Fmap_stage_data_c; +class dMenu_Fmap_room_data_c { +public: + /* 8003D818 */ bool isArrival(); + /* 8003D868 */ void buildTresTypeGroup(int, int, int); + /* 8003D92C */ void buildFmapRoomData(int, int, f32, f32, f32, f32); + + f32 getFileList2MinX() { return mp_fmapData->getFilelist2MinX(); } + f32 getFileList2MinZ() { return mp_fmapData->getFilelist2MinZ(); } + f32 getFileList2MaxX() { return mp_fmapData->getFilelist2MaxX(); } + f32 getFileList2MaxZ() { return mp_fmapData->getFilelist2MaxZ(); } + dMenu_Fmap_room_data_c* getNextData() { return mp_nextData; } + int getRoomNo() { return m_roomNo; } + + /* 0x00 */ dMenu_Fmap_data_c* mp_fmapData; + /* 0x04 */ fmpTresTypeGroupDataListAll_c* mp_fmpTresTypeGroupDataListAll; + /* 0x08 */ dMenu_Fmap_room_data_c* mp_nextData; + /* 0x0C */ dMenu_Fmap_stage_data_c* mp_parentStage; + /* 0x10 */ u8 m_roomNo; }; -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; +class dMenu_Fmap_stage_arc_data_c { +public: + u8 getVisitedRoomSaveTableNo() { return mVisitedRoomSaveTableNo; } + + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 mSaveTableNo; + /* 0x2 */ u8 mVisitedRoomSaveTableNo; }; -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; +class dMenu_Fmap_stage_data_c { +public: + /* 8003D95C */ bool isArrival(); + /* 8003D9D8 */ int buildFmapStageData(int, f32, f32); + + dMenu_Fmap_stage_arc_data_c* getStageArc() { return mpStageArc; } + dMenu_Fmap_stage_data_c* getNextData() { return mpNextData; } + + /* 0x00 */ char name[8]; + /* 0x08 */ dMenu_Fmap_stage_arc_data_c* mpStageArc; + /* 0x0C */ dMenu_Fmap_room_data_c* mp_roomTop; + /* 0x10 */ dMenu_Fmap_stage_data_c* mpNextData; + /* 0x14 */ f32 m_offsetX; + /* 0x18 */ f32 m_offsetZ; + /* 0x1C */ f32 m_stageMinX; + /* 0x20 */ f32 m_stageMinZ; + /* 0x24 */ f32 m_stageMaxX; + /* 0x28 */ f32 m_stageMaxZ; + /* 0x2C */ int m_stageCntNo; }; -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dMenu_Fmap_region_data_c { - /* 8003DB48 */ void getMenuFmapStageData(int); +class dMenu_Fmap_region_data_c { +public: + /* 8003DB48 */ dMenu_Fmap_stage_data_c* getMenuFmapStageData(int); /* 8003DB70 */ void getPointStagePathInnerNo(f32, f32, int, int*, int*); /* 8003DEE0 */ void buildFmapRegionData(int); + + /* 0x00 */ dMenu_Fmap_stage_data_c* mpMenuFmapStageDataTop; + /* 0x04 */ dMenu_Fmap_region_data_c* mpNextData; + /* 0x08 */ f32 mRegionOffsetX; + /* 0x0C */ f32 mRegionOffsetZ; + /* 0x10 */ f32 mRegionMinX; + /* 0x14 */ f32 mRegionMaxX; + /* 0x18 */ f32 mRegionMinZ; + /* 0x1C */ f32 mRegionMaxZ; + /* 0x20 */ int mRegionNo; }; struct dMenu_Fmap_world_data_c { /* 8003E028 */ void create(dMenu_Fmap_region_data_c*); /* 8003E04C */ void buildFmapWorldData(); -}; -struct dMenu_Fmap_stage_data_c { - /* 8003D95C */ void isArrival(); - /* 8003D9D8 */ void buildFmapStageData(int, f32, f32); -}; - -struct dMenu_Fmap_room_data_c { - /* 8003D818 */ void isArrival(); - /* 8003D868 */ void buildTresTypeGroup(int, int, int); - /* 8003D92C */ void buildFmapRoomData(int, int, f32, f32, f32, f32); + /* 0x00 */ dMenu_Fmap_region_data_c* mp_fmapRegionData; + /* 0x04 */ f32 m_worldMinX; + /* 0x08 */ f32 m_worldMinZ; + /* 0x0C */ f32 m_worldMaxX; + /* 0x10 */ f32 m_worldMaxZ; }; struct dMenuFmapIconPointer_c { @@ -145,7 +210,6 @@ extern "C" void getTypeGroupNoToType__7dTres_cFUc(); extern "C" void getTypeToTypeGroupNo__7dTres_cFUc(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); -extern "C" void PSVECCrossProduct(); extern "C" void __construct_array(); extern "C" void __save_gpr(); extern "C" void _savegpr_22(); @@ -159,10 +223,7 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void strcmp(); extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u32 __float_max; // // Declarations: @@ -170,57 +231,98 @@ extern "C" extern u32 __float_max; /* 8003D790-8003D818 0380D0 0088+00 1/1 0/0 0/0 .text * addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void fmpTresTypeGroupDataList_c::addTypeGroupData(u8 param_0, dTres_c::data_s const* param_1) { - nofralloc -#include "asm/d/map/d_map_path_fmap/addTypeGroupData__26fmpTresTypeGroupDataList_cFUcPCQ27dTres_c6data_s.s" +void fmpTresTypeGroupDataList_c::addTypeGroupData(u8 i_typeGroupNo, + dTres_c::data_s const* i_tresData) { + fmpTresTypeGroupData_c* next = mpNextData; + fmpTresTypeGroupData_c* fmpTresTypeGroupData_p = new fmpTresTypeGroupData_c(); + + if (mpTypeGroupDataHead == NULL) { + mpTypeGroupDataHead = fmpTresTypeGroupData_p; + } + + fmpTresTypeGroupData_p->setTresData(i_tresData); + fmpTresTypeGroupData_p->setNextData(NULL); + fmpTresTypeGroupData_p->setTypeGroupNo(i_typeGroupNo); + + if (next != NULL) { + next->setNextData(fmpTresTypeGroupData_p); + } + + mpNextData = fmpTresTypeGroupData_p; } -#pragma pop /* 8003D818-8003D868 038158 0050+00 1/1 1/1 0/0 .text isArrival__22dMenu_Fmap_room_data_cFv */ +#ifdef NONMATCHING +bool dMenu_Fmap_room_data_c::isArrival() { + u8 table_no = mp_parentStage->getStageArc()->getVisitedRoomSaveTableNo(); + return dComIfGs_isSaveVisitedRoom(table_no, m_roomNo) != false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_Fmap_room_data_c::isArrival() { +asm bool dMenu_Fmap_room_data_c::isArrival() { nofralloc #include "asm/d/map/d_map_path_fmap/isArrival__22dMenu_Fmap_room_data_cFv.s" } #pragma pop +#endif /* 8003D868-8003D92C 0381A8 00C4+00 1/1 0/0 0/0 .text * buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fmap_room_data_c::buildTresTypeGroup(int param_0, int param_1, int param_2) { - nofralloc -#include "asm/d/map/d_map_path_fmap/buildTresTypeGroup__22dMenu_Fmap_room_data_cFiii.s" +void dMenu_Fmap_room_data_c::buildTresTypeGroup(int param_0, int param_1, int param_2) { + dTres_c::list_class* tresure_p = mp_fmapData->getTresure(); + if (tresure_p != NULL) { + int num = tresure_p->field_0x0; + dTres_c::data_s* data_p = tresure_p->field_0x4; + + if (mp_fmpTresTypeGroupDataListAll == NULL) { + mp_fmpTresTypeGroupDataListAll = new fmpTresTypeGroupDataListAll_c(); + } + + for (int i = 0; i < num; i++) { + data_p->mRoomNo = param_2; + u8 typeGroupNo = dTres_c::getTypeToTypeGroupNo(data_p->mType); + mp_fmpTresTypeGroupDataListAll->addTypeGroupData(typeGroupNo, data_p); + data_p++; + } + } } -#pragma pop /* 8003D92C-8003D95C 03826C 0030+00 1/1 0/0 0/0 .text * buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fmap_room_data_c::buildFmapRoomData(int param_0, int param_1, f32 param_2, - f32 param_3, f32 param_4, f32 param_5) { - nofralloc -#include "asm/d/map/d_map_path_fmap/buildFmapRoomData__22dMenu_Fmap_room_data_cFiiffff.s" +void dMenu_Fmap_room_data_c::buildFmapRoomData(int param_0, int param_1, f32 param_2, f32 param_3, + f32 param_4, f32 param_5) { + int roomNo = m_roomNo; + + if (mp_fmapData != NULL) { + buildTresTypeGroup(param_0, param_1, roomNo); + } } -#pragma pop /* 8003D95C-8003D9D8 03829C 007C+00 1/1 0/0 0/0 .text isArrival__23dMenu_Fmap_stage_data_cFv */ +#ifdef NONMATCHING +bool dMenu_Fmap_stage_data_c::isArrival() { + bool is_arrival = false; + + dMenu_Fmap_room_data_c* room = mp_roomTop; + u8 table_no = mpStageArc->getVisitedRoomSaveTableNo(); + for (; !is_arrival && room != NULL; room = room->getNextData()) { + is_arrival = dComIfGs_isSaveVisitedRoom(table_no, room->getRoomNo()) != false; + } + + return is_arrival; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenu_Fmap_stage_data_c::isArrival() { +asm bool dMenu_Fmap_stage_data_c::isArrival() { nofralloc #include "asm/d/map/d_map_path_fmap/isArrival__23dMenu_Fmap_stage_data_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80451E20-80451E28 000420 0004+04 5/5 0/0 0/0 .sdata2 @3894 */ @@ -232,25 +334,66 @@ SECTION_SDATA2 static f32 lit_3894[1 + 1 /* padding */] = { /* 8003D9D8-8003DB48 038318 0170+00 1/1 0/0 0/0 .text * buildFmapStageData__23dMenu_Fmap_stage_data_cFiff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fmap_stage_data_c::buildFmapStageData(int param_0, f32 param_1, f32 param_2) { - nofralloc -#include "asm/d/map/d_map_path_fmap/buildFmapStageData__23dMenu_Fmap_stage_data_cFiff.s" +int dMenu_Fmap_stage_data_c::buildFmapStageData(int param_0, f32 param_1, f32 param_2) { + dMenu_Fmap_room_data_c* room = mp_roomTop; + f32 fvar3 = __float_max[0]; + f32 fvar4 = __float_max[0]; + f32 fvar5 = -__float_max[0]; + f32 fvar6 = -__float_max[0]; + int ivar = 0; + + for (; room != NULL; room = room->getNextData()) { + room->buildFmapRoomData(param_0, ivar, param_1, param_2, m_offsetX, m_offsetZ); + f32 min_x = room->getFileList2MinX(); + f32 min_z = room->getFileList2MinZ(); + f32 max_x = room->getFileList2MaxX(); + f32 max_z = room->getFileList2MaxZ(); + + if (min_x < fvar3) { + fvar3 = min_x; + } + + if (min_z < fvar4) { + fvar4 = min_z; + } + + if (max_x > fvar5) { + fvar5 = max_x; + } + + if (max_z > fvar6) { + fvar6 = max_z; + } + + ivar++; + } + + if (ivar > 0) { + m_stageMinX = fvar3; + m_stageMinZ = fvar4; + m_stageMaxX = fvar5; + m_stageMaxZ = fvar6; + } else { + f32 tmp_0 = lit_3894[0]; + m_stageMinX = tmp_0; + m_stageMinZ = tmp_0; + m_stageMaxX = tmp_0; + m_stageMaxZ = tmp_0; + } + + return ivar; } -#pragma pop /* 8003DB48-8003DB70 038488 0028+00 0/0 1/1 0/0 .text * getMenuFmapStageData__24dMenu_Fmap_region_data_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dMenu_Fmap_region_data_c::getMenuFmapStageData(int param_0) { - nofralloc -#include "asm/d/map/d_map_path_fmap/getMenuFmapStageData__24dMenu_Fmap_region_data_cFi.s" +dMenu_Fmap_stage_data_c* dMenu_Fmap_region_data_c::getMenuFmapStageData(int param_0) { + dMenu_Fmap_stage_data_c* stage = mpMenuFmapStageDataTop; + for (int i = 0; stage != NULL && i < param_0; i++) { + stage = stage->getNextData(); + } + + return stage; } -#pragma pop /* 8003DB70-8003DEE0 0384B0 0370+00 0/0 1/1 0/0 .text * getPointStagePathInnerNo__24dMenu_Fmap_region_data_cFffiPiPi */ From 519841143da54659fb4cb2d1f9028c0403d4b51c Mon Sep 17 00:00:00 2001 From: TakaRikka Date: Tue, 31 Jan 2023 02:59:13 -0800 Subject: [PATCH 4/5] d_a_tag_guard OK --- include/d/d_path.h | 1 + .../rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h | 15 +- rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp | 171 ++++++++---------- 3 files changed, 88 insertions(+), 99 deletions(-) diff --git a/include/d/d_path.h b/include/d/d_path.h index e3c17df3b9..0ff854677d 100644 --- a/include/d/d_path.h +++ b/include/d/d_path.h @@ -18,5 +18,6 @@ struct dPath { inline int dPath_ChkClose(dPath* i_path) { return (i_path->m_closed & 1); } dPath* dPath_GetRoomPath(int path_index, int room_no); +dStage_dPnt_c* dPath_GetPnt(dPath const* path, int pnt_index); #endif /* D_D_PATH_H */ diff --git a/include/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h b/include/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h index 324c439670..f71874c820 100644 --- a/include/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h +++ b/include/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h @@ -1,6 +1,19 @@ #ifndef D_A_TAG_GUARD_H #define D_A_TAG_GUARD_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_path.h" + +class daTagGuard_c : public fopAc_ac_c { +public: + /* 80D597F8 */ int getAppearPoint(Vec*); + /* 80D5985C */ void createGuard(u32); + + u8 getPathID() { return fopAcM_GetParam(this) >> 8; } + inline int create(); + inline void create_init(); + + /* 0x568 */ dPath* mPath; +}; // Size: 0x56C #endif /* D_A_TAG_GUARD_H */ diff --git a/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp b/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp index 112d0e08a9..055c5248d6 100644 --- a/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp +++ b/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.cpp @@ -1,122 +1,97 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_guard -// +/** + * d_a_tag_guard.cpp + * + */ #include "rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h" -#include "dol2asm.h" -#include "dolphin/types.h" +#include "d/d_procname.h" -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct Vec {}; - -struct daTagGuard_c { - /* 80D597F8 */ void getAppearPoint(Vec*); - /* 80D5985C */ void createGuard(u32); -}; - -struct dPath {}; - -struct csXyz {}; - -struct cXyz {}; - -// -// Forward References: -// - -extern "C" void getAppearPoint__12daTagGuard_cFP3Vec(); -extern "C" void createGuard__12daTagGuard_cFUl(); -extern "C" static void daTagGuard_Create__FP10fopAc_ac_c(); -extern "C" static void daTagGuard_Delete__FP12daTagGuard_c(); -extern "C" extern void* g_profile_TAG_GUARD[12]; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void dPath_GetPnt__FPC5dPathi(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; - -// -// Declarations: -// +extern "C" extern leafdraw_method_class g_fopAc_Method; /* 80D597F8-80D5985C 000078 0064+00 0/0 0/0 1/1 .text getAppearPoint__12daTagGuard_cFP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagGuard_c::getAppearPoint(Vec* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/getAppearPoint__12daTagGuard_cFP3Vec.s" +int daTagGuard_c::getAppearPoint(Vec* i_appearPnt) { + if (mPath == NULL) { + return 0; + } + + *i_appearPnt = dPath_GetPnt(mPath, mPath->m_num - 1)->m_position; + return 1; } -#pragma pop /* 80D5985C-80D59928 0000DC 00CC+00 0/0 0/0 1/1 .text createGuard__12daTagGuard_cFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagGuard_c::createGuard(u32 param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/createGuard__12daTagGuard_cFUl.s" +void daTagGuard_c::createGuard(u32 i_parameters) { + cXyz pos = current.pos; + + if (getPathID() != 0xFF) { + pos = dPath_GetPnt(mPath, 0)->m_position; + i_parameters |= (getPathID() << 0x10); + } + + fopAcM_createChild(PROC_NPC_GUARD, fopAcM_GetID(this), i_parameters, &pos, + fopAcM_GetRoomNo(this), ¤t.angle, NULL, -1, NULL); +} + +int daTagGuard_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagGuard_c(); + fopAcM_OnCondition(this, 8); + } + + create_init(); + return cPhs_COMPLEATE_e; +} + +void daTagGuard_c::create_init() { + mPath = dPath_GetRoomPath(getPathID(), fopAcM_GetHomeRoomNo(this)); + + dStage_dPnt_c* pnt1 = dPath_GetPnt(mPath, 0); + dStage_dPnt_c* pnt2 = dPath_GetPnt(mPath, 1); + + current.pos.x = pnt1->m_position.x; + current.pos.y = pnt1->m_position.y; + current.pos.z = pnt1->m_position.z; + current.angle.y = cLib_targetAngleY(&pnt1->m_position, &pnt2->m_position); } -#pragma pop /* 80D59928-80D599E0 0001A8 00B8+00 1/0 0/0 0/0 .text daTagGuard_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagGuard_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Create__FP10fopAc_ac_c.s" +static int daTagGuard_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80D599E0-80D59A10 000260 0030+00 1/0 0/0 0/0 .text daTagGuard_Delete__FP12daTagGuard_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagGuard_Delete(daTagGuard_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_guard/d_a_tag_guard/daTagGuard_Delete__FP12daTagGuard_c.s" +static int daTagGuard_Delete(daTagGuard_c* i_this) { + i_this->~daTagGuard_c(); + return 1; } -#pragma pop /* ############################################################################################## */ /* 80D59A18-80D59A38 -00001 0020+00 1/0 0/0 0/0 .data l_daTagGuard_Method */ -SECTION_DATA static void* l_daTagGuard_Method[8] = { - (void*)daTagGuard_Create__FP10fopAc_ac_c, - (void*)daTagGuard_Delete__FP12daTagGuard_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagGuard_Method = { + (process_method_func)daTagGuard_Create, + (process_method_func)daTagGuard_Delete, }; /* 80D59A38-80D59A68 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_GUARD */ -SECTION_DATA extern void* g_profile_TAG_GUARD[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02960000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01980000, (void*)&l_daTagGuard_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_TAG_GUARD = { + -3, + 7, + -3, + PROC_TAG_GUARD, + 0, + &g_fpcLf_Method.mBase, + sizeof(daTagGuard_c), + 0, + 0, + &g_fopAc_Method, + 0x0198, + 0, + 0, + &l_daTagGuard_Method, + 0x00040000, + 0x00, + 0x0E, + 0, + 0, }; From fc13c3289f77cf364d27be5350e54549db2d022b Mon Sep 17 00:00:00 2001 From: TakaRikka Date: Tue, 31 Jan 2023 20:08:30 -0800 Subject: [PATCH 5/5] fix conflict --- Progress.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Progress.md b/Progress.md index f160ca8217..5f34b21b87 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 23.835549% | 857256 | 3596544 +.text | 23.857459% | 858044 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 31.865121% | 1281192 | 4020672 +Total | 31.884720% | 1281980 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 31.709426% | 1274932 | 4020672 -RELs | 33.043626% | 3800124 | 11500324 -Total | 32.698005% | 5075056 | 15520996 +main.dol | 31.884720% | 1281980 | 4020672 +RELs | 33.048286% | 3800660 | 11500324 +Total | 32.746868% | 5082640 | 15520996 ## RELs @@ -727,7 +727,7 @@ d_a_tag_evtmsg | 39.491150% | 1428 | 3616 d_a_tag_firewall | 35.325132% | 1608 | 4552 d_a_tag_gra | 76.000000% | 608 | 800 d_a_tag_gstart | 100.000000% | 1208 | 1208 -d_a_tag_guard | 54.421769% | 640 | 1176 +d_a_tag_guard | 100.000000% | 1176 | 1176 d_a_tag_hinit | 100.000000% | 1440 | 1440 d_a_tag_hjump | 40.841584% | 1320 | 3232 d_a_tag_howl | 46.934461% | 888 | 1892 @@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244 d_a_warp_bug | 54.940711% | 1112 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 33.043626% | 3800124 | 11500324 +Total | 33.048286% | 3800660 | 11500324