d_a_tag_hjump / d_a_scene_exit2 OK (#361)

* d_a_tag_hjump OK

* d_a_scene_exit2 OK

* remove asm
This commit is contained in:
TakaRikka 2023-07-03 21:10:29 -07:00 committed by GitHub
parent 01d9e0a514
commit 1a168255d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 437 additions and 1715 deletions

View File

@ -1,33 +0,0 @@
lbl_8059E1B0:
/* 8059E1B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E1B4 7C 08 02 A6 */ mflr r0
/* 8059E1B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E1BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059E1C0 7C 7F 1B 78 */ mr r31, r3
/* 8059E1C4 3C 80 80 5A */ lis r4, lit_3659@ha /* 0x8059E7F4@ha */
/* 8059E1C8 C0 24 E7 F4 */ lfs f1, lit_3659@l(r4) /* 0x8059E7F4@l */
/* 8059E1CC C0 03 04 EC */ lfs f0, 0x4ec(r3)
/* 8059E1D0 EC 01 00 32 */ fmuls f0, f1, f0
/* 8059E1D4 D0 03 05 74 */ stfs f0, 0x574(r3)
/* 8059E1D8 4B FF FF 81 */ bl initBaseMtx__10daScExit_cFv
/* 8059E1DC 38 00 00 FF */ li r0, 0xff
/* 8059E1E0 98 1F 05 7A */ stb r0, 0x57a(r31)
/* 8059E1E4 3C 60 80 5A */ lis r3, l_arcName@ha /* 0x8059E858@ha */
/* 8059E1E8 80 03 E8 58 */ lwz r0, l_arcName@l(r3) /* 0x8059E858@l */
/* 8059E1EC 90 1F 01 00 */ stw r0, 0x100(r31)
/* 8059E1F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059E1F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059E1F8 38 63 4F F8 */ addi r3, r3, 0x4ff8
/* 8059E1FC 7F E4 FB 78 */ mr r4, r31
/* 8059E200 3C A0 80 5A */ lis r5, l_evName@ha /* 0x8059E85C@ha */
/* 8059E204 38 A5 E8 5C */ addi r5, r5, l_evName@l /* 0x8059E85C@l */
/* 8059E208 80 A5 00 00 */ lwz r5, 0(r5)
/* 8059E20C 38 C0 00 FF */ li r6, 0xff
/* 8059E210 4B AA 95 49 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc
/* 8059E214 B0 7F 05 78 */ sth r3, 0x578(r31)
/* 8059E218 38 60 00 01 */ li r3, 1
/* 8059E21C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059E220 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E224 7C 08 03 A6 */ mtlr r0
/* 8059E228 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E22C 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_8059E71C:
/* 8059E71C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E720 7C 08 02 A6 */ mflr r0
/* 8059E724 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E728 3C 80 80 5A */ lis r4, l_arcName@ha /* 0x8059E858@ha */
/* 8059E72C 38 84 E8 58 */ addi r4, r4, l_arcName@l /* 0x8059E858@l */
/* 8059E730 80 84 00 00 */ lwz r4, 0(r4)
/* 8059E734 38 63 05 68 */ addi r3, r3, 0x568
/* 8059E738 4B A8 E8 D1 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 8059E73C 38 60 00 01 */ li r3, 1
/* 8059E740 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E744 7C 08 03 A6 */ mtlr r0
/* 8059E748 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E74C 4E 80 00 20 */ blr

View File

@ -1,34 +0,0 @@
lbl_8059E488:
/* 8059E488 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E48C 7C 08 02 A6 */ mflr r0
/* 8059E490 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E494 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059E498 93 C1 00 08 */ stw r30, 8(r1)
/* 8059E49C 7C 7E 1B 78 */ mr r30, r3
/* 8059E4A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059E4A4 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059E4A8 38 7F 4F F8 */ addi r3, r31, 0x4ff8
/* 8059E4AC A8 9E 05 78 */ lha r4, 0x578(r30)
/* 8059E4B0 4B AA 95 C9 */ bl endCheck__16dEvent_manager_cFs
/* 8059E4B4 2C 03 00 00 */ cmpwi r3, 0
/* 8059E4B8 41 82 00 18 */ beq lbl_8059E4D0
/* 8059E4BC 38 00 00 03 */ li r0, 3
/* 8059E4C0 98 1E 05 7B */ stb r0, 0x57b(r30)
/* 8059E4C4 38 7F 4E C8 */ addi r3, r31, 0x4ec8
/* 8059E4C8 4B AA 3F A1 */ bl reset__14dEvt_control_cFv
/* 8059E4CC 48 00 00 20 */ b lbl_8059E4EC
lbl_8059E4D0:
/* 8059E4D0 7F C3 F3 78 */ mr r3, r30
/* 8059E4D4 48 00 00 35 */ bl demoProc__10daScExit_cFv
/* 8059E4D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059E4DC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059E4E0 80 03 5F 1C */ lwz r0, 0x5f1c(r3)
/* 8059E4E4 64 00 04 00 */ oris r0, r0, 0x400
/* 8059E4E8 90 03 5F 1C */ stw r0, 0x5f1c(r3)
lbl_8059E4EC:
/* 8059E4EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059E4F0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8059E4F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E4F8 7C 08 03 A6 */ mtlr r0
/* 8059E4FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E500 4E 80 00 20 */ blr

View File

@ -1,35 +0,0 @@
lbl_8059E408:
/* 8059E408 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E40C 7C 08 02 A6 */ mflr r0
/* 8059E410 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E414 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059E418 7C 7F 1B 78 */ mr r31, r3
/* 8059E41C A0 03 00 F8 */ lhz r0, 0xf8(r3)
/* 8059E420 28 00 00 02 */ cmplwi r0, 2
/* 8059E424 40 82 00 28 */ bne lbl_8059E44C
/* 8059E428 38 00 00 02 */ li r0, 2
/* 8059E42C 98 1F 05 7B */ stb r0, 0x57b(r31)
/* 8059E430 48 00 00 D9 */ bl demoProc__10daScExit_cFv
/* 8059E434 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059E438 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059E43C 80 03 5F 1C */ lwz r0, 0x5f1c(r3)
/* 8059E440 64 00 04 00 */ oris r0, r0, 0x400
/* 8059E444 90 03 5F 1C */ stw r0, 0x5f1c(r3)
/* 8059E448 48 00 00 2C */ b lbl_8059E474
lbl_8059E44C:
/* 8059E44C A8 9F 05 78 */ lha r4, 0x578(r31)
/* 8059E450 88 BF 05 7A */ lbz r5, 0x57a(r31)
/* 8059E454 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */
/* 8059E458 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */
/* 8059E45C 38 E0 00 00 */ li r7, 0
/* 8059E460 39 00 00 01 */ li r8, 1
/* 8059E464 4B A7 D2 19 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs
/* 8059E468 A0 1F 00 FA */ lhz r0, 0xfa(r31)
/* 8059E46C 60 00 00 02 */ ori r0, r0, 2
/* 8059E470 B0 1F 00 FA */ sth r0, 0xfa(r31)
lbl_8059E474:
/* 8059E474 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059E478 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E47C 7C 08 03 A6 */ mtlr r0
/* 8059E480 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E484 4E 80 00 20 */ blr

View File

@ -1,28 +0,0 @@
lbl_8059E3A0:
/* 8059E3A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E3A4 7C 08 02 A6 */ mflr r0
/* 8059E3A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E3AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059E3B0 7C 7F 1B 78 */ mr r31, r3
/* 8059E3B4 48 00 03 19 */ bl checkArea__10daScExit_cFv
/* 8059E3B8 2C 03 00 00 */ cmpwi r3, 0
/* 8059E3BC 41 82 00 38 */ beq lbl_8059E3F4
/* 8059E3C0 38 00 00 01 */ li r0, 1
/* 8059E3C4 98 1F 05 7B */ stb r0, 0x57b(r31)
/* 8059E3C8 7F E3 FB 78 */ mr r3, r31
/* 8059E3CC A8 9F 05 78 */ lha r4, 0x578(r31)
/* 8059E3D0 88 BF 05 7A */ lbz r5, 0x57a(r31)
/* 8059E3D4 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */
/* 8059E3D8 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */
/* 8059E3DC 38 E0 00 00 */ li r7, 0
/* 8059E3E0 39 00 00 01 */ li r8, 1
/* 8059E3E4 4B A7 D2 99 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs
/* 8059E3E8 A0 1F 00 FA */ lhz r0, 0xfa(r31)
/* 8059E3EC 60 00 00 02 */ ori r0, r0, 2
/* 8059E3F0 B0 1F 00 FA */ sth r0, 0xfa(r31)
lbl_8059E3F4:
/* 8059E3F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059E3F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E3FC 7C 08 03 A6 */ mtlr r0
/* 8059E400 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E404 4E 80 00 20 */ blr

View File

@ -1,19 +0,0 @@
lbl_8059E6CC:
/* 8059E6CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E6D0 7C 08 02 A6 */ mflr r0
/* 8059E6D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E6D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059E6DC 7C 7F 1B 78 */ mr r31, r3
/* 8059E6E0 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059E6E4 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059E6E8 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 8059E6EC 4B A7 C2 79 */ bl fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c
/* 8059E6F0 C0 1F 05 74 */ lfs f0, 0x574(r31)
/* 8059E6F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8059E6F8 7C 00 00 26 */ mfcr r0
/* 8059E6FC 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8059E700 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059E704 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E708 7C 08 03 A6 */ mtlr r0
/* 8059E70C 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E710 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8059E7B0:
/* 8059E7B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E7B4 7C 08 02 A6 */ mflr r0
/* 8059E7B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E7BC 4B FF FA 75 */ bl create__10daScExit_cFv
/* 8059E7C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E7C4 7C 08 03 A6 */ mtlr r0
/* 8059E7C8 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E7CC 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8059E790:
/* 8059E790 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E794 7C 08 02 A6 */ mflr r0
/* 8059E798 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E79C 4B FF FF 81 */ bl _delete__10daScExit_cFv
/* 8059E7A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E7A4 7C 08 03 A6 */ mtlr r0
/* 8059E7A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E7AC 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8059E750:
/* 8059E750 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E754 7C 08 02 A6 */ mflr r0
/* 8059E758 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E75C 4B FF FF B9 */ bl draw__10daScExit_cFv
/* 8059E760 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E764 7C 08 03 A6 */ mtlr r0
/* 8059E768 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E76C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8059E770:
/* 8059E770 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E774 7C 08 02 A6 */ mflr r0
/* 8059E778 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E77C 4B FF FB 45 */ bl execute__10daScExit_cFv
/* 8059E780 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E784 7C 08 03 A6 */ mtlr r0
/* 8059E788 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E78C 4E 80 00 20 */ blr

View File

@ -1,124 +0,0 @@
lbl_8059E508:
/* 8059E508 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8059E50C 7C 08 02 A6 */ mflr r0
/* 8059E510 90 01 00 34 */ stw r0, 0x34(r1)
/* 8059E514 39 61 00 30 */ addi r11, r1, 0x30
/* 8059E518 4B DC 3C BD */ bl _savegpr_27
/* 8059E51C 7C 7C 1B 78 */ mr r28, r3
/* 8059E520 3C 60 80 5A */ lis r3, lit_3659@ha /* 0x8059E7F4@ha */
/* 8059E524 3B C3 E7 F4 */ addi r30, r3, lit_3659@l /* 0x8059E7F4@l */
/* 8059E528 80 1C 00 B0 */ lwz r0, 0xb0(r28)
/* 8059E52C 54 1F 06 3E */ clrlwi r31, r0, 0x18
/* 8059E530 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059E534 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059E538 3B A3 4F F8 */ addi r29, r3, 0x4ff8
/* 8059E53C 7F A3 EB 78 */ mr r3, r29
/* 8059E540 80 9C 05 70 */ lwz r4, 0x570(r28)
/* 8059E544 3C A0 80 5A */ lis r5, action_table@ha /* 0x8059E8C0@ha */
/* 8059E548 38 A5 E8 C0 */ addi r5, r5, action_table@l /* 0x8059E8C0@l */
/* 8059E54C 38 C0 00 03 */ li r6, 3
/* 8059E550 38 E0 00 00 */ li r7, 0
/* 8059E554 39 00 00 00 */ li r8, 0
/* 8059E558 4B AA 98 B9 */ bl getMyActIdx__16dEvent_manager_cFiPCPCciii
/* 8059E55C 7C 7B 1B 78 */ mr r27, r3
/* 8059E560 7F A3 EB 78 */ mr r3, r29
/* 8059E564 80 9C 05 70 */ lwz r4, 0x570(r28)
/* 8059E568 4B AA 97 E5 */ bl getIsAddvance__16dEvent_manager_cFi
/* 8059E56C 2C 03 00 00 */ cmpwi r3, 0
/* 8059E570 41 82 00 BC */ beq lbl_8059E62C
/* 8059E574 2C 1B 00 01 */ cmpwi r27, 1
/* 8059E578 41 82 00 54 */ beq lbl_8059E5CC
/* 8059E57C 40 80 00 B0 */ bge lbl_8059E62C
/* 8059E580 2C 1B 00 00 */ cmpwi r27, 0
/* 8059E584 40 80 00 0C */ bge lbl_8059E590
/* 8059E588 48 00 00 A4 */ b lbl_8059E62C
/* 8059E58C 48 00 00 A0 */ b lbl_8059E62C
lbl_8059E590:
/* 8059E590 7F A3 EB 78 */ mr r3, r29
/* 8059E594 80 9C 05 70 */ lwz r4, 0x570(r28)
/* 8059E598 3C A0 80 5A */ lis r5, d_a_scene_exit2__stringBase0@ha /* 0x8059E808@ha */
/* 8059E59C 38 A5 E8 08 */ addi r5, r5, d_a_scene_exit2__stringBase0@l /* 0x8059E808@l */
/* 8059E5A0 38 A5 00 2A */ addi r5, r5, 0x2a
/* 8059E5A4 38 C0 00 03 */ li r6, 3
/* 8059E5A8 4B AA 9B 45 */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 8059E5AC 28 03 00 00 */ cmplwi r3, 0
/* 8059E5B0 40 82 00 10 */ bne lbl_8059E5C0
/* 8059E5B4 38 00 00 01 */ li r0, 1
/* 8059E5B8 98 1C 05 7C */ stb r0, 0x57c(r28)
/* 8059E5BC 48 00 00 70 */ b lbl_8059E62C
lbl_8059E5C0:
/* 8059E5C0 80 03 00 00 */ lwz r0, 0(r3)
/* 8059E5C4 98 1C 05 7C */ stb r0, 0x57c(r28)
/* 8059E5C8 48 00 00 64 */ b lbl_8059E62C
lbl_8059E5CC:
/* 8059E5CC 88 1C 04 E2 */ lbz r0, 0x4e2(r28)
/* 8059E5D0 7C 03 07 74 */ extsb r3, r0
/* 8059E5D4 4B A8 EA 99 */ bl dComIfGp_getReverb__Fi
/* 8059E5D8 7C 67 1B 78 */ mr r7, r3
/* 8059E5DC 38 00 00 86 */ li r0, 0x86
/* 8059E5E0 90 01 00 08 */ stw r0, 8(r1)
/* 8059E5E4 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 8059E5E8 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 8059E5EC 80 63 00 00 */ lwz r3, 0(r3)
/* 8059E5F0 38 81 00 08 */ addi r4, r1, 8
/* 8059E5F4 38 BC 05 38 */ addi r5, r28, 0x538
/* 8059E5F8 38 C0 00 00 */ li r6, 0
/* 8059E5FC C0 3E 00 04 */ lfs f1, 4(r30)
/* 8059E600 FC 40 08 90 */ fmr f2, f1
/* 8059E604 C0 7E 00 08 */ lfs f3, 8(r30)
/* 8059E608 FC 80 18 90 */ fmr f4, f3
/* 8059E60C 39 00 00 00 */ li r8, 0
/* 8059E610 4B D0 D3 75 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 8059E614 C0 3E 00 0C */ lfs f1, 0xc(r30)
/* 8059E618 C0 1C 04 D4 */ lfs f0, 0x4d4(r28)
/* 8059E61C EC 01 00 2A */ fadds f0, f1, f0
/* 8059E620 D0 1C 05 54 */ stfs f0, 0x554(r28)
/* 8059E624 C0 1C 05 54 */ lfs f0, 0x554(r28)
/* 8059E628 D0 1C 05 3C */ stfs f0, 0x53c(r28)
lbl_8059E62C:
/* 8059E62C 2C 1B 00 01 */ cmpwi r27, 1
/* 8059E630 41 82 00 40 */ beq lbl_8059E670
/* 8059E634 40 80 00 10 */ bge lbl_8059E644
/* 8059E638 2C 1B 00 00 */ cmpwi r27, 0
/* 8059E63C 40 80 00 14 */ bge lbl_8059E650
/* 8059E640 48 00 00 64 */ b lbl_8059E6A4
lbl_8059E644:
/* 8059E644 2C 1B 00 03 */ cmpwi r27, 3
/* 8059E648 40 80 00 5C */ bge lbl_8059E6A4
/* 8059E64C 48 00 00 34 */ b lbl_8059E680
lbl_8059E650:
/* 8059E650 38 7C 05 7C */ addi r3, r28, 0x57c
/* 8059E654 48 00 01 7D */ bl func_8059E7D0
/* 8059E658 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8059E65C 40 82 00 54 */ bne lbl_8059E6B0
/* 8059E660 7F A3 EB 78 */ mr r3, r29
/* 8059E664 80 9C 05 70 */ lwz r4, 0x570(r28)
/* 8059E668 4B AA 9B 15 */ bl cutEnd__16dEvent_manager_cFi
/* 8059E66C 48 00 00 44 */ b lbl_8059E6B0
lbl_8059E670:
/* 8059E670 7F A3 EB 78 */ mr r3, r29
/* 8059E674 80 9C 05 70 */ lwz r4, 0x570(r28)
/* 8059E678 4B AA 9B 05 */ bl cutEnd__16dEvent_manager_cFi
/* 8059E67C 48 00 00 34 */ b lbl_8059E6B0
lbl_8059E680:
/* 8059E680 7F E3 FB 78 */ mr r3, r31
/* 8059E684 C0 3E 00 10 */ lfs f1, 0x10(r30)
/* 8059E688 38 80 00 00 */ li r4, 0
/* 8059E68C 88 1C 04 E2 */ lbz r0, 0x4e2(r28)
/* 8059E690 7C 05 07 74 */ extsb r5, r0
/* 8059E694 38 C0 00 00 */ li r6, 0
/* 8059E698 38 E0 FF FF */ li r7, -1
/* 8059E69C 4B A8 8A D5 */ bl dStage_changeScene__FifUlScsi
/* 8059E6A0 48 00 00 10 */ b lbl_8059E6B0
lbl_8059E6A4:
/* 8059E6A4 7F A3 EB 78 */ mr r3, r29
/* 8059E6A8 80 9C 05 70 */ lwz r4, 0x570(r28)
/* 8059E6AC 4B AA 9A D1 */ bl cutEnd__16dEvent_manager_cFi
lbl_8059E6B0:
/* 8059E6B0 38 60 00 00 */ li r3, 0
/* 8059E6B4 39 61 00 30 */ addi r11, r1, 0x30
/* 8059E6B8 4B DC 3B 69 */ bl _restgpr_27
/* 8059E6BC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8059E6C0 7C 08 03 A6 */ mtlr r0
/* 8059E6C4 38 21 00 30 */ addi r1, r1, 0x30
/* 8059E6C8 4E 80 00 20 */ blr

View File

@ -1,49 +0,0 @@
lbl_8059E2E4:
/* 8059E2E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E2E8 7C 08 02 A6 */ mflr r0
/* 8059E2EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E2F0 3C 80 80 5A */ lis r4, cNullVec__6Z2Calc@ha /* 0x8059E838@ha */
/* 8059E2F4 38 E4 E8 38 */ addi r7, r4, cNullVec__6Z2Calc@l /* 0x8059E838@l */
/* 8059E2F8 3C 80 80 5A */ lis r4, data_8059E920@ha /* 0x8059E920@ha */
/* 8059E2FC 38 C4 E9 20 */ addi r6, r4, data_8059E920@l /* 0x8059E920@l */
/* 8059E300 88 06 00 00 */ lbz r0, 0(r6)
/* 8059E304 7C 00 07 75 */ extsb. r0, r0
/* 8059E308 40 82 00 70 */ bne lbl_8059E378
/* 8059E30C 80 87 00 28 */ lwz r4, 0x28(r7)
/* 8059E310 80 07 00 2C */ lwz r0, 0x2c(r7)
/* 8059E314 90 87 00 58 */ stw r4, 0x58(r7)
/* 8059E318 90 07 00 5C */ stw r0, 0x5c(r7)
/* 8059E31C 80 07 00 30 */ lwz r0, 0x30(r7)
/* 8059E320 90 07 00 60 */ stw r0, 0x60(r7)
/* 8059E324 38 A7 00 58 */ addi r5, r7, 0x58
/* 8059E328 80 87 00 34 */ lwz r4, 0x34(r7)
/* 8059E32C 80 07 00 38 */ lwz r0, 0x38(r7)
/* 8059E330 90 85 00 0C */ stw r4, 0xc(r5)
/* 8059E334 90 05 00 10 */ stw r0, 0x10(r5)
/* 8059E338 80 07 00 3C */ lwz r0, 0x3c(r7)
/* 8059E33C 90 05 00 14 */ stw r0, 0x14(r5)
/* 8059E340 80 87 00 40 */ lwz r4, 0x40(r7)
/* 8059E344 80 07 00 44 */ lwz r0, 0x44(r7)
/* 8059E348 90 85 00 18 */ stw r4, 0x18(r5)
/* 8059E34C 90 05 00 1C */ stw r0, 0x1c(r5)
/* 8059E350 80 07 00 48 */ lwz r0, 0x48(r7)
/* 8059E354 90 05 00 20 */ stw r0, 0x20(r5)
/* 8059E358 80 87 00 4C */ lwz r4, 0x4c(r7)
/* 8059E35C 80 07 00 50 */ lwz r0, 0x50(r7)
/* 8059E360 90 85 00 24 */ stw r4, 0x24(r5)
/* 8059E364 90 05 00 28 */ stw r0, 0x28(r5)
/* 8059E368 80 07 00 54 */ lwz r0, 0x54(r7)
/* 8059E36C 90 05 00 2C */ stw r0, 0x2c(r5)
/* 8059E370 38 00 00 01 */ li r0, 1
/* 8059E374 98 06 00 00 */ stb r0, 0(r6)
lbl_8059E378:
/* 8059E378 88 03 05 7B */ lbz r0, 0x57b(r3)
/* 8059E37C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8059E380 39 87 00 58 */ addi r12, r7, 0x58
/* 8059E384 7D 8C 02 14 */ add r12, r12, r0
/* 8059E388 4B DC 3C FD */ bl __ptmf_scall
/* 8059E38C 60 00 00 00 */ nop
/* 8059E390 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E394 7C 08 03 A6 */ mtlr r0
/* 8059E398 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E39C 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_8059E2C0:
/* 8059E2C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E2C4 7C 08 02 A6 */ mflr r0
/* 8059E2C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E2CC 48 00 00 19 */ bl event_proc_call__10daScExit_cFv
/* 8059E2D0 38 60 00 01 */ li r3, 1
/* 8059E2D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E2D8 7C 08 03 A6 */ mtlr r0
/* 8059E2DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E2E0 4E 80 00 20 */ blr

View File

@ -1,41 +0,0 @@
lbl_8059E230:
/* 8059E230 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E234 7C 08 02 A6 */ mflr r0
/* 8059E238 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E23C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059E240 93 C1 00 08 */ stw r30, 8(r1)
/* 8059E244 7C 7E 1B 78 */ mr r30, r3
/* 8059E248 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 8059E24C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8059E250 40 82 00 1C */ bne lbl_8059E26C
/* 8059E254 28 1E 00 00 */ cmplwi r30, 0
/* 8059E258 41 82 00 08 */ beq lbl_8059E260
/* 8059E25C 4B A7 A9 09 */ bl __ct__10fopAc_ac_cFv
lbl_8059E260:
/* 8059E260 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
/* 8059E264 60 00 00 08 */ ori r0, r0, 8
/* 8059E268 90 1E 04 A0 */ stw r0, 0x4a0(r30)
lbl_8059E26C:
/* 8059E26C 38 7E 05 68 */ addi r3, r30, 0x568
/* 8059E270 3C 80 80 5A */ lis r4, l_arcName@ha /* 0x8059E858@ha */
/* 8059E274 38 84 E8 58 */ addi r4, r4, l_arcName@l /* 0x8059E858@l */
/* 8059E278 80 84 00 00 */ lwz r4, 0(r4)
/* 8059E27C 4B A8 EC 41 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 8059E280 7C 7F 1B 78 */ mr r31, r3
/* 8059E284 2C 1F 00 04 */ cmpwi r31, 4
/* 8059E288 40 82 00 1C */ bne lbl_8059E2A4
/* 8059E28C 7F C3 F3 78 */ mr r3, r30
/* 8059E290 4B FF FF 21 */ bl Create__10daScExit_cFv
/* 8059E294 2C 03 00 00 */ cmpwi r3, 0
/* 8059E298 40 82 00 0C */ bne lbl_8059E2A4
/* 8059E29C 38 60 00 05 */ li r3, 5
/* 8059E2A0 48 00 00 08 */ b lbl_8059E2A8
lbl_8059E2A4:
/* 8059E2A4 7F E3 FB 78 */ mr r3, r31
lbl_8059E2A8:
/* 8059E2A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059E2AC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8059E2B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E2B4 7C 08 03 A6 */ mtlr r0
/* 8059E2B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E2BC 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8059E158:
/* 8059E158 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E15C 7C 08 02 A6 */ mflr r0
/* 8059E160 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E164 48 00 00 15 */ bl setBaseMtx__10daScExit_cFv
/* 8059E168 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E16C 7C 08 03 A6 */ mtlr r0
/* 8059E170 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E174 4E 80 00 20 */ blr

View File

@ -1,15 +0,0 @@
lbl_8059E178:
/* 8059E178 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059E17C 7C 08 02 A6 */ mflr r0
/* 8059E180 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059E184 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059E188 7C 7F 1B 78 */ mr r31, r3
/* 8059E18C 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 8059E190 4B A6 EB D5 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 8059E194 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 8059E198 4B A6 ED AD */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 8059E19C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059E1A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059E1A4 7C 08 03 A6 */ mtlr r0
/* 8059E1A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8059E1AC 4E 80 00 20 */ blr

View File

@ -1,28 +0,0 @@
lbl_805A3AB8:
/* 805A3AB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805A3ABC 7C 08 02 A6 */ mflr r0
/* 805A3AC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 805A3AC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 805A3AC8 7C 7F 1B 78 */ mr r31, r3
/* 805A3ACC 3C 60 80 5A */ lis r3, l_arcName@ha /* 0x805A4238@ha */
/* 805A3AD0 38 63 42 38 */ addi r3, r3, l_arcName@l /* 0x805A4238@l */
/* 805A3AD4 38 80 00 04 */ li r4, 4
/* 805A3AD8 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A3ADC 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A3AE0 3C A5 00 02 */ addis r5, r5, 2
/* 805A3AE4 38 C0 00 80 */ li r6, 0x80
/* 805A3AE8 38 A5 C2 F8 */ addi r5, r5, -15624
/* 805A3AEC 4B A9 88 01 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 805A3AF0 3C 80 00 08 */ lis r4, 8
/* 805A3AF4 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 805A3AF8 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 805A3AFC 4B A7 11 59 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 805A3B00 90 7F 05 A8 */ stw r3, 0x5a8(r31)
/* 805A3B04 80 7F 05 A8 */ lwz r3, 0x5a8(r31)
/* 805A3B08 30 03 FF FF */ addic r0, r3, -1
/* 805A3B0C 7C 60 19 10 */ subfe r3, r0, r3
/* 805A3B10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 805A3B14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805A3B18 7C 08 03 A6 */ mtlr r0
/* 805A3B1C 38 21 00 10 */ addi r1, r1, 0x10
/* 805A3B20 4E 80 00 20 */ blr

View File

@ -1,46 +0,0 @@
lbl_805A4154:
/* 805A4154 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805A4158 7C 08 02 A6 */ mflr r0
/* 805A415C 90 01 00 14 */ stw r0, 0x14(r1)
/* 805A4160 93 E1 00 0C */ stw r31, 0xc(r1)
/* 805A4164 93 C1 00 08 */ stw r30, 8(r1)
/* 805A4168 7C 7E 1B 78 */ mr r30, r3
/* 805A416C 88 03 05 AC */ lbz r0, 0x5ac(r3)
/* 805A4170 28 00 00 00 */ cmplwi r0, 0
/* 805A4174 41 82 00 74 */ beq lbl_805A41E8
/* 805A4178 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 805A417C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 805A4180 38 80 00 10 */ li r4, 0x10
/* 805A4184 38 BE 04 D0 */ addi r5, r30, 0x4d0
/* 805A4188 38 DE 01 0C */ addi r6, r30, 0x10c
/* 805A418C 4B BF F6 39 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 805A4190 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 805A4194 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 805A4198 80 9E 05 A8 */ lwz r4, 0x5a8(r30)
/* 805A419C 80 84 00 04 */ lwz r4, 4(r4)
/* 805A41A0 38 BE 01 0C */ addi r5, r30, 0x10c
/* 805A41A4 4B C0 0B FD */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 805A41A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A41AC 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A41B0 80 04 5F 70 */ lwz r0, 0x5f70(r4)
/* 805A41B4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 805A41B8 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */
/* 805A41BC 90 1F 00 48 */ stw r0, 0x48(r31)
/* 805A41C0 80 04 5F 74 */ lwz r0, 0x5f74(r4)
/* 805A41C4 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 805A41C8 80 7E 05 A8 */ lwz r3, 0x5a8(r30)
/* 805A41CC 4B A6 9A F9 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 805A41D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A41D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A41D8 80 03 5F 80 */ lwz r0, 0x5f80(r3)
/* 805A41DC 90 1F 00 48 */ stw r0, 0x48(r31)
/* 805A41E0 80 03 5F 84 */ lwz r0, 0x5f84(r3)
/* 805A41E4 90 1F 00 4C */ stw r0, 0x4c(r31)
lbl_805A41E8:
/* 805A41E8 38 60 00 01 */ li r3, 1
/* 805A41EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 805A41F0 83 C1 00 08 */ lwz r30, 8(r1)
/* 805A41F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805A41F8 7C 08 03 A6 */ mtlr r0
/* 805A41FC 38 21 00 10 */ addi r1, r1, 0x10
/* 805A4200 4E 80 00 20 */ blr

View File

@ -1,41 +0,0 @@
lbl_805A3DA0:
/* 805A3DA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805A3DA4 7C 08 02 A6 */ mflr r0
/* 805A3DA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 805A3DAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 805A3DB0 93 C1 00 08 */ stw r30, 8(r1)
/* 805A3DB4 7C 7E 1B 79 */ or. r30, r3, r3
/* 805A3DB8 7C 9F 23 78 */ mr r31, r4
/* 805A3DBC 41 82 00 5C */ beq lbl_805A3E18
/* 805A3DC0 3C 60 80 5A */ lis r3, __vt__12daTagHjump_c@ha /* 0x805A42BC@ha */
/* 805A3DC4 38 03 42 BC */ addi r0, r3, __vt__12daTagHjump_c@l /* 0x805A42BC@l */
/* 805A3DC8 90 1E 05 9C */ stw r0, 0x59c(r30)
/* 805A3DCC 88 1E 05 AC */ lbz r0, 0x5ac(r30)
/* 805A3DD0 28 00 00 00 */ cmplwi r0, 0
/* 805A3DD4 41 82 00 14 */ beq lbl_805A3DE8
/* 805A3DD8 38 7E 05 A0 */ addi r3, r30, 0x5a0
/* 805A3DDC 3C 80 80 5A */ lis r4, l_arcName@ha /* 0x805A4238@ha */
/* 805A3DE0 38 84 42 38 */ addi r4, r4, l_arcName@l /* 0x805A4238@l */
/* 805A3DE4 4B A8 92 25 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
lbl_805A3DE8:
/* 805A3DE8 28 1E 00 00 */ cmplwi r30, 0
/* 805A3DEC 41 82 00 1C */ beq lbl_805A3E08
/* 805A3DF0 3C 60 80 3B */ lis r3, __vt__16dBgS_MoveBgActor@ha /* 0x803AB9A0@ha */
/* 805A3DF4 38 03 B9 A0 */ addi r0, r3, __vt__16dBgS_MoveBgActor@l /* 0x803AB9A0@l */
/* 805A3DF8 90 1E 05 9C */ stw r0, 0x59c(r30)
/* 805A3DFC 7F C3 F3 78 */ mr r3, r30
/* 805A3E00 38 80 00 00 */ li r4, 0
/* 805A3E04 4B A7 4E 89 */ bl __dt__10fopAc_ac_cFv
lbl_805A3E08:
/* 805A3E08 7F E0 07 35 */ extsh. r0, r31
/* 805A3E0C 40 81 00 0C */ ble lbl_805A3E18
/* 805A3E10 7F C3 F3 78 */ mr r3, r30
/* 805A3E14 4B D2 AF 29 */ bl __dl__FPv
lbl_805A3E18:
/* 805A3E18 7F C3 F3 78 */ mr r3, r30
/* 805A3E1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 805A3E20 83 C1 00 08 */ lwz r30, 8(r1)
/* 805A3E24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805A3E28 7C 08 03 A6 */ mtlr r0
/* 805A3E2C 38 21 00 10 */ addi r1, r1, 0x10
/* 805A3E30 4E 80 00 20 */ blr

View File

@ -1,159 +0,0 @@
lbl_805A3B24:
/* 805A3B24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 805A3B28 7C 08 02 A6 */ mflr r0
/* 805A3B2C 90 01 00 24 */ stw r0, 0x24(r1)
/* 805A3B30 39 61 00 20 */ addi r11, r1, 0x20
/* 805A3B34 4B DB E6 A9 */ bl _savegpr_29
/* 805A3B38 7C 7D 1B 78 */ mr r29, r3
/* 805A3B3C 3C 80 80 5A */ lis r4, l_arcName@ha /* 0x805A4238@ha */
/* 805A3B40 3B E4 42 38 */ addi r31, r4, l_arcName@l /* 0x805A4238@l */
/* 805A3B44 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 805A3B48 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 805A3B4C 40 82 00 28 */ bne lbl_805A3B74
/* 805A3B50 28 1D 00 00 */ cmplwi r29, 0
/* 805A3B54 41 82 00 14 */ beq lbl_805A3B68
/* 805A3B58 4B AD 4A CD */ bl __ct__16dBgS_MoveBgActorFv
/* 805A3B5C 3C 60 80 5A */ lis r3, __vt__12daTagHjump_c@ha /* 0x805A42BC@ha */
/* 805A3B60 38 03 42 BC */ addi r0, r3, __vt__12daTagHjump_c@l /* 0x805A42BC@l */
/* 805A3B64 90 1D 05 9C */ stw r0, 0x59c(r29)
lbl_805A3B68:
/* 805A3B68 80 1D 04 A0 */ lwz r0, 0x4a0(r29)
/* 805A3B6C 60 00 00 08 */ ori r0, r0, 8
/* 805A3B70 90 1D 04 A0 */ stw r0, 0x4a0(r29)
lbl_805A3B74:
/* 805A3B74 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 805A3B78 54 00 E7 3E */ rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 805A3B7C 98 1D 05 AC */ stb r0, 0x5ac(r29)
/* 805A3B80 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 805A3B84 54 00 07 3E */ clrlwi r0, r0, 0x1c
/* 805A3B88 98 1D 05 AD */ stb r0, 0x5ad(r29)
/* 805A3B8C 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 805A3B90 54 00 C5 3E */ rlwinm r0, r0, 0x18, 0x14, 0x1f
/* 805A3B94 B0 1D 05 B0 */ sth r0, 0x5b0(r29)
/* 805A3B98 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 805A3B9C 54 00 65 3E */ srwi r0, r0, 0x14
/* 805A3BA0 B0 1D 05 B2 */ sth r0, 0x5b2(r29)
/* 805A3BA4 88 1D 05 AD */ lbz r0, 0x5ad(r29)
/* 805A3BA8 28 00 00 0F */ cmplwi r0, 0xf
/* 805A3BAC 40 82 00 0C */ bne lbl_805A3BB8
/* 805A3BB0 38 00 00 00 */ li r0, 0
/* 805A3BB4 98 1D 05 AD */ stb r0, 0x5ad(r29)
lbl_805A3BB8:
/* 805A3BB8 88 1D 05 AC */ lbz r0, 0x5ac(r29)
/* 805A3BBC 28 00 00 00 */ cmplwi r0, 0
/* 805A3BC0 41 82 01 30 */ beq lbl_805A3CF0
/* 805A3BC4 38 7D 05 A0 */ addi r3, r29, 0x5a0
/* 805A3BC8 38 9F 00 00 */ addi r4, r31, 0
/* 805A3BCC 4B A8 92 F1 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 805A3BD0 7C 7E 1B 78 */ mr r30, r3
/* 805A3BD4 2C 1E 00 04 */ cmpwi r30, 4
/* 805A3BD8 40 82 01 7C */ bne lbl_805A3D54
/* 805A3BDC 7F A3 EB 78 */ mr r3, r29
/* 805A3BE0 38 9F 00 00 */ addi r4, r31, 0
/* 805A3BE4 38 A0 00 07 */ li r5, 7
/* 805A3BE8 38 C0 00 00 */ li r6, 0
/* 805A3BEC 38 E0 0C A0 */ li r7, 0xca0
/* 805A3BF0 39 00 00 00 */ li r8, 0
/* 805A3BF4 4B AD 4B C9 */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f
/* 805A3BF8 7C 7E 1B 78 */ mr r30, r3
/* 805A3BFC 2C 1E 00 04 */ cmpwi r30, 4
/* 805A3C00 40 82 01 54 */ bne lbl_805A3D54
/* 805A3C04 80 7D 05 A8 */ lwz r3, 0x5a8(r29)
/* 805A3C08 38 03 00 24 */ addi r0, r3, 0x24
/* 805A3C0C 90 1D 05 04 */ stw r0, 0x504(r29)
/* 805A3C10 88 1D 04 E2 */ lbz r0, 0x4e2(r29)
/* 805A3C14 98 1D 04 8C */ stb r0, 0x48c(r29)
/* 805A3C18 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 805A3C1C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 805A3C20 C0 3D 04 D0 */ lfs f1, 0x4d0(r29)
/* 805A3C24 C0 5D 04 D4 */ lfs f2, 0x4d4(r29)
/* 805A3C28 C0 7D 04 D8 */ lfs f3, 0x4d8(r29)
/* 805A3C2C 4B DA 2C BD */ bl PSMTXTrans
/* 805A3C30 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 805A3C34 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 805A3C38 A8 9D 04 E6 */ lha r4, 0x4e6(r29)
/* 805A3C3C 4B A6 87 F9 */ bl mDoMtx_YrotM__FPA4_fs
/* 805A3C40 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 805A3C44 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 805A3C48 80 9D 05 A8 */ lwz r4, 0x5a8(r29)
/* 805A3C4C 38 84 00 24 */ addi r4, r4, 0x24
/* 805A3C50 4B DA 28 61 */ bl PSMTXCopy
/* 805A3C54 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 805A3C58 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 805A3C5C C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 805A3C60 C0 3F 00 08 */ lfs f1, 8(r31)
/* 805A3C64 EC 00 08 28 */ fsubs f0, f0, f1
/* 805A3C68 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 805A3C6C C0 1D 04 D4 */ lfs f0, 0x4d4(r29)
/* 805A3C70 EC 00 08 28 */ fsubs f0, f0, f1
/* 805A3C74 D0 1D 04 D4 */ stfs f0, 0x4d4(r29)
/* 805A3C78 80 7D 05 68 */ lwz r3, 0x568(r29)
/* 805A3C7C 88 03 00 88 */ lbz r0, 0x88(r3)
/* 805A3C80 60 00 00 80 */ ori r0, r0, 0x80
/* 805A3C84 98 03 00 88 */ stb r0, 0x88(r3)
/* 805A3C88 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 805A3C8C D0 1D 04 EC */ stfs f0, 0x4ec(r29)
/* 805A3C90 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 805A3C94 D0 1D 04 F0 */ stfs f0, 0x4f0(r29)
/* 805A3C98 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 805A3C9C D0 1D 04 F4 */ stfs f0, 0x4f4(r29)
/* 805A3CA0 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 805A3CA4 D0 1D 05 B8 */ stfs f0, 0x5b8(r29)
/* 805A3CA8 7F A3 EB 78 */ mr r3, r29
/* 805A3CAC C0 1D 04 EC */ lfs f0, 0x4ec(r29)
/* 805A3CB0 FC 20 00 50 */ fneg f1, f0
/* 805A3CB4 C0 5F 00 1C */ lfs f2, 0x1c(r31)
/* 805A3CB8 C0 7F 00 20 */ lfs f3, 0x20(r31)
/* 805A3CBC 4B A7 68 6D */ bl fopAcM_SetMin__FP10fopAc_ac_cfff
/* 805A3CC0 7F A3 EB 78 */ mr r3, r29
/* 805A3CC4 C0 3D 04 EC */ lfs f1, 0x4ec(r29)
/* 805A3CC8 C0 5F 00 18 */ lfs f2, 0x18(r31)
/* 805A3CCC C0 7F 00 24 */ lfs f3, 0x24(r31)
/* 805A3CD0 4B A7 68 69 */ bl fopAcM_SetMax__FP10fopAc_ac_cfff
/* 805A3CD4 38 00 20 00 */ li r0, 0x2000
/* 805A3CD8 B0 1D 05 AE */ sth r0, 0x5ae(r29)
/* 805A3CDC C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 805A3CE0 D0 1D 05 20 */ stfs f0, 0x520(r29)
/* 805A3CE4 38 00 00 04 */ li r0, 4
/* 805A3CE8 98 1D 05 AD */ stb r0, 0x5ad(r29)
/* 805A3CEC 48 00 00 68 */ b lbl_805A3D54
lbl_805A3CF0:
/* 805A3CF0 3B C0 00 04 */ li r30, 4
/* 805A3CF4 C0 1D 04 EC */ lfs f0, 0x4ec(r29)
/* 805A3CF8 C0 3F 00 08 */ lfs f1, 8(r31)
/* 805A3CFC EC 00 00 72 */ fmuls f0, f0, f1
/* 805A3D00 D0 1D 04 EC */ stfs f0, 0x4ec(r29)
/* 805A3D04 C0 1D 04 F4 */ lfs f0, 0x4f4(r29)
/* 805A3D08 EC 00 00 72 */ fmuls f0, f0, f1
/* 805A3D0C D0 1D 04 F4 */ stfs f0, 0x4f4(r29)
/* 805A3D10 C0 1D 04 F0 */ lfs f0, 0x4f0(r29)
/* 805A3D14 EC 00 00 72 */ fmuls f0, f0, f1
/* 805A3D18 D0 1D 04 F0 */ stfs f0, 0x4f0(r29)
/* 805A3D1C 88 1D 05 AD */ lbz r0, 0x5ad(r29)
/* 805A3D20 28 00 00 00 */ cmplwi r0, 0
/* 805A3D24 41 82 00 0C */ beq lbl_805A3D30
/* 805A3D28 28 00 00 01 */ cmplwi r0, 1
/* 805A3D2C 40 82 00 18 */ bne lbl_805A3D44
lbl_805A3D30:
/* 805A3D30 C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 805A3D34 D0 1D 05 B8 */ stfs f0, 0x5b8(r29)
/* 805A3D38 38 00 10 00 */ li r0, 0x1000
/* 805A3D3C B0 1D 05 AE */ sth r0, 0x5ae(r29)
/* 805A3D40 48 00 00 14 */ b lbl_805A3D54
lbl_805A3D44:
/* 805A3D44 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 805A3D48 D0 1D 05 B8 */ stfs f0, 0x5b8(r29)
/* 805A3D4C 38 00 20 00 */ li r0, 0x2000
/* 805A3D50 B0 1D 05 AE */ sth r0, 0x5ae(r29)
lbl_805A3D54:
/* 805A3D54 C0 3D 04 D4 */ lfs f1, 0x4d4(r29)
/* 805A3D58 C0 1D 04 F0 */ lfs f0, 0x4f0(r29)
/* 805A3D5C EC 01 00 2A */ fadds f0, f1, f0
/* 805A3D60 D0 1D 05 B4 */ stfs f0, 0x5b4(r29)
/* 805A3D64 7F C3 F3 78 */ mr r3, r30
/* 805A3D68 39 61 00 20 */ addi r11, r1, 0x20
/* 805A3D6C 4B DB E4 BD */ bl _restgpr_29
/* 805A3D70 80 01 00 24 */ lwz r0, 0x24(r1)
/* 805A3D74 7C 08 03 A6 */ mtlr r0
/* 805A3D78 38 21 00 20 */ addi r1, r1, 0x20
/* 805A3D7C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_805A3D80:
/* 805A3D80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805A3D84 7C 08 02 A6 */ mflr r0
/* 805A3D88 90 01 00 14 */ stw r0, 0x14(r1)
/* 805A3D8C 4B FF FD 99 */ bl create__12daTagHjump_cFv
/* 805A3D90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805A3D94 7C 08 03 A6 */ mtlr r0
/* 805A3D98 38 21 00 10 */ addi r1, r1, 0x10
/* 805A3D9C 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_805A3E34:
/* 805A3E34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805A3E38 7C 08 02 A6 */ mflr r0
/* 805A3E3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 805A3E40 93 E1 00 0C */ stw r31, 0xc(r1)
/* 805A3E44 7C 7F 1B 78 */ mr r31, r3
/* 805A3E48 4B AD 4A 95 */ bl MoveBGDelete__16dBgS_MoveBgActorFv
/* 805A3E4C 7F E3 FB 78 */ mr r3, r31
/* 805A3E50 38 80 FF FF */ li r4, -1
/* 805A3E54 4B FF FF 4D */ bl __dt__12daTagHjump_cFv
/* 805A3E58 38 60 00 01 */ li r3, 1
/* 805A3E5C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 805A3E60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805A3E64 7C 08 03 A6 */ mtlr r0
/* 805A3E68 38 21 00 10 */ addi r1, r1, 0x10
/* 805A3E6C 4E 80 00 20 */ blr

View File

@ -1,12 +0,0 @@
lbl_805A4204:
/* 805A4204 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805A4208 7C 08 02 A6 */ mflr r0
/* 805A420C 90 01 00 14 */ stw r0, 0x14(r1)
/* 805A4210 81 83 05 9C */ lwz r12, 0x59c(r3)
/* 805A4214 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 805A4218 7D 89 03 A6 */ mtctr r12
/* 805A421C 4E 80 04 21 */ bctrl
/* 805A4220 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805A4224 7C 08 03 A6 */ mtlr r0
/* 805A4228 38 21 00 10 */ addi r1, r1, 0x10
/* 805A422C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_805A4134:
/* 805A4134 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805A4138 7C 08 02 A6 */ mflr r0
/* 805A413C 90 01 00 14 */ stw r0, 0x14(r1)
/* 805A4140 4B FF FD 31 */ bl execute__12daTagHjump_cFv
/* 805A4144 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805A4148 7C 08 03 A6 */ mtlr r0
/* 805A414C 38 21 00 10 */ addi r1, r1, 0x10
/* 805A4150 4E 80 00 20 */ blr

View File

@ -1,192 +0,0 @@
lbl_805A3E70:
/* 805A3E70 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 805A3E74 7C 08 02 A6 */ mflr r0
/* 805A3E78 90 01 00 34 */ stw r0, 0x34(r1)
/* 805A3E7C 39 61 00 30 */ addi r11, r1, 0x30
/* 805A3E80 4B DB E3 55 */ bl _savegpr_27
/* 805A3E84 7C 7D 1B 78 */ mr r29, r3
/* 805A3E88 3C 60 80 5A */ lis r3, l_arcName@ha /* 0x805A4238@ha */
/* 805A3E8C 3B E3 42 38 */ addi r31, r3, l_arcName@l /* 0x805A4238@l */
/* 805A3E90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A3E94 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A3E98 83 C3 5D B8 */ lwz r30, 0x5db8(r3)
/* 805A3E9C 28 1E 00 00 */ cmplwi r30, 0
/* 805A3EA0 41 82 02 78 */ beq lbl_805A4118
/* 805A3EA4 88 1D 05 AC */ lbz r0, 0x5ac(r29)
/* 805A3EA8 28 00 00 00 */ cmplwi r0, 0
/* 805A3EAC 40 82 00 64 */ bne lbl_805A3F10
/* 805A3EB0 A0 1D 05 B0 */ lhz r0, 0x5b0(r29)
/* 805A3EB4 28 00 0F FF */ cmplwi r0, 0xfff
/* 805A3EB8 41 82 00 24 */ beq lbl_805A3EDC
/* 805A3EBC 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 805A3EC0 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 805A3EC4 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 805A3EC8 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 805A3ECC 7C 84 02 2E */ lhzx r4, r4, r0
/* 805A3ED0 4B A9 0A ED */ bl isEventBit__11dSv_event_cCFUs
/* 805A3ED4 2C 03 00 00 */ cmpwi r3, 0
/* 805A3ED8 41 82 02 40 */ beq lbl_805A4118
lbl_805A3EDC:
/* 805A3EDC A0 1D 05 B2 */ lhz r0, 0x5b2(r29)
/* 805A3EE0 28 00 0F FF */ cmplwi r0, 0xfff
/* 805A3EE4 41 82 00 2C */ beq lbl_805A3F10
/* 805A3EE8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A3EEC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A3EF0 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 805A3EF4 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 805A3EF8 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 805A3EFC 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 805A3F00 7C 84 02 2E */ lhzx r4, r4, r0
/* 805A3F04 4B A9 0A B9 */ bl isEventBit__11dSv_event_cCFUs
/* 805A3F08 2C 03 00 00 */ cmpwi r3, 0
/* 805A3F0C 40 82 02 0C */ bne lbl_805A4118
lbl_805A3F10:
/* 805A3F10 A8 7D 04 E6 */ lha r3, 0x4e6(r29)
/* 805A3F14 A8 1E 04 E6 */ lha r0, 0x4e6(r30)
/* 805A3F18 7C 03 00 50 */ subf r0, r3, r0
/* 805A3F1C 7C 1B 07 34 */ extsh r27, r0
/* 805A3F20 7F 63 DB 78 */ mr r3, r27
/* 805A3F24 4B DC 11 AD */ bl abs
/* 805A3F28 7C 7C 1B 78 */ mr r28, r3
/* 805A3F2C 88 1D 05 AD */ lbz r0, 0x5ad(r29)
/* 805A3F30 28 00 00 00 */ cmplwi r0, 0
/* 805A3F34 41 82 00 0C */ beq lbl_805A3F40
/* 805A3F38 28 00 00 02 */ cmplwi r0, 2
/* 805A3F3C 40 82 00 14 */ bne lbl_805A3F50
lbl_805A3F40:
/* 805A3F40 C0 3F 00 2C */ lfs f1, 0x2c(r31)
/* 805A3F44 C0 1E 17 90 */ lfs f0, 0x1790(r30)
/* 805A3F48 EC 21 00 32 */ fmuls f1, f1, f0
/* 805A3F4C 48 00 00 3C */ b lbl_805A3F88
lbl_805A3F50:
/* 805A3F50 28 00 00 01 */ cmplwi r0, 1
/* 805A3F54 41 82 00 0C */ beq lbl_805A3F60
/* 805A3F58 28 00 00 03 */ cmplwi r0, 3
/* 805A3F5C 40 82 00 14 */ bne lbl_805A3F70
lbl_805A3F60:
/* 805A3F60 C0 3F 00 2C */ lfs f1, 0x2c(r31)
/* 805A3F64 C0 1E 17 8C */ lfs f0, 0x178c(r30)
/* 805A3F68 EC 21 00 32 */ fmuls f1, f1, f0
/* 805A3F6C 48 00 00 1C */ b lbl_805A3F88
lbl_805A3F70:
/* 805A3F70 C0 5E 17 8C */ lfs f2, 0x178c(r30)
/* 805A3F74 C0 3F 00 30 */ lfs f1, 0x30(r31)
/* 805A3F78 C0 1E 17 90 */ lfs f0, 0x1790(r30)
/* 805A3F7C EC 00 10 28 */ fsubs f0, f0, f2
/* 805A3F80 EC 01 00 32 */ fmuls f0, f1, f0
/* 805A3F84 EC 22 00 2A */ fadds f1, f2, f0
lbl_805A3F88:
/* 805A3F88 C0 1E 05 2C */ lfs f0, 0x52c(r30)
/* 805A3F8C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 805A3F90 40 80 01 88 */ bge lbl_805A4118
/* 805A3F94 A8 9D 05 AE */ lha r4, 0x5ae(r29)
/* 805A3F98 7C 1C 20 00 */ cmpw r28, r4
/* 805A3F9C 41 80 00 18 */ blt lbl_805A3FB4
/* 805A3FA0 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008000@ha */
/* 805A3FA4 38 03 80 00 */ addi r0, r3, 0x8000 /* 0x00008000@l */
/* 805A3FA8 7C 04 00 50 */ subf r0, r4, r0
/* 805A3FAC 7C 1C 00 00 */ cmpw r28, r0
/* 805A3FB0 40 81 01 68 */ ble lbl_805A4118
lbl_805A3FB4:
/* 805A3FB4 7F A3 EB 78 */ mr r3, r29
/* 805A3FB8 38 9E 04 D0 */ addi r4, r30, 0x4d0
/* 805A3FBC 38 A1 00 08 */ addi r5, r1, 8
/* 805A3FC0 4B A7 99 41 */ bl fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz
/* 805A3FC4 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 805A3FC8 FC 00 12 10 */ fabs f0, f2
/* 805A3FCC FC 60 00 18 */ frsp f3, f0
/* 805A3FD0 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 805A3FD4 C0 3F 00 1C */ lfs f1, 0x1c(r31)
/* 805A3FD8 FC 04 08 40 */ fcmpo cr0, f4, f1
/* 805A3FDC 4C 41 13 82 */ cror 2, 1, 2
/* 805A3FE0 40 82 01 38 */ bne lbl_805A4118
/* 805A3FE4 C0 1D 04 F0 */ lfs f0, 0x4f0(r29)
/* 805A3FE8 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 805A3FEC 4C 40 13 82 */ cror 2, 0, 2
/* 805A3FF0 40 82 01 28 */ bne lbl_805A4118
/* 805A3FF4 C0 01 00 08 */ lfs f0, 8(r1)
/* 805A3FF8 FC 00 02 10 */ fabs f0, f0
/* 805A3FFC FC 80 00 18 */ frsp f4, f0
/* 805A4000 C0 1D 04 EC */ lfs f0, 0x4ec(r29)
/* 805A4004 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 805A4008 4C 40 13 82 */ cror 2, 0, 2
/* 805A400C 40 82 01 0C */ bne lbl_805A4118
/* 805A4010 C0 BD 04 F4 */ lfs f5, 0x4f4(r29)
/* 805A4014 C0 9D 05 B8 */ lfs f4, 0x5b8(r29)
/* 805A4018 EC 05 20 28 */ fsubs f0, f5, f4
/* 805A401C FC 03 00 40 */ fcmpo cr0, f3, f0
/* 805A4020 4C 41 13 82 */ cror 2, 1, 2
/* 805A4024 40 82 00 F4 */ bne lbl_805A4118
/* 805A4028 EC 05 20 2A */ fadds f0, f5, f4
/* 805A402C FC 03 00 40 */ fcmpo cr0, f3, f0
/* 805A4030 4C 40 13 82 */ cror 2, 0, 2
/* 805A4034 40 82 00 E4 */ bne lbl_805A4118
/* 805A4038 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 805A403C 40 81 00 1C */ ble lbl_805A4058
/* 805A4040 A8 9D 05 AE */ lha r4, 0x5ae(r29)
/* 805A4044 3C 60 00 01 */ lis r3, 0x0001 /* 0x00008000@ha */
/* 805A4048 38 03 80 00 */ addi r0, r3, 0x8000 /* 0x00008000@l */
/* 805A404C 7C 04 00 50 */ subf r0, r4, r0
/* 805A4050 7C 1C 00 00 */ cmpw r28, r0
/* 805A4054 41 81 00 1C */ bgt lbl_805A4070
lbl_805A4058:
/* 805A4058 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 805A405C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 805A4060 40 80 00 B8 */ bge lbl_805A4118
/* 805A4064 A8 1D 05 AE */ lha r0, 0x5ae(r29)
/* 805A4068 7C 1C 00 00 */ cmpw r28, r0
/* 805A406C 40 80 00 AC */ bge lbl_805A4118
lbl_805A4070:
/* 805A4070 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 805A4074 38 03 9A 20 */ addi r0, r3, sincosTable___5JMath@l /* 0x80439A20@l */
/* 805A4078 57 64 04 38 */ rlwinm r4, r27, 0, 0x10, 0x1c
/* 805A407C 7C 60 22 14 */ add r3, r0, r4
/* 805A4080 C0 03 00 04 */ lfs f0, 4(r3)
/* 805A4084 EC 02 00 24 */ fdivs f0, f2, f0
/* 805A4088 FC 00 02 10 */ fabs f0, f0
/* 805A408C FC 60 00 18 */ frsp f3, f0
/* 805A4090 C0 1D 05 B8 */ lfs f0, 0x5b8(r29)
/* 805A4094 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 805A4098 40 80 00 0C */ bge lbl_805A40A4
/* 805A409C FC 80 00 90 */ fmr f4, f0
/* 805A40A0 48 00 00 08 */ b lbl_805A40A8
lbl_805A40A4:
/* 805A40A4 FC 80 18 90 */ fmr f4, f3
lbl_805A40A8:
/* 805A40A8 C0 41 00 08 */ lfs f2, 8(r1)
/* 805A40AC 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 805A40B0 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
/* 805A40B4 7C 03 24 2E */ lfsx f0, r3, r4
/* 805A40B8 EC 23 00 32 */ fmuls f1, f3, f0
/* 805A40BC EC 04 00 32 */ fmuls f0, f4, f0
/* 805A40C0 EC 01 00 2A */ fadds f0, f1, f0
/* 805A40C4 EC 02 00 2A */ fadds f0, f2, f0
/* 805A40C8 D0 01 00 08 */ stfs f0, 8(r1)
/* 805A40CC FC 00 02 10 */ fabs f0, f0
/* 805A40D0 FC 20 00 18 */ frsp f1, f0
/* 805A40D4 C0 1D 04 EC */ lfs f0, 0x4ec(r29)
/* 805A40D8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 805A40DC 4C 40 13 82 */ cror 2, 0, 2
/* 805A40E0 41 82 00 1C */ beq lbl_805A40FC
/* 805A40E4 88 1D 05 AC */ lbz r0, 0x5ac(r29)
/* 805A40E8 28 00 00 00 */ cmplwi r0, 0
/* 805A40EC 40 82 00 2C */ bne lbl_805A4118
/* 805A40F0 88 1D 05 AD */ lbz r0, 0x5ad(r29)
/* 805A40F4 28 00 00 04 */ cmplwi r0, 4
/* 805A40F8 40 82 00 20 */ bne lbl_805A4118
lbl_805A40FC:
/* 805A40FC C0 1D 05 B4 */ lfs f0, 0x5b4(r29)
/* 805A4100 D0 7E 17 68 */ stfs f3, 0x1768(r30)
/* 805A4104 D0 1E 17 6C */ stfs f0, 0x176c(r30)
/* 805A4108 D0 9E 17 70 */ stfs f4, 0x1770(r30)
/* 805A410C 80 1E 17 4C */ lwz r0, 0x174c(r30)
/* 805A4110 60 00 00 01 */ ori r0, r0, 1
/* 805A4114 90 1E 17 4C */ stw r0, 0x174c(r30)
lbl_805A4118:
/* 805A4118 38 60 00 01 */ li r3, 1
/* 805A411C 39 61 00 30 */ addi r11, r1, 0x30
/* 805A4120 4B DB E1 01 */ bl _restgpr_27
/* 805A4124 80 01 00 34 */ lwz r0, 0x34(r1)
/* 805A4128 7C 08 03 A6 */ mtlr r0
/* 805A412C 38 21 00 30 */ addi r1, r1, 0x30
/* 805A4130 4E 80 00 20 */ blr

View File

@ -208,6 +208,7 @@ public:
MtxP GetBaseMtxP() { return pm_base; }
bool ChkNoCalcVtx() { return field_0x88 & 2; }
bool ChkFlush() { return field_0x91 & 8; }
void SetLock() { field_0x88 |= 0x80; }
public:
/* 0x18 */ MtxP pm_base;

View File

@ -2936,6 +2936,11 @@ inline int i_dComIfGp_evmng_getMyStaffId(const char* pName, fopAc_ac_c* pActor,
return dComIfGp_getPEvtManager()->getMyStaffId(pName, pActor, param_2);
}
inline int dComIfGp_evmng_getMyActIdx(int i_staffIdx, char** param_1, int param_2, int param_3,
int param_4) {
return dComIfGp_getPEvtManager()->getMyActIdx(i_staffIdx, param_1, param_2, param_3, param_4);
}
inline int dComIfGp_evmng_getIsAddvance(int param_0) {
return dComIfGp_getPEvtManager()->getIsAddvance(param_0);
}

View File

@ -301,6 +301,10 @@ inline dJntCol_c* fopAcM_GetJntCol(fopAc_ac_c* i_actor) {
return i_actor->mJntCol;
}
inline void fopAcM_setCullSizeFar(fopAc_ac_c* i_actor, f32 i_far) {
i_actor->mCullSizeFar = i_far;
}
inline f32 fopAcM_getCullSizeFar(const fopAc_ac_c* i_actor) {
return i_actor->mCullSizeFar;
}

View File

@ -39,6 +39,7 @@ private:
class daHorse_c : public fopAc_ac_c {
public:
enum daHorse_ERFLG0 {
/* 0x001 */ ERFLG0_UNK_1 = 0x1,
/* 0x010 */ MOVE_ACCEPT = 0x10,
/* 0x080 */ RIDE_RUN_FLG = 0x80,
/* 0x100 */ CUT_TURN_CANCEL = 0x100,
@ -157,6 +158,7 @@ public:
bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; }
bool checkStateFlg0(daHorse_FLG0 flag) const { return mStateFlg0 & flag; }
f32 getNormalMaxSpeedF() { return mNormalMaxSpeedF; }
f32 getLashMaxSpeedF() { return mLashMaxSpeedF; }
void changeDemoMoveAngle(s16 angle) { mDemoMoveAngle = angle; }
void setDemoStickR(f32 stick) { mDemoStickR = stick; }
void i_changeDemoMode(u32 param_0, int param_1) { field_0x1740 = param_0; field_0x1728 = param_1; }
@ -166,6 +168,7 @@ public:
void offRideFlg() { (this->*mpOffRideFlgFn)(); }
void onStateFlg0(daHorse_FLG0 flag) { mStateFlg0 |= flag; }
void offStateFlg0(daHorse_FLG0 flag) { mStateFlg0 &= ~flag; }
void onEndResetStateFlg0(daHorse_ERFLG0 i_flag) { mEndResetStateFlg0 |= i_flag;}
void offNoDrawWait() { offStateFlg0(NO_DRAW_WAIT); }
int checkSpecialWallHit(const cXyz& param_0) { return (this->*mpCheckSpecialWallHitFn)(param_0); }
@ -173,6 +176,13 @@ public:
bool checkTurnStand() const { return checkResetStateFlg0(TURN_STAND); }
bool checkRodeoMode() const { return checkStateFlg0(RODEO_MODE); }
void onTagJump(f32 param_0, f32 param_1, f32 param_2) {
field_0x1768 = param_0;
field_0x176c = param_1;
field_0x1770 = param_2;
onEndResetStateFlg0(ERFLG0_UNK_1);
}
static u8 const m_footJointTable[8];
static f32 const m_callLimitDistance2;

View File

@ -1,6 +1,48 @@
#ifndef D_A_SCENE_EXIT2_H
#define D_A_SCENE_EXIT2_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daScExit_c : public fopAc_ac_c {
public:
enum act_e {
WAIT_e,
START_e,
SCENE_CHG_e,
};
enum action_e {
ACTION_WAIT_e,
ACTION_ORDER_EVENT_e,
ACTION_EVENT_e,
ACTION_DEAD_e,
};
/* 8059E158 */ void initBaseMtx();
/* 8059E178 */ void setBaseMtx();
/* 8059E1B0 */ int Create();
/* 8059E230 */ int create();
/* 8059E2C0 */ int execute();
/* 8059E2E4 */ void event_proc_call();
/* 8059E3A0 */ void actionWait();
/* 8059E408 */ void actionOrderEvent();
/* 8059E488 */ void actionEvent();
/* 8059E504 */ void actionDead();
/* 8059E508 */ int demoProc();
/* 8059E6CC */ BOOL checkArea();
/* 8059E714 */ int draw();
/* 8059E71C */ int _delete();
int getSceneID() { return fopAcM_GetParamBit(this, 0, 8); }
void setAction(u8 i_action) { mAction = i_action; }
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ int mStaffID;
/* 0x574 */ f32 mRadius;
/* 0x578 */ s16 mEventID;
/* 0x57A */ u8 mToolID;
/* 0x57B */ u8 mAction;
/* 0x57C */ u8 mTimer;
};
#endif /* D_A_SCENE_EXIT2_H */

View File

@ -1,6 +1,32 @@
#ifndef D_A_TAG_HJUMP_H
#define D_A_TAG_HJUMP_H
#include "dolphin/types.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
class daTagHjump_c : public dBgS_MoveBgActor {
public:
enum Type_e {
TYPE_TRIGGER_e = 0,
TYPE_OBJECT_e = 3,
};
/* 805A3B24 */ int create();
/* 805A3DA0 */ ~daTagHjump_c();
/* 805A3E70 */ int execute();
/* 805A3AB8 */ virtual int CreateHeap();
/* 805A4154 */ virtual int Draw();
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mType;
/* 0x5AD */ u8 field_0x5ad;
/* 0x5AE */ s16 field_0x5ae;
/* 0x5B0 */ u16 mOnFlagID;
/* 0x5B2 */ u16 mOffFlagID;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
};
#endif /* D_A_TAG_HJUMP_H */

View File

@ -8,12 +8,10 @@ M117_MAP := $(BUILD_DIR)/rel/d/a/d_a_scene_exit2.map
M117_CPP_FILES := \
rel/executor.cpp \
rel/d/a/d_a_scene_exit2/unknown_translation_unit_bss.cpp \
rel/d/a/d_a_scene_exit2/d_a_scene_exit2.cpp \
M117_O_FILES := \
$(BUILD_DIR)/rel/executor.o \
$(BUILD_DIR)/rel/d/a/d_a_scene_exit2/unknown_translation_unit_bss.o \
$(BUILD_DIR)/rel/d/a/d_a_scene_exit2/d_a_scene_exit2.o \
M117_LIBS := \

View File

@ -1,174 +1,25 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_scene_exit2
//
/**
* d_a_scene_exit2.cpp
* Grotto Scene Exit trigger
*/
#include "rel/d/a/d_a_scene_exit2/d_a_scene_exit2.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {};
struct cXyz {};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daScExit_c {
/* 8059E158 */ void initBaseMtx();
/* 8059E178 */ void setBaseMtx();
/* 8059E1B0 */ void Create();
/* 8059E230 */ void create();
/* 8059E2C0 */ void execute();
/* 8059E2E4 */ void event_proc_call();
/* 8059E3A0 */ void actionWait();
/* 8059E408 */ void actionOrderEvent();
/* 8059E488 */ void actionEvent();
/* 8059E504 */ void actionDead();
/* 8059E508 */ void demoProc();
/* 8059E6CC */ void checkArea();
/* 8059E714 */ bool draw();
/* 8059E71C */ void _delete();
};
struct dEvt_control_c {
/* 80042468 */ void reset();
};
struct dEvent_manager_c {
/* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8);
/* 80047A78 */ void endCheck(s16);
/* 80047D4C */ void getIsAddvance(int);
/* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int);
/* 800480EC */ void getMySubstanceP(int, char const*, int);
/* 8004817C */ void cutEnd(int);
};
struct JAISoundID {};
struct Vec {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
//
// Forward References:
//
extern "C" void initBaseMtx__10daScExit_cFv();
extern "C" void setBaseMtx__10daScExit_cFv();
extern "C" void Create__10daScExit_cFv();
extern "C" void create__10daScExit_cFv();
extern "C" void execute__10daScExit_cFv();
extern "C" void event_proc_call__10daScExit_cFv();
extern "C" void actionWait__10daScExit_cFv();
extern "C" void actionOrderEvent__10daScExit_cFv();
extern "C" void actionEvent__10daScExit_cFv();
extern "C" void actionDead__10daScExit_cFv();
extern "C" void demoProc__10daScExit_cFv();
extern "C" void checkArea__10daScExit_cFv();
extern "C" bool draw__10daScExit_cFv();
extern "C" void _delete__10daScExit_cFv();
extern "C" static void daScExit_Draw__FP10daScExit_c();
extern "C" static void daScExit_Execute__FP10daScExit_c();
extern "C" static void daScExit_Delete__FP10daScExit_c();
extern "C" static void daScExit_Create__FP10daScExit_c();
extern "C" void func_8059E7D0(void* _this, u8*);
extern "C" extern char const* const d_a_scene_exit2__stringBase0;
extern "C" extern void* g_profile_SCENE_EXIT2[12];
//
// External References:
//
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
extern "C" void dStage_changeScene__FifUlScsi();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void reset__14dEvt_control_cFv();
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc();
extern "C" void endCheck__16dEvent_manager_cFs();
extern "C" void getIsAddvance__16dEvent_manager_cFi();
extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii();
extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci();
extern "C" void cutEnd__16dEvent_manager_cFi();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_27();
extern "C" void _restgpr_27();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" extern u8 data_8059E920[4];
//
// Declarations:
//
/* 8059E158-8059E178 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/initBaseMtx__10daScExit_cFv.s"
}
#pragma pop
/* 8059E178-8059E1B0 000098 0038+00 1/1 0/0 0/0 .text setBaseMtx__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/setBaseMtx__10daScExit_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8059E7F4-8059E7F8 000000 0004+00 2/2 0/0 0/0 .rodata @3659 */
SECTION_RODATA static f32 const lit_3659 = 100.0f;
COMPILER_STRIP_GATE(0x8059E7F4, &lit_3659);
/* 8059E808-8059E808 000014 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8059E808 = "SceneExit";
SECTION_DEAD static char const* const stringBase_8059E812 = "SCENE_EXIT";
#pragma pop
extern "C" u8 func_8059E7D0(u8*);
/* 8059E838-8059E844 000000 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,
};
/* 8059E844-8059E858 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
// unused data?
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
@ -178,294 +29,216 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
};
#pragma pop
/* 8059E158-8059E178 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__10daScExit_cFv */
void daScExit_c::initBaseMtx() {
setBaseMtx();
}
/* 8059E178-8059E1B0 000098 0038+00 1/1 0/0 0/0 .text setBaseMtx__10daScExit_cFv */
void daScExit_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
}
/* 8059E858-8059E85C -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_scene_exit2__stringBase0;
static char* l_arcName = "SceneExit";
/* 8059E85C-8059E860 -00001 0004+00 1/1 0/0 0/0 .data l_evName */
SECTION_DATA static void* l_evName = (void*)(((char*)&d_a_scene_exit2__stringBase0) + 0xA);
static char* l_evName = "SCENE_EXIT";
/* 8059E1B0-8059E230 0000D0 0080+00 1/1 0/0 0/0 .text Create__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::Create() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/Create__10daScExit_cFv.s"
int daScExit_c::Create() {
mRadius = mScale.x * 100.0f;
initBaseMtx();
mToolID = 0xFF;
mEvtInfo.setArchiveName(l_arcName);
mEventID = i_dComIfGp_getEventManager().getEventIdx(this, l_evName, 0xFF);
return 1;
}
#pragma pop
/* 8059E230-8059E2C0 000150 0090+00 1/1 0/0 0/0 .text create__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::create() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/func_8059E230.s"
int daScExit_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daScExit_c();
fopAcM_OnCondition(this, 8);
}
int phase = dComIfG_resLoad(&mPhase, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
#pragma pop
/* 8059E2C0-8059E2E4 0001E0 0024+00 1/1 0/0 0/0 .text execute__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::execute() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/execute__10daScExit_cFv.s"
int daScExit_c::execute() {
event_proc_call();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8059E860-8059E86C -00001 000C+00 0/1 0/0 0/0 .data @3699 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3699[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionWait__10daScExit_cFv,
};
#pragma pop
/* 8059E86C-8059E878 -00001 000C+00 0/1 0/0 0/0 .data @3700 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3700[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionOrderEvent__10daScExit_cFv,
};
#pragma pop
/* 8059E878-8059E884 -00001 000C+00 0/1 0/0 0/0 .data @3701 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3701[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionEvent__10daScExit_cFv,
};
#pragma pop
/* 8059E884-8059E890 -00001 000C+00 0/1 0/0 0/0 .data @3702 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3702[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionDead__10daScExit_cFv,
};
#pragma pop
/* 8059E890-8059E8C0 000058 0030+00 0/1 0/0 0/0 .data l_func$3698 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_func[48] = {
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,
};
#pragma pop
/* 8059E2E4-8059E3A0 000204 00BC+00 1/1 0/0 0/0 .text event_proc_call__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::event_proc_call() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/event_proc_call__10daScExit_cFv.s"
void daScExit_c::event_proc_call() {
typedef void (daScExit_c::*actionFunc)();
static actionFunc l_func[] = {&daScExit_c::actionWait, &daScExit_c::actionOrderEvent,
&daScExit_c::actionEvent, &daScExit_c::actionDead};
(this->*l_func[mAction])();
}
#pragma pop
/* 8059E3A0-8059E408 0002C0 0068+00 1/0 0/0 0/0 .text actionWait__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::actionWait() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/actionWait__10daScExit_cFv.s"
void daScExit_c::actionWait() {
if (checkArea()) {
setAction(ACTION_ORDER_EVENT_e);
fopAcM_orderOtherEventId(this, mEventID, mToolID, 0xFFFF, 0, 1);
mEvtInfo.i_onCondition(2);
}
}
#pragma pop
/* 8059E408-8059E488 000328 0080+00 1/0 0/0 0/0 .text actionOrderEvent__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::actionOrderEvent() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/actionOrderEvent__10daScExit_cFv.s"
void daScExit_c::actionOrderEvent() {
if (mEvtInfo.i_checkCommandDemoAccrpt()) {
setAction(ACTION_EVENT_e);
demoProc();
dComIfGp_setPlayerStatus1(0, 0x4000000);
} else {
fopAcM_orderOtherEventId(this, mEventID, mToolID, 0xFFFF, 0, 1);
mEvtInfo.i_onCondition(2);
}
}
#pragma pop
/* 8059E488-8059E504 0003A8 007C+00 1/0 0/0 0/0 .text actionEvent__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::actionEvent() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/actionEvent__10daScExit_cFv.s"
void daScExit_c::actionEvent() {
if (dComIfGp_evmng_endCheck(mEventID)) {
setAction(ACTION_DEAD_e);
i_dComIfGp_event_reset();
} else {
demoProc();
dComIfGp_setPlayerStatus1(0, 0x4000000);
}
}
#pragma pop
/* 8059E504-8059E508 000424 0004+00 1/0 0/0 0/0 .text actionDead__10daScExit_cFv */
void daScExit_c::actionDead() {
/* empty function */
}
/* ############################################################################################## */
/* 8059E7F8-8059E7FC 000004 0004+00 0/1 0/0 0/0 .rodata @3797 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3797 = 1.0f;
COMPILER_STRIP_GATE(0x8059E7F8, &lit_3797);
#pragma pop
/* 8059E7FC-8059E800 000008 0004+00 0/1 0/0 0/0 .rodata @3798 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3798 = -1.0f;
COMPILER_STRIP_GATE(0x8059E7FC, &lit_3798);
#pragma pop
/* 8059E800-8059E804 00000C 0004+00 0/1 0/0 0/0 .rodata @3799 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3799 = 800.0f;
COMPILER_STRIP_GATE(0x8059E800, &lit_3799);
#pragma pop
/* 8059E808-8059E808 000014 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8059E81D = "WAIT";
SECTION_DEAD static char const* const stringBase_8059E822 = "START";
SECTION_DEAD static char const* const stringBase_8059E828 = "SCENE_CHG";
SECTION_DEAD static char const* const stringBase_8059E832 = "Timer";
#pragma pop
/* 8059E8C0-8059E8CC -00001 000C+00 1/1 0/0 0/0 .data action_table$3745 */
SECTION_DATA static void* action_table[3] = {
(void*)(((char*)&d_a_scene_exit2__stringBase0) + 0x15),
(void*)(((char*)&d_a_scene_exit2__stringBase0) + 0x1A),
(void*)(((char*)&d_a_scene_exit2__stringBase0) + 0x20),
};
void daScExit_c::actionDead() {}
/* 8059E508-8059E6CC 000428 01C4+00 2/2 0/0 0/0 .text demoProc__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::demoProc() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/demoProc__10daScExit_cFv.s"
int daScExit_c::demoProc() {
static char* action_table[3] = {"WAIT", "START", "SCENE_CHG"};
u8 scene_id = getSceneID();
int act_id = dComIfGp_evmng_getMyActIdx(mStaffID, action_table, 3, 0, 0);
if (dComIfGp_evmng_getIsAddvance(mStaffID)) {
switch (act_id) {
case WAIT_e:
int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer");
if (timer_p == NULL) {
mTimer = 1;
} else {
mTimer = *timer_p;
}
break;
case START_e:
fopAcM_seStart(this, Z2SE_SY_WARP_FADE, 0);
mAttentionInfo.mPosition.y = current.pos.y + 800.0f;
mEyePos.y = mAttentionInfo.mPosition.y;
break;
case SCENE_CHG_e:
break;
}
}
switch (act_id) {
case WAIT_e:
if (func_8059E7D0(&mTimer) == 0) {
dComIfGp_evmng_cutEnd(mStaffID);
}
break;
case START_e:
dComIfGp_evmng_cutEnd(mStaffID);
break;
case SCENE_CHG_e:
dStage_changeScene(scene_id, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1);
break;
default:
dComIfGp_evmng_cutEnd(mStaffID);
break;
}
return 0;
}
#pragma pop
/* 8059E6CC-8059E714 0005EC 0048+00 1/1 0/0 0/0 .text checkArea__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::checkArea() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/checkArea__10daScExit_cFv.s"
BOOL daScExit_c::checkArea() {
return fopAcM_searchPlayerDistanceXZ(this) < mRadius;
}
#pragma pop
/* 8059E714-8059E71C 000634 0008+00 1/1 0/0 0/0 .text draw__10daScExit_cFv */
bool daScExit_c::draw() {
return true;
int daScExit_c::draw() {
return 1;
}
/* 8059E71C-8059E750 00063C 0034+00 1/1 0/0 0/0 .text _delete__10daScExit_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daScExit_c::_delete() {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/_delete__10daScExit_cFv.s"
int daScExit_c::_delete() {
dComIfG_resDelete(&mPhase, l_arcName);
return 1;
}
#pragma pop
/* 8059E750-8059E770 000670 0020+00 1/0 0/0 0/0 .text daScExit_Draw__FP10daScExit_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daScExit_Draw(daScExit_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/daScExit_Draw__FP10daScExit_c.s"
static int daScExit_Draw(daScExit_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 8059E770-8059E790 000690 0020+00 1/0 0/0 0/0 .text daScExit_Execute__FP10daScExit_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daScExit_Execute(daScExit_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/daScExit_Execute__FP10daScExit_c.s"
static int daScExit_Execute(daScExit_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 8059E790-8059E7B0 0006B0 0020+00 1/0 0/0 0/0 .text daScExit_Delete__FP10daScExit_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daScExit_Delete(daScExit_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/daScExit_Delete__FP10daScExit_c.s"
static int daScExit_Delete(daScExit_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 8059E7B0-8059E7D0 0006D0 0020+00 1/0 0/0 0/0 .text daScExit_Create__FP10daScExit_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daScExit_Create(daScExit_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/daScExit_Create__FP10daScExit_c.s"
static int daScExit_Create(daScExit_c* i_this) {
return i_this->create();
}
#pragma pop
/* 8059E7D0-8059E7EC 0006F0 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Uc>__FPUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_8059E7D0(void* _this, u8* param_0) {
extern "C" asm u8 func_8059E7D0(u8* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_scene_exit2/d_a_scene_exit2/func_8059E7D0.s"
}
#pragma pop
/* ############################################################################################## */
/* 8059E804-8059E808 000010 0004+00 0/0 0/0 0/0 .rodata @3800 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3800[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8059E804, &lit_3800);
#pragma pop
/* 8059E8CC-8059E8EC -00001 0020+00 1/0 0/0 0/0 .data l_daScExit_Method */
SECTION_DATA static void* l_daScExit_Method[8] = {
(void*)daScExit_Create__FP10daScExit_c,
(void*)daScExit_Delete__FP10daScExit_c,
(void*)daScExit_Execute__FP10daScExit_c,
(void*)NULL,
(void*)daScExit_Draw__FP10daScExit_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daScExit_Method = {
(process_method_func)daScExit_Create, (process_method_func)daScExit_Delete,
(process_method_func)daScExit_Execute, (process_method_func)NULL,
(process_method_func)daScExit_Draw,
};
/* 8059E8EC-8059E91C -00001 0030+00 0/0 0/0 1/0 .data g_profile_SCENE_EXIT2 */
SECTION_DATA extern void* g_profile_SCENE_EXIT2[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01A70000, (void*)&g_fpcLf_Method,
(void*)0x00000580, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02470000, (void*)&l_daScExit_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_SCENE_EXIT2 = {
-3,
7,
-3,
PROC_SCENE_EXIT2,
&g_fpcLf_Method.mBase,
sizeof(daScExit_c),
0,
0,
&g_fopAc_Method.base,
583,
&l_daScExit_Method,
0x40000,
0,
14,
};
/* 8059E808-8059E808 000014 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -1,27 +0,0 @@
//
// Generated By: dol2asm
// Translation Unit: unknown_translation_unit_bss
//
#include "rel/d/a/d_a_scene_exit2/unknown_translation_unit_bss.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" extern u8 data_8059E920[4];
//
// External References:
//
//
// Declarations:
//
/* ############################################################################################## */
/* 8059E920-8059E924 000000 0004+00 0/0 1/1 0/0 .bss None */
extern u8 data_8059E920[4];
u8 data_8059E920[4];

View File

@ -1,373 +1,222 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_hjump
//
/**
* d_a_tag_hjump.cpp
* Epona fence jump trigger / object
*/
#include "rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "SSystem/SComponent/c_math.h"
#include "d/bg/d_bg_w.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoMtx_stack_c {
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018C8C */ ~fopAc_ac_c();
};
struct daTagHjump_c {
/* 805A3AB8 */ void CreateHeap();
/* 805A3B24 */ void create();
/* 805A3DA0 */ ~daTagHjump_c();
/* 805A3E70 */ void execute();
/* 805A4154 */ void Draw();
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct dKy_tevstr_c {};
struct J3DModelData {};
struct cXyz {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dBgW {};
struct cBgS_PolyInfo {};
struct csXyz {};
struct dBgS_MoveBgActor {
/* 80078624 */ dBgS_MoveBgActor();
/* 80078690 */ bool Create();
/* 80078698 */ bool Execute(f32 (**)[3][4]);
/* 800786A8 */ bool Delete();
/* 800786B0 */ bool IsDelete();
/* 800786B8 */ bool ToFore();
/* 800786C0 */ bool ToBack();
/* 800787BC */ void MoveBGCreate(char const*, int,
void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*,
csXyz*, csXyz*),
u32, f32 (*)[3][4]);
/* 800788DC */ void MoveBGDelete();
};
struct JMath {
static u8 sincosTable_[65536];
};
struct J3DModel {};
//
// Forward References:
//
extern "C" void CreateHeap__12daTagHjump_cFv();
extern "C" void create__12daTagHjump_cFv();
extern "C" static void daTagHjump_Create__FP10fopAc_ac_c();
extern "C" void __dt__12daTagHjump_cFv();
extern "C" static void daTagHjump_Delete__FP12daTagHjump_c();
extern "C" void execute__12daTagHjump_cFv();
extern "C" static void daTagHjump_Execute__FP12daTagHjump_c();
extern "C" void Draw__12daTagHjump_cFv();
extern "C" static void daTagHjump_Draw__FP12daTagHjump_c();
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff();
extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff();
extern "C" void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool Create__16dBgS_MoveBgActorFv();
extern "C" bool Execute__16dBgS_MoveBgActorFPPA3_A4_f();
extern "C" bool Delete__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void __dl__FPv();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" void _savegpr_27();
extern "C" void _savegpr_29();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" void abs();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__16dBgS_MoveBgActor[10];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 sincosTable___5JMath[65536];
//
// Declarations:
//
/* ############################################################################################## */
/* 805A4238-805A4240 000000 0007+01 4/4 0/0 0/0 .rodata l_arcName */
SECTION_RODATA static u8 const l_arcName[7 + 1 /* padding */] = {
0x48,
0x66,
0x65,
0x6E,
0x63,
0x65,
0x00,
/* padding */
0x00,
};
COMPILER_STRIP_GATE(0x805A4238, &l_arcName);
static char const l_arcName[] = "Hfence";
/* 805A3AB8-805A3B24 000078 006C+00 1/0 0/0 0/0 .text CreateHeap__12daTagHjump_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagHjump_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/CreateHeap__12daTagHjump_cFv.s"
int daTagHjump_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (mpModel == NULL) {
return 0;
}
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 805A4240-805A4244 000008 0004+00 0/1 0/0 0/0 .rodata @3747 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3747 = 100.0f;
COMPILER_STRIP_GATE(0x805A4240, &lit_3747);
#pragma pop
/* 805A4244-805A4248 00000C 0004+00 0/1 0/0 0/0 .rodata @3748 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3748 = 250.0f;
COMPILER_STRIP_GATE(0x805A4244, &lit_3748);
#pragma pop
/* 805A4248-805A424C 000010 0004+00 0/1 0/0 0/0 .rodata @3749 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3749 = 350.0f;
COMPILER_STRIP_GATE(0x805A4248, &lit_3749);
#pragma pop
/* 805A424C-805A4250 000014 0004+00 0/1 0/0 0/0 .rodata @3750 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3750 = 400.0f;
COMPILER_STRIP_GATE(0x805A424C, &lit_3750);
#pragma pop
/* 805A4250-805A4254 000018 0004+00 0/1 0/0 0/0 .rodata @3751 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3751 = 200.0f;
COMPILER_STRIP_GATE(0x805A4250, &lit_3751);
#pragma pop
/* 805A4254-805A4258 00001C 0004+00 0/2 0/0 0/0 .rodata @3752 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3752[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x805A4254, &lit_3752);
#pragma pop
/* 805A4258-805A425C 000020 0004+00 0/1 0/0 0/0 .rodata @3753 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3753 = -50.0f;
COMPILER_STRIP_GATE(0x805A4258, &lit_3753);
#pragma pop
/* 805A425C-805A4260 000024 0004+00 0/1 0/0 0/0 .rodata @3754 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3754 = 50.0f;
COMPILER_STRIP_GATE(0x805A425C, &lit_3754);
#pragma pop
/* 805A4260-805A4264 000028 0004+00 0/1 0/0 0/0 .rodata @3755 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3755 = 5.0f;
COMPILER_STRIP_GATE(0x805A4260, &lit_3755);
#pragma pop
/* 805A426C-805A428C -00001 0020+00 1/0 0/0 0/0 .data l_daTagHjump_Method */
SECTION_DATA static void* l_daTagHjump_Method[8] = {
(void*)daTagHjump_Create__FP10fopAc_ac_c,
(void*)daTagHjump_Delete__FP12daTagHjump_c,
(void*)daTagHjump_Execute__FP12daTagHjump_c,
(void*)NULL,
(void*)daTagHjump_Draw__FP12daTagHjump_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 805A428C-805A42BC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Hjump */
SECTION_DATA extern void* g_profile_Tag_Hjump[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x00EA0000, (void*)&g_fpcLf_Method,
(void*)0x000005BC, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01B20000, (void*)&l_daTagHjump_Method,
(void*)0x00044100, (void*)0x030E0000,
};
/* 805A42BC-805A42E4 000050 0028+00 2/2 0/0 0/0 .data __vt__12daTagHjump_c */
SECTION_DATA extern void* __vt__12daTagHjump_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__12daTagHjump_cFv,
(void*)Create__16dBgS_MoveBgActorFv,
(void*)Execute__16dBgS_MoveBgActorFPPA3_A4_f,
(void*)Draw__12daTagHjump_cFv,
(void*)Delete__16dBgS_MoveBgActorFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
/* 805A3B24-805A3D80 0000E4 025C+00 1/1 0/0 0/0 .text create__12daTagHjump_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagHjump_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/create__12daTagHjump_cFv.s"
int daTagHjump_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daTagHjump_c();
fopAcM_OnCondition(this, 8);
}
mType = (fopAcM_GetParam(this) >> 4) & 0xF;
field_0x5ad = fopAcM_GetParam(this) & 0xF;
mOnFlagID = (fopAcM_GetParam(this) >> 8) & 0xFFF;
mOffFlagID = fopAcM_GetParam(this) >> 0x14;
if (field_0x5ad == 15) {
field_0x5ad = 0;
}
int phase;
if (mType != TYPE_TRIGGER_e) {
phase = dComIfG_resLoad(&mPhase, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
phase = MoveBGCreate(l_arcName, 7, NULL, 0xCA0, NULL);
if (phase == cPhs_COMPLEATE_e) {
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
mTevStr.mRoomNo = fopAcM_GetRoomNo(this);
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
mDoMtx_stack_c::get()[1][3] -= 100.0f;
current.pos.y -= 100.0f;
field_0x568->SetLock();
mScale.x = 250.0f;
mScale.y = 350.0f;
mScale.z = 400.0f;
field_0x5b8 = 200.0f;
fopAcM_SetMin(this, -mScale.x, 0.0f, -50.0f);
fopAcM_SetMax(this, mScale.x, 200.0f, 50.0f);
field_0x5ae = 0x2000;
fopAcM_setCullSizeFar(this, 5.0f);
field_0x5ad = 4;
}
}
} else {
phase = cPhs_COMPLEATE_e;
mScale.x *= 100.0f;
mScale.z *= 100.0f;
mScale.y *= 100.0f;
if (field_0x5ad == 0 || field_0x5ad == 1) {
field_0x5b8 = 50.0f;
field_0x5ae = 0x1000;
} else {
field_0x5b8 = 200.0f;
field_0x5ae = 0x2000;
}
}
field_0x5b4 = current.pos.y + mScale.y;
return phase;
}
#pragma pop
/* 805A3D80-805A3DA0 000340 0020+00 1/0 0/0 0/0 .text daTagHjump_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagHjump_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/daTagHjump_Create__FP10fopAc_ac_c.s"
static int daTagHjump_Create(fopAc_ac_c* i_this) {
return static_cast<daTagHjump_c*>(i_this)->create();
}
#pragma pop
/* 805A3DA0-805A3E34 000360 0094+00 1/1 0/0 0/0 .text __dt__12daTagHjump_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daTagHjump_c::~daTagHjump_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/__dt__12daTagHjump_cFv.s"
daTagHjump_c::~daTagHjump_c() {
if (mType != TYPE_TRIGGER_e) {
dComIfG_resDelete(&mPhase, l_arcName);
}
}
#pragma pop
/* 805A3E34-805A3E70 0003F4 003C+00 1/0 0/0 0/0 .text daTagHjump_Delete__FP12daTagHjump_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagHjump_Delete(daTagHjump_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/daTagHjump_Delete__FP12daTagHjump_c.s"
static int daTagHjump_Delete(daTagHjump_c* i_this) {
i_this->MoveBGDelete();
i_this->~daTagHjump_c();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 805A4264-805A4268 00002C 0004+00 0/1 0/0 0/0 .rodata @3904 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3904 = 4.0f / 5.0f;
COMPILER_STRIP_GATE(0x805A4264, &lit_3904);
#pragma pop
/* 805A4268-805A426C 000030 0004+00 0/1 0/0 0/0 .rodata @3905 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3905 = 0.5f;
COMPILER_STRIP_GATE(0x805A4268, &lit_3905);
#pragma pop
/* 805A3E70-805A4134 000430 02C4+00 1/1 0/0 0/0 .text execute__12daTagHjump_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagHjump_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/execute__12daTagHjump_cFv.s"
int daTagHjump_c::execute() {
daHorse_c* horse_p = i_dComIfGp_getHorseActor();
if (horse_p != NULL &&
(mType != TYPE_TRIGGER_e ||
((mOnFlagID == 0xFFF ||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[mOnFlagID])) &&
(mOffFlagID == 0xFFF ||
!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[mOffFlagID])))))
{
s16 angle_diff = horse_p->shape_angle.y - shape_angle.y;
int abs_angle = abs(angle_diff);
f32 min_jump_speed;
if (field_0x5ad == 0 || field_0x5ad == 2) {
min_jump_speed = horse_p->getLashMaxSpeedF() * 0.8f;
} else if (field_0x5ad == 1 || field_0x5ad == 3) {
min_jump_speed = horse_p->getNormalMaxSpeedF() * 0.8f;
} else {
min_jump_speed = horse_p->getNormalMaxSpeedF() +
(horse_p->getLashMaxSpeedF() - horse_p->getNormalMaxSpeedF()) * 0.5f;
}
if (min_jump_speed < horse_p->speedF &&
(abs_angle < field_0x5ae || abs_angle > 0x8000 - field_0x5ae))
{
cXyz rel_pos;
fpoAcM_relativePos(this, &horse_p->current.pos, &rel_pos);
f32 temp_f3 = fabsf(rel_pos.z);
if (rel_pos.y >= 0.0f && rel_pos.y <= mScale.y && fabsf(rel_pos.x) <= mScale.x) {
if (temp_f3 >= (mScale.z - field_0x5b8) && temp_f3 <= (mScale.z + field_0x5b8) &&
((rel_pos.z > 0.0f && abs_angle > 0x8000 - field_0x5ae) ||
(rel_pos.z < 0.0f && abs_angle < field_0x5ae)))
{
f32 temp_f3_2 = fabsf(rel_pos.z / cM_scos(angle_diff));
f32 var_f4;
if (temp_f3_2 < field_0x5b8) {
var_f4 = field_0x5b8;
} else {
var_f4 = temp_f3_2;
}
rel_pos.x += (temp_f3_2 * cM_ssin(angle_diff)) + (var_f4 * cM_ssin(angle_diff));
if (fabsf(rel_pos.x) <= mScale.x ||
(mType == TYPE_TRIGGER_e && field_0x5ad == 4))
{
horse_p->onTagJump(temp_f3_2, field_0x5b4, var_f4);
}
}
}
}
}
return 1;
}
#pragma pop
/* 805A4134-805A4154 0006F4 0020+00 1/0 0/0 0/0 .text daTagHjump_Execute__FP12daTagHjump_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagHjump_Execute(daTagHjump_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/daTagHjump_Execute__FP12daTagHjump_c.s"
static int daTagHjump_Execute(daTagHjump_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 805A4154-805A4204 000714 00B0+00 1/0 0/0 0/0 .text Draw__12daTagHjump_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagHjump_c::Draw() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/Draw__12daTagHjump_cFv.s"
int daTagHjump_c::Draw() {
if (mType != TYPE_TRIGGER_e) {
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
}
return 1;
}
#pragma pop
/* 805A4204-805A4230 0007C4 002C+00 1/0 0/0 0/0 .text daTagHjump_Draw__FP12daTagHjump_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagHjump_Draw(daTagHjump_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_hjump/d_a_tag_hjump/daTagHjump_Draw__FP12daTagHjump_c.s"
static int daTagHjump_Draw(daTagHjump_c* i_this) {
return i_this->MoveBGDraw();
}
#pragma pop
/* 805A426C-805A428C -00001 0020+00 1/0 0/0 0/0 .data l_daTagHjump_Method */
static actor_method_class l_daTagHjump_Method = {
(process_method_func)daTagHjump_Create, (process_method_func)daTagHjump_Delete,
(process_method_func)daTagHjump_Execute, (process_method_func)NULL,
(process_method_func)daTagHjump_Draw,
};
/* 805A428C-805A42BC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Hjump */
extern actor_process_profile_definition g_profile_Tag_Hjump = {
-3,
3,
-3,
PROC_Tag_Hjump,
&g_fpcLf_Method.mBase,
sizeof(daTagHjump_c),
0,
0,
&g_fopAc_Method.base,
434,
&l_daTagHjump_Method,
0x44100,
3,
14,
};