From 36a29bc4fe6464d57d693ab24aedd97e4bb59310 Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Mon, 29 Jan 2024 07:39:51 -0800 Subject: [PATCH] various fixes / matches (#2052) * some fixes in d/s, d_item, d_shop * fix for dKankyo_DayProc weak generation * d_cc_uty fix * some d_name / d_com_inf_game / f_op_actor_mng matches * fix some player inline virtuals * remove asm --- ...c_at_check__FP10fopAc_ac_cP11dCcU_AtInfo.s | 370 ---- .../dComIfG_getNowCalcRegion__Fv.s | 112 -- .../dComIfGp_calcNowRegion__Fv.s | 167 -- asm/d/d_item/addBombCount__FUcUc.s | 186 --- .../item_getcheck_func_FISHING_ROD_1__Fv.s | 83 - asm/d/d_name/mojiChange__7dName_cFUc.s | 246 --- .../createPane__10COutFont_cFv.s | 923 ---------- .../draw__10COutFont_cFP10J2DTextBoxfff.s | 1484 ----------------- ...tBlendAnime__10COutFont_cFP10J2DPictures.s | 43 - .../d_shop_system/__sinit_d_shop_system_cpp.s | 77 - ...m__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s | 193 --- include/d/a/d_a_alink.h | 14 +- include/d/a/d_a_item_static.h | 7 +- include/d/a/d_a_player.h | 50 +- include/d/com/d_com_inf_game.h | 18 +- include/d/d_item.h | 389 ++--- include/d/d_stage.h | 1 + include/d/kankyo/d_kankyo.h | 1 - include/d/kankyo/d_kankyo_static.h | 18 + include/d/menu/d_menu_fmap.h | 2 + include/d/s/d_s_play.h | 2 +- include/d/save/d_save.h | 3 + include/d/shop/d_shop_camera.h | 4 +- include/d/shop/d_shop_system.h | 12 +- include/m_Do/m_Do_graphic.h | 2 +- obj_files.mk | 3 + rel/d/a/kytag/d_a_kytag11/Makefile | 1 + rel/d/a/kytag/d_a_kytag11/d_a_kytag11.cpp | 5 +- src/d/a/d_a_obj_item.cpp | 42 +- src/d/bg/d_bg_s_acch.cpp | 5 +- src/d/cc/d_cc_uty.cpp | 394 ++--- src/d/com/d_com_inf_game.cpp | 545 ++++-- src/d/d_camera.cpp | 39 +- src/d/d_drawlist.cpp | 10 +- src/d/d_item.cpp | 1049 ++++-------- src/d/d_item_data.cpp | 27 +- src/d/d_kyeff.cpp | 5 - src/d/d_name.cpp | 403 +++-- src/d/kankyo/d_kankyo.cpp | 1 + src/d/kankyo/d_kankyo_wether.cpp | 4 +- src/d/menu/d_menu_fmap.cpp | 2 +- src/d/s/d_s_logo.cpp | 137 +- src/d/s/d_s_menu.cpp | 4 +- src/d/s/d_s_name.cpp | 139 +- src/d/s/d_s_play.cpp | 324 ++-- src/d/s/d_s_room.cpp | 102 +- src/d/s/d_s_title.cpp | 3 +- src/d/shop/d_shop_camera.cpp | 68 +- src/d/shop/d_shop_item_ctrl.cpp | 77 +- src/d/shop/d_shop_system.cpp | 1094 +++--------- src/f_op/f_op_actor_mng.cpp | 169 +- src/m_Do/m_Do_graphic.cpp | 514 +++--- 52 files changed, 2407 insertions(+), 7166 deletions(-) delete mode 100644 asm/d/cc/d_cc_uty/cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfG_getNowCalcRegion__Fv.s delete mode 100644 asm/d/com/d_com_inf_game/dComIfGp_calcNowRegion__Fv.s delete mode 100644 asm/d/d_item/addBombCount__FUcUc.s delete mode 100644 asm/d/d_item/item_getcheck_func_FISHING_ROD_1__Fv.s delete mode 100644 asm/d/d_name/mojiChange__7dName_cFUc.s delete mode 100644 asm/d/msg/d_msg_out_font/createPane__10COutFont_cFv.s delete mode 100644 asm/d/msg/d_msg_out_font/draw__10COutFont_cFP10J2DTextBoxfff.s delete mode 100644 asm/d/msg/d_msg_out_font/setBlendAnime__10COutFont_cFP10J2DPictures.s delete mode 100644 asm/d/shop/d_shop_system/__sinit_d_shop_system_cpp.s delete mode 100644 asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s create mode 100644 include/d/kankyo/d_kankyo_static.h diff --git a/asm/d/cc/d_cc_uty/cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo.s b/asm/d/cc/d_cc_uty/cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo.s deleted file mode 100644 index 9119558b5a..0000000000 --- a/asm/d/cc/d_cc_uty/cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo.s +++ /dev/null @@ -1,370 +0,0 @@ -lbl_80087C04: -/* 80087C04 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80087C08 7C 08 02 A6 */ mflr r0 -/* 80087C0C 90 01 00 64 */ stw r0, 0x64(r1) -/* 80087C10 DB E1 00 50 */ stfd f31, 0x50(r1) -/* 80087C14 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */ -/* 80087C18 DB C1 00 40 */ stfd f30, 0x40(r1) -/* 80087C1C F3 C1 00 48 */ psq_st f30, 72(r1), 0, 0 /* qr0 */ -/* 80087C20 39 61 00 40 */ addi r11, r1, 0x40 -/* 80087C24 48 2D A5 A9 */ bl _savegpr_25 -/* 80087C28 7C 7B 1B 78 */ mr r27, r3 -/* 80087C2C 7C 9C 23 78 */ mr r28, r4 -/* 80087C30 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80087C34 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80087C38 83 DF 5D AC */ lwz r30, 0x5dac(r31) -/* 80087C3C 7F 83 E3 78 */ mr r3, r28 -/* 80087C40 4B FF FE 19 */ bl at_power_check__FP11dCcU_AtInfo -/* 80087C44 90 7C 00 04 */ stw r3, 4(r28) -/* 80087C48 80 7C 00 04 */ lwz r3, 4(r28) -/* 80087C4C 28 03 00 00 */ cmplwi r3, 0 -/* 80087C50 41 82 04 B8 */ beq lbl_80088108 -/* 80087C54 C0 03 04 F8 */ lfs f0, 0x4f8(r3) -/* 80087C58 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80087C5C C0 03 04 FC */ lfs f0, 0x4fc(r3) -/* 80087C60 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80087C64 C0 03 05 00 */ lfs f0, 0x500(r3) -/* 80087C68 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80087C6C C0 02 8D 98 */ lfs f0, lit_4212(r2) -/* 80087C70 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80087C74 38 61 00 0C */ addi r3, r1, 0xc -/* 80087C78 48 2B F4 C1 */ bl PSVECSquareMag -/* 80087C7C C0 02 8D 98 */ lfs f0, lit_4212(r2) -/* 80087C80 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80087C84 40 81 00 58 */ ble lbl_80087CDC -/* 80087C88 FC 00 08 34 */ frsqrte f0, f1 -/* 80087C8C C8 82 8D A0 */ lfd f4, lit_4213(r2) -/* 80087C90 FC 44 00 32 */ fmul f2, f4, f0 -/* 80087C94 C8 62 8D A8 */ lfd f3, lit_4214(r2) -/* 80087C98 FC 00 00 32 */ fmul f0, f0, f0 -/* 80087C9C FC 01 00 32 */ fmul f0, f1, f0 -/* 80087CA0 FC 03 00 28 */ fsub f0, f3, f0 -/* 80087CA4 FC 02 00 32 */ fmul f0, f2, f0 -/* 80087CA8 FC 44 00 32 */ fmul f2, f4, f0 -/* 80087CAC FC 00 00 32 */ fmul f0, f0, f0 -/* 80087CB0 FC 01 00 32 */ fmul f0, f1, f0 -/* 80087CB4 FC 03 00 28 */ fsub f0, f3, f0 -/* 80087CB8 FC 02 00 32 */ fmul f0, f2, f0 -/* 80087CBC FC 44 00 32 */ fmul f2, f4, f0 -/* 80087CC0 FC 00 00 32 */ fmul f0, f0, f0 -/* 80087CC4 FC 01 00 32 */ fmul f0, f1, f0 -/* 80087CC8 FC 03 00 28 */ fsub f0, f3, f0 -/* 80087CCC FC 02 00 32 */ fmul f0, f2, f0 -/* 80087CD0 FC 21 00 32 */ fmul f1, f1, f0 -/* 80087CD4 FC 20 08 18 */ frsp f1, f1 -/* 80087CD8 48 00 00 88 */ b lbl_80087D60 -lbl_80087CDC: -/* 80087CDC C8 02 8D B0 */ lfd f0, lit_4215(r2) -/* 80087CE0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80087CE4 40 80 00 10 */ bge lbl_80087CF4 -/* 80087CE8 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80087CEC C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80087CF0 48 00 00 70 */ b lbl_80087D60 -lbl_80087CF4: -/* 80087CF4 D0 21 00 08 */ stfs f1, 8(r1) -/* 80087CF8 80 81 00 08 */ lwz r4, 8(r1) -/* 80087CFC 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80087D00 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80087D04 7C 03 00 00 */ cmpw r3, r0 -/* 80087D08 41 82 00 14 */ beq lbl_80087D1C -/* 80087D0C 40 80 00 40 */ bge lbl_80087D4C -/* 80087D10 2C 03 00 00 */ cmpwi r3, 0 -/* 80087D14 41 82 00 20 */ beq lbl_80087D34 -/* 80087D18 48 00 00 34 */ b lbl_80087D4C -lbl_80087D1C: -/* 80087D1C 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80087D20 41 82 00 0C */ beq lbl_80087D2C -/* 80087D24 38 00 00 01 */ li r0, 1 -/* 80087D28 48 00 00 28 */ b lbl_80087D50 -lbl_80087D2C: -/* 80087D2C 38 00 00 02 */ li r0, 2 -/* 80087D30 48 00 00 20 */ b lbl_80087D50 -lbl_80087D34: -/* 80087D34 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80087D38 41 82 00 0C */ beq lbl_80087D44 -/* 80087D3C 38 00 00 05 */ li r0, 5 -/* 80087D40 48 00 00 10 */ b lbl_80087D50 -lbl_80087D44: -/* 80087D44 38 00 00 03 */ li r0, 3 -/* 80087D48 48 00 00 08 */ b lbl_80087D50 -lbl_80087D4C: -/* 80087D4C 38 00 00 04 */ li r0, 4 -lbl_80087D50: -/* 80087D50 2C 00 00 01 */ cmpwi r0, 1 -/* 80087D54 40 82 00 0C */ bne lbl_80087D60 -/* 80087D58 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80087D5C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_80087D60: -/* 80087D60 C0 02 8D B8 */ lfs f0, lit_4216(r2) -/* 80087D64 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80087D68 40 81 00 3C */ ble lbl_80087DA4 -/* 80087D6C 80 7C 00 04 */ lwz r3, 4(r28) -/* 80087D70 C3 C3 04 F8 */ lfs f30, 0x4f8(r3) -/* 80087D74 C3 E3 05 00 */ lfs f31, 0x500(r3) -/* 80087D78 C0 22 8D BC */ lfs f1, lit_4217(r2) -/* 80087D7C 48 1D FC 11 */ bl cM_rndFX__Ff -/* 80087D80 FC 00 08 1E */ fctiwz f0, f1 -/* 80087D84 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 80087D88 83 41 00 1C */ lwz r26, 0x1c(r1) -/* 80087D8C FC 20 F0 50 */ fneg f1, f30 -/* 80087D90 FC 40 F8 50 */ fneg f2, f31 -/* 80087D94 48 1D F8 E1 */ bl cM_atan2s__Fff -/* 80087D98 7C 03 D2 14 */ add r0, r3, r26 -/* 80087D9C B0 1C 00 0E */ sth r0, 0xe(r28) -/* 80087DA0 48 00 00 80 */ b lbl_80087E20 -lbl_80087DA4: -/* 80087DA4 80 7C 00 04 */ lwz r3, 4(r28) -/* 80087DA8 A8 03 00 08 */ lha r0, 8(r3) -/* 80087DAC 2C 00 00 FE */ cmpwi r0, 0xfe -/* 80087DB0 40 82 00 48 */ bne lbl_80087DF8 -/* 80087DB4 C0 3B 04 D0 */ lfs f1, 0x4d0(r27) -/* 80087DB8 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) -/* 80087DBC EF E1 00 28 */ fsubs f31, f1, f0 -/* 80087DC0 C0 3B 04 D8 */ lfs f1, 0x4d8(r27) -/* 80087DC4 C0 1E 04 D8 */ lfs f0, 0x4d8(r30) -/* 80087DC8 EF C1 00 28 */ fsubs f30, f1, f0 -/* 80087DCC C0 22 8D C0 */ lfs f1, lit_4218(r2) -/* 80087DD0 48 1D FB BD */ bl cM_rndFX__Ff -/* 80087DD4 FC 00 08 1E */ fctiwz f0, f1 -/* 80087DD8 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 80087DDC 83 41 00 1C */ lwz r26, 0x1c(r1) -/* 80087DE0 FC 20 F8 50 */ fneg f1, f31 -/* 80087DE4 FC 40 F0 50 */ fneg f2, f30 -/* 80087DE8 48 1D F8 8D */ bl cM_atan2s__Fff -/* 80087DEC 7C 03 D2 14 */ add r0, r3, r26 -/* 80087DF0 B0 1C 00 0E */ sth r0, 0xe(r28) -/* 80087DF4 48 00 00 2C */ b lbl_80087E20 -lbl_80087DF8: -/* 80087DF8 C0 3B 04 D0 */ lfs f1, 0x4d0(r27) -/* 80087DFC C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 80087E00 EC 41 00 28 */ fsubs f2, f1, f0 -/* 80087E04 C0 3B 04 D8 */ lfs f1, 0x4d8(r27) -/* 80087E08 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 80087E0C EC 01 00 28 */ fsubs f0, f1, f0 -/* 80087E10 FC 20 10 50 */ fneg f1, f2 -/* 80087E14 FC 40 00 50 */ fneg f2, f0 -/* 80087E18 48 1D F8 5D */ bl cM_atan2s__Fff -/* 80087E1C B0 7C 00 0E */ sth r3, 0xe(r28) -lbl_80087E20: -/* 80087E20 88 1C 00 20 */ lbz r0, 0x20(r28) -/* 80087E24 28 00 00 01 */ cmplwi r0, 1 -/* 80087E28 40 82 00 18 */ bne lbl_80087E40 -/* 80087E2C 88 1E 05 68 */ lbz r0, 0x568(r30) -/* 80087E30 28 00 00 05 */ cmplwi r0, 5 -/* 80087E34 40 82 00 0C */ bne lbl_80087E40 -/* 80087E38 A8 1E 04 E6 */ lha r0, 0x4e6(r30) -/* 80087E3C B0 1C 00 0E */ sth r0, 0xe(r28) -lbl_80087E40: -/* 80087E40 80 7C 00 00 */ lwz r3, 0(r28) -/* 80087E44 80 03 00 10 */ lwz r0, 0x10(r3) -/* 80087E48 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 -/* 80087E4C 41 82 00 18 */ beq lbl_80087E64 -/* 80087E50 80 1B 04 9C */ lwz r0, 0x49c(r27) -/* 80087E54 54 00 02 99 */ rlwinm. r0, r0, 0, 0xa, 0xc -/* 80087E58 41 82 00 0C */ beq lbl_80087E64 -/* 80087E5C 38 00 00 00 */ li r0, 0 -/* 80087E60 B0 1C 00 1C */ sth r0, 0x1c(r28) -lbl_80087E64: -/* 80087E64 80 7C 00 00 */ lwz r3, 0(r28) -/* 80087E68 88 03 00 75 */ lbz r0, 0x75(r3) -/* 80087E6C 28 00 00 04 */ cmplwi r0, 4 -/* 80087E70 40 82 00 2C */ bne lbl_80087E9C -/* 80087E74 A8 1B 00 08 */ lha r0, 8(r27) -/* 80087E78 2C 00 02 0E */ cmpwi r0, 0x20e -/* 80087E7C 40 82 00 10 */ bne lbl_80087E8C -/* 80087E80 38 00 00 00 */ li r0, 0 -/* 80087E84 B0 1C 00 1C */ sth r0, 0x1c(r28) -/* 80087E88 48 00 00 14 */ b lbl_80087E9C -lbl_80087E8C: -/* 80087E8C 2C 00 00 F9 */ cmpwi r0, 0xf9 -/* 80087E90 41 82 00 0C */ beq lbl_80087E9C -/* 80087E94 38 00 00 64 */ li r0, 0x64 -/* 80087E98 B0 1C 00 1C */ sth r0, 0x1c(r28) -lbl_80087E9C: -/* 80087E9C 88 1C 00 20 */ lbz r0, 0x20(r28) -/* 80087EA0 28 00 00 01 */ cmplwi r0, 1 -/* 80087EA4 40 82 00 78 */ bne lbl_80087F1C -/* 80087EA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80087EAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80087EB0 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 80087EB4 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80087EB8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80087EBC 40 82 00 40 */ bne lbl_80087EFC -/* 80087EC0 48 0D 74 D9 */ bl checkMasterSwordEquip__9daPy_py_cFv -/* 80087EC4 2C 03 00 00 */ cmpwi r3, 0 -/* 80087EC8 41 82 00 10 */ beq lbl_80087ED8 -/* 80087ECC A0 1C 00 1C */ lhz r0, 0x1c(r28) -/* 80087ED0 54 00 0C 3C */ rlwinm r0, r0, 1, 0x10, 0x1e -/* 80087ED4 B0 1C 00 1C */ sth r0, 0x1c(r28) -lbl_80087ED8: -/* 80087ED8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80087EDC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80087EE0 88 03 00 14 */ lbz r0, 0x14(r3) -/* 80087EE4 28 00 00 3F */ cmplwi r0, 0x3f -/* 80087EE8 40 82 00 14 */ bne lbl_80087EFC -/* 80087EEC A0 1C 00 1C */ lhz r0, 0x1c(r28) -/* 80087EF0 7C 00 0E 70 */ srawi r0, r0, 1 -/* 80087EF4 7C 00 01 94 */ addze r0, r0 -/* 80087EF8 B0 1C 00 1C */ sth r0, 0x1c(r28) -lbl_80087EFC: -/* 80087EFC A0 1E 05 6E */ lhz r0, 0x56e(r30) -/* 80087F00 28 00 00 00 */ cmplwi r0, 0 -/* 80087F04 41 82 00 18 */ beq lbl_80087F1C -/* 80087F08 A0 1C 00 1C */ lhz r0, 0x1c(r28) -/* 80087F0C 54 00 0C 3C */ rlwinm r0, r0, 1, 0x10, 0x1e -/* 80087F10 B0 1C 00 1C */ sth r0, 0x1c(r28) -/* 80087F14 38 00 00 01 */ li r0, 1 -/* 80087F18 98 1C 00 1F */ stb r0, 0x1f(r28) -lbl_80087F1C: -/* 80087F1C A0 7C 00 1C */ lhz r3, 0x1c(r28) -/* 80087F20 28 03 00 00 */ cmplwi r3, 0 -/* 80087F24 41 82 00 10 */ beq lbl_80087F34 -/* 80087F28 A8 1B 05 62 */ lha r0, 0x562(r27) -/* 80087F2C 7C 03 00 50 */ subf r0, r3, r0 -/* 80087F30 B0 1B 05 62 */ sth r0, 0x562(r27) -lbl_80087F34: -/* 80087F34 3B A0 00 00 */ li r29, 0 -/* 80087F38 A0 1C 00 1C */ lhz r0, 0x1c(r28) -/* 80087F3C 28 00 00 00 */ cmplwi r0, 0 -/* 80087F40 41 82 00 20 */ beq lbl_80087F60 -/* 80087F44 A8 1B 05 62 */ lha r0, 0x562(r27) -/* 80087F48 2C 00 00 00 */ cmpwi r0, 0 -/* 80087F4C 41 81 00 14 */ bgt lbl_80087F60 -/* 80087F50 38 00 00 02 */ li r0, 2 -/* 80087F54 98 1C 00 1F */ stb r0, 0x1f(r28) -/* 80087F58 38 00 00 00 */ li r0, 0 -/* 80087F5C B0 1B 05 62 */ sth r0, 0x562(r27) -lbl_80087F60: -/* 80087F60 80 7C 00 00 */ lwz r3, 0(r28) -/* 80087F64 80 03 00 10 */ lwz r0, 0x10(r3) -/* 80087F68 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 -/* 80087F6C 41 82 00 18 */ beq lbl_80087F84 -/* 80087F70 80 1B 04 9C */ lwz r0, 0x49c(r27) -/* 80087F74 74 00 00 28 */ andis. r0, r0, 0x28 -/* 80087F78 40 82 00 0C */ bne lbl_80087F84 -/* 80087F7C 3B 20 00 01 */ li r25, 1 -/* 80087F80 48 00 00 08 */ b lbl_80087F88 -lbl_80087F84: -/* 80087F84 3B 20 00 00 */ li r25, 0 -lbl_80087F88: -/* 80087F88 80 1C 00 08 */ lwz r0, 8(r28) -/* 80087F8C 28 00 00 00 */ cmplwi r0, 0 -/* 80087F90 41 82 00 6C */ beq lbl_80087FFC -/* 80087F94 83 5C 00 18 */ lwz r26, 0x18(r28) -/* 80087F98 28 1A 00 00 */ cmplwi r26, 0 -/* 80087F9C 41 82 00 2C */ beq lbl_80087FC8 -/* 80087FA0 7F 24 CB 78 */ mr r4, r25 -/* 80087FA4 4B FF F5 4D */ bl getHitId__FP8cCcD_Obji -/* 80087FA8 7C 64 1B 78 */ mr r4, r3 -/* 80087FAC 80 7C 00 08 */ lwz r3, 8(r28) -/* 80087FB0 7F 45 D3 78 */ mr r5, r26 -/* 80087FB4 81 83 00 00 */ lwz r12, 0(r3) -/* 80087FB8 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80087FBC 7D 89 03 A6 */ mtctr r12 -/* 80087FC0 4E 80 04 21 */ bctrl -/* 80087FC4 48 00 00 38 */ b lbl_80087FFC -lbl_80087FC8: -/* 80087FC8 88 7C 00 1F */ lbz r3, 0x1f(r28) -/* 80087FCC 4B FF F4 F9 */ bl getMapInfo__FSc -/* 80087FD0 7C 7A 1B 78 */ mr r26, r3 -/* 80087FD4 80 7C 00 00 */ lwz r3, 0(r28) -/* 80087FD8 7F 24 CB 78 */ mr r4, r25 -/* 80087FDC 4B FF F5 15 */ bl getHitId__FP8cCcD_Obji -/* 80087FE0 7C 64 1B 78 */ mr r4, r3 -/* 80087FE4 80 7C 00 08 */ lwz r3, 8(r28) -/* 80087FE8 7F 45 D3 78 */ mr r5, r26 -/* 80087FEC 81 83 00 00 */ lwz r12, 0(r3) -/* 80087FF0 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 80087FF4 7D 89 03 A6 */ mtctr r12 -/* 80087FF8 4E 80 04 21 */ bctrl -lbl_80087FFC: -/* 80087FFC 88 1C 00 1F */ lbz r0, 0x1f(r28) -/* 80088000 7C 00 07 75 */ extsb. r0, r0 -/* 80088004 41 82 00 0C */ beq lbl_80088010 -/* 80088008 3B A0 00 05 */ li r29, 5 -/* 8008800C 48 00 00 14 */ b lbl_80088020 -lbl_80088010: -/* 80088010 A0 1C 00 1C */ lhz r0, 0x1c(r28) -/* 80088014 28 00 00 01 */ cmplwi r0, 1 -/* 80088018 40 81 00 08 */ ble lbl_80088020 -/* 8008801C 3B A0 00 02 */ li r29, 2 -lbl_80088020: -/* 80088020 80 7C 00 00 */ lwz r3, 0(r28) -/* 80088024 80 03 00 10 */ lwz r0, 0x10(r3) -/* 80088028 54 00 01 09 */ rlwinm. r0, r0, 0, 4, 4 -/* 8008802C 40 82 00 20 */ bne lbl_8008804C -/* 80088030 80 7F 5D AC */ lwz r3, 0x5dac(r31) -/* 80088034 81 83 06 28 */ lwz r12, 0x628(r3) -/* 80088038 81 8C 01 88 */ lwz r12, 0x188(r12) -/* 8008803C 7D 89 03 A6 */ mtctr r12 -/* 80088040 4E 80 04 21 */ bctrl -/* 80088044 28 03 00 00 */ cmplwi r3, 0 -/* 80088048 41 82 00 30 */ beq lbl_80088078 -lbl_8008804C: -/* 8008804C A8 7B 00 08 */ lha r3, 8(r27) -/* 80088050 2C 03 01 D4 */ cmpwi r3, 0x1d4 -/* 80088054 40 82 00 10 */ bne lbl_80088064 -/* 80088058 88 1B 12 9A */ lbz r0, 0x129a(r27) -/* 8008805C 7C 00 07 75 */ extsb. r0, r0 -/* 80088060 40 82 00 0C */ bne lbl_8008806C -lbl_80088064: -/* 80088064 2C 03 02 0E */ cmpwi r3, 0x20e -/* 80088068 40 82 00 0C */ bne lbl_80088074 -lbl_8008806C: -/* 8008806C 3B A0 00 03 */ li r29, 3 -/* 80088070 48 00 00 08 */ b lbl_80088078 -lbl_80088074: -/* 80088074 3B A0 00 00 */ li r29, 0 -lbl_80088078: -/* 80088078 A8 1B 00 08 */ lha r0, 8(r27) -/* 8008807C 2C 00 01 B7 */ cmpwi r0, 0x1b7 -/* 80088080 41 82 00 34 */ beq lbl_800880B4 -/* 80088084 2C 00 01 BE */ cmpwi r0, 0x1be -/* 80088088 41 82 00 2C */ beq lbl_800880B4 -/* 8008808C 2C 00 01 EA */ cmpwi r0, 0x1ea -/* 80088090 41 82 00 24 */ beq lbl_800880B4 -/* 80088094 2C 00 01 F9 */ cmpwi r0, 0x1f9 -/* 80088098 41 82 00 1C */ beq lbl_800880B4 -/* 8008809C 2C 00 01 FB */ cmpwi r0, 0x1fb -/* 800880A0 41 82 00 14 */ beq lbl_800880B4 -/* 800880A4 2C 00 01 BB */ cmpwi r0, 0x1bb -/* 800880A8 41 82 00 0C */ beq lbl_800880B4 -/* 800880AC 2C 00 01 E7 */ cmpwi r0, 0x1e7 -/* 800880B0 40 82 00 08 */ bne lbl_800880B8 -lbl_800880B4: -/* 800880B4 3B A0 00 00 */ li r29, 0 -lbl_800880B8: -/* 800880B8 88 1C 00 20 */ lbz r0, 0x20(r28) -/* 800880BC 28 00 00 01 */ cmplwi r0, 1 -/* 800880C0 41 82 00 14 */ beq lbl_800880D4 -/* 800880C4 80 7C 00 00 */ lwz r3, 0(r28) -/* 800880C8 80 03 00 10 */ lwz r0, 0x10(r3) -/* 800880CC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800880D0 41 82 00 38 */ beq lbl_80088108 -lbl_800880D4: -/* 800880D4 7F C3 F3 78 */ mr r3, r30 -/* 800880D8 81 9E 06 28 */ lwz r12, 0x628(r30) -/* 800880DC 81 8C 01 3C */ lwz r12, 0x13c(r12) -/* 800880E0 7D 89 03 A6 */ mtctr r12 -/* 800880E4 4E 80 04 21 */ bctrl -/* 800880E8 2C 03 00 00 */ cmpwi r3, 0 -/* 800880EC 40 82 00 1C */ bne lbl_80088108 -/* 800880F0 80 7C 00 00 */ lwz r3, 0(r28) -/* 800880F4 80 03 00 10 */ lwz r0, 0x10(r3) -/* 800880F8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 800880FC 41 82 00 08 */ beq lbl_80088104 -/* 80088100 3B A0 00 04 */ li r29, 4 -lbl_80088104: -/* 80088104 9B AD 8B A5 */ stb r29, pauseTimer__9dScnPly_c+0x1(r13) -lbl_80088108: -/* 80088108 80 7C 00 04 */ lwz r3, 4(r28) -/* 8008810C E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */ -/* 80088110 CB E1 00 50 */ lfd f31, 0x50(r1) -/* 80088114 E3 C1 00 48 */ psq_l f30, 72(r1), 0, 0 /* qr0 */ -/* 80088118 CB C1 00 40 */ lfd f30, 0x40(r1) -/* 8008811C 39 61 00 40 */ addi r11, r1, 0x40 -/* 80088120 48 2D A0 F9 */ bl _restgpr_25 -/* 80088124 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80088128 7C 08 03 A6 */ mtlr r0 -/* 8008812C 38 21 00 60 */ addi r1, r1, 0x60 -/* 80088130 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfG_getNowCalcRegion__Fv.s b/asm/d/com/d_com_inf_game/dComIfG_getNowCalcRegion__Fv.s deleted file mode 100644 index 4121901500..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfG_getNowCalcRegion__Fv.s +++ /dev/null @@ -1,112 +0,0 @@ -lbl_8002EC54: -/* 8002EC54 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 8002EC58 21 6B F7 80 */ subfic r11, r11, -2176 -/* 8002EC5C 7C 2C 0B 78 */ mr r12, r1 -/* 8002EC60 7C 21 59 6E */ stwux r1, r1, r11 -/* 8002EC64 7C 08 02 A6 */ mflr r0 -/* 8002EC68 90 0C 00 04 */ stw r0, 4(r12) -/* 8002EC6C 7D 8B 63 78 */ mr r11, r12 -/* 8002EC70 48 33 35 5D */ bl _savegpr_25 -/* 8002EC74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002EC78 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002EC7C 80 7E 5C 68 */ lwz r3, 0x5c68(r30) -/* 8002EC80 38 81 00 60 */ addi r4, r1, 0x60 -/* 8002EC84 38 A0 08 00 */ li r5, 0x800 -/* 8002EC88 3C C0 80 38 */ lis r6, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002EC8C 38 C6 8F 38 */ addi r6, r6, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002EC90 38 C6 01 52 */ addi r6, r6, 0x152 -/* 8002EC94 81 83 00 00 */ lwz r12, 0(r3) -/* 8002EC98 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8002EC9C 7D 89 03 A6 */ mtctr r12 -/* 8002ECA0 4E 80 04 21 */ bctrl -/* 8002ECA4 80 01 00 64 */ lwz r0, 0x64(r1) -/* 8002ECA8 3B 81 00 60 */ addi r28, r1, 0x60 -/* 8002ECAC 7F 9C 02 14 */ add r28, r28, r0 -/* 8002ECB0 3B 7C 00 04 */ addi r27, r28, 4 -/* 8002ECB4 3B 40 00 00 */ li r26, 0 -/* 8002ECB8 38 80 00 FF */ li r4, 0xff -/* 8002ECBC 38 61 00 20 */ addi r3, r1, 0x20 -/* 8002ECC0 38 00 00 40 */ li r0, 0x40 -/* 8002ECC4 7C 09 03 A6 */ mtctr r0 -lbl_8002ECC8: -/* 8002ECC8 98 83 00 00 */ stb r4, 0(r3) -/* 8002ECCC 38 63 00 01 */ addi r3, r3, 1 -/* 8002ECD0 42 00 FF F8 */ bdnz lbl_8002ECC8 -/* 8002ECD4 3B 20 00 00 */ li r25, 0 -/* 8002ECD8 3B E0 00 00 */ li r31, 0 -/* 8002ECDC 48 00 00 78 */ b lbl_8002ED54 -lbl_8002ECE0: -/* 8002ECE0 38 61 00 60 */ addi r3, r1, 0x60 -/* 8002ECE4 48 19 79 49 */ bl dMenuFmap_getStartStageName__FPv -/* 8002ECE8 7F BB FA 14 */ add r29, r27, r31 -/* 8002ECEC 7F A4 EB 78 */ mr r4, r29 -/* 8002ECF0 48 33 9C A5 */ bl strcmp -/* 8002ECF4 2C 03 00 00 */ cmpwi r3, 0 -/* 8002ECF8 40 82 00 54 */ bne lbl_8002ED4C -/* 8002ECFC 88 9D 00 08 */ lbz r4, 8(r29) -/* 8002ED00 28 04 00 FF */ cmplwi r4, 0xff -/* 8002ED04 40 82 00 38 */ bne lbl_8002ED3C -/* 8002ED08 38 80 00 00 */ li r4, 0 -/* 8002ED0C 38 61 00 20 */ addi r3, r1, 0x20 -/* 8002ED10 38 00 00 40 */ li r0, 0x40 -/* 8002ED14 7C 09 03 A6 */ mtctr r0 -lbl_8002ED18: -/* 8002ED18 88 03 00 00 */ lbz r0, 0(r3) -/* 8002ED1C 28 00 00 FF */ cmplwi r0, 0xff -/* 8002ED20 40 82 00 0C */ bne lbl_8002ED2C -/* 8002ED24 88 1D 00 09 */ lbz r0, 9(r29) -/* 8002ED28 98 03 00 00 */ stb r0, 0(r3) -lbl_8002ED2C: -/* 8002ED2C 38 84 00 01 */ addi r4, r4, 1 -/* 8002ED30 38 63 00 01 */ addi r3, r3, 1 -/* 8002ED34 42 00 FF E4 */ bdnz lbl_8002ED18 -/* 8002ED38 48 00 00 10 */ b lbl_8002ED48 -lbl_8002ED3C: -/* 8002ED3C 88 1D 00 09 */ lbz r0, 9(r29) -/* 8002ED40 38 61 00 20 */ addi r3, r1, 0x20 -/* 8002ED44 7C 03 21 AE */ stbx r0, r3, r4 -lbl_8002ED48: -/* 8002ED48 3B 40 00 01 */ li r26, 1 -lbl_8002ED4C: -/* 8002ED4C 3B 39 00 01 */ addi r25, r25, 1 -/* 8002ED50 3B FF 00 14 */ addi r31, r31, 0x14 -lbl_8002ED54: -/* 8002ED54 88 1C 00 00 */ lbz r0, 0(r28) -/* 8002ED58 7C 19 00 00 */ cmpw r25, r0 -/* 8002ED5C 41 80 FF 84 */ blt lbl_8002ECE0 -/* 8002ED60 80 7E 5C 68 */ lwz r3, 0x5c68(r30) -/* 8002ED64 81 83 00 00 */ lwz r12, 0(r3) -/* 8002ED68 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8002ED6C 7D 89 03 A6 */ mtctr r12 -/* 8002ED70 4E 80 04 21 */ bctrl -/* 8002ED74 57 40 06 3F */ clrlwi. r0, r26, 0x18 -/* 8002ED78 41 82 00 48 */ beq lbl_8002EDC0 -/* 8002ED7C 38 00 FF FF */ li r0, -1 -/* 8002ED80 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002ED84 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002ED88 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 8002ED8C 28 03 00 00 */ cmplwi r3, 0 -/* 8002ED90 41 82 00 0C */ beq lbl_8002ED9C -/* 8002ED94 88 03 04 E2 */ lbz r0, 0x4e2(r3) -/* 8002ED98 7C 00 07 74 */ extsb r0, r0 -lbl_8002ED9C: -/* 8002ED9C 2C 00 00 00 */ cmpwi r0, 0 -/* 8002EDA0 40 80 00 14 */ bge lbl_8002EDB4 -/* 8002EDA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002EDA8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002EDAC 88 03 4E 0A */ lbz r0, 0x4e0a(r3) -/* 8002EDB0 7C 00 07 74 */ extsb r0, r0 -lbl_8002EDB4: -/* 8002EDB4 38 61 00 20 */ addi r3, r1, 0x20 -/* 8002EDB8 7C 63 00 AE */ lbzx r3, r3, r0 -/* 8002EDBC 48 00 00 08 */ b lbl_8002EDC4 -lbl_8002EDC0: -/* 8002EDC0 38 60 00 FF */ li r3, 0xff -lbl_8002EDC4: -/* 8002EDC4 81 41 00 00 */ lwz r10, 0(r1) -/* 8002EDC8 7D 4B 53 78 */ mr r11, r10 -/* 8002EDCC 48 33 34 4D */ bl _restgpr_25 -/* 8002EDD0 80 0A 00 04 */ lwz r0, 4(r10) -/* 8002EDD4 7C 08 03 A6 */ mtlr r0 -/* 8002EDD8 7D 41 53 78 */ mr r1, r10 -/* 8002EDDC 4E 80 00 20 */ blr diff --git a/asm/d/com/d_com_inf_game/dComIfGp_calcNowRegion__Fv.s b/asm/d/com/d_com_inf_game/dComIfGp_calcNowRegion__Fv.s deleted file mode 100644 index 3e778b78cd..0000000000 --- a/asm/d/com/d_com_inf_game/dComIfGp_calcNowRegion__Fv.s +++ /dev/null @@ -1,167 +0,0 @@ -lbl_8002E9F0: -/* 8002E9F0 54 2B 06 FE */ clrlwi r11, r1, 0x1b -/* 8002E9F4 21 6B F7 A0 */ subfic r11, r11, -2144 -/* 8002E9F8 7C 2C 0B 78 */ mr r12, r1 -/* 8002E9FC 7C 21 59 6E */ stwux r1, r1, r11 -/* 8002EA00 7C 08 02 A6 */ mflr r0 -/* 8002EA04 90 0C 00 04 */ stw r0, 4(r12) -/* 8002EA08 7D 8B 63 78 */ mr r11, r12 -/* 8002EA0C 48 33 37 C1 */ bl _savegpr_25 -/* 8002EA10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002EA14 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002EA18 80 7F 5C 68 */ lwz r3, 0x5c68(r31) -/* 8002EA1C 38 81 00 40 */ addi r4, r1, 0x40 -/* 8002EA20 38 A0 08 00 */ li r5, 0x800 -/* 8002EA24 3C C0 80 38 */ lis r6, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002EA28 38 C6 8F 38 */ addi r6, r6, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002EA2C 38 C6 01 52 */ addi r6, r6, 0x152 -/* 8002EA30 81 83 00 00 */ lwz r12, 0(r3) -/* 8002EA34 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 8002EA38 7D 89 03 A6 */ mtctr r12 -/* 8002EA3C 4E 80 04 21 */ bctrl -/* 8002EA40 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8002EA44 3B A1 00 40 */ addi r29, r1, 0x40 -/* 8002EA48 7F BD 02 14 */ add r29, r29, r0 -/* 8002EA4C 3B 9D 00 04 */ addi r28, r29, 4 -/* 8002EA50 38 60 00 00 */ li r3, 0 -/* 8002EA54 38 C0 00 FF */ li r6, 0xff -/* 8002EA58 3C 80 80 3F */ lis r4, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8002EA5C 38 A4 60 94 */ addi r5, r4, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8002EA60 38 00 00 40 */ li r0, 0x40 -/* 8002EA64 7C 09 03 A6 */ mtctr r0 -lbl_8002EA68: -/* 8002EA68 7C 85 1A 14 */ add r4, r5, r3 -/* 8002EA6C 98 C4 03 F9 */ stb r6, 0x3f9(r4) -/* 8002EA70 38 63 04 04 */ addi r3, r3, 0x404 -/* 8002EA74 42 00 FF F4 */ bdnz lbl_8002EA68 -/* 8002EA78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002EA7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002EA80 3B C3 00 64 */ addi r30, r3, 0x64 -/* 8002EA84 38 00 00 00 */ li r0, 0 -/* 8002EA88 98 03 00 7C */ stb r0, 0x7c(r3) -/* 8002EA8C 38 63 0D D8 */ addi r3, r3, 0xdd8 -/* 8002EA90 38 80 13 01 */ li r4, 0x1301 -/* 8002EA94 48 00 5F 29 */ bl isEventBit__11dSv_event_cCFUs -/* 8002EA98 2C 03 00 00 */ cmpwi r3, 0 -/* 8002EA9C 40 82 01 54 */ bne lbl_8002EBF0 -/* 8002EAA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002EAA4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002EAA8 3B 43 4E 00 */ addi r26, r3, 0x4e00 -/* 8002EAAC 7F 43 D3 78 */ mr r3, r26 -/* 8002EAB0 3C 80 80 38 */ lis r4, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002EAB4 38 84 8F 38 */ addi r4, r4, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002EAB8 38 84 00 9E */ addi r4, r4, 0x9e -/* 8002EABC 48 33 9E D9 */ bl strcmp -/* 8002EAC0 2C 03 00 00 */ cmpwi r3, 0 -/* 8002EAC4 40 82 00 14 */ bne lbl_8002EAD8 -/* 8002EAC8 38 60 00 00 */ li r3, 0 -/* 8002EACC 4B FF DE B1 */ bl getLayerNo__14dComIfG_play_cFi -/* 8002EAD0 2C 03 00 0C */ cmpwi r3, 0xc -/* 8002EAD4 41 82 01 1C */ beq lbl_8002EBF0 -lbl_8002EAD8: -/* 8002EAD8 7F 43 D3 78 */ mr r3, r26 -/* 8002EADC 3C 80 80 38 */ lis r4, d_com_d_com_inf_game__stringBase0@ha /* 0x80378F38@ha */ -/* 8002EAE0 38 84 8F 38 */ addi r4, r4, d_com_d_com_inf_game__stringBase0@l /* 0x80378F38@l */ -/* 8002EAE4 38 84 00 4F */ addi r4, r4, 0x4f -/* 8002EAE8 48 33 9E AD */ bl strcmp -/* 8002EAEC 2C 03 00 00 */ cmpwi r3, 0 -/* 8002EAF0 40 82 00 60 */ bne lbl_8002EB50 -/* 8002EAF4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8002EAF8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8002EAFC 88 03 4E 0A */ lbz r0, 0x4e0a(r3) -/* 8002EB00 2C 00 00 01 */ cmpwi r0, 1 -/* 8002EB04 40 82 00 4C */ bne lbl_8002EB50 -/* 8002EB08 C0 1E 00 00 */ lfs f0, 0(r30) -/* 8002EB0C D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8002EB10 C0 1E 00 04 */ lfs f0, 4(r30) -/* 8002EB14 D0 01 00 24 */ stfs f0, 0x24(r1) -/* 8002EB18 C0 1E 00 08 */ lfs f0, 8(r30) -/* 8002EB1C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8002EB20 C0 02 83 18 */ lfs f0, lit_6980(r2) -/* 8002EB24 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 8002EB28 C0 02 83 1C */ lfs f0, lit_6981(r2) -/* 8002EB2C D0 01 00 28 */ stfs f0, 0x28(r1) -/* 8002EB30 7F C3 F3 78 */ mr r3, r30 -/* 8002EB34 7F 44 D3 78 */ mr r4, r26 -/* 8002EB38 38 A1 00 20 */ addi r5, r1, 0x20 -/* 8002EB3C 38 C0 00 00 */ li r6, 0 -/* 8002EB40 38 E0 00 00 */ li r7, 0 -/* 8002EB44 39 00 00 04 */ li r8, 4 -/* 8002EB48 48 00 42 99 */ bl set__33dSv_player_field_last_stay_info_cFPCcRC4cXyzsScUc -/* 8002EB4C 48 00 00 A4 */ b lbl_8002EBF0 -lbl_8002EB50: -/* 8002EB50 3B 60 00 00 */ li r27, 0 -/* 8002EB54 3B 40 00 00 */ li r26, 0 -/* 8002EB58 48 00 00 8C */ b lbl_8002EBE4 -lbl_8002EB5C: -/* 8002EB5C 38 61 00 40 */ addi r3, r1, 0x40 -/* 8002EB60 48 19 7A CD */ bl dMenuFmap_getStartStageName__FPv -/* 8002EB64 7F 3C D2 14 */ add r25, r28, r26 -/* 8002EB68 7F 24 CB 78 */ mr r4, r25 -/* 8002EB6C 48 33 9E 29 */ bl strcmp -/* 8002EB70 2C 03 00 00 */ cmpwi r3, 0 -/* 8002EB74 40 82 00 68 */ bne lbl_8002EBDC -/* 8002EB78 88 19 00 08 */ lbz r0, 8(r25) -/* 8002EB7C 28 00 00 FF */ cmplwi r0, 0xff -/* 8002EB80 40 82 00 3C */ bne lbl_8002EBBC -/* 8002EB84 38 60 00 00 */ li r3, 0 -/* 8002EB88 3C 80 80 3F */ lis r4, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8002EB8C 38 A4 60 94 */ addi r5, r4, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8002EB90 38 00 00 40 */ li r0, 0x40 -/* 8002EB94 7C 09 03 A6 */ mtctr r0 -lbl_8002EB98: -/* 8002EB98 7C 85 1A 14 */ add r4, r5, r3 -/* 8002EB9C 8C 04 03 F9 */ lbzu r0, 0x3f9(r4) -/* 8002EBA0 28 00 00 FF */ cmplwi r0, 0xff -/* 8002EBA4 40 82 00 0C */ bne lbl_8002EBB0 -/* 8002EBA8 88 19 00 09 */ lbz r0, 9(r25) -/* 8002EBAC 98 04 00 00 */ stb r0, 0(r4) -lbl_8002EBB0: -/* 8002EBB0 38 63 04 04 */ addi r3, r3, 0x404 -/* 8002EBB4 42 00 FF E4 */ bdnz lbl_8002EB98 -/* 8002EBB8 48 00 00 1C */ b lbl_8002EBD4 -lbl_8002EBBC: -/* 8002EBBC 88 B9 00 09 */ lbz r5, 9(r25) -/* 8002EBC0 1C 80 04 04 */ mulli r4, r0, 0x404 -/* 8002EBC4 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8002EBC8 38 03 60 94 */ addi r0, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8002EBCC 7C 60 22 14 */ add r3, r0, r4 -/* 8002EBD0 98 A3 03 F9 */ stb r5, 0x3f9(r3) -lbl_8002EBD4: -/* 8002EBD4 38 00 00 01 */ li r0, 1 -/* 8002EBD8 98 1E 00 18 */ stb r0, 0x18(r30) -lbl_8002EBDC: -/* 8002EBDC 3B 7B 00 01 */ addi r27, r27, 1 -/* 8002EBE0 3B 5A 00 14 */ addi r26, r26, 0x14 -lbl_8002EBE4: -/* 8002EBE4 88 1D 00 00 */ lbz r0, 0(r29) -/* 8002EBE8 7C 1B 00 00 */ cmpw r27, r0 -/* 8002EBEC 41 80 FF 70 */ blt lbl_8002EB5C -lbl_8002EBF0: -/* 8002EBF0 88 1E 00 18 */ lbz r0, 0x18(r30) -/* 8002EBF4 28 00 00 00 */ cmplwi r0, 0 -/* 8002EBF8 40 82 00 2C */ bne lbl_8002EC24 -/* 8002EBFC 38 60 00 00 */ li r3, 0 -/* 8002EC00 88 DE 00 17 */ lbz r6, 0x17(r30) -/* 8002EC04 3C 80 80 3F */ lis r4, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8002EC08 38 A4 60 94 */ addi r5, r4, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8002EC0C 38 00 00 40 */ li r0, 0x40 -/* 8002EC10 7C 09 03 A6 */ mtctr r0 -lbl_8002EC14: -/* 8002EC14 7C 85 1A 14 */ add r4, r5, r3 -/* 8002EC18 98 C4 03 F9 */ stb r6, 0x3f9(r4) -/* 8002EC1C 38 63 04 04 */ addi r3, r3, 0x404 -/* 8002EC20 42 00 FF F4 */ bdnz lbl_8002EC14 -lbl_8002EC24: -/* 8002EC24 80 7F 5C 68 */ lwz r3, 0x5c68(r31) -/* 8002EC28 81 83 00 00 */ lwz r12, 0(r3) -/* 8002EC2C 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 8002EC30 7D 89 03 A6 */ mtctr r12 -/* 8002EC34 4E 80 04 21 */ bctrl -/* 8002EC38 81 41 00 00 */ lwz r10, 0(r1) -/* 8002EC3C 7D 4B 53 78 */ mr r11, r10 -/* 8002EC40 48 33 35 D9 */ bl _restgpr_25 -/* 8002EC44 80 0A 00 04 */ lwz r0, 4(r10) -/* 8002EC48 7C 08 03 A6 */ mtlr r0 -/* 8002EC4C 7D 41 53 78 */ mr r1, r10 -/* 8002EC50 4E 80 00 20 */ blr diff --git a/asm/d/d_item/addBombCount__FUcUc.s b/asm/d/d_item/addBombCount__FUcUc.s deleted file mode 100644 index 2be9bd7a1f..0000000000 --- a/asm/d/d_item/addBombCount__FUcUc.s +++ /dev/null @@ -1,186 +0,0 @@ -lbl_8009B940: -/* 8009B940 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8009B944 7C 08 02 A6 */ mflr r0 -/* 8009B948 90 01 00 54 */ stw r0, 0x54(r1) -/* 8009B94C 39 61 00 50 */ addi r11, r1, 0x50 -/* 8009B950 48 2C 68 69 */ bl _savegpr_20 -/* 8009B954 7C 7E 1B 78 */ mr r30, r3 -/* 8009B958 7C 9F 23 78 */ mr r31, r4 -/* 8009B95C 3B 20 00 00 */ li r25, 0 -/* 8009B960 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8009B964 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8009B968 3B 43 00 9C */ addi r26, r3, 0x9c -/* 8009B96C 3B 83 00 EC */ addi r28, r3, 0xec -/* 8009B970 3B 61 00 08 */ addi r27, r1, 8 -/* 8009B974 48 00 00 80 */ b lbl_8009B9F4 -lbl_8009B978: -/* 8009B978 7F 43 D3 78 */ mr r3, r26 -/* 8009B97C 57 24 06 3E */ clrlwi r4, r25, 0x18 -/* 8009B980 38 84 00 0F */ addi r4, r4, 0xf -/* 8009B984 38 A0 00 00 */ li r5, 0 -/* 8009B988 4B F9 76 A9 */ bl getItem__17dSv_player_item_cCFib -/* 8009B98C 57 35 06 3E */ clrlwi r21, r25, 0x18 -/* 8009B990 7C 7B A9 AE */ stbx r3, r27, r21 -/* 8009B994 7C 7B A8 AE */ lbzx r3, r27, r21 -/* 8009B998 28 03 00 50 */ cmplwi r3, 0x50 -/* 8009B99C 40 82 00 18 */ bne lbl_8009B9B4 -/* 8009B9A0 38 80 00 00 */ li r4, 0 -/* 8009B9A4 56 A0 10 3A */ slwi r0, r21, 2 -/* 8009B9A8 38 61 00 0C */ addi r3, r1, 0xc -/* 8009B9AC 7C 83 01 2E */ stwx r4, r3, r0 -/* 8009B9B0 48 00 00 40 */ b lbl_8009B9F0 -lbl_8009B9B4: -/* 8009B9B4 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 8009B9B8 7C 03 00 40 */ cmplw r3, r0 -/* 8009B9BC 40 82 00 24 */ bne lbl_8009B9E0 -/* 8009B9C0 7F 83 E3 78 */ mr r3, r28 -/* 8009B9C4 7F 24 CB 78 */ mr r4, r25 -/* 8009B9C8 4B F9 85 B5 */ bl getBombNum__24dSv_player_item_record_cCFUc -/* 8009B9CC 54 64 06 3E */ clrlwi r4, r3, 0x18 -/* 8009B9D0 56 A0 10 3A */ slwi r0, r21, 2 -/* 8009B9D4 38 61 00 0C */ addi r3, r1, 0xc -/* 8009B9D8 7C 83 01 2E */ stwx r4, r3, r0 -/* 8009B9DC 48 00 00 14 */ b lbl_8009B9F0 -lbl_8009B9E0: -/* 8009B9E0 38 80 FF FF */ li r4, -1 -/* 8009B9E4 56 A0 10 3A */ slwi r0, r21, 2 -/* 8009B9E8 38 61 00 0C */ addi r3, r1, 0xc -/* 8009B9EC 7C 83 01 2E */ stwx r4, r3, r0 -lbl_8009B9F0: -/* 8009B9F0 3B 39 00 01 */ addi r25, r25, 1 -lbl_8009B9F4: -/* 8009B9F4 57 20 06 3E */ clrlwi r0, r25, 0x18 -/* 8009B9F8 28 00 00 03 */ cmplwi r0, 3 -/* 8009B9FC 41 80 FF 7C */ blt lbl_8009B978 -/* 8009BA00 3B 00 00 00 */ li r24, 0 -/* 8009BA04 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8009BA08 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8009BA0C 3B 63 00 F8 */ addi r27, r3, 0xf8 -/* 8009BA10 3B 23 0F 38 */ addi r25, r3, 0xf38 -/* 8009BA14 3B A1 00 08 */ addi r29, r1, 8 -/* 8009BA18 3B 81 00 0C */ addi r28, r1, 0xc -/* 8009BA1C 48 00 01 94 */ b lbl_8009BBB0 -lbl_8009BA20: -/* 8009BA20 3A E0 FF FF */ li r23, -1 -/* 8009BA24 3A C0 FF FF */ li r22, -1 -/* 8009BA28 38 80 00 00 */ li r4, 0 -/* 8009BA2C 48 00 00 24 */ b lbl_8009BA50 -lbl_8009BA30: -/* 8009BA30 54 83 06 3E */ clrlwi r3, r4, 0x18 -/* 8009BA34 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d -/* 8009BA38 7C 1C 00 2E */ lwzx r0, r28, r0 -/* 8009BA3C 2C 00 00 00 */ cmpwi r0, 0 -/* 8009BA40 40 82 00 0C */ bne lbl_8009BA4C -/* 8009BA44 7C 77 1B 78 */ mr r23, r3 -/* 8009BA48 3A C0 00 00 */ li r22, 0 -lbl_8009BA4C: -/* 8009BA4C 38 84 00 01 */ addi r4, r4, 1 -lbl_8009BA50: -/* 8009BA50 54 80 06 3E */ clrlwi r0, r4, 0x18 -/* 8009BA54 28 00 00 03 */ cmplwi r0, 3 -/* 8009BA58 41 80 FF D8 */ blt lbl_8009BA30 -/* 8009BA5C 3A A0 00 00 */ li r21, 0 -/* 8009BA60 48 00 00 44 */ b lbl_8009BAA4 -lbl_8009BA64: -/* 8009BA64 56 A4 06 3E */ clrlwi r4, r21, 0x18 -/* 8009BA68 56 A0 15 BA */ rlwinm r0, r21, 2, 0x16, 0x1d -/* 8009BA6C 7E 9C 00 2E */ lwzx r20, r28, r0 -/* 8009BA70 2C 14 00 00 */ cmpwi r20, 0 -/* 8009BA74 40 81 00 2C */ ble lbl_8009BAA0 -/* 8009BA78 7C 14 B0 00 */ cmpw r20, r22 -/* 8009BA7C 40 81 00 24 */ ble lbl_8009BAA0 -/* 8009BA80 7F 63 DB 78 */ mr r3, r27 -/* 8009BA84 7C 9D 20 AE */ lbzx r4, r29, r4 -/* 8009BA88 4B F9 86 71 */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8009BA8C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8009BA90 7C 14 00 00 */ cmpw r20, r0 -/* 8009BA94 41 82 00 0C */ beq lbl_8009BAA0 -/* 8009BA98 56 B7 06 3E */ clrlwi r23, r21, 0x18 -/* 8009BA9C 7E 96 A3 78 */ mr r22, r20 -lbl_8009BAA0: -/* 8009BAA0 3A B5 00 01 */ addi r21, r21, 1 -lbl_8009BAA4: -/* 8009BAA4 56 A0 06 3E */ clrlwi r0, r21, 0x18 -/* 8009BAA8 28 00 00 03 */ cmplwi r0, 3 -/* 8009BAAC 41 80 FF B8 */ blt lbl_8009BA64 -/* 8009BAB0 2C 17 FF FF */ cmpwi r23, -1 -/* 8009BAB4 40 82 00 0C */ bne lbl_8009BAC0 -/* 8009BAB8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 8009BABC 48 00 01 04 */ b lbl_8009BBC0 -lbl_8009BAC0: -/* 8009BAC0 2C 16 00 00 */ cmpwi r22, 0 -/* 8009BAC4 40 82 00 68 */ bne lbl_8009BB2C -/* 8009BAC8 7F 63 DB 78 */ mr r3, r27 -/* 8009BACC 7F C4 F3 78 */ mr r4, r30 -/* 8009BAD0 4B F9 86 29 */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8009BAD4 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 8009BAD8 57 E0 06 3E */ clrlwi r0, r31, 0x18 -/* 8009BADC 7C 03 00 40 */ cmplw r3, r0 -/* 8009BAE0 41 80 00 20 */ blt lbl_8009BB00 -/* 8009BAE4 7F 43 D3 78 */ mr r3, r26 -/* 8009BAE8 7F C4 F3 78 */ mr r4, r30 -/* 8009BAEC 7F E5 FB 78 */ mr r5, r31 -/* 8009BAF0 38 C0 00 01 */ li r6, 1 -/* 8009BAF4 4B F9 7F 5D */ bl setEmptyBombBagItemIn__17dSv_player_item_cFUcUcb -/* 8009BAF8 38 60 00 00 */ li r3, 0 -/* 8009BAFC 48 00 00 C4 */ b lbl_8009BBC0 -lbl_8009BB00: -/* 8009BB00 7F 43 D3 78 */ mr r3, r26 -/* 8009BB04 7F C4 F3 78 */ mr r4, r30 -/* 8009BB08 7F E5 FB 78 */ mr r5, r31 -/* 8009BB0C 38 C0 00 01 */ li r6, 1 -/* 8009BB10 4B F9 7F 41 */ bl setEmptyBombBagItemIn__17dSv_player_item_cFUcUcb -/* 8009BB14 7F 63 DB 78 */ mr r3, r27 -/* 8009BB18 7F C4 F3 78 */ mr r4, r30 -/* 8009BB1C 4B F9 85 DD */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8009BB20 7C 03 F8 50 */ subf r0, r3, r31 -/* 8009BB24 54 1F 06 3E */ clrlwi r31, r0, 0x18 -/* 8009BB28 48 00 00 6C */ b lbl_8009BB94 -lbl_8009BB2C: -/* 8009BB2C 7F 63 DB 78 */ mr r3, r27 -/* 8009BB30 38 81 00 08 */ addi r4, r1, 8 -/* 8009BB34 7E 84 B8 AE */ lbzx r20, r4, r23 -/* 8009BB38 7E 84 A3 78 */ mr r4, r20 -/* 8009BB3C 4B F9 85 BD */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8009BB40 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 8009BB44 57 F5 06 3E */ clrlwi r21, r31, 0x18 -/* 8009BB48 7C 16 AA 14 */ add r0, r22, r21 -/* 8009BB4C 7C 03 00 00 */ cmpw r3, r0 -/* 8009BB50 41 80 00 1C */ blt lbl_8009BB6C -/* 8009BB54 7F 23 CB 78 */ mr r3, r25 -/* 8009BB58 56 E4 06 3E */ clrlwi r4, r23, 0x18 -/* 8009BB5C 7E A5 AB 78 */ mr r5, r21 -/* 8009BB60 4B F8 F8 0D */ bl setItemBombNumCount__14dComIfG_play_cFUcs -/* 8009BB64 38 60 00 00 */ li r3, 0 -/* 8009BB68 48 00 00 58 */ b lbl_8009BBC0 -lbl_8009BB6C: -/* 8009BB6C 7F 23 CB 78 */ mr r3, r25 -/* 8009BB70 56 E4 06 3E */ clrlwi r4, r23, 0x18 -/* 8009BB74 7E A5 AB 78 */ mr r5, r21 -/* 8009BB78 4B F8 F7 F5 */ bl setItemBombNumCount__14dComIfG_play_cFUcs -/* 8009BB7C 7F 63 DB 78 */ mr r3, r27 -/* 8009BB80 7E 84 A3 78 */ mr r4, r20 -/* 8009BB84 4B F9 85 75 */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8009BB88 7C 16 18 50 */ subf r0, r22, r3 -/* 8009BB8C 7C 00 A8 50 */ subf r0, r0, r21 -/* 8009BB90 54 1F 06 3E */ clrlwi r31, r0, 0x18 -lbl_8009BB94: -/* 8009BB94 7F 63 DB 78 */ mr r3, r27 -/* 8009BB98 7C 9D B8 AE */ lbzx r4, r29, r23 -/* 8009BB9C 4B F9 85 5D */ bl getBombNum__21dSv_player_item_max_cCFUc -/* 8009BBA0 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 8009BBA4 56 E0 10 3A */ slwi r0, r23, 2 -/* 8009BBA8 7C 7C 01 2E */ stwx r3, r28, r0 -/* 8009BBAC 3B 18 00 01 */ addi r24, r24, 1 -lbl_8009BBB0: -/* 8009BBB0 57 00 06 3E */ clrlwi r0, r24, 0x18 -/* 8009BBB4 28 00 00 03 */ cmplwi r0, 3 -/* 8009BBB8 41 80 FE 68 */ blt lbl_8009BA20 -/* 8009BBBC 57 E3 06 3E */ clrlwi r3, r31, 0x18 -lbl_8009BBC0: -/* 8009BBC0 39 61 00 50 */ addi r11, r1, 0x50 -/* 8009BBC4 48 2C 66 41 */ bl _restgpr_20 -/* 8009BBC8 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8009BBCC 7C 08 03 A6 */ mtlr r0 -/* 8009BBD0 38 21 00 50 */ addi r1, r1, 0x50 -/* 8009BBD4 4E 80 00 20 */ blr diff --git a/asm/d/d_item/item_getcheck_func_FISHING_ROD_1__Fv.s b/asm/d/d_item/item_getcheck_func_FISHING_ROD_1__Fv.s deleted file mode 100644 index 84d9c3a3ec..0000000000 --- a/asm/d/d_item/item_getcheck_func_FISHING_ROD_1__Fv.s +++ /dev/null @@ -1,83 +0,0 @@ -lbl_8009A0C8: -/* 8009A0C8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8009A0CC 7C 08 02 A6 */ mflr r0 -/* 8009A0D0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8009A0D4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009A0D8 48 2C 80 F9 */ bl _savegpr_26 -/* 8009A0DC 3B E0 00 01 */ li r31, 1 -/* 8009A0E0 7F FE FB 78 */ mr r30, r31 -/* 8009A0E4 7F FD FB 78 */ mr r29, r31 -/* 8009A0E8 7F FC FB 78 */ mr r28, r31 -/* 8009A0EC 7F FB FB 78 */ mr r27, r31 -/* 8009A0F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8009A0F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8009A0F8 3B 43 00 9C */ addi r26, r3, 0x9c -/* 8009A0FC 7F 43 D3 78 */ mr r3, r26 -/* 8009A100 38 80 00 14 */ li r4, 0x14 -/* 8009A104 38 A0 00 01 */ li r5, 1 -/* 8009A108 4B F9 8F 29 */ bl getItem__17dSv_player_item_cCFib -/* 8009A10C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8009A110 28 00 00 4A */ cmplwi r0, 0x4a -/* 8009A114 41 82 00 24 */ beq lbl_8009A138 -/* 8009A118 7F 43 D3 78 */ mr r3, r26 -/* 8009A11C 38 80 00 14 */ li r4, 0x14 -/* 8009A120 38 A0 00 01 */ li r5, 1 -/* 8009A124 4B F9 8F 0D */ bl getItem__17dSv_player_item_cCFib -/* 8009A128 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8009A12C 28 00 00 5B */ cmplwi r0, 0x5b -/* 8009A130 41 82 00 08 */ beq lbl_8009A138 -/* 8009A134 3B 60 00 00 */ li r27, 0 -lbl_8009A138: -/* 8009A138 57 60 06 3F */ clrlwi. r0, r27, 0x18 -/* 8009A13C 40 82 00 24 */ bne lbl_8009A160 -/* 8009A140 7F 43 D3 78 */ mr r3, r26 -/* 8009A144 38 80 00 14 */ li r4, 0x14 -/* 8009A148 38 A0 00 01 */ li r5, 1 -/* 8009A14C 4B F9 8E E5 */ bl getItem__17dSv_player_item_cCFib -/* 8009A150 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8009A154 28 00 00 5D */ cmplwi r0, 0x5d -/* 8009A158 41 82 00 08 */ beq lbl_8009A160 -/* 8009A15C 3B 80 00 00 */ li r28, 0 -lbl_8009A160: -/* 8009A160 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 8009A164 40 82 00 24 */ bne lbl_8009A188 -/* 8009A168 7F 43 D3 78 */ mr r3, r26 -/* 8009A16C 38 80 00 14 */ li r4, 0x14 -/* 8009A170 38 A0 00 01 */ li r5, 1 -/* 8009A174 4B F9 8E BD */ bl getItem__17dSv_player_item_cCFib -/* 8009A178 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8009A17C 28 00 00 5C */ cmplwi r0, 0x5c -/* 8009A180 41 82 00 08 */ beq lbl_8009A188 -/* 8009A184 3B A0 00 00 */ li r29, 0 -lbl_8009A188: -/* 8009A188 57 A0 06 3F */ clrlwi. r0, r29, 0x18 -/* 8009A18C 40 82 00 24 */ bne lbl_8009A1B0 -/* 8009A190 7F 43 D3 78 */ mr r3, r26 -/* 8009A194 38 80 00 14 */ li r4, 0x14 -/* 8009A198 38 A0 00 01 */ li r5, 1 -/* 8009A19C 4B F9 8E 95 */ bl getItem__17dSv_player_item_cCFib -/* 8009A1A0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8009A1A4 28 00 00 5E */ cmplwi r0, 0x5e -/* 8009A1A8 41 82 00 08 */ beq lbl_8009A1B0 -/* 8009A1AC 3B C0 00 00 */ li r30, 0 -lbl_8009A1B0: -/* 8009A1B0 57 C0 06 3F */ clrlwi. r0, r30, 0x18 -/* 8009A1B4 40 82 00 24 */ bne lbl_8009A1D8 -/* 8009A1B8 7F 43 D3 78 */ mr r3, r26 -/* 8009A1BC 38 80 00 14 */ li r4, 0x14 -/* 8009A1C0 38 A0 00 01 */ li r5, 1 -/* 8009A1C4 4B F9 8E 6D */ bl getItem__17dSv_player_item_cCFib -/* 8009A1C8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 8009A1CC 28 00 00 5F */ cmplwi r0, 0x5f -/* 8009A1D0 41 82 00 08 */ beq lbl_8009A1D8 -/* 8009A1D4 3B E0 00 00 */ li r31, 0 -lbl_8009A1D8: -/* 8009A1D8 57 E3 06 3E */ clrlwi r3, r31, 0x18 -/* 8009A1DC 30 03 FF FF */ addic r0, r3, -1 -/* 8009A1E0 7C 60 19 10 */ subfe r3, r0, r3 -/* 8009A1E4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8009A1E8 48 2C 80 35 */ bl _restgpr_26 -/* 8009A1EC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8009A1F0 7C 08 03 A6 */ mtlr r0 -/* 8009A1F4 38 21 00 20 */ addi r1, r1, 0x20 -/* 8009A1F8 4E 80 00 20 */ blr diff --git a/asm/d/d_name/mojiChange__7dName_cFUc.s b/asm/d/d_name/mojiChange__7dName_cFUc.s deleted file mode 100644 index 78dc55038d..0000000000 --- a/asm/d/d_name/mojiChange__7dName_cFUc.s +++ /dev/null @@ -1,246 +0,0 @@ -lbl_8024F1EC: -/* 8024F1EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8024F1F0 7C 08 02 A6 */ mflr r0 -/* 8024F1F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 8024F1F8 54 80 1D 78 */ rlwinm r0, r4, 3, 0x15, 0x1c -/* 8024F1FC 7C 83 02 14 */ add r4, r3, r0 -/* 8024F200 88 04 02 CF */ lbz r0, 0x2cf(r4) -/* 8024F204 28 00 00 00 */ cmplwi r0, 0 -/* 8024F208 41 82 00 1C */ beq lbl_8024F224 -/* 8024F20C 89 04 02 CE */ lbz r8, 0x2ce(r4) -/* 8024F210 28 08 00 02 */ cmplwi r8, 2 -/* 8024F214 41 82 00 10 */ beq lbl_8024F224 -/* 8024F218 80 04 02 D0 */ lwz r0, 0x2d0(r4) -/* 8024F21C 28 00 81 40 */ cmplwi r0, 0x8140 -/* 8024F220 40 82 00 0C */ bne lbl_8024F22C -lbl_8024F224: -/* 8024F224 38 60 00 00 */ li r3, 0 -/* 8024F228 48 00 03 24 */ b lbl_8024F54C -lbl_8024F22C: -/* 8024F22C 88 E4 02 CC */ lbz r7, 0x2cc(r4) -/* 8024F230 28 07 00 04 */ cmplwi r7, 4 -/* 8024F234 41 82 00 1C */ beq lbl_8024F250 -/* 8024F238 28 07 00 06 */ cmplwi r7, 6 -/* 8024F23C 41 82 00 14 */ beq lbl_8024F250 -/* 8024F240 28 07 00 08 */ cmplwi r7, 8 -/* 8024F244 41 82 00 0C */ beq lbl_8024F250 -/* 8024F248 28 07 00 09 */ cmplwi r7, 9 -/* 8024F24C 40 82 00 0C */ bne lbl_8024F258 -lbl_8024F250: -/* 8024F250 38 60 00 00 */ li r3, 0 -/* 8024F254 48 00 02 F8 */ b lbl_8024F54C -lbl_8024F258: -/* 8024F258 28 07 00 0C */ cmplwi r7, 0xc -/* 8024F25C 41 81 02 E8 */ bgt lbl_8024F544 -/* 8024F260 3C A0 80 3C */ lis r5, lit_4121@ha /* 0x803C2750@ha */ -/* 8024F264 38 C5 27 50 */ addi r6, r5, lit_4121@l /* 0x803C2750@l */ -/* 8024F268 54 E5 10 3A */ slwi r5, r7, 2 -/* 8024F26C 7C A6 28 2E */ lwzx r5, r6, r5 -/* 8024F270 7C A9 03 A6 */ mtctr r5 -/* 8024F274 4E 80 04 20 */ bctr -/* 8024F278 28 00 83 45 */ cmplwi r0, 0x8345 -/* 8024F27C 41 82 00 14 */ beq lbl_8024F290 -/* 8024F280 28 00 83 44 */ cmplwi r0, 0x8344 -/* 8024F284 41 82 00 0C */ beq lbl_8024F290 -/* 8024F288 28 00 83 94 */ cmplwi r0, 0x8394 -/* 8024F28C 40 82 00 44 */ bne lbl_8024F2D0 -lbl_8024F290: -/* 8024F290 80 A4 02 D0 */ lwz r5, 0x2d0(r4) -/* 8024F294 38 05 00 01 */ addi r0, r5, 1 -/* 8024F298 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F29C 80 04 02 D0 */ lwz r0, 0x2d0(r4) -/* 8024F2A0 28 00 83 46 */ cmplwi r0, 0x8346 -/* 8024F2A4 40 82 00 10 */ bne lbl_8024F2B4 -/* 8024F2A8 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008394@ha */ -/* 8024F2AC 38 05 83 94 */ addi r0, r5, 0x8394 /* 0x00008394@l */ -/* 8024F2B0 90 04 02 D0 */ stw r0, 0x2d0(r4) -lbl_8024F2B4: -/* 8024F2B4 80 04 02 D0 */ lwz r0, 0x2d0(r4) -/* 8024F2B8 28 00 83 95 */ cmplwi r0, 0x8395 -/* 8024F2BC 40 82 02 88 */ bne lbl_8024F544 -/* 8024F2C0 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008344@ha */ -/* 8024F2C4 38 05 83 44 */ addi r0, r5, 0x8344 /* 0x00008344@l */ -/* 8024F2C8 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F2CC 48 00 02 78 */ b lbl_8024F544 -lbl_8024F2D0: -/* 8024F2D0 28 08 00 00 */ cmplwi r8, 0 -/* 8024F2D4 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000829F@ha */ -/* 8024F2D8 38 C5 82 9F */ addi r6, r5, 0x829F /* 0x0000829F@l */ -/* 8024F2DC 41 82 00 08 */ beq lbl_8024F2E4 -/* 8024F2E0 38 C5 83 40 */ addi r6, r5, -31936 -lbl_8024F2E4: -/* 8024F2E4 7C 06 00 50 */ subf r0, r6, r0 -/* 8024F2E8 54 05 0F FE */ srwi r5, r0, 0x1f -/* 8024F2EC 54 00 07 FE */ clrlwi r0, r0, 0x1f -/* 8024F2F0 7C 00 2A 78 */ xor r0, r0, r5 -/* 8024F2F4 7C 05 00 51 */ subf. r0, r5, r0 -/* 8024F2F8 41 82 00 14 */ beq lbl_8024F30C -/* 8024F2FC 80 A4 02 D0 */ lwz r5, 0x2d0(r4) -/* 8024F300 38 05 FF FF */ addi r0, r5, -1 -/* 8024F304 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F308 48 00 02 3C */ b lbl_8024F544 -lbl_8024F30C: -/* 8024F30C 80 A4 02 D0 */ lwz r5, 0x2d0(r4) -/* 8024F310 38 05 00 01 */ addi r0, r5, 1 -/* 8024F314 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F318 48 00 02 2C */ b lbl_8024F544 -/* 8024F31C 28 08 00 00 */ cmplwi r8, 0 -/* 8024F320 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082A9@ha */ -/* 8024F324 38 C5 82 A9 */ addi r6, r5, 0x82A9 /* 0x000082A9@l */ -/* 8024F328 41 82 00 08 */ beq lbl_8024F330 -/* 8024F32C 38 C5 83 4A */ addi r6, r5, -31926 -lbl_8024F330: -/* 8024F330 7C A6 00 50 */ subf r5, r6, r0 -/* 8024F334 54 A6 0F FE */ srwi r6, r5, 0x1f -/* 8024F338 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F33C 7C A5 32 78 */ xor r5, r5, r6 -/* 8024F340 7C C6 28 50 */ subf r6, r6, r5 -/* 8024F344 38 A6 00 01 */ addi r5, r6, 1 -/* 8024F348 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F34C 7C 06 00 50 */ subf r0, r6, r0 -/* 8024F350 7C 05 02 14 */ add r0, r5, r0 -/* 8024F354 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F358 48 00 01 EC */ b lbl_8024F544 -/* 8024F35C 28 08 00 00 */ cmplwi r8, 0 -/* 8024F360 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082B3@ha */ -/* 8024F364 38 C5 82 B3 */ addi r6, r5, 0x82B3 /* 0x000082B3@l */ -/* 8024F368 41 82 00 08 */ beq lbl_8024F370 -/* 8024F36C 38 C5 83 54 */ addi r6, r5, -31916 -lbl_8024F370: -/* 8024F370 7C A6 00 50 */ subf r5, r6, r0 -/* 8024F374 54 A6 0F FE */ srwi r6, r5, 0x1f -/* 8024F378 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F37C 7C A5 32 78 */ xor r5, r5, r6 -/* 8024F380 7C C6 28 50 */ subf r6, r6, r5 -/* 8024F384 38 A6 00 01 */ addi r5, r6, 1 -/* 8024F388 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F38C 7C 06 00 50 */ subf r0, r6, r0 -/* 8024F390 7C 05 02 14 */ add r0, r5, r0 -/* 8024F394 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F398 48 00 01 AC */ b lbl_8024F544 -/* 8024F39C 28 00 81 5B */ cmplwi r0, 0x815b -/* 8024F3A0 41 82 01 A4 */ beq lbl_8024F544 -/* 8024F3A4 28 08 00 00 */ cmplwi r8, 0 -/* 8024F3A8 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082C0@ha */ -/* 8024F3AC 38 C5 82 C0 */ addi r6, r5, 0x82C0 /* 0x000082C0@l */ -/* 8024F3B0 41 82 00 08 */ beq lbl_8024F3B8 -/* 8024F3B4 38 C5 83 61 */ addi r6, r5, -31903 -lbl_8024F3B8: -/* 8024F3B8 7C 00 30 40 */ cmplw r0, r6 -/* 8024F3BC 41 81 00 44 */ bgt lbl_8024F400 -/* 8024F3C0 28 08 00 00 */ cmplwi r8, 0 -/* 8024F3C4 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082BD@ha */ -/* 8024F3C8 38 C5 82 BD */ addi r6, r5, 0x82BD /* 0x000082BD@l */ -/* 8024F3CC 41 82 00 08 */ beq lbl_8024F3D4 -/* 8024F3D0 38 C5 83 5E */ addi r6, r5, -31906 -lbl_8024F3D4: -/* 8024F3D4 7C A6 00 50 */ subf r5, r6, r0 -/* 8024F3D8 54 A6 0F FE */ srwi r6, r5, 0x1f -/* 8024F3DC 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F3E0 7C A5 32 78 */ xor r5, r5, r6 -/* 8024F3E4 7C C6 28 50 */ subf r6, r6, r5 -/* 8024F3E8 38 A6 00 01 */ addi r5, r6, 1 -/* 8024F3EC 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F3F0 7C 06 00 50 */ subf r0, r6, r0 -/* 8024F3F4 7C 05 02 14 */ add r0, r5, r0 -/* 8024F3F8 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F3FC 48 00 01 48 */ b lbl_8024F544 -lbl_8024F400: -/* 8024F400 28 08 00 00 */ cmplwi r8, 0 -/* 8024F404 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082C7@ha */ -/* 8024F408 38 C5 82 C7 */ addi r6, r5, 0x82C7 /* 0x000082C7@l */ -/* 8024F40C 41 82 00 08 */ beq lbl_8024F414 -/* 8024F410 38 C5 83 68 */ addi r6, r5, -31896 -lbl_8024F414: -/* 8024F414 7C 00 30 40 */ cmplw r0, r6 -/* 8024F418 41 81 00 60 */ bgt lbl_8024F478 -/* 8024F41C 28 08 00 00 */ cmplwi r8, 0 -/* 8024F420 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082C4@ha */ -/* 8024F424 38 C5 82 C4 */ addi r6, r5, 0x82C4 /* 0x000082C4@l */ -/* 8024F428 41 82 00 08 */ beq lbl_8024F430 -/* 8024F42C 38 C5 83 65 */ addi r6, r5, -31899 -lbl_8024F430: -/* 8024F430 7C 00 30 40 */ cmplw r0, r6 -/* 8024F434 41 80 00 44 */ blt lbl_8024F478 -/* 8024F438 28 08 00 00 */ cmplwi r8, 0 -/* 8024F43C 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082C4@ha */ -/* 8024F440 38 C5 82 C4 */ addi r6, r5, 0x82C4 /* 0x000082C4@l */ -/* 8024F444 41 82 00 08 */ beq lbl_8024F44C -/* 8024F448 38 C5 83 65 */ addi r6, r5, -31899 -lbl_8024F44C: -/* 8024F44C 7C A6 00 50 */ subf r5, r6, r0 -/* 8024F450 54 A6 0F FE */ srwi r6, r5, 0x1f -/* 8024F454 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F458 7C A5 32 78 */ xor r5, r5, r6 -/* 8024F45C 7C C6 28 50 */ subf r6, r6, r5 -/* 8024F460 38 A6 00 01 */ addi r5, r6, 1 -/* 8024F464 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F468 7C 06 00 50 */ subf r0, r6, r0 -/* 8024F46C 7C 05 02 14 */ add r0, r5, r0 -/* 8024F470 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F474 48 00 00 D0 */ b lbl_8024F544 -lbl_8024F478: -/* 8024F478 28 08 00 00 */ cmplwi r8, 0 -/* 8024F47C 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082C1@ha */ -/* 8024F480 38 C5 82 C1 */ addi r6, r5, 0x82C1 /* 0x000082C1@l */ -/* 8024F484 41 82 00 08 */ beq lbl_8024F48C -/* 8024F488 38 C5 83 62 */ addi r6, r5, -31902 -lbl_8024F48C: -/* 8024F48C 7C E6 00 50 */ subf r7, r6, r0 -/* 8024F490 38 C0 00 03 */ li r6, 3 -/* 8024F494 7C A7 33 D6 */ divw r5, r7, r6 -/* 8024F498 7C A5 31 D6 */ mullw r5, r5, r6 -/* 8024F49C 7C A5 38 50 */ subf r5, r5, r7 -/* 8024F4A0 38 C5 00 01 */ addi r6, r5, 1 -/* 8024F4A4 2C 06 00 02 */ cmpwi r6, 2 -/* 8024F4A8 40 81 00 08 */ ble lbl_8024F4B0 -/* 8024F4AC 38 C0 00 00 */ li r6, 0 -lbl_8024F4B0: -/* 8024F4B0 7C 05 00 50 */ subf r0, r5, r0 -/* 8024F4B4 7C 06 02 14 */ add r0, r6, r0 -/* 8024F4B8 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F4BC 48 00 00 88 */ b lbl_8024F544 -/* 8024F4C0 28 08 00 00 */ cmplwi r8, 0 -/* 8024F4C4 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082CD@ha */ -/* 8024F4C8 38 C5 82 CD */ addi r6, r5, 0x82CD /* 0x000082CD@l */ -/* 8024F4CC 41 82 00 08 */ beq lbl_8024F4D4 -/* 8024F4D0 38 C5 83 6E */ addi r6, r5, -31890 -lbl_8024F4D4: -/* 8024F4D4 7C E6 00 50 */ subf r7, r6, r0 -/* 8024F4D8 38 C0 00 03 */ li r6, 3 -/* 8024F4DC 7C A7 33 D6 */ divw r5, r7, r6 -/* 8024F4E0 7C A5 31 D6 */ mullw r5, r5, r6 -/* 8024F4E4 7C A5 38 50 */ subf r5, r5, r7 -/* 8024F4E8 38 C5 00 01 */ addi r6, r5, 1 -/* 8024F4EC 2C 06 00 02 */ cmpwi r6, 2 -/* 8024F4F0 40 81 00 08 */ ble lbl_8024F4F8 -/* 8024F4F4 38 C0 00 00 */ li r6, 0 -lbl_8024F4F8: -/* 8024F4F8 7C 05 00 50 */ subf r0, r5, r0 -/* 8024F4FC 7C 06 02 14 */ add r0, r6, r0 -/* 8024F500 90 04 02 D0 */ stw r0, 0x2d0(r4) -/* 8024F504 48 00 00 40 */ b lbl_8024F544 -/* 8024F508 28 08 00 00 */ cmplwi r8, 0 -/* 8024F50C 3C A0 00 01 */ lis r5, 0x0001 /* 0x000082E1@ha */ -/* 8024F510 38 C5 82 E1 */ addi r6, r5, 0x82E1 /* 0x000082E1@l */ -/* 8024F514 41 82 00 08 */ beq lbl_8024F51C -/* 8024F518 38 C5 83 83 */ addi r6, r5, -31869 -lbl_8024F51C: -/* 8024F51C 7C A6 00 50 */ subf r5, r6, r0 -/* 8024F520 54 A6 0F FE */ srwi r6, r5, 0x1f -/* 8024F524 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F528 7C A5 32 78 */ xor r5, r5, r6 -/* 8024F52C 7C C6 28 50 */ subf r6, r6, r5 -/* 8024F530 38 A6 00 01 */ addi r5, r6, 1 -/* 8024F534 54 A5 07 FE */ clrlwi r5, r5, 0x1f -/* 8024F538 7C 06 00 50 */ subf r0, r6, r0 -/* 8024F53C 7C 05 02 14 */ add r0, r5, r0 -/* 8024F540 90 04 02 D0 */ stw r0, 0x2d0(r4) -lbl_8024F544: -/* 8024F544 48 00 03 49 */ bl setNameText__7dName_cFv -/* 8024F548 38 60 00 01 */ li r3, 1 -lbl_8024F54C: -/* 8024F54C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8024F550 7C 08 03 A6 */ mtlr r0 -/* 8024F554 38 21 00 10 */ addi r1, r1, 0x10 -/* 8024F558 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/createPane__10COutFont_cFv.s b/asm/d/msg/d_msg_out_font/createPane__10COutFont_cFv.s deleted file mode 100644 index f891af1f7c..0000000000 --- a/asm/d/msg/d_msg_out_font/createPane__10COutFont_cFv.s +++ /dev/null @@ -1,923 +0,0 @@ -lbl_80225EA8: -/* 80225EA8 94 21 FD F0 */ stwu r1, -0x210(r1) -/* 80225EAC 7C 08 02 A6 */ mflr r0 -/* 80225EB0 90 01 02 14 */ stw r0, 0x214(r1) -/* 80225EB4 39 61 02 10 */ addi r11, r1, 0x210 -/* 80225EB8 48 13 C3 19 */ bl _savegpr_26 -/* 80225EBC 7C 7F 1B 78 */ mr r31, r3 -/* 80225EC0 3B A0 00 00 */ li r29, 0 -/* 80225EC4 3B 60 00 00 */ li r27, 0 -/* 80225EC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80225ECC 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -lbl_80225ED0: -/* 80225ED0 2C 1D 00 29 */ cmpwi r29, 0x29 -/* 80225ED4 40 82 00 3C */ bne lbl_80225F10 -/* 80225ED8 83 5E 5C D0 */ lwz r26, 0x5cd0(r30) -/* 80225EDC 7F E3 FB 78 */ mr r3, r31 -/* 80225EE0 7F A4 EB 78 */ mr r4, r29 -/* 80225EE4 48 00 26 4D */ bl getBtiName__10COutFont_cFi -/* 80225EE8 7C 65 1B 78 */ mr r5, r3 -/* 80225EEC 7F 43 D3 78 */ mr r3, r26 -/* 80225EF0 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 80225EF4 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 80225EF8 81 9A 00 00 */ lwz r12, 0(r26) -/* 80225EFC 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80225F00 7D 89 03 A6 */ mtctr r12 -/* 80225F04 4E 80 04 21 */ bctrl -/* 80225F08 7C 7A 1B 78 */ mr r26, r3 -/* 80225F0C 48 00 00 38 */ b lbl_80225F44 -lbl_80225F10: -/* 80225F10 83 5E 5D 30 */ lwz r26, 0x5d30(r30) -/* 80225F14 7F E3 FB 78 */ mr r3, r31 -/* 80225F18 7F A4 EB 78 */ mr r4, r29 -/* 80225F1C 48 00 26 15 */ bl getBtiName__10COutFont_cFi -/* 80225F20 7C 65 1B 78 */ mr r5, r3 -/* 80225F24 7F 43 D3 78 */ mr r3, r26 -/* 80225F28 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 80225F2C 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 80225F30 81 9A 00 00 */ lwz r12, 0(r26) -/* 80225F34 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80225F38 7D 89 03 A6 */ mtctr r12 -/* 80225F3C 4E 80 04 21 */ bctrl -/* 80225F40 7C 7A 1B 78 */ mr r26, r3 -lbl_80225F44: -/* 80225F44 38 60 01 50 */ li r3, 0x150 -/* 80225F48 48 0A 8D 05 */ bl __nw__FUl -/* 80225F4C 7C 60 1B 79 */ or. r0, r3, r3 -/* 80225F50 41 82 00 10 */ beq lbl_80225F60 -/* 80225F54 7F 44 D3 78 */ mr r4, r26 -/* 80225F58 48 0D 67 B1 */ bl __ct__10J2DPictureFPC7ResTIMG -/* 80225F5C 7C 60 1B 78 */ mr r0, r3 -lbl_80225F60: -/* 80225F60 3B 9B 00 90 */ addi r28, r27, 0x90 -/* 80225F64 7C 1F E1 2E */ stwx r0, r31, r28 -/* 80225F68 28 1D 00 45 */ cmplwi r29, 0x45 -/* 80225F6C 41 81 0D 5C */ bgt lbl_80226CC8 -/* 80225F70 3C 60 80 3C */ lis r3, lit_4395@ha /* 0x803BFA90@ha */ -/* 80225F74 38 63 FA 90 */ addi r3, r3, lit_4395@l /* 0x803BFA90@l */ -/* 80225F78 7C 03 D8 2E */ lwzx r0, r3, r27 -/* 80225F7C 7C 09 03 A6 */ mtctr r0 -/* 80225F80 4E 80 04 20 */ bctr -/* 80225F84 38 00 00 62 */ li r0, 0x62 -/* 80225F88 98 01 01 D8 */ stb r0, 0x1d8(r1) -/* 80225F8C 38 00 00 A3 */ li r0, 0xa3 -/* 80225F90 98 01 01 D9 */ stb r0, 0x1d9(r1) -/* 80225F94 38 00 00 2E */ li r0, 0x2e -/* 80225F98 98 01 01 DA */ stb r0, 0x1da(r1) -/* 80225F9C 38 60 00 FF */ li r3, 0xff -/* 80225FA0 98 61 01 DB */ stb r3, 0x1db(r1) -/* 80225FA4 80 01 01 D8 */ lwz r0, 0x1d8(r1) -/* 80225FA8 90 01 01 DC */ stw r0, 0x1dc(r1) -/* 80225FAC 98 61 01 E0 */ stb r3, 0x1e0(r1) -/* 80225FB0 98 61 01 E1 */ stb r3, 0x1e1(r1) -/* 80225FB4 98 61 01 E2 */ stb r3, 0x1e2(r1) -/* 80225FB8 38 00 00 00 */ li r0, 0 -/* 80225FBC 98 01 01 E3 */ stb r0, 0x1e3(r1) -/* 80225FC0 80 01 01 E0 */ lwz r0, 0x1e0(r1) -/* 80225FC4 90 01 01 E4 */ stw r0, 0x1e4(r1) -/* 80225FC8 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80225FCC 38 81 01 E4 */ addi r4, r1, 0x1e4 -/* 80225FD0 38 A1 01 DC */ addi r5, r1, 0x1dc -/* 80225FD4 81 83 00 00 */ lwz r12, 0(r3) -/* 80225FD8 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80225FDC 7D 89 03 A6 */ mtctr r12 -/* 80225FE0 4E 80 04 21 */ bctrl -/* 80225FE4 48 00 0C E4 */ b lbl_80226CC8 -/* 80225FE8 38 00 00 C8 */ li r0, 0xc8 -/* 80225FEC 98 01 01 C8 */ stb r0, 0x1c8(r1) -/* 80225FF0 38 00 00 27 */ li r0, 0x27 -/* 80225FF4 98 01 01 C9 */ stb r0, 0x1c9(r1) -/* 80225FF8 98 01 01 CA */ stb r0, 0x1ca(r1) -/* 80225FFC 38 60 00 FF */ li r3, 0xff -/* 80226000 98 61 01 CB */ stb r3, 0x1cb(r1) -/* 80226004 80 01 01 C8 */ lwz r0, 0x1c8(r1) -/* 80226008 90 01 01 CC */ stw r0, 0x1cc(r1) -/* 8022600C 98 61 01 D0 */ stb r3, 0x1d0(r1) -/* 80226010 98 61 01 D1 */ stb r3, 0x1d1(r1) -/* 80226014 98 61 01 D2 */ stb r3, 0x1d2(r1) -/* 80226018 38 00 00 00 */ li r0, 0 -/* 8022601C 98 01 01 D3 */ stb r0, 0x1d3(r1) -/* 80226020 80 01 01 D0 */ lwz r0, 0x1d0(r1) -/* 80226024 90 01 01 D4 */ stw r0, 0x1d4(r1) -/* 80226028 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 8022602C 38 81 01 D4 */ addi r4, r1, 0x1d4 -/* 80226030 38 A1 01 CC */ addi r5, r1, 0x1cc -/* 80226034 81 83 00 00 */ lwz r12, 0(r3) -/* 80226038 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8022603C 7D 89 03 A6 */ mtctr r12 -/* 80226040 4E 80 04 21 */ bctrl -/* 80226044 48 00 0C 84 */ b lbl_80226CC8 -/* 80226048 38 60 00 FF */ li r3, 0xff -/* 8022604C 98 61 01 B8 */ stb r3, 0x1b8(r1) -/* 80226050 38 00 00 C8 */ li r0, 0xc8 -/* 80226054 98 01 01 B9 */ stb r0, 0x1b9(r1) -/* 80226058 38 00 00 32 */ li r0, 0x32 -/* 8022605C 98 01 01 BA */ stb r0, 0x1ba(r1) -/* 80226060 98 61 01 BB */ stb r3, 0x1bb(r1) -/* 80226064 80 01 01 B8 */ lwz r0, 0x1b8(r1) -/* 80226068 90 01 01 BC */ stw r0, 0x1bc(r1) -/* 8022606C 38 00 00 00 */ li r0, 0 -/* 80226070 98 01 01 C0 */ stb r0, 0x1c0(r1) -/* 80226074 98 01 01 C1 */ stb r0, 0x1c1(r1) -/* 80226078 98 01 01 C2 */ stb r0, 0x1c2(r1) -/* 8022607C 98 01 01 C3 */ stb r0, 0x1c3(r1) -/* 80226080 80 01 01 C0 */ lwz r0, 0x1c0(r1) -/* 80226084 90 01 01 C4 */ stw r0, 0x1c4(r1) -/* 80226088 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 8022608C 38 81 01 C4 */ addi r4, r1, 0x1c4 -/* 80226090 38 A1 01 BC */ addi r5, r1, 0x1bc -/* 80226094 81 83 00 00 */ lwz r12, 0(r3) -/* 80226098 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8022609C 7D 89 03 A6 */ mtctr r12 -/* 802260A0 4E 80 04 21 */ bctrl -/* 802260A4 48 00 0C 24 */ b lbl_80226CC8 -/* 802260A8 88 1F 02 42 */ lbz r0, 0x242(r31) -/* 802260AC 28 00 00 01 */ cmplwi r0, 1 -/* 802260B0 40 82 00 60 */ bne lbl_80226110 -/* 802260B4 38 00 00 78 */ li r0, 0x78 -/* 802260B8 98 01 01 A8 */ stb r0, 0x1a8(r1) -/* 802260BC 98 01 01 A9 */ stb r0, 0x1a9(r1) -/* 802260C0 98 01 01 AA */ stb r0, 0x1aa(r1) -/* 802260C4 38 60 00 FF */ li r3, 0xff -/* 802260C8 98 61 01 AB */ stb r3, 0x1ab(r1) -/* 802260CC 80 01 01 A8 */ lwz r0, 0x1a8(r1) -/* 802260D0 90 01 01 AC */ stw r0, 0x1ac(r1) -/* 802260D4 98 61 01 B0 */ stb r3, 0x1b0(r1) -/* 802260D8 98 61 01 B1 */ stb r3, 0x1b1(r1) -/* 802260DC 98 61 01 B2 */ stb r3, 0x1b2(r1) -/* 802260E0 38 00 00 00 */ li r0, 0 -/* 802260E4 98 01 01 B3 */ stb r0, 0x1b3(r1) -/* 802260E8 80 01 01 B0 */ lwz r0, 0x1b0(r1) -/* 802260EC 90 01 01 B4 */ stw r0, 0x1b4(r1) -/* 802260F0 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802260F4 38 81 01 B4 */ addi r4, r1, 0x1b4 -/* 802260F8 38 A1 01 AC */ addi r5, r1, 0x1ac -/* 802260FC 81 83 00 00 */ lwz r12, 0(r3) -/* 80226100 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226104 7D 89 03 A6 */ mtctr r12 -/* 80226108 4E 80 04 21 */ bctrl -/* 8022610C 48 00 0B BC */ b lbl_80226CC8 -lbl_80226110: -/* 80226110 38 00 00 C8 */ li r0, 0xc8 -/* 80226114 98 01 01 98 */ stb r0, 0x198(r1) -/* 80226118 98 01 01 99 */ stb r0, 0x199(r1) -/* 8022611C 98 01 01 9A */ stb r0, 0x19a(r1) -/* 80226120 38 00 00 FF */ li r0, 0xff -/* 80226124 98 01 01 9B */ stb r0, 0x19b(r1) -/* 80226128 80 01 01 98 */ lwz r0, 0x198(r1) -/* 8022612C 90 01 01 9C */ stw r0, 0x19c(r1) -/* 80226130 38 00 00 00 */ li r0, 0 -/* 80226134 98 01 01 A0 */ stb r0, 0x1a0(r1) -/* 80226138 98 01 01 A1 */ stb r0, 0x1a1(r1) -/* 8022613C 98 01 01 A2 */ stb r0, 0x1a2(r1) -/* 80226140 98 01 01 A3 */ stb r0, 0x1a3(r1) -/* 80226144 80 01 01 A0 */ lwz r0, 0x1a0(r1) -/* 80226148 90 01 01 A4 */ stw r0, 0x1a4(r1) -/* 8022614C 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226150 38 81 01 A4 */ addi r4, r1, 0x1a4 -/* 80226154 38 A1 01 9C */ addi r5, r1, 0x19c -/* 80226158 81 83 00 00 */ lwz r12, 0(r3) -/* 8022615C 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226160 7D 89 03 A6 */ mtctr r12 -/* 80226164 4E 80 04 21 */ bctrl -/* 80226168 48 00 0B 60 */ b lbl_80226CC8 -/* 8022616C 38 00 00 50 */ li r0, 0x50 -/* 80226170 98 01 01 88 */ stb r0, 0x188(r1) -/* 80226174 38 00 00 46 */ li r0, 0x46 -/* 80226178 98 01 01 89 */ stb r0, 0x189(r1) -/* 8022617C 38 00 00 A5 */ li r0, 0xa5 -/* 80226180 98 01 01 8A */ stb r0, 0x18a(r1) -/* 80226184 38 60 00 FF */ li r3, 0xff -/* 80226188 98 61 01 8B */ stb r3, 0x18b(r1) -/* 8022618C 80 01 01 88 */ lwz r0, 0x188(r1) -/* 80226190 90 01 01 8C */ stw r0, 0x18c(r1) -/* 80226194 98 61 01 90 */ stb r3, 0x190(r1) -/* 80226198 98 61 01 91 */ stb r3, 0x191(r1) -/* 8022619C 98 61 01 92 */ stb r3, 0x192(r1) -/* 802261A0 38 00 00 00 */ li r0, 0 -/* 802261A4 98 01 01 93 */ stb r0, 0x193(r1) -/* 802261A8 80 01 01 90 */ lwz r0, 0x190(r1) -/* 802261AC 90 01 01 94 */ stw r0, 0x194(r1) -/* 802261B0 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802261B4 38 81 01 94 */ addi r4, r1, 0x194 -/* 802261B8 38 A1 01 8C */ addi r5, r1, 0x18c -/* 802261BC 81 83 00 00 */ lwz r12, 0(r3) -/* 802261C0 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802261C4 7D 89 03 A6 */ mtctr r12 -/* 802261C8 4E 80 04 21 */ bctrl -/* 802261CC 48 00 0A FC */ b lbl_80226CC8 -/* 802261D0 80 7E 5D 30 */ lwz r3, 0x5d30(r30) -/* 802261D4 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 802261D8 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 802261DC 3C A0 80 3A */ lis r5, d_msg_d_msg_out_font__stringBase0@ha /* 0x80399350@ha */ -/* 802261E0 38 A5 93 50 */ addi r5, r5, d_msg_d_msg_out_font__stringBase0@l /* 0x80399350@l */ -/* 802261E4 81 83 00 00 */ lwz r12, 0(r3) -/* 802261E8 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802261EC 7D 89 03 A6 */ mtctr r12 -/* 802261F0 4E 80 04 21 */ bctrl -/* 802261F4 7C 64 1B 78 */ mr r4, r3 -/* 802261F8 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802261FC C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226200 81 83 00 00 */ lwz r12, 0(r3) -/* 80226204 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80226208 7D 89 03 A6 */ mtctr r12 -/* 8022620C 4E 80 04 21 */ bctrl -/* 80226210 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226214 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226218 C0 42 B0 10 */ lfs f2, lit_3748(r2) -/* 8022621C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226220 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80226224 7D 89 03 A6 */ mtctr r12 -/* 80226228 4E 80 04 21 */ bctrl -/* 8022622C 38 00 00 C8 */ li r0, 0xc8 -/* 80226230 98 01 01 78 */ stb r0, 0x178(r1) -/* 80226234 98 01 01 79 */ stb r0, 0x179(r1) -/* 80226238 98 01 01 7A */ stb r0, 0x17a(r1) -/* 8022623C 38 00 00 FF */ li r0, 0xff -/* 80226240 98 01 01 7B */ stb r0, 0x17b(r1) -/* 80226244 80 01 01 78 */ lwz r0, 0x178(r1) -/* 80226248 90 01 01 7C */ stw r0, 0x17c(r1) -/* 8022624C 38 00 00 00 */ li r0, 0 -/* 80226250 98 01 01 80 */ stb r0, 0x180(r1) -/* 80226254 98 01 01 81 */ stb r0, 0x181(r1) -/* 80226258 98 01 01 82 */ stb r0, 0x182(r1) -/* 8022625C 98 01 01 83 */ stb r0, 0x183(r1) -/* 80226260 80 01 01 80 */ lwz r0, 0x180(r1) -/* 80226264 90 01 01 84 */ stw r0, 0x184(r1) -/* 80226268 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 8022626C 38 81 01 84 */ addi r4, r1, 0x184 -/* 80226270 38 A1 01 7C */ addi r5, r1, 0x17c -/* 80226274 81 83 00 00 */ lwz r12, 0(r3) -/* 80226278 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8022627C 7D 89 03 A6 */ mtctr r12 -/* 80226280 4E 80 04 21 */ bctrl -/* 80226284 48 00 0A 44 */ b lbl_80226CC8 -/* 80226288 38 00 00 DC */ li r0, 0xdc -/* 8022628C 98 01 01 68 */ stb r0, 0x168(r1) -/* 80226290 38 00 00 32 */ li r0, 0x32 -/* 80226294 98 01 01 69 */ stb r0, 0x169(r1) -/* 80226298 98 01 01 6A */ stb r0, 0x16a(r1) -/* 8022629C 38 00 00 FF */ li r0, 0xff -/* 802262A0 98 01 01 6B */ stb r0, 0x16b(r1) -/* 802262A4 80 01 01 68 */ lwz r0, 0x168(r1) -/* 802262A8 90 01 01 6C */ stw r0, 0x16c(r1) -/* 802262AC 38 00 00 00 */ li r0, 0 -/* 802262B0 98 01 01 70 */ stb r0, 0x170(r1) -/* 802262B4 98 01 01 71 */ stb r0, 0x171(r1) -/* 802262B8 98 01 01 72 */ stb r0, 0x172(r1) -/* 802262BC 98 01 01 73 */ stb r0, 0x173(r1) -/* 802262C0 80 01 01 70 */ lwz r0, 0x170(r1) -/* 802262C4 90 01 01 74 */ stw r0, 0x174(r1) -/* 802262C8 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802262CC 38 81 01 74 */ addi r4, r1, 0x174 -/* 802262D0 38 A1 01 6C */ addi r5, r1, 0x16c -/* 802262D4 81 83 00 00 */ lwz r12, 0(r3) -/* 802262D8 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802262DC 7D 89 03 A6 */ mtctr r12 -/* 802262E0 4E 80 04 21 */ bctrl -/* 802262E4 48 00 09 E4 */ b lbl_80226CC8 -/* 802262E8 38 60 00 FF */ li r3, 0xff -/* 802262EC 98 61 01 58 */ stb r3, 0x158(r1) -/* 802262F0 38 00 00 C8 */ li r0, 0xc8 -/* 802262F4 98 01 01 59 */ stb r0, 0x159(r1) -/* 802262F8 38 00 00 32 */ li r0, 0x32 -/* 802262FC 98 01 01 5A */ stb r0, 0x15a(r1) -/* 80226300 98 61 01 5B */ stb r3, 0x15b(r1) -/* 80226304 80 01 01 58 */ lwz r0, 0x158(r1) -/* 80226308 90 01 01 5C */ stw r0, 0x15c(r1) -/* 8022630C 38 00 00 00 */ li r0, 0 -/* 80226310 98 01 01 60 */ stb r0, 0x160(r1) -/* 80226314 98 01 01 61 */ stb r0, 0x161(r1) -/* 80226318 98 01 01 62 */ stb r0, 0x162(r1) -/* 8022631C 98 01 01 63 */ stb r0, 0x163(r1) -/* 80226320 80 01 01 60 */ lwz r0, 0x160(r1) -/* 80226324 90 01 01 64 */ stw r0, 0x164(r1) -/* 80226328 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 8022632C 38 81 01 64 */ addi r4, r1, 0x164 -/* 80226330 38 A1 01 5C */ addi r5, r1, 0x15c -/* 80226334 81 83 00 00 */ lwz r12, 0(r3) -/* 80226338 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8022633C 7D 89 03 A6 */ mtctr r12 -/* 80226340 4E 80 04 21 */ bctrl -/* 80226344 48 00 09 84 */ b lbl_80226CC8 -/* 80226348 38 80 00 FF */ li r4, 0xff -/* 8022634C 98 81 01 48 */ stb r4, 0x148(r1) -/* 80226350 38 00 00 64 */ li r0, 0x64 -/* 80226354 98 01 01 49 */ stb r0, 0x149(r1) -/* 80226358 38 60 00 00 */ li r3, 0 -/* 8022635C 98 61 01 4A */ stb r3, 0x14a(r1) -/* 80226360 98 81 01 4B */ stb r4, 0x14b(r1) -/* 80226364 80 01 01 48 */ lwz r0, 0x148(r1) -/* 80226368 90 01 01 4C */ stw r0, 0x14c(r1) -/* 8022636C 98 61 01 50 */ stb r3, 0x150(r1) -/* 80226370 98 61 01 51 */ stb r3, 0x151(r1) -/* 80226374 98 61 01 52 */ stb r3, 0x152(r1) -/* 80226378 98 61 01 53 */ stb r3, 0x153(r1) -/* 8022637C 80 01 01 50 */ lwz r0, 0x150(r1) -/* 80226380 90 01 01 54 */ stw r0, 0x154(r1) -/* 80226384 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226388 38 81 01 54 */ addi r4, r1, 0x154 -/* 8022638C 38 A1 01 4C */ addi r5, r1, 0x14c -/* 80226390 81 83 00 00 */ lwz r12, 0(r3) -/* 80226394 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226398 7D 89 03 A6 */ mtctr r12 -/* 8022639C 4E 80 04 21 */ bctrl -/* 802263A0 48 00 09 28 */ b lbl_80226CC8 -/* 802263A4 38 80 00 00 */ li r4, 0 -/* 802263A8 98 81 01 38 */ stb r4, 0x138(r1) -/* 802263AC 38 60 00 FF */ li r3, 0xff -/* 802263B0 98 61 01 39 */ stb r3, 0x139(r1) -/* 802263B4 38 00 00 B4 */ li r0, 0xb4 -/* 802263B8 98 01 01 3A */ stb r0, 0x13a(r1) -/* 802263BC 98 61 01 3B */ stb r3, 0x13b(r1) -/* 802263C0 80 01 01 38 */ lwz r0, 0x138(r1) -/* 802263C4 90 01 01 3C */ stw r0, 0x13c(r1) -/* 802263C8 98 81 01 40 */ stb r4, 0x140(r1) -/* 802263CC 98 81 01 41 */ stb r4, 0x141(r1) -/* 802263D0 98 81 01 42 */ stb r4, 0x142(r1) -/* 802263D4 98 81 01 43 */ stb r4, 0x143(r1) -/* 802263D8 80 01 01 40 */ lwz r0, 0x140(r1) -/* 802263DC 90 01 01 44 */ stw r0, 0x144(r1) -/* 802263E0 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802263E4 38 81 01 44 */ addi r4, r1, 0x144 -/* 802263E8 38 A1 01 3C */ addi r5, r1, 0x13c -/* 802263EC 81 83 00 00 */ lwz r12, 0(r3) -/* 802263F0 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802263F4 7D 89 03 A6 */ mtctr r12 -/* 802263F8 4E 80 04 21 */ bctrl -/* 802263FC 48 00 08 CC */ b lbl_80226CC8 -/* 80226400 38 00 00 FF */ li r0, 0xff -/* 80226404 98 01 01 28 */ stb r0, 0x128(r1) -/* 80226408 98 01 01 29 */ stb r0, 0x129(r1) -/* 8022640C 98 01 01 2A */ stb r0, 0x12a(r1) -/* 80226410 98 01 01 2B */ stb r0, 0x12b(r1) -/* 80226414 80 01 01 28 */ lwz r0, 0x128(r1) -/* 80226418 90 01 01 2C */ stw r0, 0x12c(r1) -/* 8022641C 38 00 00 00 */ li r0, 0 -/* 80226420 98 01 01 30 */ stb r0, 0x130(r1) -/* 80226424 98 01 01 31 */ stb r0, 0x131(r1) -/* 80226428 98 01 01 32 */ stb r0, 0x132(r1) -/* 8022642C 98 01 01 33 */ stb r0, 0x133(r1) -/* 80226430 80 01 01 30 */ lwz r0, 0x130(r1) -/* 80226434 90 01 01 34 */ stw r0, 0x134(r1) -/* 80226438 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 8022643C 38 81 01 34 */ addi r4, r1, 0x134 -/* 80226440 38 A1 01 2C */ addi r5, r1, 0x12c -/* 80226444 81 83 00 00 */ lwz r12, 0(r3) -/* 80226448 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8022644C 7D 89 03 A6 */ mtctr r12 -/* 80226450 4E 80 04 21 */ bctrl -/* 80226454 48 00 08 74 */ b lbl_80226CC8 -/* 80226458 38 00 00 AA */ li r0, 0xaa -/* 8022645C 98 01 01 18 */ stb r0, 0x118(r1) -/* 80226460 38 00 00 FF */ li r0, 0xff -/* 80226464 98 01 01 19 */ stb r0, 0x119(r1) -/* 80226468 98 01 01 1A */ stb r0, 0x11a(r1) -/* 8022646C 98 01 01 1B */ stb r0, 0x11b(r1) -/* 80226470 80 01 01 18 */ lwz r0, 0x118(r1) -/* 80226474 90 01 01 1C */ stw r0, 0x11c(r1) -/* 80226478 38 00 00 00 */ li r0, 0 -/* 8022647C 98 01 01 20 */ stb r0, 0x120(r1) -/* 80226480 98 01 01 21 */ stb r0, 0x121(r1) -/* 80226484 98 01 01 22 */ stb r0, 0x122(r1) -/* 80226488 98 01 01 23 */ stb r0, 0x123(r1) -/* 8022648C 80 01 01 20 */ lwz r0, 0x120(r1) -/* 80226490 90 01 01 24 */ stw r0, 0x124(r1) -/* 80226494 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226498 38 81 01 24 */ addi r4, r1, 0x124 -/* 8022649C 38 A1 01 1C */ addi r5, r1, 0x11c -/* 802264A0 81 83 00 00 */ lwz r12, 0(r3) -/* 802264A4 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802264A8 7D 89 03 A6 */ mtctr r12 -/* 802264AC 4E 80 04 21 */ bctrl -/* 802264B0 48 00 08 18 */ b lbl_80226CC8 -/* 802264B4 38 00 00 1E */ li r0, 0x1e -/* 802264B8 98 01 01 08 */ stb r0, 0x108(r1) -/* 802264BC 38 00 00 32 */ li r0, 0x32 -/* 802264C0 98 01 01 09 */ stb r0, 0x109(r1) -/* 802264C4 38 00 00 78 */ li r0, 0x78 -/* 802264C8 98 01 01 0A */ stb r0, 0x10a(r1) -/* 802264CC 38 60 00 FF */ li r3, 0xff -/* 802264D0 98 61 01 0B */ stb r3, 0x10b(r1) -/* 802264D4 80 01 01 08 */ lwz r0, 0x108(r1) -/* 802264D8 90 01 01 0C */ stw r0, 0x10c(r1) -/* 802264DC 38 00 00 00 */ li r0, 0 -/* 802264E0 98 01 01 10 */ stb r0, 0x110(r1) -/* 802264E4 98 01 01 11 */ stb r0, 0x111(r1) -/* 802264E8 98 61 01 12 */ stb r3, 0x112(r1) -/* 802264EC 98 01 01 13 */ stb r0, 0x113(r1) -/* 802264F0 80 01 01 10 */ lwz r0, 0x110(r1) -/* 802264F4 90 01 01 14 */ stw r0, 0x114(r1) -/* 802264F8 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802264FC 38 81 01 14 */ addi r4, r1, 0x114 -/* 80226500 38 A1 01 0C */ addi r5, r1, 0x10c -/* 80226504 81 83 00 00 */ lwz r12, 0(r3) -/* 80226508 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8022650C 7D 89 03 A6 */ mtctr r12 -/* 80226510 4E 80 04 21 */ bctrl -/* 80226514 48 00 07 B4 */ b lbl_80226CC8 -/* 80226518 38 60 00 FF */ li r3, 0xff -/* 8022651C 98 61 00 F8 */ stb r3, 0xf8(r1) -/* 80226520 38 00 00 32 */ li r0, 0x32 -/* 80226524 98 01 00 F9 */ stb r0, 0xf9(r1) -/* 80226528 98 01 00 FA */ stb r0, 0xfa(r1) -/* 8022652C 98 61 00 FB */ stb r3, 0xfb(r1) -/* 80226530 80 01 00 F8 */ lwz r0, 0xf8(r1) -/* 80226534 90 01 00 FC */ stw r0, 0xfc(r1) -/* 80226538 38 00 00 00 */ li r0, 0 -/* 8022653C 98 01 01 00 */ stb r0, 0x100(r1) -/* 80226540 98 01 01 01 */ stb r0, 0x101(r1) -/* 80226544 98 01 01 02 */ stb r0, 0x102(r1) -/* 80226548 98 01 01 03 */ stb r0, 0x103(r1) -/* 8022654C 80 01 01 00 */ lwz r0, 0x100(r1) -/* 80226550 90 01 01 04 */ stw r0, 0x104(r1) -/* 80226554 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226558 38 81 01 04 */ addi r4, r1, 0x104 -/* 8022655C 38 A1 00 FC */ addi r5, r1, 0xfc -/* 80226560 81 83 00 00 */ lwz r12, 0(r3) -/* 80226564 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226568 7D 89 03 A6 */ mtctr r12 -/* 8022656C 4E 80 04 21 */ bctrl -/* 80226570 48 00 07 58 */ b lbl_80226CC8 -/* 80226574 38 00 00 FF */ li r0, 0xff -/* 80226578 98 01 00 E8 */ stb r0, 0xe8(r1) -/* 8022657C 98 01 00 E9 */ stb r0, 0xe9(r1) -/* 80226580 98 01 00 EA */ stb r0, 0xea(r1) -/* 80226584 98 01 00 EB */ stb r0, 0xeb(r1) -/* 80226588 80 01 00 E8 */ lwz r0, 0xe8(r1) -/* 8022658C 90 01 00 EC */ stw r0, 0xec(r1) -/* 80226590 38 00 00 00 */ li r0, 0 -/* 80226594 98 01 00 F0 */ stb r0, 0xf0(r1) -/* 80226598 98 01 00 F1 */ stb r0, 0xf1(r1) -/* 8022659C 98 01 00 F2 */ stb r0, 0xf2(r1) -/* 802265A0 98 01 00 F3 */ stb r0, 0xf3(r1) -/* 802265A4 80 01 00 F0 */ lwz r0, 0xf0(r1) -/* 802265A8 90 01 00 F4 */ stw r0, 0xf4(r1) -/* 802265AC 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802265B0 38 81 00 F4 */ addi r4, r1, 0xf4 -/* 802265B4 38 A1 00 EC */ addi r5, r1, 0xec -/* 802265B8 81 83 00 00 */ lwz r12, 0(r3) -/* 802265BC 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802265C0 7D 89 03 A6 */ mtctr r12 -/* 802265C4 4E 80 04 21 */ bctrl -/* 802265C8 48 00 07 00 */ b lbl_80226CC8 -/* 802265CC 38 60 00 00 */ li r3, 0 -/* 802265D0 98 61 00 D8 */ stb r3, 0xd8(r1) -/* 802265D4 98 61 00 D9 */ stb r3, 0xd9(r1) -/* 802265D8 98 61 00 DA */ stb r3, 0xda(r1) -/* 802265DC 38 00 00 FF */ li r0, 0xff -/* 802265E0 98 01 00 DB */ stb r0, 0xdb(r1) -/* 802265E4 80 01 00 D8 */ lwz r0, 0xd8(r1) -/* 802265E8 90 01 00 DC */ stw r0, 0xdc(r1) -/* 802265EC 98 61 00 E0 */ stb r3, 0xe0(r1) -/* 802265F0 98 61 00 E1 */ stb r3, 0xe1(r1) -/* 802265F4 98 61 00 E2 */ stb r3, 0xe2(r1) -/* 802265F8 98 61 00 E3 */ stb r3, 0xe3(r1) -/* 802265FC 80 01 00 E0 */ lwz r0, 0xe0(r1) -/* 80226600 90 01 00 E4 */ stw r0, 0xe4(r1) -/* 80226604 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226608 38 81 00 E4 */ addi r4, r1, 0xe4 -/* 8022660C 38 A1 00 DC */ addi r5, r1, 0xdc -/* 80226610 81 83 00 00 */ lwz r12, 0(r3) -/* 80226614 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226618 7D 89 03 A6 */ mtctr r12 -/* 8022661C 4E 80 04 21 */ bctrl -/* 80226620 48 00 06 A8 */ b lbl_80226CC8 -/* 80226624 38 60 00 FF */ li r3, 0xff -/* 80226628 98 61 00 C8 */ stb r3, 0xc8(r1) -/* 8022662C 38 00 00 50 */ li r0, 0x50 -/* 80226630 98 01 00 C9 */ stb r0, 0xc9(r1) -/* 80226634 98 01 00 CA */ stb r0, 0xca(r1) -/* 80226638 98 61 00 CB */ stb r3, 0xcb(r1) -/* 8022663C 80 01 00 C8 */ lwz r0, 0xc8(r1) -/* 80226640 90 01 00 CC */ stw r0, 0xcc(r1) -/* 80226644 38 00 00 00 */ li r0, 0 -/* 80226648 98 01 00 D0 */ stb r0, 0xd0(r1) -/* 8022664C 98 01 00 D1 */ stb r0, 0xd1(r1) -/* 80226650 98 01 00 D2 */ stb r0, 0xd2(r1) -/* 80226654 98 01 00 D3 */ stb r0, 0xd3(r1) -/* 80226658 80 01 00 D0 */ lwz r0, 0xd0(r1) -/* 8022665C 90 01 00 D4 */ stw r0, 0xd4(r1) -/* 80226660 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226664 38 81 00 D4 */ addi r4, r1, 0xd4 -/* 80226668 38 A1 00 CC */ addi r5, r1, 0xcc -/* 8022666C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226670 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226674 7D 89 03 A6 */ mtctr r12 -/* 80226678 4E 80 04 21 */ bctrl -/* 8022667C 48 00 06 4C */ b lbl_80226CC8 -/* 80226680 38 00 00 FF */ li r0, 0xff -/* 80226684 98 01 00 B8 */ stb r0, 0xb8(r1) -/* 80226688 98 01 00 B9 */ stb r0, 0xb9(r1) -/* 8022668C 98 01 00 BA */ stb r0, 0xba(r1) -/* 80226690 98 01 00 BB */ stb r0, 0xbb(r1) -/* 80226694 80 01 00 B8 */ lwz r0, 0xb8(r1) -/* 80226698 90 01 00 BC */ stw r0, 0xbc(r1) -/* 8022669C 38 00 00 00 */ li r0, 0 -/* 802266A0 98 01 00 C0 */ stb r0, 0xc0(r1) -/* 802266A4 98 01 00 C1 */ stb r0, 0xc1(r1) -/* 802266A8 98 01 00 C2 */ stb r0, 0xc2(r1) -/* 802266AC 98 01 00 C3 */ stb r0, 0xc3(r1) -/* 802266B0 80 01 00 C0 */ lwz r0, 0xc0(r1) -/* 802266B4 90 01 00 C4 */ stw r0, 0xc4(r1) -/* 802266B8 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802266BC 38 81 00 C4 */ addi r4, r1, 0xc4 -/* 802266C0 38 A1 00 BC */ addi r5, r1, 0xbc -/* 802266C4 81 83 00 00 */ lwz r12, 0(r3) -/* 802266C8 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802266CC 7D 89 03 A6 */ mtctr r12 -/* 802266D0 4E 80 04 21 */ bctrl -/* 802266D4 A0 1A 00 02 */ lhz r0, 2(r26) -/* 802266D8 C8 42 B0 18 */ lfd f2, lit_4397(r2) -/* 802266DC 90 01 01 EC */ stw r0, 0x1ec(r1) -/* 802266E0 3C 60 43 30 */ lis r3, 0x4330 -/* 802266E4 90 61 01 E8 */ stw r3, 0x1e8(r1) -/* 802266E8 C8 01 01 E8 */ lfd f0, 0x1e8(r1) -/* 802266EC EC 20 10 28 */ fsubs f1, f0, f2 -/* 802266F0 A0 1A 00 04 */ lhz r0, 4(r26) -/* 802266F4 90 01 01 F4 */ stw r0, 0x1f4(r1) -/* 802266F8 90 61 01 F0 */ stw r3, 0x1f0(r1) -/* 802266FC C8 01 01 F0 */ lfd f0, 0x1f0(r1) -/* 80226700 EC 00 10 28 */ fsubs f0, f0, f2 -/* 80226704 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80226708 D0 1F 01 AC */ stfs f0, 0x1ac(r31) -/* 8022670C C0 02 B0 14 */ lfs f0, lit_3749(r2) -/* 80226710 D0 1F 01 B0 */ stfs f0, 0x1b0(r31) -/* 80226714 48 00 05 B4 */ b lbl_80226CC8 -/* 80226718 38 00 00 FF */ li r0, 0xff -/* 8022671C 98 01 00 A8 */ stb r0, 0xa8(r1) -/* 80226720 98 01 00 A9 */ stb r0, 0xa9(r1) -/* 80226724 98 01 00 AA */ stb r0, 0xaa(r1) -/* 80226728 98 01 00 AB */ stb r0, 0xab(r1) -/* 8022672C 80 01 00 A8 */ lwz r0, 0xa8(r1) -/* 80226730 90 01 00 AC */ stw r0, 0xac(r1) -/* 80226734 38 00 00 00 */ li r0, 0 -/* 80226738 98 01 00 B0 */ stb r0, 0xb0(r1) -/* 8022673C 98 01 00 B1 */ stb r0, 0xb1(r1) -/* 80226740 98 01 00 B2 */ stb r0, 0xb2(r1) -/* 80226744 98 01 00 B3 */ stb r0, 0xb3(r1) -/* 80226748 80 01 00 B0 */ lwz r0, 0xb0(r1) -/* 8022674C 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 80226750 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226754 38 81 00 B4 */ addi r4, r1, 0xb4 -/* 80226758 38 A1 00 AC */ addi r5, r1, 0xac -/* 8022675C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226760 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226764 7D 89 03 A6 */ mtctr r12 -/* 80226768 4E 80 04 21 */ bctrl -/* 8022676C 48 00 05 5C */ b lbl_80226CC8 -/* 80226770 38 00 00 FF */ li r0, 0xff -/* 80226774 98 01 00 98 */ stb r0, 0x98(r1) -/* 80226778 98 01 00 99 */ stb r0, 0x99(r1) -/* 8022677C 98 01 00 9A */ stb r0, 0x9a(r1) -/* 80226780 98 01 00 9B */ stb r0, 0x9b(r1) -/* 80226784 80 01 00 98 */ lwz r0, 0x98(r1) -/* 80226788 90 01 00 9C */ stw r0, 0x9c(r1) -/* 8022678C 38 00 00 00 */ li r0, 0 -/* 80226790 98 01 00 A0 */ stb r0, 0xa0(r1) -/* 80226794 98 01 00 A1 */ stb r0, 0xa1(r1) -/* 80226798 98 01 00 A2 */ stb r0, 0xa2(r1) -/* 8022679C 98 01 00 A3 */ stb r0, 0xa3(r1) -/* 802267A0 80 01 00 A0 */ lwz r0, 0xa0(r1) -/* 802267A4 90 01 00 A4 */ stw r0, 0xa4(r1) -/* 802267A8 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802267AC 38 81 00 A4 */ addi r4, r1, 0xa4 -/* 802267B0 38 A1 00 9C */ addi r5, r1, 0x9c -/* 802267B4 81 83 00 00 */ lwz r12, 0(r3) -/* 802267B8 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802267BC 7D 89 03 A6 */ mtctr r12 -/* 802267C0 4E 80 04 21 */ bctrl -/* 802267C4 48 00 05 04 */ b lbl_80226CC8 -/* 802267C8 38 00 00 FF */ li r0, 0xff -/* 802267CC 98 01 00 88 */ stb r0, 0x88(r1) -/* 802267D0 98 01 00 89 */ stb r0, 0x89(r1) -/* 802267D4 98 01 00 8A */ stb r0, 0x8a(r1) -/* 802267D8 98 01 00 8B */ stb r0, 0x8b(r1) -/* 802267DC 80 01 00 88 */ lwz r0, 0x88(r1) -/* 802267E0 90 01 00 8C */ stw r0, 0x8c(r1) -/* 802267E4 38 00 00 00 */ li r0, 0 -/* 802267E8 98 01 00 90 */ stb r0, 0x90(r1) -/* 802267EC 98 01 00 91 */ stb r0, 0x91(r1) -/* 802267F0 98 01 00 92 */ stb r0, 0x92(r1) -/* 802267F4 98 01 00 93 */ stb r0, 0x93(r1) -/* 802267F8 80 01 00 90 */ lwz r0, 0x90(r1) -/* 802267FC 90 01 00 94 */ stw r0, 0x94(r1) -/* 80226800 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226804 38 81 00 94 */ addi r4, r1, 0x94 -/* 80226808 38 A1 00 8C */ addi r5, r1, 0x8c -/* 8022680C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226810 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226814 7D 89 03 A6 */ mtctr r12 -/* 80226818 4E 80 04 21 */ bctrl -/* 8022681C 48 00 04 AC */ b lbl_80226CC8 -/* 80226820 80 7E 5D 30 */ lwz r3, 0x5d30(r30) -/* 80226824 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 80226828 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 8022682C 3C A0 80 3A */ lis r5, d_msg_d_msg_out_font__stringBase0@ha /* 0x80399350@ha */ -/* 80226830 38 A5 93 50 */ addi r5, r5, d_msg_d_msg_out_font__stringBase0@l /* 0x80399350@l */ -/* 80226834 38 A5 00 0F */ addi r5, r5, 0xf -/* 80226838 81 83 00 00 */ lwz r12, 0(r3) -/* 8022683C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80226840 7D 89 03 A6 */ mtctr r12 -/* 80226844 4E 80 04 21 */ bctrl -/* 80226848 7C 64 1B 78 */ mr r4, r3 -/* 8022684C 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226850 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226854 81 83 00 00 */ lwz r12, 0(r3) -/* 80226858 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 8022685C 7D 89 03 A6 */ mtctr r12 -/* 80226860 4E 80 04 21 */ bctrl -/* 80226864 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226868 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 8022686C C0 42 B0 10 */ lfs f2, lit_3748(r2) -/* 80226870 81 83 00 00 */ lwz r12, 0(r3) -/* 80226874 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80226878 7D 89 03 A6 */ mtctr r12 -/* 8022687C 4E 80 04 21 */ bctrl -/* 80226880 38 00 00 FF */ li r0, 0xff -/* 80226884 98 01 00 78 */ stb r0, 0x78(r1) -/* 80226888 98 01 00 79 */ stb r0, 0x79(r1) -/* 8022688C 98 01 00 7A */ stb r0, 0x7a(r1) -/* 80226890 98 01 00 7B */ stb r0, 0x7b(r1) -/* 80226894 80 01 00 78 */ lwz r0, 0x78(r1) -/* 80226898 90 01 00 7C */ stw r0, 0x7c(r1) -/* 8022689C 38 00 00 00 */ li r0, 0 -/* 802268A0 98 01 00 80 */ stb r0, 0x80(r1) -/* 802268A4 98 01 00 81 */ stb r0, 0x81(r1) -/* 802268A8 98 01 00 82 */ stb r0, 0x82(r1) -/* 802268AC 98 01 00 83 */ stb r0, 0x83(r1) -/* 802268B0 80 01 00 80 */ lwz r0, 0x80(r1) -/* 802268B4 90 01 00 84 */ stw r0, 0x84(r1) -/* 802268B8 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802268BC 38 81 00 84 */ addi r4, r1, 0x84 -/* 802268C0 38 A1 00 7C */ addi r5, r1, 0x7c -/* 802268C4 81 83 00 00 */ lwz r12, 0(r3) -/* 802268C8 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802268CC 7D 89 03 A6 */ mtctr r12 -/* 802268D0 4E 80 04 21 */ bctrl -/* 802268D4 48 00 03 F4 */ b lbl_80226CC8 -/* 802268D8 80 7E 5D 30 */ lwz r3, 0x5d30(r30) -/* 802268DC 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 802268E0 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 802268E4 3C A0 80 3A */ lis r5, d_msg_d_msg_out_font__stringBase0@ha /* 0x80399350@ha */ -/* 802268E8 38 A5 93 50 */ addi r5, r5, d_msg_d_msg_out_font__stringBase0@l /* 0x80399350@l */ -/* 802268EC 38 A5 00 1B */ addi r5, r5, 0x1b -/* 802268F0 81 83 00 00 */ lwz r12, 0(r3) -/* 802268F4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802268F8 7D 89 03 A6 */ mtctr r12 -/* 802268FC 4E 80 04 21 */ bctrl -/* 80226900 7C 64 1B 78 */ mr r4, r3 -/* 80226904 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226908 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 8022690C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226910 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80226914 7D 89 03 A6 */ mtctr r12 -/* 80226918 4E 80 04 21 */ bctrl -/* 8022691C 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226920 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226924 C0 42 B0 10 */ lfs f2, lit_3748(r2) -/* 80226928 81 83 00 00 */ lwz r12, 0(r3) -/* 8022692C 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80226930 7D 89 03 A6 */ mtctr r12 -/* 80226934 4E 80 04 21 */ bctrl -/* 80226938 38 00 00 FF */ li r0, 0xff -/* 8022693C 98 01 00 68 */ stb r0, 0x68(r1) -/* 80226940 98 01 00 69 */ stb r0, 0x69(r1) -/* 80226944 98 01 00 6A */ stb r0, 0x6a(r1) -/* 80226948 98 01 00 6B */ stb r0, 0x6b(r1) -/* 8022694C 80 01 00 68 */ lwz r0, 0x68(r1) -/* 80226950 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80226954 38 00 00 00 */ li r0, 0 -/* 80226958 98 01 00 70 */ stb r0, 0x70(r1) -/* 8022695C 98 01 00 71 */ stb r0, 0x71(r1) -/* 80226960 98 01 00 72 */ stb r0, 0x72(r1) -/* 80226964 98 01 00 73 */ stb r0, 0x73(r1) -/* 80226968 80 01 00 70 */ lwz r0, 0x70(r1) -/* 8022696C 90 01 00 74 */ stw r0, 0x74(r1) -/* 80226970 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226974 38 81 00 74 */ addi r4, r1, 0x74 -/* 80226978 38 A1 00 6C */ addi r5, r1, 0x6c -/* 8022697C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226980 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226984 7D 89 03 A6 */ mtctr r12 -/* 80226988 4E 80 04 21 */ bctrl -/* 8022698C 48 00 03 3C */ b lbl_80226CC8 -/* 80226990 38 00 00 BE */ li r0, 0xbe -/* 80226994 98 01 00 58 */ stb r0, 0x58(r1) -/* 80226998 98 01 00 59 */ stb r0, 0x59(r1) -/* 8022699C 98 01 00 5A */ stb r0, 0x5a(r1) -/* 802269A0 38 00 00 FF */ li r0, 0xff -/* 802269A4 98 01 00 5B */ stb r0, 0x5b(r1) -/* 802269A8 80 01 00 58 */ lwz r0, 0x58(r1) -/* 802269AC 90 01 00 5C */ stw r0, 0x5c(r1) -/* 802269B0 38 00 00 00 */ li r0, 0 -/* 802269B4 98 01 00 60 */ stb r0, 0x60(r1) -/* 802269B8 98 01 00 61 */ stb r0, 0x61(r1) -/* 802269BC 98 01 00 62 */ stb r0, 0x62(r1) -/* 802269C0 98 01 00 63 */ stb r0, 0x63(r1) -/* 802269C4 80 01 00 60 */ lwz r0, 0x60(r1) -/* 802269C8 90 01 00 64 */ stw r0, 0x64(r1) -/* 802269CC 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 802269D0 38 81 00 64 */ addi r4, r1, 0x64 -/* 802269D4 38 A1 00 5C */ addi r5, r1, 0x5c -/* 802269D8 81 83 00 00 */ lwz r12, 0(r3) -/* 802269DC 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802269E0 7D 89 03 A6 */ mtctr r12 -/* 802269E4 4E 80 04 21 */ bctrl -/* 802269E8 48 00 02 E0 */ b lbl_80226CC8 -/* 802269EC 38 00 00 FF */ li r0, 0xff -/* 802269F0 98 01 00 48 */ stb r0, 0x48(r1) -/* 802269F4 98 01 00 49 */ stb r0, 0x49(r1) -/* 802269F8 98 01 00 4A */ stb r0, 0x4a(r1) -/* 802269FC 98 01 00 4B */ stb r0, 0x4b(r1) -/* 80226A00 80 01 00 48 */ lwz r0, 0x48(r1) -/* 80226A04 90 01 00 4C */ stw r0, 0x4c(r1) -/* 80226A08 38 00 00 00 */ li r0, 0 -/* 80226A0C 98 01 00 50 */ stb r0, 0x50(r1) -/* 80226A10 98 01 00 51 */ stb r0, 0x51(r1) -/* 80226A14 98 01 00 52 */ stb r0, 0x52(r1) -/* 80226A18 98 01 00 53 */ stb r0, 0x53(r1) -/* 80226A1C 80 01 00 50 */ lwz r0, 0x50(r1) -/* 80226A20 90 01 00 54 */ stw r0, 0x54(r1) -/* 80226A24 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226A28 38 81 00 54 */ addi r4, r1, 0x54 -/* 80226A2C 38 A1 00 4C */ addi r5, r1, 0x4c -/* 80226A30 81 83 00 00 */ lwz r12, 0(r3) -/* 80226A34 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226A38 7D 89 03 A6 */ mtctr r12 -/* 80226A3C 4E 80 04 21 */ bctrl -/* 80226A40 48 00 02 88 */ b lbl_80226CC8 -/* 80226A44 80 7E 5D 30 */ lwz r3, 0x5d30(r30) -/* 80226A48 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 80226A4C 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 80226A50 3C A0 80 3A */ lis r5, d_msg_d_msg_out_font__stringBase0@ha /* 0x80399350@ha */ -/* 80226A54 38 A5 93 50 */ addi r5, r5, d_msg_d_msg_out_font__stringBase0@l /* 0x80399350@l */ -/* 80226A58 38 A5 00 27 */ addi r5, r5, 0x27 -/* 80226A5C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226A60 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80226A64 7D 89 03 A6 */ mtctr r12 -/* 80226A68 4E 80 04 21 */ bctrl -/* 80226A6C 7C 64 1B 78 */ mr r4, r3 -/* 80226A70 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226A74 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226A78 81 83 00 00 */ lwz r12, 0(r3) -/* 80226A7C 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80226A80 7D 89 03 A6 */ mtctr r12 -/* 80226A84 4E 80 04 21 */ bctrl -/* 80226A88 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226A8C C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226A90 C0 42 B0 10 */ lfs f2, lit_3748(r2) -/* 80226A94 81 83 00 00 */ lwz r12, 0(r3) -/* 80226A98 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80226A9C 7D 89 03 A6 */ mtctr r12 -/* 80226AA0 4E 80 04 21 */ bctrl -/* 80226AA4 38 00 00 FF */ li r0, 0xff -/* 80226AA8 98 01 00 38 */ stb r0, 0x38(r1) -/* 80226AAC 98 01 00 39 */ stb r0, 0x39(r1) -/* 80226AB0 98 01 00 3A */ stb r0, 0x3a(r1) -/* 80226AB4 98 01 00 3B */ stb r0, 0x3b(r1) -/* 80226AB8 80 01 00 38 */ lwz r0, 0x38(r1) -/* 80226ABC 90 01 00 3C */ stw r0, 0x3c(r1) -/* 80226AC0 38 00 00 00 */ li r0, 0 -/* 80226AC4 98 01 00 40 */ stb r0, 0x40(r1) -/* 80226AC8 98 01 00 41 */ stb r0, 0x41(r1) -/* 80226ACC 98 01 00 42 */ stb r0, 0x42(r1) -/* 80226AD0 98 01 00 43 */ stb r0, 0x43(r1) -/* 80226AD4 80 01 00 40 */ lwz r0, 0x40(r1) -/* 80226AD8 90 01 00 44 */ stw r0, 0x44(r1) -/* 80226ADC 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226AE0 38 81 00 44 */ addi r4, r1, 0x44 -/* 80226AE4 38 A1 00 3C */ addi r5, r1, 0x3c -/* 80226AE8 81 83 00 00 */ lwz r12, 0(r3) -/* 80226AEC 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226AF0 7D 89 03 A6 */ mtctr r12 -/* 80226AF4 4E 80 04 21 */ bctrl -/* 80226AF8 48 00 01 D0 */ b lbl_80226CC8 -/* 80226AFC 80 7E 5D 30 */ lwz r3, 0x5d30(r30) -/* 80226B00 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 80226B04 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 80226B08 3C A0 80 3A */ lis r5, d_msg_d_msg_out_font__stringBase0@ha /* 0x80399350@ha */ -/* 80226B0C 38 A5 93 50 */ addi r5, r5, d_msg_d_msg_out_font__stringBase0@l /* 0x80399350@l */ -/* 80226B10 38 A5 00 33 */ addi r5, r5, 0x33 -/* 80226B14 81 83 00 00 */ lwz r12, 0(r3) -/* 80226B18 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80226B1C 7D 89 03 A6 */ mtctr r12 -/* 80226B20 4E 80 04 21 */ bctrl -/* 80226B24 7C 64 1B 78 */ mr r4, r3 -/* 80226B28 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226B2C C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226B30 81 83 00 00 */ lwz r12, 0(r3) -/* 80226B34 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80226B38 7D 89 03 A6 */ mtctr r12 -/* 80226B3C 4E 80 04 21 */ bctrl -/* 80226B40 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226B44 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226B48 C0 42 B0 10 */ lfs f2, lit_3748(r2) -/* 80226B4C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226B50 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80226B54 7D 89 03 A6 */ mtctr r12 -/* 80226B58 4E 80 04 21 */ bctrl -/* 80226B5C 38 00 00 FF */ li r0, 0xff -/* 80226B60 98 01 00 28 */ stb r0, 0x28(r1) -/* 80226B64 98 01 00 29 */ stb r0, 0x29(r1) -/* 80226B68 98 01 00 2A */ stb r0, 0x2a(r1) -/* 80226B6C 98 01 00 2B */ stb r0, 0x2b(r1) -/* 80226B70 80 01 00 28 */ lwz r0, 0x28(r1) -/* 80226B74 90 01 00 2C */ stw r0, 0x2c(r1) -/* 80226B78 38 00 00 00 */ li r0, 0 -/* 80226B7C 98 01 00 30 */ stb r0, 0x30(r1) -/* 80226B80 98 01 00 31 */ stb r0, 0x31(r1) -/* 80226B84 98 01 00 32 */ stb r0, 0x32(r1) -/* 80226B88 98 01 00 33 */ stb r0, 0x33(r1) -/* 80226B8C 80 01 00 30 */ lwz r0, 0x30(r1) -/* 80226B90 90 01 00 34 */ stw r0, 0x34(r1) -/* 80226B94 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226B98 38 81 00 34 */ addi r4, r1, 0x34 -/* 80226B9C 38 A1 00 2C */ addi r5, r1, 0x2c -/* 80226BA0 81 83 00 00 */ lwz r12, 0(r3) -/* 80226BA4 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226BA8 7D 89 03 A6 */ mtctr r12 -/* 80226BAC 4E 80 04 21 */ bctrl -/* 80226BB0 48 00 01 18 */ b lbl_80226CC8 -/* 80226BB4 80 7E 5D 30 */ lwz r3, 0x5d30(r30) -/* 80226BB8 3C 80 54 49 */ lis r4, 0x5449 /* 0x54494D47@ha */ -/* 80226BBC 38 84 4D 47 */ addi r4, r4, 0x4D47 /* 0x54494D47@l */ -/* 80226BC0 3C A0 80 3A */ lis r5, d_msg_d_msg_out_font__stringBase0@ha /* 0x80399350@ha */ -/* 80226BC4 38 A5 93 50 */ addi r5, r5, d_msg_d_msg_out_font__stringBase0@l /* 0x80399350@l */ -/* 80226BC8 38 A5 00 3F */ addi r5, r5, 0x3f -/* 80226BCC 81 83 00 00 */ lwz r12, 0(r3) -/* 80226BD0 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 80226BD4 7D 89 03 A6 */ mtctr r12 -/* 80226BD8 4E 80 04 21 */ bctrl -/* 80226BDC 7C 64 1B 78 */ mr r4, r3 -/* 80226BE0 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226BE4 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226BE8 81 83 00 00 */ lwz r12, 0(r3) -/* 80226BEC 81 8C 00 9C */ lwz r12, 0x9c(r12) -/* 80226BF0 7D 89 03 A6 */ mtctr r12 -/* 80226BF4 4E 80 04 21 */ bctrl -/* 80226BF8 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226BFC C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 80226C00 C0 42 B0 10 */ lfs f2, lit_3748(r2) -/* 80226C04 81 83 00 00 */ lwz r12, 0(r3) -/* 80226C08 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80226C0C 7D 89 03 A6 */ mtctr r12 -/* 80226C10 4E 80 04 21 */ bctrl -/* 80226C14 38 00 00 FF */ li r0, 0xff -/* 80226C18 98 01 00 18 */ stb r0, 0x18(r1) -/* 80226C1C 98 01 00 19 */ stb r0, 0x19(r1) -/* 80226C20 98 01 00 1A */ stb r0, 0x1a(r1) -/* 80226C24 98 01 00 1B */ stb r0, 0x1b(r1) -/* 80226C28 80 01 00 18 */ lwz r0, 0x18(r1) -/* 80226C2C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80226C30 38 00 00 00 */ li r0, 0 -/* 80226C34 98 01 00 20 */ stb r0, 0x20(r1) -/* 80226C38 98 01 00 21 */ stb r0, 0x21(r1) -/* 80226C3C 98 01 00 22 */ stb r0, 0x22(r1) -/* 80226C40 98 01 00 23 */ stb r0, 0x23(r1) -/* 80226C44 80 01 00 20 */ lwz r0, 0x20(r1) -/* 80226C48 90 01 00 24 */ stw r0, 0x24(r1) -/* 80226C4C 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226C50 38 81 00 24 */ addi r4, r1, 0x24 -/* 80226C54 38 A1 00 1C */ addi r5, r1, 0x1c -/* 80226C58 81 83 00 00 */ lwz r12, 0(r3) -/* 80226C5C 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226C60 7D 89 03 A6 */ mtctr r12 -/* 80226C64 4E 80 04 21 */ bctrl -/* 80226C68 48 00 00 60 */ b lbl_80226CC8 -/* 80226C6C 38 00 00 FF */ li r0, 0xff -/* 80226C70 98 01 00 08 */ stb r0, 8(r1) -/* 80226C74 98 01 00 09 */ stb r0, 9(r1) -/* 80226C78 98 01 00 0A */ stb r0, 0xa(r1) -/* 80226C7C 98 01 00 0B */ stb r0, 0xb(r1) -/* 80226C80 80 01 00 08 */ lwz r0, 8(r1) -/* 80226C84 90 01 00 0C */ stw r0, 0xc(r1) -/* 80226C88 38 00 00 A6 */ li r0, 0xa6 -/* 80226C8C 98 01 00 10 */ stb r0, 0x10(r1) -/* 80226C90 38 00 00 0C */ li r0, 0xc -/* 80226C94 98 01 00 11 */ stb r0, 0x11(r1) -/* 80226C98 38 00 00 00 */ li r0, 0 -/* 80226C9C 98 01 00 12 */ stb r0, 0x12(r1) -/* 80226CA0 98 01 00 13 */ stb r0, 0x13(r1) -/* 80226CA4 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80226CA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80226CAC 7C 7F E0 2E */ lwzx r3, r31, r28 -/* 80226CB0 38 81 00 14 */ addi r4, r1, 0x14 -/* 80226CB4 38 A1 00 0C */ addi r5, r1, 0xc -/* 80226CB8 81 83 00 00 */ lwz r12, 0(r3) -/* 80226CBC 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226CC0 7D 89 03 A6 */ mtctr r12 -/* 80226CC4 4E 80 04 21 */ bctrl -lbl_80226CC8: -/* 80226CC8 3B BD 00 01 */ addi r29, r29, 1 -/* 80226CCC 2C 1D 00 46 */ cmpwi r29, 0x46 -/* 80226CD0 3B 7B 00 04 */ addi r27, r27, 4 -/* 80226CD4 41 80 F1 FC */ blt lbl_80225ED0 -/* 80226CD8 38 00 00 01 */ li r0, 1 -/* 80226CDC 98 1F 02 40 */ stb r0, 0x240(r31) -/* 80226CE0 39 61 02 10 */ addi r11, r1, 0x210 -/* 80226CE4 48 13 B5 39 */ bl _restgpr_26 -/* 80226CE8 80 01 02 14 */ lwz r0, 0x214(r1) -/* 80226CEC 7C 08 03 A6 */ mtlr r0 -/* 80226CF0 38 21 02 10 */ addi r1, r1, 0x210 -/* 80226CF4 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/draw__10COutFont_cFP10J2DTextBoxfff.s b/asm/d/msg/d_msg_out_font/draw__10COutFont_cFP10J2DTextBoxfff.s deleted file mode 100644 index 282049aca3..0000000000 --- a/asm/d/msg/d_msg_out_font/draw__10COutFont_cFP10J2DTextBoxfff.s +++ /dev/null @@ -1,1484 +0,0 @@ -lbl_80226DB0: -/* 80226DB0 94 21 FD 50 */ stwu r1, -0x2b0(r1) -/* 80226DB4 7C 08 02 A6 */ mflr r0 -/* 80226DB8 90 01 02 B4 */ stw r0, 0x2b4(r1) -/* 80226DBC DB E1 02 A0 */ stfd f31, 0x2a0(r1) -/* 80226DC0 F3 E1 02 A8 */ psq_st f31, 680(r1), 0, 0 /* qr0 */ -/* 80226DC4 DB C1 02 90 */ stfd f30, 0x290(r1) -/* 80226DC8 F3 C1 02 98 */ psq_st f30, 664(r1), 0, 0 /* qr0 */ -/* 80226DCC DB A1 02 80 */ stfd f29, 0x280(r1) -/* 80226DD0 F3 A1 02 88 */ psq_st f29, 648(r1), 0, 0 /* qr0 */ -/* 80226DD4 DB 81 02 70 */ stfd f28, 0x270(r1) -/* 80226DD8 F3 81 02 78 */ psq_st f28, 632(r1), 0, 0 /* qr0 */ -/* 80226DDC DB 61 02 60 */ stfd f27, 0x260(r1) -/* 80226DE0 F3 61 02 68 */ psq_st f27, 616(r1), 0, 0 /* qr0 */ -/* 80226DE4 DB 41 02 50 */ stfd f26, 0x250(r1) -/* 80226DE8 F3 41 02 58 */ psq_st f26, 600(r1), 0, 0 /* qr0 */ -/* 80226DEC DB 21 02 40 */ stfd f25, 0x240(r1) -/* 80226DF0 F3 21 02 48 */ psq_st f25, 584(r1), 0, 0 /* qr0 */ -/* 80226DF4 DB 01 02 30 */ stfd f24, 0x230(r1) -/* 80226DF8 F3 01 02 38 */ psq_st f24, 568(r1), 0, 0 /* qr0 */ -/* 80226DFC 39 61 02 30 */ addi r11, r1, 0x230 -/* 80226E00 48 13 B3 C9 */ bl _savegpr_24 -/* 80226E04 7C 7A 1B 78 */ mr r26, r3 -/* 80226E08 7C 9B 23 78 */ mr r27, r4 -/* 80226E0C FF 20 08 90 */ fmr f25, f1 -/* 80226E10 FF 40 10 90 */ fmr f26, f2 -/* 80226E14 FF 60 18 90 */ fmr f27, f3 -/* 80226E18 38 60 00 00 */ li r3, 0 -/* 80226E1C 38 81 01 68 */ addi r4, r1, 0x168 -/* 80226E20 38 00 00 46 */ li r0, 0x46 -/* 80226E24 7C 09 03 A6 */ mtctr r0 -lbl_80226E28: -/* 80226E28 38 03 01 B4 */ addi r0, r3, 0x1b4 -/* 80226E2C 7C 1A 02 AE */ lhax r0, r26, r0 -/* 80226E30 7C 04 1B 2E */ sthx r0, r4, r3 -/* 80226E34 38 63 00 02 */ addi r3, r3, 2 -/* 80226E38 42 00 FF F0 */ bdnz lbl_80226E28 -/* 80226E3C 3B 80 00 00 */ li r28, 0 -/* 80226E40 3B 20 00 00 */ li r25, 0 -/* 80226E44 3C 60 80 43 */ lis r3, g_MsgObject_HIO_c@ha /* 0x8043028C@ha */ -/* 80226E48 3B E3 02 8C */ addi r31, r3, g_MsgObject_HIO_c@l /* 0x8043028C@l */ -lbl_80226E4C: -/* 80226E4C 3B D9 00 04 */ addi r30, r25, 4 -/* 80226E50 7C 7A F0 2E */ lwzx r3, r26, r30 -/* 80226E54 8B 03 00 1D */ lbz r24, 0x1d(r3) -/* 80226E58 80 03 00 04 */ lwz r0, 4(r3) -/* 80226E5C 7C 1B 00 40 */ cmplw r27, r0 -/* 80226E60 40 82 15 80 */ bne lbl_802283E0 -/* 80226E64 28 18 00 47 */ cmplwi r24, 0x47 -/* 80226E68 41 82 15 78 */ beq lbl_802283E0 -/* 80226E6C C3 82 B0 14 */ lfs f28, lit_3749(r2) -/* 80226E70 FF 00 E0 90 */ fmr f24, f28 -/* 80226E74 28 1B 00 00 */ cmplwi r27, 0 -/* 80226E78 41 82 00 28 */ beq lbl_80226EA0 -/* 80226E7C 7F 63 DB 78 */ mr r3, r27 -/* 80226E80 48 00 00 18 */ b lbl_80226E98 -lbl_80226E84: -/* 80226E84 C0 03 00 CC */ lfs f0, 0xcc(r3) -/* 80226E88 EF 9C 00 32 */ fmuls f28, f28, f0 -/* 80226E8C C0 03 00 D0 */ lfs f0, 0xd0(r3) -/* 80226E90 EF 18 00 32 */ fmuls f24, f24, f0 -/* 80226E94 48 0D 0C 69 */ bl getParentPane__7J2DPaneFv -lbl_80226E98: -/* 80226E98 28 03 00 00 */ cmplwi r3, 0 -/* 80226E9C 40 82 FF E8 */ bne lbl_80226E84 -lbl_80226EA0: -/* 80226EA0 7C 9A F0 2E */ lwzx r4, r26, r30 -/* 80226EA4 C0 04 00 08 */ lfs f0, 8(r4) -/* 80226EA8 EC 1C 00 32 */ fmuls f0, f28, f0 -/* 80226EAC EC 1B 00 32 */ fmuls f0, f27, f0 -/* 80226EB0 EF F9 00 2A */ fadds f31, f25, f0 -/* 80226EB4 C0 04 00 0C */ lfs f0, 0xc(r4) -/* 80226EB8 EC 18 00 32 */ fmuls f0, f24, f0 -/* 80226EBC EF DA 00 2A */ fadds f30, f26, f0 -/* 80226EC0 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 80226EC4 EF BC 00 32 */ fmuls f29, f28, f0 -/* 80226EC8 C0 04 00 14 */ lfs f0, 0x14(r4) -/* 80226ECC EF 98 00 32 */ fmuls f28, f24, f0 -/* 80226ED0 57 03 15 BA */ rlwinm r3, r24, 2, 0x16, 0x1d -/* 80226ED4 3B A3 00 90 */ addi r29, r3, 0x90 -/* 80226ED8 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80226EDC 28 03 00 00 */ cmplwi r3, 0 -/* 80226EE0 41 82 15 00 */ beq lbl_802283E0 -/* 80226EE4 88 04 00 1C */ lbz r0, 0x1c(r4) -/* 80226EE8 C0 5A 01 A8 */ lfs f2, 0x1a8(r26) -/* 80226EEC C8 22 B0 18 */ lfd f1, lit_4397(r2) -/* 80226EF0 90 01 01 FC */ stw r0, 0x1fc(r1) -/* 80226EF4 3C 00 43 30 */ lis r0, 0x4330 -/* 80226EF8 90 01 01 F8 */ stw r0, 0x1f8(r1) -/* 80226EFC C8 01 01 F8 */ lfd f0, 0x1f8(r1) -/* 80226F00 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80226F04 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80226F08 FC 00 00 1E */ fctiwz f0, f0 -/* 80226F0C D8 01 02 00 */ stfd f0, 0x200(r1) -/* 80226F10 80 81 02 04 */ lwz r4, 0x204(r1) -/* 80226F14 81 83 00 00 */ lwz r12, 0(r3) -/* 80226F18 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80226F1C 7D 89 03 A6 */ mtctr r12 -/* 80226F20 4E 80 04 21 */ bctrl -/* 80226F24 38 18 FF FB */ addi r0, r24, -5 -/* 80226F28 28 00 00 40 */ cmplwi r0, 0x40 -/* 80226F2C 41 81 13 90 */ bgt lbl_802282BC -/* 80226F30 3C 60 80 3C */ lis r3, lit_5000@ha /* 0x803BFBA8@ha */ -/* 80226F34 38 63 FB A8 */ addi r3, r3, lit_5000@l /* 0x803BFBA8@l */ -/* 80226F38 54 00 10 3A */ slwi r0, r0, 2 -/* 80226F3C 7C 03 00 2E */ lwzx r0, r3, r0 -/* 80226F40 7C 09 03 A6 */ mtctr r0 -/* 80226F44 4E 80 04 20 */ bctr -/* 80226F48 38 60 00 00 */ li r3, 0 -/* 80226F4C 98 61 01 48 */ stb r3, 0x148(r1) -/* 80226F50 98 61 01 49 */ stb r3, 0x149(r1) -/* 80226F54 98 61 01 4A */ stb r3, 0x14a(r1) -/* 80226F58 38 00 00 FF */ li r0, 0xff -/* 80226F5C 98 01 01 4B */ stb r0, 0x14b(r1) -/* 80226F60 80 01 01 48 */ lwz r0, 0x148(r1) -/* 80226F64 90 01 01 4C */ stw r0, 0x14c(r1) -/* 80226F68 98 61 01 50 */ stb r3, 0x150(r1) -/* 80226F6C 98 61 01 51 */ stb r3, 0x151(r1) -/* 80226F70 98 61 01 52 */ stb r3, 0x152(r1) -/* 80226F74 98 61 01 53 */ stb r3, 0x153(r1) -/* 80226F78 80 01 01 50 */ lwz r0, 0x150(r1) -/* 80226F7C 90 01 01 54 */ stw r0, 0x154(r1) -/* 80226F80 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80226F84 38 81 01 54 */ addi r4, r1, 0x154 -/* 80226F88 38 A1 01 4C */ addi r5, r1, 0x14c -/* 80226F8C 81 83 00 00 */ lwz r12, 0(r3) -/* 80226F90 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80226F94 7D 89 03 A6 */ mtctr r12 -/* 80226F98 4E 80 04 21 */ bctrl -/* 80226F9C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80226FA0 C0 02 B0 20 */ lfs f0, lit_4986(r2) -/* 80226FA4 EC 20 F8 2A */ fadds f1, f0, f31 -/* 80226FA8 EC 40 F0 2A */ fadds f2, f0, f30 -/* 80226FAC FC 60 E8 90 */ fmr f3, f29 -/* 80226FB0 FC 80 E0 90 */ fmr f4, f28 -/* 80226FB4 38 80 00 00 */ li r4, 0 -/* 80226FB8 38 A0 00 00 */ li r5, 0 -/* 80226FBC 38 C0 00 01 */ li r6, 1 -/* 80226FC0 81 83 00 00 */ lwz r12, 0(r3) -/* 80226FC4 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80226FC8 7D 89 03 A6 */ mtctr r12 -/* 80226FCC 4E 80 04 21 */ bctrl -/* 80226FD0 7C 7A F0 2E */ lwzx r3, r26, r30 -/* 80226FD4 80 03 00 18 */ lwz r0, 0x18(r3) -/* 80226FD8 90 01 01 38 */ stw r0, 0x138(r1) -/* 80226FDC 90 01 01 3C */ stw r0, 0x13c(r1) -/* 80226FE0 38 00 00 00 */ li r0, 0 -/* 80226FE4 98 01 01 40 */ stb r0, 0x140(r1) -/* 80226FE8 98 01 01 41 */ stb r0, 0x141(r1) -/* 80226FEC 98 01 01 42 */ stb r0, 0x142(r1) -/* 80226FF0 98 01 01 43 */ stb r0, 0x143(r1) -/* 80226FF4 80 01 01 40 */ lwz r0, 0x140(r1) -/* 80226FF8 90 01 01 44 */ stw r0, 0x144(r1) -/* 80226FFC 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227000 38 81 01 44 */ addi r4, r1, 0x144 -/* 80227004 38 A1 01 3C */ addi r5, r1, 0x13c -/* 80227008 81 83 00 00 */ lwz r12, 0(r3) -/* 8022700C 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227010 7D 89 03 A6 */ mtctr r12 -/* 80227014 4E 80 04 21 */ bctrl -/* 80227018 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 8022701C FC 20 F8 90 */ fmr f1, f31 -/* 80227020 FC 40 F0 90 */ fmr f2, f30 -/* 80227024 FC 60 E8 90 */ fmr f3, f29 -/* 80227028 FC 80 E0 90 */ fmr f4, f28 -/* 8022702C 38 80 00 00 */ li r4, 0 -/* 80227030 38 A0 00 00 */ li r5, 0 -/* 80227034 38 C0 00 01 */ li r6, 1 -/* 80227038 81 83 00 00 */ lwz r12, 0(r3) -/* 8022703C 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227040 7D 89 03 A6 */ mtctr r12 -/* 80227044 4E 80 04 21 */ bctrl -/* 80227048 48 00 13 98 */ b lbl_802283E0 -/* 8022704C 38 60 00 00 */ li r3, 0 -/* 80227050 98 61 01 28 */ stb r3, 0x128(r1) -/* 80227054 98 61 01 29 */ stb r3, 0x129(r1) -/* 80227058 98 61 01 2A */ stb r3, 0x12a(r1) -/* 8022705C 38 00 00 FF */ li r0, 0xff -/* 80227060 98 01 01 2B */ stb r0, 0x12b(r1) -/* 80227064 80 01 01 28 */ lwz r0, 0x128(r1) -/* 80227068 90 01 01 2C */ stw r0, 0x12c(r1) -/* 8022706C 98 61 01 30 */ stb r3, 0x130(r1) -/* 80227070 98 61 01 31 */ stb r3, 0x131(r1) -/* 80227074 98 61 01 32 */ stb r3, 0x132(r1) -/* 80227078 98 61 01 33 */ stb r3, 0x133(r1) -/* 8022707C 80 01 01 30 */ lwz r0, 0x130(r1) -/* 80227080 90 01 01 34 */ stw r0, 0x134(r1) -/* 80227084 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227088 38 81 01 34 */ addi r4, r1, 0x134 -/* 8022708C 38 A1 01 2C */ addi r5, r1, 0x12c -/* 80227090 81 83 00 00 */ lwz r12, 0(r3) -/* 80227094 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227098 7D 89 03 A6 */ mtctr r12 -/* 8022709C 4E 80 04 21 */ bctrl -/* 802270A0 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802270A4 C0 02 B0 20 */ lfs f0, lit_4986(r2) -/* 802270A8 EC 20 F8 2A */ fadds f1, f0, f31 -/* 802270AC EC 40 F0 2A */ fadds f2, f0, f30 -/* 802270B0 FC 60 E8 90 */ fmr f3, f29 -/* 802270B4 FC 80 E0 90 */ fmr f4, f28 -/* 802270B8 38 80 00 00 */ li r4, 0 -/* 802270BC 38 A0 00 01 */ li r5, 1 -/* 802270C0 38 C0 00 01 */ li r6, 1 -/* 802270C4 81 83 00 00 */ lwz r12, 0(r3) -/* 802270C8 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802270CC 7D 89 03 A6 */ mtctr r12 -/* 802270D0 4E 80 04 21 */ bctrl -/* 802270D4 7C 7A F0 2E */ lwzx r3, r26, r30 -/* 802270D8 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802270DC 90 01 01 18 */ stw r0, 0x118(r1) -/* 802270E0 90 01 01 1C */ stw r0, 0x11c(r1) -/* 802270E4 38 00 00 00 */ li r0, 0 -/* 802270E8 98 01 01 20 */ stb r0, 0x120(r1) -/* 802270EC 98 01 01 21 */ stb r0, 0x121(r1) -/* 802270F0 98 01 01 22 */ stb r0, 0x122(r1) -/* 802270F4 98 01 01 23 */ stb r0, 0x123(r1) -/* 802270F8 80 01 01 20 */ lwz r0, 0x120(r1) -/* 802270FC 90 01 01 24 */ stw r0, 0x124(r1) -/* 80227100 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227104 38 81 01 24 */ addi r4, r1, 0x124 -/* 80227108 38 A1 01 1C */ addi r5, r1, 0x11c -/* 8022710C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227110 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227114 7D 89 03 A6 */ mtctr r12 -/* 80227118 4E 80 04 21 */ bctrl -/* 8022711C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227120 FC 20 F8 90 */ fmr f1, f31 -/* 80227124 FC 40 F0 90 */ fmr f2, f30 -/* 80227128 FC 60 E8 90 */ fmr f3, f29 -/* 8022712C FC 80 E0 90 */ fmr f4, f28 -/* 80227130 38 80 00 00 */ li r4, 0 -/* 80227134 38 A0 00 01 */ li r5, 1 -/* 80227138 38 C0 00 01 */ li r6, 1 -/* 8022713C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227140 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227144 7D 89 03 A6 */ mtctr r12 -/* 80227148 4E 80 04 21 */ bctrl -/* 8022714C 48 00 12 94 */ b lbl_802283E0 -/* 80227150 38 60 00 00 */ li r3, 0 -/* 80227154 98 61 01 08 */ stb r3, 0x108(r1) -/* 80227158 98 61 01 09 */ stb r3, 0x109(r1) -/* 8022715C 98 61 01 0A */ stb r3, 0x10a(r1) -/* 80227160 38 00 00 FF */ li r0, 0xff -/* 80227164 98 01 01 0B */ stb r0, 0x10b(r1) -/* 80227168 80 01 01 08 */ lwz r0, 0x108(r1) -/* 8022716C 90 01 01 0C */ stw r0, 0x10c(r1) -/* 80227170 98 61 01 10 */ stb r3, 0x110(r1) -/* 80227174 98 61 01 11 */ stb r3, 0x111(r1) -/* 80227178 98 61 01 12 */ stb r3, 0x112(r1) -/* 8022717C 98 61 01 13 */ stb r3, 0x113(r1) -/* 80227180 80 01 01 10 */ lwz r0, 0x110(r1) -/* 80227184 90 01 01 14 */ stw r0, 0x114(r1) -/* 80227188 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 8022718C 38 81 01 14 */ addi r4, r1, 0x114 -/* 80227190 38 A1 01 0C */ addi r5, r1, 0x10c -/* 80227194 81 83 00 00 */ lwz r12, 0(r3) -/* 80227198 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8022719C 7D 89 03 A6 */ mtctr r12 -/* 802271A0 4E 80 04 21 */ bctrl -/* 802271A4 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802271A8 C0 02 B0 20 */ lfs f0, lit_4986(r2) -/* 802271AC EC 20 F8 2A */ fadds f1, f0, f31 -/* 802271B0 EC 40 F0 2A */ fadds f2, f0, f30 -/* 802271B4 FC 60 E8 90 */ fmr f3, f29 -/* 802271B8 FC 80 E0 90 */ fmr f4, f28 -/* 802271BC 38 80 00 00 */ li r4, 0 -/* 802271C0 38 A0 00 01 */ li r5, 1 -/* 802271C4 38 C0 00 01 */ li r6, 1 -/* 802271C8 81 83 00 00 */ lwz r12, 0(r3) -/* 802271CC 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802271D0 7D 89 03 A6 */ mtctr r12 -/* 802271D4 4E 80 04 21 */ bctrl -/* 802271D8 38 60 00 FF */ li r3, 0xff -/* 802271DC 98 61 00 F8 */ stb r3, 0xf8(r1) -/* 802271E0 38 00 00 50 */ li r0, 0x50 -/* 802271E4 98 01 00 F9 */ stb r0, 0xf9(r1) -/* 802271E8 98 01 00 FA */ stb r0, 0xfa(r1) -/* 802271EC 98 61 00 FB */ stb r3, 0xfb(r1) -/* 802271F0 80 01 00 F8 */ lwz r0, 0xf8(r1) -/* 802271F4 90 01 00 FC */ stw r0, 0xfc(r1) -/* 802271F8 38 00 00 00 */ li r0, 0 -/* 802271FC 98 01 01 00 */ stb r0, 0x100(r1) -/* 80227200 98 01 01 01 */ stb r0, 0x101(r1) -/* 80227204 98 01 01 02 */ stb r0, 0x102(r1) -/* 80227208 98 01 01 03 */ stb r0, 0x103(r1) -/* 8022720C 80 01 01 00 */ lwz r0, 0x100(r1) -/* 80227210 90 01 01 04 */ stw r0, 0x104(r1) -/* 80227214 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227218 38 81 01 04 */ addi r4, r1, 0x104 -/* 8022721C 38 A1 00 FC */ addi r5, r1, 0xfc -/* 80227220 81 83 00 00 */ lwz r12, 0(r3) -/* 80227224 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227228 7D 89 03 A6 */ mtctr r12 -/* 8022722C 4E 80 04 21 */ bctrl -/* 80227230 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227234 FC 20 F8 90 */ fmr f1, f31 -/* 80227238 FC 40 F0 90 */ fmr f2, f30 -/* 8022723C FC 60 E8 90 */ fmr f3, f29 -/* 80227240 FC 80 E0 90 */ fmr f4, f28 -/* 80227244 38 80 00 00 */ li r4, 0 -/* 80227248 38 A0 00 01 */ li r5, 1 -/* 8022724C 38 C0 00 01 */ li r6, 1 -/* 80227250 81 83 00 00 */ lwz r12, 0(r3) -/* 80227254 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227258 7D 89 03 A6 */ mtctr r12 -/* 8022725C 4E 80 04 21 */ bctrl -/* 80227260 48 00 11 80 */ b lbl_802283E0 -/* 80227264 38 60 00 00 */ li r3, 0 -/* 80227268 98 61 00 E8 */ stb r3, 0xe8(r1) -/* 8022726C 98 61 00 E9 */ stb r3, 0xe9(r1) -/* 80227270 98 61 00 EA */ stb r3, 0xea(r1) -/* 80227274 38 00 00 FF */ li r0, 0xff -/* 80227278 98 01 00 EB */ stb r0, 0xeb(r1) -/* 8022727C 80 01 00 E8 */ lwz r0, 0xe8(r1) -/* 80227280 90 01 00 EC */ stw r0, 0xec(r1) -/* 80227284 98 61 00 F0 */ stb r3, 0xf0(r1) -/* 80227288 98 61 00 F1 */ stb r3, 0xf1(r1) -/* 8022728C 98 61 00 F2 */ stb r3, 0xf2(r1) -/* 80227290 98 61 00 F3 */ stb r3, 0xf3(r1) -/* 80227294 80 01 00 F0 */ lwz r0, 0xf0(r1) -/* 80227298 90 01 00 F4 */ stw r0, 0xf4(r1) -/* 8022729C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802272A0 38 81 00 F4 */ addi r4, r1, 0xf4 -/* 802272A4 38 A1 00 EC */ addi r5, r1, 0xec -/* 802272A8 81 83 00 00 */ lwz r12, 0(r3) -/* 802272AC 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802272B0 7D 89 03 A6 */ mtctr r12 -/* 802272B4 4E 80 04 21 */ bctrl -/* 802272B8 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802272BC C0 02 B0 20 */ lfs f0, lit_4986(r2) -/* 802272C0 EC 20 F8 2A */ fadds f1, f0, f31 -/* 802272C4 EC 40 F0 2A */ fadds f2, f0, f30 -/* 802272C8 FC 60 E8 90 */ fmr f3, f29 -/* 802272CC FC 80 E0 90 */ fmr f4, f28 -/* 802272D0 38 80 00 00 */ li r4, 0 -/* 802272D4 38 A0 00 01 */ li r5, 1 -/* 802272D8 38 C0 00 00 */ li r6, 0 -/* 802272DC 81 83 00 00 */ lwz r12, 0(r3) -/* 802272E0 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802272E4 7D 89 03 A6 */ mtctr r12 -/* 802272E8 4E 80 04 21 */ bctrl -/* 802272EC 7C 7A F0 2E */ lwzx r3, r26, r30 -/* 802272F0 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802272F4 90 01 00 D8 */ stw r0, 0xd8(r1) -/* 802272F8 90 01 00 DC */ stw r0, 0xdc(r1) -/* 802272FC 38 00 00 00 */ li r0, 0 -/* 80227300 98 01 00 E0 */ stb r0, 0xe0(r1) -/* 80227304 98 01 00 E1 */ stb r0, 0xe1(r1) -/* 80227308 98 01 00 E2 */ stb r0, 0xe2(r1) -/* 8022730C 98 01 00 E3 */ stb r0, 0xe3(r1) -/* 80227310 80 01 00 E0 */ lwz r0, 0xe0(r1) -/* 80227314 90 01 00 E4 */ stw r0, 0xe4(r1) -/* 80227318 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 8022731C 38 81 00 E4 */ addi r4, r1, 0xe4 -/* 80227320 38 A1 00 DC */ addi r5, r1, 0xdc -/* 80227324 81 83 00 00 */ lwz r12, 0(r3) -/* 80227328 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 8022732C 7D 89 03 A6 */ mtctr r12 -/* 80227330 4E 80 04 21 */ bctrl -/* 80227334 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227338 FC 20 F8 90 */ fmr f1, f31 -/* 8022733C FC 40 F0 90 */ fmr f2, f30 -/* 80227340 FC 60 E8 90 */ fmr f3, f29 -/* 80227344 FC 80 E0 90 */ fmr f4, f28 -/* 80227348 38 80 00 00 */ li r4, 0 -/* 8022734C 38 A0 00 01 */ li r5, 1 -/* 80227350 38 C0 00 00 */ li r6, 0 -/* 80227354 81 83 00 00 */ lwz r12, 0(r3) -/* 80227358 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 8022735C 7D 89 03 A6 */ mtctr r12 -/* 80227360 4E 80 04 21 */ bctrl -/* 80227364 48 00 10 7C */ b lbl_802283E0 -/* 80227368 C0 02 B0 14 */ lfs f0, lit_3749(r2) -/* 8022736C EF DE 00 2A */ fadds f30, f30, f0 -/* 80227370 C0 02 B0 24 */ lfs f0, lit_4987(r2) -/* 80227374 EF 9C 00 28 */ fsubs f28, f28, f0 -/* 80227378 38 61 00 D4 */ addi r3, r1, 0xd4 -/* 8022737C 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 80227380 81 84 00 00 */ lwz r12, 0(r4) -/* 80227384 81 8C 01 34 */ lwz r12, 0x134(r12) -/* 80227388 7D 89 03 A6 */ mtctr r12 -/* 8022738C 4E 80 04 21 */ bctrl -/* 80227390 80 01 00 D4 */ lwz r0, 0xd4(r1) -/* 80227394 90 01 01 64 */ stw r0, 0x164(r1) -/* 80227398 38 61 00 D0 */ addi r3, r1, 0xd0 -/* 8022739C 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 802273A0 81 84 00 00 */ lwz r12, 0(r4) -/* 802273A4 81 8C 01 38 */ lwz r12, 0x138(r12) -/* 802273A8 7D 89 03 A6 */ mtctr r12 -/* 802273AC 4E 80 04 21 */ bctrl -/* 802273B0 80 01 00 D0 */ lwz r0, 0xd0(r1) -/* 802273B4 90 01 01 60 */ stw r0, 0x160(r1) -/* 802273B8 38 60 00 00 */ li r3, 0 -/* 802273BC 98 61 00 C0 */ stb r3, 0xc0(r1) -/* 802273C0 98 61 00 C1 */ stb r3, 0xc1(r1) -/* 802273C4 98 61 00 C2 */ stb r3, 0xc2(r1) -/* 802273C8 38 00 00 FF */ li r0, 0xff -/* 802273CC 98 01 00 C3 */ stb r0, 0xc3(r1) -/* 802273D0 80 01 00 C0 */ lwz r0, 0xc0(r1) -/* 802273D4 90 01 00 C4 */ stw r0, 0xc4(r1) -/* 802273D8 98 61 00 C8 */ stb r3, 0xc8(r1) -/* 802273DC 98 61 00 C9 */ stb r3, 0xc9(r1) -/* 802273E0 98 61 00 CA */ stb r3, 0xca(r1) -/* 802273E4 98 61 00 CB */ stb r3, 0xcb(r1) -/* 802273E8 80 01 00 C8 */ lwz r0, 0xc8(r1) -/* 802273EC 90 01 00 CC */ stw r0, 0xcc(r1) -/* 802273F0 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802273F4 38 81 00 CC */ addi r4, r1, 0xcc -/* 802273F8 38 A1 00 C4 */ addi r5, r1, 0xc4 -/* 802273FC 81 83 00 00 */ lwz r12, 0(r3) -/* 80227400 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227404 7D 89 03 A6 */ mtctr r12 -/* 80227408 4E 80 04 21 */ bctrl -/* 8022740C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227410 C0 02 B0 20 */ lfs f0, lit_4986(r2) -/* 80227414 EC 20 F8 2A */ fadds f1, f0, f31 -/* 80227418 EC 40 F0 2A */ fadds f2, f0, f30 -/* 8022741C FC 60 E8 90 */ fmr f3, f29 -/* 80227420 FC 80 E0 90 */ fmr f4, f28 -/* 80227424 38 80 00 00 */ li r4, 0 -/* 80227428 38 A0 00 00 */ li r5, 0 -/* 8022742C 38 C0 00 00 */ li r6, 0 -/* 80227430 81 83 00 00 */ lwz r12, 0(r3) -/* 80227434 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227438 7D 89 03 A6 */ mtctr r12 -/* 8022743C 4E 80 04 21 */ bctrl -/* 80227440 80 01 01 60 */ lwz r0, 0x160(r1) -/* 80227444 90 01 00 B8 */ stw r0, 0xb8(r1) -/* 80227448 80 01 01 64 */ lwz r0, 0x164(r1) -/* 8022744C 90 01 00 BC */ stw r0, 0xbc(r1) -/* 80227450 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227454 38 81 00 BC */ addi r4, r1, 0xbc -/* 80227458 38 A1 00 B8 */ addi r5, r1, 0xb8 -/* 8022745C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227460 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227464 7D 89 03 A6 */ mtctr r12 -/* 80227468 4E 80 04 21 */ bctrl -/* 8022746C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227470 FC 20 F8 90 */ fmr f1, f31 -/* 80227474 FC 40 F0 90 */ fmr f2, f30 -/* 80227478 FC 60 E8 90 */ fmr f3, f29 -/* 8022747C FC 80 E0 90 */ fmr f4, f28 -/* 80227480 38 80 00 00 */ li r4, 0 -/* 80227484 38 A0 00 00 */ li r5, 0 -/* 80227488 38 C0 00 00 */ li r6, 0 -/* 8022748C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227490 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227494 7D 89 03 A6 */ mtctr r12 -/* 80227498 4E 80 04 21 */ bctrl -/* 8022749C 48 00 0F 44 */ b lbl_802283E0 -/* 802274A0 57 05 08 3C */ slwi r5, r24, 1 -/* 802274A4 3B 05 01 B4 */ addi r24, r5, 0x1b4 -/* 802274A8 7C 9A C2 AE */ lhax r4, r26, r24 -/* 802274AC 38 61 01 68 */ addi r3, r1, 0x168 -/* 802274B0 7C 03 2A AE */ lhax r0, r3, r5 -/* 802274B4 7C 04 00 00 */ cmpw r4, r0 -/* 802274B8 40 82 00 30 */ bne lbl_802274E8 -/* 802274BC 38 04 00 01 */ addi r0, r4, 1 -/* 802274C0 7C 1A C3 2E */ sthx r0, r26, r24 -/* 802274C4 7C 1A C2 AE */ lhax r0, r26, r24 -/* 802274C8 2C 00 00 50 */ cmpwi r0, 0x50 -/* 802274CC 41 80 00 0C */ blt lbl_802274D8 -/* 802274D0 38 00 00 00 */ li r0, 0 -/* 802274D4 7C 1A C3 2E */ sthx r0, r26, r24 -lbl_802274D8: -/* 802274D8 7F 43 D3 78 */ mr r3, r26 -/* 802274DC 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 802274E0 7C BA C2 AE */ lhax r5, r26, r24 -/* 802274E4 48 00 0F AD */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_802274E8: -/* 802274E8 7C 1A C2 AE */ lhax r0, r26, r24 -/* 802274EC 2C 00 00 14 */ cmpwi r0, 0x14 -/* 802274F0 40 80 00 38 */ bge lbl_80227528 -/* 802274F4 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802274F8 FC 20 F8 90 */ fmr f1, f31 -/* 802274FC FC 40 F0 90 */ fmr f2, f30 -/* 80227500 FC 60 E8 90 */ fmr f3, f29 -/* 80227504 FC 80 E0 90 */ fmr f4, f28 -/* 80227508 38 80 00 00 */ li r4, 0 -/* 8022750C 38 A0 00 00 */ li r5, 0 -/* 80227510 38 C0 00 01 */ li r6, 1 -/* 80227514 81 83 00 00 */ lwz r12, 0(r3) -/* 80227518 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 8022751C 7D 89 03 A6 */ mtctr r12 -/* 80227520 4E 80 04 21 */ bctrl -/* 80227524 48 00 0E BC */ b lbl_802283E0 -lbl_80227528: -/* 80227528 2C 00 00 28 */ cmpwi r0, 0x28 -/* 8022752C 40 80 00 38 */ bge lbl_80227564 -/* 80227530 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227534 FC 20 F8 90 */ fmr f1, f31 -/* 80227538 FC 40 F0 90 */ fmr f2, f30 -/* 8022753C FC 60 E8 90 */ fmr f3, f29 -/* 80227540 FC 80 E0 90 */ fmr f4, f28 -/* 80227544 38 80 00 00 */ li r4, 0 -/* 80227548 38 A0 00 00 */ li r5, 0 -/* 8022754C 38 C0 00 00 */ li r6, 0 -/* 80227550 81 83 00 00 */ lwz r12, 0(r3) -/* 80227554 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227558 7D 89 03 A6 */ mtctr r12 -/* 8022755C 4E 80 04 21 */ bctrl -/* 80227560 48 00 0E 80 */ b lbl_802283E0 -lbl_80227564: -/* 80227564 2C 00 00 3C */ cmpwi r0, 0x3c -/* 80227568 40 80 00 38 */ bge lbl_802275A0 -/* 8022756C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227570 FC 20 F8 90 */ fmr f1, f31 -/* 80227574 FC 40 F0 90 */ fmr f2, f30 -/* 80227578 FC 60 E8 90 */ fmr f3, f29 -/* 8022757C FC 80 E0 90 */ fmr f4, f28 -/* 80227580 38 80 00 01 */ li r4, 1 -/* 80227584 38 A0 00 01 */ li r5, 1 -/* 80227588 38 C0 00 01 */ li r6, 1 -/* 8022758C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227590 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227594 7D 89 03 A6 */ mtctr r12 -/* 80227598 4E 80 04 21 */ bctrl -/* 8022759C 48 00 0E 44 */ b lbl_802283E0 -lbl_802275A0: -/* 802275A0 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802275A4 FC 20 F8 90 */ fmr f1, f31 -/* 802275A8 FC 40 F0 90 */ fmr f2, f30 -/* 802275AC FC 60 E8 90 */ fmr f3, f29 -/* 802275B0 FC 80 E0 90 */ fmr f4, f28 -/* 802275B4 38 80 00 01 */ li r4, 1 -/* 802275B8 38 A0 00 01 */ li r5, 1 -/* 802275BC 38 C0 00 00 */ li r6, 0 -/* 802275C0 81 83 00 00 */ lwz r12, 0(r3) -/* 802275C4 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802275C8 7D 89 03 A6 */ mtctr r12 -/* 802275CC 4E 80 04 21 */ bctrl -/* 802275D0 48 00 0E 10 */ b lbl_802283E0 -/* 802275D4 57 05 08 3C */ slwi r5, r24, 1 -/* 802275D8 38 C5 01 B4 */ addi r6, r5, 0x1b4 -/* 802275DC 7C 9A 32 AE */ lhax r4, r26, r6 -/* 802275E0 38 61 01 68 */ addi r3, r1, 0x168 -/* 802275E4 7C 03 2A AE */ lhax r0, r3, r5 -/* 802275E8 7C 04 00 00 */ cmpw r4, r0 -/* 802275EC 40 82 00 30 */ bne lbl_8022761C -/* 802275F0 38 04 00 01 */ addi r0, r4, 1 -/* 802275F4 7C 1A 33 2E */ sthx r0, r26, r6 -/* 802275F8 7C 1A 32 AE */ lhax r0, r26, r6 -/* 802275FC 2C 00 00 14 */ cmpwi r0, 0x14 -/* 80227600 41 80 00 0C */ blt lbl_8022760C -/* 80227604 38 00 00 00 */ li r0, 0 -/* 80227608 7C 1A 33 2E */ sthx r0, r26, r6 -lbl_8022760C: -/* 8022760C 7F 43 D3 78 */ mr r3, r26 -/* 80227610 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 80227614 7C BA 32 AE */ lhax r5, r26, r6 -/* 80227618 48 00 0E 79 */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_8022761C: -/* 8022761C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227620 FC 20 F8 90 */ fmr f1, f31 -/* 80227624 FC 40 F0 90 */ fmr f2, f30 -/* 80227628 FC 60 E8 90 */ fmr f3, f29 -/* 8022762C FC 80 E0 90 */ fmr f4, f28 -/* 80227630 38 80 00 00 */ li r4, 0 -/* 80227634 38 A0 00 00 */ li r5, 0 -/* 80227638 38 C0 00 01 */ li r6, 1 -/* 8022763C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227640 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227644 7D 89 03 A6 */ mtctr r12 -/* 80227648 4E 80 04 21 */ bctrl -/* 8022764C 48 00 0D 94 */ b lbl_802283E0 -/* 80227650 57 05 08 3C */ slwi r5, r24, 1 -/* 80227654 38 C5 01 B4 */ addi r6, r5, 0x1b4 -/* 80227658 7C 9A 32 AE */ lhax r4, r26, r6 -/* 8022765C 38 61 01 68 */ addi r3, r1, 0x168 -/* 80227660 7C 03 2A AE */ lhax r0, r3, r5 -/* 80227664 7C 04 00 00 */ cmpw r4, r0 -/* 80227668 40 82 00 30 */ bne lbl_80227698 -/* 8022766C 38 04 00 01 */ addi r0, r4, 1 -/* 80227670 7C 1A 33 2E */ sthx r0, r26, r6 -/* 80227674 7C 1A 32 AE */ lhax r0, r26, r6 -/* 80227678 2C 00 00 14 */ cmpwi r0, 0x14 -/* 8022767C 41 80 00 0C */ blt lbl_80227688 -/* 80227680 38 00 00 00 */ li r0, 0 -/* 80227684 7C 1A 33 2E */ sthx r0, r26, r6 -lbl_80227688: -/* 80227688 7F 43 D3 78 */ mr r3, r26 -/* 8022768C 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 80227690 7C BA 32 AE */ lhax r5, r26, r6 -/* 80227694 48 00 0D FD */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_80227698: -/* 80227698 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 8022769C FC 20 F8 90 */ fmr f1, f31 -/* 802276A0 FC 40 F0 90 */ fmr f2, f30 -/* 802276A4 FC 60 E8 90 */ fmr f3, f29 -/* 802276A8 FC 80 E0 90 */ fmr f4, f28 -/* 802276AC 38 80 00 01 */ li r4, 1 -/* 802276B0 38 A0 00 01 */ li r5, 1 -/* 802276B4 38 C0 00 01 */ li r6, 1 -/* 802276B8 81 83 00 00 */ lwz r12, 0(r3) -/* 802276BC 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802276C0 7D 89 03 A6 */ mtctr r12 -/* 802276C4 4E 80 04 21 */ bctrl -/* 802276C8 48 00 0D 18 */ b lbl_802283E0 -/* 802276CC 57 05 08 3C */ slwi r5, r24, 1 -/* 802276D0 38 C5 01 B4 */ addi r6, r5, 0x1b4 -/* 802276D4 7C 9A 32 AE */ lhax r4, r26, r6 -/* 802276D8 38 61 01 68 */ addi r3, r1, 0x168 -/* 802276DC 7C 03 2A AE */ lhax r0, r3, r5 -/* 802276E0 7C 04 00 00 */ cmpw r4, r0 -/* 802276E4 40 82 00 30 */ bne lbl_80227714 -/* 802276E8 38 04 00 01 */ addi r0, r4, 1 -/* 802276EC 7C 1A 33 2E */ sthx r0, r26, r6 -/* 802276F0 7C 1A 32 AE */ lhax r0, r26, r6 -/* 802276F4 2C 00 00 14 */ cmpwi r0, 0x14 -/* 802276F8 41 80 00 0C */ blt lbl_80227704 -/* 802276FC 38 00 00 00 */ li r0, 0 -/* 80227700 7C 1A 33 2E */ sthx r0, r26, r6 -lbl_80227704: -/* 80227704 7F 43 D3 78 */ mr r3, r26 -/* 80227708 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 8022770C 7C BA 32 AE */ lhax r5, r26, r6 -/* 80227710 48 00 0D 81 */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_80227714: -/* 80227714 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227718 FC 20 F8 90 */ fmr f1, f31 -/* 8022771C FC 40 F0 90 */ fmr f2, f30 -/* 80227720 FC 60 E8 90 */ fmr f3, f29 -/* 80227724 FC 80 E0 90 */ fmr f4, f28 -/* 80227728 38 80 00 00 */ li r4, 0 -/* 8022772C 38 A0 00 00 */ li r5, 0 -/* 80227730 38 C0 00 00 */ li r6, 0 -/* 80227734 81 83 00 00 */ lwz r12, 0(r3) -/* 80227738 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 8022773C 7D 89 03 A6 */ mtctr r12 -/* 80227740 4E 80 04 21 */ bctrl -/* 80227744 48 00 0C 9C */ b lbl_802283E0 -/* 80227748 57 05 08 3C */ slwi r5, r24, 1 -/* 8022774C 38 C5 01 B4 */ addi r6, r5, 0x1b4 -/* 80227750 7C 9A 32 AE */ lhax r4, r26, r6 -/* 80227754 38 61 01 68 */ addi r3, r1, 0x168 -/* 80227758 7C 03 2A AE */ lhax r0, r3, r5 -/* 8022775C 7C 04 00 00 */ cmpw r4, r0 -/* 80227760 40 82 00 30 */ bne lbl_80227790 -/* 80227764 38 04 00 01 */ addi r0, r4, 1 -/* 80227768 7C 1A 33 2E */ sthx r0, r26, r6 -/* 8022776C 7C 1A 32 AE */ lhax r0, r26, r6 -/* 80227770 2C 00 00 14 */ cmpwi r0, 0x14 -/* 80227774 41 80 00 0C */ blt lbl_80227780 -/* 80227778 38 00 00 00 */ li r0, 0 -/* 8022777C 7C 1A 33 2E */ sthx r0, r26, r6 -lbl_80227780: -/* 80227780 7F 43 D3 78 */ mr r3, r26 -/* 80227784 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 80227788 7C BA 32 AE */ lhax r5, r26, r6 -/* 8022778C 48 00 0D 05 */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_80227790: -/* 80227790 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227794 FC 20 F8 90 */ fmr f1, f31 -/* 80227798 FC 40 F0 90 */ fmr f2, f30 -/* 8022779C FC 60 E8 90 */ fmr f3, f29 -/* 802277A0 FC 80 E0 90 */ fmr f4, f28 -/* 802277A4 38 80 00 01 */ li r4, 1 -/* 802277A8 38 A0 00 01 */ li r5, 1 -/* 802277AC 38 C0 00 00 */ li r6, 0 -/* 802277B0 81 83 00 00 */ lwz r12, 0(r3) -/* 802277B4 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802277B8 7D 89 03 A6 */ mtctr r12 -/* 802277BC 4E 80 04 21 */ bctrl -/* 802277C0 48 00 0C 20 */ b lbl_802283E0 -/* 802277C4 57 05 08 3C */ slwi r5, r24, 1 -/* 802277C8 3B 05 01 B4 */ addi r24, r5, 0x1b4 -/* 802277CC 7C 9A C2 AE */ lhax r4, r26, r24 -/* 802277D0 38 61 01 68 */ addi r3, r1, 0x168 -/* 802277D4 7C 03 2A AE */ lhax r0, r3, r5 -/* 802277D8 7C 04 00 00 */ cmpw r4, r0 -/* 802277DC 40 82 00 30 */ bne lbl_8022780C -/* 802277E0 38 04 00 01 */ addi r0, r4, 1 -/* 802277E4 7C 1A C3 2E */ sthx r0, r26, r24 -/* 802277E8 7C 1A C2 AE */ lhax r0, r26, r24 -/* 802277EC 2C 00 00 28 */ cmpwi r0, 0x28 -/* 802277F0 41 80 00 0C */ blt lbl_802277FC -/* 802277F4 38 00 00 00 */ li r0, 0 -/* 802277F8 7C 1A C3 2E */ sthx r0, r26, r24 -lbl_802277FC: -/* 802277FC 7F 43 D3 78 */ mr r3, r26 -/* 80227800 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 80227804 7C BA C2 AE */ lhax r5, r26, r24 -/* 80227808 48 00 0C 89 */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_8022780C: -/* 8022780C 7C 1A C2 AE */ lhax r0, r26, r24 -/* 80227810 2C 00 00 14 */ cmpwi r0, 0x14 -/* 80227814 40 80 00 38 */ bge lbl_8022784C -/* 80227818 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 8022781C FC 20 F8 90 */ fmr f1, f31 -/* 80227820 FC 40 F0 90 */ fmr f2, f30 -/* 80227824 FC 60 E8 90 */ fmr f3, f29 -/* 80227828 FC 80 E0 90 */ fmr f4, f28 -/* 8022782C 38 80 00 00 */ li r4, 0 -/* 80227830 38 A0 00 00 */ li r5, 0 -/* 80227834 38 C0 00 01 */ li r6, 1 -/* 80227838 81 83 00 00 */ lwz r12, 0(r3) -/* 8022783C 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227840 7D 89 03 A6 */ mtctr r12 -/* 80227844 4E 80 04 21 */ bctrl -/* 80227848 48 00 0B 98 */ b lbl_802283E0 -lbl_8022784C: -/* 8022784C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227850 FC 20 F8 90 */ fmr f1, f31 -/* 80227854 FC 40 F0 90 */ fmr f2, f30 -/* 80227858 FC 60 E8 90 */ fmr f3, f29 -/* 8022785C FC 80 E0 90 */ fmr f4, f28 -/* 80227860 38 80 00 01 */ li r4, 1 -/* 80227864 38 A0 00 01 */ li r5, 1 -/* 80227868 38 C0 00 01 */ li r6, 1 -/* 8022786C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227870 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227874 7D 89 03 A6 */ mtctr r12 -/* 80227878 4E 80 04 21 */ bctrl -/* 8022787C 48 00 0B 64 */ b lbl_802283E0 -/* 80227880 57 05 08 3C */ slwi r5, r24, 1 -/* 80227884 3B 05 01 B4 */ addi r24, r5, 0x1b4 -/* 80227888 7C 9A C2 AE */ lhax r4, r26, r24 -/* 8022788C 38 61 01 68 */ addi r3, r1, 0x168 -/* 80227890 7C 03 2A AE */ lhax r0, r3, r5 -/* 80227894 7C 04 00 00 */ cmpw r4, r0 -/* 80227898 40 82 00 30 */ bne lbl_802278C8 -/* 8022789C 38 04 00 01 */ addi r0, r4, 1 -/* 802278A0 7C 1A C3 2E */ sthx r0, r26, r24 -/* 802278A4 7C 1A C2 AE */ lhax r0, r26, r24 -/* 802278A8 2C 00 00 28 */ cmpwi r0, 0x28 -/* 802278AC 41 80 00 0C */ blt lbl_802278B8 -/* 802278B0 38 00 00 00 */ li r0, 0 -/* 802278B4 7C 1A C3 2E */ sthx r0, r26, r24 -lbl_802278B8: -/* 802278B8 7F 43 D3 78 */ mr r3, r26 -/* 802278BC 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 802278C0 7C BA C2 AE */ lhax r5, r26, r24 -/* 802278C4 48 00 0B CD */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_802278C8: -/* 802278C8 7C 1A C2 AE */ lhax r0, r26, r24 -/* 802278CC 2C 00 00 14 */ cmpwi r0, 0x14 -/* 802278D0 40 80 00 38 */ bge lbl_80227908 -/* 802278D4 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802278D8 FC 20 F8 90 */ fmr f1, f31 -/* 802278DC FC 40 F0 90 */ fmr f2, f30 -/* 802278E0 FC 60 E8 90 */ fmr f3, f29 -/* 802278E4 FC 80 E0 90 */ fmr f4, f28 -/* 802278E8 38 80 00 00 */ li r4, 0 -/* 802278EC 38 A0 00 00 */ li r5, 0 -/* 802278F0 38 C0 00 00 */ li r6, 0 -/* 802278F4 81 83 00 00 */ lwz r12, 0(r3) -/* 802278F8 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802278FC 7D 89 03 A6 */ mtctr r12 -/* 80227900 4E 80 04 21 */ bctrl -/* 80227904 48 00 0A DC */ b lbl_802283E0 -lbl_80227908: -/* 80227908 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 8022790C FC 20 F8 90 */ fmr f1, f31 -/* 80227910 FC 40 F0 90 */ fmr f2, f30 -/* 80227914 FC 60 E8 90 */ fmr f3, f29 -/* 80227918 FC 80 E0 90 */ fmr f4, f28 -/* 8022791C 38 80 00 01 */ li r4, 1 -/* 80227920 38 A0 00 01 */ li r5, 1 -/* 80227924 38 C0 00 00 */ li r6, 0 -/* 80227928 81 83 00 00 */ lwz r12, 0(r3) -/* 8022792C 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227930 7D 89 03 A6 */ mtctr r12 -/* 80227934 4E 80 04 21 */ bctrl -/* 80227938 48 00 0A A8 */ b lbl_802283E0 -/* 8022793C 38 60 00 00 */ li r3, 0 -/* 80227940 98 61 00 A8 */ stb r3, 0xa8(r1) -/* 80227944 98 61 00 A9 */ stb r3, 0xa9(r1) -/* 80227948 98 61 00 AA */ stb r3, 0xaa(r1) -/* 8022794C 38 00 00 FF */ li r0, 0xff -/* 80227950 98 01 00 AB */ stb r0, 0xab(r1) -/* 80227954 80 01 00 A8 */ lwz r0, 0xa8(r1) -/* 80227958 90 01 00 AC */ stw r0, 0xac(r1) -/* 8022795C 98 61 00 B0 */ stb r3, 0xb0(r1) -/* 80227960 98 61 00 B1 */ stb r3, 0xb1(r1) -/* 80227964 98 61 00 B2 */ stb r3, 0xb2(r1) -/* 80227968 98 61 00 B3 */ stb r3, 0xb3(r1) -/* 8022796C 80 01 00 B0 */ lwz r0, 0xb0(r1) -/* 80227970 90 01 00 B4 */ stw r0, 0xb4(r1) -/* 80227974 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227978 38 81 00 B4 */ addi r4, r1, 0xb4 -/* 8022797C 38 A1 00 AC */ addi r5, r1, 0xac -/* 80227980 81 83 00 00 */ lwz r12, 0(r3) -/* 80227984 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227988 7D 89 03 A6 */ mtctr r12 -/* 8022798C 4E 80 04 21 */ bctrl -/* 80227990 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227994 C0 02 B0 20 */ lfs f0, lit_4986(r2) -/* 80227998 EC 20 F8 2A */ fadds f1, f0, f31 -/* 8022799C EC 40 F0 2A */ fadds f2, f0, f30 -/* 802279A0 FC 60 E8 90 */ fmr f3, f29 -/* 802279A4 FC 80 E0 90 */ fmr f4, f28 -/* 802279A8 38 80 00 00 */ li r4, 0 -/* 802279AC 38 A0 00 00 */ li r5, 0 -/* 802279B0 38 C0 00 00 */ li r6, 0 -/* 802279B4 81 83 00 00 */ lwz r12, 0(r3) -/* 802279B8 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802279BC 7D 89 03 A6 */ mtctr r12 -/* 802279C0 4E 80 04 21 */ bctrl -/* 802279C4 7C 7A F0 2E */ lwzx r3, r26, r30 -/* 802279C8 80 03 00 18 */ lwz r0, 0x18(r3) -/* 802279CC 90 01 00 98 */ stw r0, 0x98(r1) -/* 802279D0 90 01 00 9C */ stw r0, 0x9c(r1) -/* 802279D4 38 00 00 00 */ li r0, 0 -/* 802279D8 98 01 00 A0 */ stb r0, 0xa0(r1) -/* 802279DC 98 01 00 A1 */ stb r0, 0xa1(r1) -/* 802279E0 98 01 00 A2 */ stb r0, 0xa2(r1) -/* 802279E4 98 01 00 A3 */ stb r0, 0xa3(r1) -/* 802279E8 80 01 00 A0 */ lwz r0, 0xa0(r1) -/* 802279EC 90 01 00 A4 */ stw r0, 0xa4(r1) -/* 802279F0 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802279F4 38 81 00 A4 */ addi r4, r1, 0xa4 -/* 802279F8 38 A1 00 9C */ addi r5, r1, 0x9c -/* 802279FC 81 83 00 00 */ lwz r12, 0(r3) -/* 80227A00 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227A04 7D 89 03 A6 */ mtctr r12 -/* 80227A08 4E 80 04 21 */ bctrl -/* 80227A0C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227A10 FC 20 F8 90 */ fmr f1, f31 -/* 80227A14 FC 40 F0 90 */ fmr f2, f30 -/* 80227A18 FC 60 E8 90 */ fmr f3, f29 -/* 80227A1C FC 80 E0 90 */ fmr f4, f28 -/* 80227A20 38 80 00 00 */ li r4, 0 -/* 80227A24 38 A0 00 00 */ li r5, 0 -/* 80227A28 38 C0 00 00 */ li r6, 0 -/* 80227A2C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227A30 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227A34 7D 89 03 A6 */ mtctr r12 -/* 80227A38 4E 80 04 21 */ bctrl -/* 80227A3C 48 00 09 A4 */ b lbl_802283E0 -/* 80227A40 7C 7A F0 2E */ lwzx r3, r26, r30 -/* 80227A44 80 03 00 18 */ lwz r0, 0x18(r3) -/* 80227A48 90 01 00 88 */ stw r0, 0x88(r1) -/* 80227A4C 90 01 00 8C */ stw r0, 0x8c(r1) -/* 80227A50 38 00 00 00 */ li r0, 0 -/* 80227A54 98 01 00 90 */ stb r0, 0x90(r1) -/* 80227A58 98 01 00 91 */ stb r0, 0x91(r1) -/* 80227A5C 98 01 00 92 */ stb r0, 0x92(r1) -/* 80227A60 98 01 00 93 */ stb r0, 0x93(r1) -/* 80227A64 80 01 00 90 */ lwz r0, 0x90(r1) -/* 80227A68 90 01 00 94 */ stw r0, 0x94(r1) -/* 80227A6C 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227A70 38 81 00 94 */ addi r4, r1, 0x94 -/* 80227A74 38 A1 00 8C */ addi r5, r1, 0x8c -/* 80227A78 81 83 00 00 */ lwz r12, 0(r3) -/* 80227A7C 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227A80 7D 89 03 A6 */ mtctr r12 -/* 80227A84 4E 80 04 21 */ bctrl -/* 80227A88 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227A8C FC 20 F8 90 */ fmr f1, f31 -/* 80227A90 FC 40 F0 90 */ fmr f2, f30 -/* 80227A94 FC 60 E8 90 */ fmr f3, f29 -/* 80227A98 FC 80 E0 90 */ fmr f4, f28 -/* 80227A9C 38 80 00 00 */ li r4, 0 -/* 80227AA0 38 A0 00 00 */ li r5, 0 -/* 80227AA4 38 C0 00 00 */ li r6, 0 -/* 80227AA8 81 83 00 00 */ lwz r12, 0(r3) -/* 80227AAC 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227AB0 7D 89 03 A6 */ mtctr r12 -/* 80227AB4 4E 80 04 21 */ bctrl -/* 80227AB8 48 00 09 28 */ b lbl_802283E0 -/* 80227ABC 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227AC0 FC 20 F8 90 */ fmr f1, f31 -/* 80227AC4 FC 40 F0 90 */ fmr f2, f30 -/* 80227AC8 FC 60 E8 90 */ fmr f3, f29 -/* 80227ACC FC 80 E0 90 */ fmr f4, f28 -/* 80227AD0 38 80 00 00 */ li r4, 0 -/* 80227AD4 38 A0 00 00 */ li r5, 0 -/* 80227AD8 38 C0 00 00 */ li r6, 0 -/* 80227ADC 81 83 00 00 */ lwz r12, 0(r3) -/* 80227AE0 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227AE4 7D 89 03 A6 */ mtctr r12 -/* 80227AE8 4E 80 04 21 */ bctrl -/* 80227AEC 48 00 08 F4 */ b lbl_802283E0 -/* 80227AF0 57 03 08 3C */ slwi r3, r24, 1 -/* 80227AF4 38 A3 01 B4 */ addi r5, r3, 0x1b4 -/* 80227AF8 7C 7A 2A AE */ lhax r3, r26, r5 -/* 80227AFC 38 03 00 01 */ addi r0, r3, 1 -/* 80227B00 7C 1A 2B 2E */ sthx r0, r26, r5 -/* 80227B04 7C 1A 2A AE */ lhax r0, r26, r5 -/* 80227B08 2C 00 00 1C */ cmpwi r0, 0x1c -/* 80227B0C 41 80 00 0C */ blt lbl_80227B18 -/* 80227B10 38 00 00 00 */ li r0, 0 -/* 80227B14 7C 1A 2B 2E */ sthx r0, r26, r5 -lbl_80227B18: -/* 80227B18 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227B1C C0 02 B0 28 */ lfs f0, lit_4988(r2) -/* 80227B20 EC 20 07 72 */ fmuls f1, f0, f29 -/* 80227B24 EC 40 07 32 */ fmuls f2, f0, f28 -/* 80227B28 38 80 00 7A */ li r4, 0x7a -/* 80227B2C C0 82 B0 2C */ lfs f4, lit_4989(r2) -/* 80227B30 7C 1A 2A AE */ lhax r0, r26, r5 -/* 80227B34 C8 62 B0 50 */ lfd f3, lit_5001(r2) -/* 80227B38 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80227B3C 90 01 02 04 */ stw r0, 0x204(r1) -/* 80227B40 3C 00 43 30 */ lis r0, 0x4330 -/* 80227B44 90 01 02 00 */ stw r0, 0x200(r1) -/* 80227B48 C8 01 02 00 */ lfd f0, 0x200(r1) -/* 80227B4C EC 00 18 28 */ fsubs f0, f0, f3 -/* 80227B50 EC 64 00 32 */ fmuls f3, f4, f0 -/* 80227B54 C0 02 B0 30 */ lfs f0, lit_4990(r2) -/* 80227B58 EC 63 00 24 */ fdivs f3, f3, f0 -/* 80227B5C 48 0C F6 81 */ bl rotate__7J2DPaneFff13J2DRotateAxisf -/* 80227B60 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227B64 FC 20 F8 90 */ fmr f1, f31 -/* 80227B68 FC 40 F0 90 */ fmr f2, f30 -/* 80227B6C FC 60 E8 90 */ fmr f3, f29 -/* 80227B70 FC 80 E0 90 */ fmr f4, f28 -/* 80227B74 38 80 00 00 */ li r4, 0 -/* 80227B78 38 A0 00 00 */ li r5, 0 -/* 80227B7C 38 C0 00 00 */ li r6, 0 -/* 80227B80 81 83 00 00 */ lwz r12, 0(r3) -/* 80227B84 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227B88 7D 89 03 A6 */ mtctr r12 -/* 80227B8C 4E 80 04 21 */ bctrl -/* 80227B90 48 00 08 50 */ b lbl_802283E0 -/* 80227B94 57 05 08 3C */ slwi r5, r24, 1 -/* 80227B98 38 C5 01 B4 */ addi r6, r5, 0x1b4 -/* 80227B9C 7C 9A 32 AE */ lhax r4, r26, r6 -/* 80227BA0 38 61 01 68 */ addi r3, r1, 0x168 -/* 80227BA4 7C 03 2A AE */ lhax r0, r3, r5 -/* 80227BA8 7C 04 00 00 */ cmpw r4, r0 -/* 80227BAC 40 82 00 20 */ bne lbl_80227BCC -/* 80227BB0 38 04 00 01 */ addi r0, r4, 1 -/* 80227BB4 7C 1A 33 2E */ sthx r0, r26, r6 -/* 80227BB8 7C 7A 32 AE */ lhax r3, r26, r6 -/* 80227BBC 2C 03 00 12 */ cmpwi r3, 0x12 -/* 80227BC0 41 80 00 0C */ blt lbl_80227BCC -/* 80227BC4 38 03 FF EE */ addi r0, r3, -18 -/* 80227BC8 7C 1A 33 2E */ sthx r0, r26, r6 -lbl_80227BCC: -/* 80227BCC 7C 1A 32 AE */ lhax r0, r26, r6 -/* 80227BD0 2C 00 00 09 */ cmpwi r0, 9 -/* 80227BD4 40 80 00 3C */ bge lbl_80227C10 -/* 80227BD8 C0 62 B0 34 */ lfs f3, lit_4991(r2) -/* 80227BDC C0 42 B0 38 */ lfs f2, lit_4992(r2) -/* 80227BE0 C8 22 B0 50 */ lfd f1, lit_5001(r2) -/* 80227BE4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80227BE8 90 01 02 04 */ stw r0, 0x204(r1) -/* 80227BEC 3C 00 43 30 */ lis r0, 0x4330 -/* 80227BF0 90 01 02 00 */ stw r0, 0x200(r1) -/* 80227BF4 C8 01 02 00 */ lfd f0, 0x200(r1) -/* 80227BF8 EC 20 08 28 */ fsubs f1, f0, f1 -/* 80227BFC C0 02 B0 3C */ lfs f0, lit_4993(r2) -/* 80227C00 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80227C04 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80227C08 EC 23 00 2A */ fadds f1, f3, f0 -/* 80227C0C 48 00 00 40 */ b lbl_80227C4C -lbl_80227C10: -/* 80227C10 C0 82 B0 34 */ lfs f4, lit_4991(r2) -/* 80227C14 C0 62 B0 38 */ lfs f3, lit_4992(r2) -/* 80227C18 C0 42 B0 40 */ lfs f2, lit_4994(r2) -/* 80227C1C C8 22 B0 50 */ lfd f1, lit_5001(r2) -/* 80227C20 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80227C24 90 01 01 FC */ stw r0, 0x1fc(r1) -/* 80227C28 3C 00 43 30 */ lis r0, 0x4330 -/* 80227C2C 90 01 01 F8 */ stw r0, 0x1f8(r1) -/* 80227C30 C8 01 01 F8 */ lfd f0, 0x1f8(r1) -/* 80227C34 EC 00 08 28 */ fsubs f0, f0, f1 -/* 80227C38 EC 22 00 28 */ fsubs f1, f2, f0 -/* 80227C3C C0 02 B0 3C */ lfs f0, lit_4993(r2) -/* 80227C40 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80227C44 EC 03 00 32 */ fmuls f0, f3, f0 -/* 80227C48 EC 24 00 2A */ fadds f1, f4, f0 -lbl_80227C4C: -/* 80227C4C 80 7A 00 F8 */ lwz r3, 0xf8(r26) -/* 80227C50 C0 1A 01 A8 */ lfs f0, 0x1a8(r26) -/* 80227C54 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80227C58 FC 00 00 1E */ fctiwz f0, f0 -/* 80227C5C D8 01 02 08 */ stfd f0, 0x208(r1) -/* 80227C60 80 81 02 0C */ lwz r4, 0x20c(r1) -/* 80227C64 81 83 00 00 */ lwz r12, 0(r3) -/* 80227C68 81 8C 00 24 */ lwz r12, 0x24(r12) -/* 80227C6C 7D 89 03 A6 */ mtctr r12 -/* 80227C70 4E 80 04 21 */ bctrl -/* 80227C74 C0 9F 02 C4 */ lfs f4, 0x2c4(r31) -/* 80227C78 C0 02 B0 14 */ lfs f0, lit_3749(r2) -/* 80227C7C EC 64 00 28 */ fsubs f3, f4, f0 -/* 80227C80 80 7A 00 F8 */ lwz r3, 0xf8(r26) -/* 80227C84 C0 42 B0 28 */ lfs f2, lit_4988(r2) -/* 80227C88 EC 03 07 72 */ fmuls f0, f3, f29 -/* 80227C8C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80227C90 EC 3F 00 28 */ fsubs f1, f31, f0 -/* 80227C94 EC 03 07 32 */ fmuls f0, f3, f28 -/* 80227C98 EC 02 00 32 */ fmuls f0, f2, f0 -/* 80227C9C EC 5E 00 28 */ fsubs f2, f30, f0 -/* 80227CA0 EC 7D 01 32 */ fmuls f3, f29, f4 -/* 80227CA4 EC 9C 01 32 */ fmuls f4, f28, f4 -/* 80227CA8 38 80 00 00 */ li r4, 0 -/* 80227CAC 38 A0 00 00 */ li r5, 0 -/* 80227CB0 38 C0 00 00 */ li r6, 0 -/* 80227CB4 81 83 00 00 */ lwz r12, 0(r3) -/* 80227CB8 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227CBC 7D 89 03 A6 */ mtctr r12 -/* 80227CC0 4E 80 04 21 */ bctrl -/* 80227CC4 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227CC8 FC 20 F8 90 */ fmr f1, f31 -/* 80227CCC FC 40 F0 90 */ fmr f2, f30 -/* 80227CD0 FC 60 E8 90 */ fmr f3, f29 -/* 80227CD4 FC 80 E0 90 */ fmr f4, f28 -/* 80227CD8 38 80 00 00 */ li r4, 0 -/* 80227CDC 38 A0 00 00 */ li r5, 0 -/* 80227CE0 38 C0 00 00 */ li r6, 0 -/* 80227CE4 81 83 00 00 */ lwz r12, 0(r3) -/* 80227CE8 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227CEC 7D 89 03 A6 */ mtctr r12 -/* 80227CF0 4E 80 04 21 */ bctrl -/* 80227CF4 48 00 06 EC */ b lbl_802283E0 -/* 80227CF8 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227CFC FC 20 F8 90 */ fmr f1, f31 -/* 80227D00 FC 40 F0 90 */ fmr f2, f30 -/* 80227D04 FC 60 E8 90 */ fmr f3, f29 -/* 80227D08 FC 80 E0 90 */ fmr f4, f28 -/* 80227D0C 38 80 00 00 */ li r4, 0 -/* 80227D10 38 A0 00 00 */ li r5, 0 -/* 80227D14 38 C0 00 00 */ li r6, 0 -/* 80227D18 81 83 00 00 */ lwz r12, 0(r3) -/* 80227D1C 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227D20 7D 89 03 A6 */ mtctr r12 -/* 80227D24 4E 80 04 21 */ bctrl -/* 80227D28 48 00 06 B8 */ b lbl_802283E0 -/* 80227D2C 38 00 00 FF */ li r0, 0xff -/* 80227D30 98 01 00 78 */ stb r0, 0x78(r1) -/* 80227D34 98 01 00 79 */ stb r0, 0x79(r1) -/* 80227D38 98 01 00 7A */ stb r0, 0x7a(r1) -/* 80227D3C 98 01 00 7B */ stb r0, 0x7b(r1) -/* 80227D40 80 01 00 78 */ lwz r0, 0x78(r1) -/* 80227D44 90 01 00 7C */ stw r0, 0x7c(r1) -/* 80227D48 38 00 00 00 */ li r0, 0 -/* 80227D4C 98 01 00 80 */ stb r0, 0x80(r1) -/* 80227D50 98 01 00 81 */ stb r0, 0x81(r1) -/* 80227D54 98 01 00 82 */ stb r0, 0x82(r1) -/* 80227D58 98 01 00 83 */ stb r0, 0x83(r1) -/* 80227D5C 80 01 00 80 */ lwz r0, 0x80(r1) -/* 80227D60 90 01 00 84 */ stw r0, 0x84(r1) -/* 80227D64 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227D68 38 81 00 84 */ addi r4, r1, 0x84 -/* 80227D6C 38 A1 00 7C */ addi r5, r1, 0x7c -/* 80227D70 81 83 00 00 */ lwz r12, 0(r3) -/* 80227D74 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227D78 7D 89 03 A6 */ mtctr r12 -/* 80227D7C 4E 80 04 21 */ bctrl -/* 80227D80 C0 9A 01 B0 */ lfs f4, 0x1b0(r26) -/* 80227D84 C0 BA 01 AC */ lfs f5, 0x1ac(r26) -/* 80227D88 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227D8C C0 62 B0 28 */ lfs f3, lit_4988(r2) -/* 80227D90 C0 42 B0 14 */ lfs f2, lit_3749(r2) -/* 80227D94 EC 02 28 28 */ fsubs f0, f2, f5 -/* 80227D98 EC 1D 00 32 */ fmuls f0, f29, f0 -/* 80227D9C EC 03 00 32 */ fmuls f0, f3, f0 -/* 80227DA0 EC 3F 00 2A */ fadds f1, f31, f0 -/* 80227DA4 EC 02 20 28 */ fsubs f0, f2, f4 -/* 80227DA8 EC 1C 00 32 */ fmuls f0, f28, f0 -/* 80227DAC EC 03 00 32 */ fmuls f0, f3, f0 -/* 80227DB0 EC 5E 00 2A */ fadds f2, f30, f0 -/* 80227DB4 EC 7D 01 72 */ fmuls f3, f29, f5 -/* 80227DB8 EC 9C 01 32 */ fmuls f4, f28, f4 -/* 80227DBC 38 80 00 00 */ li r4, 0 -/* 80227DC0 38 A0 00 00 */ li r5, 0 -/* 80227DC4 38 C0 00 00 */ li r6, 0 -/* 80227DC8 81 83 00 00 */ lwz r12, 0(r3) -/* 80227DCC 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227DD0 7D 89 03 A6 */ mtctr r12 -/* 80227DD4 4E 80 04 21 */ bctrl -/* 80227DD8 48 00 06 08 */ b lbl_802283E0 -/* 80227DDC 7C 7A F0 2E */ lwzx r3, r26, r30 -/* 80227DE0 80 03 00 18 */ lwz r0, 0x18(r3) -/* 80227DE4 90 01 00 68 */ stw r0, 0x68(r1) -/* 80227DE8 90 01 00 6C */ stw r0, 0x6c(r1) -/* 80227DEC 38 00 00 00 */ li r0, 0 -/* 80227DF0 98 01 00 70 */ stb r0, 0x70(r1) -/* 80227DF4 98 01 00 71 */ stb r0, 0x71(r1) -/* 80227DF8 98 01 00 72 */ stb r0, 0x72(r1) -/* 80227DFC 98 01 00 73 */ stb r0, 0x73(r1) -/* 80227E00 80 01 00 70 */ lwz r0, 0x70(r1) -/* 80227E04 90 01 00 74 */ stw r0, 0x74(r1) -/* 80227E08 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227E0C 38 81 00 74 */ addi r4, r1, 0x74 -/* 80227E10 38 A1 00 6C */ addi r5, r1, 0x6c -/* 80227E14 81 83 00 00 */ lwz r12, 0(r3) -/* 80227E18 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227E1C 7D 89 03 A6 */ mtctr r12 -/* 80227E20 4E 80 04 21 */ bctrl -/* 80227E24 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227E28 FC 20 F8 90 */ fmr f1, f31 -/* 80227E2C FC 40 F0 90 */ fmr f2, f30 -/* 80227E30 FC 60 E8 90 */ fmr f3, f29 -/* 80227E34 FC 80 E0 90 */ fmr f4, f28 -/* 80227E38 38 80 00 00 */ li r4, 0 -/* 80227E3C 38 A0 00 00 */ li r5, 0 -/* 80227E40 38 C0 00 00 */ li r6, 0 -/* 80227E44 81 83 00 00 */ lwz r12, 0(r3) -/* 80227E48 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227E4C 7D 89 03 A6 */ mtctr r12 -/* 80227E50 4E 80 04 21 */ bctrl -/* 80227E54 48 00 05 8C */ b lbl_802283E0 -/* 80227E58 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227E5C FC 20 F8 90 */ fmr f1, f31 -/* 80227E60 FC 40 F0 90 */ fmr f2, f30 -/* 80227E64 FC 60 E8 90 */ fmr f3, f29 -/* 80227E68 FC 80 E0 90 */ fmr f4, f28 -/* 80227E6C 38 80 00 00 */ li r4, 0 -/* 80227E70 38 A0 00 00 */ li r5, 0 -/* 80227E74 38 C0 00 00 */ li r6, 0 -/* 80227E78 81 83 00 00 */ lwz r12, 0(r3) -/* 80227E7C 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227E80 7D 89 03 A6 */ mtctr r12 -/* 80227E84 4E 80 04 21 */ bctrl -/* 80227E88 48 00 05 58 */ b lbl_802283E0 -/* 80227E8C 38 60 00 00 */ li r3, 0 -/* 80227E90 98 61 00 58 */ stb r3, 0x58(r1) -/* 80227E94 98 61 00 59 */ stb r3, 0x59(r1) -/* 80227E98 98 61 00 5A */ stb r3, 0x5a(r1) -/* 80227E9C 38 00 00 FF */ li r0, 0xff -/* 80227EA0 98 01 00 5B */ stb r0, 0x5b(r1) -/* 80227EA4 80 01 00 58 */ lwz r0, 0x58(r1) -/* 80227EA8 90 01 00 5C */ stw r0, 0x5c(r1) -/* 80227EAC 98 61 00 60 */ stb r3, 0x60(r1) -/* 80227EB0 98 61 00 61 */ stb r3, 0x61(r1) -/* 80227EB4 98 61 00 62 */ stb r3, 0x62(r1) -/* 80227EB8 98 61 00 63 */ stb r3, 0x63(r1) -/* 80227EBC 80 01 00 60 */ lwz r0, 0x60(r1) -/* 80227EC0 90 01 00 64 */ stw r0, 0x64(r1) -/* 80227EC4 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227EC8 38 81 00 64 */ addi r4, r1, 0x64 -/* 80227ECC 38 A1 00 5C */ addi r5, r1, 0x5c -/* 80227ED0 81 83 00 00 */ lwz r12, 0(r3) -/* 80227ED4 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227ED8 7D 89 03 A6 */ mtctr r12 -/* 80227EDC 4E 80 04 21 */ bctrl -/* 80227EE0 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227EE4 C0 62 B0 20 */ lfs f3, lit_4986(r2) -/* 80227EE8 EC 23 F8 2A */ fadds f1, f3, f31 -/* 80227EEC C0 02 B0 44 */ lfs f0, lit_4995(r2) -/* 80227EF0 EC 40 F0 2A */ fadds f2, f0, f30 -/* 80227EF4 C0 02 B0 48 */ lfs f0, lit_4996(r2) -/* 80227EF8 EF C2 00 28 */ fsubs f30, f2, f0 -/* 80227EFC EC 43 F0 2A */ fadds f2, f3, f30 -/* 80227F00 FC 60 E8 90 */ fmr f3, f29 -/* 80227F04 C0 02 B0 4C */ lfs f0, lit_4997(r2) -/* 80227F08 EF 80 07 32 */ fmuls f28, f0, f28 -/* 80227F0C FC 80 E0 90 */ fmr f4, f28 -/* 80227F10 38 80 00 00 */ li r4, 0 -/* 80227F14 38 A0 00 00 */ li r5, 0 -/* 80227F18 38 C0 00 00 */ li r6, 0 -/* 80227F1C 81 83 00 00 */ lwz r12, 0(r3) -/* 80227F20 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227F24 7D 89 03 A6 */ mtctr r12 -/* 80227F28 4E 80 04 21 */ bctrl -/* 80227F2C 38 00 00 FF */ li r0, 0xff -/* 80227F30 98 01 00 48 */ stb r0, 0x48(r1) -/* 80227F34 98 01 00 49 */ stb r0, 0x49(r1) -/* 80227F38 98 01 00 4A */ stb r0, 0x4a(r1) -/* 80227F3C 98 01 00 4B */ stb r0, 0x4b(r1) -/* 80227F40 80 01 00 48 */ lwz r0, 0x48(r1) -/* 80227F44 90 01 00 4C */ stw r0, 0x4c(r1) -/* 80227F48 38 00 00 00 */ li r0, 0 -/* 80227F4C 98 01 00 50 */ stb r0, 0x50(r1) -/* 80227F50 98 01 00 51 */ stb r0, 0x51(r1) -/* 80227F54 98 01 00 52 */ stb r0, 0x52(r1) -/* 80227F58 98 01 00 53 */ stb r0, 0x53(r1) -/* 80227F5C 80 01 00 50 */ lwz r0, 0x50(r1) -/* 80227F60 90 01 00 54 */ stw r0, 0x54(r1) -/* 80227F64 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227F68 38 81 00 54 */ addi r4, r1, 0x54 -/* 80227F6C 38 A1 00 4C */ addi r5, r1, 0x4c -/* 80227F70 81 83 00 00 */ lwz r12, 0(r3) -/* 80227F74 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80227F78 7D 89 03 A6 */ mtctr r12 -/* 80227F7C 4E 80 04 21 */ bctrl -/* 80227F80 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227F84 FC 20 F8 90 */ fmr f1, f31 -/* 80227F88 FC 40 F0 90 */ fmr f2, f30 -/* 80227F8C FC 60 E8 90 */ fmr f3, f29 -/* 80227F90 FC 80 E0 90 */ fmr f4, f28 -/* 80227F94 38 80 00 00 */ li r4, 0 -/* 80227F98 38 A0 00 00 */ li r5, 0 -/* 80227F9C 38 C0 00 00 */ li r6, 0 -/* 80227FA0 81 83 00 00 */ lwz r12, 0(r3) -/* 80227FA4 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227FA8 7D 89 03 A6 */ mtctr r12 -/* 80227FAC 4E 80 04 21 */ bctrl -/* 80227FB0 48 00 04 30 */ b lbl_802283E0 -/* 80227FB4 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227FB8 FC 20 F8 90 */ fmr f1, f31 -/* 80227FBC C0 02 B0 44 */ lfs f0, lit_4995(r2) -/* 80227FC0 EC 40 F0 2A */ fadds f2, f0, f30 -/* 80227FC4 C0 02 B0 48 */ lfs f0, lit_4996(r2) -/* 80227FC8 EC 42 00 28 */ fsubs f2, f2, f0 -/* 80227FCC FC 60 E8 90 */ fmr f3, f29 -/* 80227FD0 C0 02 B0 4C */ lfs f0, lit_4997(r2) -/* 80227FD4 EC 80 07 32 */ fmuls f4, f0, f28 -/* 80227FD8 38 80 00 00 */ li r4, 0 -/* 80227FDC 38 A0 00 00 */ li r5, 0 -/* 80227FE0 38 C0 00 00 */ li r6, 0 -/* 80227FE4 81 83 00 00 */ lwz r12, 0(r3) -/* 80227FE8 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80227FEC 7D 89 03 A6 */ mtctr r12 -/* 80227FF0 4E 80 04 21 */ bctrl -/* 80227FF4 48 00 03 EC */ b lbl_802283E0 -/* 80227FF8 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80227FFC FC 20 F8 90 */ fmr f1, f31 -/* 80228000 FC 40 F0 90 */ fmr f2, f30 -/* 80228004 FC 60 E8 90 */ fmr f3, f29 -/* 80228008 FC 80 E0 90 */ fmr f4, f28 -/* 8022800C 38 80 00 00 */ li r4, 0 -/* 80228010 38 A0 00 00 */ li r5, 0 -/* 80228014 38 C0 00 00 */ li r6, 0 -/* 80228018 81 83 00 00 */ lwz r12, 0(r3) -/* 8022801C 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80228020 7D 89 03 A6 */ mtctr r12 -/* 80228024 4E 80 04 21 */ bctrl -/* 80228028 48 00 03 B8 */ b lbl_802283E0 -/* 8022802C 57 05 08 3C */ slwi r5, r24, 1 -/* 80228030 38 C5 01 B4 */ addi r6, r5, 0x1b4 -/* 80228034 7C 9A 32 AE */ lhax r4, r26, r6 -/* 80228038 38 61 01 68 */ addi r3, r1, 0x168 -/* 8022803C 7C 03 2A AE */ lhax r0, r3, r5 -/* 80228040 7C 04 00 00 */ cmpw r4, r0 -/* 80228044 40 82 00 30 */ bne lbl_80228074 -/* 80228048 38 04 00 01 */ addi r0, r4, 1 -/* 8022804C 7C 1A 33 2E */ sthx r0, r26, r6 -/* 80228050 7C 1A 32 AE */ lhax r0, r26, r6 -/* 80228054 2C 00 00 28 */ cmpwi r0, 0x28 -/* 80228058 41 80 00 0C */ blt lbl_80228064 -/* 8022805C 38 00 00 00 */ li r0, 0 -/* 80228060 7C 1A 33 2E */ sthx r0, r26, r6 -lbl_80228064: -/* 80228064 7F 43 D3 78 */ mr r3, r26 -/* 80228068 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 8022806C 7C BA 32 AE */ lhax r5, r26, r6 -/* 80228070 48 00 04 21 */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_80228074: -/* 80228074 38 60 00 00 */ li r3, 0 -/* 80228078 98 61 00 38 */ stb r3, 0x38(r1) -/* 8022807C 98 61 00 39 */ stb r3, 0x39(r1) -/* 80228080 98 61 00 3A */ stb r3, 0x3a(r1) -/* 80228084 38 00 00 FF */ li r0, 0xff -/* 80228088 98 01 00 3B */ stb r0, 0x3b(r1) -/* 8022808C 80 01 00 38 */ lwz r0, 0x38(r1) -/* 80228090 90 01 00 3C */ stw r0, 0x3c(r1) -/* 80228094 98 61 00 40 */ stb r3, 0x40(r1) -/* 80228098 98 61 00 41 */ stb r3, 0x41(r1) -/* 8022809C 98 61 00 42 */ stb r3, 0x42(r1) -/* 802280A0 98 61 00 43 */ stb r3, 0x43(r1) -/* 802280A4 80 01 00 40 */ lwz r0, 0x40(r1) -/* 802280A8 90 01 00 44 */ stw r0, 0x44(r1) -/* 802280AC 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802280B0 38 81 00 44 */ addi r4, r1, 0x44 -/* 802280B4 38 A1 00 3C */ addi r5, r1, 0x3c -/* 802280B8 81 83 00 00 */ lwz r12, 0(r3) -/* 802280BC 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802280C0 7D 89 03 A6 */ mtctr r12 -/* 802280C4 4E 80 04 21 */ bctrl -/* 802280C8 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802280CC C0 02 B0 20 */ lfs f0, lit_4986(r2) -/* 802280D0 EC 20 F8 2A */ fadds f1, f0, f31 -/* 802280D4 EC 40 F0 2A */ fadds f2, f0, f30 -/* 802280D8 FC 60 E8 90 */ fmr f3, f29 -/* 802280DC FC 80 E0 90 */ fmr f4, f28 -/* 802280E0 38 80 00 00 */ li r4, 0 -/* 802280E4 38 A0 00 00 */ li r5, 0 -/* 802280E8 38 C0 00 00 */ li r6, 0 -/* 802280EC 81 83 00 00 */ lwz r12, 0(r3) -/* 802280F0 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802280F4 7D 89 03 A6 */ mtctr r12 -/* 802280F8 4E 80 04 21 */ bctrl -/* 802280FC 38 00 00 FF */ li r0, 0xff -/* 80228100 98 01 00 28 */ stb r0, 0x28(r1) -/* 80228104 98 01 00 29 */ stb r0, 0x29(r1) -/* 80228108 98 01 00 2A */ stb r0, 0x2a(r1) -/* 8022810C 98 01 00 2B */ stb r0, 0x2b(r1) -/* 80228110 80 01 00 28 */ lwz r0, 0x28(r1) -/* 80228114 90 01 00 2C */ stw r0, 0x2c(r1) -/* 80228118 38 00 00 00 */ li r0, 0 -/* 8022811C 98 01 00 30 */ stb r0, 0x30(r1) -/* 80228120 98 01 00 31 */ stb r0, 0x31(r1) -/* 80228124 98 01 00 32 */ stb r0, 0x32(r1) -/* 80228128 98 01 00 33 */ stb r0, 0x33(r1) -/* 8022812C 80 01 00 30 */ lwz r0, 0x30(r1) -/* 80228130 90 01 00 34 */ stw r0, 0x34(r1) -/* 80228134 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80228138 38 81 00 34 */ addi r4, r1, 0x34 -/* 8022813C 38 A1 00 2C */ addi r5, r1, 0x2c -/* 80228140 81 83 00 00 */ lwz r12, 0(r3) -/* 80228144 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80228148 7D 89 03 A6 */ mtctr r12 -/* 8022814C 4E 80 04 21 */ bctrl -/* 80228150 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80228154 FC 20 F8 90 */ fmr f1, f31 -/* 80228158 FC 40 F0 90 */ fmr f2, f30 -/* 8022815C FC 60 E8 90 */ fmr f3, f29 -/* 80228160 FC 80 E0 90 */ fmr f4, f28 -/* 80228164 38 80 00 00 */ li r4, 0 -/* 80228168 38 A0 00 00 */ li r5, 0 -/* 8022816C 38 C0 00 00 */ li r6, 0 -/* 80228170 81 83 00 00 */ lwz r12, 0(r3) -/* 80228174 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 80228178 7D 89 03 A6 */ mtctr r12 -/* 8022817C 4E 80 04 21 */ bctrl -/* 80228180 48 00 02 60 */ b lbl_802283E0 -/* 80228184 57 05 08 3C */ slwi r5, r24, 1 -/* 80228188 38 C5 01 B4 */ addi r6, r5, 0x1b4 -/* 8022818C 7C 9A 32 AE */ lhax r4, r26, r6 -/* 80228190 38 61 01 68 */ addi r3, r1, 0x168 -/* 80228194 7C 03 2A AE */ lhax r0, r3, r5 -/* 80228198 7C 04 00 00 */ cmpw r4, r0 -/* 8022819C 40 82 00 30 */ bne lbl_802281CC -/* 802281A0 38 04 00 01 */ addi r0, r4, 1 -/* 802281A4 7C 1A 33 2E */ sthx r0, r26, r6 -/* 802281A8 7C 1A 32 AE */ lhax r0, r26, r6 -/* 802281AC 2C 00 00 28 */ cmpwi r0, 0x28 -/* 802281B0 41 80 00 0C */ blt lbl_802281BC -/* 802281B4 38 00 00 00 */ li r0, 0 -/* 802281B8 7C 1A 33 2E */ sthx r0, r26, r6 -lbl_802281BC: -/* 802281BC 7F 43 D3 78 */ mr r3, r26 -/* 802281C0 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 802281C4 7C BA 32 AE */ lhax r5, r26, r6 -/* 802281C8 48 00 02 C9 */ bl setBlendAnime__10COutFont_cFP10J2DPictures -lbl_802281CC: -/* 802281CC 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802281D0 FC 20 F8 90 */ fmr f1, f31 -/* 802281D4 FC 40 F0 90 */ fmr f2, f30 -/* 802281D8 FC 60 E8 90 */ fmr f3, f29 -/* 802281DC FC 80 E0 90 */ fmr f4, f28 -/* 802281E0 38 80 00 00 */ li r4, 0 -/* 802281E4 38 A0 00 00 */ li r5, 0 -/* 802281E8 38 C0 00 00 */ li r6, 0 -/* 802281EC 81 83 00 00 */ lwz r12, 0(r3) -/* 802281F0 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802281F4 7D 89 03 A6 */ mtctr r12 -/* 802281F8 4E 80 04 21 */ bctrl -/* 802281FC 48 00 01 E4 */ b lbl_802283E0 -/* 80228200 57 05 08 3C */ slwi r5, r24, 1 -/* 80228204 38 C5 01 B4 */ addi r6, r5, 0x1b4 -/* 80228208 7C 9A 32 AE */ lhax r4, r26, r6 -/* 8022820C 38 61 01 68 */ addi r3, r1, 0x168 -/* 80228210 7C 03 2A AE */ lhax r0, r3, r5 -/* 80228214 7C 04 00 00 */ cmpw r4, r0 -/* 80228218 40 82 00 68 */ bne lbl_80228280 -/* 8022821C 38 04 00 01 */ addi r0, r4, 1 -/* 80228220 7C 1A 33 2E */ sthx r0, r26, r6 -/* 80228224 7C 1A 32 AE */ lhax r0, r26, r6 -/* 80228228 2C 00 00 0A */ cmpwi r0, 0xa -/* 8022822C 41 80 00 0C */ blt lbl_80228238 -/* 80228230 38 00 00 00 */ li r0, 0 -/* 80228234 7C 1A 33 2E */ sthx r0, r26, r6 -lbl_80228238: -/* 80228238 7C 1A 32 AE */ lhax r0, r26, r6 -/* 8022823C 2C 00 00 05 */ cmpwi r0, 5 -/* 80228240 40 80 00 24 */ bge lbl_80228264 -/* 80228244 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80228248 C0 22 B0 14 */ lfs f1, lit_3749(r2) -/* 8022824C C0 42 B0 10 */ lfs f2, lit_3748(r2) -/* 80228250 81 83 00 00 */ lwz r12, 0(r3) -/* 80228254 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80228258 7D 89 03 A6 */ mtctr r12 -/* 8022825C 4E 80 04 21 */ bctrl -/* 80228260 48 00 00 20 */ b lbl_80228280 -lbl_80228264: -/* 80228264 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80228268 C0 22 B0 10 */ lfs f1, lit_3748(r2) -/* 8022826C C0 42 B0 14 */ lfs f2, lit_3749(r2) -/* 80228270 81 83 00 00 */ lwz r12, 0(r3) -/* 80228274 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80228278 7D 89 03 A6 */ mtctr r12 -/* 8022827C 4E 80 04 21 */ bctrl -lbl_80228280: -/* 80228280 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80228284 FC 20 F8 90 */ fmr f1, f31 -/* 80228288 C0 02 B0 44 */ lfs f0, lit_4995(r2) -/* 8022828C EC 40 F0 2A */ fadds f2, f0, f30 -/* 80228290 FC 60 E8 90 */ fmr f3, f29 -/* 80228294 C0 02 B0 4C */ lfs f0, lit_4997(r2) -/* 80228298 EC 80 07 32 */ fmuls f4, f0, f28 -/* 8022829C 38 80 00 00 */ li r4, 0 -/* 802282A0 38 A0 00 00 */ li r5, 0 -/* 802282A4 38 C0 00 00 */ li r6, 0 -/* 802282A8 81 83 00 00 */ lwz r12, 0(r3) -/* 802282AC 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802282B0 7D 89 03 A6 */ mtctr r12 -/* 802282B4 4E 80 04 21 */ bctrl -/* 802282B8 48 00 01 28 */ b lbl_802283E0 -lbl_802282BC: -/* 802282BC 38 61 00 24 */ addi r3, r1, 0x24 -/* 802282C0 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 802282C4 81 84 00 00 */ lwz r12, 0(r4) -/* 802282C8 81 8C 01 34 */ lwz r12, 0x134(r12) -/* 802282CC 7D 89 03 A6 */ mtctr r12 -/* 802282D0 4E 80 04 21 */ bctrl -/* 802282D4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802282D8 90 01 01 5C */ stw r0, 0x15c(r1) -/* 802282DC 38 61 00 20 */ addi r3, r1, 0x20 -/* 802282E0 7C 9A E8 2E */ lwzx r4, r26, r29 -/* 802282E4 81 84 00 00 */ lwz r12, 0(r4) -/* 802282E8 81 8C 01 38 */ lwz r12, 0x138(r12) -/* 802282EC 7D 89 03 A6 */ mtctr r12 -/* 802282F0 4E 80 04 21 */ bctrl -/* 802282F4 80 01 00 20 */ lwz r0, 0x20(r1) -/* 802282F8 90 01 01 58 */ stw r0, 0x158(r1) -/* 802282FC 38 60 00 00 */ li r3, 0 -/* 80228300 98 61 00 10 */ stb r3, 0x10(r1) -/* 80228304 98 61 00 11 */ stb r3, 0x11(r1) -/* 80228308 98 61 00 12 */ stb r3, 0x12(r1) -/* 8022830C 38 00 00 FF */ li r0, 0xff -/* 80228310 98 01 00 13 */ stb r0, 0x13(r1) -/* 80228314 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80228318 90 01 00 14 */ stw r0, 0x14(r1) -/* 8022831C 98 61 00 18 */ stb r3, 0x18(r1) -/* 80228320 98 61 00 19 */ stb r3, 0x19(r1) -/* 80228324 98 61 00 1A */ stb r3, 0x1a(r1) -/* 80228328 98 61 00 1B */ stb r3, 0x1b(r1) -/* 8022832C 80 01 00 18 */ lwz r0, 0x18(r1) -/* 80228330 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80228334 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80228338 38 81 00 1C */ addi r4, r1, 0x1c -/* 8022833C 38 A1 00 14 */ addi r5, r1, 0x14 -/* 80228340 81 83 00 00 */ lwz r12, 0(r3) -/* 80228344 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 80228348 7D 89 03 A6 */ mtctr r12 -/* 8022834C 4E 80 04 21 */ bctrl -/* 80228350 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80228354 C0 02 B0 20 */ lfs f0, lit_4986(r2) -/* 80228358 EC 20 F8 2A */ fadds f1, f0, f31 -/* 8022835C EC 40 F0 2A */ fadds f2, f0, f30 -/* 80228360 FC 60 E8 90 */ fmr f3, f29 -/* 80228364 FC 80 E0 90 */ fmr f4, f28 -/* 80228368 38 80 00 00 */ li r4, 0 -/* 8022836C 38 A0 00 00 */ li r5, 0 -/* 80228370 38 C0 00 00 */ li r6, 0 -/* 80228374 81 83 00 00 */ lwz r12, 0(r3) -/* 80228378 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 8022837C 7D 89 03 A6 */ mtctr r12 -/* 80228380 4E 80 04 21 */ bctrl -/* 80228384 80 01 01 58 */ lwz r0, 0x158(r1) -/* 80228388 90 01 00 08 */ stw r0, 8(r1) -/* 8022838C 80 01 01 5C */ lwz r0, 0x15c(r1) -/* 80228390 90 01 00 0C */ stw r0, 0xc(r1) -/* 80228394 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 80228398 38 81 00 0C */ addi r4, r1, 0xc -/* 8022839C 38 A1 00 08 */ addi r5, r1, 8 -/* 802283A0 81 83 00 00 */ lwz r12, 0(r3) -/* 802283A4 81 8C 01 30 */ lwz r12, 0x130(r12) -/* 802283A8 7D 89 03 A6 */ mtctr r12 -/* 802283AC 4E 80 04 21 */ bctrl -/* 802283B0 7C 7A E8 2E */ lwzx r3, r26, r29 -/* 802283B4 FC 20 F8 90 */ fmr f1, f31 -/* 802283B8 FC 40 F0 90 */ fmr f2, f30 -/* 802283BC FC 60 E8 90 */ fmr f3, f29 -/* 802283C0 FC 80 E0 90 */ fmr f4, f28 -/* 802283C4 38 80 00 00 */ li r4, 0 -/* 802283C8 38 A0 00 00 */ li r5, 0 -/* 802283CC 38 C0 00 00 */ li r6, 0 -/* 802283D0 81 83 00 00 */ lwz r12, 0(r3) -/* 802283D4 81 8C 00 EC */ lwz r12, 0xec(r12) -/* 802283D8 7D 89 03 A6 */ mtctr r12 -/* 802283DC 4E 80 04 21 */ bctrl -lbl_802283E0: -/* 802283E0 3B 9C 00 01 */ addi r28, r28, 1 -/* 802283E4 2C 1C 00 23 */ cmpwi r28, 0x23 -/* 802283E8 3B 39 00 04 */ addi r25, r25, 4 -/* 802283EC 41 80 EA 60 */ blt lbl_80226E4C -/* 802283F0 E3 E1 02 A8 */ psq_l f31, 680(r1), 0, 0 /* qr0 */ -/* 802283F4 CB E1 02 A0 */ lfd f31, 0x2a0(r1) -/* 802283F8 E3 C1 02 98 */ psq_l f30, 664(r1), 0, 0 /* qr0 */ -/* 802283FC CB C1 02 90 */ lfd f30, 0x290(r1) -/* 80228400 E3 A1 02 88 */ psq_l f29, 648(r1), 0, 0 /* qr0 */ -/* 80228404 CB A1 02 80 */ lfd f29, 0x280(r1) -/* 80228408 E3 81 02 78 */ psq_l f28, 632(r1), 0, 0 /* qr0 */ -/* 8022840C CB 81 02 70 */ lfd f28, 0x270(r1) -/* 80228410 E3 61 02 68 */ psq_l f27, 616(r1), 0, 0 /* qr0 */ -/* 80228414 CB 61 02 60 */ lfd f27, 0x260(r1) -/* 80228418 E3 41 02 58 */ psq_l f26, 600(r1), 0, 0 /* qr0 */ -/* 8022841C CB 41 02 50 */ lfd f26, 0x250(r1) -/* 80228420 E3 21 02 48 */ psq_l f25, 584(r1), 0, 0 /* qr0 */ -/* 80228424 CB 21 02 40 */ lfd f25, 0x240(r1) -/* 80228428 E3 01 02 38 */ psq_l f24, 568(r1), 0, 0 /* qr0 */ -/* 8022842C CB 01 02 30 */ lfd f24, 0x230(r1) -/* 80228430 39 61 02 30 */ addi r11, r1, 0x230 -/* 80228434 48 13 9D E1 */ bl _restgpr_24 -/* 80228438 80 01 02 B4 */ lwz r0, 0x2b4(r1) -/* 8022843C 7C 08 03 A6 */ mtlr r0 -/* 80228440 38 21 02 B0 */ addi r1, r1, 0x2b0 -/* 80228444 4E 80 00 20 */ blr diff --git a/asm/d/msg/d_msg_out_font/setBlendAnime__10COutFont_cFP10J2DPictures.s b/asm/d/msg/d_msg_out_font/setBlendAnime__10COutFont_cFP10J2DPictures.s deleted file mode 100644 index f3f4dbb89e..0000000000 --- a/asm/d/msg/d_msg_out_font/setBlendAnime__10COutFont_cFP10J2DPictures.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_80228490: -/* 80228490 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80228494 7C 08 02 A6 */ mflr r0 -/* 80228498 90 01 00 14 */ stw r0, 0x14(r1) -/* 8022849C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802284A0 7C 9F 23 78 */ mr r31, r4 -/* 802284A4 7C A4 07 34 */ extsh r4, r5 -/* 802284A8 38 60 00 14 */ li r3, 0x14 -/* 802284AC 7C 04 1B D6 */ divw r0, r4, r3 -/* 802284B0 7C 00 19 D6 */ mullw r0, r0, r3 -/* 802284B4 7C 80 20 50 */ subf r4, r0, r4 -/* 802284B8 2C 04 00 0A */ cmpwi r4, 0xa -/* 802284BC 40 80 00 34 */ bge lbl_802284F0 -/* 802284C0 38 60 00 0A */ li r3, 0xa -/* 802284C4 38 A0 00 00 */ li r5, 0 -/* 802284C8 4B DF 7C 99 */ bl fopMsgM_valueIncrease__FiiUc -/* 802284CC FC 40 08 90 */ fmr f2, f1 -/* 802284D0 7F E3 FB 78 */ mr r3, r31 -/* 802284D4 C0 02 B0 14 */ lfs f0, lit_3749(r2) -/* 802284D8 EC 20 10 28 */ fsubs f1, f0, f2 -/* 802284DC 81 9F 00 00 */ lwz r12, 0(r31) -/* 802284E0 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 802284E4 7D 89 03 A6 */ mtctr r12 -/* 802284E8 4E 80 04 21 */ bctrl -/* 802284EC 48 00 00 30 */ b lbl_8022851C -lbl_802284F0: -/* 802284F0 38 60 00 0A */ li r3, 0xa -/* 802284F4 38 84 FF F6 */ addi r4, r4, -10 -/* 802284F8 38 A0 00 00 */ li r5, 0 -/* 802284FC 4B DF 7C 65 */ bl fopMsgM_valueIncrease__FiiUc -/* 80228500 7F E3 FB 78 */ mr r3, r31 -/* 80228504 C0 02 B0 14 */ lfs f0, lit_3749(r2) -/* 80228508 EC 40 08 28 */ fsubs f2, f0, f1 -/* 8022850C 81 9F 00 00 */ lwz r12, 0(r31) -/* 80228510 81 8C 01 04 */ lwz r12, 0x104(r12) -/* 80228514 7D 89 03 A6 */ mtctr r12 -/* 80228518 4E 80 04 21 */ bctrl -lbl_8022851C: -/* 8022851C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80228520 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80228524 7C 08 03 A6 */ mtlr r0 -/* 80228528 38 21 00 10 */ addi r1, r1, 0x10 -/* 8022852C 4E 80 00 20 */ blr diff --git a/asm/d/shop/d_shop_system/__sinit_d_shop_system_cpp.s b/asm/d/shop/d_shop_system/__sinit_d_shop_system_cpp.s deleted file mode 100644 index 51fd739d3f..0000000000 --- a/asm/d/shop/d_shop_system/__sinit_d_shop_system_cpp.s +++ /dev/null @@ -1,77 +0,0 @@ -lbl_8019ABB0: -/* 8019ABB0 3C 60 80 3C */ lis r3, cNullVec__6Z2Calc@ha /* 0x803BB898@ha */ -/* 8019ABB4 38 83 B8 98 */ addi r4, r3, cNullVec__6Z2Calc@l /* 0x803BB898@l */ -/* 8019ABB8 80 64 00 4C */ lwz r3, 0x4c(r4) -/* 8019ABBC 80 04 00 50 */ lwz r0, 0x50(r4) -/* 8019ABC0 90 64 00 DC */ stw r3, 0xdc(r4) -/* 8019ABC4 90 04 00 E0 */ stw r0, 0xe0(r4) -/* 8019ABC8 80 04 00 54 */ lwz r0, 0x54(r4) -/* 8019ABCC 90 04 00 E4 */ stw r0, 0xe4(r4) -/* 8019ABD0 38 64 00 DC */ addi r3, r4, 0xdc -/* 8019ABD4 80 A4 00 58 */ lwz r5, 0x58(r4) -/* 8019ABD8 80 04 00 5C */ lwz r0, 0x5c(r4) -/* 8019ABDC 90 A3 00 0C */ stw r5, 0xc(r3) -/* 8019ABE0 90 03 00 10 */ stw r0, 0x10(r3) -/* 8019ABE4 80 04 00 60 */ lwz r0, 0x60(r4) -/* 8019ABE8 90 03 00 14 */ stw r0, 0x14(r3) -/* 8019ABEC 80 A4 00 64 */ lwz r5, 0x64(r4) -/* 8019ABF0 80 04 00 68 */ lwz r0, 0x68(r4) -/* 8019ABF4 90 A3 00 18 */ stw r5, 0x18(r3) -/* 8019ABF8 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8019ABFC 80 04 00 6C */ lwz r0, 0x6c(r4) -/* 8019AC00 90 03 00 20 */ stw r0, 0x20(r3) -/* 8019AC04 80 A4 00 70 */ lwz r5, 0x70(r4) -/* 8019AC08 80 04 00 74 */ lwz r0, 0x74(r4) -/* 8019AC0C 90 A3 00 24 */ stw r5, 0x24(r3) -/* 8019AC10 90 03 00 28 */ stw r0, 0x28(r3) -/* 8019AC14 80 04 00 78 */ lwz r0, 0x78(r4) -/* 8019AC18 90 03 00 2C */ stw r0, 0x2c(r3) -/* 8019AC1C 80 A4 00 7C */ lwz r5, 0x7c(r4) -/* 8019AC20 80 04 00 80 */ lwz r0, 0x80(r4) -/* 8019AC24 90 A3 00 30 */ stw r5, 0x30(r3) -/* 8019AC28 90 03 00 34 */ stw r0, 0x34(r3) -/* 8019AC2C 80 04 00 84 */ lwz r0, 0x84(r4) -/* 8019AC30 90 03 00 38 */ stw r0, 0x38(r3) -/* 8019AC34 80 A4 00 88 */ lwz r5, 0x88(r4) -/* 8019AC38 80 04 00 8C */ lwz r0, 0x8c(r4) -/* 8019AC3C 90 A3 00 3C */ stw r5, 0x3c(r3) -/* 8019AC40 90 03 00 40 */ stw r0, 0x40(r3) -/* 8019AC44 80 04 00 90 */ lwz r0, 0x90(r4) -/* 8019AC48 90 03 00 44 */ stw r0, 0x44(r3) -/* 8019AC4C 80 A4 00 94 */ lwz r5, 0x94(r4) -/* 8019AC50 80 04 00 98 */ lwz r0, 0x98(r4) -/* 8019AC54 90 A3 00 48 */ stw r5, 0x48(r3) -/* 8019AC58 90 03 00 4C */ stw r0, 0x4c(r3) -/* 8019AC5C 80 04 00 9C */ lwz r0, 0x9c(r4) -/* 8019AC60 90 03 00 50 */ stw r0, 0x50(r3) -/* 8019AC64 80 A4 00 A0 */ lwz r5, 0xa0(r4) -/* 8019AC68 80 04 00 A4 */ lwz r0, 0xa4(r4) -/* 8019AC6C 90 A3 00 54 */ stw r5, 0x54(r3) -/* 8019AC70 90 03 00 58 */ stw r0, 0x58(r3) -/* 8019AC74 80 04 00 A8 */ lwz r0, 0xa8(r4) -/* 8019AC78 90 03 00 5C */ stw r0, 0x5c(r3) -/* 8019AC7C 80 A4 00 AC */ lwz r5, 0xac(r4) -/* 8019AC80 80 04 00 B0 */ lwz r0, 0xb0(r4) -/* 8019AC84 90 A3 00 60 */ stw r5, 0x60(r3) -/* 8019AC88 90 03 00 64 */ stw r0, 0x64(r3) -/* 8019AC8C 80 04 00 B4 */ lwz r0, 0xb4(r4) -/* 8019AC90 90 03 00 68 */ stw r0, 0x68(r3) -/* 8019AC94 80 A4 00 B8 */ lwz r5, 0xb8(r4) -/* 8019AC98 80 04 00 BC */ lwz r0, 0xbc(r4) -/* 8019AC9C 90 A3 00 6C */ stw r5, 0x6c(r3) -/* 8019ACA0 90 03 00 70 */ stw r0, 0x70(r3) -/* 8019ACA4 80 04 00 C0 */ lwz r0, 0xc0(r4) -/* 8019ACA8 90 03 00 74 */ stw r0, 0x74(r3) -/* 8019ACAC 80 A4 00 C4 */ lwz r5, 0xc4(r4) -/* 8019ACB0 80 04 00 C8 */ lwz r0, 0xc8(r4) -/* 8019ACB4 90 A3 00 78 */ stw r5, 0x78(r3) -/* 8019ACB8 90 03 00 7C */ stw r0, 0x7c(r3) -/* 8019ACBC 80 04 00 CC */ lwz r0, 0xcc(r4) -/* 8019ACC0 90 03 00 80 */ stw r0, 0x80(r3) -/* 8019ACC4 80 A4 00 D0 */ lwz r5, 0xd0(r4) -/* 8019ACC8 80 04 00 D4 */ lwz r0, 0xd4(r4) -/* 8019ACCC 90 A3 00 84 */ stw r5, 0x84(r3) -/* 8019ACD0 90 03 00 88 */ stw r0, 0x88(r3) -/* 8019ACD4 80 04 00 D8 */ lwz r0, 0xd8(r4) -/* 8019ACD8 90 03 00 8C */ stw r0, 0x8c(r3) -/* 8019ACDC 4E 80 00 20 */ blr diff --git a/asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s b/asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s deleted file mode 100644 index c8ee5894c7..0000000000 --- a/asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s +++ /dev/null @@ -1,193 +0,0 @@ -lbl_8001C5B0: -/* 8001C5B0 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8001C5B4 7C 08 02 A6 */ mflr r0 -/* 8001C5B8 90 01 00 54 */ stw r0, 0x54(r1) -/* 8001C5BC 39 61 00 50 */ addi r11, r1, 0x50 -/* 8001C5C0 48 34 5B FD */ bl _savegpr_21 -/* 8001C5C4 7C 76 1B 78 */ mr r22, r3 -/* 8001C5C8 7C 9E 23 78 */ mr r30, r4 -/* 8001C5CC 7C B7 2B 78 */ mr r23, r5 -/* 8001C5D0 7C D8 33 78 */ mr r24, r6 -/* 8001C5D4 7C F9 3B 78 */ mr r25, r7 -/* 8001C5D8 7D 1A 43 78 */ mr r26, r8 -/* 8001C5DC 7D 3B 4B 78 */ mr r27, r9 -/* 8001C5E0 7D 5D 53 78 */ mr r29, r10 -/* 8001C5E4 82 A1 00 58 */ lwz r21, 0x58(r1) -/* 8001C5E8 83 81 00 5C */ lwz r28, 0x5c(r1) -/* 8001C5EC 2C 1E 00 FF */ cmpwi r30, 0xff -/* 8001C5F0 40 82 00 0C */ bne lbl_8001C5FC -/* 8001C5F4 38 60 00 00 */ li r3, 0 -/* 8001C5F8 48 00 02 60 */ b lbl_8001C858 -lbl_8001C5FC: -/* 8001C5FC 7F C3 F3 78 */ mr r3, r30 -/* 8001C600 48 07 F1 C5 */ bl check_itemno__Fi -/* 8001C604 56 A4 C1 0E */ rlwinm r4, r21, 0x18, 4, 7 -/* 8001C608 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 8001C60C 53 A3 44 2E */ rlwimi r3, r29, 8, 0x10, 0x17 -/* 8001C610 64 60 00 FF */ oris r0, r3, 0xff -/* 8001C614 7C 9D 03 78 */ or r29, r4, r0 -/* 8001C618 28 1A 00 00 */ cmplwi r26, 0 -/* 8001C61C 41 82 00 24 */ beq lbl_8001C640 -/* 8001C620 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 8001C624 48 07 F1 59 */ bl isHeart__FUc -/* 8001C628 2C 03 00 00 */ cmpwi r3, 0 -/* 8001C62C 41 82 00 14 */ beq lbl_8001C640 -/* 8001C630 C0 22 82 30 */ lfs f1, lit_5808(r2) -/* 8001C634 C0 1A 00 00 */ lfs f0, 0(r26) -/* 8001C638 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8001C63C D0 1A 00 00 */ stfs f0, 0(r26) -lbl_8001C640: -/* 8001C640 2C 1E 00 20 */ cmpwi r30, 0x20 -/* 8001C644 41 82 01 78 */ beq lbl_8001C7BC -/* 8001C648 40 80 00 14 */ bge lbl_8001C65C -/* 8001C64C 2C 1E 00 1E */ cmpwi r30, 0x1e -/* 8001C650 41 82 00 18 */ beq lbl_8001C668 -/* 8001C654 40 80 00 74 */ bge lbl_8001C6C8 -/* 8001C658 48 00 01 64 */ b lbl_8001C7BC -lbl_8001C65C: -/* 8001C65C 2C 1E 00 23 */ cmpwi r30, 0x23 -/* 8001C660 40 80 01 5C */ bge lbl_8001C7BC -/* 8001C664 48 00 00 34 */ b lbl_8001C698 -lbl_8001C668: -/* 8001C668 38 00 00 00 */ li r0, 0 -/* 8001C66C 90 01 00 08 */ stw r0, 8(r1) -/* 8001C670 38 60 01 3F */ li r3, 0x13f -/* 8001C674 38 80 FF FF */ li r4, -1 -/* 8001C678 7E C5 B3 78 */ mr r5, r22 -/* 8001C67C 7E E6 BB 78 */ mr r6, r23 -/* 8001C680 7F 07 C3 78 */ mr r7, r24 -/* 8001C684 7F 28 CB 78 */ mr r8, r25 -/* 8001C688 39 20 FF FF */ li r9, -1 -/* 8001C68C 39 40 00 00 */ li r10, 0 -/* 8001C690 4B FF D7 75 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001C694 48 00 01 C4 */ b lbl_8001C858 -lbl_8001C698: -/* 8001C698 38 00 00 00 */ li r0, 0 -/* 8001C69C 90 01 00 08 */ stw r0, 8(r1) -/* 8001C6A0 38 60 02 1B */ li r3, 0x21b -/* 8001C6A4 7F A4 EB 78 */ mr r4, r29 -/* 8001C6A8 7E C5 B3 78 */ mr r5, r22 -/* 8001C6AC 7E E6 BB 78 */ mr r6, r23 -/* 8001C6B0 7F 07 C3 78 */ mr r7, r24 -/* 8001C6B4 7F 28 CB 78 */ mr r8, r25 -/* 8001C6B8 39 20 FF FF */ li r9, -1 -/* 8001C6BC 39 40 00 00 */ li r10, 0 -/* 8001C6C0 4B FF D7 45 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001C6C4 48 00 01 94 */ b lbl_8001C858 -lbl_8001C6C8: -/* 8001C6C8 3B C0 00 00 */ li r30, 0 -/* 8001C6CC 3B ED 8B E0 */ la r31, Zero__5csXyz(r13) /* 80451160-_SDA_BASE_ */ -lbl_8001C6D0: -/* 8001C6D0 28 18 00 00 */ cmplwi r24, 0 -/* 8001C6D4 41 82 00 20 */ beq lbl_8001C6F4 -/* 8001C6D8 A8 18 00 00 */ lha r0, 0(r24) -/* 8001C6DC B0 01 00 10 */ sth r0, 0x10(r1) -/* 8001C6E0 A8 18 00 02 */ lha r0, 2(r24) -/* 8001C6E4 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8001C6E8 A8 18 00 04 */ lha r0, 4(r24) -/* 8001C6EC B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001C6F0 48 00 00 1C */ b lbl_8001C70C -lbl_8001C6F4: -/* 8001C6F4 A8 0D 8B E0 */ lha r0, Zero__5csXyz(r13) -/* 8001C6F8 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8001C6FC A8 1F 00 02 */ lha r0, 2(r31) -/* 8001C700 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8001C704 A8 1F 00 04 */ lha r0, 4(r31) -/* 8001C708 B0 01 00 14 */ sth r0, 0x14(r1) -lbl_8001C70C: -/* 8001C70C 38 00 00 FF */ li r0, 0xff -/* 8001C710 B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001C714 C0 22 82 34 */ lfs f1, lit_5809(r2) -/* 8001C718 48 24 B2 75 */ bl cM_rndFX__Ff -/* 8001C71C FC 00 08 1E */ fctiwz f0, f1 -/* 8001C720 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8001C724 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 8001C728 A8 01 00 12 */ lha r0, 0x12(r1) -/* 8001C72C 7C 00 1A 14 */ add r0, r0, r3 -/* 8001C730 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8001C734 38 00 00 00 */ li r0, 0 -/* 8001C738 90 01 00 08 */ stw r0, 8(r1) -/* 8001C73C 38 60 02 18 */ li r3, 0x218 -/* 8001C740 7F A4 EB 78 */ mr r4, r29 -/* 8001C744 7E C5 B3 78 */ mr r5, r22 -/* 8001C748 7E E6 BB 78 */ mr r6, r23 -/* 8001C74C 38 E1 00 10 */ addi r7, r1, 0x10 -/* 8001C750 7F 28 CB 78 */ mr r8, r25 -/* 8001C754 39 20 FF FF */ li r9, -1 -/* 8001C758 7F 8A E3 78 */ mr r10, r28 -/* 8001C75C 4B FF D6 A9 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001C760 7C 75 1B 79 */ or. r21, r3, r3 -/* 8001C764 41 82 00 4C */ beq lbl_8001C7B0 -/* 8001C768 28 1A 00 00 */ cmplwi r26, 0 -/* 8001C76C 41 82 00 20 */ beq lbl_8001C78C -/* 8001C770 C0 22 82 3C */ lfs f1, lit_5811(r2) -/* 8001C774 48 24 B2 19 */ bl cM_rndFX__Ff -/* 8001C778 C0 02 82 38 */ lfs f0, lit_5810(r2) -/* 8001C77C EC 20 08 2A */ fadds f1, f0, f1 -/* 8001C780 C0 1A 00 00 */ lfs f0, 0(r26) -/* 8001C784 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8001C788 D0 15 05 2C */ stfs f0, 0x52c(r21) -lbl_8001C78C: -/* 8001C78C 28 1B 00 00 */ cmplwi r27, 0 -/* 8001C790 41 82 00 20 */ beq lbl_8001C7B0 -/* 8001C794 C0 22 82 40 */ lfs f1, lit_5812(r2) -/* 8001C798 48 24 B1 F5 */ bl cM_rndFX__Ff -/* 8001C79C C0 02 82 38 */ lfs f0, lit_5810(r2) -/* 8001C7A0 EC 20 08 2A */ fadds f1, f0, f1 -/* 8001C7A4 C0 1B 00 00 */ lfs f0, 0(r27) -/* 8001C7A8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8001C7AC D0 15 04 FC */ stfs f0, 0x4fc(r21) -lbl_8001C7B0: -/* 8001C7B0 3B DE 00 01 */ addi r30, r30, 1 -/* 8001C7B4 2C 1E 00 02 */ cmpwi r30, 2 -/* 8001C7B8 41 80 FF 18 */ blt lbl_8001C6D0 -lbl_8001C7BC: -/* 8001C7BC 28 18 00 00 */ cmplwi r24, 0 -/* 8001C7C0 41 82 00 20 */ beq lbl_8001C7E0 -/* 8001C7C4 A8 18 00 00 */ lha r0, 0(r24) -/* 8001C7C8 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8001C7CC A8 18 00 02 */ lha r0, 2(r24) -/* 8001C7D0 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8001C7D4 A8 18 00 04 */ lha r0, 4(r24) -/* 8001C7D8 B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001C7DC 48 00 00 20 */ b lbl_8001C7FC -lbl_8001C7E0: -/* 8001C7E0 A8 0D 8B E0 */ lha r0, Zero__5csXyz(r13) -/* 8001C7E4 B0 01 00 10 */ sth r0, 0x10(r1) -/* 8001C7E8 38 6D 8B E0 */ la r3, Zero__5csXyz(r13) /* 80451160-_SDA_BASE_ */ -/* 8001C7EC A8 03 00 02 */ lha r0, 2(r3) -/* 8001C7F0 B0 01 00 12 */ sth r0, 0x12(r1) -/* 8001C7F4 A8 03 00 04 */ lha r0, 4(r3) -/* 8001C7F8 B0 01 00 14 */ sth r0, 0x14(r1) -lbl_8001C7FC: -/* 8001C7FC 38 00 00 FF */ li r0, 0xff -/* 8001C800 B0 01 00 14 */ sth r0, 0x14(r1) -/* 8001C804 38 00 00 00 */ li r0, 0 -/* 8001C808 90 01 00 08 */ stw r0, 8(r1) -/* 8001C80C 38 60 02 18 */ li r3, 0x218 -/* 8001C810 7F A4 EB 78 */ mr r4, r29 -/* 8001C814 7E C5 B3 78 */ mr r5, r22 -/* 8001C818 7E E6 BB 78 */ mr r6, r23 -/* 8001C81C 38 E1 00 10 */ addi r7, r1, 0x10 -/* 8001C820 7F 28 CB 78 */ mr r8, r25 -/* 8001C824 39 20 FF FF */ li r9, -1 -/* 8001C828 7F 8A E3 78 */ mr r10, r28 -/* 8001C82C 4B FF D5 D9 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv -/* 8001C830 28 03 00 00 */ cmplwi r3, 0 -/* 8001C834 41 82 00 24 */ beq lbl_8001C858 -/* 8001C838 28 1A 00 00 */ cmplwi r26, 0 -/* 8001C83C 41 82 00 0C */ beq lbl_8001C848 -/* 8001C840 C0 1A 00 00 */ lfs f0, 0(r26) -/* 8001C844 D0 03 05 2C */ stfs f0, 0x52c(r3) -lbl_8001C848: -/* 8001C848 28 1B 00 00 */ cmplwi r27, 0 -/* 8001C84C 41 82 00 0C */ beq lbl_8001C858 -/* 8001C850 C0 1B 00 00 */ lfs f0, 0(r27) -/* 8001C854 D0 03 04 FC */ stfs f0, 0x4fc(r3) -lbl_8001C858: -/* 8001C858 39 61 00 50 */ addi r11, r1, 0x50 -/* 8001C85C 48 34 59 AD */ bl _restgpr_21 -/* 8001C860 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8001C864 7C 08 03 A6 */ mtlr r0 -/* 8001C868 38 21 00 50 */ addi r1, r1, 0x50 -/* 8001C86C 4E 80 00 20 */ blr diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 08d73420da..41ba148b0e 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -2971,18 +2971,18 @@ public: /* 80140888 */ void statusWindowExecute(cXyz const*, s16); /* 80140984 */ void statusWindowDraw(); /* 80140AC8 */ void resetStatusWindow(); - /* 8018280C */ void getChainGrabActor(); - /* 80182814 */ void checkCokkoGlide() const; - /* 8018283C */ void checkCameraLargeDamage() const; - /* 80182870 */ void getHsSubChainTopPos() const; - /* 80182888 */ void checkCutHeadProc() const; - /* 8018289C */ void getRideActor(); + /* 8018280C */ fopAc_ac_c* getChainGrabActor() { return field_0x2844.getActor(); } + /* 80182814 */ BOOL checkCokkoGlide() const { return mProcID == PROC_AUTO_JUMP && mProcVar2.field_0x300c != 0; } + /* 8018283C */ BOOL checkCameraLargeDamage() const { return mProcID == PROC_LARGE_DAMAGE || mProcID == PROC_LARGE_DAMAGE_WALL || mProcID == PROC_LARGE_DAMAGE_UP || mProcID == PROC_WOLF_LARGE_DAMAGE_UP; } + /* 80182870 */ const cXyz& getHsSubChainTopPos() const { return mIronBallBgChkPos; } + /* 80182888 */ BOOL checkCutHeadProc() const { return mProcID == PROC_CUT_HEAD; } + /* 8018289C */ fopAc_ac_c* getRideActor() { return mRideAcKeep.getActor(); } virtual cXyz* getMidnaAtnPos() const; virtual void setMidnaMsgNum(fopAc_ac_c*, u16); virtual MtxP getModelMtx(); virtual MtxP getInvMtx(); - virtual cXyz* getShadowTalkAtnPos(); + virtual cXyz* getShadowTalkAtnPos() { return &field_0x375c; } virtual f32 getGroundY(); virtual MtxP getLeftItemMatrix(); virtual MtxP getRightItemMatrix(); diff --git a/include/d/a/d_a_item_static.h b/include/d/a/d_a_item_static.h index 5b1c508483..2cf89231dd 100644 --- a/include/d/a/d_a_item_static.h +++ b/include/d/a/d_a_item_static.h @@ -19,7 +19,7 @@ public: /* 8015B3D8 */ void CreateInit(); /* 8015B7BC */ void setCullInfo(); /* 8015B7D4 */ int _daItem_create(); - /* 8015BA9C */ void _daItem_execute(); + /* 8015BA9C */ int _daItem_execute(); /* 8015BD84 */ int _daItem_draw(); /* 8015BDE8 */ int _daItem_delete(); /* 8015BE60 */ void procInitNormal(); @@ -109,8 +109,11 @@ public: bool checkFlag(u8 flag) { return cLib_checkBit(mFlag, flag); } void clrFlag(u8 flag) { cLib_offBit(mFlag, flag); } +#ifdef NONMATCHING + static procFunc mFuncPtr[9]; +#else static u8 mFuncPtr[120]; - //static procFunc mFuncPtr[9]; +#endif static dCcD_SrcCyl m_cyl_src; static s32 m_timer_max; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index f453b76aac..c3511a4a69 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -540,25 +540,17 @@ public: void cancelOriginalDemo(); void changeOriginalDemo(); cXyz getHeadTopPos() const; - /* 801829E0 */ void checkThrowDamage() const; - /* 80182A10 */ void checkGoronSideMove() const; - /* 80182AAC */ void getRightFootPosP(); - /* 80182AB4 */ void getLeftFootPosP(); - /* 80182ABC */ // u32 getMidnaActor(); - /* 80182AC4 */ void checkCopyRodThrowAfter() const; - /* 80182AD8 */ void checkRide() const; - /* 80182B9C */ void getRightHandPos() const; - /* 8015DFD8 */ const cXyz getItemPos() const; - /* 8015DFF4 */ const cXyz& getLeftHandPos() const; + /* 801829E0 */ BOOL checkThrowDamage() const { return i_checkNoResetFlg1(FLG1_THROW_DAMAGE); } + /* 80182A10 */ BOOL checkGoronSideMove() const { return mSpecialMode == 0x2B; } + /* 80182AAC */ cXyz* getRightFootPosP() { return &mRightFootPos; } + /* 80182AB4 */ cXyz* getLeftFootPosP() { return &mLeftFootPos; } + /* 80182AC4 */ BOOL checkCopyRodThrowAfter() const { return i_checkNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); } + /* 80182AD8 */ BOOL checkRide() const { return checkHorseRide() || checkBoarRide() || checkSpinnerRide() || checkCanoeRide() || checkBoardRide(); } + /* 80182B9C */ const cXyz& getRightHandPos() const { return mRightHandPos; } + /* 8015DFD8 */ const cXyz* getItemPos() const { return &mItemPos; } + /* 8015DFF4 */ const cXyz* getLeftHandPos() const { return &mLeftHandPos; } /* 800977B4 */ bool checkMidnaRide() const; - /* const cXyz* getItemPos() const { - return &mItemPos; - } - const cXyz* getLeftHandPos() const { - return &mLeftHandPos; - } */ - virtual cXyz* getMidnaAtnPos() const; virtual void setMidnaMsgNum(fopAc_ac_c*, u16); virtual MtxP getModelMtx(); @@ -574,9 +566,9 @@ public: virtual MtxP getWolfBackbone2Matrix(); virtual MtxP getBottleMtx(); virtual BOOL checkPlayerGuard() const; - virtual u32 checkPlayerFly() const; - virtual BOOL checkFrontRoll() const; - virtual BOOL checkWolfDash() const; + virtual u32 checkPlayerFly() const { return 0; } + virtual BOOL checkFrontRoll() const { return false; } + virtual BOOL checkWolfDash() const { return false; } virtual BOOL checkAutoJump() const; virtual bool checkSideStep() const; virtual bool checkWolfTriggerJump() const; @@ -618,9 +610,9 @@ public: virtual void setAnimeFrame(f32); virtual bool checkWolfLock(fopAc_ac_c*) const; virtual bool cancelWolfLock(fopAc_ac_c*); - virtual s32 getAtnActorID() const; + virtual s32 getAtnActorID() const { return -1; } virtual s32 getItemID() const; - virtual s32 getGrabActorID() const; + virtual s32 getGrabActorID() const { return -1; } virtual bool exchangeGrabActor(fopAc_ac_c*); virtual bool setForceGrab(fopAc_ac_c*, int, int); virtual void setForcePutPos(cXyz const&); @@ -632,11 +624,11 @@ public: virtual void setOutPower(f32, short, int); virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*); virtual void onMagneGrab(f32, f32); - virtual void onFrollCrashFlg(u8, int); + virtual void onFrollCrashFlg(u8, int) {} virtual MtxP getModelJointMtx(u16); virtual MtxP getHeadMtx(); virtual bool setHookshotCarryOffset(unsigned int, cXyz const*); - virtual BOOL checkCutJumpCancelTurn() const; + virtual BOOL checkCutJumpCancelTurn() const { return FALSE; } virtual bool checkIronBallReturn() const; virtual bool checkIronBallGroundStop() const; virtual BOOL checkSingleBoarBattleSecondBowReady() const; @@ -655,11 +647,11 @@ public: virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*); virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*); virtual void onSceneChangeDead(u8, int); - virtual u32 checkHorseRide() const; - virtual u32 checkBoarRide() const; - virtual u32 checkCanoeRide() const; - virtual u32 checkBoardRide() const; - virtual u32 checkSpinnerRide() const; + virtual u32 checkHorseRide() const { return false; } + virtual u32 checkBoarRide() const { return 0; } + virtual u32 checkCanoeRide() const { return 0; } + virtual u32 checkBoardRide() const { return 0; } + virtual u32 checkSpinnerRide() const { return 0; } virtual fopAc_ac_c* getSpinnerActor(); virtual BOOL checkHorseRideNotReady() const; virtual bool checkArrowChargeEnd() const; diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 2848f26ea5..27d6f06136 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -72,9 +72,9 @@ public: /* 8002F3B4 */ int load(char const**, JKRHeap*); private: - /* 0x0 */ const char** field_0x0; - /* 0x4 */ request_of_phase_process_class field_0x4; - /* 0xC */ u8 field_0xc; + /* 0x0 */ const char** mResNameTable; + /* 0x4 */ request_of_phase_process_class mPhase; + /* 0xC */ u8 mLoadIndex; }; enum PlayerPtr { LINK_PTR, HORSE_PTR }; @@ -1840,6 +1840,18 @@ inline void dComIfGs_offPlayerFieldLastStayFieldDataExistFlag() { g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().offFieldDataExistFlag(); } +inline void dComIfGs_onPlayerFieldLastStayFieldDataExistFlag() { + g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().onFieldDataExistFlag(); +} + +inline cXyz& dComIfGs_getPlayerFieldLastStayPos() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().getPos(); +} + +inline u8 dComIfGs_getPlayerFieldLastStayRegionNo() { + return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().getRegionNo(); +} + void dComIfGp_setSelectItem(int index); s32 dComIfGp_offHeapLockFlag(int flag); void dComIfGp_createSubExpHeap2D(); diff --git a/include/d/d_item.h b/include/d/d_item.h index 3984a02f6b..fc8a203535 100644 --- a/include/d/d_item.h +++ b/include/d/d_item.h @@ -3,6 +3,13 @@ #include "dolphin/types.h" +class dEnemyItem_c { +public: + static void setItemData(u8* data) { mData = data; } + + static u8* mData; +}; + void execItemGet(u8 item_id); void item_func_HEART(); @@ -194,199 +201,199 @@ void item_func_LV2_BOSS_KEY(); void item_func_KEY_OF_FILONE(); void item_func_noentry(); -s32 item_getcheck_func_HEART(); -s32 item_getcheck_func_GREEN_RUPEE(); -s32 item_getcheck_func_BLUE_RUPEE(); -s32 item_getcheck_func_YELLOW_RUPEE(); -s32 item_getcheck_func_RED_RUPEE(); -s32 item_getcheck_func_PURPLE_RUPEE(); -s32 item_getcheck_func_ORANGE_RUPEE(); -s32 item_getcheck_func_SILVER_RUPEE(); -s32 item_getcheck_func_S_MAGIC(); -s32 item_getcheck_func_L_MAGIC(); -s32 item_getcheck_func_BOMB_5(); -s32 item_getcheck_func_BOMB_10(); -s32 item_getcheck_func_BOMB_20(); -s32 item_getcheck_func_BOMB_30(); -s32 item_getcheck_func_ARROW_10(); -s32 item_getcheck_func_ARROW_20(); -s32 item_getcheck_func_ARROW_30(); -s32 item_getcheck_func_ARROW_1(); -s32 item_getcheck_func_PACHINKO_SHOT(); -s32 item_getcheck_func_WATER_BOMB_5(); -s32 item_getcheck_func_WATER_BOMB_10(); -s32 item_getcheck_func_WATER_BOMB_20(); -s32 item_getcheck_func_WATER_BOMB_30(); -s32 item_getcheck_func_BOMB_INSECT_5(); -s32 item_getcheck_func_BOMB_INSECT_10(); -s32 item_getcheck_func_BOMB_INSECT_20(); -s32 item_getcheck_func_BOMB_INSECT_30(); -s32 item_getcheck_func_RECOVER_FAILY(); -s32 item_getcheck_func_TRIPLE_HEART(); -s32 item_getcheck_func_SMALL_KEY(); -s32 item_getcheck_func_KAKERA_HEART(); -s32 item_getcheck_func_UTUWA_HEART(); -s32 item_getcheck_func_MAP(); -s32 item_getcheck_func_COMPUS(); -s32 item_getcheck_func_DUNGEON_EXIT(); -s32 item_getcheck_func_BOSS_KEY(); -s32 item_getcheck_func_DUNGEON_BACK(); -s32 item_getcheck_func_SWORD(); -s32 item_getcheck_func_MASTER_SWORD(); -s32 item_getcheck_func_WOOD_SHIELD(); -s32 item_getcheck_func_SHIELD(); -s32 item_getcheck_func_HYLIA_SHIELD(); -s32 item_getcheck_func_TKS_LETTER(); -s32 item_getcheck_func_WEAR_CASUAL(); -s32 item_getcheck_func_WEAR_KOKIRI(); -s32 item_getcheck_func_ARMOR(); -s32 item_getcheck_func_WEAR_ZORA(); -s32 item_getcheck_func_MAGIC_LV1(); -s32 item_getcheck_func_DUNGEON_EXIT_2(); -s32 item_getcheck_func_WALLET_LV1(); -s32 item_getcheck_func_WALLET_LV2(); -s32 item_getcheck_func_WALLET_LV3(); -s32 item_getcheck_func_ZORAS_JEWEL(); -s32 item_getcheck_func_HAWK_EYE(); -s32 item_getcheck_func_WOOD_STICK(); -s32 item_getcheck_func_BOOMERANG(); -s32 item_getcheck_func_SPINNER(); -s32 item_getcheck_func_IRONBALL(); -s32 item_getcheck_func_BOW(); -s32 item_getcheck_func_HOOKSHOT(); -s32 item_getcheck_func_HVY_BOOTS(); -s32 item_getcheck_func_COPY_ROD(); -s32 item_getcheck_func_W_HOOKSHOT(); -s32 item_getcheck_func_KANTERA(); -s32 item_getcheck_func_LIGHT_SWORD(); -s32 item_getcheck_func_FISHING_ROD_1(); -s32 item_getcheck_func_PACHINKO(); -s32 item_getcheck_func_COPY_ROD_2(); -s32 item_getcheck_func_BOMB_BAG_LV2(); -s32 item_getcheck_func_BOMB_BAG_LV1(); -s32 item_getcheck_func_BOMB_IN_BAG(); -s32 item_getcheck_func_LIGHT_ARROW(); -s32 item_getcheck_func_ARROW_LV1(); -s32 item_getcheck_func_ARROW_LV2(); -s32 item_getcheck_func_ARROW_LV3(); -s32 item_getcheck_func_LURE_ROD(); -s32 item_getcheck_func_BOMB_ARROW(); -s32 item_getcheck_func_HAWK_ARROW(); -s32 item_getcheck_func_BEE_ROD(); -s32 item_getcheck_func_JEWEL_ROD(); -s32 item_getcheck_func_WORM_ROD(); -s32 item_getcheck_func_JEWEL_BEE_ROD(); -s32 item_getcheck_func_JEWEL_WORM_ROD(); -s32 item_getcheck_func_EMPTY_BOTTLE(); -s32 item_getcheck_func_RED_BOTTLE(); -s32 item_getcheck_func_GREEN_BOTTLE(); -s32 item_getcheck_func_BLUE_BOTTLE(); -s32 item_getcheck_func_MILK_BOTTLE(); -s32 item_getcheck_func_HALF_MILK_BOTTLE(); -s32 item_getcheck_func_OIL_BOTTLE(); -s32 item_getcheck_func_WATER_BOTTLE(); -s32 item_getcheck_func_OIL_BOTTLE2(); -s32 item_getcheck_func_RED_BOTTLE2(); -s32 item_getcheck_func_UGLY_SOUP(); -s32 item_getcheck_func_HOT_SPRING(); -s32 item_getcheck_func_FAIRY_BOTTLE(); -s32 item_getcheck_func_HOT_SPRING2(); -s32 item_getcheck_func_OIL2(); -s32 item_getcheck_func_OIL(); -s32 item_getcheck_func_NORMAL_BOMB(); -s32 item_getcheck_func_WATER_BOMB(); -s32 item_getcheck_func_POKE_BOMB(); -s32 item_getcheck_func_FAIRY_DROP(); -s32 item_getcheck_func_WORM(); -s32 item_getcheck_func_DROP_BOTTLE(); -s32 item_getcheck_func_BEE_CHILD(); -s32 item_getcheck_func_CHUCHU_RARE(); -s32 item_getcheck_func_CHUCHU_RED(); -s32 item_getcheck_func_CHUCHU_BLUE(); -s32 item_getcheck_func_CHUCHU_GREEN(); -s32 item_getcheck_func_CHUCHU_YELLOW(); -s32 item_getcheck_func_CHUCHU_PURPLE(); -s32 item_getcheck_func_LV1_SOUP(); -s32 item_getcheck_func_LV2_SOUP(); -s32 item_getcheck_func_LV3_SOUP(); -s32 item_getcheck_func_LETTER(); -s32 item_getcheck_func_BILL(); -s32 item_getcheck_func_WOOD_STATUE(); -s32 item_getcheck_func_IRIAS_PENDANT(); -s32 item_getcheck_func_HORSE_FLUTE(); -s32 item_getcheck_func_RAFRELS_MEMO(); -s32 item_getcheck_func_ASHS_SCRIBBLING(); -s32 item_getcheck_func_CHUCHU_YELLOW2(); -s32 item_getcheck_func_OIL_BOTTLE3(); -s32 item_getcheck_func_SHOP_BEE_CHILD(); -s32 item_getcheck_func_CHUCHU_BLACK(); -s32 item_getcheck_func_LIGHT_DROP(); -s32 item_getcheck_func_DROP_CONTAINER(); -s32 item_getcheck_func_DROP_CONTAINER02(); -s32 item_getcheck_func_DROP_CONTAINER03(); -s32 item_getcheck_func_FILLED_CONTAINER(); -s32 item_getcheck_func_MIRROR_PIECE_2(); -s32 item_getcheck_func_MIRROR_PIECE_3(); -s32 item_getcheck_func_MIRROR_PIECE_4(); -s32 item_getcheck_func_SMELL_YELIA_POUCH(); -s32 item_getcheck_func_SMELL_PUMPKIN(); -s32 item_getcheck_func_SMELL_POH(); -s32 item_getcheck_func_SMELL_FISH(); -s32 item_getcheck_func_SMELL_CHILDREN(); -s32 item_getcheck_func_SMELL_MEDICINE(); -s32 item_getcheck_func_M_BEETLE(); -s32 item_getcheck_func_F_BEETLE(); -s32 item_getcheck_func_M_BUTTERFLY(); -s32 item_getcheck_func_F_BUTTERFLY(); -s32 item_getcheck_func_M_STAG_BEETLE(); -s32 item_getcheck_func_F_STAG_BEETLE(); -s32 item_getcheck_func_M_GRASSHOPPER(); -s32 item_getcheck_func_F_GRASSHOPPER(); -s32 item_getcheck_func_M_NANAFUSHI(); -s32 item_getcheck_func_F_NANAFUSHI(); -s32 item_getcheck_func_M_DANGOMUSHI(); -s32 item_getcheck_func_F_DANGOMUSHI(); -s32 item_getcheck_func_M_MANTIS(); -s32 item_getcheck_func_F_MANTIS(); -s32 item_getcheck_func_M_LADYBUG(); -s32 item_getcheck_func_F_LADYBUG(); -s32 item_getcheck_func_M_SNAIL(); -s32 item_getcheck_func_F_SNAIL(); -s32 item_getcheck_func_M_DRAGONFLY(); -s32 item_getcheck_func_F_DRAGONFLY(); -s32 item_getcheck_func_M_ANT(); -s32 item_getcheck_func_F_ANT(); -s32 item_getcheck_func_M_MAYFLY(); -s32 item_getcheck_func_F_MAYFLY(); -s32 item_getcheck_func_POU_SPIRIT(); -s32 item_getcheck_func_ANCIENT_DOCUMENT(); -s32 item_getcheck_func_AIR_LETTER(); -s32 item_getcheck_func_ANCIENT_DOCUMENT2(); -s32 item_getcheck_func_LV7_DUNGEON_EXIT(); -s32 item_getcheck_func_LINKS_SAVINGS(); -s32 item_getcheck_func_SMALL_KEY2(); -s32 item_getcheck_func_POU_FIRE1(); -s32 item_getcheck_func_POU_FIRE2(); -s32 item_getcheck_func_POU_FIRE3(); -s32 item_getcheck_func_POU_FIRE4(); -s32 item_getcheck_func_BOSSRIDER_KEY(); -s32 item_getcheck_func_TOMATO_PUREE(); -s32 item_getcheck_func_TASTE(); -s32 item_getcheck_func_LV5_BOSS_KEY(); -s32 item_getcheck_func_SURFBOARD(); -s32 item_getcheck_func_KANTERA2(); -s32 item_getcheck_func_L2_KEY_PIECES1(); -s32 item_getcheck_func_L2_KEY_PIECES2(); -s32 item_getcheck_func_L2_KEY_PIECES3(); -s32 item_getcheck_func_KEY_OF_CARAVAN(); -s32 item_getcheck_func_LV2_BOSS_KEY(); -s32 item_getcheck_func_KEY_OF_FILONE(); -s32 item_getcheck_func_noentry(); +int item_getcheck_func_HEART(); +int item_getcheck_func_GREEN_RUPEE(); +int item_getcheck_func_BLUE_RUPEE(); +int item_getcheck_func_YELLOW_RUPEE(); +int item_getcheck_func_RED_RUPEE(); +int item_getcheck_func_PURPLE_RUPEE(); +int item_getcheck_func_ORANGE_RUPEE(); +int item_getcheck_func_SILVER_RUPEE(); +int item_getcheck_func_S_MAGIC(); +int item_getcheck_func_L_MAGIC(); +int item_getcheck_func_BOMB_5(); +int item_getcheck_func_BOMB_10(); +int item_getcheck_func_BOMB_20(); +int item_getcheck_func_BOMB_30(); +int item_getcheck_func_ARROW_10(); +int item_getcheck_func_ARROW_20(); +int item_getcheck_func_ARROW_30(); +int item_getcheck_func_ARROW_1(); +int item_getcheck_func_PACHINKO_SHOT(); +int item_getcheck_func_WATER_BOMB_5(); +int item_getcheck_func_WATER_BOMB_10(); +int item_getcheck_func_WATER_BOMB_20(); +int item_getcheck_func_WATER_BOMB_30(); +int item_getcheck_func_BOMB_INSECT_5(); +int item_getcheck_func_BOMB_INSECT_10(); +int item_getcheck_func_BOMB_INSECT_20(); +int item_getcheck_func_BOMB_INSECT_30(); +int item_getcheck_func_RECOVER_FAILY(); +int item_getcheck_func_TRIPLE_HEART(); +int item_getcheck_func_SMALL_KEY(); +int item_getcheck_func_KAKERA_HEART(); +int item_getcheck_func_UTUWA_HEART(); +int item_getcheck_func_MAP(); +int item_getcheck_func_COMPUS(); +int item_getcheck_func_DUNGEON_EXIT(); +int item_getcheck_func_BOSS_KEY(); +int item_getcheck_func_DUNGEON_BACK(); +int item_getcheck_func_SWORD(); +int item_getcheck_func_MASTER_SWORD(); +int item_getcheck_func_WOOD_SHIELD(); +int item_getcheck_func_SHIELD(); +int item_getcheck_func_HYLIA_SHIELD(); +int item_getcheck_func_TKS_LETTER(); +int item_getcheck_func_WEAR_CASUAL(); +int item_getcheck_func_WEAR_KOKIRI(); +int item_getcheck_func_ARMOR(); +int item_getcheck_func_WEAR_ZORA(); +int item_getcheck_func_MAGIC_LV1(); +int item_getcheck_func_DUNGEON_EXIT_2(); +int item_getcheck_func_WALLET_LV1(); +int item_getcheck_func_WALLET_LV2(); +int item_getcheck_func_WALLET_LV3(); +int item_getcheck_func_ZORAS_JEWEL(); +int item_getcheck_func_HAWK_EYE(); +int item_getcheck_func_WOOD_STICK(); +int item_getcheck_func_BOOMERANG(); +int item_getcheck_func_SPINNER(); +int item_getcheck_func_IRONBALL(); +int item_getcheck_func_BOW(); +int item_getcheck_func_HOOKSHOT(); +int item_getcheck_func_HVY_BOOTS(); +int item_getcheck_func_COPY_ROD(); +int item_getcheck_func_W_HOOKSHOT(); +int item_getcheck_func_KANTERA(); +int item_getcheck_func_LIGHT_SWORD(); +int item_getcheck_func_FISHING_ROD_1(); +int item_getcheck_func_PACHINKO(); +int item_getcheck_func_COPY_ROD_2(); +int item_getcheck_func_BOMB_BAG_LV2(); +int item_getcheck_func_BOMB_BAG_LV1(); +int item_getcheck_func_BOMB_IN_BAG(); +int item_getcheck_func_LIGHT_ARROW(); +int item_getcheck_func_ARROW_LV1(); +int item_getcheck_func_ARROW_LV2(); +int item_getcheck_func_ARROW_LV3(); +int item_getcheck_func_LURE_ROD(); +int item_getcheck_func_BOMB_ARROW(); +int item_getcheck_func_HAWK_ARROW(); +int item_getcheck_func_BEE_ROD(); +int item_getcheck_func_JEWEL_ROD(); +int item_getcheck_func_WORM_ROD(); +int item_getcheck_func_JEWEL_BEE_ROD(); +int item_getcheck_func_JEWEL_WORM_ROD(); +int item_getcheck_func_EMPTY_BOTTLE(); +int item_getcheck_func_RED_BOTTLE(); +int item_getcheck_func_GREEN_BOTTLE(); +int item_getcheck_func_BLUE_BOTTLE(); +int item_getcheck_func_MILK_BOTTLE(); +int item_getcheck_func_HALF_MILK_BOTTLE(); +int item_getcheck_func_OIL_BOTTLE(); +int item_getcheck_func_WATER_BOTTLE(); +int item_getcheck_func_OIL_BOTTLE2(); +int item_getcheck_func_RED_BOTTLE2(); +int item_getcheck_func_UGLY_SOUP(); +int item_getcheck_func_HOT_SPRING(); +int item_getcheck_func_FAIRY_BOTTLE(); +int item_getcheck_func_HOT_SPRING2(); +int item_getcheck_func_OIL2(); +int item_getcheck_func_OIL(); +int item_getcheck_func_NORMAL_BOMB(); +int item_getcheck_func_WATER_BOMB(); +int item_getcheck_func_POKE_BOMB(); +int item_getcheck_func_FAIRY_DROP(); +int item_getcheck_func_WORM(); +int item_getcheck_func_DROP_BOTTLE(); +int item_getcheck_func_BEE_CHILD(); +int item_getcheck_func_CHUCHU_RARE(); +int item_getcheck_func_CHUCHU_RED(); +int item_getcheck_func_CHUCHU_BLUE(); +int item_getcheck_func_CHUCHU_GREEN(); +int item_getcheck_func_CHUCHU_YELLOW(); +int item_getcheck_func_CHUCHU_PURPLE(); +int item_getcheck_func_LV1_SOUP(); +int item_getcheck_func_LV2_SOUP(); +int item_getcheck_func_LV3_SOUP(); +int item_getcheck_func_LETTER(); +int item_getcheck_func_BILL(); +int item_getcheck_func_WOOD_STATUE(); +int item_getcheck_func_IRIAS_PENDANT(); +int item_getcheck_func_HORSE_FLUTE(); +int item_getcheck_func_RAFRELS_MEMO(); +int item_getcheck_func_ASHS_SCRIBBLING(); +int item_getcheck_func_CHUCHU_YELLOW2(); +int item_getcheck_func_OIL_BOTTLE3(); +int item_getcheck_func_SHOP_BEE_CHILD(); +int item_getcheck_func_CHUCHU_BLACK(); +int item_getcheck_func_LIGHT_DROP(); +int item_getcheck_func_DROP_CONTAINER(); +int item_getcheck_func_DROP_CONTAINER02(); +int item_getcheck_func_DROP_CONTAINER03(); +int item_getcheck_func_FILLED_CONTAINER(); +int item_getcheck_func_MIRROR_PIECE_2(); +int item_getcheck_func_MIRROR_PIECE_3(); +int item_getcheck_func_MIRROR_PIECE_4(); +int item_getcheck_func_SMELL_YELIA_POUCH(); +int item_getcheck_func_SMELL_PUMPKIN(); +int item_getcheck_func_SMELL_POH(); +int item_getcheck_func_SMELL_FISH(); +int item_getcheck_func_SMELL_CHILDREN(); +int item_getcheck_func_SMELL_MEDICINE(); +int item_getcheck_func_M_BEETLE(); +int item_getcheck_func_F_BEETLE(); +int item_getcheck_func_M_BUTTERFLY(); +int item_getcheck_func_F_BUTTERFLY(); +int item_getcheck_func_M_STAG_BEETLE(); +int item_getcheck_func_F_STAG_BEETLE(); +int item_getcheck_func_M_GRASSHOPPER(); +int item_getcheck_func_F_GRASSHOPPER(); +int item_getcheck_func_M_NANAFUSHI(); +int item_getcheck_func_F_NANAFUSHI(); +int item_getcheck_func_M_DANGOMUSHI(); +int item_getcheck_func_F_DANGOMUSHI(); +int item_getcheck_func_M_MANTIS(); +int item_getcheck_func_F_MANTIS(); +int item_getcheck_func_M_LADYBUG(); +int item_getcheck_func_F_LADYBUG(); +int item_getcheck_func_M_SNAIL(); +int item_getcheck_func_F_SNAIL(); +int item_getcheck_func_M_DRAGONFLY(); +int item_getcheck_func_F_DRAGONFLY(); +int item_getcheck_func_M_ANT(); +int item_getcheck_func_F_ANT(); +int item_getcheck_func_M_MAYFLY(); +int item_getcheck_func_F_MAYFLY(); +int item_getcheck_func_POU_SPIRIT(); +int item_getcheck_func_ANCIENT_DOCUMENT(); +int item_getcheck_func_AIR_LETTER(); +int item_getcheck_func_ANCIENT_DOCUMENT2(); +int item_getcheck_func_LV7_DUNGEON_EXIT(); +int item_getcheck_func_LINKS_SAVINGS(); +int item_getcheck_func_SMALL_KEY2(); +int item_getcheck_func_POU_FIRE1(); +int item_getcheck_func_POU_FIRE2(); +int item_getcheck_func_POU_FIRE3(); +int item_getcheck_func_POU_FIRE4(); +int item_getcheck_func_BOSSRIDER_KEY(); +int item_getcheck_func_TOMATO_PUREE(); +int item_getcheck_func_TASTE(); +int item_getcheck_func_LV5_BOSS_KEY(); +int item_getcheck_func_SURFBOARD(); +int item_getcheck_func_KANTERA2(); +int item_getcheck_func_L2_KEY_PIECES1(); +int item_getcheck_func_L2_KEY_PIECES2(); +int item_getcheck_func_L2_KEY_PIECES3(); +int item_getcheck_func_KEY_OF_CARAVAN(); +int item_getcheck_func_LV2_BOSS_KEY(); +int item_getcheck_func_KEY_OF_FILONE(); +int item_getcheck_func_noentry(); -s32 checkItemGet(u8, int); +int checkItemGet(u8, int); BOOL isHeart(u8 item_no); -s32 isBomb(u8); -s32 isArrow(u8); +int isBomb(u8); +int isArrow(u8); int addBombCount(u8, u8); BOOL isBottleItem(u8 item_no); diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 128e6dcfdb..3d128e15ba 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -834,6 +834,7 @@ public: static u32 getProcID() { return mProcID; } static void setStatusProcID(int i_roomNo, unsigned int i_id) { mStatus[i_roomNo].mProcID = i_id; } static int getStatusProcID(int i_roomNo) { return mStatus[i_roomNo].mProcID; } + static void setRegionNo(int i_roomNo, u8 i_regionNo) { mStatus[i_roomNo].mRegionNo = i_regionNo; } static void setMemoryBlockID(int i_roomNo, int i_blockID) { mStatus[i_roomNo].mMemBlockID = i_blockID; diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 8c48817384..91b9fd243f 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -11,7 +11,6 @@ class JPABaseEmitter; class cBgS_PolyInfo; class color_RGB_class; -void dKankyo_DayProc(); void dKy_set_nexttime(f32); void dKy_itudemo_se(); BOOL dKy_darkworld_spot_check(char const* stageName, int roomNo); diff --git a/include/d/kankyo/d_kankyo_static.h b/include/d/kankyo/d_kankyo_static.h new file mode 100644 index 0000000000..66af53ef6e --- /dev/null +++ b/include/d/kankyo/d_kankyo_static.h @@ -0,0 +1,18 @@ +#ifndef D_KANKYO_STATIC_H +#define D_KANKYO_STATIC_H + +#include "d/com/d_com_inf_game.h" + +/** + * This is a made-up file to help matching weak function generation. + * + * `dKankyo_DayProc` is supposed to be weakly generated at the end of TUs where it's called, + * but it'll generate in every TU where the header it's defined in is included. So only include this + * header in TUs where `dKankyo_DayProc` needs to be generated. + */ + +static void dKankyo_DayProc() { + dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]); +} + +#endif /* D_KANKYO_STATIC_H */ \ No newline at end of file diff --git a/include/d/menu/d_menu_fmap.h b/include/d/menu/d_menu_fmap.h index 2d72cfd22b..6010022c69 100644 --- a/include/d/menu/d_menu_fmap.h +++ b/include/d/menu/d_menu_fmap.h @@ -217,4 +217,6 @@ private: /* 0x313 */ u8 field_0x313; }; +const char* dMenuFmap_getStartStageName(void* param_0); + #endif /* D_MENU_D_MENU_FMAP_H */ diff --git a/include/d/s/d_s_play.h b/include/d/s/d_s_play.h index f81d367e50..ad40e0da74 100644 --- a/include/d/s/d_s_play.h +++ b/include/d/s/d_s_play.h @@ -79,7 +79,7 @@ public: /* 80259BFC */ void offReset(); static bool isPause() { return pauseTimer == 0; } - static void setPauseTimer(s8 time) { pauseTimer = time; } + static void setPauseTimer(s8 time) { nextPauseTimer = time; } static s8 pauseTimer; static s8 nextPauseTimer; diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index 31569a7e42..b1b7aabaf8 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -510,6 +510,9 @@ public: bool isFieldDataExistFlag() const { return mFieldDataExistFlag; } void offFieldDataExistFlag() { mFieldDataExistFlag = false; } + void onFieldDataExistFlag() { mFieldDataExistFlag = true; } + cXyz& getPos() { return mPos; } + u8 getRegionNo() const { return mRegionNo; } private: /* 0x00 */ cXyz mPos; diff --git a/include/d/shop/d_shop_camera.h b/include/d/shop/d_shop_camera.h index 08aafa7d79..b0023ac8e4 100644 --- a/include/d/shop/d_shop_camera.h +++ b/include/d/shop/d_shop_camera.h @@ -22,7 +22,7 @@ struct ShopCam_action_c { /* 801968B8 */ void setMasterCamCtrPos(cXyz*); void setCamAction(ShopCamFunc func) { - field_0x0 = func; + mCamAction = func; } void setCameraSpeed(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { @@ -37,7 +37,7 @@ struct ShopCam_action_c { setCameraSpeed(0.25f, 20.0f, 0.25f, 5.0f); } - /* 0x00 */ ShopCamFunc field_0x0; + /* 0x00 */ ShopCamFunc mCamAction; /* 0x0c */ u8 field_0xc[0x18 - 0xc]; /* 0x18 */ fopAc_ac_c* field_0x18; /* 0x1c */ fopAc_ac_c* field_0x1c; diff --git a/include/d/shop/d_shop_system.h b/include/d/shop/d_shop_system.h index d6ec19e23d..ed3e679fd9 100644 --- a/include/d/shop/d_shop_system.h +++ b/include/d/shop/d_shop_system.h @@ -82,6 +82,10 @@ public: /* 0xA */ SEQ_FINISH, }; + enum { + ITEM_MAX_e = 7, + }; + /* 80197338 */ void initShopSystem(); /* 801975C0 */ void onFlag(int); /* 801975DC */ void offFlag(int); @@ -127,10 +131,12 @@ public: /* 8019AB84 */ bool checkRightTrigger(STControl*); /* 8019ABA8 */ bool dpdMove(); + void dummyWeakOrder(); // fake, used to fix weak function order in d_shop_system.cpp + /* 801974E4 */ virtual ~dShopSystem_c(); - /* 8019ACF0 */ virtual bool getResName2(int); - /* 8019ACE0 */ virtual int beforeStartSeqAction(dMsgFlow_c*, int); - /* 8019ACE8 */ virtual int beforeSelectSeqAction(dMsgFlow_c*, int); + /* 8019ACF0 */ virtual bool getResName2(int) { return false; } + /* 8019ACE0 */ virtual int beforeStartSeqAction(dMsgFlow_c*, int) { return 1; } + /* 8019ACE8 */ virtual int beforeSelectSeqAction(dMsgFlow_c*, int) { return 1; } bool chkSpMode() { return mSpMode == 1; } void offSpMode() { mSpMode = 0; } diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index e4ca3a0b47..2d3850756f 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -72,7 +72,7 @@ public: static u8 getBlureRate() { return mBlureRate; } static MtxP getBlureMtx() { return mBlureMtx; } static void offAutoForcus() { data_80450BE7 = 0; } - static bool isAutoForcus() { return data_80450BE7; } + static BOOL isAutoForcus() { return data_80450BE7; } static void setTickRate(u32 rate) { JFWDisplay::getManager()->setTickRate(rate); } static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); } static f32 getWidthF() { return 608.0f; } diff --git a/obj_files.mk b/obj_files.mk index a7bb953c3d..48ef3db90f 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -1072,4 +1072,7 @@ O_FILES_SYM_ON := \ $(BUILD_DIR)/src/d/d_gameover.o \ $(BUILD_DIR)/src/d/menu/d_menu_save.o \ $(BUILD_DIR)/src/d/d_bright_check.o \ + $(BUILD_DIR)/src/d/shop/d_shop_system.o \ + $(BUILD_DIR)/src/d/kankyo/d_kankyo.o \ + $(BUILD_DIR)/src/d/msg/d_msg_object.o \ \ No newline at end of file diff --git a/rel/d/a/kytag/d_a_kytag11/Makefile b/rel/d/a/kytag/d_a_kytag11/Makefile index 1606e6c89c..6aa6a70830 100644 --- a/rel/d/a/kytag/d_a_kytag11/Makefile +++ b/rel/d/a/kytag/d_a_kytag11/Makefile @@ -19,6 +19,7 @@ M76_LIBS := \ M76_CFLAGS := \ -sdata 0 \ -sdata2 0 \ + -sym on \ M76_LDFLAGS := \ -nodefaults \ diff --git a/rel/d/a/kytag/d_a_kytag11/d_a_kytag11.cpp b/rel/d/a/kytag/d_a_kytag11/d_a_kytag11.cpp index 4f2bc578c6..a8d6d2cdc9 100644 --- a/rel/d/a/kytag/d_a_kytag11/d_a_kytag11.cpp +++ b/rel/d/a/kytag/d_a_kytag11/d_a_kytag11.cpp @@ -7,6 +7,7 @@ #include "JSystem/JKernel/JKRHeap.h" #include "d/com/d_com_inf_game.h" #include "d/d_procname.h" +#include "d/kankyo/d_kankyo_static.h" /* 80529518-80529520 000078 0008+00 1/0 0/0 0/0 .text daKytag11_Draw__FP13kytag11_class */ @@ -118,12 +119,12 @@ static int daKytag11_Create(fopAc_ac_c* i_this) { /* 80529854-8052988C 0003B4 0038+00 1/1 0/0 0/0 .text dKankyo_DayProc__Fv */ // this is a weak func that should be compiler generated, unsure how to make it do that for now -#pragma push +/* #pragma push #pragma force_active on extern "C" void dKankyo_DayProc__Fv() { dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]); } -#pragma pop +#pragma pop */ /* ############################################################################################## */ /* 805298B4-805298D4 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag11_Method */ diff --git a/src/d/a/d_a_obj_item.cpp b/src/d/a/d_a_obj_item.cpp index ea6b5207cd..e049382f6f 100644 --- a/src/d/a/d_a_obj_item.cpp +++ b/src/d/a/d_a_obj_item.cpp @@ -291,11 +291,11 @@ void daItem_c::setBaseMtx_0() { SECTION_SDATA2 static f32 lit_3923 = 0.5f; /* 8015B1C8-8015B254 155B08 008C+00 1/1 0/0 0/0 .text setBaseMtx_1__8daItem_cFv */ -// literals / load instructions flipped +// matches with literals #ifdef NONMATCHING void daItem_c::setBaseMtx_1() { f32 max_y = mpModel->getModelData()->getJointNodePointer(0)->getMax()->y; - f32 y = max_y * 0.5f * mScale.y; + f32 y = (max_y / 2) * mScale.y; mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::transM(0.0f, y, 0.0f); @@ -396,6 +396,15 @@ SECTION_DATA static void* lit_5193[10] = { (void*)(((char*)initScale__8daItem_cFv) + 0x3C), }; +#ifdef NONMATCHING +procFunc daItem_c::mFuncPtr[9] = { + &daItem_c::procMainNormal, &daItem_c::procMainEnemyCarry, + &daItem_c::procMainSimpleGetDemo, &daItem_c::procWaitGetDemoEvent, + &daItem_c::procMainGetDemoEvent, &daItem_c::procMainBoomerangCarry, + &daItem_c::procMainSwOnWait, &daItem_c::procMainBoomHitWait, + &daItem_c::procMainForceGet, +}; +#else /* 803B9E2C-803B9E38 -00001 000C+00 0/1 0/0 0/0 .data @5240 */ #pragma push #pragma force_active on @@ -497,13 +506,7 @@ SECTION_DATA u8 daItem_c::mFuncPtr[120] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; - -/* SECTION_DATA procFunc daItem_c::mFuncPtr[9] = { - &daItem_c::procMainNormal, &daItem_c::procMainEnemyCarry, &daItem_c::procMainSimpleGetDemo, - &daItem_c::procWaitGetDemoEvent, &daItem_c::procMainGetDemoEvent, -&daItem_c::procMainBoomerangCarry, &daItem_c::procMainSwOnWait, &daItem_c::procMainBoomHitWait, -&daItem_c::procMainForceGet, -}; */ +#endif /* 803B9F10-803B9F54 017030 0044+00 1/1 0/0 0/0 .data m_cyl_src__8daItem_c */ dCcD_SrcCyl daItem_c::m_cyl_src = { @@ -607,7 +610,8 @@ void daItem_c::CreateInit() { if (m_itemNo == BOOMERANG) { itemGetNextExecute(); } else if ((m_itemNo == ORANGE_RUPEE || m_itemNo == SILVER_RUPEE) && - field_0x998.getEmitter() == NULL) { + field_0x998.getEmitter() == NULL) + { dComIfGp_particle_set(0x0C14, &field_0x9ac, NULL, NULL, -1, &field_0x998, -1, NULL, NULL, NULL); } @@ -770,7 +774,8 @@ int daItem_c::_daItem_create() { if (phase_state == cPhs_COMPLEATE_e) { if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, - dItem_data::getFieldHeapSize(m_itemNo))) { + dItem_data::getFieldHeapSize(m_itemNo))) + { return cPhs_ERROR_e; } else { CreateInit(); @@ -811,14 +816,14 @@ SECTION_SDATA2 static f32 lit_4320 = 300.0f; SECTION_SDATA2 static f32 lit_4321 = 18.0f; /* 8015BA9C-8015BD84 1563DC 02E8+00 1/1 0/0 0/0 .text _daItem_execute__8daItem_cFv */ -// eyepos.y issue / need sinit for mFuncPtr +// matches with sinit #ifdef NONMATCHING int daItem_c::_daItem_execute() { field_0x950 = speed; CountTimer(); mEyePos = current.pos; - mEyePos.y += (f32)dItem_data::getH(m_itemNo) * 0.5f; + mEyePos.y += (f32)dItem_data::getH(m_itemNo) / 2; mAttentionInfo.mPosition = current.pos; @@ -871,7 +876,7 @@ int daItem_c::_daItem_execute() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daItem_c::_daItem_execute() { +asm int daItem_c::_daItem_execute() { nofralloc #include "asm/a/obj/d_a_obj_item/_daItem_execute__8daItem_cFv.s" } @@ -1307,7 +1312,8 @@ void daItem_c::itemGetNextExecute() { case SILVER_RUPEE: case PACHINKO_SHOT: if (daPy_getPlayerActorClass()->checkCanoeRide() || - daPy_getPlayerActorClass()->checkHorseRide()) { + daPy_getPlayerActorClass()->checkHorseRide()) + { if (checkItemGet(m_itemNo, 1)) { haveItem = true; } @@ -1696,7 +1702,8 @@ REGISTER_CTORS(0x8015DED0, __sinit_d_a_obj_item_cpp); #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm const cXyz daPy_py_c::getItemPos() const { +// asm const cXyz daPy_py_c::getItemPos() const { +extern "C" asm void getItemPos__9daPy_py_cCFv() { nofralloc #include "asm/a/obj/d_a_obj_item/getItemPos__9daPy_py_cCFv.s" } @@ -1706,7 +1713,8 @@ asm const cXyz daPy_py_c::getItemPos() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm const cXyz& daPy_py_c::getLeftHandPos() const { +// asm const cXyz& daPy_py_c::getLeftHandPos() const { +extern "C" asm void getLeftHandPos__9daPy_py_cCFv() { nofralloc #include "asm/a/obj/d_a_obj_item/getLeftHandPos__9daPy_py_cCFv.s" } diff --git a/src/d/bg/d_bg_s_acch.cpp b/src/d/bg/d_bg_s_acch.cpp index f70c5cda3e..26d5645bc0 100644 --- a/src/d/bg/d_bg_s_acch.cpp +++ b/src/d/bg/d_bg_s_acch.cpp @@ -56,7 +56,7 @@ extern "C" void ChkLineDown__9dBgS_AcchFv(); extern "C" void __dt__12dBgS_AcchCirFv(); extern "C" static void func_80077484(); extern "C" static void func_8007748C(); -extern "C" bool checkPlayerFly__9daPy_py_cCFv(); +extern "C" u32 checkPlayerFly__9daPy_py_cCFv(); // // External References: @@ -823,6 +823,7 @@ static asm void func_8007748C() { #pragma pop /* 80077494-8007749C 071DD4 0008+00 0/0 1/0 0/0 .text checkPlayerFly__9daPy_py_cCFv */ -u32 daPy_py_c::checkPlayerFly() const { +// u32 daPy_py_c::checkPlayerFly() const { +extern "C" u32 checkPlayerFly__9daPy_py_cCFv() { return 0; } diff --git a/src/d/cc/d_cc_uty.cpp b/src/d/cc/d_cc_uty.cpp index 6fe89bc604..3b3875c501 100644 --- a/src/d/cc/d_cc_uty.cpp +++ b/src/d/cc/d_cc_uty.cpp @@ -1,47 +1,16 @@ -// -// Generated By: dol2asm -// Translation Unit: d/cc/d_cc_uty -// +/** + * d_cc_uty.cpp + * Collider Utilties + */ #include "d/cc/d_cc_uty.h" +#include "SSystem/SComponent/c_math.h" #include "Z2AudioLib/Z2Creature.h" #include "d/a/d_a_player.h" #include "d/d_procname.h" #include "d/s/d_s_play.h" -#include "dol2asm.h" #include "f_op/f_op_actor_mng.h" -// -// Forward References: -// - -extern "C" void pl_cut_LRC__Fi(); -extern "C" void cc_pl_cut_bit_get__Fv(); -extern "C" static void getMapInfo__FSc(); -extern "C" static void getHitId__FP8cCcD_Obji(); -extern "C" void def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c(); -extern "C" static void at_power_get__FP11dCcU_AtInfo(); -extern "C" void at_power_check__FP11dCcU_AtInfo(); -extern "C" void cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo(); -extern "C" bool checkCutJumpCancelTurn__9daPy_py_cCFv(); - -// -// External References: -// - -extern "C" void getHitSeID__12dCcD_GObjInfFUci(); -extern "C" void dCcD_GetGObjInf__FP8cCcD_Obj(); -extern "C" void checkMasterSwordEquip__9daPy_py_cFv(); -extern "C" void GetAc__8cCcD_ObjFv(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void _savegpr_25(); -extern "C" void _restgpr_25(); - -// -// Declarations: -// - bool daPy_py_c::checkWoodSwordEquip() { return dComIfGs_getSelectEquipSword() == WOOD_STICK; } @@ -50,9 +19,8 @@ BOOL daPy_py_c::checkNowWolf() { return dComIfGp_getLinkPlayer()->i_checkWolf(); } -/* ############################################################################################## */ /* 803AC418-803AC500 009538 00E8+00 1/1 0/0 0/0 .data plCutLRC */ -SECTION_DATA static int plCutLRC[58] = { +static int plCutLRC[58] = { 0, // 0, // CUT_VERTICAL 1, // CUT_STAB @@ -124,33 +92,35 @@ int pl_cut_LRC(int index) { /* 800873D4-800874C4 081D14 00F0+00 1/1 0/0 14/14 .text cc_pl_cut_bit_get__Fv */ u16 cc_pl_cut_bit_get() { - daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0); + daPy_py_c* player_p = (daPy_py_c*)dComIfGp_getPlayer(0); u16 bit = 0; - if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_VERTICAL) { + if (player_p->getCutType() == daPy_py_c::CUT_TYPE_NM_VERTICAL) { bit = 0x1; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_STAB) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_NM_STAB) { bit = 0x2; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_COMBO_STAB) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_COMBO_STAB) { bit = 0x200; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_RIGHT) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_NM_RIGHT) { bit = 0x4; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_NM_LEFT) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_NM_LEFT) { bit = 0x8; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_FINISH_LEFT) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_FINISH_LEFT) { bit = 0x20; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_FINISH_VERTICAL) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_FINISH_VERTICAL) { bit = 0x40; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || link->getCutType() == 9 || - link->getCutType() == 43 || - link->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_TURN_RIGHT || + player_p->getCutType() == 9 || player_p->getCutType() == 43 || + player_p->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) + { bit = 0x80; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT || - link->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_TURN_LEFT || + player_p->getCutType() == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT) + { bit = 0x800; - } else if (link->getCutType() == daPy_py_c::CUT_TYPE_JUMP) { + } else if (player_p->getCutType() == daPy_py_c::CUT_TYPE_JUMP) { bit = 0x100; - } else if (link->getCutType() == 40 || link->getCutType() == 41) { + } else if (player_p->getCutType() == 40 || player_p->getCutType() == 41) { bit = 0x400; } @@ -170,31 +140,31 @@ static int getMapInfo(s8 param_0) { } /* 800874F0-80087514 081E30 0024+00 2/2 0/0 0/0 .text getHitId__FP8cCcD_Obji */ -static u32 getHitId(cCcD_Obj* p_obj, int useReboundSE) { - dCcD_GObjInf* dObj = static_cast(p_obj); - return dObj->getHitSeID(dObj->GetAtSe(), useReboundSE); +static u32 getHitId(cCcD_Obj* i_ccObj, int i_useReboundSe) { + dCcD_GObjInf* dObj = static_cast(i_ccObj); + return dObj->getHitSeID(dObj->GetAtSe(), i_useReboundSe); } /* 80087514-80087594 081E54 0080+00 0/0 0/0 47/47 .text * def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c */ -void def_se_set(Z2Creature* p_sound, cCcD_Obj* p_collider, u32 map_info, fopAc_ac_c* p_actor) { - if (p_sound != NULL) { - int useReboundSE; - if (p_actor != NULL && fopAcM_checkStatus(p_actor, 0x280000)) { - useReboundSE = false; +void def_se_set(Z2Creature* i_sound, cCcD_Obj* i_ccObj, u32 i_mapInfo, fopAc_ac_c* i_actor) { + if (i_sound != NULL) { + int useReboundSe; + if (i_actor != NULL && fopAcM_checkStatus(i_actor, 0x280000)) { + useReboundSe = false; } else { - useReboundSE = true; + useReboundSe = true; } - p_sound->startCollisionSE(getHitId(p_collider, useReboundSE), map_info); + i_sound->startCollisionSE(getHitId(i_ccObj, useReboundSe), i_mapInfo); } } /* 80087594-80087A58 081ED4 04C4+00 1/1 0/0 0/0 .text at_power_get__FP11dCcU_AtInfo */ -static u8 at_power_get(dCcU_AtInfo* p_info) { - u8 power = p_info->mpCollider->GetAtAtp(); +static u8 at_power_get(dCcU_AtInfo* i_AtInfo) { + u8 power = i_AtInfo->mpCollider->GetAtAtp(); - if (p_info->mPowerType == 0) { - if (p_info->mpCollider->ChkAtType(0x10000000)) { + if (i_AtInfo->mPowerType == 0) { + if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) { power = 0; } else if (power == 1) { power = 1; @@ -207,8 +177,8 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 4) { power = 200; } - } else if (p_info->mPowerType == 6) { - if (p_info->mpCollider->ChkAtType(0x10000000)) { + } else if (i_AtInfo->mPowerType == 6) { + if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) { power = 0; } else if (power == 1) { power = 1; @@ -219,10 +189,10 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 3) { power *= 10; } - } else if (p_info->mPowerType == 4) { - if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) { + } else if (i_AtInfo->mPowerType == 4) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) { power = 200; - } else if (p_info->mpCollider->ChkAtType(0x10000000)) { + } else if (i_AtInfo->mpCollider->ChkAtType(0x10000000)) { power = 0; } else if (power == 1) { power = 1; @@ -235,8 +205,8 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 4) { power = 200; } - } else if (p_info->mPowerType == 5) { - if (p_info->mpCollider->ChkAtType(AT_TYPE_ARROW)) { + } else if (i_AtInfo->mPowerType == 5) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_ARROW)) { power = 0; } else if (power == 1) { power = 1; @@ -245,8 +215,8 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 3) { power = 4; } - } else if (p_info->mPowerType == 2) { - if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) { + } else if (i_AtInfo->mPowerType == 2) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) { power = 200; } else if (power == 1) { power = 1; @@ -259,14 +229,14 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 4) { power = 200; } - } else if (p_info->mPowerType == 1) { - if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) { + } else if (i_AtInfo->mPowerType == 1) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) { power = 200; } else { power *= 10; } - } else if (p_info->mPowerType == 3) { - if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) { + } else if (i_AtInfo->mPowerType == 3) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || power >= 4) { power = 200; } else if (power == 1) { power = 10; @@ -275,10 +245,10 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 3) { power = 40; } - } else if (p_info->mPowerType == 7) { - if (p_info->mpCollider->ChkAtType(0x420008)) { + } else if (i_AtInfo->mPowerType == 7) { + if (i_AtInfo->mpCollider->ChkAtType(0x420008)) { power = 50; - } else if (p_info->mpCollider->ChkAtType(AT_TYPE_ARROW)) { + } else if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_ARROW)) { power = 27; } else if (power == 1) { power = 1; @@ -291,7 +261,7 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 4) { power = 200; } - } else if (p_info->mPowerType == 8) { + } else if (i_AtInfo->mPowerType == 8) { if (power == 1) { power = 3; } else if (power == 2) { @@ -301,11 +271,11 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 3) { power *= 10; } - } else if (p_info->mPowerType == 9 || p_info->mPowerType == 10) { - if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { + } else if (i_AtInfo->mPowerType == 9 || i_AtInfo->mPowerType == 10) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { power = 0; } - if (p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) { power = 19; } @@ -320,8 +290,8 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 4) { power = 200; } - } else if (p_info->mPowerType == 11) { - if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { + } else if (i_AtInfo->mPowerType == 11) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { power = 0; } @@ -334,7 +304,7 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { } else if (power >= 4) { power = 100; } - } else if (p_info->mPowerType == 12) { + } else if (i_AtInfo->mPowerType == 12) { if (power == 1) { power = 10; } else if (power == 2) { @@ -351,237 +321,197 @@ static u8 at_power_get(dCcU_AtInfo* p_info) { /* 80087A58-80087C04 082398 01AC+00 1/1 0/0 38/38 .text at_power_check__FP11dCcU_AtInfo */ -fopAc_ac_c* at_power_check(dCcU_AtInfo* p_info) { - if (p_info->mpCollider == NULL) { +fopAc_ac_c* at_power_check(dCcU_AtInfo* i_AtInfo) { + if (i_AtInfo->mpCollider == NULL) { return NULL; } - p_info->mpActor = p_info->mpCollider->GetAc(); - p_info->mHitType = 12; - p_info->mAttackPower = 0; - p_info->mHitBit = 0; + i_AtInfo->mpActor = i_AtInfo->mpCollider->GetAc(); + i_AtInfo->mHitType = 12; + i_AtInfo->mAttackPower = 0; + i_AtInfo->mHitBit = 0; - if (p_info->mpActor != NULL) { - p_info->mAttackPower = at_power_get(p_info); + if (i_AtInfo->mpActor != NULL) { + i_AtInfo->mAttackPower = at_power_get(i_AtInfo); - s16 ac_name = fopAcM_GetName(p_info->mpActor); + s16 ac_name = fopAcM_GetName(i_AtInfo->mpActor); if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) { - if (p_info->mpCollider->ChkAtType(0x8000) || - p_info->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) { - p_info->mHitType = HIT_TYPE_LINK_HEAVY_ATTACK; + if (i_AtInfo->mpCollider->ChkAtType(0x8000) || + i_AtInfo->mpCollider->ChkAtType(AT_TYPE_IRON_BALL)) + { + i_AtInfo->mHitType = HIT_TYPE_LINK_HEAVY_ATTACK; } else { - p_info->mHitType = HIT_TYPE_LINK_NORMAL_ATTACK; - p_info->mHitBit = cc_pl_cut_bit_get(); + i_AtInfo->mHitType = HIT_TYPE_LINK_NORMAL_ATTACK; + i_AtInfo->mHitBit = cc_pl_cut_bit_get(); } } else if (ac_name == PROC_NBOMB) { - p_info->mHitType = HIT_TYPE_BOMB; - p_info->mHitBit = 0x10000000; + i_AtInfo->mHitType = HIT_TYPE_BOMB; + i_AtInfo->mHitBit = 0x10000000; } else if (ac_name == PROC_BOOMERANG) { - p_info->mHitType = HIT_TYPE_BOOMERANG; - p_info->mHitBit = 0x40000000; + i_AtInfo->mHitType = HIT_TYPE_BOOMERANG; + i_AtInfo->mHitBit = 0x40000000; } else if (ac_name == PROC_ARROW) { - p_info->mHitType = HIT_TYPE_ARROW; - p_info->mHitBit = 0x80000000; + i_AtInfo->mHitType = HIT_TYPE_ARROW; + i_AtInfo->mHitBit = 0x80000000; } } - p_info->mHitStatus = 0; - if (p_info->mpCollider->ChkAtType(0x40) || p_info->mpCollider->ChkAtType(AT_TYPE_BOOMERANG) || - p_info->mpCollider->ChkAtType(AT_TYPE_SLINGSHOT) || - p_info->mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK)) { - p_info->mHitType = HIT_TYPE_STUN; - } else if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { - p_info->mHitBit = 0x1000; + i_AtInfo->mHitStatus = 0; + if (i_AtInfo->mpCollider->ChkAtType(0x40) || + i_AtInfo->mpCollider->ChkAtType(AT_TYPE_BOOMERANG) || + i_AtInfo->mpCollider->ChkAtType(AT_TYPE_SLINGSHOT) || + i_AtInfo->mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK)) + { + i_AtInfo->mHitType = HIT_TYPE_STUN; + } else if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { + i_AtInfo->mHitBit = 0x1000; } else { - s16 ac_name = fopAcM_GetName(p_info->mpActor); + s16 ac_name = fopAcM_GetName(i_AtInfo->mpActor); if (ac_name == PROC_ALINK || ac_name == PROC_ALINK) { - if (dCcD_GetGObjInf(p_info->mpCollider)->GetAtSpl() == 1) { - p_info->mHitStatus = 1; + if (dCcD_GetGObjInf(i_AtInfo->mpCollider)->GetAtSpl() == 1) { + i_AtInfo->mHitStatus = 1; } - } else if (p_info->mAttackPower >= 3) { - p_info->mHitStatus = 1; + } else if (i_AtInfo->mAttackPower >= 3) { + i_AtInfo->mHitStatus = 1; } } - return p_info->mpActor; + return i_AtInfo->mpActor; } -/* ############################################################################################## */ -/* 80452798-804527A0 000D98 0004+04 1/1 0/0 0/0 .sdata2 @4212 */ -SECTION_SDATA2 static f32 lit_4212[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; - -/* 804527A0-804527A8 000DA0 0008+00 1/1 0/0 0/0 .sdata2 @4213 */ -SECTION_SDATA2 static f64 lit_4213 = 0.5; - -/* 804527A8-804527B0 000DA8 0008+00 1/1 0/0 0/0 .sdata2 @4214 */ -SECTION_SDATA2 static f64 lit_4214 = 3.0; - -/* 804527B0-804527B8 000DB0 0008+00 1/1 0/0 0/0 .sdata2 @4215 */ -SECTION_SDATA2 static u8 lit_4215[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 804527B8-804527BC 000DB8 0004+00 1/1 0/0 0/0 .sdata2 @4216 */ -SECTION_SDATA2 static f32 lit_4216 = 100.0f; - -/* 804527BC-804527C0 000DBC 0004+00 1/1 0/0 0/0 .sdata2 @4217 */ -SECTION_SDATA2 static f32 lit_4217 = 4000.0f; - -/* 804527C0-804527C8 000DC0 0004+04 1/1 0/0 0/0 .sdata2 @4218 */ -SECTION_SDATA2 static f32 lit_4218[1 + 1 /* padding */] = { - 10000.0f, - /* padding */ - 0.0f, -}; - /* 80087C04-80088134 082544 0530+00 0/0 0/0 84/84 .text cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo */ -// data padding issues (?) -#ifdef NONMATCHING -fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) { - daPy_py_c* link = (daPy_py_c*)dComIfGp_getPlayer(0); - p_info->mpActor = at_power_check(p_info); +fopAc_ac_c* cc_at_check(fopAc_ac_c* i_enemy, dCcU_AtInfo* i_AtInfo) { + daPy_py_c* player_p = (daPy_py_c*)dComIfGp_getPlayer(0); + i_AtInfo->mpActor = at_power_check(i_AtInfo); f32 x_diff; f32 z_diff; - if (p_info->mpActor != NULL) { - cXyz tmp = p_info->mpActor->speed; + if (i_AtInfo->mpActor != NULL) { + cXyz tmp = i_AtInfo->mpActor->speed; tmp.y = 0.0f; if (tmp.abs() > 100.0f) { - f32 x = p_info->mpActor->speed.x; - f32 z = p_info->mpActor->speed.z; - p_info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f); + f32 x = i_AtInfo->mpActor->speed.x; + f32 z = i_AtInfo->mpActor->speed.z; + i_AtInfo->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f); } else { - if (fopAcM_GetName(p_info->mpActor) == PROC_BOOMERANG) { - x_diff = p_enemy->current.pos.x - link->current.pos.x; - z_diff = p_enemy->current.pos.z - link->current.pos.z; - p_info->mHitDirection = cM_atan2s(-x_diff, -z_diff) + (s16)cM_rndFX(10000.0f); + if (fopAcM_GetName(i_AtInfo->mpActor) == PROC_BOOMERANG) { + x_diff = i_enemy->current.pos.x - player_p->current.pos.x; + z_diff = i_enemy->current.pos.z - player_p->current.pos.z; + i_AtInfo->mHitDirection = cM_atan2s(-x_diff, -z_diff) + (s16)cM_rndFX(10000.0f); } else { - x_diff = p_enemy->current.pos.x - p_info->mpActor->current.pos.x; - z_diff = p_enemy->current.pos.z - p_info->mpActor->current.pos.z; - p_info->mHitDirection = cM_atan2s(-x_diff, -z_diff); + x_diff = i_enemy->current.pos.x - i_AtInfo->mpActor->current.pos.x; + z_diff = i_enemy->current.pos.z - i_AtInfo->mpActor->current.pos.z; + i_AtInfo->mHitDirection = cM_atan2s(-x_diff, -z_diff); } } - if (p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK && - link->getCutType() == daPy_py_c::CUT_TYPE_HEAD_JUMP) { - p_info->mHitDirection = link->shape_angle.y; + if (i_AtInfo->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK && + player_p->getCutType() == daPy_py_c::CUT_TYPE_HEAD_JUMP) + { + i_AtInfo->mHitDirection = player_p->shape_angle.y; } - if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) && - fopAcM_checkStatus(p_enemy, 0x380000)) { - p_info->mAttackPower = 0; + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) && + fopAcM_checkStatus(i_enemy, 0x380000)) + { + i_AtInfo->mAttackPower = 0; } - if (static_cast(p_info->mpCollider)->GetAtMtrl() == 4) { - if (fopAcM_GetName(p_enemy) == PROC_B_GND) { - p_info->mAttackPower = 0; - } else if (fopAcM_GetName(p_enemy) != PROC_B_ZANT) { - p_info->mAttackPower = 100; + if (static_cast(i_AtInfo->mpCollider)->GetAtMtrl() == 4) { + if (fopAcM_GetName(i_enemy) == PROC_B_GND) { + i_AtInfo->mAttackPower = 0; + } else if (fopAcM_GetName(i_enemy) != PROC_B_ZANT) { + i_AtInfo->mAttackPower = 100; } } - if (p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK) { + if (i_AtInfo->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK) { if (!daPy_py_c::checkNowWolf()) { - if (link->checkMasterSwordEquip()) { - p_info->mAttackPower *= 2; + if (player_p->checkMasterSwordEquip()) { + i_AtInfo->mAttackPower *= 2; } if (daPy_py_c::checkWoodSwordEquip()) { - p_info->mAttackPower /= 2; + i_AtInfo->mAttackPower /= 2; } } - if (link->getSwordAtUpTime()) { - p_info->mAttackPower *= 2; - p_info->mHitStatus = 1; + if (player_p->getSwordAtUpTime()) { + i_AtInfo->mAttackPower *= 2; + i_AtInfo->mHitStatus = 1; } } - if (p_info->mAttackPower != 0) { - p_enemy->mHealth -= p_info->mAttackPower; + if (i_AtInfo->mAttackPower != 0) { + i_enemy->mHealth -= i_AtInfo->mAttackPower; } s8 pause_time = 0; - if (p_info->mAttackPower != 0 && p_enemy->mHealth <= 0) { - p_info->mHitStatus = 2; - p_enemy->mHealth = 0; + if (i_AtInfo->mAttackPower != 0 && i_enemy->mHealth <= 0) { + i_AtInfo->mHitStatus = 2; + i_enemy->mHealth = 0; } int uvar8; - if (p_info->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) && - !fopAcM_checkStatus(p_enemy, 0x280000)) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_HOOKSHOT) && + !fopAcM_checkStatus(i_enemy, 0x280000)) + { uvar8 = 1; } else { uvar8 = 0; } - if (p_info->mpSound != NULL) { - if (p_info->field_0x18 != 0) { - p_info->mpSound->startCollisionSE(getHitId(p_info->mpCollider, uvar8), - p_info->field_0x18); + if (i_AtInfo->mpSound != NULL) { + if (i_AtInfo->field_0x18 != 0) { + i_AtInfo->mpSound->startCollisionSE(getHitId(i_AtInfo->mpCollider, uvar8), + i_AtInfo->field_0x18); } else { - p_info->mpSound->startCollisionSE(getHitId(p_info->mpCollider, uvar8), - getMapInfo(p_info->mHitStatus)); + i_AtInfo->mpSound->startCollisionSE(getHitId(i_AtInfo->mpCollider, uvar8), + getMapInfo(i_AtInfo->mHitStatus)); } } - if (p_info->mHitStatus != 0) { + if (i_AtInfo->mHitStatus != 0) { pause_time = 5; } else { - if (p_info->mAttackPower > 1) { + if (i_AtInfo->mAttackPower > 1) { pause_time = 2; } } - if (p_info->mpCollider->ChkAtType(AT_TYPE_MIDNA_LOCK) || - ((daPy_py_c*)dComIfGp_getPlayer(0))->checkHorseRide()) { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_MIDNA_LOCK) || + ((daPy_py_c*)dComIfGp_getPlayer(0))->checkHorseRide()) + { // actor is Bulblin or Horseback Ganon - if ((fopAcM_GetName(p_enemy) == PROC_E_RD && - ((s8*)p_enemy)[0x129a] != 0) || - fopAcM_GetName(p_enemy) == PROC_B_GND) { + if ((fopAcM_GetName(i_enemy) == PROC_E_RD && ((s8*)i_enemy)[0x129a] != 0) || + fopAcM_GetName(i_enemy) == PROC_B_GND) + { pause_time = 3; } else { pause_time = 0; } } - s16 ac_name = fopAcM_GetName(p_enemy); + s16 ac_name = fopAcM_GetName(i_enemy); // actor is Stalkin, Chu, Keese, Shadow Keese, Shadow Vermin, Baby Gohma, or Rat if (ac_name == PROC_E_BS || ac_name == PROC_E_SM2 || ac_name == PROC_E_BA || ac_name == PROC_E_YK || ac_name == PROC_E_YG || ac_name == PROC_E_GM || - ac_name == PROC_E_MS) { + ac_name == PROC_E_MS) + { pause_time = 0; } - if ((p_info->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK || - p_info->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) && - !link->checkCutJumpCancelTurn()) { - if (p_info->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) { + if ((i_AtInfo->mHitType == HIT_TYPE_LINK_NORMAL_ATTACK || + i_AtInfo->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) && + !player_p->checkCutJumpCancelTurn()) + { + if (i_AtInfo->mpCollider->ChkAtType(AT_TYPE_THROW_OBJ)) { pause_time = 4; } dScnPly_c::setPauseTimer(pause_time); } } - return p_info->mpActor; -} -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm fopAc_ac_c* cc_at_check(fopAc_ac_c* param_0, dCcU_AtInfo* param_1) { - nofralloc -#include "asm/d/cc/d_cc_uty/cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo.s" -} -#pragma pop -#endif - -/* 80088134-8008813C 082A74 0008+00 0/0 1/0 0/0 .text checkCutJumpCancelTurn__9daPy_py_cCFv */ -int daPy_py_c::checkCutJumpCancelTurn() const { - return 0; + return i_AtInfo->mpActor; } diff --git a/src/d/com/d_com_inf_game.cpp b/src/d/com/d_com_inf_game.cpp index 251fc12224..a893a9396f 100644 --- a/src/d/com/d_com_inf_game.cpp +++ b/src/d/com/d_com_inf_game.cpp @@ -4,14 +4,15 @@ // #include "d/com/d_com_inf_game.h" +#include "JSystem/JKernel/JKRAramArchive.h" #include "JSystem/JKernel/JKRExpHeap.h" -#include "stdio.h" #include "d/a/d_a_alink.h" #include "d/d_item.h" #include "d/d_procname.h" #include "d/d_simple_model.h" #include "d/d_timer.h" #include "d/map/d_map_path_dmap.h" +#include "d/menu/d_menu_fmap.h" #include "dol2asm.h" #include "dolphin/os.h" #include "f_op/f_op_scene_mng.h" @@ -19,6 +20,7 @@ #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" +#include "stdio.h" // // Forward References: @@ -471,54 +473,63 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Talked with Yeta after giving Cheese - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[163])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[163])) + { o_layer = 2; } // Talked with Yeta after giving Pumpkin - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[162])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[162])) + { o_layer = 1; } } // Stage is Faron Woods - else if (!strcmp(i_stageName, "F_SP108")) { + else if (!strcmp(i_stageName, "F_SP108")) + { // Cleared Snowpeak Ruins if (i_dComIfGs_isEventBit(0x2008)) { o_layer = 5; } // Completed Midna's Desperate Hour - else if (i_dComIfGs_isEventBit(0x1E08)) { + else if (i_dComIfGs_isEventBit(0x1E08)) + { o_layer = 3; } // Cleared Forest Temple - else if (i_dComIfGs_isEventBit(0x0602)) { + else if (i_dComIfGs_isEventBit(0x0602)) + { o_layer = 2; } // Haven't finished Ordon Day 2 - else if (!i_dComIfGs_isEventBit(0x4510)) { + else if (!i_dComIfGs_isEventBit(0x4510)) + { o_layer = 1; } } // Stage is Faron Woods Interiors - else if (!strcmp(i_stageName, "R_SP108")) { + else if (!strcmp(i_stageName, "R_SP108")) + { // Cleared Forest Temple if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[55])) { o_layer = 2; } // Haven't finished Ordon Day 2 - else if (!i_dComIfGs_isEventBit(0x4510)) { + else if (!i_dComIfGs_isEventBit(0x4510)) + { o_layer = 1; } } // Stage is Kakariko Village or Kakariko Graveyard - else if (!strcmp(i_stageName, "F_SP109") || !strcmp(i_stageName, "F_SP111")) { + else if (!strcmp(i_stageName, "F_SP109") || !strcmp(i_stageName, "F_SP111")) + { // Obtained Zora's Armor if (i_dComIfGs_isEventBit(0x0804)) { o_layer = 2; @@ -526,37 +537,45 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Finished Telma Wagon Escort - else if (i_dComIfGs_isEventBit(0x0810)) { + else if (i_dComIfGs_isEventBit(0x0810)) + { o_layer = 4; } // Watched cutscene after leaving Goron Mines - else if (i_dComIfGs_isEventBit(0x1320)) { + else if (i_dComIfGs_isEventBit(0x1320)) + { o_layer = 2; dComIfG_get_timelayer(&o_layer); } // Cleared Goron Mines - else if (i_dComIfGs_isEventBit(0x0701)) { + else if (i_dComIfGs_isEventBit(0x0701)) + { o_layer = 12; } // Defeated King Bulblin 1 - else if (i_dComIfGs_isEventBit(0x0A08)) { + else if (i_dComIfGs_isEventBit(0x0A08)) + { o_layer = 2; dComIfG_get_timelayer(&o_layer); } // King Bulblin 1 trigger activated - else if (i_dComIfGs_isEventBit(0x0608)) { + else if (i_dComIfGs_isEventBit(0x0608)) + { o_layer = 1; } } // Stage is Kakariko Village Interiors or Graveyard Interiors - else if (!strcmp(i_stageName, "R_SP109") || !strcmp(i_stageName, "R_SP209")) { + else if (!strcmp(i_stageName, "R_SP109") || !strcmp(i_stageName, "R_SP209")) + { // Stage is Kakariko Interiors and room is Barnes shop and Cleared Lakebed Temple - if (!strcmp(i_stageName, "R_SP109") && i_roomNo == 1 && i_dComIfGs_isEventBit(0x0904)) { + if (!strcmp(i_stageName, "R_SP109") && i_roomNo == 1 && + i_dComIfGs_isEventBit(0x0904)) + { o_layer = 4; dComIfG_get_timelayer(&o_layer); } else { @@ -567,14 +586,16 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // King Bulblin 1 trigger activated - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[53])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[53])) + { o_layer = 1; } } } // Stage is Death Mountain - else if (!strcmp(i_stageName, "F_SP110")) { + else if (!strcmp(i_stageName, "F_SP110")) + { // Cleared Goron Mines if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[64])) { o_layer = 2; @@ -582,24 +603,28 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Death Mountain Interiors - else if (!strcmp(i_stageName, "R_SP110")) { + else if (!strcmp(i_stageName, "R_SP110")) + { // Returned Wood Statue to Ilia if (i_dComIfGs_isEventBit(0x2320)) { o_layer = 3; } // Cleared Temple of Time - else if (i_dComIfGs_isEventBit(0x2004)) { + else if (i_dComIfGs_isEventBit(0x2004)) + { o_layer = 4; } // Obtained Master Sword - else if (i_dComIfGs_isEventBit(0x2020)) { + else if (i_dComIfGs_isEventBit(0x2020)) + { o_layer = 2; } // Cleared Goron Mines - else if (i_dComIfGs_isEventBit(0x0701)) { + else if (i_dComIfGs_isEventBit(0x0701)) + { o_layer = 1; } } @@ -607,7 +632,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room // Stage is Lake Hylia, Castle Town, Telma's Bar, or R_SP115 (removed) else if (!strcmp(i_stageName, "F_SP115") || !strcmp(i_stageName, "F_SP116") || (!strcmp(i_stageName, "R_SP116") && i_roomNo == 5) || - !strcmp(i_stageName, "R_SP115")) { + !strcmp(i_stageName, "R_SP115")) + { // Stage is Lake Hylia and room is Lake if (!strcmp(i_stageName, "F_SP115") && i_roomNo == 0) { // Repaired Sky Cannon @@ -616,24 +642,28 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Warped Sky Cannon to Lake Hylia - else if (i_dComIfGs_isEventBit(0x3120)) { + else if (i_dComIfGs_isEventBit(0x3120)) + { o_layer = 1; } // Cleared Lakebed Temple - else if (i_dComIfGs_isEventBit(0x0904)) { + else if (i_dComIfGs_isEventBit(0x0904)) + { o_layer = 2; } } // Stage is Telma's Bar and room is Bar and Obtained Master Sword else if (!strcmp(i_stageName, "R_SP116") && i_roomNo == 5 && - i_dComIfGs_isEventBit(0x2020)) { + i_dComIfGs_isEventBit(0x2020)) + { o_layer = 4; } // Completed Midna's Desperate Hour and Stage is Castle Town - else if (i_dComIfGs_isEventBit(0x1E08) && !strcmp(i_stageName, "F_SP116")) { + else if (i_dComIfGs_isEventBit(0x1E08) && !strcmp(i_stageName, "F_SP116")) + { // Room is not East, South, or North Castle Town if (i_roomNo != 4 && i_roomNo != 3 && i_roomNo != 1) { o_layer = 0; @@ -646,7 +676,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room // Stage is Lake Hylia and room is Fountain and haven't started Midna's // Desperate Hour if ((!strcmp(i_stageName, "F_SP115") && i_roomNo == 1) && - !i_dComIfGs_isEventBit(0x0C01)) { + !i_dComIfGs_isEventBit(0x0C01)) + { o_layer = 9; } else { o_layer = 2; @@ -655,7 +686,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room // Stage is Castle Town and room is South Castle Town and Finished Telma // Wagon Escort if ((!strcmp(i_stageName, "F_SP116") && i_roomNo == 3) && - i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68])) { + i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68])) + { o_layer = 1; } } @@ -663,7 +695,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Zora's Domain - else if (!strcmp(i_stageName, "F_SP113")) { + else if (!strcmp(i_stageName, "F_SP113")) + { // Cleared Snowpeak Ruins if (i_dComIfGs_isEventBit(0x2008)) { o_layer = 2; @@ -671,7 +704,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Upper Zora's River - else if (!strcmp(i_stageName, "F_SP126")) { + else if (!strcmp(i_stageName, "F_SP126")) + { // Unlocked Iza's River Ride (1) if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[95])) { o_layer = 1; @@ -679,7 +713,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Gerudo Desert and room is Desert - else if (!strcmp(i_stageName, "F_SP124") && i_roomNo == 0) { + else if (!strcmp(i_stageName, "F_SP124") && i_roomNo == 0) + { o_layer = 8; // Used Sky Cannon to go to Desert @@ -689,20 +724,23 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Zora's River - else if (!strcmp(i_stageName, "F_SP112")) { + else if (!strcmp(i_stageName, "F_SP112")) + { // Unlocked Iza's River Ride (1) if (i_dComIfGs_isEventBit(0x0B01)) { o_layer = 1; } // Started Iza's River Ride (1) - else if (i_dComIfGs_isEventBit(0x0902)) { + else if (i_dComIfGs_isEventBit(0x0902)) + { o_layer = 2; } } // Stage is Ordon Village - else if (!strcmp(i_stageName, "F_SP103")) { + else if (!strcmp(i_stageName, "F_SP103")) + { // Room is Main Village if (i_roomNo == 0) { // Tamed Epona @@ -712,23 +750,27 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Cleared Faron Twilight - else if (dComIfGs_isDarkClearLV(0)) { + else if (dComIfGs_isDarkClearLV(0)) + { o_layer = 2; dComIfG_get_timelayer(&o_layer); } // Escaped Hyrule Castle Sewers (1st Time) - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) + { o_layer = 1; } // Finished Ordon Day 2 - else if (i_dComIfGs_isEventBit(0x4510)) { + else if (i_dComIfGs_isEventBit(0x4510)) + { o_layer = 7; } // Finished Ordon Day 1 - else if (i_dComIfGs_isEventBit(0x4A40)) { + else if (i_dComIfGs_isEventBit(0x4A40)) + { o_layer = 0; } else { o_layer = 6; @@ -736,24 +778,28 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Room is Outside Link's House - else if (i_roomNo == 1) { + else if (i_roomNo == 1) + { // Cleared Faron Twilight if (dComIfGs_isDarkClearLV(0)) { o_layer = 2; } // Escaped Hyrule Castle Sewers (1st Time) - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) + { o_layer = 1; } // Finished Ordon Day 2 - else if (i_dComIfGs_isEventBit(0x4510)) { + else if (i_dComIfGs_isEventBit(0x4510)) + { o_layer = 0; } // Finished Ordon Day 1 - else if (i_dComIfGs_isEventBit(0x4A40)) { + else if (i_dComIfGs_isEventBit(0x4A40)) + { o_layer = 4; } else { o_layer = 3; @@ -762,7 +808,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Ordon Village Interiors - else if (!strcmp(i_stageName, "R_SP01")) { + else if (!strcmp(i_stageName, "R_SP01")) + { // Room is Sera's Shop if (i_roomNo == 1) { // Cleared Faron Twilight @@ -772,39 +819,45 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Room is Shield house - else if (i_roomNo == 2) { + else if (i_roomNo == 2) + { // Watched cutscene after defeating King Bulblin 1 if (i_dComIfGs_isEventBit(0x0780)) { o_layer = 3; } // Cleared Faron Twilight - else if (dComIfGs_isDarkClearLV(0)) { + else if (dComIfGs_isDarkClearLV(0)) + { o_layer = 2; } // Escaped Hyrule Castle Sewers (1st Time) - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) + { o_layer = 1; } } // Room is Rusl and Uli's house - else if (i_roomNo == 5) { + else if (i_roomNo == 5) + { // Tamed Epona if (i_dComIfGs_isEventBit(0x0601)) { o_layer = 4; } // Cleared Faron Twilight - else if (dComIfGs_isDarkClearLV(0)) { + else if (dComIfGs_isDarkClearLV(0)) + { o_layer = 2; } } } // Stage is Ordon Spring - else if (!strcmp(i_stageName, "F_SP104")) { + else if (!strcmp(i_stageName, "F_SP104")) + { // Room is Ordon Spring if (i_roomNo == 1) { // Cleared Faron Twilight @@ -813,17 +866,20 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Escaped Hyrule Castle Sewers (1st Time) - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) + { o_layer = 4; } // Finished Ordon Day 2 - else if (i_dComIfGs_isEventBit(0x4510)) { + else if (i_dComIfGs_isEventBit(0x4510)) + { o_layer = 0; } // Finished Ordon Day 1 - else if (i_dComIfGs_isEventBit(0x4A20)) { + else if (i_dComIfGs_isEventBit(0x4A20)) + { o_layer = 3; } else { o_layer = 1; @@ -831,18 +887,21 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Cleared Faron Twilight - else if (dComIfGs_isDarkClearLV(0)) { + else if (dComIfGs_isDarkClearLV(0)) + { o_layer = 2; } // Escaped Hyrule Castle Sewers (1st Time) - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) + { o_layer = 4; } } // Stage is Ordon Ranch - else if (!strcmp(i_stageName, "F_SP00")) { + else if (!strcmp(i_stageName, "F_SP00")) + { // Cleared Faron Twilight if (dComIfGs_isDarkClearLV(0)) { o_layer = 2; @@ -850,22 +909,26 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Escaped Hyrule Castle Sewers (1st Time) - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[47])) + { o_layer = 1; } // Watched cutscene after herding goats on Ordon Day 3 - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[169])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[169])) + { o_layer = 10; } // Finished Ordon Day 2 - else if (i_dComIfGs_isEventBit(0x4510)) { + else if (i_dComIfGs_isEventBit(0x4510)) + { o_layer = 9; } // Finished Ordon Day 1 - else if (i_dComIfGs_isEventBit(0x4A40)) { + else if (i_dComIfGs_isEventBit(0x4A40)) + { o_layer = 11; } else { o_layer = 12; @@ -873,23 +936,27 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Hyrule Field - else if (!strcmp(i_stageName, "F_SP121")) { + else if (!strcmp(i_stageName, "F_SP121")) + { // Completed Midna's Desperate Hour if (i_dComIfGs_isEventBit(0x1E08)) { o_layer = 6; } // Started Midna's Desperate Hour - else if (i_dComIfGs_isEventBit(0x0C01)) { + else if (i_dComIfGs_isEventBit(0x0C01)) + { o_layer = 4; } // Finished Telma Wagon Escort - else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68])) { + else if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[68])) + { o_layer = 0; } - else if (dComIfGs_isTmpBit(0x0601)) { + else if (dComIfGs_isTmpBit(0x0601)) + { if (dComIfGs_isTmpBit(0x0602)) { o_layer = 2; } else { @@ -899,7 +966,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Outside Castle Town - else if (!strcmp(i_stageName, "F_SP122")) { + else if (!strcmp(i_stageName, "F_SP122")) + { // Room is Outside Castle Town - West if (i_roomNo == 8) { // Completed Midna's Desperate Hour @@ -908,57 +976,66 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Started Midna's Desperate Hour - else if (i_dComIfGs_isEventBit(0x0C01)) { + else if (i_dComIfGs_isEventBit(0x0C01)) + { o_layer = 4; } } // Room is Outside Castle Town - South - else if (i_roomNo == 16) { + else if (i_roomNo == 16) + { // Obtained Wood Statue if (i_dComIfGs_isEventBit(0x2204)) { o_layer = 6; } // Talked to Louise after getting Medicine Scent - else if (i_dComIfGs_isEventBit(0x2102)) { + else if (i_dComIfGs_isEventBit(0x2102)) + { o_layer = 1; } // Completed Midna's Desperate Hour - else if (i_dComIfGs_isEventBit(0x1E08)) { + else if (i_dComIfGs_isEventBit(0x1E08)) + { o_layer = 6; } // Started Midna's Desperate Hour - else if (i_dComIfGs_isEventBit(0x0C01)) { + else if (i_dComIfGs_isEventBit(0x0C01)) + { o_layer = 4; } } // Room is Outside Castle Town - East - else if (i_roomNo == 17) { + else if (i_roomNo == 17) + { // Completed Midna's Desperate Hour if (i_dComIfGs_isEventBit(0x1E08)) { o_layer = 0; } // Started Midna's Desperate Hour - else if (i_dComIfGs_isEventBit(0x0C01)) { + else if (i_dComIfGs_isEventBit(0x0C01)) + { o_layer = 4; } } } // Stage is Hidden Village - else if (!strcmp(i_stageName, "F_SP128")) { + else if (!strcmp(i_stageName, "F_SP128")) + { if (i_dComIfGs_isEventBit(0x2320)) { o_layer = 1; } } // Stage is Castle Town Interiors - else if (!strcmp(i_stageName, "R_SP160")) { + else if (!strcmp(i_stageName, "R_SP160")) + { // Room is Jovani's house if (i_roomNo == 5) { // Completed Midna's Desperate Hour @@ -970,13 +1047,15 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Fundraised Malo Mart Castle Town branch - else if (i_dComIfGs_isEventBit(0x2210)) { + else if (i_dComIfGs_isEventBit(0x2210)) + { o_layer = 1; } } // Stage is Sacred Grove - else if (!strcmp(i_stageName, "F_SP117")) { + else if (!strcmp(i_stageName, "F_SP117")) + { // Cleared Snowpeak Ruins if (i_dComIfGs_isEventBit(0x2008)) { o_layer = 2; @@ -984,25 +1063,29 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Bulblin Camp - else if (!strcmp(i_stageName, "F_SP118")) { + else if (!strcmp(i_stageName, "F_SP118")) + { // Fixed the Mirror of Twilight if (i_dComIfGs_isEventBit(0x2B08)) { o_layer = 3; } // Cleared Arbiter's Grounds - else if (i_dComIfGs_isEventBit(0x2010)) { + else if (i_dComIfGs_isEventBit(0x2010)) + { o_layer = 2; } // Escaped the burning tent - else if (i_dComIfGs_isEventBit(0x0B40)) { + else if (i_dComIfGs_isEventBit(0x0B40)) + { o_layer = 1; } } // Stage is Faron Woods Cave - else if (!strcmp(i_stageName, "D_SB10")) { + else if (!strcmp(i_stageName, "D_SB10")) + { // Finished Ordon Day 2 if (i_dComIfGs_isEventBit(0x4510)) { o_layer = 1; @@ -1010,14 +1093,16 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Hyrule Castle Sewers - else if (!strcmp(i_stageName, "R_SP107")) { + else if (!strcmp(i_stageName, "R_SP107")) + { if (dComIfGs_isTransformLV(3)) { o_layer = 13; } } // Stage is Hyrule Castle - else if (!strcmp(i_stageName, "D_MN09")) { + else if (!strcmp(i_stageName, "D_MN09")) + { // Room is not Entrance, Outside Left Wing, or Outside Right Wing if (i_roomNo != 11 && i_roomNo != 13 && i_roomNo != 14) { o_layer = 1; @@ -1025,7 +1110,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } // Stage is Fishing Pond or Hena's Hut - else if (!strcmp(i_stageName, "F_SP127") || !strcmp(i_stageName, "R_SP127")) { + else if (!strcmp(i_stageName, "F_SP127") || !strcmp(i_stageName, "R_SP127")) + { switch (g_env_light.mPondSeason) { case 1: o_layer = 0; @@ -1052,9 +1138,10 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room // Hyrule Field, Upper Zora's River, or Outside Castle Town if (!strcmp(i_stageName, "F_SP112") || !strcmp(i_stageName, "F_SP113") || !strcmp(i_stageName, "F_SP115") || !strcmp(i_stageName, "F_SP116") || - (!strcmp(i_stageName, "R_SP116") && i_roomNo == 5) || !strcmp(i_stageName, "R_SP115") || - !strcmp(i_stageName, "F_SP121") || !strcmp(i_stageName, "F_SP126") || - !strcmp(i_stageName, "F_SP122")) { + (!strcmp(i_stageName, "R_SP116") && i_roomNo == 5) || + !strcmp(i_stageName, "R_SP115") || !strcmp(i_stageName, "F_SP121") || + !strcmp(i_stageName, "F_SP126") || !strcmp(i_stageName, "F_SP122")) + { // Stage is Hyrule Field if (!strcmp(i_stageName, "F_SP121")) { if (roomNo >= 9 && roomNo <= 14) { @@ -1074,7 +1161,8 @@ int dComIfG_play_c::getLayerNo_common_common(const char* i_stageName, int i_room } } // Stage and room is Zant Throne Room - else if (!strcmp(i_stageName, "D_MN08A") && i_roomNo == 10) { + else if (!strcmp(i_stageName, "D_MN08A") && i_roomNo == 10) + { // Defeated Zant if (i_dComIfGs_isEventBit(0x5410)) { o_layer = 1; @@ -1227,10 +1315,10 @@ void dComIfG_inf_c::ct() { } /* 80450600-80450604 000080 0004+00 0/0 18/18 2/2 .sdata g_clearColor */ -SECTION_SDATA extern GXColor g_clearColor = {0, 0, 0, 0}; +GXColor g_clearColor = {0, 0, 0, 0}; /* 80450604-80450608 000084 0004+00 1/1 10/10 15/15 .sdata g_blackColor */ -SECTION_SDATA extern GXColor g_blackColor = {0, 0, 0, 255}; +GXColor g_blackColor = {0, 0, 0, 255}; /* 8002CC54-8002CD44 027594 00F0+00 1/1 1/1 0/0 .text dComIfG_changeOpeningScene__FP11scene_classs */ @@ -1254,7 +1342,8 @@ int dComIfG_changeOpeningScene(scene_class* i_scene, s16 i_procName) { /* 8002CD44-8002CDB8 027684 0074+00 0/0 2/2 0/0 .text dComIfG_resetToOpening__FP11scene_class */ BOOL dComIfG_resetToOpening(scene_class* i_scene) { if (mDoRst::isReturnToMenu() || !mDoRst::isReset() || - mDoGph_gInf_c::getFader()->getStatus() == 2) { + mDoGph_gInf_c::getFader()->getStatus() == 2) + { return 0; } @@ -1280,8 +1369,12 @@ static int phase_2(char* i_arcName) { if (syncStatus < 0) { OSReport_Error("%s.arc Sync Read Error !!\n", i_arcName); return cPhs_ERROR_e; + } + + if (syncStatus > 0) { + return cPhs_INIT_e; } else { - return syncStatus > 0 ? 0 : 2; + return cPhs_NEXT_e; } } @@ -1306,30 +1399,35 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_arcNa /* 8002CEFC-8002CF5C 02783C 0060+00 1/0 0/0 0/0 .text phase_01__FP12phaseParam_c */ static int phase_01(phaseParam_c* i_phasePrm) { if (dComIfG_setObjectRes(i_phasePrm->mResName, (u8)0, i_phasePrm->mpHeap) == 0) { - return 5; + return cPhs_ERROR_e; } - return 2; + return cPhs_NEXT_e; } /* 8002CF5C-8002CFB8 02789C 005C+00 1/0 0/0 0/0 .text phase_02__FP12phaseParam_c */ static int phase_02(phaseParam_c* i_phasePrm) { int syncStatus = dComIfG_syncObjectRes(i_phasePrm->mResName); if (syncStatus < 0) { - return 5; + return cPhs_ERROR_e; + } + + if (syncStatus > 0) { + return cPhs_INIT_e; } else { - return syncStatus > 0 ? 0 : 2; + return cPhs_NEXT_e; } } /* 8002CFB8-8002CFC0 0278F8 0008+00 1/0 0/0 0/0 .text phase_03__FP12phaseParam_c */ static int phase_03(phaseParam_c*) { - return 0; + return cPhs_INIT_e; } /* 8002CFC0-8002D008 027900 0048+00 1/1 3/3 0/0 .text * dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap */ -int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resName, JKRHeap* i_heap) { +int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resName, + JKRHeap* i_heap) { static int (*l_method[3])(void*) = {(int (*)(void*))phase_01, (int (*)(void*))phase_02, (int (*)(void*))phase_03}; @@ -1359,13 +1457,14 @@ s8 dComIfGp_getReverb(int i_roomNo) { /* 8002D0B4-8002D1AC 0279F4 00F8+00 0/0 3/3 34/34 .text * dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj */ -int dComIfGd_setSimpleShadow(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 i_angle, - f32 param_5, GXTexObj* i_tex) { +int dComIfGd_setSimpleShadow(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, + s16 i_angle, f32 param_5, GXTexObj* i_tex) { if (param_3.ChkSetInfo() && -1000000000.0f != param_1) { cM3dGPla plane; dComIfG_Bgsp().GetTriPla(param_3, &plane); - return dComIfGd_setSimpleShadow(i_pos, param_1, param_2, &plane.mNormal, i_angle, param_5, i_tex); + return dComIfGd_setSimpleShadow(i_pos, param_1, param_2, &plane.mNormal, i_angle, param_5, + i_tex); } else { return 0; } @@ -1415,15 +1514,16 @@ stage_arrow_class* dComIfGp_getRoomArrow(int i_roomNo) { } /* 8002D2FC-8002D554 027C3C 0258+00 2/2 7/7 4/4 .text dComIfGp_setNextStage__FPCcsScScfUliScsii */ -void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer, f32 i_lastSpeed, - u32 i_lastMode, int i_setPoint, s8 i_wipe, s16 i_lastAngle, int param_9, - int i_wipeSpeedT) { +void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_layer, + f32 i_lastSpeed, u32 i_lastMode, int i_setPoint, s8 i_wipe, + s16 i_lastAngle, int param_9, int i_wipeSpeedT) { if (i_layer >= 15) { i_layer = -1; } if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() && - daPy_getLinkPlayerActorClass() != NULL) { + daPy_getLinkPlayerActorClass() != NULL) + { s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.roomNo; cXyz pos = dMapInfo_n::getMapPlayerPos(); s16 angle = daPy_getLinkPlayerActorClass()->shape_angle.y; @@ -1433,7 +1533,9 @@ void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_l } // Set Key Num to 2 if loading Wagon Escort after King Bulblin 2 - if (!strcmp(i_stage, "F_SP121") && i_roomNo == 13 && (i_point == 99 || i_point == 98) && i_layer == 2) { + if (!strcmp(i_stage, "F_SP121") && i_roomNo == 13 && (i_point == 99 || i_point == 98) && + i_layer == 2) + { dComIfGs_setKeyNum(6, 2); } else { dComIfGs_setKeyNum(6, 0); @@ -1558,15 +1660,21 @@ s8 dComIfGs_sense_type_change_Get() { } /* 8002D94C-8002D9B0 02828C 0064+00 0/0 1/1 17/17 .text dComIfGs_onZoneSwitch__Fii */ +// matches debug but not retail :/ #ifdef NONMATCHING -void dComIfGs_onZoneSwitch(int swBit, int roomNo) { - if (roomNo < 0) { - return; +void dComIfGs_onZoneSwitch(int i_swBit, int i_roomNo) { + int zone_no; + int room_no; + + if (i_roomNo >= 0) { + room_no = i_roomNo; + } else { + room_no = dComIfGp_roomControl_getStayNo(); } - if (dComIfGp_roomControl_getStayNo() >= 0) { - int zoneNo = dStage_roomControl_c::getZoneNo(roomNo); - dComIfGs_onSvZoneSwitch(zoneNo, swBit); + if (room_no >= 0) { + zone_no = dComIfGp_roomControl_getZoneNo(room_no); + dComIfGs_onSvZoneSwitch(zone_no, i_swBit); } } #else @@ -1648,8 +1756,7 @@ asm BOOL dComIfGs_isZoneItem(int param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm BOOL dComIfGs_isOneZoneItem(int param_0, int param_1) { - nofralloc +asm BOOL dComIfGs_isOneZoneItem(int param_0, int param_1){nofralloc #include "asm/d/com/d_com_inf_game/dComIfGs_isOneZoneItem__Fii.s" } #pragma pop @@ -1717,7 +1824,8 @@ u8 dComIfGp_getSelectItem(int i_selItemIdx) { u8 playItem = g_dComIfG_gameInfo.play.getSelectItem(i_selItemIdx); if ((i_selItemIdx == SELECT_ITEM_X || i_selItemIdx == SELECT_ITEM_Y) && - dComIfGs_getMixItemIndex(i_selItemIdx) != 0xFF) { + dComIfGs_getMixItemIndex(i_selItemIdx) != 0xFF) + { u8 saveItem = dComIfGs_getItem(dComIfGs_getMixItemIndex(i_selItemIdx), false); if (saveItem == BOW) { @@ -1758,15 +1866,15 @@ u8 dComIfGp_getSelectItem(int i_selItemIdx) { } void dComIfGp_mapShow() { - dComIfGs_offEventBit(0x1D01); + dComIfGs_offEventBit(dSv_event_flag_c::MAP_VISIBLE); } void dComIfGp_mapHide() { - dComIfGs_onEventBit(0x1D01); + dComIfGs_onEventBit(dSv_event_flag_c::MAP_VISIBLE); } bool dComIfGp_checkMapShow() { - return !i_dComIfGs_isEventBit(0x1D01); + return !i_dComIfGs_isEventBit(dSv_event_flag_c::MAP_VISIBLE); } /* 8002E0E0-8002E188 028A20 00A8+00 0/0 9/9 0/0 .text dComIfGp_setHeapLockFlag__FUc */ @@ -1879,7 +1987,8 @@ u8 dComIfGs_checkGetInsectNum() { u8 insectId = *insectList; insectList++; if (i_dComIfGs_isItemFirstBit(insectId) && - i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x191 + i])) { + i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x191 + i])) + { insectCount++; } } @@ -1920,7 +2029,8 @@ s16 dComIfGp_getSelectItemNum(int i_selItemIdx) { s16 itemNum = 0; if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB || - selectItem == BOMB_ARROW) { + selectItem == BOMB_ARROW) + { selectItem = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15; itemNum = dComIfGs_getBombNum(selectItem); } else if (selectItem == PACHINKO) { @@ -1940,7 +2050,8 @@ int dComIfGp_getSelectItemMaxNum(int i_selItemIdx) { if (selectItem == BOMB_BAG_LV1) { itemNum = 1; } else if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB || - selectItem == BOMB_ARROW) { + selectItem == BOMB_ARROW) + { itemNum = dComIfGs_getBombMax(selectItem); } else if (selectItem == PACHINKO) { itemNum = dComIfGs_getPachinkoMax(); @@ -1956,7 +2067,8 @@ void dComIfGp_setSelectItemNum(int i_selItemIdx, s16 i_num) { u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx); if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB || - selectItem == BOMB_ARROW) { + selectItem == BOMB_ARROW) + { u8 mix_slotNo = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15; if (i_num > dComIfGs_getBombMax(selectItem)) { @@ -1980,7 +2092,8 @@ void dComIfGp_addSelectItemNum(int i_selItemIdx, s16 i_num) { u8 selectItem = dComIfGp_getSelectItem(i_selItemIdx); if (selectItem == NORMAL_BOMB || selectItem == WATER_BOMB || selectItem == POKE_BOMB || - selectItem == BOMB_ARROW) { + selectItem == BOMB_ARROW) + { u8 slot_no = dComIfGs_getSelectMixItemNoArrowIndex(i_selItemIdx) - SLOT_15; dComIfGp_setItemBombNumCount(slot_no, i_num); } else if (selectItem == PACHINKO) { @@ -2017,38 +2130,130 @@ u32 dComIfG_getTrigA(u32 i_padNo) { return mDoCPd_c::getTrigA(i_padNo); } -/* ############################################################################################## */ -/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037908A = "dat/field.dat"; -#pragma pop +struct field_data_header { + /* 0x00 */ u32 field_0x0; + /* 0x04 */ u32 field_0x4; + /* 0x08 */ u32 field_0x8; + /* 0x0C */ u32 field_0xc; + /* 0x10 */ u32 field_0x10; + /* 0x14 */ u32 field_0x14; +}; -/* 80451D18-80451D1C 000318 0004+00 1/1 0/0 0/0 .sdata2 @6980 */ -SECTION_SDATA2 static f32 lit_6980 = -90300.0f; - -/* 80451D1C-80451D20 00031C 0004+00 1/1 0/0 0/0 .sdata2 @6981 */ -SECTION_SDATA2 static f32 lit_6981 = 51800.0f; +struct field_data { + /* 0x00 */ char stage_name[8]; + /* 0x08 */ u8 room_no; + /* 0x09 */ u8 region_no; + /* 0x0A */ u8 field_0xa[0x14 - 0xA]; +}; /* 8002E9F0-8002EC54 029330 0264+00 0/0 1/1 0/0 .text dComIfGp_calcNowRegion__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dComIfGp_calcNowRegion() { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfGp_calcNowRegion__Fv.s" +void dComIfGp_calcNowRegion() { + u8 buffer[0x800] ALIGN_DECL(32); + + dComIfGp_getFieldMapArchive2()->readResource(buffer, 0x800, "dat/field.dat"); + u8* entry_num_p = &buffer[((field_data_header*)buffer)->field_0x4]; + u8* entries_p = entry_num_p + 4; + + for (int i = 0; i < 64; i++) { + dStage_roomControl_c::setRegionNo(i, 0xFF); + } + + dComIfGs_offPlayerFieldLastStayFieldDataExistFlag(); + + if (!dComIfGs_isTmpBit(dSv_event_tmp_flag_c::NO_TELOP)) { + if (strcmp(dComIfGp_getStartStageName(), "F_SP104") != 0 || + dComIfG_play_c::getLayerNo(0) != 12) + { + if (strcmp(dComIfGp_getStartStageName(), "F_SP115") == 0 && + dComIfGp_getStartStageRoomNo() == 1) + { + cXyz pos(dComIfGs_getPlayerFieldLastStayPos()); + pos.x = -90300.0f; + pos.z = 51800.0f; + + dComIfGs_setPlayerFieldLastStayInfo(dComIfGp_getStartStageName(), pos, 0, 0, 4); + } else { + for (int i = 0; i < *entry_num_p; i++) { + field_data* data = (field_data*)entries_p; + + if (strcmp(dMenuFmap_getStartStageName(buffer), data[i].stage_name) == 0) { + if (data[i].room_no == 0xFF) { + for (int j = 0; j < 64; j++) { + if (dStage_roomControl_c::getRegionNo(j) == 0xFF) { + dStage_roomControl_c::setRegionNo(j, data[i].region_no); + } + } + } else { + dStage_roomControl_c::setRegionNo(data[i].room_no, data[i].region_no); + } + + dComIfGs_onPlayerFieldLastStayFieldDataExistFlag(); + } + } + } + } + } + + if (!dComIfGs_isPlayerFieldLastStayFieldDataExistFlag()) { + for (int i = 0; i < 64; i++) { + dStage_roomControl_c::setRegionNo(i, dComIfGs_getPlayerFieldLastStayRegionNo()); + } + } + + dComIfGp_getFieldMapArchive2()->removeResourceAll(); } -#pragma pop /* 8002EC54-8002EDE0 029594 018C+00 1/1 0/0 0/0 .text dComIfG_getNowCalcRegion__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm u8 dComIfG_getNowCalcRegion() { - nofralloc -#include "asm/d/com/d_com_inf_game/dComIfG_getNowCalcRegion__Fv.s" +u8 dComIfG_getNowCalcRegion() { + u8 buffer[0x800] ALIGN_DECL(32); + + dComIfGp_getFieldMapArchive2()->readResource(buffer, 0x800, "dat/field.dat"); + u8* entry_num_p = &buffer[((field_data_header*)buffer)->field_0x4]; + u8* entries_p = entry_num_p + 4; + + bool var_r26 = false; + + u8 sp20[64]; + for (int i = 0; i < 64; i++) { + sp20[i] = 0xFF; + } + + for (int i = 0; i < *entry_num_p; i++) { + field_data* data = (field_data*)entries_p; + + if (strcmp(dMenuFmap_getStartStageName(buffer), data[i].stage_name) == 0) { + if (data[i].room_no == 0xFF) { + for (int j = 0; j < 64; j++) { + if (sp20[j] == 0xFF) { + sp20[j] = data[i].region_no; + } + } + } else { + sp20[data[i].room_no] = data[i].region_no; + } + + var_r26 = true; + } + } + + dComIfGp_getFieldMapArchive2()->removeResourceAll(); + + if (var_r26) { + int room_no = -1; + + if (daPy_getLinkPlayerActorClass() != NULL) { + room_no = fopAcM_GetRoomNo(daPy_getLinkPlayerActorClass()); + } + + if (room_no < 0) { + room_no = dComIfGp_getStartStageRoomNo(); + } + + return sp20[room_no]; + } + + return 0xFF; } -#pragma pop BOOL dComIfGp_isLightDropMapVisible() { for (int i = 0; i < 3; i++) { @@ -2136,8 +2341,8 @@ static void dComIfGs_setWarpItemData(int, char const* i_stage, cXyz i_pos, s16 i g_dComIfG_gameInfo.play.setWarpItemData(i_stage, i_pos, i_angle, i_roomNo, param_5, param_6); } -void dComIfG_play_c::setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, u8 param_4, - u8 param_5) { +void dComIfG_play_c::setWarpItemData(char const* i_stage, cXyz i_pos, s16 i_angle, s8 i_roomNo, + u8 param_4, u8 param_5) { strcpy(mWarpItemStage, i_stage); mWarpItemPos.set(i_pos); mWarpItemAngle = i_angle; @@ -2183,30 +2388,30 @@ void dComIfGs_setWarpMarkFlag(u8) {} /* 8002F314-8002F328 029C54 0014+00 0/0 0/0 1/1 .text __ct__19dComIfG_resLoader_cFv */ dComIfG_resLoader_c::dComIfG_resLoader_c() { - field_0x0 = NULL; - field_0x4.id = cPhs_INIT_e; - field_0xc = 0; + mResNameTable = NULL; + mPhase.id = cPhs_INIT_e; + mLoadIndex = 0; } /* 8002F328-8002F3B4 029C68 008C+00 0/0 0/0 1/1 .text __dt__19dComIfG_resLoader_cFv */ dComIfG_resLoader_c::~dComIfG_resLoader_c() { - if (field_0x0 != NULL) { - for (int i = field_0xc; i >= 0; i--) { - dComIfG_resDelete(&field_0x4, field_0x0[i]); - field_0x4.id = cPhs_NEXT_e; + if (mResNameTable != NULL) { + for (int i = mLoadIndex; i >= 0; i--) { + dComIfG_resDelete(&mPhase, mResNameTable[i]); + mPhase.id = cPhs_NEXT_e; } } } /* 8002F3B4-8002F434 029CF4 0080+00 0/0 0/0 1/1 .text load__19dComIfG_resLoader_cFPPCcP7JKRHeap */ int dComIfG_resLoader_c::load(char const** i_resNameTbl, JKRHeap* i_heap) { - field_0x0 = i_resNameTbl; + mResNameTable = i_resNameTbl; - int phase_state = dComIfG_resLoad(&field_0x4, field_0x0[field_0xc], i_heap); + int phase_state = dComIfG_resLoad(&mPhase, mResNameTable[mLoadIndex], i_heap); if (phase_state == cPhs_COMPLEATE_e) { - if (field_0x0[field_0xc + 1][0] != 0) { - field_0xc++; - field_0x4.id = cPhs_INIT_e; + if (mResNameTable[mLoadIndex + 1][0] != 0) { + mLoadIndex++; + mPhase.id = cPhs_INIT_e; phase_state = cPhs_INIT_e; } } @@ -2348,13 +2553,15 @@ BOOL dComIfGs_Wolf_Change_Check() { // Stage is Hyrule Field and Room is Eldin Gorge Entrance if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && dComIfGp_getStartStageRoomNo() == 2 && - dComIfGp_getStartStagePoint() == 10 && !dComIfGs_isSaveSwitch(12)) { + dComIfGp_getStartStagePoint() == 10 && !dComIfGs_isSaveSwitch(12)) + { is_wolf = false; } // Stage is Hyrule Field and Room is North Lanayru - Eldin Entrance else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && dComIfGp_getStartStageRoomNo() == 9 && dComIfGp_getStartStagePoint() == 10 && - !dComIfGs_isSaveSwitch(13)) { + !dComIfGs_isSaveSwitch(13)) + { is_wolf = false; } @@ -2416,7 +2623,8 @@ u8 dComIfGp_SelectWarpPt_get() { BOOL dComIfGp_TransportWarp_check() { BOOL check = false; if (g_dComIfG_gameInfo.field_0x1de09 != 0xFF && g_dComIfG_gameInfo.field_0x1de0a != 0xFF && - g_dComIfG_gameInfo.field_0x1de09 == g_dComIfG_gameInfo.field_0x1de0a) { + g_dComIfG_gameInfo.field_0x1de09 == g_dComIfG_gameInfo.field_0x1de0a) + { check = true; } return check; @@ -2481,11 +2689,8 @@ u8 dComIfGs_staffroll_next_go_check() { return g_env_light.field_0x130c; } -/* ############################################################################################## */ /* 80450608-8045060C 000088 0004+00 0/0 6/6 11/11 .sdata g_whiteColor */ -SECTION_SDATA extern GXColor g_whiteColor = {255, 255, 255, 255}; +GXColor g_whiteColor = {255, 255, 255, 255}; /* 8045060C-80450610 00008C 0004+00 0/0 3/3 3/3 .sdata g_saftyWhiteColor */ -SECTION_SDATA extern GXColor g_saftyWhiteColor = {160, 160, 160, 255}; - -/* 80378F38-80378F38 005598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +GXColor g_saftyWhiteColor = {160, 160, 160, 255}; diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index a510b25deb..91924d8cf0 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -3827,7 +3827,8 @@ static asm void func_80182804() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getChainGrabActor() { +// asm void daAlink_c::getChainGrabActor() { +extern "C" asm void getChainGrabActor__9daAlink_cFv() { nofralloc #include "asm/d/d_camera/getChainGrabActor__9daAlink_cFv.s" } @@ -3837,7 +3838,8 @@ asm void daAlink_c::getChainGrabActor() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkCokkoGlide() const { +// asm void daAlink_c::checkCokkoGlide() const { +extern "C" asm void checkCokkoGlide__9daAlink_cCFv() { nofralloc #include "asm/d/d_camera/checkCokkoGlide__9daAlink_cCFv.s" } @@ -3847,7 +3849,8 @@ asm void daAlink_c::checkCokkoGlide() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkCameraLargeDamage() const { +// asm void daAlink_c::checkCameraLargeDamage() const { +extern "C" asm void checkCameraLargeDamage__9daAlink_cCFv() { nofralloc #include "asm/d/d_camera/checkCameraLargeDamage__9daAlink_cCFv.s" } @@ -3858,7 +3861,8 @@ asm void daAlink_c::checkCameraLargeDamage() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getHsSubChainTopPos() const { +// asm void daAlink_c::getHsSubChainTopPos() const { +extern "C" asm void getHsSubChainTopPos__9daAlink_cCFv() { nofralloc #include "asm/d/d_camera/getHsSubChainTopPos__9daAlink_cCFv.s" } @@ -3879,7 +3883,8 @@ extern "C" asm void daAlink_getAlinkActorClass__Fv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::checkCutHeadProc() const { +// asm void daAlink_c::checkCutHeadProc() const { +extern "C" asm void checkCutHeadProc__9daAlink_cCFv() { nofralloc #include "asm/d/d_camera/checkCutHeadProc__9daAlink_cCFv.s" } @@ -3889,7 +3894,8 @@ asm void daAlink_c::checkCutHeadProc() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daAlink_c::getRideActor() { +// asm void daAlink_c::getRideActor() { +extern "C" asm void getRideActor__9daAlink_cFv() { nofralloc #include "asm/d/d_camera/getRideActor__9daAlink_cFv.s" } @@ -4007,7 +4013,8 @@ asm void dCamera_c::Bank() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkThrowDamage() const { +// asm void daPy_py_c::checkThrowDamage() const { +extern "C" asm void checkThrowDamage__9daPy_py_cCFv() { nofralloc #include "asm/d/d_camera/checkThrowDamage__9daPy_py_cCFv.s" } @@ -4055,7 +4062,8 @@ extern "C" asm void V__7cSGlobeCFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkGoronSideMove() const { +// asm void daPy_py_c::checkGoronSideMove() const { +extern "C" asm void checkGoronSideMove__9daPy_py_cCFv() { nofralloc #include "asm/d/d_camera/checkGoronSideMove__9daPy_py_cCFv.s" } @@ -4146,7 +4154,8 @@ extern "C" asm bool __gt__7cSAngleCFRC7cSAngle() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::getRightFootPosP() { +// asm void daPy_py_c::getRightFootPosP() { +extern "C" asm void getRightFootPosP__9daPy_py_cFv() { nofralloc #include "asm/d/d_camera/getRightFootPosP__9daPy_py_cFv.s" } @@ -4156,7 +4165,8 @@ asm void daPy_py_c::getRightFootPosP() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::getLeftFootPosP() { +// asm void daPy_py_c::getLeftFootPosP() { +extern "C" asm void getLeftFootPosP__9daPy_py_cFv() { nofralloc #include "asm/d/d_camera/getLeftFootPosP__9daPy_py_cFv.s" } @@ -4171,7 +4181,8 @@ extern "C" u32 getMidnaActor__9daPy_py_cFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkCopyRodThrowAfter() const { +// asm void daPy_py_c::checkCopyRodThrowAfter() const { +extern "C" asm void checkCopyRodThrowAfter__9daPy_py_cCFv() { nofralloc #include "asm/d/d_camera/checkCopyRodThrowAfter__9daPy_py_cCFv.s" } @@ -4186,7 +4197,8 @@ void dAttention_c::keepLock(int param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::checkRide() const { +// asm void daPy_py_c::checkRide() const { +extern "C" asm void checkRide__9daPy_py_cCFv() { nofralloc #include "asm/d/d_camera/checkRide__9daPy_py_cCFv.s" } @@ -4196,7 +4208,8 @@ asm void daPy_py_c::checkRide() const { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daPy_py_c::getRightHandPos() const { +// asm void daPy_py_c::getRightHandPos() const { +extern "C" asm void getRightHandPos__9daPy_py_cCFv() { nofralloc #include "asm/d/d_camera/getRightHandPos__9daPy_py_cCFv.s" } diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 6efa2a5801..7f76d1fcc6 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -280,7 +280,7 @@ extern "C" u8 mWipeDlst__12dDlst_list_c[72]; extern "C" u8 mWipeColor__12dDlst_list_c[4]; extern "C" f32 mWipeRate__12dDlst_list_c; extern "C" f32 mWipeSpeed__12dDlst_list_c[1 + 1 /* padding */]; -extern "C" extern u8 data_80450EE0[8]; +extern "C" extern u8 data_80450EE0; // // External References: @@ -2850,7 +2850,7 @@ SECTION_DEAD static char const* const pad_8037A1BC = "\0\0\0"; dDlst_2DT2_c dDlst_list_c::mWipeDlst; /* 8045065C-80450660 0000DC 0004+00 1/1 0/0 0/0 .sdata mWipeColor__12dDlst_list_c */ -SECTION_SDATA GXColor dDlst_list_c::mWipeColor = {0, 0, 0, 0}; +GXColor dDlst_list_c::mWipeColor = {0, 0, 0, 0}; /* 80450ED0-80450ED4 0003D0 0004+00 2/2 1/1 0/0 .sbss None */ u8 dDlst_list_c::mWipe; @@ -2993,9 +2993,3 @@ SECTION_DATA extern void* __vt__13dDlst_2DTri_c[3] = { (void*)NULL, (void*)draw__13dDlst_2DTri_cFv, }; - -/* 80450EE0-80450EE8 0003E0 0008+00 0/0 1/1 0/0 .sbss None */ -extern u8 data_80450EE0[8]; -u8 data_80450EE0[8] ALIGN_DECL(8); - -/* 8037A1B0-8037A1B0 006810 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp index 406df67a52..c386a4f418 100644 --- a/src/d/d_item.cpp +++ b/src/d/d_item.cpp @@ -1,460 +1,11 @@ -// -// Generated By: dol2asm -// Translation Unit: d/d_item -// +/** + * d_item.cpp + * Item Get Handling + */ #include "d/d_item.h" #include "d/com/d_com_inf_game.h" #include "d/meter/d_meter2_info.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct dEnemyItem_c { - static u8 mData[4 + 4 /* padding */]; -}; - -// -// Forward References: -// - -extern "C" void execItemGet__FUc(); -extern "C" void checkItemGet__FUci(); -extern "C" static void item_func_HEART__Fv(); -extern "C" static void item_func_GREEN_RUPEE__Fv(); -extern "C" static void item_func_BLUE_RUPEE__Fv(); -extern "C" static void item_func_YELLOW_RUPEE__Fv(); -extern "C" static void item_func_RED_RUPEE__Fv(); -extern "C" static void item_func_PURPLE_RUPEE__Fv(); -extern "C" static void item_func_ORANGE_RUPEE__Fv(); -extern "C" static void item_func_SILVER_RUPEE__Fv(); -extern "C" static void item_func_S_MAGIC__Fv(); -extern "C" static void item_func_L_MAGIC__Fv(); -extern "C" static void item_func_BOMB_5__Fv(); -extern "C" static void item_func_BOMB_10__Fv(); -extern "C" static void item_func_BOMB_20__Fv(); -extern "C" static void item_func_BOMB_30__Fv(); -extern "C" static void item_func_ARROW_10__Fv(); -extern "C" static void item_func_ARROW_20__Fv(); -extern "C" static void item_func_ARROW_30__Fv(); -extern "C" static void item_func_ARROW_1__Fv(); -extern "C" static void item_func_PACHINKO_SHOT__Fv(); -extern "C" static void item_func_WATER_BOMB_5__Fv(); -extern "C" static void item_func_WATER_BOMB_10__Fv(); -extern "C" static void item_func_WATER_BOMB_20__Fv(); -extern "C" static void item_func_WATER_BOMB_30__Fv(); -extern "C" static void item_func_BOMB_INSECT_5__Fv(); -extern "C" static void item_func_BOMB_INSECT_10__Fv(); -extern "C" static void item_func_BOMB_INSECT_20__Fv(); -extern "C" static void item_func_BOMB_INSECT_30__Fv(); -extern "C" static void item_func_RECOVER_FAILY__Fv(); -extern "C" static void item_func_TRIPLE_HEART__Fv(); -extern "C" static void item_func_SMALL_KEY__Fv(); -extern "C" static void item_func_KAKERA_HEART__Fv(); -extern "C" static void item_func_UTUWA_HEART__Fv(); -extern "C" static void item_func_MAP__Fv(); -extern "C" static void item_func_COMPUS__Fv(); -extern "C" static void item_func_DUNGEON_EXIT__Fv(); -extern "C" static void item_func_BOSS_KEY__Fv(); -extern "C" static void item_func_DUNGEON_BACK__Fv(); -extern "C" static void item_func_SWORD__Fv(); -extern "C" static void item_func_MASTER_SWORD__Fv(); -extern "C" static void item_func_WOOD_SHIELD__Fv(); -extern "C" static void item_func_SHIELD__Fv(); -extern "C" static void item_func_HYLIA_SHIELD__Fv(); -extern "C" static void item_func_TKS_LETTER__Fv(); -extern "C" static void item_func_WEAR_CASUAL__Fv(); -extern "C" static void item_func_WEAR_KOKIRI__Fv(); -extern "C" static void item_func_ARMOR__Fv(); -extern "C" static void item_func_WEAR_ZORA__Fv(); -extern "C" static void item_func_MAGIC_LV1__Fv(); -extern "C" static void item_func_DUNGEON_EXIT_2__Fv(); -extern "C" static void item_func_WALLET_LV1__Fv(); -extern "C" static void item_func_WALLET_LV2__Fv(); -extern "C" static void item_func_WALLET_LV3__Fv(); -extern "C" static void item_func_ZORAS_JEWEL__Fv(); -extern "C" static void item_func_HAWK_EYE__Fv(); -extern "C" static void item_func_WOOD_STICK__Fv(); -extern "C" static void item_func_BOOMERANG__Fv(); -extern "C" static void item_func_SPINNER__Fv(); -extern "C" static void item_func_IRONBALL__Fv(); -extern "C" static void item_func_BOW__Fv(); -extern "C" static void item_func_HOOKSHOT__Fv(); -extern "C" static void item_func_HVY_BOOTS__Fv(); -extern "C" static void item_func_COPY_ROD__Fv(); -extern "C" static void item_func_W_HOOKSHOT__Fv(); -extern "C" static void item_func_KANTERA__Fv(); -extern "C" static void item_func_LIGHT_SWORD__Fv(); -extern "C" static void item_func_FISHING_ROD_1__Fv(); -extern "C" static void item_func_PACHINKO__Fv(); -extern "C" static void item_func_COPY_ROD_2__Fv(); -extern "C" static void item_func_BOMB_BAG_LV2__Fv(); -extern "C" static void item_func_BOMB_BAG_LV1__Fv(); -extern "C" static void item_func_BOMB_IN_BAG__Fv(); -extern "C" static void item_func_LIGHT_ARROW__Fv(); -extern "C" static void item_func_ARROW_LV1__Fv(); -extern "C" static void item_func_ARROW_LV2__Fv(); -extern "C" static void item_func_ARROW_LV3__Fv(); -extern "C" static void item_func_LURE_ROD__Fv(); -extern "C" static void item_func_BOMB_ARROW__Fv(); -extern "C" static void item_func_HAWK_ARROW__Fv(); -extern "C" static void item_func_BEE_ROD__Fv(); -extern "C" static void item_func_JEWEL_ROD__Fv(); -extern "C" static void item_func_WORM_ROD__Fv(); -extern "C" static void item_func_JEWEL_BEE_ROD__Fv(); -extern "C" static void item_func_JEWEL_WORM_ROD__Fv(); -extern "C" static void item_func_EMPTY_BOTTLE__Fv(); -extern "C" static void item_func_RED_BOTTLE__Fv(); -extern "C" static void item_func_GREEN_BOTTLE__Fv(); -extern "C" static void item_func_BLUE_BOTTLE__Fv(); -extern "C" static void item_func_MILK_BOTTLE__Fv(); -extern "C" static void item_func_HALF_MILK_BOTTLE__Fv(); -extern "C" static void item_func_OIL_BOTTLE__Fv(); -extern "C" static void item_func_WATER_BOTTLE__Fv(); -extern "C" static void item_func_OIL_BOTTLE2__Fv(); -extern "C" static void item_func_RED_BOTTLE2__Fv(); -extern "C" static void item_func_UGLY_SOUP__Fv(); -extern "C" static void item_func_HOT_SPRING__Fv(); -extern "C" static void item_func_FAIRY_BOTTLE__Fv(); -extern "C" static void item_func_HOT_SPRING2__Fv(); -extern "C" static void item_func_OIL2__Fv(); -extern "C" static void item_func_OIL__Fv(); -extern "C" static void item_func_NORMAL_BOMB__Fv(); -extern "C" static void item_func_WATER_BOMB__Fv(); -extern "C" static void item_func_POKE_BOMB__Fv(); -extern "C" static void item_func_FAIRY_DROP__Fv(); -extern "C" static void item_func_WORM__Fv(); -extern "C" static void item_func_DROP_BOTTLE__Fv(); -extern "C" static void item_func_BEE_CHILD__Fv(); -extern "C" static void item_func_CHUCHU_RARE__Fv(); -extern "C" static void item_func_CHUCHU_RED__Fv(); -extern "C" static void item_func_CHUCHU_BLUE__Fv(); -extern "C" static void item_func_CHUCHU_GREEN__Fv(); -extern "C" static void item_func_CHUCHU_YELLOW__Fv(); -extern "C" static void item_func_CHUCHU_PURPLE__Fv(); -extern "C" static void item_func_LV1_SOUP__Fv(); -extern "C" static void item_func_LV2_SOUP__Fv(); -extern "C" static void item_func_LV3_SOUP__Fv(); -extern "C" static void item_func_LETTER__Fv(); -extern "C" static void item_func_BILL__Fv(); -extern "C" static void item_func_WOOD_STATUE__Fv(); -extern "C" static void item_func_IRIAS_PENDANT__Fv(); -extern "C" static void item_func_HORSE_FLUTE__Fv(); -extern "C" static void item_func_RAFRELS_MEMO__Fv(); -extern "C" static void item_func_ASHS_SCRIBBLING__Fv(); -extern "C" static void item_func_CHUCHU_YELLOW2__Fv(); -extern "C" static void item_func_OIL_BOTTLE3__Fv(); -extern "C" static void item_func_SHOP_BEE_CHILD__Fv(); -extern "C" static void item_func_CHUCHU_BLACK__Fv(); -extern "C" static void item_func_LIGHT_DROP__Fv(); -extern "C" static void item_func_DROP_CONTAINER__Fv(); -extern "C" static void item_func_DROP_CONTAINER02__Fv(); -extern "C" static void item_func_DROP_CONTAINER03__Fv(); -extern "C" static void item_func_FILLED_CONTAINER__Fv(); -extern "C" static void item_func_MIRROR_PIECE_2__Fv(); -extern "C" static void item_func_MIRROR_PIECE_3__Fv(); -extern "C" static void item_func_MIRROR_PIECE_4__Fv(); -extern "C" static void item_func_SMELL_YELIA_POUCH__Fv(); -extern "C" static void item_func_SMELL_PUMPKIN__Fv(); -extern "C" static void item_func_SMELL_POH__Fv(); -extern "C" static void item_func_SMELL_FISH__Fv(); -extern "C" static void item_func_SMELL_CHILDREN__Fv(); -extern "C" static void item_func_SMELL_MEDICINE__Fv(); -extern "C" static void item_func_M_BEETLE__Fv(); -extern "C" static void item_func_F_BEETLE__Fv(); -extern "C" static void item_func_M_BUTTERFLY__Fv(); -extern "C" static void item_func_F_BUTTERFLY__Fv(); -extern "C" static void item_func_M_STAG_BEETLE__Fv(); -extern "C" static void item_func_F_STAG_BEETLE__Fv(); -extern "C" static void item_func_M_GRASSHOPPER__Fv(); -extern "C" static void item_func_F_GRASSHOPPER__Fv(); -extern "C" static void item_func_M_NANAFUSHI__Fv(); -extern "C" static void item_func_F_NANAFUSHI__Fv(); -extern "C" static void item_func_M_DANGOMUSHI__Fv(); -extern "C" static void item_func_F_DANGOMUSHI__Fv(); -extern "C" static void item_func_M_MANTIS__Fv(); -extern "C" static void item_func_F_MANTIS__Fv(); -extern "C" static void item_func_M_LADYBUG__Fv(); -extern "C" static void item_func_F_LADYBUG__Fv(); -extern "C" static void item_func_M_SNAIL__Fv(); -extern "C" static void item_func_F_SNAIL__Fv(); -extern "C" static void item_func_M_DRAGONFLY__Fv(); -extern "C" static void item_func_F_DRAGONFLY__Fv(); -extern "C" static void item_func_M_ANT__Fv(); -extern "C" static void item_func_F_ANT__Fv(); -extern "C" static void item_func_M_MAYFLY__Fv(); -extern "C" static void item_func_F_MAYFLY__Fv(); -extern "C" static void item_func_POU_SPIRIT__Fv(); -extern "C" static void item_func_ANCIENT_DOCUMENT__Fv(); -extern "C" static void item_func_AIR_LETTER__Fv(); -extern "C" static void item_func_ANCIENT_DOCUMENT2__Fv(); -extern "C" static void item_func_LV7_DUNGEON_EXIT__Fv(); -extern "C" static void item_func_LINKS_SAVINGS__Fv(); -extern "C" static void item_func_SMALL_KEY2__Fv(); -extern "C" static void item_func_POU_FIRE1__Fv(); -extern "C" static void item_func_POU_FIRE2__Fv(); -extern "C" static void item_func_POU_FIRE3__Fv(); -extern "C" static void item_func_POU_FIRE4__Fv(); -extern "C" static void item_func_BOSSRIDER_KEY__Fv(); -extern "C" static void item_func_TOMATO_PUREE__Fv(); -extern "C" static void item_func_TASTE__Fv(); -extern "C" static void item_func_LV5_BOSS_KEY__Fv(); -extern "C" static void item_func_SURFBOARD__Fv(); -extern "C" static void item_func_KANTERA2__Fv(); -extern "C" static void item_func_L2_KEY_PIECES1__Fv(); -extern "C" static void item_func_L2_KEY_PIECES2__Fv(); -extern "C" static void item_func_L2_KEY_PIECES3__Fv(); -extern "C" static void item_func_KEY_OF_CARAVAN__Fv(); -extern "C" static void item_func_LV2_BOSS_KEY__Fv(); -extern "C" static void item_func_KEY_OF_FILONE__Fv(); -extern "C" static void item_func_noentry__Fv(); -extern "C" static s32 item_getcheck_func_noentry__Fv(); -extern "C" static s32 item_getcheck_func_HEART__Fv(); -extern "C" static void item_getcheck_func_GREEN_RUPEE__Fv(); -extern "C" static void item_getcheck_func_BLUE_RUPEE__Fv(); -extern "C" static void item_getcheck_func_YELLOW_RUPEE__Fv(); -extern "C" static void item_getcheck_func_RED_RUPEE__Fv(); -extern "C" static void item_getcheck_func_PURPLE_RUPEE__Fv(); -extern "C" static void item_getcheck_func_ORANGE_RUPEE__Fv(); -extern "C" static void item_getcheck_func_SILVER_RUPEE__Fv(); -extern "C" static s32 item_getcheck_func_S_MAGIC__Fv(); -extern "C" static s32 item_getcheck_func_L_MAGIC__Fv(); -extern "C" static void item_getcheck_func_BOMB_5__Fv(); -extern "C" static void item_getcheck_func_BOMB_10__Fv(); -extern "C" static void item_getcheck_func_BOMB_20__Fv(); -extern "C" static void item_getcheck_func_BOMB_30__Fv(); -extern "C" static void item_getcheck_func_ARROW_10__Fv(); -extern "C" static void item_getcheck_func_ARROW_20__Fv(); -extern "C" static void item_getcheck_func_ARROW_30__Fv(); -extern "C" static void item_getcheck_func_ARROW_1__Fv(); -extern "C" static void item_getcheck_func_PACHINKO_SHOT__Fv(); -extern "C" static s32 item_getcheck_func_WATER_BOMB_5__Fv(); -extern "C" static s32 item_getcheck_func_WATER_BOMB_10__Fv(); -extern "C" static s32 item_getcheck_func_WATER_BOMB_20__Fv(); -extern "C" static s32 item_getcheck_func_WATER_BOMB_30__Fv(); -extern "C" static s32 item_getcheck_func_BOMB_INSECT_5__Fv(); -extern "C" static void item_getcheck_func_BOMB_INSECT_10__Fv(); -extern "C" static void item_getcheck_func_BOMB_INSECT_20__Fv(); -extern "C" static void item_getcheck_func_BOMB_INSECT_30__Fv(); -extern "C" static s32 item_getcheck_func_RECOVER_FAILY__Fv(); -extern "C" static s32 item_getcheck_func_TRIPLE_HEART__Fv(); -extern "C" static s32 item_getcheck_func_SMALL_KEY__Fv(); -extern "C" static s32 item_getcheck_func_KAKERA_HEART__Fv(); -extern "C" static s32 item_getcheck_func_UTUWA_HEART__Fv(); -extern "C" static void item_getcheck_func_MAP__Fv(); -extern "C" static s32 item_getcheck_func_COMPUS__Fv(); -extern "C" static void item_getcheck_func_DUNGEON_EXIT__Fv(); -extern "C" static void item_getcheck_func_BOSS_KEY__Fv(); -extern "C" static void item_getcheck_func_DUNGEON_BACK__Fv(); -extern "C" static void item_getcheck_func_SWORD__Fv(); -extern "C" static void item_getcheck_func_MASTER_SWORD__Fv(); -extern "C" static void item_getcheck_func_WOOD_SHIELD__Fv(); -extern "C" static void item_getcheck_func_SHIELD__Fv(); -extern "C" static void item_getcheck_func_HYLIA_SHIELD__Fv(); -extern "C" static void item_getcheck_func_TKS_LETTER__Fv(); -extern "C" static void item_getcheck_func_WEAR_CASUAL__Fv(); -extern "C" static void item_getcheck_func_WEAR_KOKIRI__Fv(); -extern "C" static void item_getcheck_func_ARMOR__Fv(); -extern "C" static void item_getcheck_func_WEAR_ZORA__Fv(); -extern "C" static s32 item_getcheck_func_MAGIC_LV1__Fv(); -extern "C" static void item_getcheck_func_DUNGEON_EXIT_2__Fv(); -extern "C" static s32 item_getcheck_func_WALLET_LV1__Fv(); -extern "C" static s32 item_getcheck_func_WALLET_LV2__Fv(); -extern "C" static s32 item_getcheck_func_WALLET_LV3__Fv(); -extern "C" static void item_getcheck_func_ZORAS_JEWEL__Fv(); -extern "C" static void item_getcheck_func_HAWK_EYE__Fv(); -extern "C" static void item_getcheck_func_WOOD_STICK__Fv(); -extern "C" static void item_getcheck_func_BOOMERANG__Fv(); -extern "C" static void item_getcheck_func_SPINNER__Fv(); -extern "C" static void item_getcheck_func_IRONBALL__Fv(); -extern "C" static void item_getcheck_func_BOW__Fv(); -extern "C" static void item_getcheck_func_HOOKSHOT__Fv(); -extern "C" static void item_getcheck_func_HVY_BOOTS__Fv(); -extern "C" static void item_getcheck_func_COPY_ROD__Fv(); -extern "C" static void item_getcheck_func_W_HOOKSHOT__Fv(); -extern "C" static void item_getcheck_func_KANTERA__Fv(); -extern "C" static void item_getcheck_func_LIGHT_SWORD__Fv(); -extern "C" static int item_getcheck_func_FISHING_ROD_1__Fv(); -extern "C" static void item_getcheck_func_PACHINKO__Fv(); -extern "C" static s32 item_getcheck_func_COPY_ROD_2__Fv(); -extern "C" static void item_getcheck_func_BOMB_BAG_LV2__Fv(); -extern "C" static void item_getcheck_func_BOMB_BAG_LV1__Fv(); -extern "C" static void item_getcheck_func_BOMB_IN_BAG__Fv(); -extern "C" static void item_getcheck_func_LIGHT_ARROW__Fv(); -extern "C" static void item_getcheck_func_ARROW_LV1__Fv(); -extern "C" static void item_getcheck_func_ARROW_LV2__Fv(); -extern "C" static void item_getcheck_func_ARROW_LV3__Fv(); -extern "C" static s32 item_getcheck_func_LURE_ROD__Fv(); -extern "C" static s32 item_getcheck_func_BOMB_ARROW__Fv(); -extern "C" static s32 item_getcheck_func_HAWK_ARROW__Fv(); -extern "C" static void item_getcheck_func_BEE_ROD__Fv(); -extern "C" static void item_getcheck_func_JEWEL_ROD__Fv(); -extern "C" static void item_getcheck_func_WORM_ROD__Fv(); -extern "C" static void item_getcheck_func_JEWEL_BEE_ROD__Fv(); -extern "C" static void item_getcheck_func_JEWEL_WORM_ROD__Fv(); -extern "C" static void item_getcheck_func_EMPTY_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_RED_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_GREEN_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_BLUE_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_MILK_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_HALF_MILK_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_OIL_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_WATER_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_OIL_BOTTLE2__Fv(); -extern "C" static void item_getcheck_func_RED_BOTTLE2__Fv(); -extern "C" static void item_getcheck_func_UGLY_SOUP__Fv(); -extern "C" static void item_getcheck_func_HOT_SPRING__Fv(); -extern "C" static void item_getcheck_func_FAIRY_BOTTLE__Fv(); -extern "C" static void item_getcheck_func_HOT_SPRING2__Fv(); -extern "C" static void item_getcheck_func_OIL2__Fv(); -extern "C" static void item_getcheck_func_OIL__Fv(); -extern "C" static void item_getcheck_func_NORMAL_BOMB__Fv(); -extern "C" static void item_getcheck_func_WATER_BOMB__Fv(); -extern "C" static void item_getcheck_func_POKE_BOMB__Fv(); -extern "C" static void item_getcheck_func_FAIRY_DROP__Fv(); -extern "C" static void item_getcheck_func_WORM__Fv(); -extern "C" static void item_getcheck_func_DROP_BOTTLE__Fv(); -extern "C" static s32 item_getcheck_func_BEE_CHILD__Fv(); -extern "C" static void item_getcheck_func_CHUCHU_RARE__Fv(); -extern "C" static void item_getcheck_func_CHUCHU_RED__Fv(); -extern "C" static void item_getcheck_func_CHUCHU_BLUE__Fv(); -extern "C" static void item_getcheck_func_CHUCHU_GREEN__Fv(); -extern "C" static void item_getcheck_func_CHUCHU_YELLOW__Fv(); -extern "C" static void item_getcheck_func_CHUCHU_PURPLE__Fv(); -extern "C" static void item_getcheck_func_LV1_SOUP__Fv(); -extern "C" static void item_getcheck_func_LV2_SOUP__Fv(); -extern "C" static void item_getcheck_func_LV3_SOUP__Fv(); -extern "C" static void item_getcheck_func_LETTER__Fv(); -extern "C" static void item_getcheck_func_BILL__Fv(); -extern "C" static void item_getcheck_func_WOOD_STATUE__Fv(); -extern "C" static void item_getcheck_func_IRIAS_PENDANT__Fv(); -extern "C" static void item_getcheck_func_HORSE_FLUTE__Fv(); -extern "C" static void item_getcheck_func_RAFRELS_MEMO__Fv(); -extern "C" static void item_getcheck_func_ASHS_SCRIBBLING__Fv(); -extern "C" static void item_getcheck_func_CHUCHU_YELLOW2__Fv(); -extern "C" static s32 item_getcheck_func_OIL_BOTTLE3__Fv(); -extern "C" static s32 item_getcheck_func_SHOP_BEE_CHILD__Fv(); -extern "C" static void item_getcheck_func_CHUCHU_BLACK__Fv(); -extern "C" static void item_getcheck_func_LIGHT_DROP__Fv(); -extern "C" static void item_getcheck_func_DROP_CONTAINER__Fv(); -extern "C" static void item_getcheck_func_DROP_CONTAINER02__Fv(); -extern "C" static void item_getcheck_func_DROP_CONTAINER03__Fv(); -extern "C" static s32 item_getcheck_func_FILLED_CONTAINER__Fv(); -extern "C" static s32 item_getcheck_func_MIRROR_PIECE_2__Fv(); -extern "C" static s32 item_getcheck_func_MIRROR_PIECE_3__Fv(); -extern "C" static s32 item_getcheck_func_MIRROR_PIECE_4__Fv(); -extern "C" static void item_getcheck_func_SMELL_YELIA_POUCH__Fv(); -extern "C" static s32 item_getcheck_func_SMELL_PUMPKIN__Fv(); -extern "C" static void item_getcheck_func_SMELL_POH__Fv(); -extern "C" static void item_getcheck_func_SMELL_FISH__Fv(); -extern "C" static void item_getcheck_func_SMELL_CHILDREN__Fv(); -extern "C" static void item_getcheck_func_SMELL_MEDICINE__Fv(); -extern "C" static void item_getcheck_func_M_BEETLE__Fv(); -extern "C" static void item_getcheck_func_F_BEETLE__Fv(); -extern "C" static void item_getcheck_func_M_BUTTERFLY__Fv(); -extern "C" static void item_getcheck_func_F_BUTTERFLY__Fv(); -extern "C" static void item_getcheck_func_M_STAG_BEETLE__Fv(); -extern "C" static void item_getcheck_func_F_STAG_BEETLE__Fv(); -extern "C" static void item_getcheck_func_M_GRASSHOPPER__Fv(); -extern "C" static void item_getcheck_func_F_GRASSHOPPER__Fv(); -extern "C" static void item_getcheck_func_M_NANAFUSHI__Fv(); -extern "C" static void item_getcheck_func_F_NANAFUSHI__Fv(); -extern "C" static void item_getcheck_func_M_DANGOMUSHI__Fv(); -extern "C" static void item_getcheck_func_F_DANGOMUSHI__Fv(); -extern "C" static void item_getcheck_func_M_MANTIS__Fv(); -extern "C" static void item_getcheck_func_F_MANTIS__Fv(); -extern "C" static void item_getcheck_func_M_LADYBUG__Fv(); -extern "C" static void item_getcheck_func_F_LADYBUG__Fv(); -extern "C" static void item_getcheck_func_M_SNAIL__Fv(); -extern "C" static void item_getcheck_func_F_SNAIL__Fv(); -extern "C" static void item_getcheck_func_M_DRAGONFLY__Fv(); -extern "C" static void item_getcheck_func_F_DRAGONFLY__Fv(); -extern "C" static void item_getcheck_func_M_ANT__Fv(); -extern "C" static void item_getcheck_func_F_ANT__Fv(); -extern "C" static void item_getcheck_func_M_MAYFLY__Fv(); -extern "C" static void item_getcheck_func_F_MAYFLY__Fv(); -extern "C" static void item_getcheck_func_POU_SPIRIT__Fv(); -extern "C" static void item_getcheck_func_ANCIENT_DOCUMENT__Fv(); -extern "C" static void item_getcheck_func_AIR_LETTER__Fv(); -extern "C" static void item_getcheck_func_ANCIENT_DOCUMENT2__Fv(); -extern "C" static void item_getcheck_func_LV7_DUNGEON_EXIT__Fv(); -extern "C" static s32 item_getcheck_func_LINKS_SAVINGS__Fv(); -extern "C" static s32 item_getcheck_func_SMALL_KEY2__Fv(); -extern "C" static s32 item_getcheck_func_POU_FIRE1__Fv(); -extern "C" static s32 item_getcheck_func_POU_FIRE2__Fv(); -extern "C" static s32 item_getcheck_func_POU_FIRE3__Fv(); -extern "C" static s32 item_getcheck_func_POU_FIRE4__Fv(); -extern "C" static s32 item_getcheck_func_BOSSRIDER_KEY__Fv(); -extern "C" static void item_getcheck_func_TOMATO_PUREE__Fv(); -extern "C" static void item_getcheck_func_TASTE__Fv(); -extern "C" static void item_getcheck_func_LV5_BOSS_KEY__Fv(); -extern "C" static s32 item_getcheck_func_SURFBOARD__Fv(); -extern "C" static s32 item_getcheck_func_KANTERA2__Fv(); -extern "C" static void item_getcheck_func_L2_KEY_PIECES1__Fv(); -extern "C" static void item_getcheck_func_L2_KEY_PIECES2__Fv(); -extern "C" static void item_getcheck_func_L2_KEY_PIECES3__Fv(); -extern "C" static void item_getcheck_func_KEY_OF_CARAVAN__Fv(); -extern "C" static void item_getcheck_func_LV2_BOSS_KEY__Fv(); -extern "C" static void item_getcheck_func_KEY_OF_FILONE__Fv(); -extern "C" bool isBomb__FUc(u8); -extern "C" bool isArrow__FUc(u8); -extern "C" void isBottleItem__FUc(); -extern "C" void isHeart__FUc(); -extern "C" void isInsect__FUc(); -extern "C" void check_itemno__Fi(); -extern "C" static void addBombCount__FUcUc(u8, u8); -extern "C" extern char const* const d_d_item__stringBase0; -extern "C" u8 mData__12dEnemyItem_c[4 + 4 /* padding */]; - -// -// External References: -// - -extern "C" void setItemBombNumCount__14dComIfG_play_cFUcs(); -extern "C" void getLayerNo__14dComIfG_play_cFi(); -extern "C" u16 dComIfGs_getMaxLifeGauge__Fv(); -extern "C" void dComIfGs_setSelectEquipClothes__FUc(u8); -extern "C" void dComIfGs_setSelectEquipSword__FUc(u8); -extern "C" void dComIfGs_setSelectEquipShield__FUc(u8); -extern "C" void isMagicFlag__21dSv_player_status_a_cCFUc(); -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void getItem__17dSv_player_item_cCFib(); -extern "C" void setEmptyBottleItemIn__17dSv_player_item_cFUc(); -extern "C" void setEmptyBottle__17dSv_player_item_cFv(); -extern "C" void setEmptyBottle__17dSv_player_item_cFUc(); -extern "C" void checkBottle__17dSv_player_item_cFUc(); -extern "C" void setEmptyBombBagItemIn__17dSv_player_item_cFUcb(); -extern "C" void setEmptyBombBagItemIn__17dSv_player_item_cFUcUcb(); -extern "C" void setEmptyBombBag__17dSv_player_item_cFv(); -extern "C" void setEmptyBombBag__17dSv_player_item_cFUcUc(); -extern "C" void setRodTypeLevelUp__17dSv_player_item_cFv(); -extern "C" void onFirstBit__21dSv_player_get_item_cFUc(); -extern "C" void isFirstBit__21dSv_player_get_item_cCFUc(); -extern "C" void getBombNum__24dSv_player_item_record_cCFUc(); -extern "C" void setBottleNum__24dSv_player_item_record_cFUcUc(); -extern "C" void getBombNum__21dSv_player_item_max_cCFUc(); -extern "C" void setCollect__20dSv_player_collect_cFiUc(); -extern "C" void isCollect__20dSv_player_collect_cCFiUc(); -extern "C" void onLightDropGetFlag__16dSv_light_drop_cFUc(); -extern "C" void isLightDropGetFlag__16dSv_light_drop_cCFUc(); -extern "C" void onDungeonItem__12dSv_memBit_cFi(); -extern "C" void isDungeonItem__12dSv_memBit_cCFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void dMeter2Info_setSword__FUcb(u8, bool); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; - -// -// Declarations: -// static void (*item_func_ptr[256])() = { item_func_HEART, @@ -715,16 +266,16 @@ static void (*item_func_ptr[256])() = { item_func_noentry, }; -inline void getItemFunc(u8 i_no) { - dComIfGs_onItemFirstBit(i_no); - item_func_ptr[i_no](); +inline void getItemFunc(u8 i_itemNo) { + dComIfGs_onItemFirstBit(i_itemNo); + item_func_ptr[i_itemNo](); } -void execItemGet(u8 item_id) { - getItemFunc(item_id); +void execItemGet(u8 i_itemNo) { + getItemFunc(i_itemNo); } -static s32 (*item_getcheck_func_ptr[256])() = { +static int (*item_getcheck_func_ptr[256])() = { item_getcheck_func_HEART, item_getcheck_func_GREEN_RUPEE, item_getcheck_func_BLUE_RUPEE, @@ -983,18 +534,18 @@ static s32 (*item_getcheck_func_ptr[256])() = { item_getcheck_func_noentry, }; -inline s32 getCheckItemFunc(u8 i_no) { - return item_getcheck_func_ptr[i_no](); +inline int getCheckItemFunc(u8 i_itemNo) { + return item_getcheck_func_ptr[i_itemNo](); } -s32 checkItemGet(u8 item_id, int param_2) { - s32 checkItem = getCheckItemFunc(item_id); +int checkItemGet(u8 i_itemNo, int i_default) { + int result = getCheckItemFunc(i_itemNo); - if (checkItem == -1) { - checkItem = param_2; + if (result == -1) { + result = i_default; } - - return checkItem; + + return result; } void item_func_HEART() { @@ -1151,17 +702,17 @@ void item_func_DUNGEON_BACK() { void item_func_SWORD() { dComIfGs_setCollectSword(COLLECT_ORDON_SWORD); - dComIfGs_setSelectEquipSword__FUc(SWORD); + dComIfGs_setSelectEquipSword(SWORD); } void item_func_MASTER_SWORD() { dComIfGs_setCollectSword(COLLECT_MASTER_SWORD); - dComIfGs_setSelectEquipSword__FUc(MASTER_SWORD); + dComIfGs_setSelectEquipSword(MASTER_SWORD); } void item_func_WOOD_SHIELD() { dComIfGs_setCollectShield(COLLECT_WOODEN_SHIELD); - dComIfGs_setSelectEquipShield__FUc(WOOD_SHIELD); + dComIfGs_setSelectEquipShield(WOOD_SHIELD); } void item_func_SHIELD() {} @@ -1207,10 +758,7 @@ void item_func_WALLET_LV3() { } void item_func_ZORAS_JEWEL() { - int checkFishingRod; - - checkFishingRod = item_getcheck_func_FISHING_ROD_1(); - if (checkFishingRod != 0) { + if (item_getcheck_func_FISHING_ROD_1()) { dComIfGs_setRodTypeLevelUp(); } else { dComIfGs_setItem(SLOT_20, ZORAS_JEWEL); @@ -1667,779 +1215,783 @@ void item_func_KEY_OF_FILONE() { void item_func_noentry() {} -s32 item_getcheck_func_noentry() { +int item_getcheck_func_noentry() { return -1; } -s32 item_getcheck_func_HEART() { +int item_getcheck_func_HEART() { return -1; } -s32 item_getcheck_func_GREEN_RUPEE() { +int item_getcheck_func_GREEN_RUPEE() { return i_dComIfGs_isItemFirstBit(GREEN_RUPEE); } -s32 item_getcheck_func_BLUE_RUPEE() { +int item_getcheck_func_BLUE_RUPEE() { return i_dComIfGs_isItemFirstBit(BLUE_RUPEE); } -s32 item_getcheck_func_YELLOW_RUPEE() { +int item_getcheck_func_YELLOW_RUPEE() { return i_dComIfGs_isItemFirstBit(YELLOW_RUPEE); } -s32 item_getcheck_func_RED_RUPEE() { +int item_getcheck_func_RED_RUPEE() { return i_dComIfGs_isItemFirstBit(RED_RUPEE); } -s32 item_getcheck_func_PURPLE_RUPEE() { +int item_getcheck_func_PURPLE_RUPEE() { return i_dComIfGs_isItemFirstBit(PURPLE_RUPEE); } -s32 item_getcheck_func_ORANGE_RUPEE() { +int item_getcheck_func_ORANGE_RUPEE() { return i_dComIfGs_isItemFirstBit(ORANGE_RUPEE); } -s32 item_getcheck_func_SILVER_RUPEE() { +int item_getcheck_func_SILVER_RUPEE() { return i_dComIfGs_isItemFirstBit(SILVER_RUPEE); } -s32 item_getcheck_func_S_MAGIC() { +int item_getcheck_func_S_MAGIC() { return -1; } -s32 item_getcheck_func_L_MAGIC() { +int item_getcheck_func_L_MAGIC() { return -1; } -s32 item_getcheck_func_BOMB_5() { +int item_getcheck_func_BOMB_5() { return i_dComIfGs_isItemFirstBit(BOMB_5); } -s32 item_getcheck_func_BOMB_10() { +int item_getcheck_func_BOMB_10() { return i_dComIfGs_isItemFirstBit(BOMB_10); } -s32 item_getcheck_func_BOMB_20() { +int item_getcheck_func_BOMB_20() { return i_dComIfGs_isItemFirstBit(BOMB_20); } -s32 item_getcheck_func_BOMB_30() { +int item_getcheck_func_BOMB_30() { return i_dComIfGs_isItemFirstBit(BOMB_30); } -s32 item_getcheck_func_ARROW_10() { +int item_getcheck_func_ARROW_10() { return i_dComIfGs_isItemFirstBit(ARROW_10); } -s32 item_getcheck_func_ARROW_20() { +int item_getcheck_func_ARROW_20() { return i_dComIfGs_isItemFirstBit(ARROW_20); } -s32 item_getcheck_func_ARROW_30() { +int item_getcheck_func_ARROW_30() { return i_dComIfGs_isItemFirstBit(ARROW_30); } -s32 item_getcheck_func_ARROW_1() { +int item_getcheck_func_ARROW_1() { return i_dComIfGs_isItemFirstBit(ARROW_1); } -s32 item_getcheck_func_PACHINKO_SHOT() { +int item_getcheck_func_PACHINKO_SHOT() { return i_dComIfGs_isItemFirstBit(PACHINKO_SHOT); } -s32 item_getcheck_func_WATER_BOMB_5() { +int item_getcheck_func_WATER_BOMB_5() { return -1; } -s32 item_getcheck_func_WATER_BOMB_10() { +int item_getcheck_func_WATER_BOMB_10() { return -1; } -s32 item_getcheck_func_WATER_BOMB_20() { +int item_getcheck_func_WATER_BOMB_20() { return -1; } -s32 item_getcheck_func_WATER_BOMB_30() { +int item_getcheck_func_WATER_BOMB_30() { return -1; } -s32 item_getcheck_func_BOMB_INSECT_5() { +int item_getcheck_func_BOMB_INSECT_5() { return -1; } -s32 item_getcheck_func_BOMB_INSECT_10() { +int item_getcheck_func_BOMB_INSECT_10() { return i_dComIfGs_isItemFirstBit(BOMB_INSECT_10); } -s32 item_getcheck_func_BOMB_INSECT_20() { +int item_getcheck_func_BOMB_INSECT_20() { return i_dComIfGs_isItemFirstBit(BOMB_INSECT_20); } -s32 item_getcheck_func_BOMB_INSECT_30() { +int item_getcheck_func_BOMB_INSECT_30() { return i_dComIfGs_isItemFirstBit(BOMB_INSECT_30); } -s32 item_getcheck_func_RECOVER_FAILY() { +int item_getcheck_func_RECOVER_FAILY() { return -1; } -s32 item_getcheck_func_TRIPLE_HEART() { +int item_getcheck_func_TRIPLE_HEART() { return -1; } -s32 item_getcheck_func_SMALL_KEY() { +int item_getcheck_func_SMALL_KEY() { return -1; } -s32 item_getcheck_func_KAKERA_HEART() { +int item_getcheck_func_KAKERA_HEART() { return -1; } -s32 item_getcheck_func_UTUWA_HEART() { +int item_getcheck_func_UTUWA_HEART() { return -1; } -s32 item_getcheck_func_MAP() { +int item_getcheck_func_MAP() { return dComIfGs_isDungeonItemMap(); } -s32 item_getcheck_func_COMPUS() { +int item_getcheck_func_COMPUS() { return -1; } -s32 item_getcheck_func_DUNGEON_EXIT() { - return dComIfGs_getItem(SLOT_18, true) == DUNGEON_EXIT ? 1 : 0; +int item_getcheck_func_DUNGEON_EXIT() { + return dComIfGs_getItem(SLOT_18, true) == DUNGEON_EXIT ? TRUE : FALSE; } -s32 item_getcheck_func_BOSS_KEY() { +int item_getcheck_func_BOSS_KEY() { return dComIfGs_isDungeonItemBossKey(); } -s32 item_getcheck_func_DUNGEON_BACK() { - return dComIfGs_getItem(SLOT_18, true) == DUNGEON_BACK ? 1 : 0; +int item_getcheck_func_DUNGEON_BACK() { + return dComIfGs_getItem(SLOT_18, true) == DUNGEON_BACK ? TRUE : FALSE; } -s32 item_getcheck_func_SWORD() { +int item_getcheck_func_SWORD() { return dComIfGs_isCollectSword(COLLECT_ORDON_SWORD); } -s32 item_getcheck_func_MASTER_SWORD() { +int item_getcheck_func_MASTER_SWORD() { return dComIfGs_isCollectSword(COLLECT_MASTER_SWORD); } -s32 item_getcheck_func_WOOD_SHIELD() { +int item_getcheck_func_WOOD_SHIELD() { return i_dComIfGs_isItemFirstBit(WOOD_SHIELD); } -s32 item_getcheck_func_SHIELD() { +int item_getcheck_func_SHIELD() { return i_dComIfGs_isItemFirstBit(SHIELD); } -s32 item_getcheck_func_HYLIA_SHIELD() { +int item_getcheck_func_HYLIA_SHIELD() { return i_dComIfGs_isItemFirstBit(HYLIA_SHIELD); } -s32 item_getcheck_func_TKS_LETTER() { - return dComIfGs_getItem(SLOT_18, true) == TKS_LETTER ? 1 : 0; +int item_getcheck_func_TKS_LETTER() { + return dComIfGs_getItem(SLOT_18, true) == TKS_LETTER ? TRUE : FALSE; } -s32 item_getcheck_func_WEAR_CASUAL() { +int item_getcheck_func_WEAR_CASUAL() { return i_dComIfGs_isItemFirstBit(WEAR_CASUAL); } -s32 item_getcheck_func_WEAR_KOKIRI() { +int item_getcheck_func_WEAR_KOKIRI() { return dComIfGs_isCollectClothing(KOKIRI_CLOTHES_FLAG); } -s32 item_getcheck_func_ARMOR() { +int item_getcheck_func_ARMOR() { return i_dComIfGs_isItemFirstBit(ARMOR); } -s32 item_getcheck_func_WEAR_ZORA() { +int item_getcheck_func_WEAR_ZORA() { return i_dComIfGs_isItemFirstBit(WEAR_ZORA); } -s32 item_getcheck_func_MAGIC_LV1() { +int item_getcheck_func_MAGIC_LV1() { return -1; } -s32 item_getcheck_func_DUNGEON_EXIT_2() { - return dComIfGs_getItem(SLOT_18, true) == DUNGEON_EXIT ? 1 : 0; +int item_getcheck_func_DUNGEON_EXIT_2() { + return dComIfGs_getItem(SLOT_18, true) == DUNGEON_EXIT ? TRUE : FALSE; } -s32 item_getcheck_func_WALLET_LV1() { +int item_getcheck_func_WALLET_LV1() { return -1; } -s32 item_getcheck_func_WALLET_LV2() { +int item_getcheck_func_WALLET_LV2() { return -1; } -s32 item_getcheck_func_WALLET_LV3() { +int item_getcheck_func_WALLET_LV3() { return -1; } -s32 item_getcheck_func_ZORAS_JEWEL() { - return dComIfGs_getItem(SLOT_20, true) == ZORAS_JEWEL ? 1 : 0; +int item_getcheck_func_ZORAS_JEWEL() { + return dComIfGs_getItem(SLOT_20, true) == ZORAS_JEWEL ? TRUE : FALSE; } -s32 item_getcheck_func_HAWK_EYE() { +int item_getcheck_func_HAWK_EYE() { return i_dComIfGs_isItemFirstBit(HAWK_EYE); } -s32 item_getcheck_func_WOOD_STICK() { +int item_getcheck_func_WOOD_STICK() { return i_dComIfGs_isItemFirstBit(WOOD_STICK); } -s32 item_getcheck_func_BOOMERANG() { - return dComIfGs_getItem(SLOT_0, true) == BOOMERANG ? 1 : 0; +int item_getcheck_func_BOOMERANG() { + return dComIfGs_getItem(SLOT_0, true) == BOOMERANG ? TRUE : FALSE; } -s32 item_getcheck_func_SPINNER() { - return dComIfGs_getItem(SLOT_2, true) == SPINNER ? 1 : 0; +int item_getcheck_func_SPINNER() { + return dComIfGs_getItem(SLOT_2, true) == SPINNER ? TRUE : FALSE; } -s32 item_getcheck_func_IRONBALL() { - return dComIfGs_getItem(SLOT_6, true) == IRONBALL ? 1 : 0; +int item_getcheck_func_IRONBALL() { + return dComIfGs_getItem(SLOT_6, true) == IRONBALL ? TRUE : FALSE; } -s32 item_getcheck_func_BOW() { - return dComIfGs_getItem(SLOT_4, false) == BOW ? 1 : 0; +int item_getcheck_func_BOW() { + return dComIfGs_getItem(SLOT_4, false) == BOW ? TRUE : FALSE; } -s32 item_getcheck_func_HOOKSHOT() { - return dComIfGs_getItem(SLOT_9, true) == HOOKSHOT ? 1 : 0; +int item_getcheck_func_HOOKSHOT() { + return dComIfGs_getItem(SLOT_9, true) == HOOKSHOT ? TRUE : FALSE; } -s32 item_getcheck_func_HVY_BOOTS() { - return dComIfGs_getItem(SLOT_3, true) == HVY_BOOTS ? 1 : 0; +int item_getcheck_func_HVY_BOOTS() { + return dComIfGs_getItem(SLOT_3, true) == HVY_BOOTS ? TRUE : FALSE; } -s32 item_getcheck_func_COPY_ROD() { - return dComIfGs_getItem(SLOT_8, true) == COPY_ROD ? 1 : 0; +int item_getcheck_func_COPY_ROD() { + return dComIfGs_getItem(SLOT_8, true) == COPY_ROD ? TRUE : FALSE; } -s32 item_getcheck_func_W_HOOKSHOT() { - return dComIfGs_getItem(SLOT_10, true) == W_HOOKSHOT ? 1 : 0; +int item_getcheck_func_W_HOOKSHOT() { + return dComIfGs_getItem(SLOT_10, true) == W_HOOKSHOT ? TRUE : FALSE; } -s32 item_getcheck_func_KANTERA() { - return dComIfGs_getItem(SLOT_1, true) == KANTERA ? 1 : 0; +int item_getcheck_func_KANTERA() { + return dComIfGs_getItem(SLOT_1, true) == KANTERA ? TRUE : FALSE; } -s32 item_getcheck_func_LIGHT_SWORD() { +int item_getcheck_func_LIGHT_SWORD() { return dComIfGs_isCollectSword(COLLECT_LIGHT_SWORD); } /* 8009A0C8-8009A1FC 094A08 0134+00 7/6 0/0 0/0 .text item_getcheck_func_FISHING_ROD_1__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 item_getcheck_func_FISHING_ROD_1() { - nofralloc -#include "asm/d/d_item/item_getcheck_func_FISHING_ROD_1__Fv.s" -} -#pragma pop - -s32 item_getcheck_func_PACHINKO() { - return dComIfGs_getItem(SLOT_23, true) == PACHINKO ? 1 : 0; +int item_getcheck_func_FISHING_ROD_1() { + return (dComIfGs_getItem(SLOT_20, true) == FISHING_ROD_1 || + dComIfGs_getItem(SLOT_20, true) == BEE_ROD || + dComIfGs_getItem(SLOT_20, true) == WORM_ROD || + dComIfGs_getItem(SLOT_20, true) == JEWEL_ROD || + dComIfGs_getItem(SLOT_20, true) == JEWEL_BEE_ROD || + dComIfGs_getItem(SLOT_20, true) == JEWEL_WORM_ROD) ? + TRUE : + FALSE; } -s32 item_getcheck_func_COPY_ROD_2() { +int item_getcheck_func_PACHINKO() { + return dComIfGs_getItem(SLOT_23, true) == PACHINKO ? TRUE : FALSE; +} + +int item_getcheck_func_COPY_ROD_2() { return -1; } -s32 item_getcheck_func_BOMB_BAG_LV2() { +int item_getcheck_func_BOMB_BAG_LV2() { return i_dComIfGs_isItemFirstBit(BOMB_BAG_LV2); } -s32 item_getcheck_func_BOMB_BAG_LV1() { +int item_getcheck_func_BOMB_BAG_LV1() { return i_dComIfGs_isItemFirstBit(BOMB_BAG_LV1); } -s32 item_getcheck_func_BOMB_IN_BAG() { +int item_getcheck_func_BOMB_IN_BAG() { return i_dComIfGs_isItemFirstBit(BOMB_IN_BAG); } -s32 item_getcheck_func_LIGHT_ARROW() { +int item_getcheck_func_LIGHT_ARROW() { return i_dComIfGs_isItemFirstBit(LIGHT_ARROW); } -s32 item_getcheck_func_ARROW_LV1() { - return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 30) ? 1 : 0; +int item_getcheck_func_ARROW_LV1() { + return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 30) ? TRUE : FALSE; } -s32 item_getcheck_func_ARROW_LV2() { - return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 60) ? 1 : 0; +int item_getcheck_func_ARROW_LV2() { + return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 60) ? TRUE : FALSE; } -s32 item_getcheck_func_ARROW_LV3() { - return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 100) ? 1 : 0; +int item_getcheck_func_ARROW_LV3() { + return (dComIfGs_getItem(SLOT_4, false) == BOW && dComIfGs_getArrowMax() >= 100) ? TRUE : FALSE; } -s32 item_getcheck_func_LURE_ROD() { +int item_getcheck_func_LURE_ROD() { return -1; } -s32 item_getcheck_func_BOMB_ARROW() { +int item_getcheck_func_BOMB_ARROW() { return -1; } -s32 item_getcheck_func_HAWK_ARROW() { +int item_getcheck_func_HAWK_ARROW() { return -1; } -s32 item_getcheck_func_BEE_ROD() { +int item_getcheck_func_BEE_ROD() { return item_getcheck_func_FISHING_ROD_1(); } -s32 item_getcheck_func_JEWEL_ROD() { +int item_getcheck_func_JEWEL_ROD() { return item_getcheck_func_FISHING_ROD_1(); } -s32 item_getcheck_func_WORM_ROD() { +int item_getcheck_func_WORM_ROD() { return item_getcheck_func_FISHING_ROD_1(); } -s32 item_getcheck_func_JEWEL_BEE_ROD() { +int item_getcheck_func_JEWEL_BEE_ROD() { return item_getcheck_func_FISHING_ROD_1(); } -s32 item_getcheck_func_JEWEL_WORM_ROD() { +int item_getcheck_func_JEWEL_WORM_ROD() { return item_getcheck_func_FISHING_ROD_1(); } -s32 item_getcheck_func_EMPTY_BOTTLE() { +int item_getcheck_func_EMPTY_BOTTLE() { return dComIfGs_checkBottle(EMPTY_BOTTLE); } -s32 item_getcheck_func_RED_BOTTLE() { +int item_getcheck_func_RED_BOTTLE() { return dComIfGs_checkBottle(RED_BOTTLE); } -s32 item_getcheck_func_GREEN_BOTTLE() { +int item_getcheck_func_GREEN_BOTTLE() { return dComIfGs_checkBottle(GREEN_BOTTLE); } -s32 item_getcheck_func_BLUE_BOTTLE() { +int item_getcheck_func_BLUE_BOTTLE() { return dComIfGs_checkBottle(BLUE_BOTTLE); } -s32 item_getcheck_func_MILK_BOTTLE() { +int item_getcheck_func_MILK_BOTTLE() { return dComIfGs_checkBottle(MILK_BOTTLE); } -s32 item_getcheck_func_HALF_MILK_BOTTLE() { +int item_getcheck_func_HALF_MILK_BOTTLE() { return dComIfGs_checkBottle(HALF_MILK_BOTTLE); } -s32 item_getcheck_func_OIL_BOTTLE() { +int item_getcheck_func_OIL_BOTTLE() { return dComIfGs_checkBottle(OIL_BOTTLE); } -s32 item_getcheck_func_WATER_BOTTLE() { +int item_getcheck_func_WATER_BOTTLE() { return dComIfGs_checkBottle(WATER_BOTTLE); } -s32 item_getcheck_func_OIL_BOTTLE2() { +int item_getcheck_func_OIL_BOTTLE2() { return dComIfGs_checkBottle(OIL_BOTTLE_2); } -s32 item_getcheck_func_RED_BOTTLE2() { +int item_getcheck_func_RED_BOTTLE2() { return dComIfGs_checkBottle(RED_BOTTLE_2); } -s32 item_getcheck_func_UGLY_SOUP() { +int item_getcheck_func_UGLY_SOUP() { return dComIfGs_checkBottle(UGLY_SOUP); } -s32 item_getcheck_func_HOT_SPRING() { +int item_getcheck_func_HOT_SPRING() { return dComIfGs_checkBottle(HOT_SPRING); } -s32 item_getcheck_func_FAIRY_BOTTLE() { +int item_getcheck_func_FAIRY_BOTTLE() { return dComIfGs_checkBottle(FAIRY); } -s32 item_getcheck_func_HOT_SPRING2() { +int item_getcheck_func_HOT_SPRING2() { return dComIfGs_checkBottle(HOT_SPRING); } -s32 item_getcheck_func_OIL2() { +int item_getcheck_func_OIL2() { return dComIfGs_checkBottle(OIL2); } -s32 item_getcheck_func_OIL() { +int item_getcheck_func_OIL() { return dComIfGs_checkBottle(OIL); } -s32 item_getcheck_func_NORMAL_BOMB() { +int item_getcheck_func_NORMAL_BOMB() { return i_dComIfGs_isItemFirstBit(NORMAL_BOMB); } -s32 item_getcheck_func_WATER_BOMB() { +int item_getcheck_func_WATER_BOMB() { return i_dComIfGs_isItemFirstBit(WATER_BOMB); } -s32 item_getcheck_func_POKE_BOMB() { +int item_getcheck_func_POKE_BOMB() { return i_dComIfGs_isItemFirstBit(POKE_BOMB); } -s32 item_getcheck_func_FAIRY_DROP() { +int item_getcheck_func_FAIRY_DROP() { return dComIfGs_checkBottle(FAIRY_DROP); } -s32 item_getcheck_func_WORM() { +int item_getcheck_func_WORM() { return dComIfGs_checkBottle(WORM); } -s32 item_getcheck_func_DROP_BOTTLE() { +int item_getcheck_func_DROP_BOTTLE() { return i_dComIfGs_isItemFirstBit(DROP_BOTTLE); } -s32 item_getcheck_func_BEE_CHILD() { +int item_getcheck_func_BEE_CHILD() { return -1; } -s32 item_getcheck_func_CHUCHU_RARE() { +int item_getcheck_func_CHUCHU_RARE() { return dComIfGs_checkBottle(CHUCHU_RARE); } -s32 item_getcheck_func_CHUCHU_RED() { +int item_getcheck_func_CHUCHU_RED() { return dComIfGs_checkBottle(CHUCHU_RED); } -s32 item_getcheck_func_CHUCHU_BLUE() { +int item_getcheck_func_CHUCHU_BLUE() { return dComIfGs_checkBottle(CHUCHU_BLUE); } -s32 item_getcheck_func_CHUCHU_GREEN() { +int item_getcheck_func_CHUCHU_GREEN() { return dComIfGs_checkBottle(CHUCHU_GREEN); } -s32 item_getcheck_func_CHUCHU_YELLOW() { +int item_getcheck_func_CHUCHU_YELLOW() { return dComIfGs_checkBottle(CHUCHU_YELLOW); } -s32 item_getcheck_func_CHUCHU_PURPLE() { +int item_getcheck_func_CHUCHU_PURPLE() { return dComIfGs_checkBottle(CHUCHU_PURPLE); } -s32 item_getcheck_func_LV1_SOUP() { +int item_getcheck_func_LV1_SOUP() { return i_dComIfGs_isItemFirstBit(LV1_SOUP); } -s32 item_getcheck_func_LV2_SOUP() { +int item_getcheck_func_LV2_SOUP() { return i_dComIfGs_isItemFirstBit(LV2_SOUP); } -s32 item_getcheck_func_LV3_SOUP() { +int item_getcheck_func_LV3_SOUP() { return i_dComIfGs_isItemFirstBit(LV3_SOUP); } -s32 item_getcheck_func_LETTER() { - return dComIfGs_getItem(SLOT_21, true) == LETTER ? 1 : 0; +int item_getcheck_func_LETTER() { + return dComIfGs_getItem(SLOT_21, true) == LETTER ? TRUE : FALSE; } -s32 item_getcheck_func_BILL() { - return dComIfGs_getItem(SLOT_21, true) == BILL ? 1 : 0; +int item_getcheck_func_BILL() { + return dComIfGs_getItem(SLOT_21, true) == BILL ? TRUE : FALSE; } -s32 item_getcheck_func_WOOD_STATUE() { - return dComIfGs_getItem(SLOT_21, true) == WOOD_STATUE ? 1 : 0; +int item_getcheck_func_WOOD_STATUE() { + return dComIfGs_getItem(SLOT_21, true) == WOOD_STATUE ? TRUE : FALSE; } -s32 item_getcheck_func_IRIAS_PENDANT() { - return dComIfGs_getItem(SLOT_21, true) == IRIAS_PENDANT ? 1 : 0; +int item_getcheck_func_IRIAS_PENDANT() { + return dComIfGs_getItem(SLOT_21, true) == IRIAS_PENDANT ? TRUE : FALSE; } -s32 item_getcheck_func_HORSE_FLUTE() { - return dComIfGs_getItem(SLOT_22, true) == HORSE_FLUTE ? 1 : 0; +int item_getcheck_func_HORSE_FLUTE() { + return dComIfGs_getItem(SLOT_22, true) == HORSE_FLUTE ? TRUE : FALSE; } -s32 item_getcheck_func_RAFRELS_MEMO() { - return dComIfGs_getItem(SLOT_19, true) == RAFRELS_MEMO ? 1 : 0; +int item_getcheck_func_RAFRELS_MEMO() { + return dComIfGs_getItem(SLOT_19, true) == RAFRELS_MEMO ? TRUE : FALSE; } -s32 item_getcheck_func_ASHS_SCRIBBLING() { - return dComIfGs_getItem(SLOT_19, true) == ASHS_SCRIBBLING ? 1 : 0; +int item_getcheck_func_ASHS_SCRIBBLING() { + return dComIfGs_getItem(SLOT_19, true) == ASHS_SCRIBBLING ? TRUE : FALSE; } -s32 item_getcheck_func_CHUCHU_YELLOW2() { +int item_getcheck_func_CHUCHU_YELLOW2() { return dComIfGs_checkBottle(CHUCHU_YELLOW2); } -s32 item_getcheck_func_OIL_BOTTLE3() { +int item_getcheck_func_OIL_BOTTLE3() { return -1; } -s32 item_getcheck_func_SHOP_BEE_CHILD() { +int item_getcheck_func_SHOP_BEE_CHILD() { return -1; } -s32 item_getcheck_func_CHUCHU_BLACK() { +int item_getcheck_func_CHUCHU_BLACK() { return dComIfGs_checkBottle(CHUCHU_BLACK); } -s32 item_getcheck_func_LIGHT_DROP() { +int item_getcheck_func_LIGHT_DROP() { return i_dComIfGs_isItemFirstBit(LIGHT_DROP); } -s32 item_getcheck_func_DROP_CONTAINER() { +int item_getcheck_func_DROP_CONTAINER() { return dComIfGs_isLightDropGetFlag(FARON_VESSEL); } -s32 item_getcheck_func_DROP_CONTAINER02() { +int item_getcheck_func_DROP_CONTAINER02() { return dComIfGs_isLightDropGetFlag(ELDIN_VESSEL); } -s32 item_getcheck_func_DROP_CONTAINER03() { +int item_getcheck_func_DROP_CONTAINER03() { return dComIfGs_isLightDropGetFlag(LANAYRU_VESSEL); } -s32 item_getcheck_func_FILLED_CONTAINER() { +int item_getcheck_func_FILLED_CONTAINER() { return -1; } -s32 item_getcheck_func_MIRROR_PIECE_2() { +int item_getcheck_func_MIRROR_PIECE_2() { return -1; } -s32 item_getcheck_func_MIRROR_PIECE_3() { +int item_getcheck_func_MIRROR_PIECE_3() { return -1; } -s32 item_getcheck_func_MIRROR_PIECE_4() { +int item_getcheck_func_MIRROR_PIECE_4() { return -1; } -s32 item_getcheck_func_SMELL_YELIA_POUCH() { - return dComIfGs_getCollectSmell() == SMELL_YELIA_POUCH ? 1 : 0; +int item_getcheck_func_SMELL_YELIA_POUCH() { + return dComIfGs_getCollectSmell() == SMELL_YELIA_POUCH ? TRUE : FALSE; } -s32 item_getcheck_func_SMELL_PUMPKIN() { +int item_getcheck_func_SMELL_PUMPKIN() { return -1; } -s32 item_getcheck_func_SMELL_POH() { - return dComIfGs_getCollectSmell() == SMELL_POH ? 1 : 0; +int item_getcheck_func_SMELL_POH() { + return dComIfGs_getCollectSmell() == SMELL_POH ? TRUE : FALSE; } -s32 item_getcheck_func_SMELL_FISH() { - return dComIfGs_getCollectSmell() == SMELL_FISH ? 1 : 0; +int item_getcheck_func_SMELL_FISH() { + return dComIfGs_getCollectSmell() == SMELL_FISH ? TRUE : FALSE; } -s32 item_getcheck_func_SMELL_CHILDREN() { - return dComIfGs_getCollectSmell() == SMELL_CHILDREN ? 1 : 0; +int item_getcheck_func_SMELL_CHILDREN() { + return dComIfGs_getCollectSmell() == SMELL_CHILDREN ? TRUE : FALSE; } -s32 item_getcheck_func_SMELL_MEDICINE() { - return dComIfGs_getCollectSmell() == SMELL_MEDICINE ? 1 : 0; +int item_getcheck_func_SMELL_MEDICINE() { + return dComIfGs_getCollectSmell() == SMELL_MEDICINE ? TRUE : FALSE; } -s32 item_getcheck_func_M_BEETLE() { +int item_getcheck_func_M_BEETLE() { return i_dComIfGs_isItemFirstBit(M_BEETLE); } -s32 item_getcheck_func_F_BEETLE() { +int item_getcheck_func_F_BEETLE() { return i_dComIfGs_isItemFirstBit(F_BEETLE); } -s32 item_getcheck_func_M_BUTTERFLY() { +int item_getcheck_func_M_BUTTERFLY() { return i_dComIfGs_isItemFirstBit(M_BUTTERFLY); } -s32 item_getcheck_func_F_BUTTERFLY() { +int item_getcheck_func_F_BUTTERFLY() { return i_dComIfGs_isItemFirstBit(F_BUTTERFLY); } -s32 item_getcheck_func_M_STAG_BEETLE() { +int item_getcheck_func_M_STAG_BEETLE() { return i_dComIfGs_isItemFirstBit(M_STAG_BEETLE); } -s32 item_getcheck_func_F_STAG_BEETLE() { +int item_getcheck_func_F_STAG_BEETLE() { return i_dComIfGs_isItemFirstBit(F_STAG_BEETLE); } -s32 item_getcheck_func_M_GRASSHOPPER() { +int item_getcheck_func_M_GRASSHOPPER() { return i_dComIfGs_isItemFirstBit(M_GRASSHOPPER); } -s32 item_getcheck_func_F_GRASSHOPPER() { +int item_getcheck_func_F_GRASSHOPPER() { return i_dComIfGs_isItemFirstBit(F_GRASSHOPPER); } -s32 item_getcheck_func_M_NANAFUSHI() { +int item_getcheck_func_M_NANAFUSHI() { return i_dComIfGs_isItemFirstBit(M_NANAFUSHI); } -s32 item_getcheck_func_F_NANAFUSHI() { +int item_getcheck_func_F_NANAFUSHI() { return i_dComIfGs_isItemFirstBit(F_NANAFUSHI); } -s32 item_getcheck_func_M_DANGOMUSHI() { +int item_getcheck_func_M_DANGOMUSHI() { return i_dComIfGs_isItemFirstBit(M_DANGOMUSHI); } -s32 item_getcheck_func_F_DANGOMUSHI() { +int item_getcheck_func_F_DANGOMUSHI() { return i_dComIfGs_isItemFirstBit(F_DANGOMUSHI); } -s32 item_getcheck_func_M_MANTIS() { +int item_getcheck_func_M_MANTIS() { return i_dComIfGs_isItemFirstBit(M_MANTIS); } -s32 item_getcheck_func_F_MANTIS() { +int item_getcheck_func_F_MANTIS() { return i_dComIfGs_isItemFirstBit(F_MANTIS); } -s32 item_getcheck_func_M_LADYBUG() { +int item_getcheck_func_M_LADYBUG() { return i_dComIfGs_isItemFirstBit(M_LADYBUG); } -s32 item_getcheck_func_F_LADYBUG() { +int item_getcheck_func_F_LADYBUG() { return i_dComIfGs_isItemFirstBit(F_LADYBUG); } -s32 item_getcheck_func_M_SNAIL() { +int item_getcheck_func_M_SNAIL() { return i_dComIfGs_isItemFirstBit(M_SNAIL); } -s32 item_getcheck_func_F_SNAIL() { +int item_getcheck_func_F_SNAIL() { return i_dComIfGs_isItemFirstBit(F_SNAIL); } -s32 item_getcheck_func_M_DRAGONFLY() { +int item_getcheck_func_M_DRAGONFLY() { return i_dComIfGs_isItemFirstBit(M_DRAGONFLY); } -s32 item_getcheck_func_F_DRAGONFLY() { +int item_getcheck_func_F_DRAGONFLY() { return i_dComIfGs_isItemFirstBit(F_DRAGONFLY); } -s32 item_getcheck_func_M_ANT() { +int item_getcheck_func_M_ANT() { return i_dComIfGs_isItemFirstBit(M_ANT); } -s32 item_getcheck_func_F_ANT() { +int item_getcheck_func_F_ANT() { return i_dComIfGs_isItemFirstBit(F_ANT); } -s32 item_getcheck_func_M_MAYFLY() { +int item_getcheck_func_M_MAYFLY() { return i_dComIfGs_isItemFirstBit(M_MAYFLY); } -s32 item_getcheck_func_F_MAYFLY() { +int item_getcheck_func_F_MAYFLY() { return i_dComIfGs_isItemFirstBit(F_MAYFLY); } -s32 item_getcheck_func_POU_SPIRIT() { +int item_getcheck_func_POU_SPIRIT() { return dComIfGs_getPohSpiritNum(); } -s32 item_getcheck_func_ANCIENT_DOCUMENT() { - return dComIfGs_getItem(SLOT_22, true) == ANCIENT_DOCUMENT ? 1 : 0; +int item_getcheck_func_ANCIENT_DOCUMENT() { + return dComIfGs_getItem(SLOT_22, true) == ANCIENT_DOCUMENT ? TRUE : FALSE; } -s32 item_getcheck_func_AIR_LETTER() { - return dComIfGs_getItem(SLOT_22, true) == AIR_LETTER ? 1 : 0; +int item_getcheck_func_AIR_LETTER() { + return dComIfGs_getItem(SLOT_22, true) == AIR_LETTER ? TRUE : FALSE; } -s32 item_getcheck_func_ANCIENT_DOCUMENT2() { - return dComIfGs_getItem(SLOT_22, true) == ANCIENT_DOCUMENT2 ? 1 : 0; +int item_getcheck_func_ANCIENT_DOCUMENT2() { + return dComIfGs_getItem(SLOT_22, true) == ANCIENT_DOCUMENT2 ? TRUE : FALSE; } -s32 item_getcheck_func_LV7_DUNGEON_EXIT() { - return dComIfGs_getItem(SLOT_18, true) == LV7_DUNGEON_EXIT ? 1 : 0; +int item_getcheck_func_LV7_DUNGEON_EXIT() { + return dComIfGs_getItem(SLOT_18, true) == LV7_DUNGEON_EXIT ? TRUE : FALSE; } -s32 item_getcheck_func_LINKS_SAVINGS() { +int item_getcheck_func_LINKS_SAVINGS() { return -1; } -s32 item_getcheck_func_SMALL_KEY2() { +int item_getcheck_func_SMALL_KEY2() { return -1; } -s32 item_getcheck_func_POU_FIRE1() { +int item_getcheck_func_POU_FIRE1() { return -1; } -s32 item_getcheck_func_POU_FIRE2() { +int item_getcheck_func_POU_FIRE2() { return -1; } -s32 item_getcheck_func_POU_FIRE3() { +int item_getcheck_func_POU_FIRE3() { return -1; } -s32 item_getcheck_func_POU_FIRE4() { +int item_getcheck_func_POU_FIRE4() { return -1; } -s32 item_getcheck_func_BOSSRIDER_KEY() { +int item_getcheck_func_BOSSRIDER_KEY() { return -1; } -s32 item_getcheck_func_TOMATO_PUREE() { +int item_getcheck_func_TOMATO_PUREE() { return i_dComIfGs_isItemFirstBit(TOMATO_PUREE); } -s32 item_getcheck_func_TASTE() { +int item_getcheck_func_TASTE() { return i_dComIfGs_isItemFirstBit(TASTE); } -s32 item_getcheck_func_LV5_BOSS_KEY() { +int item_getcheck_func_LV5_BOSS_KEY() { return dComIfGs_isDungeonItemBossKey(); } -s32 item_getcheck_func_SURFBOARD() { +int item_getcheck_func_SURFBOARD() { return -1; } -s32 item_getcheck_func_KANTERA2() { +int item_getcheck_func_KANTERA2() { return -1; } -s32 item_getcheck_func_L2_KEY_PIECES1() { +int item_getcheck_func_L2_KEY_PIECES1() { return i_dComIfGs_isItemFirstBit(L2_KEY_PIECES1); } -s32 item_getcheck_func_L2_KEY_PIECES2() { +int item_getcheck_func_L2_KEY_PIECES2() { return i_dComIfGs_isItemFirstBit(L2_KEY_PIECES2); } -s32 item_getcheck_func_L2_KEY_PIECES3() { +int item_getcheck_func_L2_KEY_PIECES3() { return i_dComIfGs_isItemFirstBit(L2_KEY_PIECES3); } -s32 item_getcheck_func_KEY_OF_CARAVAN() { +int item_getcheck_func_KEY_OF_CARAVAN() { return i_dComIfGs_isItemFirstBit(KEY_OF_CARAVAN); } -s32 item_getcheck_func_LV2_BOSS_KEY() { +int item_getcheck_func_LV2_BOSS_KEY() { return dComIfGs_isDungeonItemBossKey(); } -s32 item_getcheck_func_KEY_OF_FILONE() { +int item_getcheck_func_KEY_OF_FILONE() { return dComIfGs_getKeyNum(); } -s32 isBomb(u8 item_no) { - s32 is_bomb = false; +int isBomb(u8 i_itemNo) { + int is_bomb = false; - if (item_no == BOMB_5 || item_no == BOMB_10 || item_no == BOMB_20 || item_no == BOMB_30 || - item_no == NORMAL_BOMB | item_no == WATER_BOMB || item_no == POKE_BOMB) { + if (i_itemNo == BOMB_5 || i_itemNo == BOMB_10 || i_itemNo == BOMB_20 || i_itemNo == BOMB_30 || + i_itemNo == NORMAL_BOMB | i_itemNo == WATER_BOMB || i_itemNo == POKE_BOMB) + { is_bomb = true; } return is_bomb; } -s32 isArrow(u8 item_no) { - s32 is_arrow = false; +int isArrow(u8 i_itemNo) { + int is_arrow = false; - if (item_no == ARROW_1 || item_no == ARROW_10 || item_no == ARROW_20 || item_no == ARROW_30) { + if (i_itemNo == ARROW_1 || i_itemNo == ARROW_10 || i_itemNo == ARROW_20 || i_itemNo == ARROW_30) + { is_arrow = true; } @@ -2447,8 +1999,8 @@ s32 isArrow(u8 item_no) { } /* 8009B708-8009B77C 096048 0074+00 0/0 4/4 1/1 .text isBottleItem__FUc */ -BOOL isBottleItem(u8 item_no) { - switch (item_no) { +BOOL isBottleItem(u8 i_itemNo) { + switch (i_itemNo) { case OIL_BOTTLE3: case EMPTY_BOTTLE: case RED_BOTTLE: @@ -2486,20 +2038,20 @@ BOOL isBottleItem(u8 item_no) { } } -BOOL isHeart(u8 item_no) { +BOOL isHeart(u8 i_itemNo) { BOOL is_heart = false; - if (item_no == HEART || item_no == TRIPLE_HEART) { + if (i_itemNo == HEART || i_itemNo == TRIPLE_HEART) { is_heart = true; } return is_heart; } -bool isInsect(u8 item_no) { +bool isInsect(u8 i_itemNo) { bool is_insect = false; - switch (item_no) { + switch (i_itemNo) { case M_BEETLE: case F_BEETLE: case M_BUTTERFLY: @@ -2530,55 +2082,53 @@ bool isInsect(u8 item_no) { return is_insect; } -u8 check_itemno(int i_itemId) { - if (!dComIfGs_isGetMagicUseFlag() && (i_itemId == S_MAGIC || i_itemId == L_MAGIC)) { +u8 check_itemno(int i_itemNo) { + if (!dComIfGs_isGetMagicUseFlag() && (i_itemNo == S_MAGIC || i_itemNo == L_MAGIC)) { return GREEN_RUPEE; } - if (i_itemId == ARROW_1) { + if (i_itemNo == ARROW_1) { if (!i_dComIfGs_isItemFirstBit(BOW)) { return GREEN_RUPEE; } } else { - if (isArrow(i_itemId)) { + if (isArrow(i_itemNo)) { if (!i_dComIfGs_isItemFirstBit(BOW)) { return GREEN_RUPEE; } if (g_dComIfG_gameInfo.play.getLayerNo(0) == 0xD || - g_dComIfG_gameInfo.play.getLayerNo(0) == 0xE) { - const char* tmp = dComIfGp_getStartStageName(); + g_dComIfG_gameInfo.play.getLayerNo(0) == 0xE) + { + const char* stage_name = dComIfGp_getStartStageName(); // D_MN08: Palace of Twilight - if (strncmp(tmp, "D_MN08", 6)) { + if (strncmp(stage_name, "D_MN08", 6)) { return GREEN_RUPEE; } } } } - if (!i_dComIfGs_isItemFirstBit(BOMB_BAG_LV1) && isBomb(i_itemId)) { + if (!i_dComIfGs_isItemFirstBit(BOMB_BAG_LV1) && isBomb(i_itemNo)) { return GREEN_RUPEE; } else { - if (i_itemId == TRIPLE_HEART) { - i_itemId = HEART; + if (i_itemNo == TRIPLE_HEART) { + i_itemNo = HEART; } - if (!checkItemGet(PACHINKO, 1) && i_itemId == PACHINKO_SHOT) { - i_itemId = GREEN_RUPEE; + if (!checkItemGet(PACHINKO, 1) && i_itemNo == PACHINKO_SHOT) { + i_itemNo = GREEN_RUPEE; } - if (i_itemId == S_MAGIC || i_itemId == L_MAGIC) { - i_itemId = GREEN_RUPEE; + if (i_itemNo == S_MAGIC || i_itemNo == L_MAGIC) { + i_itemNo = GREEN_RUPEE; } } - return i_itemId; + return i_itemNo; } /* 8009B940-8009BBD8 096280 0298+00 11/11 0/0 0/0 .text addBombCount__FUcUc */ -#ifdef NONMATCHING int addBombCount(u8 i_bombType, u8 i_addNum) { u8 bombType[3]; - s32 bombNum[3]; - s32 var_r22; - s32 bombIdx; + int bombNum[3]; for (u8 i = 0; i < 3; i++) { bombType[i] = dComIfGs_getItem(i + SLOT_15, false); @@ -2593,9 +2143,9 @@ int addBombCount(u8 i_bombType, u8 i_addNum) { } for (u8 i = 0; i < 3; i++) { - bombIdx = -1; - var_r22 = -1; - + int bombIdx = -1; + int var_r22 = -1; + for (u8 j = 0; j < 3; j++) { if (bombNum[j] == 0) { bombIdx = j; @@ -2604,13 +2154,15 @@ int addBombCount(u8 i_bombType, u8 i_addNum) { } for (u8 k = 0; k < 3; k++) { - if (bombNum[k] > 0 && bombNum[k] > var_r22 && bombNum[k] != dComIfGs_getBombMax(bombType[k])) { + if (bombNum[k] > 0 && bombNum[k] > var_r22 && + bombNum[k] != dComIfGs_getBombMax(bombType[k])) + { bombIdx = k; var_r22 = bombNum[k]; } } - if (bombIdx == -1) { // issue here? + if (bombIdx == -1) { return i_addNum; } else if (var_r22 == 0) { if (dComIfGs_getBombMax(i_bombType) >= i_addNum) { @@ -2635,19 +2187,6 @@ int addBombCount(u8 i_bombType, u8 i_addNum) { return i_addNum; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int addBombCount(u8 param_0, u8 param_1) { - nofralloc -#include "asm/d/d_item/addBombCount__FUcUc.s" -} -#pragma pop -#endif -/* ############################################################################################## */ /* 80450F90-80450F98 000490 0004+04 0/0 2/2 0/0 .sbss mData__12dEnemyItem_c */ -u8 dEnemyItem_c::mData[4 + 4 /* padding */]; - -/* 8037B0D0-8037B0D0 007730 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +u8* dEnemyItem_c::mData; diff --git a/src/d/d_item_data.cpp b/src/d/d_item_data.cpp index ca5b29a2de..b2638860a1 100644 --- a/src/d/d_item_data.cpp +++ b/src/d/d_item_data.cpp @@ -1,26 +1,7 @@ -// -// Generated By: dol2asm -// Translation Unit: d/d_item_data -// - #include "d/d_item_data.h" -#include "dol2asm.h" - -// -// Forward References: -// - -extern "C" extern char const* const d_d_item_data__stringBase0; -extern "C" void* item_resource__10dItem_data[1530]; -extern "C" void* field_item_res__10dItem_data[1020]; -extern "C" u8 item_info__10dItem_data[1020 + 4 /* padding */]; - -// -// Declarations: -// /* 803AC5A0-803ADD88 -00001 17E8+00 0/0 10/10 2/2 .data item_resource__10dItem_data */ -SECTION_DATA dItem_itemResource dItem_data::item_resource[255] = { +dItem_itemResource dItem_data::item_resource[] = { {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x64, 0x0000}, {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x0, 0xFF, 0x002D, 0x3C, 0x0000}, {"F_gD_rupy", 0x0004, 0xFFFF, 0xFFFF, 0x0007, 0xFFFF, 0x1, 0xFF, 0x002D, 0x3C, 0x0000}, @@ -279,7 +260,7 @@ SECTION_DATA dItem_itemResource dItem_data::item_resource[255] = { }; /* 803ADD88-803AED78 -00001 0FF0+00 0/0 3/3 14/14 .data field_item_res__10dItem_data */ -SECTION_DATA dItem_fieldItemResource dItem_data::field_item_res[255] = { +dItem_fieldItemResource dItem_data::field_item_res[] = { {"Always", 0x0014, 0xFFFF, 0x0030, 0xFF, 0x1000}, {"Always", 0x0017, 0xFFFF, 0x0031, 0x0, 0x1000}, {"Always", 0x0017, 0xFFFF, 0x0031, 0x1, 0x1000}, @@ -538,7 +519,7 @@ SECTION_DATA dItem_fieldItemResource dItem_data::field_item_res[255] = { }; /* 803AED78-803AF178 00BE98 03FC+04 0/0 9/9 9/9 .data item_info__10dItem_data */ -SECTION_DATA dItem_itemInfo dItem_data::item_info[255] = { +dItem_itemInfo dItem_data::item_info[] = { {15, 40, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 70, 30, 4}, {20, 40, 30, 4}, {20, 40, 30, 4}, {40, 60, 30, 0}, {40, 60, 30, 0}, {40, 60, 30, 0}, {40, 60, 30, 0}, {20, 80, 50, 0}, @@ -591,5 +572,3 @@ SECTION_DATA dItem_itemInfo dItem_data::item_info[255] = { {0, 0, 0, 0}, {0, 0, 0, 4}, {0, 0, 0, 4}, {150, 50, 20, 21}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, }; - -/* 8037AD68-8037AD68 0073C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_kyeff.cpp b/src/d/d_kyeff.cpp index 77f04f216a..b040a15762 100644 --- a/src/d/d_kyeff.cpp +++ b/src/d/d_kyeff.cpp @@ -8,11 +8,6 @@ #include "d/d_procname.h" #include "d/kankyo/d_kankyo_wether.h" -/* 801ADD00-801ADD38 1A8640 0038+00 2/2 0/0 0/0 .text dKankyo_DayProc__Fv */ -void dKankyo_DayProc() { - dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]); -} - static int dKyeff_Draw(dKyeff_c* i_this) { dKyw_wether_draw(); return 1; diff --git a/src/d/d_name.cpp b/src/d/d_name.cpp index acbad3e5f8..68bf413a6c 100644 --- a/src/d/d_name.cpp +++ b/src/d/d_name.cpp @@ -4,15 +4,16 @@ // #include "d/d_name.h" +#include "JSystem/J2DGraph/J2DAnmLoader.h" #include "JSystem/J2DGraph/J2DTextBox.h" -#include "stdio.h" #include "d/com/d_com_inf_game.h" #include "d/d_lib.h" #include "dol2asm.h" #include "f_op/f_op_msg_mng.h" #include "global.h" -#include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_audio.h" +#include "m_Do/m_Do_controller_pad.h" +#include "stdio.h" // // Forward References: @@ -201,129 +202,8 @@ SECTION_DATA static selProcFunc SelProc[9] = { &dName_c::MojiSelectAnm3, &dName_c::MenuSelect, &dName_c::MenuSelectAnm, &dName_c::MenuSelectAnm2, &dName_c::MenuSelectAnm3, &dName_c::Wait}; -/* 803C2750-803C2788 -00001 0034+04 1/1 0/0 0/0 .data @4121 */ -SECTION_DATA static void* lit_4121[13 + 1 /* padding */] = { - (void*)(((char*)mojiChange__7dName_cFUc) + 0x8C), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x130), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x170), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x1B0), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x358), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x2D4), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x358), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x31C), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x358), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x358), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x8C), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x31C), - (void*)(((char*)mojiChange__7dName_cFUc) + 0x1B0), - /* padding */ - NULL, -}; - -/* 803C2788-803C27C8 01F8A8 0040+00 0/1 0/0 0/0 .data l_cur0TagName$4610 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_cur0TagName[8] = { - 's_00', 's_01', 's_02', 's_03', 's_04', 's_05', 's_06', 's_07', -}; -#pragma pop - -/* 803C27C8-803C2808 01F8E8 0040+00 0/1 0/0 0/0 .data l_cur1TagName$4611 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_cur1TagName[8] = { - 's_0r', 's_01r', 's_02r', 's_03r', 's_04r', 's_05r', 's_06r', 's_07r', -}; -#pragma pop - -/* 803C2808-803C2828 01F928 0020+00 0/1 0/0 0/0 .data l_menu_icon_tag$4617 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_menu_icon_tag[4] = { - 'p_ABC_n', - 'p_abc_n', - 'j_eigo_n', - 'p_end_n', -}; -#pragma pop - -/* 803C2828-803C28A0 01F948 0078+00 0/1 0/0 0/0 .data l_menu_tag$4618 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_menu_tag[15] = { - 'p_ABC_0', 'p_ABC_1', 'p_ABC_2', 'p_abc_0', 'p_abc_1', 'p_abc_2', - 'm_eigo_0', 'm_eigo_1', 'm_eigo_2', 'p_end_0', 'p_end_1', 'p_end_2', -}; -#pragma pop - -/* 803C28A0-803C28B0 01F9C0 0010+00 0/1 0/0 0/0 .data l_menu_msg$4619 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 l_menu_msg[4] = { - 0x38B, - 0x38C, - 0x388, - 0x38E, -}; -#pragma pop - -/* 803C28B0-803C2AB8 01F9D0 0208+00 0/1 0/0 0/0 .data l_tagName$4635 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_tagName[65] = { - 'm_00_0', 'm_00_1', 'm_00_2', 'm_00_3', 'm_00_4', 'm_01_0', 'm_01_1', 'm_01_2', 'm_01_3', - 'm_01_4', 'm_02_0', 'm_02_1', 'm_02_2', 'm_02_3', 'm_02_4', 'm03_0', 'm03_1', 'm03_2', - 'm03_3', 'm03_4', 'm_04_0', 'm_04_1', 'm_04_2', 'm_04_3', 'm_04_4', 'm_05_0', 'm_05_1', - 'm_05_2', 'm_05_3', 'm_05_4', 'm_06_0', 'm_06_1', 'm_06_2', 'm_06_3', 'm_06_4', 'm_07_0', - 'm_07_1', 'm_07_2', 'm_07_3', 'm_07_4', 'm_08_0', 'm_08_1', 'm_08_2', 'm_08_3', 'm_08_4', - 'm_09_0', 'm_09_1', 'm_09_2', 'm_09_3', 'm_09_4', 'm_10_0', 'm_10_1', 'm_10_2', 'm_10_3', - 'm_10_4', 'm_11_0', 'm_11_1', 'm_11_2', 'm_11_3', 'm_11_4', 'm12_0', 'm12_1', 'm12_2', - 'm12_3', 'm12_4', -}; -#pragma pop - -/* 803C2AB8-803C2AF8 01FBD8 0040+00 0/1 0/0 0/0 .data l_nameTagName$4642 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_nameTagName[8] = { - 'name_00', 'name_01', 'name_02', 'name_03', 'name_04', 'name_05', 'name_06', 'name_07', -}; -#pragma pop - -/* 803C2AF8-803C2B38 01FC18 0040+00 0/1 0/0 0/0 .data l_nameCurTagName$4643 */ -#pragma push -#pragma force_active on -SECTION_DATA static u64 l_nameCurTagName[8] = { - 's__n_00', 's__n_01', 's__n_02', 's__n_03', 's__n_04', 's__n_05', 's__n_06', 's__n_07', -}; -#pragma pop - -/* 803C2B38-803C2B64 01FC58 0010+1C 3/3 0/0 0/0 .data __vt__14dDlst_NameIN_c */ -SECTION_DATA extern void* __vt__14dDlst_NameIN_c[4 + 7 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__14dDlst_NameIN_cFv, - (void*)__dt__14dDlst_NameIN_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803C2B64-803C2B7C 01FC84 000C+0C 2/2 0/0 0/0 .data __vt__7dName_c */ -SECTION_DATA extern void* __vt__7dName_c[3 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__7dName_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; +extern void* __vt__14dDlst_NameIN_c[4 + 7 /* padding */]; +extern void* __vt__7dName_c[3 + 3 /* padding */]; /* 8024E3E0-8024E408 248D20 0028+00 1/1 0/0 0/0 .text __ct__9dNm_HIO_cFv */ dNm_HIO_c::dNm_HIO_c() { @@ -340,6 +220,7 @@ dName_c::dName_c(J2DPane* pane) { } /* 8024E468-8024E62C 248DA8 01C4+00 1/0 0/0 0/0 .text __dt__7dName_cFv */ +// matches with vtable data #ifdef NONMATCHING dName_c::~dName_c() { delete stick; @@ -502,7 +383,8 @@ void dName_c::_move() { } } else if (mDoCPd_c::getTrigStart(PAD_1)) { if ((mSelProc != PROC_MENU_SELECT || mSelMenu != MENU_END) && - (mSelProc == PROC_MENU_SELECT || mSelProc == PROC_MOJI_SELECT)) { + (mSelProc == PROC_MENU_SELECT || mSelProc == PROC_MOJI_SELECT)) + { mDoAud_seStart(Z2SE_SY_CURSOR_OPTION, 0, 0, 0); mPrevSelMenu = mSelMenu; mSelMenu = MENU_END; @@ -577,9 +459,7 @@ void dName_c::cursorAnm() { } /* 8024ED48-8024ED4C 249688 0004+00 1/0 0/0 0/0 .text Wait__7dName_cFv */ -void dName_c::Wait() { - /* empty function */ -} +void dName_c::Wait() {} /* 8024ED4C-8024F034 24968C 02E8+00 1/0 0/0 0/0 .text MojiSelect__7dName_cFv */ // matches with literals @@ -672,7 +552,8 @@ void dName_c::MojiSelectAnmInit() { /* 8024F0E0-8024F164 249A20 0084+00 1/0 0/0 0/0 .text MojiSelectAnm__7dName_cFv */ void dName_c::MojiSelectAnm() { if (mMojiIcon[mPrevRow + mPrevColumn * 5]->scaleAnime(mCursorDelay, g_nmHIO.mSelCharScale, - lit_3820, 0) == 1) { + lit_3820, 0) == 1) + { selectCursorMove(); mSelProc = PROC_MOJI_SELECT; field_0x2ad = mSelProc; @@ -682,7 +563,8 @@ void dName_c::MojiSelectAnm() { /* 8024F164-8024F1E8 249AA4 0084+00 1/0 0/0 0/0 .text MojiSelectAnm2__7dName_cFv */ void dName_c::MojiSelectAnm2() { if (mMojiIcon[mPrevRow + mPrevColumn * 5]->scaleAnime(mCursorDelay, g_nmHIO.mSelCharScale, - lit_3820, 0) == 1) { + lit_3820, 0) == 1) + { menuCursorMove2(); mSelProc = PROC_MENU_SELECT; field_0x2ad = mSelProc; @@ -690,29 +572,28 @@ void dName_c::MojiSelectAnm2() { } /* 8024F1E8-8024F1EC 249B28 0004+00 1/0 0/0 0/0 .text MojiSelectAnm3__7dName_cFv */ -void dName_c::MojiSelectAnm3() { - /* empty function */ -} +void dName_c::MojiSelectAnm3() {} /* 8024F1EC-8024F55C 249B2C 0370+00 1/0 0/0 0/0 .text mojiChange__7dName_cFUc */ -// weird pattern -#ifdef NONMATCHING int dName_c::mojiChange(u8 idx) { if (mChrInfo[idx].field_0x3 == 0 || mChrInfo[idx].mMojiSet == MOJI_EIGO || - mChrInfo[idx].mCharacter == ' ') { + mChrInfo[idx].mCharacter == ' ') + { return 0; } if (mChrInfo[idx].mColumn == 4 || mChrInfo[idx].mColumn == 6 || mChrInfo[idx].mColumn == 8 || - mChrInfo[idx].mColumn == 9) { + mChrInfo[idx].mColumn == 9) + { return 0; } switch (mChrInfo[idx].mColumn) { case 0: - case 10: + case 10: { if (mChrInfo[idx].mCharacter == 'ウ' || mChrInfo[idx].mCharacter == 'ゥ' || - mChrInfo[idx].mCharacter == 'ヴ') { + mChrInfo[idx].mCharacter == 'ヴ') + { mChrInfo[idx].mCharacter++; if (mChrInfo[idx].mCharacter == 'ェ') { @@ -723,7 +604,7 @@ int dName_c::mojiChange(u8 idx) { mChrInfo[idx].mCharacter = 'ゥ'; } } else { - int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ぁ' : 'ァ'; + int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ァ' : 'ぁ'; if ((mChrInfo[idx].mCharacter - c) % 2) { --mChrInfo[idx].mCharacter; @@ -732,52 +613,82 @@ int dName_c::mojiChange(u8 idx) { } } break; - case 1: + } + case 1: { int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'カ' : 'か'; - if ((mChrInfo[idx].mCharacter - c) % 2 == 0) { - mChrInfo[idx].mCharacter += 1; - } else { - mChrInfo[idx].mCharacter -= 1; - } - break; - case 2: - int c2 = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'サ' : 'さ'; - ((mChrInfo[idx].mCharacter - c) % 2) ? mChrInfo[idx].mCharacter++ : mChrInfo[idx].mCharacter--; - break; - case 3: - case 12: - if (mChrInfo[idx].mCharacter != 0x815b) { - int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ヂ': 'ぢ'; + c = ((mChrInfo[idx].mCharacter - c) % 2); - if (c < mChrInfo[idx].mCharacter) { - int c2 = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ヂ' : 'ぢ'; - (mChrInfo[idx].mCharacter - c2) % 2 ? mChrInfo[idx].mCharacter++ : - mChrInfo[idx].mCharacter--; + int c2 = c + 1; + mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1); + break; + } + case 2: { + int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'サ' : 'さ'; + c = ((mChrInfo[idx].mCharacter - c) % 2); + + int c2 = c + 1; + mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1); + break; + } + case 3: + case 12: { + if (mChrInfo[idx].mCharacter != (u32)0x815b) { + if (mChrInfo[idx].mCharacter <= (mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ヂ' : 'ぢ')) { + int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'タ' : 'た'; + c = ((mChrInfo[idx].mCharacter - c) % 2); + + int c2 = c + 1; + mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1); + } else if (mChrInfo[idx].mCharacter <= + (mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ド' : 'ど') && + mChrInfo[idx].mCharacter >= + (mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'テ' : 'て')) + { + int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'テ' : 'て'; + c = ((mChrInfo[idx].mCharacter - c) % 2); + + int c2 = c + 1; + mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1); + } else { + int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ッ' : 'っ'; + int c2 = (mChrInfo[idx].mCharacter - c) % 3; + + int ivar2 = c2 + 1; + if (ivar2 > 2) { + ivar2 = 0; + } + + mChrInfo[idx].mCharacter = ivar2 + (mChrInfo[idx].mCharacter - c2); } } break; - case 5: + } + case 5: { + int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ハ' : 'は'; + int c2 = (mChrInfo[idx].mCharacter - c) % 3; + int ivar2 = c2 + 1; + if (ivar2 > 2) { + ivar2 = 0; + } + + mChrInfo[idx].mCharacter = ivar2 + (mChrInfo[idx].mCharacter - c2); break; + } case 7: - case 11: + case 11: { + int c = mChrInfo[idx].mMojiSet != MOJI_HIRA ? 'ャ' : 'ゃ'; + c = ((mChrInfo[idx].mCharacter - c) % 2); + int c2 = c + 1; + mChrInfo[idx].mCharacter = (mChrInfo[idx].mCharacter - c) + (c2 & 1); break; } + } setNameText(); return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dName_c::mojiChange(u8 param_0) { - nofralloc -#include "asm/d/d_name/mojiChange__7dName_cFUc.s" -} -#pragma pop -#endif /* 8024F55C-8024F59C 249E9C 0040+00 1/1 0/0 0/0 .text selectMojiSet__7dName_cFv */ void dName_c::selectMojiSet() { @@ -1011,9 +922,7 @@ void dName_c::MenuSelectAnm2() { } /* 8024FFA0-8024FFA4 24A8E0 0004+00 1/0 0/0 0/0 .text MenuSelectAnm3__7dName_cFv */ -void dName_c::MenuSelectAnm3() { - /* empty function */ -} +void dName_c::MenuSelectAnm3() {} /* 8024FFA4-80250074 24A8E4 00D0+00 1/1 0/0 0/0 .text menuAbtnSelect__7dName_cFv */ // matches with literals @@ -1221,20 +1130,130 @@ SECTION_SDATA2 static f32 lit_4725[1 + 1 /* padding */] = { 0.0f, }; +/* 803C2788-803C27C8 01F8A8 0040+00 0/1 0/0 0/0 .data l_cur0TagName$4610 */ +#pragma push +#pragma force_active on +SECTION_DATA static u64 l_cur0TagName[8] = { + 's_00', 's_01', 's_02', 's_03', 's_04', 's_05', 's_06', 's_07', +}; +#pragma pop + +/* 803C27C8-803C2808 01F8E8 0040+00 0/1 0/0 0/0 .data l_cur1TagName$4611 */ +#pragma push +#pragma force_active on +SECTION_DATA static u64 l_cur1TagName[8] = { + 's_0r', 's_01r', 's_02r', 's_03r', 's_04r', 's_05r', 's_06r', 's_07r', +}; +#pragma pop + +/* 803C2808-803C2828 01F928 0020+00 0/1 0/0 0/0 .data l_menu_icon_tag$4617 */ +#pragma push +#pragma force_active on +SECTION_DATA static u64 l_menu_icon_tag[4] = { + 'p_ABC_n', + 'p_abc_n', + 'j_eigo_n', + 'p_end_n', +}; +#pragma pop + +/* 803C2828-803C28A0 01F948 0078+00 0/1 0/0 0/0 .data l_menu_tag$4618 */ +#pragma push +#pragma force_active on +SECTION_DATA static u64 l_menu_tag[5][3] = { + 'p_ABC_0', 'p_ABC_1', 'p_ABC_2', 'p_abc_0', 'p_abc_1', 'p_abc_2', + 'm_eigo_0', 'm_eigo_1', 'm_eigo_2', 'p_end_0', 'p_end_1', 'p_end_2', +}; +#pragma pop + +/* 803C28A0-803C28B0 01F9C0 0010+00 0/1 0/0 0/0 .data l_menu_msg$4619 */ +#pragma push +#pragma force_active on +SECTION_DATA static u32 l_menu_msg[4] = { + 0x38B, + 0x38C, + 0x388, + 0x38E, +}; +#pragma pop + +/* 803C28B0-803C2AB8 01F9D0 0208+00 0/1 0/0 0/0 .data l_tagName$4635 */ +#pragma push +#pragma force_active on +SECTION_DATA static u64 l_tagName[65] = { + 'm_00_0', 'm_00_1', 'm_00_2', 'm_00_3', 'm_00_4', 'm_01_0', 'm_01_1', 'm_01_2', 'm_01_3', + 'm_01_4', 'm_02_0', 'm_02_1', 'm_02_2', 'm_02_3', 'm_02_4', 'm03_0', 'm03_1', 'm03_2', + 'm03_3', 'm03_4', 'm_04_0', 'm_04_1', 'm_04_2', 'm_04_3', 'm_04_4', 'm_05_0', 'm_05_1', + 'm_05_2', 'm_05_3', 'm_05_4', 'm_06_0', 'm_06_1', 'm_06_2', 'm_06_3', 'm_06_4', 'm_07_0', + 'm_07_1', 'm_07_2', 'm_07_3', 'm_07_4', 'm_08_0', 'm_08_1', 'm_08_2', 'm_08_3', 'm_08_4', + 'm_09_0', 'm_09_1', 'm_09_2', 'm_09_3', 'm_09_4', 'm_10_0', 'm_10_1', 'm_10_2', 'm_10_3', + 'm_10_4', 'm_11_0', 'm_11_1', 'm_11_2', 'm_11_3', 'm_11_4', 'm12_0', 'm12_1', 'm12_2', + 'm12_3', 'm12_4', +}; +#pragma pop + +/* 803C2AB8-803C2AF8 01FBD8 0040+00 0/1 0/0 0/0 .data l_nameTagName$4642 */ +#pragma push +#pragma force_active on +SECTION_DATA static u64 l_nameTagName[8] = { + 'name_00', 'name_01', 'name_02', 'name_03', 'name_04', 'name_05', 'name_06', 'name_07', +}; +#pragma pop + +/* 803C2AF8-803C2B38 01FC18 0040+00 0/1 0/0 0/0 .data l_nameCurTagName$4643 */ +#pragma push +#pragma force_active on +SECTION_DATA static u64 l_nameCurTagName[8] = { + 's__n_00', 's__n_01', 's__n_02', 's__n_03', 's__n_04', 's__n_05', 's__n_06', 's__n_07', +}; +#pragma pop + +/* 803C2B38-803C2B64 01FC58 0010+1C 3/3 0/0 0/0 .data __vt__14dDlst_NameIN_c */ +SECTION_DATA extern void* __vt__14dDlst_NameIN_c[4 + 7 /* padding */] = { + (void*)NULL /* RTTI */, + (void*)NULL, + (void*)draw__14dDlst_NameIN_cFv, + (void*)__dt__14dDlst_NameIN_cFv, + /* padding */ + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, +}; + +/* 803C2B64-803C2B7C 01FC84 000C+0C 2/2 0/0 0/0 .data __vt__7dName_c */ +SECTION_DATA extern void* __vt__7dName_c[3 + 3 /* padding */] = { + (void*)NULL /* RTTI */, + (void*)NULL, + (void*)__dt__7dName_cFv, + /* padding */ + NULL, + NULL, + NULL, +}; + /* 802505CC-80250CEC 24AF0C 0720+00 1/1 0/0 0/0 .text screenSet__7dName_cFv */ +// matches with literals #ifdef NONMATCHING void dName_c::screenSet() { nameIn.NameInScr = new J2DScreen(); + JUT_ASSERT(nameIn.NameInScr != 0); + archive = dComIfGp_getNameResArchive(); nameIn.NameInScr->setPriority("zelda_player_name.blo", 0x100000, archive); dPaneClass_showNullPane(nameIn.NameInScr); nameIn.field_0x10 = nameIn.NameInScr->search('name_n'); - void* bpk = JKRFileLoader::getGlbResource("zelda_player_name.bpk", archive); + void* bpk = JKRGetNameResource("zelda_player_name.bpk", archive); + JUT_ASSERT(bpk != 0); mCursorColorKey = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(bpk); mCursorColorKey->searchUpdateMaterialID(nameIn.NameInScr); - void* btk = JKRFileLoader::getGlbResource("zelda_player_name.btk", archive); + void* btk = JKRGetNameResource("zelda_player_name.btk", archive); + JUT_ASSERT(btk != 0); mCursorTexKey = (J2DAnmTextureSRTKey*)J2DAnmLoaderDataBase::load(btk); mCursorTexKey->searchUpdateMaterialID(nameIn.NameInScr); @@ -1271,7 +1290,7 @@ void dName_c::screenSet() { fopMsgM_messageGet(buf, l_menu_msg[i]); for (int j = 0; j < 3; j++) { - menuPane[j] = (J2DTextBox*)nameIn.NameInScr->search(l_menu_tag[j]); + menuPane[j] = (J2DTextBox*)nameIn.NameInScr->search(l_menu_tag[i][j]); if (j == 0) { mMenuText[i] = menuPane[j]; @@ -1287,7 +1306,7 @@ void dName_c::screenSet() { mMenuIcon[1]->hide(); mMojiPane = nameIn.NameInScr->search('moji_n'); - for (int i = 0; i < 65; i++) { + for (u32 i = 0; i < 65; i++) { mMojiIcon[i] = new CPaneMgr(nameIn.NameInScr, l_tagName[i], 2, NULL); ((J2DTextBox*)mMojiIcon[i]->getPanePtr())->setFont(nameIn.font); ((J2DTextBox*)mMojiIcon[i]->getPanePtr())->setString(72, ""); @@ -1308,7 +1327,9 @@ void dName_c::screenSet() { mCharRow = 0; mSelIcon = new dSelect_cursor_c(0, 1.0f, NULL); + JUT_ASSERT(mSelIcon != 0); mSelIcon->setParam(0.82f, 0.77f, 0.05f, 0.4f, 0.4f); + Vec pos = mMojiIcon[mCharRow + mCharColumn * 5]->getGlobalVtxCenter(false, 0); mSelIcon->setPos(pos.x, pos.y, mMojiIcon[mCharRow + mCharColumn * 5]->getPanePtr(), true); mSelIcon->setAlphaRate(0.0f); @@ -1367,14 +1388,16 @@ void dName_c::NameStrSet() { for (int j = 0; j < 65; j++) { if (mChrInfo[i].mCharacter == *(u16*)l_mojiHira[j] || mChrInfo[i].mCharacter == *(u16*)l_mojiHira2[j] || - mChrInfo[i].mCharacter == *(u16*)l_mojiHira3[j]) { + mChrInfo[i].mCharacter == *(u16*)l_mojiHira3[j]) + { mChrInfo[i].mColumn = j / 5; mChrInfo[i].mRow = j % 5; mChrInfo[i].mMojiSet = MOJI_HIRA; break; } else if (mChrInfo[i].mCharacter == *(u16*)l_mojikata[j] || mChrInfo[i].mCharacter == *(u16*)l_mojikata2[j] || - mChrInfo[i].mCharacter == *(u16*)l_mojikata3[j]) { + mChrInfo[i].mCharacter == *(u16*)l_mojikata3[j]) + { mChrInfo[i].mColumn = j / 5; mChrInfo[i].mRow = j % 5; mChrInfo[i].mMojiSet = MOJI_KATA; @@ -1427,6 +1450,23 @@ s32 dName_c::getMenuPosIdx(u8 selPos) { } /* 80251094-8025115C 24B9D4 00C8+00 1/0 0/0 0/0 .text draw__14dDlst_NameIN_cFv */ +// matches with literals / vtable data +#ifdef NONMATCHING +void dDlst_NameIN_c::draw() { + if (field_0xc != NULL) { + Mtx m; + MtxP global_mtx = (MtxP)&field_0xc->getGlbMtx()[0][0]; // fake match? + + MTXScale(m, (field_0xc->getWidth() / field_0x10->getWidth()), + (field_0xc->getHeight() / field_0x10->getHeight()), 1.0f); + MTXConcat(global_mtx, m, global_mtx); + field_0x10->setMtx(global_mtx); + } + + J2DGrafContext* graf_ctx = dComIfGp_getCurrentGrafPort(); + NameInScr->draw(0.0f, 0.0f, graf_ctx); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1436,6 +1476,7 @@ extern "C" asm void draw__14dDlst_NameIN_cFv() { #include "asm/d/d_name/draw__14dDlst_NameIN_cFv.s" } #pragma pop +#endif /* 8025115C-802511A4 24BA9C 0048+00 1/0 0/0 0/0 .text __dt__14dDlst_NameIN_cFv */ dDlst_NameIN_c::~dDlst_NameIN_c() {} diff --git a/src/d/kankyo/d_kankyo.cpp b/src/d/kankyo/d_kankyo.cpp index d6e115a54d..bef235be8c 100644 --- a/src/d/kankyo/d_kankyo.cpp +++ b/src/d/kankyo/d_kankyo.cpp @@ -15,6 +15,7 @@ #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_graphic.h" #include "rel/d/a/kytag/d_a_kytag08/d_a_kytag08.h" +#include "d/kankyo/d_kankyo_static.h" #include "string.h" // diff --git a/src/d/kankyo/d_kankyo_wether.cpp b/src/d/kankyo/d_kankyo_wether.cpp index f501894d02..1832e266ea 100644 --- a/src/d/kankyo/d_kankyo_wether.cpp +++ b/src/d/kankyo/d_kankyo_wether.cpp @@ -217,7 +217,7 @@ extern "C" extern dScnKy_env_light_c g_env_light; extern "C" extern Z2EnvSeMgr g_mEnvSeMgr; extern "C" f32 Zero__4cXyz[3]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u8 data_80450EE0[8]; +extern "C" extern u8 data_80450EE0; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; static void dKyw_pntlight_set(WIND_INFLUENCE* pntwind); @@ -1321,6 +1321,8 @@ SECTION_SDATA2 static f32 lit_5192 = 24575.0f; /* 80452160-80452164 000760 0004+00 1/1 0/0 0/0 .sdata2 @5193 */ SECTION_SDATA2 static f32 lit_5193 = 0.00139999995008111f; +u8 data_80450EE0; + /* 80059728-80059E38 054068 0710+00 1/1 0/0 0/0 .text wether_move_vrkumo__Fv */ // gameinfo load issue, cmath instruction order / reg alloc #ifdef NONMATCHING diff --git a/src/d/menu/d_menu_fmap.cpp b/src/d/menu/d_menu_fmap.cpp index 67160e11b3..616423aea0 100644 --- a/src/d/menu/d_menu_fmap.cpp +++ b/src/d/menu/d_menu_fmap.cpp @@ -1206,7 +1206,7 @@ static u8 virtual_stage[8]; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dMenuFmap_getStartStageName(void* param_0) { +asm const char* dMenuFmap_getStartStageName(void* param_0) { nofralloc #include "asm/d/menu/d_menu_fmap/dMenuFmap_getStartStageName__FPv.s" } diff --git a/src/d/s/d_s_logo.cpp b/src/d/s/d_s_logo.cpp index 1701036a59..ed64acfd0f 100644 --- a/src/d/s/d_s_logo.cpp +++ b/src/d/s/d_s_logo.cpp @@ -1,46 +1,22 @@ -// -// Translation Unit: d/s/d_s_logo -// +/** + * d_s_logo.cpp + * Game Boot Logo's Display + */ #include "d/s/d_s_logo.h" #include "JSystem/JKernel/JKRAram.h" #include "JSystem/JKernel/JKRExpHeap.h" #include "c/c_dylink.h" #include "d/com/d_com_inf_game.h" +#include "d/d_item.h" #include "d/d_procname.h" #include "d/map/d_map_path_dmap.h" +#include "dolphin/vi.h" #include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" #include "m_Do/m_Do_machine.h" -#include "dolphin/os/OSRtc.h" -#include "dolphin/vi.h" -// -// Types: -// - -class dEnemyItem_c { -public: - static void setItemData(u8* data) { mData = data; } - - static u8* mData; -}; - -// -// Forward References: -// - -// -// External References: -// - - -// -// Declarations: -// - -/* ############################################################################################## */ /* 803C2E38-803C2E44 01FF58 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -75,7 +51,6 @@ void dScnLogo_c::preLoad_dyl_remove() { delete[] m_preLoad_dylPhase; } -/* ############################################################################################## */ /* 80399FE0-80399FFC 026640 001C+00 1/1 0/0 0/0 .rodata l_preLoad_dylKeyTbl */ static s16 const l_preLoad_dylKeyTbl[14] = { 0x02DC, 0x02CE, 0x0221, 0x00F2, 0x021B, 0x02F4, 0x0139, @@ -84,13 +59,13 @@ static s16 const l_preLoad_dylKeyTbl[14] = { /* 8025611C-80256198 250A5C 007C+00 2/2 0/0 0/0 .text preLoad_dyl__10dScnLogo_cFv */ bool dScnLogo_c::preLoad_dyl() { - bool ret = 1; + bool ret = true; for (int i = 0; i < 14; i++) { - int link = cDylPhs::Link(&m_preLoad_dylPhase[i], l_preLoad_dylKeyTbl[i]); + int phase_state = cDylPhs::Link(&m_preLoad_dylPhase[i], l_preLoad_dylKeyTbl[i]); - if (link != 4) { - ret = 0; + if (phase_state != cPhs_COMPLEATE_e) { + ret = false; } } @@ -100,7 +75,7 @@ bool dScnLogo_c::preLoad_dyl() { /* 80256198-80256210 250AD8 0078+00 1/1 0/0 0/0 .text checkProgSelect__10dScnLogo_cFv */ void dScnLogo_c::checkProgSelect() { if (mDoRst::getProgSeqFlag() == 0 && VIGetDTVStatus() != 0) { - if (isProgressiveMode() || mDoCPd_c::getHoldB(0)) { + if (isProgressiveMode() || mDoCPd_c::getHoldB(PAD_1)) { field_0x20a = 1; field_0x209 = 0; } @@ -138,7 +113,7 @@ void dScnLogo_c::progSelDraw() { if (field_0x20b == 0) { if (field_0x209 == 0) { - if (mDoCPd_c::getHoldRight(0) || mDoCPd_c::getStickX(0) > 0.5f) { + if (mDoCPd_c::getHoldRight(PAD_1) || mDoCPd_c::getStickX(PAD_1) > 0.5f) { mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0); field_0x209 = 1; field_0x20e = 30; @@ -146,7 +121,7 @@ void dScnLogo_c::progSelDraw() { field_0x212 = 0; } } else { - if (mDoCPd_c::getHoldLeft(0) || mDoCPd_c::getStickX(0) < -0.5f) { + if (mDoCPd_c::getHoldLeft(PAD_1) || mDoCPd_c::getStickX(PAD_1) < -0.5f) { mDoAud_seStart(Z2SE_SY_MENU_CURSOR_COMMON, NULL, 0, 0); field_0x209 = 0; field_0x20e = 30; @@ -326,10 +301,11 @@ void dScnLogo_c::warningDispDraw() { field_0x210--; } - if (mTimer == 0 || - mDoCPd_c::getTrig(PAD_1) & (CButton::A | CButton::B | CButton::X | CButton::Y | CButton::START | - CButton::Z | CButton::L | CButton::R | CButton::DPAD_LEFT | - CButton::DPAD_RIGHT | CButton::DPAD_DOWN | CButton::DPAD_UP)) { + if (mTimer == 0 || mDoCPd_c::getTrig(PAD_1) & + (CButton::A | CButton::B | CButton::X | CButton::Y | CButton::START | + CButton::Z | CButton::L | CButton::R | CButton::DPAD_LEFT | + CButton::DPAD_RIGHT | CButton::DPAD_DOWN | CButton::DPAD_UP)) + { mExecCommand = EXEC_WARNING_OUT; mTimer = 30; mDoGph_gInf_c::startFadeOut(30); @@ -394,10 +370,9 @@ void dScnLogo_c::dolbyOutDraw() { /* 80257058-80257070 251998 0018+00 1/0 0/0 0/0 .text dolbyOutDraw2__10dScnLogo_cFv */ void dScnLogo_c::dolbyOutDraw2() { - if (mTimer != 0) { - return; + if (mTimer == 0) { + mExecCommand = EXEC_DVD_WAIT; } - mExecCommand = EXEC_DVD_WAIT; } /* 80257070-80257284 2519B0 0214+00 1/0 0/0 0/0 .text dvdWaitDraw__10dScnLogo_cFv */ @@ -412,7 +387,8 @@ void dScnLogo_c::dvdWaitDraw() { mpMsgResCommand[3]->sync() && mpMsgResCommand[4]->sync() && mpMsgResCommand[5]->sync() && mpMsgResCommand[6]->sync() && mpFontResCommand->sync() && mpMain2DCommand->sync() && mpRubyResCommand->sync() && mParticleCommand->sync() && - mItemTableCommand->sync() && mEnemyItemCommand->sync() && preLoad_dyl()) { + mItemTableCommand->sync() && mEnemyItemCommand->sync() && preLoad_dyl()) + { mDoRst::setLogoScnFlag(0); mDoRst::setProgChgFlag(0); mExecCommand = EXEC_SCENE_CHANGE; @@ -515,53 +491,56 @@ dScnLogo_c::~dScnLogo_c() { } /* 80257910-802579BC 252250 00AC+00 1/0 0/0 0/0 .text phase_0__FP10dScnLogo_c */ -static int phase_0(dScnLogo_c* logo) { +static int phase_0(dScnLogo_c* i_this) { mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor); dComIfGp_particle_create(); - logo->buffer = mDoExt_getGameHeap()->alloc(0x340000, -0x10); - logo->field_0x1d0 = JKRExpHeap::create(logo->buffer, 0x340000, NULL, false); - logo->field_0x1d4 = JKRExpHeap::create(0x130000, logo->field_0x1d0, false); + i_this->buffer = mDoExt_getGameHeap()->alloc(0x340000, -0x10); + i_this->field_0x1d0 = JKRExpHeap::create(i_this->buffer, 0x340000, NULL, false); + i_this->field_0x1d4 = JKRExpHeap::create(0x130000, i_this->field_0x1d0, false); - return 2; + return cPhs_NEXT_e; } /* 802579BC-80257A70 2522FC 00B4+00 1/0 0/0 0/0 .text phase_1__FP10dScnLogo_c */ -static int phase_1(dScnLogo_c* logo) { +static int phase_1(dScnLogo_c* i_this) { if (!cDyl_InitAsyncIsDone()) { - return 0; + return cPhs_INIT_e; } - if (!mDoAud_zelAudio_c::isInitFlag() || - Z2AudioMgr::getInterface()->checkFirstWaves()) { - return 0; + if (!mDoAud_zelAudio_c::isInitFlag() || Z2AudioMgr::getInterface()->checkFirstWaves()) { + return cPhs_INIT_e; } - dComIfG_setObjectRes("LogoUs", (u8)0, logo->field_0x1d0); + dComIfG_setObjectRes("LogoUs", (u8)0, i_this->field_0x1d0); mDoRst::setLogoScnFlag(1); archiveHeap->dump_sort(); - return 2; + return cPhs_NEXT_e; } /* 80257A70-80257AB4 2523B0 0044+00 1/0 0/0 0/0 .text phase_2__FP10dScnLogo_c */ -static int phase_2(dScnLogo_c* param_0) { - return dComIfG_syncAllObjectRes() ? 0 : 4; +static int phase_2(dScnLogo_c* i_this) { + if (dComIfG_syncAllObjectRes()) { + return cPhs_INIT_e; + } else { + return cPhs_COMPLEATE_e; + } } /* 80257AB4-80257AE0 2523F4 002C+00 1/1 0/0 0/0 .text * resLoad__FP30request_of_phase_process_classP10dScnLogo_c */ -static int resLoad(request_of_phase_process_class* i_phase, dScnLogo_c* param_1) { +static int resLoad(request_of_phase_process_class* i_phase, dScnLogo_c* i_this) { static int (*l_method[3])(void*) = {(int (*)(void*))phase_0, (int (*)(void*))phase_1, (int (*)(void*))phase_2}; - return dComLbG_PhaseHandler(i_phase, l_method, param_1); + return dComLbG_PhaseHandler(i_phase, l_method, i_this); } /* 80257AE0-80257C64 252420 0184+00 1/1 0/0 0/0 .text create__10dScnLogo_cFv */ int dScnLogo_c::create() { - int stat = resLoad(&field_0x1c4, this); - if (stat != 4) { - return stat; + int phase_state = resLoad(&field_0x1c4, this); + if (phase_state != cPhs_COMPLEATE_e) { + return phase_state; } mpHeap = mDoExt_setCurrentHeap(field_0x1d4); @@ -596,7 +575,7 @@ int dScnLogo_c::create() { mDoRst::offReset(); mDoRst::offResetPrepare(); - return stat; + return phase_state; } /* 80257C64-80257FEC 2525A4 0388+00 1/1 0/0 0/0 .text logoInitGC__10dScnLogo_cFv */ @@ -693,33 +672,33 @@ void dScnLogo_c::dvdDataLoad() { } /* 80258420-80258444 252D60 0024+00 1/0 0/0 0/0 .text dScnLogo_Create__FP11scene_class */ -static int dScnLogo_Create(scene_class* scn) { - return (new (scn) dScnLogo_c())->create(); +static int dScnLogo_Create(scene_class* i_this) { + return (new (i_this) dScnLogo_c())->create(); } /* 80258444-80258484 252D84 0040+00 1/0 0/0 0/0 .text dScnLogo_Execute__FP10dScnLogo_c */ -static int dScnLogo_Execute(dScnLogo_c* logo) { +static int dScnLogo_Execute(dScnLogo_c* i_this) { if (mDoRst::isReset()) { - fopScnM_ChangeReq(logo, 9, 0, 5); + fopScnM_ChangeReq(i_this, PROC_LOGO_SCENE, 0, 5); } return 1; } /* 80258484-802584A8 252DC4 0024+00 1/0 0/0 0/0 .text dScnLogo_Draw__FP10dScnLogo_c */ -static int dScnLogo_Draw(dScnLogo_c* logo) { - logo->draw(); +static int dScnLogo_Draw(dScnLogo_c* i_this) { + i_this->draw(); return 1; } /* 802584A8-802584D0 252DE8 0028+00 1/0 0/0 0/0 .text dScnLogo_Delete__FP10dScnLogo_c */ -static int dScnLogo_Delete(dScnLogo_c* logo) { - logo->~dScnLogo_c(); +static int dScnLogo_Delete(dScnLogo_c* i_this) { + i_this->~dScnLogo_c(); return 1; } /* 802584D0-802584D8 252E10 0008+00 1/0 0/0 0/0 .text dScnLogo_IsDelete__FP10dScnLogo_c */ -static int dScnLogo_IsDelete(dScnLogo_c* logo) { +static int dScnLogo_IsDelete(dScnLogo_c* i_this) { return 1; } @@ -751,8 +730,10 @@ dLog_HIO_c::~dLog_HIO_c() {} /* 803C2FD0-803C2FE4 -00001 0014+00 1/0 0/0 0/0 .data l_dScnLogo_Method */ static dScnLogo_Method l_dScnLogo_Method[5] = { - (dScnLogo_Method) dScnLogo_Create, dScnLogo_Delete, - dScnLogo_Execute, dScnLogo_IsDelete, + (dScnLogo_Method)dScnLogo_Create, + dScnLogo_Delete, + dScnLogo_Execute, + dScnLogo_IsDelete, dScnLogo_Draw, }; @@ -770,5 +751,3 @@ extern scene_process_profile_definition g_profile_LOGO_SCENE = { (process_method_class*)&l_dScnLogo_Method, NULL, }; - -/* 80399FFC-80399FFC 02665C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/s/d_s_menu.cpp b/src/d/s/d_s_menu.cpp index 74f482fada..424e2298eb 100644 --- a/src/d/s/d_s_menu.cpp +++ b/src/d/s/d_s_menu.cpp @@ -1,6 +1,6 @@ /** * d_s_menu.cpp - * dolzel2 - Scene Menu + * Debug Level Select Menu */ #include "d/s/d_s_menu.h" @@ -8,8 +8,6 @@ #include "f_pc/f_pc_leaf.h" #include "f_op/f_op_scene.h" - -/* ############################################################################################## */ /* 803C3018-803C3040 -00001 0028+00 0/0 0/0 1/0 .data g_profile_MENU_SCENE */ extern scene_process_profile_definition g_profile_MENU_SCENE = { fpcLy_ROOT_e, // mLayerID diff --git a/src/d/s/d_s_name.cpp b/src/d/s/d_s_name.cpp index 0d679b519d..593df2df6b 100644 --- a/src/d/s/d_s_name.cpp +++ b/src/d/s/d_s_name.cpp @@ -1,6 +1,7 @@ -// -// Translation Unit: d/s/d_s_name -// +/** + * d_s_name.cpp + * File Select Scene +*/ #include "d/s/d_s_name.h" #include "JSystem/JKernel/JKRExpHeap.h" @@ -15,95 +16,6 @@ #include "m_Do/m_Do_mtx.h" #include "f_op/f_op_overlap_mng.h" - -// -// Forward References: -// - -extern "C" void __ct__9dSn_HIO_cFv(); -extern "C" static void phase_1__FPc(); -extern "C" static void phase_2__FPc(); -extern "C" static void resLoad__FP30request_of_phase_process_classPc(); -extern "C" void create__10dScnName_cFv(); -extern "C" void setView__10dScnName_cFv(); -extern "C" void execute__10dScnName_cFv(); -extern "C" void draw__10dScnName_cFv(); -extern "C" void __dt__10dScnName_cFv(); -extern "C" void FileSelectOpen__10dScnName_cFv(); -extern "C" void FileSelectMain__10dScnName_cFv(); -extern "C" void FileSelectMainNormal__10dScnName_cFv(); -extern "C" void FileSelectClose__10dScnName_cFv(); -extern "C" void brightCheckOpen__10dScnName_cFv(); -extern "C" void brightCheck__10dScnName_cFv(); -extern "C" void changeGameScene__10dScnName_cFv(); -extern "C" static void dScnName_Draw__FP10dScnName_c(); -extern "C" static void dScnName_Execute__FP10dScnName_c(); -extern "C" static void dScnName_IsDelete__FP10dScnName_c(); -extern "C" static void dScnName_Delete__FP10dScnName_c(); -extern "C" static void dScnName_Create__FP11scene_class(); -extern "C" void __dt__17dScnName_camera_cFv(); -extern "C" void __dt__9dSn_HIO_cFv(); -extern "C" void __sinit_d_s_name_cpp(); -extern "C" extern char const* const d_s_d_s_name__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3Vecs(); -extern "C" void mDoMtx_concatProjView__FPA4_CfPA4_CfPA4_f(); -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void fopOvlpM_IsPeek__Fv(); -extern "C" void fopScnM_ChangeReq__FP11scene_classssUs(); -extern "C" void dComIfG_resetToOpening__FP11scene_class(); -extern "C" void dComIfGp_setNextStage__FPCcsScSc(); -extern "C" void dComIfGs_gameStart__Fv(); -extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv(); -extern "C" void offFirstBit__21dSv_player_get_item_cFUc(); -extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap(); -extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void cleanup__13dPa_control_cFv(); -extern "C" void setViewPort__14dDlst_window_cFffffff(); -extern "C" void setScissor__14dDlst_window_cFffff(); -extern "C" void Run__12dVibration_cFv(); -extern "C" void Init__12dVibration_cFv(); -extern "C" void __ct__14dFile_select_cFP10JKRArchive(); -extern "C" void _create__14dFile_select_cFv(); -extern "C" void _move__14dFile_select_cFv(); -extern "C" void _draw__14dFile_select_cFv(); -extern "C" void __ct__14dBrightCheck_cFP10JKRArchive(); -extern "C" void _move__14dBrightCheck_cFv(); -extern "C" void _draw__14dBrightCheck_cFv(); -extern "C" void dKy_clear_game_init__Fv(); -extern "C" void dKy_setLight_init__Fv(); -extern "C" void changeWater__13dMeter2Info_cFUc(); -extern "C" void bgmStart__8Z2SeqMgrFUlUll(); -extern "C" void bgmStop__8Z2SeqMgrFUll(); -extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl(); -extern "C" void bgmStreamPlay__8Z2SeqMgrFv(); -extern "C" void becomeCurrentHeap__7JKRHeapFv(); -extern "C" void destroy__7JKRHeapFv(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void __register_global_object(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_28(); -extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 sManager__10JFWDisplay[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ /* 803C3040-803C304C 020160 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -128,10 +40,10 @@ dSn_HIO_c::dSn_HIO_c() { static s32 phase_1(char* resName) { mDoAud_bgmStart(-1); if (dComIfG_setObjectRes(resName, (u8)0, NULL) == 0) { - return 5; + return cPhs_ERROR_e; } - return 2; + return cPhs_NEXT_e; } /* 80258820-80258878 253160 0058+00 1/0 0/0 0/0 .text phase_2__FPc */ @@ -139,25 +51,27 @@ static s32 phase_2(char* resName) { int syncStatus = dComIfG_syncObjectRes(resName); if (syncStatus < 0) { - return 5; + return cPhs_ERROR_e; + } + + if (syncStatus > 0) { + return cPhs_INIT_e; } else { - return syncStatus > 0 ? 0 : 4; + return cPhs_COMPLEATE_e; } } /* 80258878-802588A0 2531B8 0028+00 1/1 0/0 0/0 .text * resLoad__FP30request_of_phase_process_classPc */ -static s32 resLoad(request_of_phase_process_class* i_phase, char* param_1) { +static s32 resLoad(request_of_phase_process_class* i_phase, char* i_resName) { static request_of_phase_process_fn l_method[2] = { (request_of_phase_process_fn)phase_1, (request_of_phase_process_fn)phase_2 }; - return dComLbG_PhaseHandler(i_phase, l_method, param_1); + return dComLbG_PhaseHandler(i_phase, l_method, i_resName); } -/* ############################################################################################## */ - s32 dScnName_c::create() { int phase_state = resLoad(&field_0x1c4, "fileSel"); if (phase_state == cPhs_COMPLEATE_e) { @@ -349,8 +263,6 @@ void dScnName_c::brightCheck() { } } -/* ############################################################################################## */ - /* 802590F8-802591C0 253A38 00C8+00 1/0 0/0 0/0 .text changeGameScene__10dScnName_cFv */ void dScnName_c::changeGameScene() { if (!mDoRst::isReset() && !fopOvlpM_IsPeek()) { @@ -369,37 +281,34 @@ void dScnName_c::changeGameScene() { } /* 802591C0-802591E0 253B00 0020+00 1/0 0/0 0/0 .text dScnName_Draw__FP10dScnName_c */ -static void dScnName_Draw(dScnName_c* scn) { - scn->draw(); +static int dScnName_Draw(dScnName_c* i_this) { + return i_this->draw(); } /* 802591E0-80259200 253B20 0020+00 1/0 0/0 0/0 .text dScnName_Execute__FP10dScnName_c */ -static void dScnName_Execute(dScnName_c* scn) { - scn->execute(); +static int dScnName_Execute(dScnName_c* i_this) { + return i_this->execute(); } /* 80259200-80259230 253B40 0030+00 1/0 0/0 0/0 .text dScnName_IsDelete__FP10dScnName_c */ -static s32 dScnName_IsDelete(dScnName_c*) { +static int dScnName_IsDelete(dScnName_c*) { dComIfGp_particle_cleanup(); return 1; } /* 80259230-80259258 253B70 0028+00 1/0 0/0 0/0 .text dScnName_Delete__FP10dScnName_c */ -static s32 dScnName_Delete(dScnName_c* scn) { - scn->~dScnName_c(); +static int dScnName_Delete(dScnName_c* i_this) { + i_this->~dScnName_c(); return 1; } /* 80259258-80259294 253B98 003C+00 1/0 0/0 0/0 .text dScnName_Create__FP11scene_class */ -static void dScnName_Create(scene_class* scn) { - new (scn) dScnName_c(); - static_cast(scn)->create(); +static int dScnName_Create(scene_class* i_this) { + new (i_this) dScnName_c(); + return static_cast(i_this)->create(); } -/* 8039A2A8-8039A2A8 026908 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ - - /* 803C30DC-803C30F0 -00001 0014+00 2/0 0/0 0/0 .data l_dScnName_Method */ static leafdraw_method_class l_dScnName_Method = { (process_method_func)dScnName_Create, (process_method_func)dScnName_Delete, diff --git a/src/d/s/d_s_play.cpp b/src/d/s/d_s_play.cpp index 024b0c46a1..6b1c96ca6a 100644 --- a/src/d/s/d_s_play.cpp +++ b/src/d/s/d_s_play.cpp @@ -1,8 +1,10 @@ -// -// d/s/d_s_play -// +/** + * d_s_play.cpp + * Main Gameplay Scene + */ #include "d/s/d_s_play.h" +#include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JUtility/JUTConsole.h" #include "JSystem/JUtility/JUTGamePad.h" #include "SSystem/SComponent/c_counter.h" @@ -21,17 +23,12 @@ #include "f_op/f_op_msg_mng.h" #include "f_op/f_op_overlap_mng.h" #include "f_op/f_op_scene_mng.h" -#include "JSystem/JKernel/JKRHeap.h" #include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_graphic.h" #include "rel/d/a/d_a_suspend/d_a_suspend.h" #include "rel/d/a/d_a_ykgr/d_a_ykgr.h" -// -// Declarations: -// - static void dScnPly_Create(scene_class*); static int dScnPly_Delete(dScnPly_c*); static int dScnPly_IsDelete(dScnPly_c); @@ -52,7 +49,6 @@ static int phase_compleate(void*); extern "C" s8 func_80252E70(s8*); -/* ############################################################################################## */ /* 804510F8-80451100 0005F8 0008+00 2/2 0/0 0/0 .sbss resPhase */ static request_of_phase_process_class resPhase[1]; @@ -71,11 +67,10 @@ static OSTime resPreLoadTime1; /* 80451120-80451124 000620 0004+00 1/1 0/0 0/0 .sbss g_preLoadHIO */ static dScnPly_preLoad_HIO_c g_preLoadHIO; -/* 80451124-80451128 -00001 0004+00 3/3 7/7 38/38 .sbss None */ /* 80451124 0001+00 data_80451124 None */ -/* 80451125 0003+00 nextPauseTimer__9dScnPly_c None */ s8 dScnPly_c::pauseTimer; +/* 80451125 0003+00 nextPauseTimer__9dScnPly_c None */ s8 dScnPly_c::nextPauseTimer; /* 80259400-80259440 253D40 0040+00 1/1 0/0 0/0 .text calcPauseTimer__9dScnPly_cFv */ @@ -89,66 +84,6 @@ s8 dScnPly_c::calcPauseTimer() { } } -/* ############################################################################################## */ -/* 803C3158-803C3188 020278 002E+02 1/1 0/0 0/0 .data l_wipeType$4081 */ -static s16 l_wipeType[23] = { - 0x0000, 0x0000, 0x0011, 0x0002, 0x0002, 0x0001, 0x0003, 0x0001, 0x0004, 0x0004, 0x0005, 0x0005, - 0x0006, 0x0007, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0008, 0x0008, -}; - -/* 803C3188-803C3194 0202A8 000A+02 1/1 0/0 0/0 .data camparamarc$4608 */ -static char camparamarc[10] = "CamParam"; - -/* 803C3194-803C31C0 -00001 002C+00 1/1 0/0 0/0 .data l_method$4860 */ -static request_of_phase_process_fn l_method[11] = { - (request_of_phase_process_fn)phase_00, - (request_of_phase_process_fn)phase_1, - (request_of_phase_process_fn)phase_1_0, - (request_of_phase_process_fn)phase_01, - (request_of_phase_process_fn)phase_0, - (request_of_phase_process_fn)phase_2, - (request_of_phase_process_fn)phase_3, - (request_of_phase_process_fn)phase_4, - (request_of_phase_process_fn)phase_5, - (request_of_phase_process_fn)phase_6, - (request_of_phase_process_fn)phase_compleate, -}; - -/* 803C31C0-803C31D4 -00001 0014+00 2/0 0/0 0/0 .data l_dScnPly_Method */ -static leafdraw_method_class l_dScnPly_Method = { - (process_method_func)dScnPly_Create, (process_method_func)dScnPly_Delete, - (process_method_func)dScnPly_Execute, (process_method_func)dScnPly_IsDelete, - (process_method_func)dScnPly_Draw, -}; - -/* 803C31D4-803C31FC -00001 0028+00 0/0 0/0 1/0 .data g_profile_PLAY_SCENE */ -scene_process_profile_definition g_profile_PLAY_SCENE = { - fpcLy_ROOT_e, // mLayerID - 1, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_PLAY_SCENE, // mProcName - &g_fpcNd_Method.mBase, // mSubMtd - sizeof(dScnPly_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopScn_Method.mBase, // mSubMtd - (process_method_class*)&l_dScnPly_Method, // mpMtd -}; - -/* 803C31FC-803C3224 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OPENING_SCENE */ -scene_process_profile_definition g_profile_OPENING_SCENE = { - fpcLy_ROOT_e, // mLayerID - 1, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_OPENING_SCENE, // mProcName - &g_fpcNd_Method.mBase, // mSubMtd - sizeof(dScnPly_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopScn_Method.mBase, // mSubMtd - (process_method_class*)&l_dScnPly_Method, // mpMtd -}; - /* 80454F18-80454F1C 003518 0002+02 1/0 0/0 0/0 .sdata2 T_JOINT_dylKeyTbl */ static const s16 T_JOINT_dylKeyTbl[1] = { 0x0106, @@ -170,15 +105,20 @@ dScnPly_env_debugHIO_c::dScnPly_env_debugHIO_c() { } /* 802594AC-802597B8 253DEC 030C+00 1/0 0/0 0/0 .text dScnPly_Draw__FP9dScnPly_c */ -static int dScnPly_Draw(dScnPly_c* scn) { +static int dScnPly_Draw(dScnPly_c* i_this) { + static s16 l_wipeType[] = { + 0x0000, 0x0000, 0x0011, 0x0002, 0x0002, 0x0001, 0x0003, 0x0001, 0x0004, 0x0004, 0x0005, 0x0005, + 0x0006, 0x0007, 0x0000, 0x0000, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0008, 0x0008, + }; + dComIfG_Ccsp()->Move(); dComIfG_Bgsp().ClrMoveFlag(); u8 useWhiteColor; - if (!fopOvlpM_IsPeek() && !dComIfG_resetToOpening(scn)) { + if (!fopOvlpM_IsPeek() && !dComIfG_resetToOpening(i_this)) { if (dComIfGp_isEnableNextStage()) { u8 wipe = dComIfGp_getNextStageWipe(); - fopScnM_ChangeReq(scn, 11, l_wipeType[wipe], 5); + fopScnM_ChangeReq(i_this, PROC_PLAY_SCENE, l_wipeType[wipe], 5); int hour = dKy_getdaytime_hour(); useWhiteColor = hour >= 6 && hour < 18 ? true : false; @@ -186,7 +126,8 @@ static int dScnPly_Draw(dScnPly_c* scn) { if (wipe == 1 || wipe == 2 || wipe == 7 || wipe == 17 || wipe == 21 || ((wipe == 8 || wipe == 10 || wipe == 18) && tmp) || - ((wipe == 9 || wipe == 11 || wipe == 19) && !tmp)) { + ((wipe == 9 || wipe == 11 || wipe == 19) && !tmp)) + { mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_saftyWhiteColor); } else if (wipe == 14 || wipe == 20) { GXColor color = {0x2A, 0x1E, 0x46, 0xFF}; @@ -204,7 +145,7 @@ static int dScnPly_Draw(dScnPly_c* scn) { dMdl_mng_c::reset(); if (!dComIfGp_isPauseFlag() && dScnPly_c::pauseTimer == 0) { - if (fpcM_GetName(scn) == PROC_PLAY_SCENE) { + if (fpcM_GetName(i_this) == PROC_PLAY_SCENE) { dComIfGp_getVibration().Run(); } daSus_c::execute(); @@ -236,8 +177,8 @@ static int dScnPly_Draw(dScnPly_c* scn) { } /* 802597B8-8025987C 2540F8 00C4+00 1/0 0/0 0/0 .text dScnPly_Execute__FP9dScnPly_c */ -static int dScnPly_Execute(dScnPly_c* scnPly) { - scnPly->offReset(); +static int dScnPly_Execute(dScnPly_c* i_this) { + i_this->offReset(); dStage_roomControl_c::offNoChangeRoom(); dStage_roomControl_c::setRoomReadId(0xFF); @@ -248,7 +189,7 @@ static int dScnPly_Execute(dScnPly_c* scnPly) { mDoAud_zelAudio_c::offBgmSet(); } - if (scnPly->calcPauseTimer() != 0) { + if (i_this->calcPauseTimer() != 0) { return 1; } } @@ -263,24 +204,24 @@ static int dScnPly_Execute(dScnPly_c* scnPly) { } /* 8025987C-802598AC 2541BC 0030+00 1/0 0/0 0/0 .text dScnPly_IsDelete__F9dScnPly_c */ -static int dScnPly_IsDelete(dScnPly_c scnPly) { +static int dScnPly_IsDelete(dScnPly_c i_this) { dComIfGp_particle_cleanup(); return 1; } -struct ProLoadInfoStruct { - const char* field_0x0; - const s16* field_0x4; - const char** field_0x8; - u8 field_0xc; - u8 field_0xd; +struct PreLoadInfo { + const char* stageName; + const s16* profNameTbl; + const char** resNameTbl; + u8 dylKeyTblNum; + u8 resNameNum; }; /* 80450760-80450764 -00001 0004+00 1/0 0/0 0/0 .sdata T_JOINT_resName */ static const char* T_JOINT_resName[1] = {"Always"}; /* 8039A2C8-8039A2D8 -00001 0010+00 4/4 0/0 0/0 .rodata PreLoadInfoT */ -static ProLoadInfoStruct const PreLoadInfoT[1] = { +static PreLoadInfo const PreLoadInfoT[1] = { { "T_JOINT", T_JOINT_dylKeyTbl, @@ -296,46 +237,59 @@ static s8 preLoadNo = -1; static u8 doPreLoad = 1; /* 802598AC-80259AC4 2541EC 0218+00 1/0 0/0 0/0 .text dScnPly_Delete__FP9dScnPly_c */ -static int dScnPly_Delete(dScnPly_c* param_0) { +static int dScnPly_Delete(dScnPly_c* i_this) { daSus_c::reset(); dMpath_c::remove(); dTres_c::remove(); + dComIfGp_getAttention().~dAttention_c(); dComIfGp_getVibration().Remove(); + dComIfG_Bgsp().Dt(); dComIfG_Ccsp()->Dt(); dStage_Delete(); + i_dComIfGp_event_remove(); + dComIfGp_particle_removeScene(0); + dComIfGp_getMsgDtArchive(1)->removeResourceAll(); JKRUnmountArchive(dComIfGp_getMsgDtArchive(1)); + dDemo_c::remove(); + fopMsgM_destroyExpHeap(dComIfGp_getExpHeap2D()); dComIfGp_setExpHeap2D(NULL); fopMsgM_destroyExpHeap(dComIfGp_getMsgExpHeap()); dComIfGp_setMsgExpHeap(NULL); + dComIfGp_deleteSimpleModel(); dMdl_mng_c::remove(); + mDoGph_gInf_c::getBloom()->remove(); + dComIfGs_offPlayerFieldLastStayFieldDataExistFlag(); dComIfGp_setWindowNum(0); dComIfGd_setView(NULL); + if (preLoadNo >= 0) { - const char** piVar4 = PreLoadInfoT[preLoadNo].field_0x8; - int bVar1 = PreLoadInfoT[preLoadNo].field_0xd; - if (piVar4 != NULL && (*piVar4 != NULL)) { - for (int iVar3 = 0; iVar3 < bVar1; iVar3++) { - dComIfG_resDelete(&resPhase[iVar3], piVar4[iVar3]); + const char** resname_table = PreLoadInfoT[preLoadNo].resNameTbl; + int res_num = PreLoadInfoT[preLoadNo].resNameNum; + if (resname_table != NULL && (*resname_table != NULL)) { + for (int i = 0; i < res_num; i++) { + dComIfG_resDelete(&resPhase[i], resname_table[i]); } } - const s16* psVar5 = PreLoadInfoT[preLoadNo].field_0x4; - int bVar2 = PreLoadInfoT[preLoadNo].field_0xc; - if (psVar5 != NULL && *psVar5 != 0) { - for (int iVar3 = 0; iVar3 < bVar2; iVar3++) { - cDylPhs::Unlink(&dylPhase[iVar3], psVar5[iVar3]); + + const s16* profname_table = PreLoadInfoT[preLoadNo].profNameTbl; + int prof_num = PreLoadInfoT[preLoadNo].dylKeyTblNum; + if (profname_table != NULL && *profname_table != 0) { + for (int i = 0; i < prof_num; i++) { + cDylPhs::Unlink(&dylPhase[i], profname_table[i]); } } } + dComIfGp_init(); JUTAssertion::setMessageCount(0); return 1; @@ -359,7 +313,8 @@ bool dScnPly_c::resetGame() { if (dComIfGp_getNextStagePoint() == -4 || (dComIfGs_getLastSceneMode() & 0xF) == 0xC || !strcmp(dComIfGp_getNextStageName(), "F_SP109") || (!strcmp(dComIfGp_getNextStageName(), "F_SP116") && - dComIfGp_getNextStageRoomNo() == 1 && dComIfGp_getNextStageLayer() == 9)) { + dComIfGp_getNextStageRoomNo() == 1 && dComIfGp_getNextStageLayer() == 9)) + { if (!dStage_roomControl_c::resetArchiveBank(0)) { return false; } @@ -384,8 +339,8 @@ void dScnPly_c::offReset() { } /* 80259C70-80259CAC 2545B0 003C+00 1/0 0/0 0/0 .text phase_00__FP9dScnPly_c */ -static int phase_00(dScnPly_c* scn) { - if (!scn->resetGame()) { +static int phase_00(dScnPly_c* i_this) { + if (!i_this->resetGame()) { return cPhs_INIT_e; } else { mDoGph_gInf_c::offBlure(); @@ -394,7 +349,7 @@ static int phase_00(dScnPly_c* scn) { } /* 80259CAC-80259D7C 2545EC 00D0+00 1/0 0/0 0/0 .text phase_01__FP9dScnPly_c */ -static int phase_01(dScnPly_c* scn) { +static int phase_01(dScnPly_c* i_this) { mDoAud_setHour(dKy_getdaytime_hour()); mDoAud_setMinute(dKy_getdaytime_minute()); mDoAud_setWeekday(dKy_get_dayofweek()); @@ -419,13 +374,13 @@ static int phase_01(dScnPly_c* scn) { } /* 80259D7C-80259D84 2546BC 0008+00 1/0 0/0 0/0 .text phase_0__FP9dScnPly_c */ -static int phase_0(dScnPly_c* param_0) { +static int phase_0(dScnPly_c* i_this) { return cPhs_NEXT_e; } /* 80259D84-8025A438 2546C4 06B4+00 1/0 0/0 0/0 .text phase_1__FP9dScnPly_c */ -static int phase_1(dScnPly_c* scn) { - u32 id = fopScnM_GetID(scn); +static int phase_1(dScnPly_c* i_this) { + u32 id = fopScnM_GetID(i_this); dStage_roomControl_c::setProcID(id); dComIfGp_setStartStage(dComIfGp_getNextStartStage()); @@ -442,38 +397,45 @@ static int phase_1(dScnPly_c* scn) { // Stage: Faron Woods, Room: Faron Spring if (!strcmp(dComIfGp_getStartStageName(), "F_SP108") && dComIfGp_getStartStageRoomNo() == 1 && - dComIfGp_getStartStagePoint() == 3) { + dComIfGp_getStartStagePoint() == 3) + { dComIfGs_onDarkClearLV(0); execItemGet(WEAR_KOKIRI); } // Stage: Kakariko Village, Room: Kakariko Village else if (!strcmp(dComIfGp_getStartStageName(), "F_SP109") && - dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStagePoint() == 30) { + dComIfGp_getStartStageRoomNo() == 0 && dComIfGp_getStartStagePoint() == 30) + { dComIfGs_onDarkClearLV(1); } // Stage: Lake Hylia, Room: Fountain else if (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && - dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 20) { + dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 20) + { dComIfGs_onDarkClearLV(2); } // Stage: Sacred Grove, Room: Lost Woods else if (!strcmp(dComIfGp_getStartStageName(), "F_SP117") && - dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 99) { + dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStagePoint() == 99) + { dComIfGs_onDarkClearLV(3); } // Stage: Ordon Spring, Room: Ordon Spring if (!strcmp(dComIfGp_getStartStageName(), "F_SP104") && dComIfGp_getStartStageRoomNo() == 1 && - dComIfGp_getStartStagePoint() == 23 && dComIfGp_getStartStageLayer() == 12) { + dComIfGp_getStartStagePoint() == 23 && dComIfGp_getStartStageLayer() == 12) + { dComIfGs_onItemFirstBit(HORSE_FLUTE); dComIfGs_setItem(SLOT_21, HORSE_FLUTE); } if ((u8)dKy_darkworld_stage_check(dComIfGp_getStartStageName(), - dComIfGp_getStartStageRoomNo()) == true) { + dComIfGp_getStartStageRoomNo()) == true) + { dComIfGp_world_dark_set(1); } else if ((u8)dKy_darkworld_spot_check(dComIfGp_getStartStageName(), - dComIfGp_getStartStageRoomNo()) == true) { + dComIfGp_getStartStageRoomNo()) == true) + { dComIfGp_world_dark_set(2); } else { dComIfGp_world_dark_set(0); @@ -481,7 +443,8 @@ static int phase_1(dScnPly_c* scn) { // Stage: Lake Hylia, Room: Fountain if (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 && - dComIfGp_getStartStageLayer() < 0) { + dComIfGp_getStartStageLayer() < 0) + { const char* stage = dComIfGp_getStartStageName(); s8 room = dComIfGp_getStartStageRoomNo(); s8 layer = dComIfGp_getStartStageLayer(); @@ -502,13 +465,15 @@ static int phase_1(dScnPly_c* scn) { (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 && dComIfGp_getStartStageLayer() == 8) || (!strcmp(dComIfGp_getStartStageName(), "F_SP115") && dComIfGp_getStartStageRoomNo() == 1 && - dComIfGp_getStartStageLayer() == 9)) { + dComIfGp_getStartStageLayer() == 9)) + { dComIfGp_world_dark_set(1); } // Stage: Zant Boss Fight, Room: Throne Room if (!strcmp(dComIfGp_getStartStageName(), "D_MN08D") && dComIfGp_getStartStageRoomNo() == 50 && - dComIfGp_getStartStagePoint() == 20) { + dComIfGp_getStartStagePoint() == 20) + { dComIfGs_onSaveDunSwitch(30); } @@ -516,29 +481,34 @@ static int phase_1(dScnPly_c* scn) { // Stage: Hyrule Castle Sewers, Room: Prison Cell if (!strcmp(dComIfGp_getStartStageName(), "R_SP107") && dComIfGp_getStartStageRoomNo() == 0 && - (dComIfGp_getStartStagePoint() == 24 || dComIfGp_getStartStagePoint() == 0)) { + (dComIfGp_getStartStagePoint() == 24 || dComIfGp_getStartStagePoint() == 0)) + { dComIfGs_onTransformLV(0); } // Stage: Hyrule Field, Room: Eldin Gorge south entrance else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && - dComIfGp_getStartStageRoomNo() == 2 && dComIfGp_getStartStagePoint() == 10) { + dComIfGp_getStartStageRoomNo() == 2 && dComIfGp_getStartStagePoint() == 10) + { dComIfGs_onTransformLV(1); } // Stage: Hyrule Field, Room: Lanayru Field north entrance else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && - dComIfGp_getStartStageRoomNo() == 9 && dComIfGp_getStartStagePoint() == 10) { + dComIfGp_getStartStageRoomNo() == 9 && dComIfGp_getStartStagePoint() == 10) + { dComIfGs_onTransformLV(2); } // Stage: Hyrule Field, Room: Lanayru Field else if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") && dComIfGp_getStartStageRoomNo() == 10 && - (dComIfGp_getStartStagePoint() == 23 || dComIfGp_getStartStagePoint() == 20)) { + (dComIfGp_getStartStagePoint() == 23 || dComIfGp_getStartStagePoint() == 20)) + { dComIfGs_onTransformLV(3); } // Stage: Fishing Pond, Room: Fishing Pond if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") && dComIfGp_getStartStageRoomNo() == 0 && - dComIfGp_getStartStagePoint() == 2) { + dComIfGp_getStartStagePoint() == 2) + { g_env_light.mPondSeason++; if (g_env_light.mPondSeason > 4) { @@ -559,7 +529,9 @@ static int phase_1(dScnPly_c* scn) { } /* 8025A438-8025A4F8 254D78 00C0+00 1/0 0/0 0/0 .text phase_1_0__FP9dScnPly_c */ -static int phase_1_0(dScnPly_c* param_0) { +static int phase_1_0(dScnPly_c* i_this) { + static char camparamarc[10] = "CamParam"; + if (dComIfG_syncStageRes("Stg_00")) { return cPhs_INIT_e; } else { @@ -572,29 +544,33 @@ static int phase_1_0(dScnPly_c* param_0) { } /* 8025A4F8-8025A5D4 254E38 00DC+00 1/0 0/0 0/0 .text phase_2__FP9dScnPly_c */ -static int phase_2(dScnPly_c* scn) { +static int phase_2(dScnPly_c* i_this) { int tmp = dComIfG_syncAllObjectRes(); if (tmp >= 0 && tmp != 0) { return cPhs_INIT_e; } - u8 particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo(), dComIfG_play_c::getLayerNo(0)); + + u8 particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo(), + dComIfG_play_c::getLayerNo(0)); if (particle_no == 255) { particle_no = dStage_stagInfo_GetParticleNo(i_dComIfGp_getStage()->getStagInfo()); } - dComIfGp_particle_readScene(particle_no, &scn->sceneCommand); - dMsgObject_readMessageGroup(&scn->field_0x1d0); + dComIfGp_particle_readScene(particle_no, &i_this->sceneCommand); + dMsgObject_readMessageGroup(&i_this->field_0x1d0); return cPhs_NEXT_e; } /* 8025A5D4-8025A654 254F14 0080+00 1/0 0/0 0/0 .text phase_3__FP9dScnPly_c */ -static int phase_3(dScnPly_c* scn) { - if ((scn->sceneCommand != NULL && !scn->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) { +static int phase_3(dScnPly_c* i_this) { + if ((i_this->sceneCommand != NULL && !i_this->sceneCommand->sync()) || mDoAud_check1stDynamicWave()) { return cPhs_INIT_e; - } - if (!scn->field_0x1d0 == NULL && !scn->field_0x1d0->sync()) { + } + + if (!i_this->field_0x1d0 == NULL && !i_this->field_0x1d0->sync()) { return cPhs_INIT_e; - } + } + return cPhs_NEXT_e; } @@ -664,7 +640,7 @@ static int phase_4(dScnPly_c* i_this) { new (&dComIfGp_getAttention()) dAttention_c(dComIfGp_getPlayer(0), 0); dComIfGp_getVibration().Init(); daYkgr_c::init(); - + dComIfG_setBrightness(255); mDoGph_gInf_c::offFade(); mDoAud_zelAudio_c::onBgmSet(); @@ -676,7 +652,7 @@ static int phase_4(dScnPly_c* i_this) { const char* stageName = dComIfGp_getStartStageName(); OS_REPORT("stageName=%s\n", stageName); for (u32 i = 0; i < 1; i++) { - if (strcmp(stageName, PreLoadInfoT[i].field_0x0) == 0) { + if (strcmp(stageName, PreLoadInfoT[i].stageName) == 0) { preLoadNo = i; } } @@ -691,11 +667,12 @@ static int phase_4(dScnPly_c* i_this) { } /* 8025A9F4-8025AAC0 255334 00CC+00 1/0 0/0 0/0 .text phase_5__FP9dScnPly_c */ -static int phase_5(dScnPly_c* param_0) { +static int phase_5(dScnPly_c* i_this) { if (preLoadNo >= 0) { - int rv = 2; - const char** resNames = PreLoadInfoT[preLoadNo].field_0x8; - s32 resNameNum = PreLoadInfoT[preLoadNo].field_0xd; + int phase_state = cPhs_NEXT_e; + + const char** resNames = PreLoadInfoT[preLoadNo].resNameTbl; + s32 resNameNum = PreLoadInfoT[preLoadNo].resNameNum; if (resNames != NULL && *resNames != NULL) { JUT_ASSERT(2830, resNameNum <= (sizeof(resPhase) / sizeof(resPhase[0]))); int goodLoads = 0; @@ -704,52 +681,103 @@ static int phase_5(dScnPly_c* param_0) { if (dComIfG_resLoad(&resPhase[i], resNames[i]) == 4) { goodLoads++; } else { - rv = 0; + phase_state = cPhs_INIT_e; } loadNum++; } } - if (rv == 4) { + + if (phase_state == cPhs_COMPLEATE_e) { resPreLoadTime1 = OSGetTime(); } - return rv; + + return phase_state; } + return cPhs_NEXT_e; } /* 8025AAC0-8025AB8C 255400 00CC+00 1/0 0/0 0/0 .text phase_6__FP9dScnPly_c */ -static int phase_6(dScnPly_c* param_0) { +static int phase_6(dScnPly_c* i_this) { if (preLoadNo >= 0) { - int rv = 2; - const s16* dylKeyTbl = PreLoadInfoT[preLoadNo].field_0x4; - s32 dylKeyTblNum = PreLoadInfoT[preLoadNo].field_0xc; + int phase_state = cPhs_NEXT_e; + + const s16* dylKeyTbl = PreLoadInfoT[preLoadNo].profNameTbl; + s32 dylKeyTblNum = PreLoadInfoT[preLoadNo].dylKeyTblNum; if (dylKeyTbl != NULL && *dylKeyTbl != 0) { JUT_ASSERT(2864, dylKeyTblNum <= (sizeof(dylPhase) / sizeof(dylPhase[0]))); int goodLoads = 0; int loadNum = 0; for (int i = 0; i < dylKeyTblNum; i++) { - if (cDylPhs::Link(&dylPhase[i], dylKeyTbl[i]) == 4) { + if (cDylPhs::Link(&dylPhase[i], dylKeyTbl[i]) == cPhs_COMPLEATE_e) { goodLoads++; } else { - rv = 0; + phase_state = cPhs_INIT_e; } loadNum++; } } - if (rv == 4) { + + if (phase_state == cPhs_COMPLEATE_e) { dylPreLoadTime1 = OSGetTime(); } - return rv; + + return phase_state; } + return cPhs_NEXT_e; } /* 8025AB8C-8025AB94 2554CC 0008+00 1/0 0/0 0/0 .text phase_compleate__FPv */ -static int phase_compleate(void* param_0) { +static int phase_compleate(void* i_this) { return cPhs_COMPLEATE_e; } /* 8025AB94-8025ABC4 2554D4 0030+00 1/0 0/0 0/0 .text dScnPly_Create__FP11scene_class */ static void dScnPly_Create(scene_class* i_this) { + static request_of_phase_process_fn l_method[] = { + (request_of_phase_process_fn)phase_00, (request_of_phase_process_fn)phase_1, + (request_of_phase_process_fn)phase_1_0, (request_of_phase_process_fn)phase_01, + (request_of_phase_process_fn)phase_0, (request_of_phase_process_fn)phase_2, + (request_of_phase_process_fn)phase_3, (request_of_phase_process_fn)phase_4, + (request_of_phase_process_fn)phase_5, (request_of_phase_process_fn)phase_6, + (request_of_phase_process_fn)phase_compleate, + }; + dComLbG_PhaseHandler(&static_cast(i_this)->field_0x1c4, l_method, i_this); } + +/* 803C31C0-803C31D4 -00001 0014+00 2/0 0/0 0/0 .data l_dScnPly_Method */ +static leafdraw_method_class l_dScnPly_Method = { + (process_method_func)dScnPly_Create, (process_method_func)dScnPly_Delete, + (process_method_func)dScnPly_Execute, (process_method_func)dScnPly_IsDelete, + (process_method_func)dScnPly_Draw, +}; + +/* 803C31D4-803C31FC -00001 0028+00 0/0 0/0 1/0 .data g_profile_PLAY_SCENE */ +scene_process_profile_definition g_profile_PLAY_SCENE = { + fpcLy_ROOT_e, // mLayerID + 1, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_PLAY_SCENE, // mProcName + &g_fpcNd_Method.mBase, // mSubMtd + sizeof(dScnPly_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopScn_Method.mBase, // mSubMtd + (process_method_class*)&l_dScnPly_Method, // mpMtd +}; + +/* 803C31FC-803C3224 -00001 0028+00 0/0 0/0 1/0 .data g_profile_OPENING_SCENE */ +scene_process_profile_definition g_profile_OPENING_SCENE = { + fpcLy_ROOT_e, // mLayerID + 1, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_OPENING_SCENE, // mProcName + &g_fpcNd_Method.mBase, // mSubMtd + sizeof(dScnPly_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopScn_Method.mBase, // mSubMtd + (process_method_class*)&l_dScnPly_Method, // mpMtd +}; \ No newline at end of file diff --git a/src/d/s/d_s_room.cpp b/src/d/s/d_s_room.cpp index 717d7ce6e3..603ffc159f 100644 --- a/src/d/s/d_s_room.cpp +++ b/src/d/s/d_s_room.cpp @@ -1,16 +1,16 @@ -// -// d_s_room -// +/** + * d_s_room.cpp + * Gameplay Room Scene + */ #include "d/s/d_s_room.h" #include "JSystem/JKernel/JKRExpHeap.h" -#include "stdio.h" #include "d/com/d_com_inf_game.h" #include "d/d_procname.h" #include "d/s/d_s_play.h" -#include "dolphin/os.h" #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_Reset.h" +#include "stdio.h" /* 8025AE1C-8025AE24 25575C 0008+00 1/0 0/0 0/0 .text dScnRoom_Draw__FP19room_of_scene_class */ static int dScnRoom_Draw(room_of_scene_class* i_this) { @@ -21,6 +21,7 @@ static int dScnRoom_Draw(room_of_scene_class* i_this) { static int getResetArchiveBank(int param_1, u8 const** param_2) { dStage_roomControl_c::nameData* arcBankName = dStage_roomControl_c::getArcBankName(); int local_30 = 0; + *param_2 = NULL; if (arcBankName != NULL) { dStage_roomControl_c::bankData* arcBankData = dStage_roomControl_c::getArcBankData(); @@ -35,19 +36,23 @@ static int getResetArchiveBank(int param_1, u8 const** param_2) { } } } + u8 const* pbVar1 = *param_2; for (int i = 0; i < local_30; pbVar1++, i++) { char* arcBank = dStage_roomControl_c::getArcBank(i); char* name = ""; + int id = *pbVar1; if (id != 0xff) { JUT_ASSERT(160, 0 <= id && id < arcBankName->m_num); name = arcBankName->m_names[id]; } + if (strcmp(arcBank, name) != 0) { return i; } } + return local_30; } @@ -60,24 +65,26 @@ static bool resetArchiveBank(int param_0) { /* 8025AF4C-8025B0F0 25588C 01A4+00 1/1 0/0 0/0 .text setArchiveBank__Fi */ static bool setArchiveBank(int param_0) { u8* arr[4]; - int iVar1 = getResetArchiveBank(param_0, (u8 const**)&arr); + int bank_no = getResetArchiveBank(param_0, (u8 const**)&arr); if (arr[0] == NULL) { return true; } + dStage_roomControl_c::nameData* arcBankName = dStage_roomControl_c::getArcBankName(); - for (; (int)iVar1 < 0x20; iVar1++) { + for (; (int)bank_no < 0x20; bank_no++) { const char* name = ""; - int id = arr[0][iVar1]; + int id = arr[0][bank_no]; if (id != 0xff) { JUT_ASSERT(216, 0 <= id && id < arcBankName->m_num); name = arcBankName->m_names[id]; } + if (strcmp(name, "") != 0) { if (strnicmp(name, "pack", 4) == 0) { int syncres = dComIfG_syncObjectRes(name); if (syncres < 0) { if (!dComIfG_setObjectRes(name, 0, mDoExt_getArchiveHeap())) { - OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", iVar1, name); + OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", bank_no, name); } else { return false; } @@ -86,12 +93,14 @@ static bool setArchiveBank(int param_0) { } } else { if (!dComIfG_setObjectRes(name, 0, mDoExt_getArchiveHeap())) { - OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", iVar1, name); + OSReport_Error("Bank[%d] : %s.arc Read Error !!\n", bank_no, name); } } } - dStage_roomControl_c::setArcBank(iVar1, name); + + dStage_roomControl_c::setArcBank(bank_no, name); } + return true; } @@ -131,24 +140,31 @@ static bool isCreating(unsigned int param_0) { static int loadDemoArchive(int room_no) { if (*dStage_roomControl_c::getDemoArcName() == 0) { dStage_Lbnk_c* lbnk = dComIfGp_roomControl_getStatusRoomDt(room_no)->mRoomDt.getLbnk(); + if (lbnk != NULL) { dStage_Lbnk_dt_c* entries = lbnk->entries; + if (entries != NULL) { int bank = entries[dComIfG_play_c::getLayerNo(room_no)].bank; + if (bank != 0xff) { JUT_ASSERT(350, 0 <= bank && bank < 100); u8 bank2 = entries[dComIfG_play_c::getLayerNo(room_no)].bank2; JUT_ASSERT(353, 0 <= bank2 && bank2 < 100); + sprintf(dStage_roomControl_c::getDemoArcName(), "Demo%02d_%02d", bank, bank2); - if (!dComIfG_setObjectRes(dStage_roomControl_c::getDemoArcName(), 0, (JKRHeap*)NULL)) { + if (!dComIfG_setObjectRes(dStage_roomControl_c::getDemoArcName(), 0, + (JKRHeap*)NULL)) + { *dStage_roomControl_c::getDemoArcName() = 0; } else { return 1; } } } - } + } } + return 0; } @@ -224,7 +240,8 @@ static int dScnRoom_Execute(room_of_scene_class* i_this) { fopScnM_DeleteReq(i_this); } else if (i_this->field_0x1d4 < 0 && i_this->field_0x1d5 != 0 && !i_dComIfGp_event_runCheck() && - (int)fopScnM_GetParam(i_this) == dComIfGp_roomControl_getStayNo()) { + (int)fopScnM_GetParam(i_this) == dComIfGp_roomControl_getStayNo()) + { if (isCreating(fpcM_LayerID(i_this))) { dScnPly_c::nextPauseTimer = 2; } else { @@ -259,7 +276,8 @@ static bool isReadRoom(int param_0) { for (int i = 0; i < roomData->field_0x0; i++) { if (dStage_roomRead_dt_c_ChkBg(*tmp) && - param_0 == dStage_roomRead_dt_c_GetLoadRoomIndex(*tmp)) { + param_0 == dStage_roomRead_dt_c_GetLoadRoomIndex(*tmp)) + { return true; } tmp++; @@ -280,7 +298,8 @@ static int dScnRoom_Delete(room_of_scene_class* i_this) { if (mDoRst::isReset() || !dComIfGp_isEnableNextStage() || strcmp(dComIfGp_getNextStageName(), dComIfGp_getStartStageName()) || - (roomNo != dComIfGp_getNextStageRoomNo() && !isReadRoom(roomNo))) { + (roomNo != dComIfGp_getNextStageRoomNo() && !isReadRoom(roomNo))) + { dComIfG_deleteStageRes(setArcName(i_this)); JKRExpHeap* heap = dStage_roomControl_c::getMemoryBlock(roomNo); @@ -298,7 +317,7 @@ static int dScnRoom_Delete(room_of_scene_class* i_this) { static int phase_0(room_of_scene_class* i_this) { int roomNo = fopScnM_GetParam(i_this); dStage_roomControl_c::setStatusProcID(roomNo, fopScnM_GetID(i_this)); - return 2; + return cPhs_NEXT_e; } /* 8025B8A4-8025B980 2561E4 00DC+00 1/0 0/0 0/0 .text phase_1__FP19room_of_scene_class */ @@ -313,7 +332,7 @@ static int phase_1(room_of_scene_class* i_this) { if (heap != NULL) { if (heap->getTotalUsedSize() != 0) { - return 0; + return cPhs_INIT_e; } } else { stage_stag_info_class* stagInfo = i_dComIfGp_getStage()->getStagInfo(); @@ -328,7 +347,7 @@ static int phase_1(room_of_scene_class* i_this) { } } - return 2; + return cPhs_NEXT_e; } /* 8025B980-8025BAAC 2562C0 012C+00 1/0 0/0 0/0 .text phase_2__FP19room_of_scene_class */ @@ -341,7 +360,7 @@ static int phase_2(room_of_scene_class* i_this) { } if (phase != 0) { - return 0; + return cPhs_INIT_e; } int roomNo = fopScnM_GetParam(i_this); @@ -368,7 +387,7 @@ static int phase_2(room_of_scene_class* i_this) { mDoExt_setCurrentHeap(old_heap); } - return 2; + return cPhs_NEXT_e; } /* 8025BAAC-8025BAC4 2563EC 0018+00 1/1 0/0 0/0 .text setZoneNo__20dStage_roomControl_cFii */ @@ -378,16 +397,24 @@ void dStage_roomControl_c::setZoneNo(int i_roomNo, int i_zoneNo) { /* 8025BAC4-8025BAF8 256404 0034+00 1/0 0/0 0/0 .text phase_3__FP19room_of_scene_class */ static int phase_3(room_of_scene_class* i_this) { - return objectSetCheck(i_this) ? 2 : 0; + if (objectSetCheck(i_this)) { + return cPhs_NEXT_e; + } else { + return cPhs_INIT_e; + } } /* 8025BAF8-8025BB48 256438 0050+00 1/0 0/0 0/0 .text phase_4__FP19room_of_scene_class */ static int phase_4(room_of_scene_class* i_this) { if (dComIfGp_getPlayer(0) == NULL) { - return 0; + return cPhs_INIT_e; } - return objectSetCheck(i_this) ? cPhs_COMPLEATE_e : 0; + if (objectSetCheck(i_this)) { + return cPhs_COMPLEATE_e; + } else { + return cPhs_INIT_e; + } } /* 8025BB48-8025BB78 256488 0030+00 1/0 0/0 0/0 .text dScnRoom_Create__FP11scene_class */ @@ -401,24 +428,23 @@ static int dScnRoom_Create(scene_class* i_this) { return dComLbG_PhaseHandler(&room->field_0x1c4, l_method, i_this); } -/* ############################################################################################## */ /* 803C3274-803C3288 -00001 0014+00 1/0 0/0 0/0 .data l_dScnRoom_Method */ static leafdraw_method_class l_dScnRoom_Method = { - (process_method_func)dScnRoom_Create, (process_method_func)dScnRoom_Delete, (process_method_func)dScnRoom_Execute, - (process_method_func)dScnRoom_IsDelete, (process_method_func)dScnRoom_Draw, + (process_method_func)dScnRoom_Create, (process_method_func)dScnRoom_Delete, + (process_method_func)dScnRoom_Execute, (process_method_func)dScnRoom_IsDelete, + (process_method_func)dScnRoom_Draw, }; /* 803C3288-803C32B0 -00001 0028+00 0/0 0/0 1/0 .data g_profile_ROOM_SCENE */ scene_process_profile_definition g_profile_ROOM_SCENE = { - fpcLy_CURRENT_e, // mLayerID - 0, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_ROOM_SCENE, // mProcName - &g_fpcNd_Method.mBase, // mSubMtd - sizeof(room_of_scene_class), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopScn_Method.mBase, // mSubMtd - (process_method_class*)&l_dScnRoom_Method, // mpMtd + fpcLy_CURRENT_e, // mLayerID + 0, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_ROOM_SCENE, // mProcName + &g_fpcNd_Method.mBase, // mSubMtd + sizeof(room_of_scene_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopScn_Method.mBase, // mSubMtd + (process_method_class*)&l_dScnRoom_Method, // mpMtd }; -/* 8039A388-8039A388 0269E8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/s/d_s_title.cpp b/src/d/s/d_s_title.cpp index fe13b9adf1..52916935e3 100644 --- a/src/d/s/d_s_title.cpp +++ b/src/d/s/d_s_title.cpp @@ -1,6 +1,6 @@ /** * d_s_title.cpp - * dolzel2 - Scene Title + * Title Screen Scene */ #include "d/s/d_s_title.h" @@ -8,7 +8,6 @@ #include "f_pc/f_pc_leaf.h" #include "d/d_procname.h" -/* ############################################################################################## */ /* 803C32B0-803C32D8 -00001 0028+00 0/0 0/0 1/0 .data g_profile_WARNING_SCENE */ extern scene_process_profile_definition g_profile_WARNING_SCENE = { fpcLy_ROOT_e, // mLayerID diff --git a/src/d/shop/d_shop_camera.cpp b/src/d/shop/d_shop_camera.cpp index cf71ad9aad..ce08aa7a89 100644 --- a/src/d/shop/d_shop_camera.cpp +++ b/src/d/shop/d_shop_camera.cpp @@ -1,12 +1,13 @@ -// -// d/shop/d_shop_camera -// +/** + * d_shop_camera.cpp + * Shop Camera Handling + */ #include "d/shop/d_shop_camera.h" +#include "SSystem/SComponent/c_math.h" +#include "d/a/d_a_player.h" #include "d/com/d_com_inf_game.h" #include "d/d_camera.h" -#include "d/a/d_a_player.h" -#include "SSystem/SComponent/c_math.h" struct SeiraCam { /* 0x00 */ Vec field_0x0; @@ -17,20 +18,22 @@ struct SeiraCam { /* 0x18 */ f32 field_0x34; }; -/* ############################################################################################## */ /* 803BB7C8-803BB800 0188E8 0038+00 1/0 0/0 0/0 .data cam_seira_shop */ static SeiraCam cam_seira_shop = { - {0.0f, 115.0f, 0.0f}, {0.0f, 115.0f, 150.0f}, 45.0f, {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f + {0.0f, 115.0f, 0.0f}, {0.0f, 115.0f, 150.0f}, 45.0f, + {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f, }; /* 803BB800-803BB838 018920 0038+00 1/0 0/0 0/0 .data cam_seira_evnt_before */ static SeiraCam cam_seira_evnt_before = { - {-50.0f, 115.0f, 0.0f}, {-50.0f, 115.0f, 150.0f}, 45.0f, {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f + {-50.0f, 115.0f, 0.0f}, {-50.0f, 115.0f, 150.0f}, 45.0f, + {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f, }; /* 803BB838-803BB870 018958 0038+00 1/0 0/0 0/0 .data cam_seira_evnt_after */ static SeiraCam cam_seira_evnt_after = { - {0.0f, 115.0f, 0.0f}, {0.0f, 115.0f, 150.0f}, 45.0f, {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f + {0.0f, 115.0f, 0.0f}, {0.0f, 115.0f, 150.0f}, 45.0f, + {100.0f, 155.0f, -175.0f}, {100.0f, 155.0f, 0.0f}, 45.0f, }; /* 803BB870-803BB87C -00001 000C+00 2/2 0/0 0/0 .data shop_cam_data_tbl */ @@ -44,8 +47,10 @@ static SeiraCam* shop_cam_data_tbl[3] = { */ int ShopCam_action_c::shop_cam_action_init() { Save(); + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); player->i_onPlayerNoDraw(); + setCamAction(&ShopCam_action_c::shop_cam_action); if (field_0xd6 >= 0) { field_0x7c = shop_cam_data_tbl[field_0xd6]->field_0x0; @@ -60,6 +65,7 @@ int ShopCam_action_c::shop_cam_action_init() { field_0x88 = field_0x60; field_0x94 = field_0x6c; } + SetSelectIdx(-1); return 1; } @@ -69,6 +75,7 @@ int ShopCam_action_c::shop_cam_action() { camera_class* camera = dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0)); camera->mCamera.Stay(); camera->mCamera.SetTrimSize(1); + cXyz acStack_4c; cXyz acStack_58; f32 dVar11; @@ -91,32 +98,39 @@ int ShopCam_action_c::shop_cam_action() { acStack_58 = field_0x60; dVar11 = field_0x6c; } + cLib_addCalcPos2(&field_0x7c, acStack_4c, field_0xc0, field_0xc4); cLib_addCalcPos2(&field_0x88, acStack_58, field_0xc0, field_0xc4); cLib_addCalc2(&field_0x94, dVar11, field_0xc8, field_0xcc); + cXyz cStack_64 = field_0x7c - acStack_4c; cXyz cStack_70 = field_0x88 - acStack_58; f32 dVar10 = field_0x94 - dVar11; bool r30 = false; bool r29 = false; bool r28 = false; + if (cStack_64.abs() < 1.0f) { - field_0x7c = acStack_4c; + field_0x7c = acStack_4c; r30 = true; } + if (cStack_70.abs() < 1.0f) { field_0x88 = acStack_58; r29 = true; } + if (dVar10 < 1.0f) { field_0x94 = dVar11; r28 = true; } + if (r30 && r29 && r28) { field_0xda = true; } else { field_0xda = false; } + camera->mCamera.Set(field_0x7c, field_0x88, field_0x94, 0); return 1; } @@ -136,25 +150,28 @@ void ShopCam_action_c::EventRecoverNotime() { dComIfGp_getPlayer(0); field_0xd8 = 2; dCam_getBody()->EventRecoverNotime(); - field_0x0 = NULL; + mCamAction = NULL; } /* 801963B4-801964C8 190CF4 0114+00 0/0 0/0 9/9 .text Reset__16ShopCam_action_cFv */ void ShopCam_action_c::Reset() { daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); player->i_offPlayerNoDraw(); + camera_class* camera = dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0)); camera->mCamera.Set(field_0x98, field_0xa4, field_0xbc, 0); camera->mCamera.Stay(); camera->mCamera.Reset(field_0x98, field_0xa4, field_0xbc, 0); - field_0x0 = NULL; + + mCamAction = NULL; } /* 801964C8-80196544 190E08 007C+00 0/0 0/0 9/9 .text move__16ShopCam_action_cFv */ void ShopCam_action_c::move() { - if (field_0x0 != NULL) { - (this->*field_0x0)(); + if (mCamAction != NULL) { + (this->*mCamAction)(); } + if (field_0xd8 > 0) { --field_0xd8; if (field_0xd8 == 0) { @@ -172,6 +189,7 @@ void ShopCam_action_c::setCamDataIdx(fopAc_ac_c* param_1, fopAc_ac_c* param_2, f if (field_0x18 == NULL) { field_0xb0 = param_1->mEyePos; } + field_0x18 = param_1; field_0x1c = param_2; field_0x20 = param_3; @@ -180,29 +198,33 @@ void ShopCam_action_c::setCamDataIdx(fopAc_ac_c* param_1, fopAc_ac_c* param_2, f field_0x2c = 0; field_0x30 = 0; field_0x34 = 0; + field_0x44.x = param_5->x; field_0x44.y = param_5->y; field_0x44.z = param_5->z; field_0x50 = 45.0f; + field_0x60.x = param_6->x; field_0x60.y = param_6->y; field_0x60.z = param_6->z; field_0x6c = 45.0f; + field_0x70.set(*param_6); + _debugSetCamera(); } /* 80196608-801966D4 190F48 00CC+00 0/0 1/1 0/0 .text * setCamDataIdx2__16ShopCam_action_cFP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyz */ -void ShopCam_action_c::setCamDataIdx2(fopAc_ac_c* param_1, fopAc_ac_c* param_2, - fopAc_ac_c* param_3, fopAc_ac_c* param_4, - fopAc_ac_c* param_5, fopAc_ac_c* param_6, - fopAc_ac_c* param_7, cXyz* param_8, cXyz* param_9) { - field_0xd6 = -1; +void ShopCam_action_c::setCamDataIdx2(fopAc_ac_c* param_1, fopAc_ac_c* param_2, fopAc_ac_c* param_3, + fopAc_ac_c* param_4, fopAc_ac_c* param_5, fopAc_ac_c* param_6, + fopAc_ac_c* param_7, cXyz* param_8, cXyz* param_9) { + field_0xd6 = -1; if (field_0x18 == NULL) { field_0xb0 = param_1->mEyePos; } + field_0x18 = param_1; field_0x1c = param_2; field_0x20 = param_3; @@ -211,15 +233,19 @@ void ShopCam_action_c::setCamDataIdx2(fopAc_ac_c* param_1, fopAc_ac_c* param_2, field_0x2c = param_6; field_0x30 = param_7; field_0x34 = 0; + field_0x44.x = param_8->x; field_0x44.y = param_8->y; field_0x44.z = param_8->z; field_0x50 = 45.0f; + field_0x60.x = param_9->x; field_0x60.y = param_9->y; field_0x60.z = param_9->z; field_0x6c = 45.0f; + field_0x70.set(*param_9); + _debugSetCamera(); } @@ -228,11 +254,13 @@ void ShopCam_action_c::_debugSetCamera() { field_0x38.x = field_0xb0.x; field_0x38.y = field_0xb0.y; field_0x38.z = field_0xb0.z; + cXyz local_28; cXyz cStack_34; cXyz local_40; cXyz local_4c; bool bVar1 = false; + if (field_0x1c != NULL && field_0x20 != NULL && field_0x24 != NULL && field_0x28 != NULL && field_0x2c == NULL && field_0x30 == NULL) { @@ -249,6 +277,7 @@ void ShopCam_action_c::_debugSetCamera() { local_4c.set(field_0x20->orig.pos); } } + if (bVar1) { field_0x54.x = 167.0f; field_0x54.y = 220.0f; @@ -272,6 +301,7 @@ void ShopCam_action_c::setMasterCamCtrPos(cXyz* param_0) { } else { field_0xb0.set(*param_0); } + field_0x38.x = field_0xb0.x; field_0x38.y = field_0xb0.y; field_0x38.z = field_0xb0.z; diff --git a/src/d/shop/d_shop_item_ctrl.cpp b/src/d/shop/d_shop_item_ctrl.cpp index aa1d24e26e..8a4f199278 100644 --- a/src/d/shop/d_shop_item_ctrl.cpp +++ b/src/d/shop/d_shop_item_ctrl.cpp @@ -20,11 +20,11 @@ dShopItemCtrl_c::~dShopItemCtrl_c() {} /* 801969A0-80196A3C 1912E0 009C+00 0/0 3/3 3/3 .text getCurrentPos__15dShopItemCtrl_cFi */ -cXyz dShopItemCtrl_c::getCurrentPos(int item_index) { +cXyz dShopItemCtrl_c::getCurrentPos(int i_itemIdx) { cXyz item_pos(0.0f, 0.0f, 0.0f); - if (mItemIndex[item_index] != -1) { - fopAc_ac_c* item = fopAcM_SearchByID(mItemIndex[item_index]); + if (mItemIndex[i_itemIdx] != -1) { + fopAc_ac_c* item = fopAcM_SearchByID(mItemIndex[i_itemIdx]); if (item != NULL) { item_pos.set(item->current.pos); } @@ -34,15 +34,16 @@ cXyz dShopItemCtrl_c::getCurrentPos(int item_index) { } /* 80196A3C-80196AF0 19137C 00B4+00 0/0 2/2 0/0 .text isHomePos__15dShopItemCtrl_cFi */ -bool dShopItemCtrl_c::isHomePos(int item_index) { - if (item_index >= 0 && item_index < 7 && mItemIndex[item_index] != -1) { - daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[item_index]); +bool dShopItemCtrl_c::isHomePos(int i_itemIdx) { + if (i_itemIdx >= 0 && i_itemIdx < 7 && mItemIndex[i_itemIdx] != -1) { + daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[i_itemIdx]); if (item != NULL) { cXyz* item_pos = item->getPosP(); cXyz item_home = item->orig.pos; if (item_pos->x == item_home.x && item_pos->y == item_home.y && - item_pos->z == item_home.z) { + item_pos->z == item_home.z) + { return true; } } @@ -53,14 +54,14 @@ bool dShopItemCtrl_c::isHomePos(int item_index) { /* 80196AF0-80196BA4 191430 00B4+00 0/0 1/1 0/0 .text setRotateAnime__15dShopItemCtrl_cFi */ -void dShopItemCtrl_c::setRotateAnime(int item_index) { +void dShopItemCtrl_c::setRotateAnime(int i_itemIdx) { for (int i = 0; i < 7; i++) { if (mItemIndex[i] != -1) { daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[i]); if (item != NULL) { csXyz* item_rot = item->getRotateP(); - if (i == item_index - 1) { + if (i == i_itemIdx - 1) { item_rot->y += 0x200; } else { cLib_addCalcAngleS(&item_rot->y, item->orig.angle.y, 4, 0x800, 0x80); @@ -76,47 +77,43 @@ void dShopItemCtrl_c::setZoomAnime(int param_1, cXyz* param_2, s16 param_3, bool if (mItemIndex[i] == -1) { continue; } - daShopItem_c* shopItem = (daShopItem_c*) fopAcM_SearchByID(mItemIndex[i]); + + daShopItem_c* shopItem = (daShopItem_c*)fopAcM_SearchByID(mItemIndex[i]); if (shopItem == NULL) { continue; } - cXyz* this_01 = shopItem->getPosP(); - cXyz cStack_44 = shopItem->orig.pos; - cXyz cStack_50 = *param_2 - cStack_44; - s16 local_5e = shopItem->getAngleX(); - s16 local_60 = shopItem->getAngleY(); + cXyz* pos_p = shopItem->getPosP(); + cXyz target_pos = shopItem->orig.pos; + cXyz cStack_50 = *param_2 - target_pos; + s16 x_angle = shopItem->getAngleX(); + s16 y_angle = shopItem->getAngleY(); + if (i == param_1 - 1 && param_4 == true) { - cLib_addCalcPos2( - this_01, - *param_2, - 0.5f, - 0.05f * cStack_50.abs() - ); - cLib_addCalcAngleS(&local_5e, param_3, 4, 0x800, 0x80); - shopItem->setAngleX(local_5e); - cLib_addCalcAngleS(&local_60, shopItem->orig.angle.y, 4, 0x800, 0x80); - shopItem->setAngleY(local_60); + cLib_addCalcPos2(pos_p, *param_2, 0.5f, 0.05f * cStack_50.abs()); + cLib_addCalcAngleS(&x_angle, param_3, 4, 0x800, 0x80); + shopItem->setAngleX(x_angle); + cLib_addCalcAngleS(&y_angle, shopItem->orig.angle.y, 4, 0x800, 0x80); + shopItem->setAngleY(y_angle); } else { - cLib_addCalcPos2( - this_01, - cStack_44, - 0.5f, - 0.1f * cStack_50.abs()); - cXyz cStack_5c = *this_01 - cStack_44; + cLib_addCalcPos2(pos_p, target_pos, 0.5f, 0.1f * cStack_50.abs()); + cXyz cStack_5c = *pos_p - target_pos; if (cStack_5c.abs() < 0.01f) { - this_01->set(shopItem->orig.pos); + pos_p->set(shopItem->orig.pos); } - cLib_addCalcAngleS(&local_5e, 0, 4, 0x800, 0x80); - if (local_5e <= 0x80) { - local_5e = 0; + + cLib_addCalcAngleS(&x_angle, 0, 4, 0x800, 0x80); + if (x_angle <= 0x80) { + x_angle = 0; } - shopItem->setAngleX(local_5e); - cLib_addCalcAngleS(&local_60, 0, 4, 0x800, 0x80); - if (local_60 <= 0x80) { - local_60 = 0; + + shopItem->setAngleX(x_angle); + cLib_addCalcAngleS(&y_angle, 0, 4, 0x800, 0x80); + if (y_angle <= 0x80) { + y_angle = 0; } - shopItem->setAngleY(local_60); + + shopItem->setAngleY(y_angle); } } } diff --git a/src/d/shop/d_shop_system.cpp b/src/d/shop/d_shop_system.cpp index de2c46b9f2..02a49d4142 100644 --- a/src/d/shop/d_shop_system.cpp +++ b/src/d/shop/d_shop_system.cpp @@ -1,10 +1,9 @@ -// -// Generated By: dol2asm -// Translation Unit: d/shop/d_shop_system -// +/** + * d_shop_system.cpp + * Main Shop System + */ #include "d/shop/d_shop_system.h" -#include "rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h" #include "SSystem/SComponent/c_math.h" #include "d/a/d_a_shop_item_static.h" #include "d/d_item.h" @@ -14,209 +13,28 @@ #include "d/meter/d_meter2_info.h" #include "d/meter/d_meter_HIO.h" #include "d/msg/d_msg_object.h" -#include "dol2asm.h" #include "m_Do/m_Do_audio.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_lib.h" +#include "rel/d/a/tag/d_a_tag_shop_item/d_a_tag_shop_item.h" -// -// Forward References: -// - -extern "C" static void dShopSystem_searchItemActor__FPvPv(); -extern "C" static void dShopSystem_searchCameraActor__FPvPv(); -extern "C" void initShopSystem__13dShopSystem_cFv(); -extern "C" void __dt__13dShopSystem_cFv(); -extern "C" void onFlag__13dShopSystem_cFi(); -extern "C" void offFlag__13dShopSystem_cFi(); -extern "C" void isFlag__13dShopSystem_cFi(); -extern "C" void onSoldOutItemFlag__13dShopSystem_cFi(); -extern "C" void offSoldOutItemFlag__13dShopSystem_cFi(); -extern "C" void isSoldOutItemFlag__13dShopSystem_cFi(); -extern "C" void checkController__13dShopSystem_cFUcP10dMsgFlow_c(); -extern "C" void chooseItem3__13dShopSystem_cFUc(); -extern "C" void chooseItem5__13dShopSystem_cFUc(); -extern "C" void chooseItem4__13dShopSystem_cFUc(); -extern "C" void moveCursor__13dShopSystem_cFiUc(); -extern "C" void moveCursor0__13dShopSystem_cFiUc(); -extern "C" void moveCursor1__13dShopSystem_cFiUc(); -extern "C" void drawCursor__13dShopSystem_cFv(); -extern "C" void itemRotate__13dShopSystem_cFv(); -extern "C" void itemZoom__13dShopSystem_cFP4cXyz(); -extern "C" bool seq_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_select_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_decide__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_choose__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_decide_no__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_finish__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void seq_event__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void shop_init__13dShopSystem_cFb(); -extern "C" void shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c(); -extern "C" void createShopItem__13dShopSystem_cFi(); -extern "C" void setSeq__13dShopSystem_cFUc(); -extern "C" void setSoldOutFlag__13dShopSystem_cFv(); -extern "C" void setSoldOut__13dShopSystem_cFv(); -extern "C" void setSoldOutItemHide__13dShopSystem_cFv(); -extern "C" void deleteObject__13dShopSystem_cFv(); -extern "C" void searchItemActor__13dShopSystem_cFv(); -extern "C" void getFlowNodeNum__13dShopSystem_cFv(); -extern "C" void setSellItemMax__13dShopSystem_cFUc(); -extern "C" void checkShopOpen__13dShopSystem_cFv(); -extern "C" void checkLeftTrigger__13dShopSystem_cFP9STControl(); -extern "C" void checkRightTrigger__13dShopSystem_cFP9STControl(); -extern "C" bool dpdMove__13dShopSystem_cFv(); -extern "C" void __sinit_d_shop_system_cpp(); -extern "C" bool beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci(); -extern "C" bool beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci(); -extern "C" bool getResName2__13dShopSystem_cFi(); -extern "C" extern char const* const d_shop_d_shop_system__stringBase0; - -// -// External References: -// - -extern "C" void mDoLib_project__FP3VecP3Vec(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FUi(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcEx_IsExist__FUi(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void setWaitParm__9STControlFssssffss(); -extern "C" void init__9STControlFv(); -extern "C" void checkTrigger__9STControlFv(); -extern "C" void checkLeftTrigger__9STControlFv(); -extern "C" void checkRightTrigger__9STControlFv(); -extern "C" void checkUpTrigger__9STControlFv(); -extern "C" void checkDownTrigger__9STControlFv(); -extern "C" void onSwitch__12dSv_memBit_cFi(); -extern "C" void isSwitch__12dSv_memBit_cCFi(); -extern "C" void hide__12daItemBase_cFv(); -extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c(); -extern "C" void checkItemGet__FUci(); -extern "C" void ctrlBtk__8daNpcT_cFv(); -extern "C" void ctrlJoint__8daNpcT_cFP8J3DJointP8J3DModel(); -extern "C" void evtProc__8daNpcT_cFv(); -extern "C" void setFootPos__8daNpcT_cFv(); -extern "C" void setFootPrtcl__8daNpcT_cFP4cXyzff(); -extern "C" bool checkCullDraw__8daNpcT_cFv(); -extern "C" void twilight__8daNpcT_cFv(); -extern "C" void evtOrder__8daNpcT_cFv(); -extern "C" void evtChange__8daNpcT_cFv(); -extern "C" void clrParam__8daNpcT_cFv(); -extern "C" void setMotionAnm__8daNpcT_cFifi(); -extern "C" void initTalk__8daNpcT_cFiPP10fopAc_ac_c(); -extern "C" void decTmr__8daNpcT_cFv(); -extern "C" void setCollision__8daNpcT_cFv(); -extern "C" void setAttnPos__8daNpcT_cFv(); -extern "C" void ctrlSubFaceMotion__8daNpcT_cFi(); -extern "C" void afterMoved__8daNpcT_cFv(); -extern "C" void beforeMove__8daNpcT_cFv(); -extern "C" void action__8daNpcT_cFv(); -extern "C" void setParam__8daNpcT_cFv(); -extern "C" void drawOtherMdl__8daNpcT_cFv(); -extern "C" void drawGhost__8daNpcT_cFv(); -extern "C" bool drawDbgInfo__8daNpcT_cFv(); -extern "C" bool checkRemoveJoint__8daNpcT_cFi(); -extern "C" bool checkChangeJoint__8daNpcT_cFi(); -extern "C" void afterJntAnm__8daNpcT_cFi(); -extern "C" s32 getHeadJointNo__8daNpcT_cFv(); -extern "C" s32 getNeckJointNo__8daNpcT_cFv(); -extern "C" s32 getBackboneJointNo__8daNpcT_cFv(); -extern "C" void setAfterTalkMotion__8daNpcT_cFv(); -extern "C" bool evtCutProc__8daNpcT_cFv(); -extern "C" bool evtEndProc__8daNpcT_cFv(); -extern "C" bool evtTalk__8daNpcT_cFv(); -extern "C" bool checkChangeEvt__8daNpcT_cFv(); -extern "C" s32 getFootRJointNo__8daNpcT_cFv(); -extern "C" s32 getFootLJointNo__8daNpcT_cFv(); -extern "C" bool chkXYItems__8daNpcT_cFv(); -extern "C" bool afterSetFaceMotionAnm__8daNpcT_cFiifi(); -extern "C" void changeBtp__8daNpcT_cFPiPi(); -extern "C" void changeBck__8daNpcT_cFPiPi(); -extern "C" void getFaceMotionAnm__8daNpcT_cF26daNpcT_faceMotionAnmData_c(); -extern "C" bool afterSetMotionAnm__8daNpcT_cFiifi(); -extern "C" void changeBtk__8daNpcT_cFPiPi(); -extern "C" void changeAnm__8daNpcT_cFPiPi(); -extern "C" void getMotionAnm__8daNpcT_cF22daNpcT_motionAnmData_c(); -extern "C" void __dt__8daNpcT_cFv(); -extern "C" bool getEyeballLMaterialNo__8daNpcT_cFv(); -extern "C" bool getEyeballRMaterialNo__8daNpcT_cFv(); -extern "C" bool getEyeballMaterialNo__8daNpcT_cFv(); -extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive(); -extern "C" void setParam__16dSelect_cursor_cFfffff(); -extern "C" void setScale__16dSelect_cursor_cFf(); -extern "C" void addAlpha__16dSelect_cursor_cFv(); -extern "C" void decAlpha__16dSelect_cursor_cFv(); -extern "C" void -setCamDataIdx__16ShopCam_action_cFP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyz(); -extern "C" void -setCamDataIdx2__16ShopCam_action_cFP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyz(); -extern "C" void setMasterCamCtrPos__16ShopCam_action_cFP4cXyz(); -extern "C" void __dt__15dShopItemCtrl_cFv(); -extern "C" void getCurrentPos__15dShopItemCtrl_cFi(); -extern "C" void isHomePos__15dShopItemCtrl_cFi(); -extern "C" void setRotateAnime__15dShopItemCtrl_cFi(); -extern "C" void setZoomAnime__15dShopItemCtrl_cFiP4cXyzsb(); -extern "C" void dMeter2Info_set2DVibration__Fv(); -extern "C" void dMeter2Info_set2DVibrationM__Fv(); -extern "C" void setShopWaitTimer__12dMsgObject_cFUc(); -extern "C" void getStatus__12dMsgObject_cFv(); -extern "C" void isMsgSendControl__12dMsgObject_cFv(); -extern "C" void onMsgSend__12dMsgObject_cFv(); -extern "C" void getMessageID__12dMsgObject_cFv(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void getEventId__10dMsgFlow_cFPi(); -extern "C" void query005__10dMsgFlow_cFP21mesg_flow_node_branchP10fopAc_ac_ci(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cLib_offsetPos__FP4cXyzPC4cXyzsPC4cXyz(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_21(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_21(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__9STControl[4]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ /* 803BB898-803BB8A4 0189B8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 803BB8A4-803BB8C0 0189C4 001C+00 6/6 0/0 0/0 .data dShopSystem_itemActor */ -SECTION_DATA static daTag_ShopItem_c* dShopSystem_itemActor[7] = { +static daTag_ShopItem_c* dShopSystem_itemActor[7] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, }; /* 804506E8-804506F0 000168 0007+01 7/7 0/0 0/0 .sdata dShopSystem_itemNo */ -SECTION_SDATA static u8 dShopSystem_itemNo[7] = { +static u8 dShopSystem_itemNo[7] = { NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, NO_ITEM, }; /* 80451058-8045105C 000558 0004+00 9/9 0/0 0/0 .sbss None */ -static u8 data_80451058; // sSellItemMax +static u8 dShopSystem_sellItemMax; /* 8045105C-80451060 00055C 0004+00 6/6 0/0 0/0 .sbss dShopSystem_item_count */ static int dShopSystem_item_count; @@ -226,33 +44,39 @@ static u8 data_80451060; /* 80197098-80197270 1919D8 01D8+00 1/1 0/0 0/0 .text dShopSystem_searchItemActor__FPvPv */ -static int dShopSystem_searchItemActor(void* param_0, void* param_1) { - if (fopAcM_IsActor(param_0) && fopAcM_GetName(param_0) == PROC_TAG_SHOPITM) { - if ((fopAcM_GetParam(param_1) & 0xF0000000) == (fopAcM_GetParam(param_0) & 0xF0000000) && - dShopSystem_item_count < data_80451058) { - u8 param2 = (fopAcM_GetParam(param_0) >> 0x18) & 0xF; +static int dShopSystem_searchItemActor(void* i_actor, void* param_1) { + if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_TAG_SHOPITM) { + if ((fopAcM_GetParam(param_1) & 0xF0000000) == (fopAcM_GetParam(i_actor) & 0xF0000000) && + dShopSystem_item_count < dShopSystem_sellItemMax) + { + u8 i_posID = (fopAcM_GetParam(i_actor) >> 0x18) & 0xF; + JUT_ASSERT(i_posID <= dShopSystem_c::ITEM_MAX_e); - if (dShopSystem_itemActor[0] != param_0 && dShopSystem_itemActor[1] != param_0 && - dShopSystem_itemActor[2] != param_0 && dShopSystem_itemActor[3] != param_0 && - dShopSystem_itemActor[4] != param_0 && dShopSystem_itemActor[5] != param_0 && - dShopSystem_itemActor[6] != param_0) { - u8 sw = static_cast(param_0)->orig.angle.z; - u8 sw2 = ((u16)static_cast(param_0)->orig.angle.z) >> 8; - u8 item_no = fopAcM_GetParam(param_0) & 0xff; + if (dShopSystem_itemActor[0] != i_actor && dShopSystem_itemActor[1] != i_actor && + dShopSystem_itemActor[2] != i_actor && dShopSystem_itemActor[3] != i_actor && + dShopSystem_itemActor[4] != i_actor && dShopSystem_itemActor[5] != i_actor && + dShopSystem_itemActor[6] != i_actor) + { + u8 sw = static_cast(i_actor)->orig.angle.z; + u8 sw2 = ((u16) static_cast(i_actor)->orig.angle.z) >> 8; + u8 item_no = fopAcM_GetParam(i_actor) & 0xFF; if ((sw == 0xFF || !dComIfGs_isSaveSwitch(sw)) && - (sw2 == 0xFF || dComIfGs_isSaveSwitch(sw2))) { + (sw2 == 0xFF || dComIfGs_isSaveSwitch(sw2))) + { if (sw != 0xFF && item_no == HYLIA_SHIELD && checkItemGet(item_no, true)) { dComIfGs_onSaveSwitch(sw); } else { - if (param2 == 0) { + if (i_posID == 0) { data_80451060 = 1; - dShopSystem_itemActor[dShopSystem_item_count] = (daTag_ShopItem_c*) param_0; + dShopSystem_itemActor[dShopSystem_item_count] = + (daTag_ShopItem_c*)i_actor; dShopSystem_itemNo[dShopSystem_item_count] = item_no; - } else if (dShopSystem_itemActor[param2 - 1] == NULL) { - dShopSystem_itemActor[param2 - 1] = (daTag_ShopItem_c*) param_0; - dShopSystem_itemNo[param2 - 1] = item_no; + } else if (dShopSystem_itemActor[i_posID - 1] == NULL) { + dShopSystem_itemActor[i_posID - 1] = (daTag_ShopItem_c*)i_actor; + dShopSystem_itemNo[i_posID - 1] = item_no; } + dShopSystem_item_count++; } } @@ -263,44 +87,43 @@ static int dShopSystem_searchItemActor(void* param_0, void* param_1) { return 0; } -/* ############################################################################################## */ /* 804506F0-804506F8 000170 0008+00 6/6 0/0 0/0 .sdata dShopSystem_cameraActor */ -SECTION_SDATA static fopAc_ac_c* dShopSystem_cameraActor[2] = {NULL, NULL}; +static fopAc_ac_c* dShopSystem_cameraActor[2] = {NULL, NULL}; /* 80451064-80451068 000564 0004+00 5/5 0/0 0/0 .sbss dShopSystem_camera_count */ static int dShopSystem_camera_count; /* 80197270-80197338 191BB0 00C8+00 1/1 0/0 0/0 .text dShopSystem_searchCameraActor__FPvPv */ -static int dShopSystem_searchCameraActor(void* param_0, void* param_1) { - if (fopAcM_IsActor(param_0) && fopAcM_GetName(param_0) == PROC_TAG_SHOPCAM) { - if ((fopAcM_GetParam(param_1) & 0xf0000000) == (fopAcM_GetParam(param_0) & 0xf0000000) && dShopSystem_camera_count < 2) { - switch (fopAcM_GetParam(param_0) & 0xf) { - case 0: - if (dShopSystem_cameraActor[0] == NULL) { - dShopSystem_cameraActor[0] = (fopAc_ac_c*)param_0; - dShopSystem_camera_count++; - } - break; - case 1: - if (dShopSystem_cameraActor[1] == NULL) { - dShopSystem_cameraActor[1] = (fopAc_ac_c*)param_0; - dShopSystem_camera_count++; - } - break; - default: - break; +static int dShopSystem_searchCameraActor(void* i_actor, void* param_1) { + if (fopAcM_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_TAG_SHOPCAM) { + if ((fopAcM_GetParam(param_1) & 0xf0000000) == (fopAcM_GetParam(i_actor) & 0xf0000000) && + dShopSystem_camera_count < 2) + { + switch (fopAcM_GetParam(i_actor) & 0xf) { + case 0: + if (dShopSystem_cameraActor[0] == NULL) { + dShopSystem_cameraActor[0] = (fopAc_ac_c*)i_actor; + dShopSystem_camera_count++; + } + break; + case 1: + if (dShopSystem_cameraActor[1] == NULL) { + dShopSystem_cameraActor[1] = (fopAc_ac_c*)i_actor; + dShopSystem_camera_count++; + } + break; + default: + break; } } } return 0; } -/* ############################################################################################## */ - /* 80197338-801974E4 191C78 01AC+00 0/0 0/0 19/19 .text initShopSystem__13dShopSystem_cFv */ void dShopSystem_c::initShopSystem() { - data_80451058 = 3; + dShopSystem_sellItemMax = 3; data_80451060 = 0; for (int i = 0; i < 7; i++) { @@ -349,421 +172,28 @@ struct shop_item_data { Vec mItemPos[3]; }; -/* ############################################################################################## */ /* 803BB8C0-803BB8E4 0189E0 0024+00 1/0 0/0 0/0 .data item_seira_shop */ -SECTION_DATA static shop_item_data item_seira_shop = { - {{110.0f, 150.0f, -115.0f}, {160.0f, 150.0f, -115.0f}, {210.0f, 150.0f, -115.0f}}}; +static shop_item_data item_seira_shop = { + { + {110.0f, 150.0f, -115.0f}, + {160.0f, 150.0f, -115.0f}, + {210.0f, 150.0f, -115.0f}, + }, +}; -#ifdef NONMATCHING static processFunc process[22] = { - &dShopSystem_c::seq_wait, - &dShopSystem_c::seq_start, - &dShopSystem_c::seq_select_wait, - &dShopSystem_c::seq_select_start, - &dShopSystem_c::seq_select, - &dShopSystem_c::seq_moving, - &dShopSystem_c::seq_decide, - &dShopSystem_c::seq_choose, - &dShopSystem_c::seq_decide_yes, - &dShopSystem_c::seq_decide_no, - &dShopSystem_c::seq_finish, - (processFunc)&dShopSystem_c::seq_event, + &dShopSystem_c::seq_wait, &dShopSystem_c::seq_start, + &dShopSystem_c::seq_select_wait, &dShopSystem_c::seq_select_start, + &dShopSystem_c::seq_select, &dShopSystem_c::seq_moving, + &dShopSystem_c::seq_decide, &dShopSystem_c::seq_choose, + &dShopSystem_c::seq_decide_yes, &dShopSystem_c::seq_decide_no, + &dShopSystem_c::seq_finish, (processFunc)&dShopSystem_c::seq_event, }; -#else -/* 803BB8E4-803BB8F0 -00001 000C+00 0/1 0/0 0/0 .data @4056 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4056[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB8F0-803BB8FC -00001 000C+00 0/1 0/0 0/0 .data @4057 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4057[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB8FC-803BB908 -00001 000C+00 0/1 0/0 0/0 .data @4058 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4058[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_select_wait__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB908-803BB914 -00001 000C+00 0/1 0/0 0/0 .data @4059 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4059[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB914-803BB920 -00001 000C+00 0/1 0/0 0/0 .data @4060 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4060[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB920-803BB92C -00001 000C+00 0/1 0/0 0/0 .data @4061 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4061[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB92C-803BB938 -00001 000C+00 0/1 0/0 0/0 .data @4062 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4062[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_decide__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB938-803BB944 -00001 000C+00 0/1 0/0 0/0 .data @4063 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4063[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_choose__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB944-803BB950 -00001 000C+00 0/1 0/0 0/0 .data @4064 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4064[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB950-803BB95C -00001 000C+00 0/1 0/0 0/0 .data @4065 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4065[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_decide_no__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB95C-803BB968 -00001 000C+00 0/1 0/0 0/0 .data @4066 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4066[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_finish__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB968-803BB974 -00001 000C+00 0/1 0/0 0/0 .data @4067 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4067[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)seq_event__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c, -}; -#pragma pop - -/* 803BB974-803BBA7C 018A94 0090+78 1/2 0/0 0/0 .data process */ -SECTION_DATA static u8 process[144 + 120 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -#endif /* 801974E4-801975C0 191E24 00DC+00 1/0 0/0 10/10 .text __dt__13dShopSystem_cFv */ dShopSystem_c::~dShopSystem_c() { deleteObject(); - data_80451058 = 0; + dShopSystem_sellItemMax = 0; data_80451060 = 0; for (int i = 0; i < 7; i++) { @@ -779,38 +209,38 @@ dShopSystem_c::~dShopSystem_c() { } /* 801975C0-801975DC 191F00 001C+00 6/6 0/0 0/0 .text onFlag__13dShopSystem_cFi */ -void dShopSystem_c::onFlag(int flag) { - mFlag |= (u16)(1 << flag); +void dShopSystem_c::onFlag(int i_flag) { + mFlag |= (u16)(1 << i_flag); } /* 801975DC-801975F8 191F1C 001C+00 7/7 0/0 0/0 .text offFlag__13dShopSystem_cFi */ -void dShopSystem_c::offFlag(int flag) { - mFlag &= ~(u16)(1 << flag); +void dShopSystem_c::offFlag(int i_flag) { + mFlag &= ~(u16)(1 << i_flag); } /* 801975F8-80197618 191F38 0020+00 8/8 1/1 0/0 .text isFlag__13dShopSystem_cFi */ -BOOL dShopSystem_c::isFlag(int flag) { - return mFlag & (u16)(1 << flag) ? TRUE : FALSE; +BOOL dShopSystem_c::isFlag(int i_flag) { + return mFlag & (u16)(1 << i_flag) ? TRUE : FALSE; } /* 80197618-80197634 191F58 001C+00 1/1 0/0 0/0 .text onSoldOutItemFlag__13dShopSystem_cFi */ -void dShopSystem_c::onSoldOutItemFlag(int flag) { - mSoldOutItemFlags |= (u8)(1 << flag); +void dShopSystem_c::onSoldOutItemFlag(int i_flag) { + mSoldOutItemFlags |= (u8)(1 << i_flag); } /* 80197634-80197650 191F74 001C+00 1/1 0/0 0/0 .text offSoldOutItemFlag__13dShopSystem_cFi */ -void dShopSystem_c::offSoldOutItemFlag(int flag) { - mSoldOutItemFlags &= ~(u8)(1 << flag); +void dShopSystem_c::offSoldOutItemFlag(int i_flag) { + mSoldOutItemFlags &= ~(u8)(1 << i_flag); } /* 80197650-80197670 191F90 0020+00 2/2 0/0 0/0 .text isSoldOutItemFlag__13dShopSystem_cFi */ -BOOL dShopSystem_c::isSoldOutItemFlag(int flag) { - return mSoldOutItemFlags & (u8)(1 << flag) ? TRUE : FALSE; +BOOL dShopSystem_c::isSoldOutItemFlag(int i_flag) { + return mSoldOutItemFlags & (u8)(1 << i_flag) ? TRUE : FALSE; } /* 80197670-80197808 191FB0 0198+00 3/3 0/0 0/0 .text * checkController__13dShopSystem_cFUcP10dMsgFlow_c */ -int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) { +int dShopSystem_c::checkController(u8 i_seq, dMsgFlow_c* i_flow) { if (mWaitTimer != 0) { if (mDoCPd_c::getTrigA(PAD_1)) { dMsgObject_setShopWaitTimer(1); @@ -823,12 +253,12 @@ int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) { } int control_status; - if (data_80451058 == 4) { - control_status = chooseItem4(seq); - } else if (data_80451058 == 5) { - control_status = chooseItem5(seq); + if (dShopSystem_sellItemMax == 4) { + control_status = chooseItem4(i_seq); + } else if (dShopSystem_sellItemMax == 5) { + control_status = chooseItem5(i_seq); } else { - control_status = chooseItem3(seq); + control_status = chooseItem3(i_seq); } if (control_status != 0) { @@ -842,18 +272,19 @@ int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) { if (mDoCPd_c::getTrigA(PAD_1)) { if (msg->getStatus() != 6 && msg->getStatus() != 8 && msg->getStatus() != 9 && - msg->getStatus() != 20 && seq != SEQ_WAIT) { + msg->getStatus() != 20 && i_seq != SEQ_WAIT) + { return 1; } } if (mDoCPd_c::getTrigB(PAD_1)) { - if (seq != SEQ_SELECT_WAIT) { + if (i_seq != SEQ_SELECT_WAIT) { mLastCursorPos = mCursorPos; mCursorPos = 0; } - if (!p_flow->isSelectMessage()) { + if (!i_flow->isSelectMessage()) { return 2; } } @@ -861,12 +292,10 @@ int dShopSystem_c::checkController(u8 seq, dMsgFlow_c* p_flow) { return 0; } -/* ############################################################################################## */ - /* 80197808-80197DD0 192148 05C8+00 1/1 0/0 0/0 .text chooseItem3__13dShopSystem_cFUc */ -int dShopSystem_c::chooseItem3(u8 seq) { +int dShopSystem_c::chooseItem3(u8 i_seq) { u8 old_cursor = mLastCursorPos; - if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT) { + if (checkLeftTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT) { u8 cursor_pos = mCursorPos; if (cursor_pos == 7) { @@ -877,7 +306,7 @@ int dShopSystem_c::chooseItem3(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); } @@ -891,7 +320,7 @@ int dShopSystem_c::chooseItem3(u8 seq) { mLastCursorPos = cursor_pos; mCursorPos = 0; - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); } @@ -908,7 +337,7 @@ int dShopSystem_c::chooseItem3(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); } @@ -920,7 +349,7 @@ int dShopSystem_c::chooseItem3(u8 seq) { } } - if (checkRightTrigger(mpStick) && seq != SEQ_SELECT_WAIT) { + if (checkRightTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT) { u8 cursor_pos = mCursorPos; if (cursor_pos != 7) { @@ -932,13 +361,13 @@ int dShopSystem_c::chooseItem3(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); mShopCamAction.SetSelectIdx(mCursorPos); } return 4; } - } else if (data_80451058 == 7) { + } else if (dShopSystem_sellItemMax == 7) { mLastCursorPos = cursor_pos; mCursorPos = 7; @@ -946,7 +375,7 @@ int dShopSystem_c::chooseItem3(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); mShopCamAction.SetSelectIdx(mCursorPos); } @@ -956,8 +385,8 @@ int dShopSystem_c::chooseItem3(u8 seq) { } } - if (data_80451058 >= 6) { - if (mpStick->checkUpTrigger() && seq != SEQ_SELECT_WAIT && mCursorPos <= 3) { + if (dShopSystem_sellItemMax >= 6) { + if (mpStick->checkUpTrigger() && i_seq != SEQ_SELECT_WAIT && mCursorPos <= 3) { mLastCursorPos = mCursorPos; mCursorPos += 3; @@ -965,7 +394,7 @@ int dShopSystem_c::chooseItem3(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); } @@ -977,7 +406,7 @@ int dShopSystem_c::chooseItem3(u8 seq) { } } - if (mpStick->checkDownTrigger() && seq != SEQ_SELECT_WAIT) { + if (mpStick->checkDownTrigger() && i_seq != SEQ_SELECT_WAIT) { u8 cursor_pos = mCursorPos; if (cursor_pos > 3 && cursor_pos <= 6) { @@ -988,7 +417,7 @@ int dShopSystem_c::chooseItem3(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); mShopCamAction.SetSelectIdx(mCursorPos); } @@ -1002,15 +431,15 @@ int dShopSystem_c::chooseItem3(u8 seq) { } /* 80197DD0-80198250 192710 0480+00 1/1 0/0 0/0 .text chooseItem5__13dShopSystem_cFUc */ -int dShopSystem_c::chooseItem5(u8 seq) { +int dShopSystem_c::chooseItem5(u8 i_seq) { u8 old_cursor = mLastCursorPos; - if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT) { + if (checkLeftTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT) { u8 cursor_pos = mCursorPos; if (cursor_pos == 3) { mLastCursorPos = cursor_pos; mCursorPos = 0; - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); } @@ -1028,7 +457,7 @@ int dShopSystem_c::chooseItem5(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); } @@ -1040,7 +469,7 @@ int dShopSystem_c::chooseItem5(u8 seq) { } } - if (checkRightTrigger(mpStick) && seq != SEQ_SELECT_WAIT) { + if (checkRightTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT) { u8 cursor_pos = mCursorPos; if (cursor_pos != 2 && cursor_pos != 5) { @@ -1051,7 +480,7 @@ int dShopSystem_c::chooseItem5(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); mShopCamAction.SetSelectIdx(mCursorPos); } @@ -1060,7 +489,7 @@ int dShopSystem_c::chooseItem5(u8 seq) { } } - if (mpStick->checkUpTrigger() && seq != SEQ_SELECT_WAIT) { + if (mpStick->checkUpTrigger() && i_seq != SEQ_SELECT_WAIT) { u8 cursor_pos = mCursorPos; if (cursor_pos == 3 || cursor_pos == 5) { @@ -1076,7 +505,7 @@ int dShopSystem_c::chooseItem5(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); } @@ -1088,7 +517,7 @@ int dShopSystem_c::chooseItem5(u8 seq) { } } - if (mpStick->checkDownTrigger() && seq != SEQ_SELECT_WAIT) { + if (mpStick->checkDownTrigger() && i_seq != SEQ_SELECT_WAIT) { u8 cursor_pos = mCursorPos; if (cursor_pos == 1 || cursor_pos == 2) { @@ -1104,7 +533,7 @@ int dShopSystem_c::chooseItem5(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); mShopCamAction.SetSelectIdx(mCursorPos); } @@ -1117,9 +546,9 @@ int dShopSystem_c::chooseItem5(u8 seq) { } /* 80198250-80198444 192B90 01F4+00 1/1 0/0 0/0 .text chooseItem4__13dShopSystem_cFUc */ -int dShopSystem_c::chooseItem4(u8 seq) { +int dShopSystem_c::chooseItem4(u8 i_seq) { u8 old_cursor = mLastCursorPos; - if (checkLeftTrigger(mpStick) && seq != SEQ_SELECT_WAIT && mCursorPos != 0) { + if (checkLeftTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT && mCursorPos != 0) { mLastCursorPos = mCursorPos; mCursorPos--; @@ -1127,7 +556,7 @@ int dShopSystem_c::chooseItem4(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); } @@ -1139,7 +568,7 @@ int dShopSystem_c::chooseItem4(u8 seq) { } } - if (checkRightTrigger(mpStick) && seq != SEQ_SELECT_WAIT && mCursorPos < 4) { + if (checkRightTrigger(mpStick) && i_seq != SEQ_SELECT_WAIT && mCursorPos < 4) { mLastCursorPos = mCursorPos; mCursorPos++; @@ -1147,7 +576,7 @@ int dShopSystem_c::chooseItem4(u8 seq) { mCursorPos = mLastCursorPos; mLastCursorPos = old_cursor; } else { - if (seq != SEQ_START) { + if (i_seq != SEQ_START) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); mShopCamAction.SetSelectIdx(mCursorPos); } @@ -1273,7 +702,8 @@ int dShopSystem_c::moveCursor1(int control_status, u8 param_1) { int dShopSystem_c::drawCursor() { if ((mSeq == 4 || mSeq == 5 || ((mSeq == 6 || mSeq == SEQ_SELECT_WAIT) && isFlag(mCursorPos - 1))) && - mCursorPos != 0 && mItemCtrl.isHomePos(mCursorPos - 1)) { + mCursorPos != 0 && mItemCtrl.isHomePos(mCursorPos - 1)) + { mpDrawCursor->addAlpha(); } else { mpDrawCursor->decAlpha(); @@ -1321,8 +751,6 @@ int dShopSystem_c::itemRotate() { return 1; } -/* ############################################################################################## */ - /* 80198A2C-801990B0 19336C 0684+00 0/0 0/0 9/9 .text itemZoom__13dShopSystem_cFP4cXyz */ int dShopSystem_c::itemZoom(cXyz* param_0) { cXyz local_1c; @@ -1347,7 +775,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { local_40.set(dShopSystem_itemActor[1]->orig.pos); f32 tmp_05 = 0.5f; - if (data_80451058 == 4) { + if (dShopSystem_sellItemMax == 4) { if (dShopSystem_itemActor[2] != NULL) { f32 tmp = (dShopSystem_itemActor[2]->orig.pos.x + dShopSystem_itemActor[1]->orig.pos.x); @@ -1361,15 +789,15 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { dShopSystem_itemActor[1]->orig.pos.z); local_40.z = tmp3 * tmp_05; } - } else if (data_80451058 == 5) { - f32 tmp = (dShopSystem_itemActor[2]->orig.pos.x + - dShopSystem_itemActor[3]->orig.pos.x); + } else if (dShopSystem_sellItemMax == 5) { + f32 tmp = + (dShopSystem_itemActor[2]->orig.pos.x + dShopSystem_itemActor[3]->orig.pos.x); local_40.x = tmp * tmp_05; local_40.y = dShopSystem_itemActor[0]->orig.pos.y; - f32 tmp3 = (dShopSystem_itemActor[2]->orig.pos.z + - dShopSystem_itemActor[3]->orig.pos.z); + f32 tmp3 = + (dShopSystem_itemActor[2]->orig.pos.z + dShopSystem_itemActor[3]->orig.pos.z); local_40.z = tmp3 * tmp_05; } @@ -1383,7 +811,8 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { if (field_0xf77 == 5) { if (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 || dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 || - dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) { + dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) + { local_34.set(g_cursorHIO.mObjZoom.x, -50.0f + g_cursorHIO.mObjZoom.y + 5.0f, (g_cursorHIO.mObjZoom.z + 250.0f) - 60.0f); } else { @@ -1401,9 +830,8 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { } } - cLib_offsetPos(&local_28, &dShopSystem_cameraActor[1]->current.pos, atan, - &local_34); - if (data_80451058 == 6 || data_80451058 == 5) { + cLib_offsetPos(&local_28, &dShopSystem_cameraActor[1]->current.pos, atan, &local_34); + if (dShopSystem_sellItemMax == 6 || dShopSystem_sellItemMax == 5) { param_0->y += 15.0f; } local_1c.set(local_28.x + param_0->x, local_28.y + param_0->y, local_28.z + param_0->z); @@ -1433,7 +861,8 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { } else if (dvar1 == 5) { if (dShopSystem_itemNo[mCursorPos - 1] == ARROW_10 || dShopSystem_itemNo[mCursorPos - 1] == ARROW_20 || - dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) { + dShopSystem_itemNo[mCursorPos - 1] == ARROW_30) + { mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 4000, isFlag(8) ? true : false); } else { @@ -1443,7 +872,7 @@ int dShopSystem_c::itemZoom(cXyz* param_0) { } else if (mCursorPos == 7) { mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mMagicArmorObjZoomAngleX, isFlag(8) ? true : false); - } else if (data_80451058 == 7) { + } else if (dShopSystem_sellItemMax == 7) { mItemCtrl.setZoomAnime(mCursorPos, &local_1c, g_cursorHIO.mShopObjZoomAngleX - 3000, isFlag(8) ? true : false); } else { @@ -1461,15 +890,13 @@ int dShopSystem_c::seq_wait(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { return 0; } -/* ############################################################################################## */ - inline void pos3Dto2D(Vec* a, Vec* b) { mDoLib_project(a, b); } /* 801990B8-8019936C 1939F8 02B4+00 1/0 0/0 0/0 .text * seq_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { +int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* i_flow) { if (field_0xf79 != 0) { dComIfGp_setDoStatusForce(0, 0); dComIfGp_setAStatusForce(0, 0); @@ -1482,14 +909,14 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { pos3Dto2D(&pos3d, &pos2d); mpDrawCursor->setPos(pos2d.x, pos2d.y + g_cursorHIO.mShopCursorOffsetY); - if (chkSpMode() && !beforeStartSeqAction(p_flow, field_0xf5c)) { + if (chkSpMode() && !beforeStartSeqAction(i_flow, field_0xf5c)) { return 0; } else { if (dMsgObject_c::isMsgSendControl()) { dComIfGp_setDoStatusForce(0, 0); dComIfGp_setAStatusForce(0x2A, 0); - int control_status = checkController(SEQ_WAIT, p_flow); + int control_status = checkController(SEQ_WAIT, i_flow); if (control_status != 0) { dMsgObject_c::onMsgSend(); int cursor_status = moveCursor(control_status, 0); @@ -1499,11 +926,11 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { field_0xf5c = cursor_status; mShopCamAction.setCameraSpeed(0.0f, 0.0f, 0.0f, 0.0f); setSeq(SEQ_SELECT); - } else if (p_flow->doFlow(actor, NULL, cursor_status)) { + } else if (i_flow->doFlow(actor, NULL, cursor_status)) { mShopCamAction.setCameraSpeed(0.0f, 0.0f, 0.0f, 0.0f); setSeq(SEQ_FINISH); } - } else if (p_flow->doFlow(actor, NULL, cursor_status)) { + } else if (i_flow->doFlow(actor, NULL, cursor_status)) { if (mCursorPos == 0) { setSeq(SEQ_FINISH); } else { @@ -1512,12 +939,12 @@ int dShopSystem_c::seq_start(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { } } } else { - if (p_flow->doFlow(actor, NULL, 0)) { + if (i_flow->doFlow(actor, NULL, 0)) { int itemNo; if (mFlow.getEventId(&itemNo) == 1) { if (field_0xd90 == -1) { - field_0xd90 = fopAcM_createItemForPresentDemo(¤t.pos, itemNo, - 0, -1, -1, NULL, NULL); + field_0xd90 = fopAcM_createItemForPresentDemo(¤t.pos, itemNo, 0, -1, + -1, NULL, NULL); } if (fpcEx_IsExist(field_0xd90)) { @@ -1552,7 +979,7 @@ int dShopSystem_c::seq_select_wait(fopAc_ac_c*, dMsgFlow_c*) { * seq_select_start__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ int dShopSystem_c::seq_select_start(fopAc_ac_c*, dMsgFlow_c*) { if (field_0xf60 < 0 && field_0xf76 == 0 && dShopSystem_item_count != -1) { - if (dShopSystem_item_count != data_80451058) { + if (dShopSystem_item_count != dShopSystem_sellItemMax) { return 0; } searchItemActor(); @@ -1602,8 +1029,8 @@ int dShopSystem_c::seq_select_start(fopAc_ac_c*, dMsgFlow_c*) { /* 8019959C-80199A18 193EDC 047C+00 1/0 0/0 0/0 .text * seq_select__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { - if (chkSpMode() && !beforeSelectSeqAction(p_flow, field_0xf5c)) { +int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* i_flow) { + if (chkSpMode() && !beforeSelectSeqAction(i_flow, field_0xf5c)) { return 0; } @@ -1611,7 +1038,7 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { field_0xf76 = 0; } - int control_status = checkController(SEQ_START, p_flow); + int control_status = checkController(SEQ_START, i_flow); dComIfGp_setDoStatusForce(0x22, 0); dComIfGp_setAStatusForce(0x2A, 0); @@ -1628,7 +1055,7 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { mShopCamAction.SetSelectIdx(mCursorPos); mShopCamAction.setCameraSpeed(0.0f, 0.0f, 0.0f, 0.0f); setSeq(SEQ_START); - } else if (p_flow->doFlow(actor, NULL, cursor_status)) { + } else if (i_flow->doFlow(actor, NULL, cursor_status)) { if (control_status == 3) { if (mCursorPos != 0) { mDoAud_seStart(Z2SE_SY_TALK_NEXT, NULL, 0, 0); @@ -1662,7 +1089,8 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { } } } else if (control_status == 3 || control_status == 4 || control_status == 5 || - control_status == 6 || control_status == 7 || control_status == 2) { + control_status == 6 || control_status == 7 || control_status == 2) + { if (mLastCursorPos == 7) { mLastCursorPos = mCursorPos; mCursorPos = 7; @@ -1677,7 +1105,7 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { } } } else { - p_flow->doFlow(actor, NULL, 0); + i_flow->doFlow(actor, NULL, 0); } u8 old_cursor = 0; @@ -1706,8 +1134,6 @@ int dShopSystem_c::seq_select(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { return 0; } -/* ############################################################################################## */ - /* 80199A18-80199BF8 194358 01E0+00 1/0 0/0 0/0 .text * seq_moving__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ int dShopSystem_c::seq_moving(fopAc_ac_c*, dMsgFlow_c*) { @@ -1756,11 +1182,11 @@ int dShopSystem_c::seq_moving(fopAc_ac_c*, dMsgFlow_c*) { /* 80199BF8-80199D14 194538 011C+00 1/0 0/0 0/0 .text * seq_decide__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { - int control_status = checkController(SEQ_SELECT_WAIT, p_flow); +int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* i_flow) { + int control_status = checkController(SEQ_SELECT_WAIT, i_flow); dComIfGp_setDoStatusForce(0x22, 0); - if (!p_flow->isSelectMessage()) { + if (!i_flow->isSelectMessage()) { dComIfGp_setAStatusForce(0x2A, 0); } else if (dMsgObject_getMsgObjectClass()->getSelectCancelPos() != 0) { dComIfGp_setAStatusForce(0x2A, 0); @@ -1769,15 +1195,15 @@ int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { if (control_status != 0) { int cursor_status = moveCursor(control_status, 2); - if (p_flow->doFlow(actor, NULL, cursor_status)) { + if (i_flow->doFlow(actor, NULL, cursor_status)) { offFlag(8); setSeq(SEQ_SELECT_WAIT); - } else if (p_flow->isSelectMessage()) { + } else if (i_flow->isSelectMessage()) { field_0xf58 = control_status; setSeq(SEQ_CHOOSE); } } else { - p_flow->doFlow(actor, NULL, 0); + i_flow->doFlow(actor, NULL, 0); } return 0; @@ -1785,19 +1211,20 @@ int dShopSystem_c::seq_decide(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { /* 80199D14-80199E28 194654 0114+00 1/0 0/0 0/0 .text * seq_choose__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { +int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* i_flow) { dComIfGp_setDoStatusForce(0x22, 0); - if (!p_flow->isSelectMessage()) { + if (!i_flow->isSelectMessage()) { dComIfGp_setAStatusForce(0x2A, 0); } else if (dMsgObject_getMsgObjectClass()->getSelectCancelPos() != 0) { dComIfGp_setAStatusForce(0x2A, 0); } - p_flow->doFlow(actor, NULL, 0); + i_flow->doFlow(actor, NULL, 0); - int select_num = p_flow->getSelectNum(); + int select_num = i_flow->getSelectNum(); if (dMsgObject_c::getStatus() != 6 && dMsgObject_c::getStatus() != 8 && - dMsgObject_c::getStatus() != 9 && dMsgObject_c::getStatus() != 20) { + dMsgObject_c::getStatus() != 9 && dMsgObject_c::getStatus() != 20) + { if ((u16)select_num == 0) { setSeq(SEQ_DECIDE_YES); } else { @@ -1810,7 +1237,7 @@ int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { /* 80199E28-80199FA4 194768 017C+00 1/0 0/0 0/0 .text * seq_decide_yes__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { +int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* i_flow) { if (dMsgObject_getMessageID() == 0x1B82) { mShopCamAction.SetSelectIdx(0); field_0xf76 = 1; @@ -1818,10 +1245,10 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { int itemNo; if (mFlow.getEventId(&itemNo) == 1) { - if (p_flow->doFlow(actor, NULL, 0)) { + if (i_flow->doFlow(actor, NULL, 0)) { if (field_0xd90 == -1) { - field_0xd90 = fopAcM_createItemForPresentDemo(¤t.pos, itemNo, 0, -1, - -1, NULL, NULL); + field_0xd90 = + fopAcM_createItemForPresentDemo(¤t.pos, itemNo, 0, -1, -1, NULL, NULL); } if (fpcEx_IsExist(field_0xd90)) { @@ -1842,7 +1269,7 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { flow = mItemCtrl.getMessageIndex(mCursorPos - 1) + 1; } - if (p_flow->doFlow(actor, NULL, flow)) { + if (i_flow->doFlow(actor, NULL, flow)) { offFlag(8); setSeq(SEQ_SELECT_WAIT); } @@ -1853,8 +1280,8 @@ int dShopSystem_c::seq_decide_yes(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { /* 80199FA4-8019A020 1948E4 007C+00 1/0 0/0 0/0 .text * seq_decide_no__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -int dShopSystem_c::seq_decide_no(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { - if (p_flow->doFlow(actor, NULL, moveCursor(field_0xf58, 2))) { +int dShopSystem_c::seq_decide_no(fopAc_ac_c* actor, dMsgFlow_c* i_flow) { + if (i_flow->doFlow(actor, NULL, moveCursor(field_0xf58, 2))) { offFlag(8); setSeq(SEQ_SELECT_WAIT); } @@ -1864,10 +1291,10 @@ int dShopSystem_c::seq_decide_no(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { /* 8019A020-8019A0C0 194960 00A0+00 1/0 0/0 0/0 .text * seq_finish__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ -int dShopSystem_c::seq_finish(fopAc_ac_c* actor, dMsgFlow_c* p_flow) { - if (chkSpMode() && !beforeStartSeqAction(p_flow, field_0xf5c)) { +int dShopSystem_c::seq_finish(fopAc_ac_c* actor, dMsgFlow_c* i_flow) { + if (chkSpMode() && !beforeStartSeqAction(i_flow, field_0xf5c)) { return 0; - } else if (p_flow->doFlow(actor, NULL, 0)) { + } else if (i_flow->doFlow(actor, NULL, 0)) { setSeq(SEQ_WAIT); return 1; } @@ -1901,7 +1328,7 @@ int dShopSystem_c::shop_init(bool param_0) { * shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { int iVar1; - iVar1 = (this->*((processFunc*)process)[mSeq])(param_0, param_1); + iVar1 = (this->*process[mSeq])(param_0, param_1); if (mWaitTimer != 0) { mWaitTimer--; @@ -1927,25 +1354,23 @@ int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { return iVar1; } -/* ############################################################################################## */ /* 804506F8-80450700 -00001 0004+04 1/1 0/0 0/0 .sdata shop_item_pos_data_tbl */ -SECTION_SDATA static shop_item_data* shop_item_pos_data_tbl = &item_seira_shop; - -/* 80453B58-80453B60 002158 0006+02 1/1 0/0 0/0 .sdata2 item_no$5460 */ -SECTION_SDATA2 static u8 item_no[6] = { - MILK_BOTTLE, BEE_CHILD, PACHINKO, MILK_BOTTLE, BEE_CHILD, NO_ITEM, -}; +static shop_item_data* shop_item_pos_data_tbl = &item_seira_shop; /* 8019A238-8019A344 194B78 010C+00 0/0 0/0 1/1 .text createShopItem__13dShopSystem_cFi */ void dShopSystem_c::createShopItem(int itemType) { + static const u8 item_no[6] = { + MILK_BOTTLE, BEE_CHILD, PACHINKO, MILK_BOTTLE, BEE_CHILD, NO_ITEM, + }; + if (itemType != -1) { field_0xf60 = itemType; mSoldOutFlag = -1; cXyz pos; for (int i = 0; i < 3; i++) { - u8* itemTbl = item_no + (itemType * 3); + const u8* itemTbl = item_no + (itemType * 3); pos.x = shop_item_pos_data_tbl->mItemPos[i].x + current.pos.x; pos.y = shop_item_pos_data_tbl->mItemPos[i].y + current.pos.y; @@ -1965,8 +1390,8 @@ void dShopSystem_c::createShopItem(int itemType) { } /* 8019A344-8019A354 194C84 0010+00 12/12 0/0 0/0 .text setSeq__13dShopSystem_cFUc */ -void dShopSystem_c::setSeq(u8 seq) { - mSeq = seq; +void dShopSystem_c::setSeq(u8 i_seq) { + mSeq = i_seq; mWaitTimer = 2; } @@ -2044,13 +1469,14 @@ void dShopSystem_c::deleteObject() { } } -/* ############################################################################################## */ - /* 8019A5D0-8019AB00 194F10 0530+00 1/1 0/0 8/8 .text searchItemActor__13dShopSystem_cFv */ int dShopSystem_c::searchItemActor() { u8 temp_data; - if ((dShopSystem_item_count != -1 && ((dShopSystem_item_count < (temp_data = data_80451058)) || dShopSystem_camera_count < 2))) { + if ((dShopSystem_item_count != -1 && + ((dShopSystem_item_count < (temp_data = dShopSystem_sellItemMax)) || + dShopSystem_camera_count < 2))) + { if (dShopSystem_item_count < temp_data) { fpcEx_Search((fpcLyIt_JudgeFunc)dShopSystem_searchItemActor, this); } @@ -2060,54 +1486,63 @@ int dShopSystem_c::searchItemActor() { return 0; } - if (dShopSystem_item_count >= data_80451058 && dShopSystem_camera_count >= 2) { + if (dShopSystem_item_count >= dShopSystem_sellItemMax && dShopSystem_camera_count >= 2) { mSoldOutFlag = -1; + if (data_80451060) { f32 actorDistArr[7]; u8 itemNoArr[7]; f32 arr2[7]; daTag_ShopItem_c* actorArr[7]; u8 arr3[7]; - for (int i = 0; i < data_80451058; i++) { + + for (int i = 0; i < dShopSystem_sellItemMax; i++) { actorArr[i] = dShopSystem_itemActor[i]; itemNoArr[i] = dShopSystem_itemNo[i]; actorDistArr[i] = fopAcM_searchActorDistance(this, actorArr[i]); arr2[i] = 0.0f; arr3[i] = 0; } - for (int i = 0; i < data_80451058; i++) { + + for (int i = 0; i < dShopSystem_sellItemMax; i++) { arr2[i] = actorDistArr[i]; arr3[i] = i; + if (i > 0) { for (int j = i; j >= 0; j--) { - if (arr2[j] < arr2[j-1]) { + if (arr2[j] < arr2[j - 1]) { f32 temp = arr2[j]; - arr2[j] = arr2[j-1]; - arr2[j-1] = temp; + arr2[j] = arr2[j - 1]; + arr2[j - 1] = temp; + u8 temp2 = arr3[j]; - arr3[j] = arr3[j-1]; - arr3[j-1] = temp2; + arr3[j] = arr3[j - 1]; + arr3[j - 1] = temp2; } } } } - for (int i = 0; i < data_80451058; i++) { + + for (int i = 0; i < dShopSystem_sellItemMax; i++) { dShopSystem_itemActor[i] = actorArr[arr3[i]]; dShopSystem_itemNo[i] = itemNoArr[arr3[i]]; } } - for (int i = 0; i < data_80451058; i++) { + for (int i = 0; i < dShopSystem_sellItemMax; i++) { u32 processId = dShopSystem_itemActor[i]->getProcessID(); mItemCtrl.setItemIndex(i, processId); - mItemCtrl.setMessageIndex(i, (u16)dShopSystem_itemActor[i]->orig.angle.GetX() != 0xffff ? (u16)dShopSystem_itemActor[i]->orig.angle.GetX() : -1); + mItemCtrl.setMessageIndex(i, (u16)dShopSystem_itemActor[i]->orig.angle.x != 0xFFFF ? + (u16)dShopSystem_itemActor[i]->orig.angle.x : + -1); - if (processId + 0x10000 == 0xffff) { + if (processId + 0x10000 == 0xFFFF) { onFlag(i); onSoldOutItemFlag(i); } else { offFlag(i); - if ((u8)fopAcM_GetParam(dShopSystem_itemActor[i]) == 0xff) { + + if ((u8)fopAcM_GetParam(dShopSystem_itemActor[i]) == 0xFF) { onSoldOutItemFlag(i); } else { offSoldOutItemFlag(i); @@ -2120,12 +1555,11 @@ int dShopSystem_c::searchItemActor() { dShopSystem_cameraActor[1]->current.pos.set(215.0f, 225.0f, 370.0f); } - if (data_80451058 > 3) { + if (dShopSystem_sellItemMax > 3) { mShopCamAction.setCamDataIdx2( this, dShopSystem_itemActor[0], dShopSystem_itemActor[1], dShopSystem_itemActor[2], - dShopSystem_itemActor[3], dShopSystem_itemActor[4], dShopSystem_itemActor[5], &dShopSystem_cameraActor[0]->current.pos, - &dShopSystem_cameraActor[1]->current.pos - ); + dShopSystem_itemActor[3], dShopSystem_itemActor[4], dShopSystem_itemActor[5], + &dShopSystem_cameraActor[0]->current.pos, &dShopSystem_cameraActor[1]->current.pos); if (field_0xf77 == 8) { cXyz camCtrPos; @@ -2135,38 +1569,38 @@ int dShopSystem_c::searchItemActor() { for (int i = 0; i < 7; i++) { if (dShopSystem_itemActor[i] != NULL) { - u8 cVar8 = dShopSystem_itemActor[i]->orig.angle.GetZ(); - u8 cVar4 = ((u16)dShopSystem_itemActor[i]->orig.angle.GetZ()) >> 8; - if (((cVar8 != 0xff) && - (dComIfGs_isSaveSwitch(cVar8) == 0)) && - ((cVar4 != 0xff && - (dComIfGs_isSaveSwitch(cVar4) == 0)))) { + u8 sw0 = dShopSystem_itemActor[i]->orig.angle.z; + u8 sw1 = ((u16)dShopSystem_itemActor[i]->orig.angle.z) >> 8; + + if ((sw0 != 0xFF && !dComIfGs_isSaveSwitch(sw0)) && + (sw1 != 0xFF && !dComIfGs_isSaveSwitch(sw1))) + { onFlag(i); onSoldOutItemFlag(i); } } } + dShopSystem_item_count = -1; } else { mShopCamAction.setCamDataIdx( this, dShopSystem_itemActor[0], dShopSystem_itemActor[1], dShopSystem_itemActor[2], - &dShopSystem_cameraActor[0]->current.pos, - &dShopSystem_cameraActor[1]->current.pos - ); + &dShopSystem_cameraActor[0]->current.pos, &dShopSystem_cameraActor[1]->current.pos); for (int i = 0; i < 7; i++) { if (dShopSystem_itemActor[i] != NULL) { - u8 cVar8 = dShopSystem_itemActor[i]->orig.angle.GetZ(); - u8 cVar4 = ((u16)dShopSystem_itemActor[i]->orig.angle.GetZ()) >> 8; - if (((cVar8 != 0xff) && - (dComIfGs_isSaveSwitch(cVar8) == 0)) && - ((cVar4 != 0xff && - (dComIfGs_isSaveSwitch(cVar4) == 0)))) { + u8 sw0 = dShopSystem_itemActor[i]->orig.angle.z; + u8 sw1 = ((u16)dShopSystem_itemActor[i]->orig.angle.z) >> 8; + + if ((sw0 != 0xFF && !dComIfGs_isSaveSwitch(sw0)) && + (sw1 != 0xFF && !dComIfGs_isSaveSwitch(sw1))) + { onFlag(i); onSoldOutItemFlag(i); } } } + dShopSystem_item_count = -1; } } @@ -2185,10 +1619,19 @@ int dShopSystem_c::getFlowNodeNum() { return num; } +// fake, used to fix weak function order +void dShopSystem_c::dummyWeakOrder() { + static const char* bck_str = ".bck"; + static const char* btp_str = ".btp"; + static const char* btk_str = ".btk"; + + getResName2(0); +} + /* 8019AB1C-8019AB24 19545C 0008+00 0/0 0/0 8/8 .text setSellItemMax__13dShopSystem_cFUc */ -void dShopSystem_c::setSellItemMax(u8 max) { - data_80451058 = max; +void dShopSystem_c::setSellItemMax(u8 i_max) { + dShopSystem_sellItemMax = i_max; } /* 8019AB24-8019AB60 195464 003C+00 0/0 0/0 9/9 .text checkShopOpen__13dShopSystem_cFv */ @@ -2204,14 +1647,14 @@ bool dShopSystem_c::checkShopOpen() { /* 8019AB60-8019AB84 1954A0 0024+00 3/3 0/0 0/0 .text * checkLeftTrigger__13dShopSystem_cFP9STControl */ -bool dShopSystem_c::checkLeftTrigger(STControl* stick) { - return stick->checkLeftTrigger(); +bool dShopSystem_c::checkLeftTrigger(STControl* i_stick) { + return i_stick->checkLeftTrigger(); } /* 8019AB84-8019ABA8 1954C4 0024+00 3/3 0/0 0/0 .text * checkRightTrigger__13dShopSystem_cFP9STControl */ -bool dShopSystem_c::checkRightTrigger(STControl* stick) { - return stick->checkRightTrigger(); +bool dShopSystem_c::checkRightTrigger(STControl* i_stick) { + return i_stick->checkRightTrigger(); } /* 8019ABA8-8019ABB0 1954E8 0008+00 1/1 0/0 0/0 .text dpdMove__13dShopSystem_cFv */ @@ -2219,57 +1662,4 @@ bool dShopSystem_c::dpdMove() { return false; } -/* 8019ABB0-8019ACE0 1954F0 0130+00 0/0 1/0 0/0 .text __sinit_d_shop_system_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_shop_system_cpp() { - nofralloc -#include "asm/d/shop/d_shop_system/__sinit_d_shop_system_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8019ABB0, __sinit_d_shop_system_cpp); -#pragma pop - -/* 8019ACE0-8019ACE8 195620 0008+00 1/0 0/0 0/0 .text - * beforeStartSeqAction__13dShopSystem_cFP10dMsgFlow_ci */ -int dShopSystem_c::beforeStartSeqAction(dMsgFlow_c* param_0, int param_1) { - return 1; -} - -/* 8019ACE8-8019ACF0 195628 0008+00 1/0 0/0 0/0 .text - * beforeSelectSeqAction__13dShopSystem_cFP10dMsgFlow_ci */ -int dShopSystem_c::beforeSelectSeqAction(dMsgFlow_c* param_0, int param_1) { - return 1; -} - -/* 8019ACF0-8019ACF8 195630 0008+00 1/0 0/0 0/0 .text getResName2__13dShopSystem_cFi */ -bool dShopSystem_c::getResName2(int param_0) { - return false; -} - -/* ############################################################################################## */ -/* 80394C17-80394C1C 021277 0005+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394C17 = ".bck"; -#pragma pop - -/* 80394C1C-80394C21 02127C 0005+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394C1C = ".btp"; -#pragma pop - -/* 80394C21-80394C28 021281 0005+02 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80394C21 = ".btk"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80394C26 = "\0"; -#pragma pop - -/* 80394C10-80394C10 021270 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma nosyminline on diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 3c8ee5881a..24858228be 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -9,6 +9,7 @@ #include "SSystem/SComponent/c_malloc.h" #include "SSystem/SComponent/c_math.h" #include "d/a/d_a_player.h" +#include "d/d_item.h" #include "d/d_path.h" #include "d/d_procname.h" #include "dol2asm.h" @@ -21,6 +22,9 @@ #include "m_Do/m_Do_mtx.h" #include "rel/d/a/tag/d_a_tag_stream/d_a_tag_stream.h" +#define MAKE_ITEM_PARAMS(itemNo, itemBitNo, param_2, param_3) \ + ((itemNo & 0xFF) << 0 | (itemBitNo & 0xFF) << 0x8 | param_2 << 0x10 | (param_3 & 0xF) << 0x18) + // // Types: // @@ -29,11 +33,6 @@ struct l_HIO { /* 8001E098 */ ~l_HIO(); }; -class dEnemyItem_c { -public: - static u8* mData; -}; - // // Forward References: // @@ -156,9 +155,9 @@ extern "C" static void func_8001E104(); extern "C" static void func_8001E10C(); extern "C" static void func_8001E114(); extern "C" void onFrollCrashFlg__9daPy_py_cFUci(); -extern "C" bool checkWolfDash__9daPy_py_cCFv(); -extern "C" bool checkFrontRoll__9daPy_py_cCFv(); -extern "C" bool checkHorseRide__9daPy_py_cCFv(); +extern "C" int checkWolfDash__9daPy_py_cCFv(); +extern "C" int checkFrontRoll__9daPy_py_cCFv(); +extern "C" u32 checkHorseRide__9daPy_py_cCFv(); extern "C" s32 getGrabActorID__9daPy_py_cCFv(); extern "C" extern char const* const f_op_f_op_actor_mng__stringBase0; extern "C" u8 mLineCheck__11fopAcM_lc_c[112]; @@ -171,7 +170,7 @@ extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; // TODO: move -u32 check_itemno(int param1); +u8 check_itemno(int param1); BOOL isHeart(u8); // @@ -807,7 +806,7 @@ s16 fopAcM_searchActorAngleX(const fopAc_ac_c* i_actorA, const fopAc_ac_c* i_act #else #pragma push #pragma optimization_level 0 -#pragma optimizewithasm off +#pragma optimizewithasm off asm s16 fopAcM_searchActorAngleX(const fopAc_ac_c* p_actorA, const fopAc_ac_c* p_actorB) { nofralloc #include "asm/f_op/f_op_actor_mng/fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c.s" @@ -1067,11 +1066,13 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) { if (fopAcM_GetCullSize(i_actor) == 14) { if (fopAcM_getCullSizeFar(i_actor) > 0.0f) { mDoLib_clipper::changeFar(cullsize_far * mDoLib_clipper::getFar()); - u32 ret = mDoLib_clipper::clip(mtx_p, &i_actor->mCull.mBox.mMax, &i_actor->mCull.mBox.mMin); + u32 ret = mDoLib_clipper::clip(mtx_p, &i_actor->mCull.mBox.mMax, + &i_actor->mCull.mBox.mMin); mDoLib_clipper::resetFar(); return ret; } else { - return mDoLib_clipper::clip(mtx_p, &i_actor->mCull.mBox.mMax, &i_actor->mCull.mBox.mMin); + return mDoLib_clipper::clip(mtx_p, &i_actor->mCull.mBox.mMax, + &i_actor->mCull.mBox.mMin); } } else { cull_box* box = &l_cullSizeBox[cullsize]; @@ -1096,7 +1097,7 @@ s32 fopAcM_cullingCheck(fopAc_ac_c const* i_actor) { center.x = center_p->x; center.y = center_p->y; center.z = center_p->z; - + u32 ret = mDoLib_clipper::clip(mtx_p, center, radius); mDoLib_clipper::resetFar(); return ret; @@ -1668,20 +1669,11 @@ void* fopAcM_createItemForSimpleDemo(const cXyz* i_pos, int i_itemNo, int i_room 0x4, NULL); } -inline u32 maskShift(int val, int bits, int shift) { - return (val & ((1 << bits) - 1)) << shift; -} - -inline u32 makeItemParams(u32 iNo, u32 p8, u32 unk, u32 p9) { - return maskShift(p8, 8, 0x8) | maskShift(iNo, 8, 0) | maskShift(unk, 8, 0x10) | - maskShift(p9, 4, 0x18); -} - /* 8001C240-8001C3E0 016B80 01A0+00 1/1 1/1 17/17 .text * fopAcM_createItem__FPC4cXyziiiPC5csXyzPC4cXyzi */ -s32 fopAcM_createItem(const cXyz* i_pos, int itemNo, int param_3, int i_roomNo, +s32 fopAcM_createItem(const cXyz* i_pos, int i_itemNo, int i_itemBitNo, int i_roomNo, const csXyz* i_angle, const cXyz* i_scale, int param_7) { - if (itemNo == NO_ITEM) { + if (i_itemNo == NO_ITEM) { return -1; } @@ -1689,67 +1681,66 @@ s32 fopAcM_createItem(const cXyz* i_pos, int itemNo, int param_3, int i_roomNo, if (i_angle != NULL) { item_angle = *i_angle; } else { - item_angle.y = cM_rndFX(32767.0f); + item_angle.y = cM_rndFX(0x7FFF); } item_angle.z = 0xFF; - u32 itemActorParams = makeItemParams(check_itemno(itemNo), param_3, 0xFF, param_7); + u8 item_no = check_itemno(i_itemNo); + u32 params = MAKE_ITEM_PARAMS(item_no, i_itemBitNo, 0xFF, param_7); - switch (itemNo) { + switch (i_itemNo) { case RECOVERY_FAILY: return fopAcM_create(PROC_Obj_Yousei, 0xFFFFFFFF, i_pos, i_roomNo, i_angle, i_scale, -1); case KAKERA_HEART: case UTAWA_HEART: - return fopAcM_create(PROC_Obj_LifeContainer, itemActorParams, i_pos, i_roomNo, i_angle, - i_scale, -1); + return fopAcM_create(PROC_Obj_LifeContainer, params, i_pos, i_roomNo, i_angle, i_scale, -1); case TRIPLE_HEART: for (int i = 0; i < 2; i++) { - fopAcM_create(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &item_angle, i_scale, -1); + fopAcM_create(PROC_ITEM, params, i_pos, i_roomNo, &item_angle, i_scale, -1); item_angle.y = cM_rndFX(32767.0f); } default: - return fopAcM_create(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &item_angle, i_scale, -1); + return fopAcM_create(PROC_ITEM, params, i_pos, i_roomNo, &item_angle, i_scale, -1); } } /* 8001C3E0-8001C5B0 016D20 01D0+00 1/1 0/0 0/0 .text * fopAcM_fastCreateItem2__FPC4cXyziiiiPC5csXyzPC4cXyz */ -void* fopAcM_fastCreateItem2(const cXyz* i_pos, int itemNo, int param_3, int i_roomNo, int param_5, - const csXyz* i_angle, const cXyz* i_scale) { +void* fopAcM_fastCreateItem2(const cXyz* i_pos, int i_itemNo, int i_itemBitNo, int i_roomNo, + int param_5, const csXyz* i_angle, const cXyz* i_scale) { csXyz item_angle(csXyz::Zero); - if (itemNo == NO_ITEM) { + if (i_itemNo == NO_ITEM) { return NULL; } if (i_angle != NULL) { item_angle = *i_angle; } else { - item_angle.y = cM_rndFX(32767.0f); + item_angle.y = cM_rndFX(0x7FFF); } item_angle.z = 0xFF; - int tmpItemNo = check_itemno(itemNo); - u32 itemActorParams = - (param_3 & 0xFF) << 0x8 | (tmpItemNo & 0xFF) | 0xFF << 0x10 | ((param_5 & 0xF) << 0x18); + u8 item_no = check_itemno(i_itemNo); + u32 params = MAKE_ITEM_PARAMS(item_no, i_itemBitNo, 0xFF, param_5); - switch (itemNo) { + switch (i_itemNo) { case RECOVERY_FAILY: return fopAcM_fastCreate(PROC_Obj_Yousei, 0xFFFFFFFF, i_pos, i_roomNo, i_angle, i_scale, -1, NULL, NULL); case KAKERA_HEART: case UTAWA_HEART: - return fopAcM_fastCreate(PROC_Obj_LifeContainer, itemActorParams, i_pos, i_roomNo, i_angle, - i_scale, -1, NULL, NULL); + return fopAcM_fastCreate(PROC_Obj_LifeContainer, params, i_pos, i_roomNo, i_angle, i_scale, + -1, NULL, NULL); case TRIPLE_HEART: for (int i = 0; i < 2; i++) { - fopAcM_fastCreate(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &item_angle, i_scale, -1, - NULL, NULL); - item_angle.y = cM_rndFX(32767.0f); + fopAcM_fastCreate(PROC_ITEM, params, i_pos, i_roomNo, &item_angle, i_scale, -1, NULL, + NULL); + item_angle.y = cM_rndFX(0x7FFF); } default: - return fopAcM_fastCreate(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &item_angle, i_scale, - -1, NULL, NULL); + return fopAcM_fastCreate(PROC_ITEM, params, i_pos, i_roomNo, &item_angle, i_scale, -1, NULL, + NULL); } } @@ -1763,60 +1754,54 @@ SECTION_SDATA2 static f32 lit_5809 = 8192.0f; /* 80451C38-80451C3C 000238 0004+00 4/4 0/0 0/0 .sdata2 @5810 */ SECTION_SDATA2 static f32 lit_5810 = 1.0f; -/* 80451C3C-80451C40 00023C 0004+00 1/1 0/0 0/0 .sdata2 @5811 */ -SECTION_SDATA2 static f32 lit_5811 = 3.0f / 10.0f; - -/* 80451C40-80451C44 000240 0004+00 1/1 0/0 0/0 .sdata2 @5812 */ -SECTION_SDATA2 static f32 lit_5812 = 1.0f / 5.0f; - /* 8001C5B0-8001C870 016EF0 02C0+00 3/3 0/0 4/4 .text * fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i */ -// issue with makeItemParams -#ifdef NONMATCHING void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const csXyz* i_angle, - const cXyz* i_scale, f32* p_speedF, f32* p_speedY, int param_8, + const cXyz* i_scale, f32* p_speedF, f32* p_speedY, int i_itemBitNo, int param_9, createFunc i_createFunc) { - csXyz angle; - if (i_itemNo == NO_ITEM) { return NULL; } - u32 itemActorParams = makeItemParams(check_itemno(i_itemNo), param_8, 0xFF, param_9); + int i; + + u8 item_no = check_itemno(i_itemNo); + u8 item_bit_no = i_itemBitNo; + u32 params = MAKE_ITEM_PARAMS(item_no, item_bit_no, 0xFF, param_9); if (p_speedF != NULL && isHeart(i_itemNo)) { - *p_speedF = *p_speedF * 2.0f; + *p_speedF = lit_5808 * *p_speedF; } + csXyz angle; switch (i_itemNo) { case RECOVERY_FAILY: return fopAcM_fastCreate(PROC_Obj_Yousei, 0xFFFFFFFF, i_pos, i_roomNo, i_angle, i_scale, -1, NULL, NULL); case KAKERA_HEART: case UTAWA_HEART: - return fopAcM_fastCreate(PROC_Obj_LifeContainer, itemActorParams, i_pos, i_roomNo, i_angle, - i_scale, -1, NULL, NULL); + return fopAcM_fastCreate(PROC_Obj_LifeContainer, params, i_pos, i_roomNo, i_angle, i_scale, + -1, NULL, NULL); case TRIPLE_HEART: - for (int i = 0; i < 2; i++) { + for (i = 0; i < 2; i++) { if (i_angle != NULL) { angle = *i_angle; } else { angle = csXyz::Zero; } angle.z = 0xFF; - angle.y += (s16)cM_rndFX(8192.0f); + angle.y += (s16)cM_rndFX(lit_5809); - fopAc_ac_c* actor = - (fopAc_ac_c*)fopAcM_fastCreate(PROC_ITEM, itemActorParams, i_pos, i_roomNo, &angle, - i_scale, -1, i_createFunc, NULL); + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate( + PROC_ITEM, params, i_pos, i_roomNo, &angle, i_scale, -1, i_createFunc, NULL); if (actor != NULL) { if (p_speedF != NULL) { - actor->speedF = *p_speedF * (1.0f + cM_rndFX(0.3f)); + actor->speedF = *p_speedF * (lit_5810 + cM_rndFX(0.3f)); } if (p_speedY != NULL) { - actor->speed.y = *p_speedY * (1.0f + cM_rndFX(0.2f)); + actor->speed.y = *p_speedY * (lit_5810 + cM_rndFX(0.2f)); } } } @@ -1828,8 +1813,8 @@ void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const } angle.z = 0xFF; - fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate( - PROC_ITEM, itemActorParams, i_pos, i_roomNo, &angle, i_scale, -1, i_createFunc, NULL); + fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_ITEM, params, i_pos, i_roomNo, + &angle, i_scale, -1, i_createFunc, NULL); if (actor != NULL) { if (p_speedF != NULL) { @@ -1844,18 +1829,6 @@ void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const return actor; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void* fopAcM_fastCreateItem(const cXyz* i_pos, int i_itemNo, int i_roomNo, const csXyz* i_angle, - const cXyz* i_scale, f32* p_speedF, f32* p_speedY, int param_8, - int param_9, createFunc i_createFunc) { - nofralloc -#include "asm/f_op/f_op_actor_mng/fopAcM_fastCreateItem__FPC4cXyziiPC5csXyzPC4cXyzPfPfiiPFPv_i.s" -} -#pragma pop -#endif /* 8001C870-8001C95C 0171B0 00EC+00 0/0 0/0 1/1 .text fopAcM_createBokkuri__FUsPC4cXyziiiPC4cXyzii */ @@ -1910,7 +1883,7 @@ fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 i_roomNo) { return actor; } - return (fopAc_ac_c*) fpcM_JudgeInLayer(fpcM_LayerID(roomProc), enemySearchJugge, NULL); + return (fopAc_ac_c*)fpcM_JudgeInLayer(fpcM_LayerID(roomProc), enemySearchJugge, NULL); } /* 8001CAD8-8001CB48 017418 0070+00 0/0 0/0 81/81 .text @@ -2104,7 +2077,7 @@ f32 fopAcM_gc_c::mGroundY; /* 8001D020-8001D10C 017960 00EC+00 0/0 0/0 96/96 .text * fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci */ void fopAcM_effSmokeSet1(u32* param_0, u32* param_1, cXyz const* param_2, csXyz const* param_3, - f32 param_4, dKy_tevstr_c const* param_5, int param_6) { + f32 param_4, dKy_tevstr_c const* param_5, int param_6) { cXyz p2; float z = param_2->z; float y = FLOAT_LABEL(lit_6035) + param_2->y; @@ -2117,7 +2090,9 @@ void fopAcM_effSmokeSet1(u32* param_0, u32* param_1, cXyz const* param_2, csXyz stack_18.x = param_4; stack_18.y = param_4; stack_18.z = param_4; - *param_0 = dComIfGp_particle_setSimpleFoot(*param_0, param_1, *fopAcM_gc_c::getGroundCheck(), &p2, param_5, param_6, param_3, &stack_18, NULL, 0xff, NULL); + *param_0 = + dComIfGp_particle_setSimpleFoot(*param_0, param_1, *fopAcM_gc_c::getGroundCheck(), &p2, + param_5, param_6, param_3, &stack_18, NULL, 0xff, NULL); } } @@ -2421,9 +2396,9 @@ s32 fopAcM_getWaterStream(cXyz const* param_0, cBgS_PolyInfo const& param_1, cXy daTagStream_c* stream = daTagStream_c::getTop(); if (stream != NULL) { for (stream = daTagStream_c::getTop(); stream != NULL; stream = stream->getNext()) { - if (stream->checkStreamOn() && - (param_4 == 0 || stream->checkCanoeOn()) && - stream->checkArea(param_0)) { + if (stream->checkStreamOn() && (param_4 == 0 || stream->checkCanoeOn()) && + stream->checkArea(param_0)) + { *speed = stream->speed; *param_3 = stream->getPower() & 0xff; return 1; @@ -2521,8 +2496,7 @@ asm s16 fopAcM_getPolygonAngle(cM3dGPla const* param_0, s16 param_1) { /* 8001DC68-8001DCBC 0185A8 0054+00 0/0 5/5 21/21 .text * lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c */ -bool fopAcM_lc_c::lineCheck(cXyz const* param_0, cXyz const* param_1, - fopAc_ac_c const* param_2) { +bool fopAcM_lc_c::lineCheck(cXyz const* param_0, cXyz const* param_1, fopAc_ac_c const* param_2) { ((dBgS_LinChk*)mLineCheck)->Set(param_0, param_1, param_2); dComIfG_Bgsp().LineCross((cBgS_LinChk*)mLineCheck); } @@ -2783,27 +2757,32 @@ static asm void func_8001E114() { #pragma pop /* 8001E11C-8001E120 018A5C 0004+00 0/0 1/0 0/0 .text onFrollCrashFlg__9daPy_py_cFUci */ -void daPy_py_c::onFrollCrashFlg(u8 param_0, int param_1) { +// void daPy_py_c::onFrollCrashFlg(u8 param_0, int param_1) { +extern "C" void onFrollCrashFlg__9daPy_py_cFUci() { /* empty function */ } /* 8001E120-8001E128 018A60 0008+00 0/0 1/0 0/0 .text checkWolfDash__9daPy_py_cCFv */ -int daPy_py_c::checkWolfDash() const { +// int daPy_py_c::checkWolfDash() const { +extern "C" int checkWolfDash__9daPy_py_cCFv() { return false; } /* 8001E128-8001E130 018A68 0008+00 0/0 1/0 0/0 .text checkFrontRoll__9daPy_py_cCFv */ -int daPy_py_c::checkFrontRoll() const { +// int daPy_py_c::checkFrontRoll() const { +extern "C" int checkFrontRoll__9daPy_py_cCFv() { return false; } /* 8001E130-8001E138 018A70 0008+00 0/0 1/0 0/0 .text checkHorseRide__9daPy_py_cCFv */ -u32 daPy_py_c::checkHorseRide() const { +// u32 daPy_py_c::checkHorseRide() const { +extern "C" u32 checkHorseRide__9daPy_py_cCFv() { return false; } /* 8001E138-8001E140 018A78 0008+00 0/0 1/0 0/0 .text getGrabActorID__9daPy_py_cCFv */ -s32 daPy_py_c::getGrabActorID() const { +// s32 daPy_py_c::getGrabActorID() const { +extern "C" s32 getGrabActorID__9daPy_py_cCFv() { return -1; } diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index 734761deac..dca7473dc1 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -4,10 +4,10 @@ */ #include "m_Do/m_Do_graphic.h" +#include "JSystem/J2DGraph/J2DPrint.h" #include "JSystem/JUtility/JUTDbPrint.h" #include "JSystem/JUtility/JUTProcBar.h" #include "JSystem/JUtility/JUTTexture.h" -#include "JSystem/J2DGraph/J2DPrint.h" #include "d/a/d_a_player.h" #include "d/com/d_com_inf_game.h" #include "d/menu/d_menu_collect.h" @@ -17,8 +17,8 @@ #include "global.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_machine.h" -#include "m_Do/m_Do_mtx.h" #include "m_Do/m_Do_main.h" +#include "m_Do/m_Do_mtx.h" // // Types: @@ -159,7 +159,7 @@ static ResTIMG* createTimg(u16 width, u16 height, u32 format) { ResTIMG* timg; void* alloc_res = JKRHeap::alloc(bufferSize, 0x20, NULL); - timg = (ResTIMG*) alloc_res; + timg = (ResTIMG*)alloc_res; if (timg == NULL) { return NULL; @@ -594,186 +594,216 @@ SECTION_SDATA2 static f32 lit_4442 = -0.0025f; // regalloc #ifdef NONMATCHING static void drawDepth2(view_class* param_0, view_port_class* param_1, int param_2) { - if (dComIfGp_getLinkPlayer() == NULL) { - return; - } + s16 x_orig; + s16 y_orig; + s16 y_orig_pos; + s16 width; + s16 height; + void* zBufferTex; + void* frameBufferTex; - if ((s32)data_80450BE7 != 0) { - f32 auStack_d8[7]; - f32 auStack_f0[6]; - f32 auStack_110; - f32 auStack_114; - f32 local_118; - GXGetProjectionv(auStack_d8); - GXGetViewportv(auStack_f0); - GXProject(param_0->mLookat.mCenter.x, param_0->mLookat.mCenter.y, - param_0->mLookat.mCenter.z, (MtxP)param_0->mViewMtx, (f32*)auStack_d8, (f32*)auStack_f0, - &auStack_110, &auStack_114, &local_118); - } + u16 halfWidth; + u16 halfHeight; - camera_class* local_120 = dComIfGp_getCamera(0); - f32 f30 = -255.0f; - if (dCam_getBody()->mNextMode != 4 && dCam_getBody()->mNextMode != 7) { - camera_class* local_128 = dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0)); - dAttention_c& local_12c = dComIfGp_getAttention(); - f32 f31 = 60.0f / (local_128 ? fopCamM_GetFovy(local_128) : 48.0f); - if (local_12c.LockonTruth()) { - fopAc_ac_c* local_130 = fopAcM_SearchByID(daPy_getLinkPlayerActorClass()->getAtnActorID()); - if (local_130 != NULL) { - cXyz cStack_100 = local_130->mEyePos; - if (fabsf(cStack_100.y - local_120->mLookat.mEye.y) < 400.0f) { - cStack_100.y = local_120->mLookat.mEye.y; + f32* temp_r20; + + if (daPy_getLinkPlayerActorClass() != NULL) { + if (mDoGph_gInf_c::isAutoForcus()) { + f32 sp4C[7]; + f32 sp34[6]; + f32 sp1C; + f32 sp18; + f32 sp14; + GXGetProjectionv(sp4C); + GXGetViewportv(sp34); + GXProject(param_0->mLookat.mCenter.x, param_0->mLookat.mCenter.y, + param_0->mLookat.mCenter.z, param_0->mViewMtx, sp4C, sp34, &sp1C, &sp18, + &sp14); + } + + fopAc_ac_c* player_p = dComIfGp_getPlayer(0); + camera_class* camera_p = (camera_class*)dComIfGp_getCamera(0); + f32 var_f30 = -255.0f; + + if (dCam_getBody()->Mode() != 4 && dCam_getBody()->Mode() != 7) { + camera_class* temp_r4 = dComIfGp_getCamera(i_dComIfGp_getPlayerCameraID(0)); + dAttention_c& local_12c = dComIfGp_getAttention(); + + f32 temp_f31 = 60.0f / (temp_r4 ? fopCamM_GetFovy(temp_r4) : 48.0f); + if (local_12c.LockonTruth()) { + fopAc_ac_c* atn_actor = + fopAcM_SearchByID(daPy_getLinkPlayerActorClass()->getAtnActorID()); + + if (atn_actor != NULL) { + cXyz sp28 = atn_actor->mEyePos; + if (fabsf(sp28.y - camera_p->mLookat.mEye.y) < 400.0f) { + sp28.y = camera_p->mLookat.mEye.y; + } + + f32 var_f2 = + (atn_actor->current.pos.abs(camera_p->mLookat.mEye)) / (280.0f * temp_f31); + var_f2 -= 0.8f; + if (var_f2 < 0.0f) { + var_f2 = 0.0f; + } else if (var_f2 > 1.0f) { + var_f2 = 1.0f; + } + var_f30 = -180.0f - 75.0f * var_f2; } - f32 fVar2 = (local_130->current.pos.abs(local_120->mLookat.mEye)) / (280.0f * f31); - fVar2 -= 0.8f; - if (fVar2 < 0.0f) { - fVar2 = 0.0f; - } else if (fVar2 > 1.0f) { - fVar2 = 1.0f; + } else if (g_dComIfG_gameInfo.play.getEvent().runCheck() && temp_f31 < 3.0f && + g_env_light.field_0x126c < 999999.0f) + { + f32 var_f2 = g_env_light.field_0x126c / (80.0f * temp_f31); + var_f2 -= 0.8f; + if (var_f2 < 0.0f) { + var_f2 = 0.0f; + } else if (var_f2 > 1.0f) { + var_f2 = 1.0f; } - f30 = -180.0f - 75.0f * fVar2; - } - } else { - if (g_dComIfG_gameInfo.play.getEvent().runCheck() && f31 < 3.0f && g_env_light.field_0x126c < 999999.0f) { - f32 fVar2 = g_env_light.field_0x126c / (80.0f * f31); - fVar2 -= 0.8f; - if (fVar2 < 0.0f) { - fVar2 = 0.0f; - } else if (fVar2 > 1.0f) { - fVar2 = 1.0f; - } - f30 = -180.0f - 75.0f * fVar2; + var_f30 = -180.0f - 75.0f * var_f2; } } + + temp_r20 = &g_env_light.field_0x1264; + cLib_addCalc(temp_r20, var_f30, 0.1f, 100.0f, 0.0001f); + l_tevColor0.a = *temp_r20; + if (l_tevColor0.a <= -254) { + l_tevColor0.a = -255; + } + + x_orig = (int)param_1->mXOrig & ~7; + y_orig = (int)param_1->mYOrig & ~7; + y_orig_pos = y_orig < 0 ? 0 : y_orig; + width = (int)param_1->mWidth & ~7; + height = (int)param_1->mHeight & ~7; + zBufferTex = mDoGph_gInf_c::mZbufferTex; + frameBufferTex = mDoGph_gInf_c::mFrameBufferTex; + + if (y_orig < 0) { + height += y_orig; + s16 tmp_y_orig = -y_orig >> 1; + zBufferTex = + (char*)zBufferTex + GXGetTexBufferSize(304, tmp_y_orig, GX_TF_IA8, GX_FALSE, 0); + frameBufferTex = + (char*)frameBufferTex + + GXGetTexBufferSize(304, tmp_y_orig, mDoGph_gInf_c::getFrameBufferTimg()->format, + GX_FALSE, 0); + } + + halfWidth = width >> 1; + halfHeight = height >> 1; + GXSetCopyFilter(GX_FALSE, NULL, GX_TRUE, JUTGetVideoManager()->getRenderMode()->vfilter); + GXSetTexCopySrc(x_orig, y_orig_pos, width, height); + GXSetTexCopyDst(halfWidth, halfHeight, GX_TF_Z16, GX_TRUE); + GXCopyTex(zBufferTex, GX_FALSE); + GXSetTexCopySrc(x_orig, y_orig_pos, width, height); + GXSetTexCopyDst(halfWidth, halfHeight, + (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_TRUE); + GXCopyTex(frameBufferTex, GX_FALSE); + GXInitTexObj(mDoGph_gInf_c::getZbufferTexObj(), zBufferTex, halfWidth, halfHeight, + GX_TF_IA8, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(mDoGph_gInf_c::getZbufferTexObj(), GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, + GX_FALSE, GX_FALSE, GX_ANISO_1); + GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), frameBufferTex, halfWidth, halfHeight, + (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, + GX_FALSE); + GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, + 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); + GXPixModeSync(); + GXInvalidateTexAll(); + GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP1); + GXLoadTexObj(mDoGph_gInf_c::getZbufferTexObj(), GX_TEXMAP0); + + if (0.0f != g_env_light.mDemoAttentionPoint) { + if (g_env_light.mDemoAttentionPoint >= 0.0f) { + l_tevColor0.a = -254.0f + 509.0f * g_env_light.mDemoAttentionPoint; + } else { + l_tevColor0.a = -254.0f + 509.0f * (1.0f + g_env_light.mDemoAttentionPoint); + } + } + + GXSetTevColorS10(GX_TEVREG0, l_tevColor0); + GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_ALPHA, GX_CH_GREEN, GX_CH_BLUE, GX_CH_RED); + GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP0, GX_TEV_SWAP3); + GXSetTevKAlphaSel(GX_TEVSTAGE0, GX_TEV_KASEL_1); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_TEXA, GX_CA_KONST, GX_CA_ZERO); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_COMP_A8_EQ, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, + GX_TEVPREV); + + GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_APREV, GX_CA_TEXA, GX_CA_A0); + GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_4, GX_TRUE, GX_TEVPREV); + + GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL); + GXSetTevColorIn(GX_TEVSTAGE2, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); + GXSetTevColorOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE2, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV); + GXSetTevAlphaOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + + GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD2, GX_TEXMAP1, GX_COLOR_NULL); + GXSetTevColorIn(GX_TEVSTAGE3, GX_CC_CPREV, GX_CC_TEXC, GX_CC_HALF, GX_CC_ZERO); + GXSetTevColorOp(GX_TEVSTAGE3, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn(GX_TEVSTAGE3, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV); + GXSetTevAlphaOp(GX_TEVSTAGE3, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + + GXSetZCompLoc(GX_TRUE); + GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); + if (g_env_light.mDemoAttentionPoint >= 0.0f) { + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR); + GXSetAlphaCompare(GX_GREATER, 0, GX_AOP_OR, GX_GREATER, 0); + } else { + GXSetBlendMode(GX_BM_BLEND, GX_BL_INV_SRC_ALPHA, GX_BL_SRC_ALPHA, GX_LO_CLEAR); + GXSetAlphaCompare(GX_LESS, 0xff, GX_AOP_OR, GX_LESS, 0xff); + } + + GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor); + GXSetCullMode(GX_CULL_NONE); + GXSetDither(GX_TRUE); + GXSetNumIndStages(0); + Mtx44 ortho; + C_MTXOrtho(ortho, param_1->mYOrig, param_1->mYOrig + param_1->mHeight, param_1->mXOrig, + param_1->mXOrig + param_1->mWidth, 0.0f, 10.0f); + GXLoadPosMtxImm(mDoMtx_getIdentity(), 0); + mDoMtx_stack_c::transS(0.0025f, 0.0025f, 0.0f); + GXLoadTexMtxImm(mDoMtx_stack_c::get(), 0x1e, GX_MTX2x4); + mDoMtx_stack_c::transS(-0.0025f, -0.0025f, 0.0f); + GXLoadTexMtxImm(mDoMtx_stack_c::get(), 0x21, GX_MTX2x4); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_S8, 0); + GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c, GX_FALSE, 0x7d); + GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX0, 0x1e, GX_FALSE, 0x7d); + GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX0, 0x21, GX_FALSE, 0x7d); + GXSetNumChans(0); + GXSetNumTexGens(3); + GXSetNumTevStages(4); + GXSetProjection(ortho, GX_ORTHOGRAPHIC); + GXSetCurrentMtx(0); + + if (l_tevColor0.a > -255) { + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3s16(x_orig, y_orig, -5); + GXTexCoord2s8(0, 0); + GXPosition3s16(width, y_orig, -5); + GXTexCoord2s8(1, 0); + GXPosition3s16(width, height, -5); + GXTexCoord2s8(1, 1); + GXPosition3s16(x_orig, height, -5); + GXTexCoord2s8(0, 1); + GXEnd(); + } + + GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA); + GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP0, GX_TEV_SWAP0); + GXSetProjection(param_0->mProjMtx, GX_PERSPECTIVE); } - - cLib_addCalc(&g_env_light.field_0x1264, f30, 0.1f, 100.0f, 0.0001f); - l_tevColor0.a = g_env_light.field_0x1264; - if (l_tevColor0.a <= -254) { - l_tevColor0.a = -255; - } - - s16 x_orig = (int)param_1->mXOrig & ~7; - s16 y_orig = (int)param_1->mYOrig & ~7; - s16 y_orig_pos = y_orig < 0 ? 0 : y_orig; - s16 width = (int)param_1->mWidth & ~7; - s16 height = (int)param_1->mHeight & ~7; - void* zBufferTex = mDoGph_gInf_c::mZbufferTex; - void* frameBufferTex = mDoGph_gInf_c::mFrameBufferTex; - - if (y_orig < 0) { - height += y_orig; - s16 tmp_y_orig = -y_orig >> 1; - zBufferTex = (char*)zBufferTex + GXGetTexBufferSize(304, tmp_y_orig, - GX_TF_IA8, - GX_FALSE, 0); - frameBufferTex = (char*)frameBufferTex + GXGetTexBufferSize(304, tmp_y_orig, - mDoGph_gInf_c::getFrameBufferTimg()->format, - GX_FALSE, 0); - } - u16 halfWidth = width >> 1; - u16 halfHeight = height >> 1; - GXSetCopyFilter(GX_FALSE, NULL, GX_TRUE, JUTGetVideoManager()->getRenderMode()->vfilter); - GXSetTexCopySrc(x_orig, y_orig_pos, width, height); - GXSetTexCopyDst(halfWidth, halfHeight, GX_TF_Z16, GX_TRUE); - GXCopyTex(zBufferTex, GX_FALSE); - GXSetTexCopySrc(x_orig, y_orig_pos, width, height); - GXSetTexCopyDst(halfWidth, halfHeight, mDoGph_gInf_c::getFrameBufferTimg()->format, GX_TRUE); - GXCopyTex(frameBufferTex, GX_FALSE); - GXInitTexObj(mDoGph_gInf_c::getZbufferTexObj(), zBufferTex, halfWidth, halfHeight, GX_TF_IA8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(mDoGph_gInf_c::getZbufferTexObj(), GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXInitTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), frameBufferTex, halfWidth, halfHeight, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(mDoGph_gInf_c::getFrameBufferTexObj(), GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXPixModeSync(); - GXInvalidateTexAll(); - GXLoadTexObj(mDoGph_gInf_c::getFrameBufferTexObj(), GX_TEXMAP1); - GXLoadTexObj(mDoGph_gInf_c::getZbufferTexObj(), GX_TEXMAP0); - if (0.0f != g_env_light.mDemoAttentionPoint) { - if (g_env_light.mDemoAttentionPoint >= 0.0f) { - l_tevColor0.a = -254.0f + 509.0f * g_env_light.mDemoAttentionPoint; - } else { - l_tevColor0.a = -254.0f + 509.0f * (1.0f + g_env_light.mDemoAttentionPoint); - } - } - GXSetTevColorS10(GX_TEVREG0, l_tevColor0); - GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_ALPHA, GX_CH_GREEN, GX_CH_BLUE, GX_CH_RED); - GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP0, GX_TEV_SWAP3); - GXSetTevKAlphaSel(GX_TEVSTAGE0, GX_TEV_KASEL_1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_KONST, GX_CA_TEXA, GX_CA_KONST, GX_CA_ZERO); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_COMP_A8_EQ, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - - GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_APREV, GX_CA_TEXA, GX_CA_A0); - GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_4, GX_TRUE, GX_TEVPREV); - - GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD1, GX_TEXMAP1, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE2, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE2, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV); - GXSetTevAlphaOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - - GXSetTevOrder(GX_TEVSTAGE3, GX_TEXCOORD2, GX_TEXMAP1, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE3, GX_CC_CPREV, GX_CC_TEXC, GX_CC_HALF, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE3, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetTevAlphaIn(GX_TEVSTAGE3, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_APREV); - GXSetTevAlphaOp(GX_TEVSTAGE3, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - - GXSetZCompLoc(GX_TRUE); - GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); - if (g_env_light.mDemoAttentionPoint >= 0.0f) { - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR); - GXSetAlphaCompare(GX_GREATER, 0, GX_AOP_OR, GX_GREATER, 0); - } else { - GXSetBlendMode(GX_BM_BLEND, GX_BL_INV_SRC_ALPHA, GX_BL_SRC_ALPHA, GX_LO_CLEAR); - GXSetAlphaCompare(GX_LESS, 0xff, GX_AOP_OR, GX_LESS, 0xff); - } - - GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor); - GXSetCullMode(GX_CULL_NONE); - GXSetDither(GX_TRUE); - GXSetNumIndStages(0); - Mtx44 ortho; - C_MTXOrtho(ortho, param_1->mYOrig, param_1->mYOrig + param_1->mHeight, param_1->mXOrig, param_1->mXOrig + param_1->mWidth, 0.0f, 10.0f); - GXLoadPosMtxImm(mDoMtx_getIdentity(), 0); - mDoMtx_stack_c::transS(0.0025f, 0.0025f, 0.0f); - GXLoadTexMtxImm(mDoMtx_stack_c::get(), 0x1e, GX_MTX2x4); - mDoMtx_stack_c::transS(-0.0025f, -0.0025f, 0.0f); - GXLoadTexMtxImm(mDoMtx_stack_c::get(), 0x21, GX_MTX2x4); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_S16, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_S8, 0); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c, GX_FALSE, 0x7d); - GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEX0, 0x1e, GX_FALSE, 0x7d); - GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX2x4, GX_TG_TEX0, 0x21, GX_FALSE, 0x7d); - GXSetNumChans(0); - GXSetNumTexGens(3); - GXSetNumTevStages(4); - GXSetProjection(ortho, GX_ORTHOGRAPHIC); - GXSetCurrentMtx(0); - - if (l_tevColor0.a > -255) { - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3s16(x_orig, y_orig, -5); - GXTexCoord2s8(0,0); - GXPosition3s16(width, y_orig, -5); - GXTexCoord2s8(1,0); - GXPosition3s16(width, height, -5); - GXTexCoord2s8(1,1); - GXPosition3s16(x_orig, height, -5); - GXTexCoord2s8(0,1); - GXEnd(); - } - - GXSetTevSwapModeTable(GX_TEV_SWAP3, GX_CH_BLUE, GX_CH_BLUE, GX_CH_BLUE, GX_CH_ALPHA); - GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP0, GX_TEV_SWAP0); - GXSetProjection(param_0->mProjMtx, GX_PERSPECTIVE); } #else #pragma push @@ -812,7 +842,7 @@ static void trimming(view_class* param_0, view_port_class* param_1) { s16 y_orig = (int)param_1->mYOrig & ~7; s16 y_orig_pos = y_orig < 0 ? 0 : y_orig; if ((y_orig_pos == 0) && (param_1->mScissor.mYOrig != param_1->mYOrig || - (param_1->mScissor.mHeight != param_1->mHeight))) + (param_1->mScissor.mHeight != param_1->mHeight))) { s32 sc_top = (int)param_1->mScissor.mYOrig; s32 sc_bottom = param_1->mScissor.mYOrig + param_1->mScissor.mHeight; @@ -822,27 +852,19 @@ static void trimming(view_class* param_0, view_port_class* param_1) { GXSetNumTevStages(1); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, 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); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetZCompLoc(1); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); GXSetBlendMode(GX_BM_NONE, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR); GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0); - GXSetFog(GX_FOG_NONE, 0.0f, - 0.0f, 0.0f, - 0.0f, g_clearColor); + GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor); GXSetCullMode(GX_CULL_NONE); GXSetDither(GX_TRUE); GXSetNumIndStages(0); Mtx44 ortho; - C_MTXOrtho( - ortho, - 0.0f, 448.0f, - 0.0f, 608.0f, - 0.0f, 10.0f); + C_MTXOrtho(ortho, 0.0f, 448.0f, 0.0f, 608.0f, 0.0f, 10.0f); GXLoadPosMtxImm(mDoMtx_getIdentity(), 0); GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); @@ -860,8 +882,8 @@ static void trimming(view_class* param_0, view_port_class* param_1) { GXPosition3s16(0, 0x1c8, -5); GXEnd(); } - GXSetScissor(param_1->mScissor.mXOrig, param_1->mScissor.mYOrig, - param_1->mScissor.mWidth, param_1->mScissor.mHeight); + GXSetScissor(param_1->mScissor.mXOrig, param_1->mScissor.mYOrig, param_1->mScissor.mWidth, + param_1->mScissor.mHeight); } #else #pragma push @@ -967,10 +989,10 @@ void mDoGph_gInf_c::bloom_c::draw() { GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_C2, GX_CC_ZERO); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A2); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GX_TEVPREV); GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP1, GX_TEV_SWAP1); GXSetTevColor(GX_TEVREG2, mMonoColor); GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_OR); @@ -984,32 +1006,32 @@ void mDoGph_gInf_c::bloom_c::draw() { GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_TEXC, GX_CC_TEXA, GX_CC_HALF, GX_CC_ZERO); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + 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); + GX_TEVPREV); GXSetTevSwapMode(GX_TEVSTAGE0, GX_TEV_SWAP1, GX_TEV_SWAP1); GXSetTevOrder(GX_TEVSTAGE1, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXSetTevColorIn(GX_TEVSTAGE1, GX_CC_TEXC, GX_CC_CPREV, GX_CC_HALF, GX_CC_C0); GXSetTevColorOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE1, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); GXSetTevAlphaOp(GX_TEVSTAGE1, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GX_TEVPREV); GXSetTevSwapMode(GX_TEVSTAGE1, GX_TEV_SWAP3, GX_TEV_SWAP3); GXSetTevOrder(GX_TEVSTAGE2, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXSetTevColorIn(GX_TEVSTAGE2, GX_CC_ZERO, GX_CC_TEXC, GX_CC_CPREV, GX_CC_ZERO); GXSetTevColorOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE2, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO); GXSetTevAlphaOp(GX_TEVSTAGE2, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GX_TEVPREV); GXSetBlendMode(GX_BM_NONE, GX_BL_ZERO, GX_BL_ZERO, GX_LO_OR); GXColorS10 tevColor0 = lit_4528; tevColor0.r = -mPoint; tevColor0.g = -mPoint; tevColor0.b = -mPoint; - GXSetTevColorS10(GX_TEVREG0,tevColor0); + GXSetTevColorS10(GX_TEVREG0, tevColor0); GXColor tevColor1 = lit_4530; tevColor1.r = mBlureRatio; tevColor1.g = mBlureRatio; @@ -1026,38 +1048,43 @@ void mDoGph_gInf_c::bloom_c::draw() { GXSetTexCopyDst(0x98, 0x70, 6, GX_TRUE); GXCopyTex(zBufferTex, 0); GXTexObj auStack_c0; - GXInitTexObj(&auStack_c0, zBufferTex, 0x98, 0x70, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&auStack_c0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); + GXInitTexObj(&auStack_c0, zBufferTex, 0x98, 0x70, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, + GX_FALSE); + GXInitTexObjLOD(&auStack_c0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, + GX_ANISO_1); GXLoadTexObj(&auStack_c0, GX_TEXMAP0); GXSetNumTexGens(8); u32 iVar11 = 0x1e; s16 sVar10 = 0; GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c); - for (int texCoord = (int)GX_TEXCOORD1; texCoord < (int)GX_MAXCOORD; texCoord++, iVar11 += 3, sVar10 += 0x2492) { - GXSetTexCoordGen((GXTexCoordID) texCoord, GX_TG_MTX2x4, GX_TG_TEX0, iVar11); - f32 dVar15 = mBlureSize * (1.0f / 6400.0f); - mDoMtx_stack_c::transS( - (dVar15 * cM_scos(sVar10)) * getInvScale(), - dVar15 * cM_ssin(sVar10), - 0.0f); - GXLoadTexMtxImm(mDoMtx_stack_c::get(), iVar11, GX_MTX2x4); + for (int texCoord = (int)GX_TEXCOORD1; texCoord < (int)GX_MAXCOORD; + texCoord++, iVar11 += 3, sVar10 += 0x2492) + { + GXSetTexCoordGen((GXTexCoordID)texCoord, GX_TG_MTX2x4, GX_TG_TEX0, iVar11); + f32 dVar15 = mBlureSize * (1.0f / 6400.0f); + mDoMtx_stack_c::transS((dVar15 * cM_scos(sVar10)) * getInvScale(), + dVar15 * cM_ssin(sVar10), 0.0f); + GXLoadTexMtxImm(mDoMtx_stack_c::get(), iVar11, GX_MTX2x4); } GXSetNumTevStages(8); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_ZERO); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + 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); + GX_TEVPREV); for (int tevStage = (int)GX_TEVSTAGE1; tevStage < 8; tevStage++) { - GXSetTevOrder((GXTevStageID)tevStage, (GXTexCoordID)tevStage, GX_TEXMAP0, GX_COLOR_NULL); - GXSetTevColorIn((GXTevStageID)tevStage, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, GX_CC_CPREV); - GXSetTevColorOp((GXTevStageID)tevStage, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); - GXSetTevAlphaIn((GXTevStageID)tevStage, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); - GXSetTevAlphaOp((GXTevStageID)tevStage, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GXSetTevOrder((GXTevStageID)tevStage, (GXTexCoordID)tevStage, GX_TEXMAP0, + GX_COLOR_NULL); + GXSetTevColorIn((GXTevStageID)tevStage, GX_CC_ZERO, GX_CC_TEXC, GX_CC_A1, + GX_CC_CPREV); + GXSetTevColorOp((GXTevStageID)tevStage, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, + GX_TRUE, GX_TEVPREV); + GXSetTevAlphaIn((GXTevStageID)tevStage, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, + GX_CA_A0); + GXSetTevAlphaOp((GXTevStageID)tevStage, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, + GX_TRUE, GX_TEVPREV); } GXPixModeSync(); mDoGph_drawFilterQuad(1, 1); @@ -1065,8 +1092,10 @@ void mDoGph_gInf_c::bloom_c::draw() { GXSetTexCopyDst(0x4c, 0x38, 6, GX_TRUE); GXCopyTex(zBufferTex, GX_FALSE); GXTexObj auStack_e0; - GXInitTexObj(&auStack_e0, zBufferTex, 0x4c, 0x38, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&auStack_c0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); + GXInitTexObj(&auStack_e0, zBufferTex, 0x4c, 0x38, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, + GX_FALSE); + GXInitTexObjLOD(&auStack_c0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, + GX_ANISO_1); GXLoadTexObj(&auStack_e0, GX_TEXMAP0); GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_OR); GXPixModeSync(); @@ -1075,8 +1104,10 @@ void mDoGph_gInf_c::bloom_c::draw() { GXSetTexCopySrc(0, 0, 0x98, 0x70); GXSetTexCopyDst(0x98, 0x70, 6, GX_FALSE); GXCopyTex(zBufferTex, GX_FALSE); - GXInitTexObj(&auStack_e0, m_buffer, 0x130, 0xe0, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&auStack_e0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); + GXInitTexObj(&auStack_e0, m_buffer, 0x130, 0xe0, GX_TF_RGBA8, GX_CLAMP, GX_CLAMP, + GX_FALSE); + GXInitTexObjLOD(&auStack_e0, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, + GX_ANISO_1); GXLoadTexObj(&auStack_e0, GX_TEXMAP0); GXSetNumTexGens(1); GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 0x3c); @@ -1084,10 +1115,10 @@ void mDoGph_gInf_c::bloom_c::draw() { GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + 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); + GX_TEVPREV); GXSetBlendMode(GX_BM_NONE, GX_BL_ONE, GX_BL_ONE, GX_LO_OR); mDoGph_drawFilterQuad(2, 2); GXLoadTexObj(&auStack_c0, GX_TEXMAP0); @@ -1096,15 +1127,15 @@ void mDoGph_gInf_c::bloom_c::draw() { GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_TEXC, GX_CC_C0, GX_CC_ZERO); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GX_TEVPREV); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GX_TEVPREV); GXBlendFactor blendFactor; if (mMode == 1) { - blendFactor = GX_BL_INV_DST_COLOR; + blendFactor = GX_BL_INV_DST_COLOR; } else { - blendFactor = GX_BL_ONE; + blendFactor = GX_BL_ONE; } GXSetBlendMode(GX_BM_BLEND, blendFactor, GX_BL_SRC_ALPHA, GX_LO_OR); GXPixModeSync(); @@ -1151,8 +1182,8 @@ static void retry_captue_frame(view_class* param_0, view_port_class* param_1, in } GXSetTexCopySrc(x_orig, y_orig_pos, width, height); - GXSetTexCopyDst(width >> 1, height >> 1, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, - GX_TRUE); + GXSetTexCopyDst(width >> 1, height >> 1, + (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_TRUE); GXCopyTex(tex, GX_FALSE); GXPixModeSync(); GXInvalidateTexAll(); @@ -1174,11 +1205,9 @@ static void motionBlure(view_class* param_0) { GXSetTevColor(GX_TEVREG0, local_60); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, 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_A0); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, - GX_TEVPREV); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetZCompLoc(1); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); GXSetBlendMode(GX_BM_BLEND, GX_BL_SRC_ALPHA, GX_BL_INV_SRC_ALPHA, GX_LO_CLEAR); @@ -1453,7 +1482,8 @@ int mDoGph_Painter() { GXSetProjection(camera_p->mProjMtx, GX_PERSPECTIVE); j3dSys.reinitGX(); - if ((g_env_light.mCameraInWater || !strcmp(dComIfGp_getStartStageName(), "D_MN08"))) { + if ((g_env_light.mCameraInWater || !strcmp(dComIfGp_getStartStageName(), "D_MN08"))) + { u8 enable = mDoGph_gInf_c::getBloom()->getEnable(); GXColor color = *mDoGph_gInf_c::getBloom()->getMonoColor(); if (color.a != 0 || enable) { @@ -1480,7 +1510,9 @@ int mDoGph_Painter() { trimming(camera_p, view_port); - if (strcmp(dComIfGp_getStartStageName(), "F_SP127") != 0 && (mDoGph_gInf_c::mFade & 0x80) == 0) { + if (strcmp(dComIfGp_getStartStageName(), "F_SP127") != 0 && + (mDoGph_gInf_c::mFade & 0x80) == 0) + { mDoGph_gInf_c::calcFade(); } } @@ -1522,7 +1554,8 @@ int mDoGph_Painter() { dComIfGp_particle_draw2Dfore(&draw_info3); } - if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0 || (mDoGph_gInf_c::mFade & 0x80) != 0) { + if (strcmp(dComIfGp_getStartStageName(), "F_SP127") == 0 || (mDoGph_gInf_c::mFade & 0x80) != 0) + { mDoGph_gInf_c::calcFade(); } @@ -1547,7 +1580,7 @@ asm void mDoGph_Painter() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -//asm J2DOrthoGraph::~J2DOrthoGraph() { +// asm J2DOrthoGraph::~J2DOrthoGraph() { asm void __dt__13J2DOrthoGraphFv() { nofralloc #include "asm/m_Do/m_Do_graphic/__dt__13J2DOrthoGraphFv.s" @@ -1579,6 +1612,7 @@ REGISTER_CTORS(0x8000B1D0, __sinit_m_Do_graphic_cpp); #pragma pop /* 8000B1E4-8000B1EC 005B24 0008+00 0/0 1/0 0/0 .text getAtnActorID__9daPy_py_cCFv */ -s32 daPy_py_c::getAtnActorID() const { +// s32 daPy_py_c::getAtnActorID() const { +extern "C" s32 getAtnActorID__9daPy_py_cCFv() { return -1; }