diff --git a/Progress.md b/Progress.md index 90af26b551f..e98eedcc840 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 41.463716% | 1667120 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 41.463716% | 1667120 | 4020672 -RELs | 34.646328% | 3984440 | 11500324 -Total | 36.412354% | 5651560 | 15520996 +RELs | 34.707231% | 3991444 | 11500324 +Total | 36.457480% | 5658564 | 15520996 ## RELs @@ -77,7 +77,7 @@ d_a_do | 37.666220% | 14616 | 38804 d_a_door_boss | 40.856890% | 3700 | 9056 d_a_door_bossL1 | 39.355114% | 7372 | 18732 d_a_door_bossL5 | 39.221790% | 4032 | 10280 -d_a_door_dbdoor00 | 40.734908% | 3104 | 7620 +d_a_door_dbdoor00 | 100.000000% | 7620 | 7620 d_a_door_knob00 | 37.500000% | 4608 | 12288 d_a_door_mbossL1 | 34.467633% | 10372 | 30092 d_a_door_push | 100.000000% | 7032 | 7032 @@ -216,7 +216,7 @@ d_a_mg_rod | 24.484345% | 23836 | 97352 d_a_midna | 22.953368% | 12404 | 54040 d_a_mirror | 48.001631% | 4708 | 9808 d_a_movie_player | 23.696790% | 8328 | 35144 -d_a_myna | 31.637701% | 9976 | 31532 +d_a_myna | 36.077635% | 11376 | 31532 d_a_nbomb | 28.739233% | 8808 | 30648 d_a_ni | 27.299309% | 8216 | 30096 d_a_npc_aru | 34.812103% | 12932 | 37148 @@ -350,7 +350,7 @@ d_a_obj_avalanche | 41.881443% | 2600 | 6208 d_a_obj_balloon | 42.722710% | 2724 | 6376 d_a_obj_barDesk | 49.477072% | 2460 | 4972 d_a_obj_batta | 31.886560% | 5172 | 16220 -d_a_obj_bbox | 48.606466% | 1744 | 3588 +d_a_obj_bbox | 78.929766% | 2832 | 3588 d_a_obj_bed | 42.310889% | 2036 | 4812 d_a_obj_bemos | 32.943081% | 10580 | 32116 d_a_obj_bhashi | 31.443815% | 3772 | 11996 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244 d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 34.646328% | 3984440 | 11500324 +Total | 34.707231% | 3991444 | 11500324 diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/createHeapCallBack__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_myna/d_a_myna/createHeapCallBack__FP10fopAc_ac_c.s deleted file mode 100644 index 7d3669c0322..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/createHeapCallBack__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80945C6C: -/* 80945C6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80945C70 7C 08 02 A6 */ mflr r0 -/* 80945C74 90 01 00 14 */ stw r0, 0x14(r1) -/* 80945C78 48 00 0A 61 */ bl createHeap__8daMyna_cFv -/* 80945C7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80945C80 7C 08 03 A6 */ mtlr r0 -/* 80945C84 38 21 00 10 */ addi r1, r1, 0x10 -/* 80945C88 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/daMyna_searchLight__FPvPv.s b/asm/rel/d/a/d_a_myna/d_a_myna/daMyna_searchLight__FPvPv.s deleted file mode 100644 index e99b8895687..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/daMyna_searchLight__FPvPv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80945D9C: -/* 80945D9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80945DA0 7C 08 02 A6 */ mflr r0 -/* 80945DA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80945DA8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80945DAC 93 C1 00 08 */ stw r30, 8(r1) -/* 80945DB0 7C 7E 1B 78 */ mr r30, r3 -/* 80945DB4 7C 9F 23 78 */ mr r31, r4 -/* 80945DB8 4B 6D 2F 29 */ bl fopAc_IsActor__FPv -/* 80945DBC 2C 03 00 00 */ cmpwi r3, 0 -/* 80945DC0 41 82 00 30 */ beq lbl_80945DF0 -/* 80945DC4 A8 1E 00 08 */ lha r0, 8(r30) -/* 80945DC8 2C 00 01 25 */ cmpwi r0, 0x125 -/* 80945DCC 40 82 00 24 */ bne lbl_80945DF0 -/* 80945DD0 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80945DD4 54 03 00 06 */ rlwinm r3, r0, 0, 0, 3 -/* 80945DD8 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 80945DDC 54 00 00 06 */ rlwinm r0, r0, 0, 0, 3 -/* 80945DE0 7C 03 00 40 */ cmplw r3, r0 -/* 80945DE4 40 82 00 0C */ bne lbl_80945DF0 -/* 80945DE8 3C 60 80 95 */ lis r3, daMyna_LightActor@ha /* 0x8094BAC0@ha */ -/* 80945DEC 93 C3 BA C0 */ stw r30, daMyna_LightActor@l(r3) /* 0x8094BAC0@l */ -lbl_80945DF0: -/* 80945DF0 38 60 00 00 */ li r3, 0 -/* 80945DF4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80945DF8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80945DFC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80945E00 7C 08 03 A6 */ mtlr r0 -/* 80945E04 38 21 00 10 */ addi r1, r1, 0x10 -/* 80945E08 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/deleteItem__8daMyna_cFi.s b/asm/rel/d/a/d_a_myna/d_a_myna/deleteItem__8daMyna_cFi.s deleted file mode 100644 index fbf288c90d6..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/deleteItem__8daMyna_cFi.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_80949128: -/* 80949128 38 00 FF FF */ li r0, -1 -/* 8094912C 54 84 20 36 */ slwi r4, r4, 4 -/* 80949130 7C 63 22 14 */ add r3, r3, r4 -/* 80949134 90 03 08 68 */ stw r0, 0x868(r3) -/* 80949138 38 00 00 04 */ li r0, 4 -/* 8094913C 98 03 08 75 */ stb r0, 0x875(r3) -/* 80949140 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/draw__8daMyna_cFv.s b/asm/rel/d/a/d_a_myna/d_a_myna/draw__8daMyna_cFv.s deleted file mode 100644 index dcce787e485..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/draw__8daMyna_cFv.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_8094640C: -/* 8094640C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80946410 7C 08 02 A6 */ mflr r0 -/* 80946414 90 01 00 24 */ stw r0, 0x24(r1) -/* 80946418 39 61 00 20 */ addi r11, r1, 0x20 -/* 8094641C 4B A1 BD C1 */ bl _savegpr_29 -/* 80946420 7C 7D 1B 78 */ mr r29, r3 -/* 80946424 80 63 05 74 */ lwz r3, 0x574(r3) -/* 80946428 83 E3 00 04 */ lwz r31, 4(r3) -/* 8094642C 83 DF 00 04 */ lwz r30, 4(r31) -/* 80946430 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80946434 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80946438 38 80 00 00 */ li r4, 0 -/* 8094643C 38 BD 04 D0 */ addi r5, r29, 0x4d0 -/* 80946440 38 DD 01 0C */ addi r6, r29, 0x10c -/* 80946444 4B 85 D3 81 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80946448 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 8094644C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80946450 80 9F 00 04 */ lwz r4, 4(r31) -/* 80946454 38 BD 01 0C */ addi r5, r29, 0x10c -/* 80946458 4B 85 E9 49 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 8094645C A0 1D 09 14 */ lhz r0, 0x914(r29) -/* 80946460 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 80946464 41 82 00 20 */ beq lbl_80946484 -/* 80946468 38 7D 05 78 */ addi r3, r29, 0x578 -/* 8094646C 38 9E 00 58 */ addi r4, r30, 0x58 -/* 80946470 C0 1D 05 88 */ lfs f0, 0x588(r29) -/* 80946474 FC 00 00 1E */ fctiwz f0, f0 -/* 80946478 D8 01 00 08 */ stfd f0, 8(r1) -/* 8094647C 80 A1 00 0C */ lwz r5, 0xc(r1) -/* 80946480 4B 6C 71 69 */ bl entry__13mDoExt_btpAnmFP16J3DMaterialTables -lbl_80946484: -/* 80946484 7F A3 EB 78 */ mr r3, r29 -/* 80946488 7F C4 F3 78 */ mr r4, r30 -/* 8094648C 4B 6D 6F A1 */ bl fopAcM_setEffectMtx__FPC10fopAc_ac_cPC12J3DModelData -/* 80946490 80 7D 05 74 */ lwz r3, 0x574(r29) -/* 80946494 4B 6C AD 2D */ bl entryDL__16mDoExt_McaMorfSOFv -/* 80946498 A0 1D 09 14 */ lhz r0, 0x914(r29) -/* 8094649C 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 -/* 809464A0 41 82 00 10 */ beq lbl_809464B0 -/* 809464A4 38 7E 00 58 */ addi r3, r30, 0x58 -/* 809464A8 80 9D 05 8C */ lwz r4, 0x58c(r29) -/* 809464AC 4B 9E 92 4D */ bl removeTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern -lbl_809464B0: -/* 809464B0 38 60 00 01 */ li r3, 1 -/* 809464B4 39 61 00 20 */ addi r11, r1, 0x20 -/* 809464B8 4B A1 BD 71 */ bl _restgpr_29 -/* 809464BC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 809464C0 7C 08 03 A6 */ mtlr r0 -/* 809464C4 38 21 00 20 */ addi r1, r1, 0x20 -/* 809464C8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/getFlowNodeNum__8daMyna_cFv.s b/asm/rel/d/a/d_a_myna/d_a_myna/getFlowNodeNum__8daMyna_cFv.s deleted file mode 100644 index d840be5e083..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/getFlowNodeNum__8daMyna_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80949C0C: -/* 80949C0C A8 03 04 B4 */ lha r0, 0x4b4(r3) -/* 80949C10 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 80949C14 38 00 00 00 */ li r0, 0 -/* 80949C18 28 03 FF FF */ cmplwi r3, 0xffff -/* 80949C1C 41 82 00 0C */ beq lbl_80949C28 -/* 80949C20 28 03 00 00 */ cmplwi r3, 0 -/* 80949C24 40 82 00 08 */ bne lbl_80949C2C -lbl_80949C28: -/* 80949C28 38 00 00 01 */ li r0, 1 -lbl_80949C2C: -/* 80949C2C 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80949C30 38 00 FF FF */ li r0, -1 -/* 80949C34 40 82 00 08 */ bne lbl_80949C3C -/* 80949C38 7C 60 1B 78 */ mr r0, r3 -lbl_80949C3C: -/* 80949C3C 54 03 04 3E */ clrlwi r3, r0, 0x10 -/* 80949C40 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/getItemNumMax__8daMyna_cFv.s b/asm/rel/d/a/d_a_myna/d_a_myna/getItemNumMax__8daMyna_cFv.s deleted file mode 100644 index b2549224acc..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/getItemNumMax__8daMyna_cFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_80949AD4: -/* 80949AD4 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80949AD8 54 03 47 3E */ rlwinm r3, r0, 8, 0x1c, 0x1f -/* 80949ADC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/getItemType__8daMyna_cFPv.s b/asm/rel/d/a/d_a_myna/d_a_myna/getItemType__8daMyna_cFPv.s deleted file mode 100644 index 071cb319f98..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/getItemType__8daMyna_cFPv.s +++ /dev/null @@ -1,96 +0,0 @@ -lbl_80949AE0: -/* 80949AE0 38 60 00 0F */ li r3, 0xf -/* 80949AE4 80 04 00 B0 */ lwz r0, 0xb0(r4) -/* 80949AE8 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80949AEC A8 84 00 08 */ lha r4, 8(r4) -/* 80949AF0 2C 04 01 21 */ cmpwi r4, 0x121 -/* 80949AF4 40 82 00 40 */ bne lbl_80949B34 -/* 80949AF8 2C 00 00 01 */ cmpwi r0, 1 -/* 80949AFC 41 82 00 28 */ beq lbl_80949B24 -/* 80949B00 40 80 00 10 */ bge lbl_80949B10 -/* 80949B04 2C 00 00 00 */ cmpwi r0, 0 -/* 80949B08 40 80 00 14 */ bge lbl_80949B1C -/* 80949B0C 4E 80 00 20 */ blr -lbl_80949B10: -/* 80949B10 2C 00 00 03 */ cmpwi r0, 3 -/* 80949B14 4C 80 00 20 */ bgelr -/* 80949B18 48 00 00 14 */ b lbl_80949B2C -lbl_80949B1C: -/* 80949B1C 38 60 00 01 */ li r3, 1 -/* 80949B20 4E 80 00 20 */ blr -lbl_80949B24: -/* 80949B24 38 60 00 02 */ li r3, 2 -/* 80949B28 4E 80 00 20 */ blr -lbl_80949B2C: -/* 80949B2C 38 60 00 00 */ li r3, 0 -/* 80949B30 4E 80 00 20 */ blr -lbl_80949B34: -/* 80949B34 2C 04 01 20 */ cmpwi r4, 0x120 -/* 80949B38 40 82 00 68 */ bne lbl_80949BA0 -/* 80949B3C 2C 00 00 03 */ cmpwi r0, 3 -/* 80949B40 41 82 00 48 */ beq lbl_80949B88 -/* 80949B44 40 80 00 1C */ bge lbl_80949B60 -/* 80949B48 2C 00 00 01 */ cmpwi r0, 1 -/* 80949B4C 41 82 00 2C */ beq lbl_80949B78 -/* 80949B50 40 80 00 30 */ bge lbl_80949B80 -/* 80949B54 2C 00 00 00 */ cmpwi r0, 0 -/* 80949B58 40 80 00 18 */ bge lbl_80949B70 -/* 80949B5C 4E 80 00 20 */ blr -lbl_80949B60: -/* 80949B60 2C 00 00 05 */ cmpwi r0, 5 -/* 80949B64 41 82 00 34 */ beq lbl_80949B98 -/* 80949B68 4C 80 00 20 */ bgelr -/* 80949B6C 48 00 00 24 */ b lbl_80949B90 -lbl_80949B70: -/* 80949B70 38 60 00 03 */ li r3, 3 -/* 80949B74 4E 80 00 20 */ blr -lbl_80949B78: -/* 80949B78 38 60 00 04 */ li r3, 4 -/* 80949B7C 4E 80 00 20 */ blr -lbl_80949B80: -/* 80949B80 38 60 00 05 */ li r3, 5 -/* 80949B84 4E 80 00 20 */ blr -lbl_80949B88: -/* 80949B88 38 60 00 06 */ li r3, 6 -/* 80949B8C 4E 80 00 20 */ blr -lbl_80949B90: -/* 80949B90 38 60 00 07 */ li r3, 7 -/* 80949B94 4E 80 00 20 */ blr -lbl_80949B98: -/* 80949B98 38 60 00 08 */ li r3, 8 -/* 80949B9C 4E 80 00 20 */ blr -lbl_80949BA0: -/* 80949BA0 2C 04 01 22 */ cmpwi r4, 0x122 -/* 80949BA4 4C 82 00 20 */ bnelr -/* 80949BA8 2C 00 00 03 */ cmpwi r0, 3 -/* 80949BAC 41 82 00 48 */ beq lbl_80949BF4 -/* 80949BB0 40 80 00 1C */ bge lbl_80949BCC -/* 80949BB4 2C 00 00 01 */ cmpwi r0, 1 -/* 80949BB8 41 82 00 2C */ beq lbl_80949BE4 -/* 80949BBC 40 80 00 30 */ bge lbl_80949BEC -/* 80949BC0 2C 00 00 00 */ cmpwi r0, 0 -/* 80949BC4 40 80 00 18 */ bge lbl_80949BDC -/* 80949BC8 4E 80 00 20 */ blr -lbl_80949BCC: -/* 80949BCC 2C 00 00 05 */ cmpwi r0, 5 -/* 80949BD0 41 82 00 34 */ beq lbl_80949C04 -/* 80949BD4 4C 80 00 20 */ bgelr -/* 80949BD8 48 00 00 24 */ b lbl_80949BFC -lbl_80949BDC: -/* 80949BDC 38 60 00 09 */ li r3, 9 -/* 80949BE0 4E 80 00 20 */ blr -lbl_80949BE4: -/* 80949BE4 38 60 00 0A */ li r3, 0xa -/* 80949BE8 4E 80 00 20 */ blr -lbl_80949BEC: -/* 80949BEC 38 60 00 0B */ li r3, 0xb -/* 80949BF0 4E 80 00 20 */ blr -lbl_80949BF4: -/* 80949BF4 38 60 00 0C */ li r3, 0xc -/* 80949BF8 4E 80 00 20 */ blr -lbl_80949BFC: -/* 80949BFC 38 60 00 0D */ li r3, 0xd -/* 80949C00 4E 80 00 20 */ blr -lbl_80949C04: -/* 80949C04 38 60 00 0E */ li r3, 0xe -/* 80949C08 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/getTexPtrnAnm__8daMyna_cFPc.s b/asm/rel/d/a/d_a_myna/d_a_myna/getTexPtrnAnm__8daMyna_cFPc.s deleted file mode 100644 index fc1c9726351..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/getTexPtrnAnm__8daMyna_cFPc.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80949948: -/* 80949948 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8094994C 7C 08 02 A6 */ mflr r0 -/* 80949950 90 01 00 14 */ stw r0, 0x14(r1) -/* 80949954 28 04 00 00 */ cmplwi r4, 0 -/* 80949958 41 82 00 2C */ beq lbl_80949984 -/* 8094995C 3C 60 80 95 */ lis r3, d_a_myna__stringBase0@ha /* 0x8094B24C@ha */ -/* 80949960 38 63 B2 4C */ addi r3, r3, d_a_myna__stringBase0@l /* 0x8094B24C@l */ -/* 80949964 38 63 01 00 */ addi r3, r3, 0x100 -/* 80949968 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8094996C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80949970 3C A5 00 02 */ addis r5, r5, 2 -/* 80949974 38 C0 00 80 */ li r6, 0x80 -/* 80949978 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 8094997C 4B 6F 2A 01 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 80949980 48 00 00 08 */ b lbl_80949988 -lbl_80949984: -/* 80949984 38 60 00 00 */ li r3, 0 -lbl_80949988: -/* 80949988 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8094998C 7C 08 03 A6 */ mtlr r0 -/* 80949990 38 21 00 10 */ addi r1, r1, 0x10 -/* 80949994 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/getTrnsfrmKeyAnm__8daMyna_cFPc.s b/asm/rel/d/a/d_a_myna/d_a_myna/getTrnsfrmKeyAnm__8daMyna_cFPc.s deleted file mode 100644 index 6d6a406c708..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/getTrnsfrmKeyAnm__8daMyna_cFPc.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_809498F8: -/* 809498F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 809498FC 7C 08 02 A6 */ mflr r0 -/* 80949900 90 01 00 14 */ stw r0, 0x14(r1) -/* 80949904 28 04 00 00 */ cmplwi r4, 0 -/* 80949908 41 82 00 2C */ beq lbl_80949934 -/* 8094990C 3C 60 80 95 */ lis r3, d_a_myna__stringBase0@ha /* 0x8094B24C@ha */ -/* 80949910 38 63 B2 4C */ addi r3, r3, d_a_myna__stringBase0@l /* 0x8094B24C@l */ -/* 80949914 38 63 01 00 */ addi r3, r3, 0x100 -/* 80949918 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8094991C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80949920 3C A5 00 02 */ addis r5, r5, 2 -/* 80949924 38 C0 00 80 */ li r6, 0x80 -/* 80949928 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 8094992C 4B 6F 2A 51 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 80949930 48 00 00 08 */ b lbl_80949938 -lbl_80949934: -/* 80949934 38 60 00 00 */ li r3, 0 -lbl_80949938: -/* 80949938 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8094993C 7C 08 03 A6 */ mtlr r0 -/* 80949940 38 21 00 10 */ addi r1, r1, 0x10 -/* 80949944 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel.s b/asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel.s deleted file mode 100644 index 40bc38181c1..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8094686C: -/* 8094686C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80946870 7C 08 02 A6 */ mflr r0 -/* 80946874 90 01 00 14 */ stw r0, 0x14(r1) -/* 80946878 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8094687C 93 C1 00 08 */ stw r30, 8(r1) -/* 80946880 7C BE 2B 78 */ mr r30, r5 -/* 80946884 A0 84 00 14 */ lhz r4, 0x14(r4) -/* 80946888 80 65 00 84 */ lwz r3, 0x84(r5) -/* 8094688C 80 03 00 0C */ lwz r0, 0xc(r3) -/* 80946890 1F E4 00 30 */ mulli r31, r4, 0x30 -/* 80946894 7C 60 FA 14 */ add r3, r0, r31 -/* 80946898 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 8094689C 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 809468A0 4B 9F FC 11 */ bl PSMTXCopy -/* 809468A4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 809468A8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 809468AC 80 9E 00 84 */ lwz r4, 0x84(r30) -/* 809468B0 80 04 00 0C */ lwz r0, 0xc(r4) -/* 809468B4 7C 80 FA 14 */ add r4, r0, r31 -/* 809468B8 4B 9F FB F9 */ bl PSMTXCopy -/* 809468BC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 809468C0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 809468C4 3C 80 80 43 */ lis r4, mCurrentMtx__6J3DSys@ha /* 0x80434BE4@ha */ -/* 809468C8 38 84 4B E4 */ addi r4, r4, mCurrentMtx__6J3DSys@l /* 0x80434BE4@l */ -/* 809468CC 4B 9F FB E5 */ bl PSMTXCopy -/* 809468D0 38 60 00 01 */ li r3, 1 -/* 809468D4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 809468D8 83 C1 00 08 */ lwz r30, 8(r1) -/* 809468DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 809468E0 7C 08 03 A6 */ mtlr r0 -/* 809468E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 809468E8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCallBack__FP8J3DJointi.s b/asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCallBack__FP8J3DJointi.s deleted file mode 100644 index 1c8abf9bf98..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCallBack__FP8J3DJointi.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80945C8C: -/* 80945C8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80945C90 7C 08 02 A6 */ mflr r0 -/* 80945C94 90 01 00 14 */ stw r0, 0x14(r1) -/* 80945C98 7C 60 1B 78 */ mr r0, r3 -/* 80945C9C 2C 04 00 00 */ cmpwi r4, 0 -/* 80945CA0 40 82 00 24 */ bne lbl_80945CC4 -/* 80945CA4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80945CA8 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80945CAC 80 A3 00 38 */ lwz r5, 0x38(r3) -/* 80945CB0 80 65 00 14 */ lwz r3, 0x14(r5) -/* 80945CB4 28 03 00 00 */ cmplwi r3, 0 -/* 80945CB8 41 82 00 0C */ beq lbl_80945CC4 -/* 80945CBC 7C 04 03 78 */ mr r4, r0 -/* 80945CC0 48 00 0B AD */ bl jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel -lbl_80945CC4: -/* 80945CC4 38 60 00 01 */ li r3, 1 -/* 80945CC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80945CCC 7C 08 03 A6 */ mtlr r0 -/* 80945CD0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80945CD4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/orderEvent__8daMyna_cFv.s b/asm/rel/d/a/d_a_myna/d_a_myna/orderEvent__8daMyna_cFv.s deleted file mode 100644 index 56901f10cb3..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/orderEvent__8daMyna_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_809490B8: -/* 809490B8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 809490BC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 809490C0 80 84 5D B4 */ lwz r4, 0x5db4(r4) -/* 809490C4 80 04 05 74 */ lwz r0, 0x574(r4) -/* 809490C8 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 809490CC 41 82 00 54 */ beq lbl_80949120 -/* 809490D0 88 03 09 2C */ lbz r0, 0x92c(r3) -/* 809490D4 28 00 00 0F */ cmplwi r0, 0xf -/* 809490D8 41 81 00 24 */ bgt lbl_809490FC -/* 809490DC 3C 80 80 95 */ lis r4, lit_5409@ha /* 0x8094B8B8@ha */ -/* 809490E0 38 84 B8 B8 */ addi r4, r4, lit_5409@l /* 0x8094B8B8@l */ -/* 809490E4 54 00 10 3A */ slwi r0, r0, 2 -/* 809490E8 7C 04 00 2E */ lwzx r0, r4, r0 -/* 809490EC 7C 09 03 A6 */ mtctr r0 -/* 809490F0 4E 80 04 20 */ bctr -lbl_809490F4: -/* 809490F4 38 00 00 0A */ li r0, 0xa -/* 809490F8 90 03 05 5C */ stw r0, 0x55c(r3) -lbl_809490FC: -/* 809490FC 80 03 05 5C */ lwz r0, 0x55c(r3) -/* 80949100 28 00 00 0A */ cmplwi r0, 0xa -/* 80949104 40 82 00 1C */ bne lbl_80949120 -/* 80949108 38 00 00 8B */ li r0, 0x8b -/* 8094910C 98 03 05 45 */ stb r0, 0x545(r3) -/* 80949110 98 03 05 47 */ stb r0, 0x547(r3) -/* 80949114 A0 03 00 FA */ lhz r0, 0xfa(r3) -/* 80949118 60 00 00 01 */ ori r0, r0, 1 -/* 8094911C B0 03 00 FA */ sth r0, 0xfa(r3) -lbl_80949120: -/* 80949120 38 60 00 01 */ li r3, 1 -/* 80949124 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/setBtpAnm__8daMyna_cFP16J3DAnmTexPatternP12J3DModelDatafi.s b/asm/rel/d/a/d_a_myna/d_a_myna/setBtpAnm__8daMyna_cFP16J3DAnmTexPatternP12J3DModelDatafi.s deleted file mode 100644 index e80776d25ad..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/setBtpAnm__8daMyna_cFP16J3DAnmTexPatternP12J3DModelDatafi.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_809498B8: -/* 809498B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 809498BC 7C 08 02 A6 */ mflr r0 -/* 809498C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 809498C4 7C 80 23 78 */ mr r0, r4 -/* 809498C8 7C C7 33 78 */ mr r7, r6 -/* 809498CC 38 85 00 58 */ addi r4, r5, 0x58 -/* 809498D0 7C 05 03 78 */ mr r5, r0 -/* 809498D4 38 C0 00 01 */ li r6, 1 -/* 809498D8 39 00 00 00 */ li r8, 0 -/* 809498DC 39 20 FF FF */ li r9, -1 -/* 809498E0 38 63 05 78 */ addi r3, r3, 0x578 -/* 809498E4 4B 6C 3C 69 */ bl init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss -/* 809498E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 809498EC 7C 08 03 A6 */ mtlr r0 -/* 809498F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 809498F4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/setRoomNo__8daMyna_cFv.s b/asm/rel/d/a/d_a_myna/d_a_myna/setRoomNo__8daMyna_cFv.s deleted file mode 100644 index cff079b9b08..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/setRoomNo__8daMyna_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80949544: -/* 80949544 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80949548 7C 08 02 A6 */ mflr r0 -/* 8094954C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80949550 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80949554 7C 7F 1B 78 */ mr r31, r3 -/* 80949558 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8094955C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80949560 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80949564 38 9F 06 80 */ addi r4, r31, 0x680 -/* 80949568 4B 72 BB 99 */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo -/* 8094956C 98 7F 04 E2 */ stb r3, 0x4e2(r31) -/* 80949570 98 7F 06 CA */ stb r3, 0x6ca(r31) -/* 80949574 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80949578 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8094957C 7C 08 03 A6 */ mtlr r0 -/* 80949580 38 21 00 10 */ addi r1, r1, 0x10 -/* 80949584 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/d_a_myna/d_a_myna/soldoutItem__8daMyna_cFUi.s b/asm/rel/d/a/d_a_myna/d_a_myna/soldoutItem__8daMyna_cFUi.s deleted file mode 100644 index 7ab31e30247..00000000000 --- a/asm/rel/d/a/d_a_myna/d_a_myna/soldoutItem__8daMyna_cFUi.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_809487EC: -/* 809487EC 39 00 00 00 */ li r8, 0 -/* 809487F0 38 A0 00 00 */ li r5, 0 -/* 809487F4 38 C0 00 03 */ li r6, 3 -/* 809487F8 48 00 00 20 */ b lbl_80948818 -lbl_809487FC: -/* 809487FC 7C E3 2A 14 */ add r7, r3, r5 -/* 80948800 80 07 08 68 */ lwz r0, 0x868(r7) -/* 80948804 7C 04 00 40 */ cmplw r4, r0 -/* 80948808 40 82 00 08 */ bne lbl_80948810 -/* 8094880C 98 C7 08 75 */ stb r6, 0x875(r7) -lbl_80948810: -/* 80948810 39 08 00 01 */ addi r8, r8, 1 -/* 80948814 38 A5 00 10 */ addi r5, r5, 0x10 -lbl_80948818: -/* 80948818 88 03 09 30 */ lbz r0, 0x930(r3) -/* 8094881C 7C 08 00 00 */ cmpw r8, r0 -/* 80948820 41 80 FF DC */ blt lbl_809487FC -/* 80948824 4E 80 00 20 */ blr diff --git a/include/rel/d/a/d_a_myna/d_a_myna.h b/include/rel/d/a/d_a_myna/d_a_myna.h index 4897961c688..333aa1cbc26 100644 --- a/include/rel/d/a/d_a_myna/d_a_myna.h +++ b/include/rel/d/a/d_a_myna/d_a_myna.h @@ -17,7 +17,7 @@ struct ShopItem { /* 0x8 */ u16 mFlowNodeNum; /* 0xA */ u16 mValueNum; /* 0xC */ u8 mItemType; - /* 0xE */ u8 mItemStatus; + /* 0xD */ u8 mItemStatus; }; STATIC_ASSERT(sizeof(ShopItem) == 0x10); @@ -34,8 +34,8 @@ public: /* 809463B8 */ int destroy(); /* 8094640C */ int draw(); /* 809464CC */ int execute(); - /* 809466D8 */ void createHeap(); - /* 8094686C */ void jntNodeCB(J3DJoint*, J3DModel*); + /* 809466D8 */ int createHeap(); + /* 8094686C */ int jntNodeCB(J3DJoint*, J3DModel*); /* 809468EC */ void attack_wait_init(); /* 8094692C */ void attack_wait_move(); /* 80946AEC */ void attack_before_talk_init(); @@ -85,8 +85,8 @@ public: /* 80948ADC */ void fly_return_move(); /* 80948DFC */ void fly_body_wave(); /* 80948E84 */ void talkAnime(msg_class*); - /* 80948FAC */ void chkEvent(); - /* 809490B8 */ void orderEvent(); + /* 80948FAC */ int chkEvent(); + /* 809490B8 */ int orderEvent(); /* 80949128 */ void deleteItem(int); /* 80949144 */ void deleteItem(unsigned int); /* 80949190 */ void initiate(); @@ -95,17 +95,17 @@ public: /* 80949588 */ void setCollision(); /* 809495E0 */ void set_mtx(); /* 80949744 */ void animePlay(); - /* 8094983C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); + /* 8094983C */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); /* 809498B8 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); /* 809498F8 */ J3DAnmTransformKey* getTrnsfrmKeyAnm(char*); - /* 80949948 */ void getTexPtrnAnm(char*); + /* 80949948 */ J3DAnmTexPattern* getTexPtrnAnm(char*); /* 80949A70 */ int checkEndAnm(J3DFrameCtrl*); /* 80949998 */ int checkEndAnm(f32); /* 80949AD4 */ int getItemNumMax(); - /* 80949AE0 */ void getItemType(void*); - /* 80949C0C */ void getFlowNodeNum(); + /* 80949AE0 */ int getItemType(void*); + /* 80949C0C */ u16 getFlowNodeNum(); /* 80949C44 */ void checkDead(); - /* 80949D54 */ void chkPlayerInEvtArea(fopAc_ac_c*, cXyz); + /* 80949D54 */ int chkPlayerInEvtArea(fopAc_ac_c*, cXyz); /* 80949EE8 */ void animeControl(); /* 8094A054 */ void setAnimeType(u8, f32); /* 8094A098 */ void playDefaultWaitAnime(); @@ -114,9 +114,7 @@ public: daMyna_c(){}; - void onEventFlag(u8 flag) { - field_0x92F |= (1 << flag); - } + void onEventFlag(u8 flag) { field_0x92F |= (1 << flag); } typedef void (daMyna_c::*ProcFunc)(); typedef int (daMyna_c::*BaseMotionFunc)(int); diff --git a/rel/d/a/d_a_myna/d_a_myna.cpp b/rel/d/a/d_a_myna/d_a_myna.cpp index 9949ae060c2..fad8ea19d0f 100644 --- a/rel/d/a/d_a_myna/d_a_myna.cpp +++ b/rel/d/a/d_a_myna/d_a_myna.cpp @@ -5,29 +5,23 @@ #include "rel/d/a/d_a_myna/d_a_myna.h" #include "JSystem/JKernel/JKRHeap.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_procname.h" +#include "d/kankyo/d_kankyo.h" +#include "d/msg/d_msg_object.h" #include "dol2asm.h" +#include "rel/d/a/tag/d_a_tag_myna_light/d_a_tag_myna_light.h" // // Types: // -struct msg_class {}; - -struct daTag_MynaLight_c { - /* 80D5CE40 */ void setTurnOnOffChange(); -}; - struct daObj_SSItem_c { /* 80CE77F8 */ void getExchangeItemPtr(); }; -struct dMsgObject_c { - /* 8023822C */ void getStatus(); -}; - // // Forward References: // @@ -266,24 +260,19 @@ extern "C" void setTurnOnOffChange__17daTag_MynaLight_cFv(); /* 80945C6C-80945C8C 0000EC 0020+00 1/1 0/0 0/0 .text createHeapCallBack__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void createHeapCallBack(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/createHeapCallBack__FP10fopAc_ac_c.s" +static void createHeapCallBack(fopAc_ac_c* i_this) { + static_cast(i_this)->createHeap(); } -#pragma pop /* 80945C8C-80945CD8 00010C 004C+00 1/1 0/0 0/0 .text jntNodeCallBack__FP8J3DJointi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void jntNodeCallBack(J3DJoint* param_0, int param_1) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCallBack__FP8J3DJointi.s" +static int jntNodeCallBack(J3DJoint* i_jnt, int param_1) { + if (param_1 == 0) { + if (j3dSys.getModel()->getUserArea() != 0) { + ((daMyna_c*)j3dSys.getModel()->getUserArea())->jntNodeCB(i_jnt, j3dSys.getModel()); + } + } + return 1; } -#pragma pop /* ############################################################################################## */ /* 8094B9F0-8094B9F4 000008 0001+03 2/2 0/0 0/0 .bss @1109 */ @@ -403,7 +392,7 @@ static u8 daMyna_subActor[40]; #pragma pop /* 8094BAC0-8094BAC4 0000D8 0004+00 7/7 0/0 0/0 .bss daMyna_LightActor */ -static u8 daMyna_LightActor[4]; +static daTag_MynaLight_c* daMyna_LightActor; /* 8094BAC4-8094BAC8 0000DC 0004+00 0/2 0/0 0/0 .bss daMyna_actor_count */ #pragma push @@ -422,14 +411,18 @@ static asm void daMyna_searchSSItem(void* param_0, void* param_1) { #pragma pop /* 80945D9C-80945E0C 00021C 0070+00 1/1 0/0 0/0 .text daMyna_searchLight__FPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daMyna_searchLight(void* param_0, void* param_1) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/daMyna_searchLight__FPvPv.s" +static void* daMyna_searchLight(void* i_mynaLightTagActor, void* param_1) { + if (fopAcM_IsActor(i_mynaLightTagActor) && + fopAcM_GetName(i_mynaLightTagActor) == PROC_TAG_MNLIGHT) + { + u32 uVar1 = fopAcM_GetParam(param_1) & 0xF0000000; + u32 uVar2 = fopAcM_GetParam(i_mynaLightTagActor) & 0xF0000000; + if (uVar1 == uVar2) { + daMyna_LightActor = static_cast(i_mynaLightTagActor); + } + } + return 0; } -#pragma pop /* ############################################################################################## */ /* 8094BAC8-8094BACC 0000E0 0004+00 8/9 0/0 0/0 .bss daMyna_evtTagActor0 */ @@ -1211,7 +1204,7 @@ static char* l_bckFileNameTBL[] = { }; /* 8094B7DC-8094B7E0 -00001 0004+00 2/2 0/0 0/0 .data l_btpFileNameTBL */ -static char* l_btpFileNameTBL = "MYNA.btp"; +static char* l_btpFileNameTBL[] = {"MYNA.btp"}; /* 8094B7E0-8094B810 000480 0030+00 1/1 0/0 0/0 .data aParam$localstatic3$__ct__12daMyna_HIO_cFv */ @@ -1341,45 +1334,6 @@ SECTION_DATA u8 daMyna_c::mBaseMotionTBL[84] = { }; #endif -/* 8094B8B8-8094B8F8 -00001 0040+00 1/1 0/0 0/0 .data @5409 */ -SECTION_DATA static void* lit_5409[16] = { - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x44), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x44), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x44), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x44), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x44), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x44), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x44), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x44), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C), - (void*)(((char*)orderEvent__8daMyna_cFv) + 0x3C), -}; - -/* 8094B8F8-8094B934 -00001 003C+00 1/1 0/0 0/0 .data @5890 */ -SECTION_DATA static void* lit_5890[15] = { - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x5C), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x74), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x7C), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x84), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0x94), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xA4), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xAC), - (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), -}; - /* 809460A0-80946284 000520 01E4+00 1/1 0/0 0/0 .text create__8daMyna_cFv */ // Matches with incorrect weak function ordering #ifdef NONMATCHING @@ -1468,14 +1422,21 @@ int daMyna_c::destroy() { } /* 8094640C-809464CC 00088C 00C0+00 1/1 0/0 0/0 .text draw__8daMyna_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daMyna_c::draw() { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/draw__8daMyna_cFv.s" +int daMyna_c::draw() { + J3DModel* model = mpMorf->getModel(); + J3DModelData* modelData = model->getModelData(); + g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(model->getModelData(), &mTevStr); + if (cLib_checkBit(field_0x914, 0x40)) { + mBtpAnm.entry(modelData); + } + fopAcM_setEffectMtx(this, modelData); + mpMorf->entryDL(); + if (cLib_checkBit(field_0x914, 0x40)) { + mBtpAnm.remove(modelData); + } + return 1; } -#pragma pop /* ############################################################################################## */ /* 8094B1F4-8094B1F8 000044 0004+00 1/1 0/0 0/0 .rodata @4207 */ @@ -1487,6 +1448,54 @@ SECTION_RODATA static f32 const lit_4208 = 100.0f; COMPILER_STRIP_GATE(0x8094B1F8, &lit_4208); /* 809464CC-809466D8 00094C 020C+00 2/2 0/0 0/0 .text execute__8daMyna_cFv */ +// Matches with literals +#ifdef NONMATCHING +int daMyna_c::execute() { + u8 uVar1 = field_0x92C; + u8 uVar2 = field_0x935; + bool isTalkNow = dMsgObject_isTalkNowCheck(); + setItemInfo(); + int iVar1 = chkEvent(); + if (daMyna_LightActor == NULL) { + i_fpcM_Search(daMyna_searchLight, this); + } + setRoomNo(); + mAttentionInfo.mPosition.set(current.pos.x, current.pos.y + 40.0f, current.pos.z); + mEyePos.set(mAttentionInfo.mPosition); + if (field_0x926 > 0) { + field_0x926--; + } + if (isTalkNow) { + talkAnime(mMsgFlow.getMsg()); + } else if (field_0x824 != 0) { + field_0x824 = 0; + } + if (iVar1 != 0) { + (this->*move_proc[field_0x92C])(); + orderEvent(); + } + if (!isTalkNow) { + playDefaultWaitAnime(); + setDefaultWaitAnime(uVar2); + } + if (uVar1 != field_0x92C) { + (this->*init_proc[field_0x92C])(); + } + if (uVar2 != field_0x935) { + if (field_0x935 == 1) { + field_0x924 = cM_rndF(100.0f) + 100.0f; + } + animeControl(); + } + animePlay(); + set_mtx(); + shape_angle = current.angle; + shape_angle.y = -current.angle.y; + setCollision(); + checkDead(); + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -1495,6 +1504,7 @@ asm int daMyna_c::execute() { #include "asm/rel/d/a/d_a_myna/d_a_myna/execute__8daMyna_cFv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8094B1FC-8094B200 00004C 0004+00 11/12 0/0 0/0 .rodata @4270 */ @@ -1508,24 +1518,55 @@ SECTION_DEAD static char const* const stringBase_8094B355 = "MYNA.bmd"; #pragma pop /* 809466D8-8094686C 000B58 0194+00 1/1 0/0 0/0 .text createHeap__8daMyna_cFv */ +// Matches with literals +#ifdef NONMATCHING +int daMyna_c::createHeap() { + J3DModelData* modelData = + static_cast(dComIfG_getObjectRes("Npc_myna", "MYNA.bmd")); + mpMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, NULL, -1, 1.0f, 0, -1, &mCreature, 0x80000, + 0x11020084); + if (mpMorf != NULL && mpMorf->getModel() == NULL) { + mpMorf->stopZelAnime(); + mpMorf = NULL; + } + if (mpMorf == NULL) { + return 0; + } else { + for (u16 i = 0; i < modelData->getJointNum(); i++) { + modelData->getJointNodePointer(i)->setCallBack(jntNodeCallBack); + } + field_0x916 = 7; + field_0x914 = 0; + field_0x918 = 0; + field_0x91A = 0; + field_0x936 = 0; + J3DAnmTexPattern* anmTexPattern = getTexPtrnAnm(l_btpFileNameTBL[field_0x936]); + if (anmTexPattern != NULL) { + setBtpAnm(anmTexPattern, mpMorf->getModel()->getModelData(), 1.0f, 2); + cLib_onBit(field_0x914, 0x44); + } + return 1; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daMyna_c::createHeap() { +asm int daMyna_c::createHeap() { nofralloc #include "asm/rel/d/a/d_a_myna/d_a_myna/createHeap__8daMyna_cFv.s" } #pragma pop +#endif /* 8094686C-809468EC 000CEC 0080+00 1/1 0/0 0/0 .text jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::jntNodeCB(J3DJoint* param_0, J3DModel* param_1) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/jntNodeCB__8daMyna_cFP8J3DJointP8J3DModel.s" +int daMyna_c::jntNodeCB(J3DJoint* i_jnt, J3DModel* i_model) { + u16 jntNo = i_jnt->getJntNo(); + mDoMtx_stack_c::copy(i_model->i_getAnmMtx(jntNo)); + i_model->setAnmMtx(jntNo, mDoMtx_stack_c::get()); + cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + return 1; } -#pragma pop /* 809468EC-8094692C 000D6C 0040+00 1/0 0/0 0/0 .text attack_wait_init__8daMyna_cFv */ #pragma push @@ -2014,14 +2055,13 @@ asm void daMyna_c::attack2_talk_move() { #pragma pop /* 809487EC-80948828 002C6C 003C+00 0/0 0/0 2/2 .text soldoutItem__8daMyna_cFUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::soldoutItem(unsigned int param_0) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/soldoutItem__8daMyna_cFUi.s" +void daMyna_c::soldoutItem(unsigned int i_itemId) { + for (int i = 0; i < mNumShopItems; i++) { + if (i_itemId == mShopItems[i].mTargetActorID) { + mShopItems[i].mItemStatus = 3; + } + } } -#pragma pop /* ############################################################################################## */ /* 8094B228-8094B22C 000078 0004+00 1/2 0/0 0/0 .rodata @5221 */ @@ -2078,6 +2118,17 @@ SECTION_RODATA static u8 const lit_5332[8] = { COMPILER_STRIP_GATE(0x8094B238, &lit_5332); /* 80948DFC-80948E84 00327C 0088+00 2/2 0/0 0/0 .text fly_body_wave__8daMyna_cFv */ +// Matches with literals +#ifdef NONMATCHING +void daMyna_c::fly_body_wave() { + if (field_0x935 == 0) { + field_0x91A = field_0x91A + l_HOSTIO.field_0x2E; + f32 fVar1 = cM_scos(field_0x91A) * l_HOSTIO.field_0x2C; + current.pos.y += fVar1; + field_0x85C.y += fVar1; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2086,6 +2137,7 @@ asm void daMyna_c::fly_body_wave() { #include "asm/rel/d/a/d_a_myna/d_a_myna/fly_body_wave__8daMyna_cFv.s" } #pragma pop +#endif /* 80948E84-80948FAC 003304 0128+00 1/1 0/0 0/0 .text talkAnime__8daMyna_cFP9msg_class */ #pragma push @@ -2098,36 +2150,101 @@ asm void daMyna_c::talkAnime(msg_class* param_0) { #pragma pop /* 80948FAC-809490B8 00342C 010C+00 1/1 0/0 0/0 .text chkEvent__8daMyna_cFv */ +// Matches with literals +#ifdef NONMATCHING +int daMyna_c::chkEvent() { + int retVal = 1; + if (daPy_py_c::i_checkNowWolf()) { + if (!i_dComIfGp_getEvent().i_isOrderOK()) { + retVal = 0; + if (mEvtInfo.checkCommandTalk()) { + if (field_0x92C == 0x10) { + (this->*move_proc[field_0x92C])(); + retVal = 0; + } else { + if (dComIfGp_event_chkTalkXY() == 0 || dComIfGp_evmng_ChkPresentEnd()) { + field_0x92E = field_0x92C; + field_0x92C = 0x10; + retVal = 0; + } + } + return retVal; + } + } + } + return retVal; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daMyna_c::chkEvent() { +asm int daMyna_c::chkEvent() { nofralloc #include "asm/rel/d/a/d_a_myna/d_a_myna/chkEvent__8daMyna_cFv.s" } #pragma pop +#endif /* 809490B8-80949128 003538 0070+00 2/1 0/0 0/0 .text orderEvent__8daMyna_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::orderEvent() { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/orderEvent__8daMyna_cFv.s" +int daMyna_c::orderEvent() { + if (daPy_py_c::i_checkNowWolf()) { + switch (field_0x92C) { + case 0: + case 5: + case 7: + case 11: + case 12: + case 13: + case 14: + case 15: + mAttentionInfo.mFlags = 10; + } + if (mAttentionInfo.mFlags == 10) { + mAttentionInfo.field_0x0[1] = 0x8B; + mAttentionInfo.field_0x0[3] = 0x8B; + mEvtInfo.i_onCondition(1); + } + } + return 1; } -#pragma pop + +/* 8094B8F8-8094B934 -00001 003C+00 1/1 0/0 0/0 .data @5890 */ +SECTION_DATA static void* lit_5890[15] = { + (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), + (void*)(((char*)animeControl__8daMyna_cFv) + 0x5C), + (void*)(((char*)animeControl__8daMyna_cFv) + 0x74), + (void*)(((char*)animeControl__8daMyna_cFv) + 0x7C), + (void*)(((char*)animeControl__8daMyna_cFv) + 0x84), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), + (void*)(((char*)animeControl__8daMyna_cFv) + 0x94), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xA4), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xAC), + (void*)(((char*)animeControl__8daMyna_cFv) + 0xB0), +}; /* 80949128-80949144 0035A8 001C+00 1/1 0/0 0/0 .text deleteItem__8daMyna_cFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::deleteItem(int param_0) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/deleteItem__8daMyna_cFi.s" +void daMyna_c::deleteItem(int i_itemIndex) { + mShopItems[i_itemIndex].mTargetActorID = -1; + mShopItems[i_itemIndex].mItemStatus = 4; } -#pragma pop /* 80949144-80949190 0035C4 004C+00 0/0 0/0 0/0 .text deleteItem__8daMyna_cFUi */ +// Nonmatching, no clue what's going on here +#ifdef NONMATCHING +void daMyna_c::deleteItem(unsigned int i_itemId) { + for (int i = 0; i < mNumShopItems; i++) { + if (i_itemId == mShopItems[i].mTargetActorID) { + mShopItems[i].mTargetActorID = -1; + mShopItems[i].mItemStatus = 4; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2136,6 +2253,7 @@ asm void daMyna_c::deleteItem(unsigned int param_0) { #include "asm/rel/d/a/d_a_myna/d_a_myna/deleteItem__8daMyna_cFUi.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8094B240-8094B244 000090 0004+00 0/1 0/0 0/0 .rodata @5455 */ @@ -2230,16 +2348,21 @@ asm void daMyna_c::setItemInfo() { #pragma pop /* 80949544-80949588 0039C4 0044+00 2/2 0/0 0/0 .text setRoomNo__8daMyna_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::setRoomNo() { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/setRoomNo__8daMyna_cFv.s" +void daMyna_c::setRoomNo() { + s32 roomId = dComIfG_Bgsp().GetRoomId(mGndChk); + fopAcM_SetRoomNo(this, roomId); + mStatus.SetRoomId(roomId); } -#pragma pop /* 80949588-809495E0 003A08 0058+00 1/1 0/0 0/0 .text setCollision__8daMyna_cFv */ +// Matches with literals +#ifdef NONMATCHING +void daMyna_c::setCollision() { + mSph.SetC(field_0x85C); + mSph.SetR(15.0f); + dComIfG_Ccsp()->Set(&mSph); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2248,6 +2371,7 @@ asm void daMyna_c::setCollision() { #include "asm/rel/d/a/d_a_myna/d_a_myna/setCollision__8daMyna_cFv.s" } #pragma pop +#endif /* 809495E0-80949744 003A60 0164+00 1/1 0/0 0/0 .text set_mtx__8daMyna_cFv */ // Matches when l_HOSTIO is the correct type @@ -2321,47 +2445,54 @@ asm void daMyna_c::animePlay() { /* 8094983C-809498B8 003CBC 007C+00 2/2 0/0 0/0 .text * setMcaMorfAnm__8daMyna_cFP18J3DAnmTransformKeyffiii */ +// Matches with literals +#ifdef NONMATCHING +int daMyna_c::setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr, + int i_start, int i_end) { + mpMorf->setAnm(i_anm, i_attr, i_morf, i_rate, i_start, i_end); + field_0x91E = 0; + return 1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daMyna_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3, - int param_4, int param_5) { +asm int daMyna_c::setMcaMorfAnm(J3DAnmTransformKey* param_0, f32 param_1, f32 param_2, int param_3, + int param_4, int param_5) { nofralloc #include "asm/rel/d/a/d_a_myna/d_a_myna/setMcaMorfAnm__8daMyna_cFP18J3DAnmTransformKeyffiii.s" } #pragma pop +#endif /* 809498B8-809498F8 003D38 0040+00 2/2 0/0 0/0 .text * setBtpAnm__8daMyna_cFP16J3DAnmTexPatternP12J3DModelDatafi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::setBtpAnm(J3DAnmTexPattern* param_0, J3DModelData* param_1, f32 param_2, - int param_3) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/setBtpAnm__8daMyna_cFP16J3DAnmTexPatternP12J3DModelDatafi.s" +void daMyna_c::setBtpAnm(J3DAnmTexPattern* i_btk, J3DModelData* param_1, f32 i_rate, + int i_attribute) { + mBtpAnm.init(¶m_1->getMaterialTable(), i_btk, 1, i_attribute, i_rate, 0, -1); } -#pragma pop /* 809498F8-80949948 003D78 0050+00 2/2 0/0 0/0 .text getTrnsfrmKeyAnm__8daMyna_cFPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DAnmTransformKey* daMyna_c::getTrnsfrmKeyAnm(char* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/getTrnsfrmKeyAnm__8daMyna_cFPc.s" +J3DAnmTransformKey* daMyna_c::getTrnsfrmKeyAnm(char* i_resName) { + J3DAnmTransformKey* key; + if (i_resName != NULL) { + key = static_cast(dComIfG_getObjectRes("Npc_myna", i_resName)); + } else { + key = NULL; + } + return key; } -#pragma pop /* 80949948-80949998 003DC8 0050+00 2/2 0/0 0/0 .text getTexPtrnAnm__8daMyna_cFPc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::getTexPtrnAnm(char* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/getTexPtrnAnm__8daMyna_cFPc.s" +J3DAnmTexPattern* daMyna_c::getTexPtrnAnm(char* i_resName) { + J3DAnmTexPattern* pattern; + if (i_resName != NULL) { + pattern = static_cast(dComIfG_getObjectRes("Npc_myna", i_resName)); + } else { + pattern = NULL; + } + return pattern; } -#pragma pop /* 80949998-80949A70 003E18 00D8+00 1/1 0/0 0/0 .text checkEndAnm__8daMyna_cFf */ #pragma push @@ -2374,6 +2505,25 @@ asm int daMyna_c::checkEndAnm(f32 param_0) { #pragma pop /* 80949A70-80949AD4 003EF0 0064+00 1/1 0/0 0/0 .text checkEndAnm__8daMyna_cFP12J3DFrameCtrl */ +// Matches with literals +#ifdef NONMATCHING +int daMyna_c::checkEndAnm(J3DFrameCtrl* param_0) { + switch (param_0->getAttribute()) { + case 2: + return param_0->checkState(2); + case 0: + case 1: + u8 retVal = 1; + if (param_0->checkState(1) == 0 && param_0->getRate() != 0.0f) { + retVal = 0; + } + return retVal; + case 3: + default: + return 0; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -2382,36 +2532,94 @@ asm int daMyna_c::checkEndAnm(J3DFrameCtrl* param_0) { #include "asm/rel/d/a/d_a_myna/d_a_myna/checkEndAnm__8daMyna_cFP12J3DFrameCtrl.s" } #pragma pop +#endif /* 80949AD4-80949AE0 003F54 000C+00 1/1 0/0 0/0 .text getItemNumMax__8daMyna_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daMyna_c::getItemNumMax() { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/getItemNumMax__8daMyna_cFv.s" +int daMyna_c::getItemNumMax() { + return (fopAcM_GetParam(this) >> 0x18) & 0xF; } -#pragma pop /* 80949AE0-80949C0C 003F60 012C+00 1/1 0/0 0/0 .text getItemType__8daMyna_cFPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::getItemType(void* param_0) { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/getItemType__8daMyna_cFPv.s" +int daMyna_c::getItemType(void* param_0) { + int itemType = 0xF; + u8 uVar1 = fopAcM_GetParam(param_0) & 0xFF; + + if (fopAcM_GetName(param_0) == PROC_OBJ_SSITEM) { + switch (uVar1) { + case 0: + itemType = 1; + break; + case 1: + itemType = 2; + break; + case 2: + itemType = 0; + break; + } + } else if (fopAcM_GetName(param_0) == PROC_OBJ_SSDRINK) { + switch (uVar1) { + case 0: + itemType = 3; + break; + case 1: + itemType = 4; + break; + case 2: + itemType = 5; + break; + case 3: + itemType = 6; + break; + case 4: + itemType = 7; + break; + case 5: + itemType = 8; + break; + } + } else if (fopAcM_GetName(param_0) == PROC_TAG_SSDRINK) { + switch (uVar1) { + case 0: + itemType = 9; + break; + case 1: + itemType = 10; + break; + case 2: + itemType = 11; + break; + case 3: + itemType = 12; + break; + case 4: + itemType = 13; + break; + case 5: + itemType = 14; + break; + } + } + + return itemType; } -#pragma pop /* 80949C0C-80949C44 00408C 0038+00 3/3 0/0 0/0 .text getFlowNodeNum__8daMyna_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daMyna_c::getFlowNodeNum() { - nofralloc -#include "asm/rel/d/a/d_a_myna/d_a_myna/getFlowNodeNum__8daMyna_cFv.s" +u16 daMyna_c::getFlowNodeNum() { + u16 num = orig.angle.x; + bool bVar1 = false; + if (num == 0xFFFF || num == 0) { + bVar1 = true; + } + + int num2; + if (!bVar1) { + num2 = num; + } else { + num2 = -1; + } + + return num2; } -#pragma pop /* 80949C44-80949D54 0040C4 0110+00 1/1 0/0 0/0 .text checkDead__8daMyna_cFv */ #pragma push @@ -2425,14 +2633,43 @@ asm void daMyna_c::checkDead() { /* 80949D54-80949EE8 0041D4 0194+00 7/7 0/0 0/0 .text * chkPlayerInEvtArea__8daMyna_cFP10fopAc_ac_c4cXyz */ +// Matches with literals +#ifdef NONMATCHING +int daMyna_c::chkPlayerInEvtArea(fopAc_ac_c* param_0, cXyz param_1) { + int retVal = 0; + cXyz local_60; + cXyz local_6c; + + if (param_0 != NULL) { + mDoMtx_stack_c::YrotS(-param_0->current.angle.y); + mDoMtx_stack_c::transM(-param_0->current.pos.x, -param_0->current.pos.y, + -param_0->current.pos.z); + mDoMtx_stack_c::multVec(&daPy_getPlayerActorClass()->current.pos, &local_6c); + f32 fVar1 = fabsf(param_0->mScale.x + param_1.x); + f32 fVar2 = fabsf(param_0->mScale.z + param_1.z); + f32 fVar3 = fabsf(local_6c.x); + f32 fVar4 = fabsf(local_6c.z); + local_60 = param_0->current.pos - daPy_getPlayerActorClass()->current.pos; + if ((fVar3 * fVar3) / (fVar1 * fVar1) + (fVar4 * fVar4) / (fVar2 * fVar2) <= 1.0f && + -(param_0->mScale.y + param_1.y) < local_60.y && + local_60.y < (param_0->mScale.y + param_1.y)) + { + retVal = 1; + } + } + + return retVal; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void daMyna_c::chkPlayerInEvtArea(fopAc_ac_c* param_0, cXyz param_1) { +asm int daMyna_c::chkPlayerInEvtArea(fopAc_ac_c* param_0, cXyz param_1) { nofralloc #include "asm/rel/d/a/d_a_myna/d_a_myna/chkPlayerInEvtArea__8daMyna_cFP10fopAc_ac_c4cXyz.s" } #pragma pop +#endif /* ############################################################################################## */ /* 8094B244-8094B248 000094 0004+00 2/3 0/0 0/0 .rodata @5889 */