Merge pull request #396 from TakaRikka/swprop

d_a_obj_swpropeller OK, work on d_kankyo / kytag08
This commit is contained in:
hatal175
2023-08-02 18:46:40 +03:00
committed by GitHub
68 changed files with 2754 additions and 2735 deletions
@@ -1,39 +0,0 @@
lbl_801A4E90:
/* 801A4E90 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801A4E94 7C 08 02 A6 */ mflr r0
/* 801A4E98 90 01 00 34 */ stw r0, 0x34(r1)
/* 801A4E9C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801A4EA0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801A4EA4 7C 7E 1B 78 */ mr r30, r3
/* 801A4EA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 801A4EAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 801A4EB0 83 E3 5D AC */ lwz r31, 0x5dac(r3)
/* 801A4EB4 28 1F 00 00 */ cmplwi r31, 0
/* 801A4EB8 41 82 00 54 */ beq lbl_801A4F0C
/* 801A4EBC C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 801A4EC0 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801A4EC4 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 801A4EC8 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801A4ECC C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 801A4ED0 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 801A4ED4 38 61 00 14 */ addi r3, r1, 0x14
/* 801A4ED8 38 80 00 00 */ li r4, 0
/* 801A4EDC 4B FF 92 61 */ bl dKy_eflight_influence_id__F4cXyzi
/* 801A4EE0 90 7E 12 A8 */ stw r3, 0x12a8(r30)
/* 801A4EE4 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 801A4EE8 D0 01 00 08 */ stfs f0, 8(r1)
/* 801A4EEC C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 801A4EF0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 801A4EF4 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 801A4EF8 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801A4EFC 38 61 00 08 */ addi r3, r1, 8
/* 801A4F00 38 80 00 00 */ li r4, 0
/* 801A4F04 4B FF 8E 69 */ bl dKy_light_influence_id__F4cXyzi
/* 801A4F08 90 7E 12 A4 */ stw r3, 0x12a4(r30)
lbl_801A4F0C:
/* 801A4F0C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801A4F10 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801A4F14 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801A4F18 7C 08 03 A6 */ mtlr r0
/* 801A4F1C 38 21 00 30 */ addi r1, r1, 0x30
/* 801A4F20 4E 80 00 20 */ blr
@@ -1,3 +0,0 @@
lbl_8019F780:
/* 8019F780 88 6D 87 E7 */ lbz r3, mStayNo__20dStage_roomControl_c+0x3(r13)
/* 8019F784 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_801A5BD4:
/* 801A5BD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801A5BD8 7C 08 02 A6 */ mflr r0
/* 801A5BDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801A5BE0 4B FF 8A B5 */ bl plight_init__Fv
/* 801A5BE4 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */
/* 801A5BE8 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */
/* 801A5BEC 48 12 0D AD */ bl resetScene__10Z2EnvSeMgrFv
/* 801A5BF0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A5BF4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A5BF8 80 63 0F 38 */ lwz r3, 0xf38(r3)
/* 801A5BFC 28 03 00 00 */ cmplwi r3, 0
/* 801A5C00 41 82 00 08 */ beq lbl_801A5C08
/* 801A5C04 4B E6 95 89 */ bl mDoExt_destroySolidHeap__FP12JKRSolidHeap
lbl_801A5C08:
/* 801A5C08 38 60 00 01 */ li r3, 1
/* 801A5C0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801A5C10 7C 08 03 A6 */ mtlr r0
/* 801A5C14 38 21 00 10 */ addi r1, r1, 0x10
/* 801A5C18 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_801A5B6C:
/* 801A5B6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801A5B70 7C 08 02 A6 */ mflr r0
/* 801A5B74 90 01 00 14 */ stw r0, 0x14(r1)
/* 801A5B78 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A5B7C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A5B80 4B FF FB 5D */ bl drawKankyo__18dScnKy_env_light_cFv
/* 801A5B84 38 60 00 01 */ li r3, 1
/* 801A5B88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801A5B8C 7C 08 03 A6 */ mtlr r0
/* 801A5B90 38 21 00 10 */ addi r1, r1, 0x10
/* 801A5B94 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_801A5B98:
/* 801A5B98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801A5B9C 7C 08 02 A6 */ mflr r0
/* 801A5BA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801A5BA4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A5BA8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A5BAC 4B FF F6 DD */ bl exeKankyo__18dScnKy_env_light_cFv
/* 801A5BB0 4B EB 4A 11 */ bl dKyw_wind_set__Fv
/* 801A5BB4 48 00 51 9D */ bl dKy_twilight_camelight_set__Fv
/* 801A5BB8 38 60 00 01 */ li r3, 1
/* 801A5BBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801A5BC0 7C 08 03 A6 */ mtlr r0
/* 801A5BC4 38 21 00 10 */ addi r1, r1, 0x10
/* 801A5BC8 4E 80 00 20 */ blr
@@ -1,69 +0,0 @@
lbl_801A75E0:
/* 801A75E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801A75E4 7C 08 02 A6 */ mflr r0
/* 801A75E8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801A75EC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801A75F0 7C 7F 1B 78 */ mr r31, r3
/* 801A75F4 A8 03 03 48 */ lha r0, 0x348(r3)
/* 801A75F8 98 01 00 0C */ stb r0, 0xc(r1)
/* 801A75FC A8 03 03 4A */ lha r0, 0x34a(r3)
/* 801A7600 98 01 00 0D */ stb r0, 0xd(r1)
/* 801A7604 A8 03 03 4C */ lha r0, 0x34c(r3)
/* 801A7608 98 01 00 0E */ stb r0, 0xe(r1)
/* 801A760C A8 03 03 4E */ lha r0, 0x34e(r3)
/* 801A7610 98 01 00 0F */ stb r0, 0xf(r1)
/* 801A7614 88 03 03 7A */ lbz r0, 0x37a(r3)
/* 801A7618 28 00 00 02 */ cmplwi r0, 2
/* 801A761C 41 82 00 0C */ beq lbl_801A7628
/* 801A7620 28 00 00 03 */ cmplwi r0, 3
/* 801A7624 40 82 00 54 */ bne lbl_801A7678
lbl_801A7628:
/* 801A7628 48 00 4F 55 */ bl dKy_darkworld_check__Fv
/* 801A762C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801A7630 41 82 00 80 */ beq lbl_801A76B0
/* 801A7634 88 1F 03 7A */ lbz r0, 0x37a(r31)
/* 801A7638 28 00 00 02 */ cmplwi r0, 2
/* 801A763C 40 82 00 20 */ bne lbl_801A765C
/* 801A7640 38 00 00 12 */ li r0, 0x12
/* 801A7644 98 01 00 0C */ stb r0, 0xc(r1)
/* 801A7648 98 01 00 0D */ stb r0, 0xd(r1)
/* 801A764C 98 01 00 0E */ stb r0, 0xe(r1)
/* 801A7650 38 00 00 00 */ li r0, 0
/* 801A7654 98 01 00 0F */ stb r0, 0xf(r1)
/* 801A7658 48 00 00 58 */ b lbl_801A76B0
lbl_801A765C:
/* 801A765C 38 00 00 0C */ li r0, 0xc
/* 801A7660 98 01 00 0C */ stb r0, 0xc(r1)
/* 801A7664 98 01 00 0D */ stb r0, 0xd(r1)
/* 801A7668 98 01 00 0E */ stb r0, 0xe(r1)
/* 801A766C 38 00 00 00 */ li r0, 0
/* 801A7670 98 01 00 0F */ stb r0, 0xf(r1)
/* 801A7674 48 00 00 3C */ b lbl_801A76B0
lbl_801A7678:
/* 801A7678 28 00 00 01 */ cmplwi r0, 1
/* 801A767C 41 80 00 0C */ blt lbl_801A7688
/* 801A7680 28 00 00 07 */ cmplwi r0, 7
/* 801A7684 40 81 00 18 */ ble lbl_801A769C
lbl_801A7688:
/* 801A7688 28 00 00 09 */ cmplwi r0, 9
/* 801A768C 40 82 00 24 */ bne lbl_801A76B0
/* 801A7690 48 00 4E ED */ bl dKy_darkworld_check__Fv
/* 801A7694 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801A7698 41 82 00 18 */ beq lbl_801A76B0
lbl_801A769C:
/* 801A769C 38 00 00 00 */ li r0, 0
/* 801A76A0 98 01 00 0C */ stb r0, 0xc(r1)
/* 801A76A4 98 01 00 0D */ stb r0, 0xd(r1)
/* 801A76A8 98 01 00 0E */ stb r0, 0xe(r1)
/* 801A76AC 98 01 00 0F */ stb r0, 0xf(r1)
lbl_801A76B0:
/* 801A76B0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801A76B4 90 01 00 08 */ stw r0, 8(r1)
/* 801A76B8 38 60 00 04 */ li r3, 4
/* 801A76BC 38 81 00 08 */ addi r4, r1, 8
/* 801A76C0 48 1B 62 A1 */ bl GXSetChanAmbColor
/* 801A76C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801A76C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801A76CC 7C 08 03 A6 */ mtlr r0
/* 801A76D0 38 21 00 20 */ addi r1, r1, 0x20
/* 801A76D4 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_801A7E88:
/* 801A7E88 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801A7E8C 7C 08 02 A6 */ mflr r0
/* 801A7E90 90 01 00 24 */ stw r0, 0x24(r1)
/* 801A7E94 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 801A7E98 39 61 00 18 */ addi r11, r1, 0x18
/* 801A7E9C 48 1B A3 41 */ bl _savegpr_29
/* 801A7EA0 7C 7D 1B 78 */ mr r29, r3
/* 801A7EA4 7C 9E 23 78 */ mr r30, r4
/* 801A7EA8 7C BF 2B 78 */ mr r31, r5
/* 801A7EAC FF E0 08 90 */ fmr f31, f1
/* 801A7EB0 4B FF FC 19 */ bl dKy_actor_addcol_amb_set__Fsssf
/* 801A7EB4 7F A3 EB 78 */ mr r3, r29
/* 801A7EB8 7F C4 F3 78 */ mr r4, r30
/* 801A7EBC 7F E5 FB 78 */ mr r5, r31
/* 801A7EC0 FC 20 F8 90 */ fmr f1, f31
/* 801A7EC4 4B FF FC A5 */ bl dKy_bg_addcol_amb_set__Fsssf
/* 801A7EC8 7F A3 EB 78 */ mr r3, r29
/* 801A7ECC 7F C4 F3 78 */ mr r4, r30
/* 801A7ED0 7F E5 FB 78 */ mr r5, r31
/* 801A7ED4 FC 20 F8 90 */ fmr f1, f31
/* 801A7ED8 4B FF FD 31 */ bl dKy_bg1_addcol_amb_set__Fsssf
/* 801A7EDC 7F A3 EB 78 */ mr r3, r29
/* 801A7EE0 7F C4 F3 78 */ mr r4, r30
/* 801A7EE4 7F E5 FB 78 */ mr r5, r31
/* 801A7EE8 FC 20 F8 90 */ fmr f1, f31
/* 801A7EEC 4B FF FD BD */ bl dKy_bg2_addcol_amb_set__Fsssf
/* 801A7EF0 7F A3 EB 78 */ mr r3, r29
/* 801A7EF4 7F C4 F3 78 */ mr r4, r30
/* 801A7EF8 7F E5 FB 78 */ mr r5, r31
/* 801A7EFC FC 20 F8 90 */ fmr f1, f31
/* 801A7F00 4B FF FE 49 */ bl dKy_bg3_addcol_amb_set__Fsssf
/* 801A7F04 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 801A7F08 39 61 00 18 */ addi r11, r1, 0x18
/* 801A7F0C 48 1B A3 1D */ bl _restgpr_29
/* 801A7F10 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801A7F14 7C 08 03 A6 */ mtlr r0
/* 801A7F18 38 21 00 20 */ addi r1, r1, 0x20
/* 801A7F1C 4E 80 00 20 */ blr
@@ -1,8 +0,0 @@
lbl_801A7AAC:
/* 801A7AAC 38 A0 00 00 */ li r5, 0
/* 801A7AB0 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7AB4 38 84 CA 54 */ addi r4, r4, g_env_light@l /* 0x8042CA54@l */
/* 801A7AB8 54 60 28 34 */ slwi r0, r3, 5
/* 801A7ABC 7C 64 02 14 */ add r3, r4, r0
/* 801A7AC0 90 A3 07 80 */ stw r5, 0x780(r3)
/* 801A7AC4 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_801A7A40:
/* 801A7A40 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801A7A44 7C 08 02 A6 */ mflr r0
/* 801A7A48 90 01 00 14 */ stw r0, 0x14(r1)
/* 801A7A4C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801A7A50 93 C1 00 08 */ stw r30, 8(r1)
/* 801A7A54 7C 65 1B 79 */ or. r5, r3, r3
/* 801A7A58 7C 9E 23 78 */ mr r30, r4
/* 801A7A5C 41 82 00 38 */ beq lbl_801A7A94
/* 801A7A60 57 DF 28 34 */ slwi r31, r30, 5
/* 801A7A64 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7A68 38 03 CA 54 */ addi r0, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A7A6C 7C 60 FA 14 */ add r3, r0, r31
/* 801A7A70 38 63 07 64 */ addi r3, r3, 0x764
/* 801A7A74 7C A4 2B 78 */ mr r4, r5
/* 801A7A78 38 A0 00 20 */ li r5, 0x20
/* 801A7A7C 4B E5 BA C5 */ bl memcpy
/* 801A7A80 38 9E 00 01 */ addi r4, r30, 1
/* 801A7A84 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7A88 38 03 CA 54 */ addi r0, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A7A8C 7C 60 FA 14 */ add r3, r0, r31
/* 801A7A90 90 83 07 80 */ stw r4, 0x780(r3)
lbl_801A7A94:
/* 801A7A94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801A7A98 83 C1 00 08 */ lwz r30, 8(r1)
/* 801A7A9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801A7AA0 7C 08 03 A6 */ mtlr r0
/* 801A7AA4 38 21 00 10 */ addi r1, r1, 0x10
/* 801A7AA8 4E 80 00 20 */ blr
@@ -1,108 +0,0 @@
lbl_801A4C10:
/* 801A4C10 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801A4C14 7C 08 02 A6 */ mflr r0
/* 801A4C18 90 01 00 34 */ stw r0, 0x34(r1)
/* 801A4C1C 39 61 00 30 */ addi r11, r1, 0x30
/* 801A4C20 48 1B D5 AD */ bl _savegpr_25
/* 801A4C24 7C 79 1B 78 */ mr r25, r3
/* 801A4C28 7C 9A 23 78 */ mr r26, r4
/* 801A4C2C 7C BB 2B 78 */ mr r27, r5
/* 801A4C30 83 C3 00 64 */ lwz r30, 0x64(r3)
/* 801A4C34 A0 63 00 5C */ lhz r3, 0x5c(r3)
/* 801A4C38 3B 83 FF FF */ addi r28, r3, -1
/* 801A4C3C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A4C40 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A4C44 48 00 01 3C */ b lbl_801A4D80
lbl_801A4C48:
/* 801A4C48 80 79 00 60 */ lwz r3, 0x60(r25)
/* 801A4C4C 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d
/* 801A4C50 7F A3 00 2E */ lwzx r29, r3, r0
/* 801A4C54 7F 65 DB 78 */ mr r5, r27
/* 801A4C58 A0 1A 03 78 */ lhz r0, 0x378(r26)
/* 801A4C5C 28 00 00 00 */ cmplwi r0, 0
/* 801A4C60 41 82 00 10 */ beq lbl_801A4C70
/* 801A4C64 7C 00 E0 00 */ cmpw r0, r28
/* 801A4C68 40 82 00 08 */ bne lbl_801A4C70
/* 801A4C6C 38 A0 00 02 */ li r5, 2
lbl_801A4C70:
/* 801A4C70 7F A3 EB 78 */ mr r3, r29
/* 801A4C74 7F 44 D3 78 */ mr r4, r26
/* 801A4C78 4B FF F7 A9 */ bl setLightTevColorType_MAJI_sub__FP11J3DMaterialP12dKy_tevstr_ci
/* 801A4C7C 7F C3 F3 78 */ mr r3, r30
/* 801A4C80 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 801A4C84 48 13 9E 75 */ bl getName__10JUTNameTabCFUs
/* 801A4C88 88 03 00 03 */ lbz r0, 3(r3)
/* 801A4C8C 2C 00 00 4D */ cmpwi r0, 0x4d
/* 801A4C90 40 82 00 34 */ bne lbl_801A4CC4
/* 801A4C94 88 03 00 04 */ lbz r0, 4(r3)
/* 801A4C98 2C 00 00 41 */ cmpwi r0, 0x41
/* 801A4C9C 40 82 00 28 */ bne lbl_801A4CC4
/* 801A4CA0 88 03 00 05 */ lbz r0, 5(r3)
/* 801A4CA4 2C 00 00 30 */ cmpwi r0, 0x30
/* 801A4CA8 40 82 00 1C */ bne lbl_801A4CC4
/* 801A4CAC 88 03 00 06 */ lbz r0, 6(r3)
/* 801A4CB0 7C 00 07 74 */ extsb r0, r0
/* 801A4CB4 2C 00 00 30 */ cmpwi r0, 0x30
/* 801A4CB8 41 82 00 24 */ beq lbl_801A4CDC
/* 801A4CBC 2C 00 00 31 */ cmpwi r0, 0x31
/* 801A4CC0 41 82 00 1C */ beq lbl_801A4CDC
lbl_801A4CC4:
/* 801A4CC4 88 03 00 05 */ lbz r0, 5(r3)
/* 801A4CC8 2C 00 00 31 */ cmpwi r0, 0x31
/* 801A4CCC 40 82 00 B0 */ bne lbl_801A4D7C
/* 801A4CD0 88 03 00 06 */ lbz r0, 6(r3)
/* 801A4CD4 2C 00 00 36 */ cmpwi r0, 0x36
/* 801A4CD8 40 82 00 A4 */ bne lbl_801A4D7C
lbl_801A4CDC:
/* 801A4CDC 88 03 00 06 */ lbz r0, 6(r3)
/* 801A4CE0 2C 00 00 30 */ cmpwi r0, 0x30
/* 801A4CE4 40 82 00 38 */ bne lbl_801A4D1C
/* 801A4CE8 88 1F 12 F8 */ lbz r0, 0x12f8(r31)
/* 801A4CEC 98 01 00 08 */ stb r0, 8(r1)
/* 801A4CF0 38 00 00 00 */ li r0, 0
/* 801A4CF4 98 01 00 09 */ stb r0, 9(r1)
/* 801A4CF8 98 01 00 0A */ stb r0, 0xa(r1)
/* 801A4CFC 98 01 00 0B */ stb r0, 0xb(r1)
/* 801A4D00 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 801A4D04 38 80 00 01 */ li r4, 1
/* 801A4D08 38 A1 00 08 */ addi r5, r1, 8
/* 801A4D0C 81 83 00 00 */ lwz r12, 0(r3)
/* 801A4D10 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 801A4D14 7D 89 03 A6 */ mtctr r12
/* 801A4D18 4E 80 04 21 */ bctrl
lbl_801A4D1C:
/* 801A4D1C 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 801A4D20 38 80 00 01 */ li r4, 1
/* 801A4D24 81 83 00 00 */ lwz r12, 0(r3)
/* 801A4D28 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 801A4D2C 7D 89 03 A6 */ mtctr r12
/* 801A4D30 4E 80 04 21 */ bctrl
/* 801A4D34 28 03 00 00 */ cmplwi r3, 0
/* 801A4D38 41 82 00 44 */ beq lbl_801A4D7C
/* 801A4D3C 80 7D 00 28 */ lwz r3, 0x28(r29)
/* 801A4D40 38 80 00 01 */ li r4, 1
/* 801A4D44 81 83 00 00 */ lwz r12, 0(r3)
/* 801A4D48 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 801A4D4C 7D 89 03 A6 */ mtctr r12
/* 801A4D50 4E 80 04 21 */ bctrl
/* 801A4D54 28 03 00 00 */ cmplwi r3, 0
/* 801A4D58 41 82 00 24 */ beq lbl_801A4D7C
/* 801A4D5C 80 9F 0E D0 */ lwz r4, 0xed0(r31)
/* 801A4D60 28 04 00 00 */ cmplwi r4, 0
/* 801A4D64 41 82 00 18 */ beq lbl_801A4D7C
/* 801A4D68 C0 04 11 50 */ lfs f0, 0x1150(r4)
/* 801A4D6C D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 801A4D70 80 9F 0E D0 */ lwz r4, 0xed0(r31)
/* 801A4D74 C0 04 11 54 */ lfs f0, 0x1154(r4)
/* 801A4D78 D0 03 00 20 */ stfs f0, 0x20(r3)
lbl_801A4D7C:
/* 801A4D7C 3B 9C FF FF */ addi r28, r28, -1
lbl_801A4D80:
/* 801A4D80 2C 1C 00 00 */ cmpwi r28, 0
/* 801A4D84 40 80 FE C4 */ bge lbl_801A4C48
/* 801A4D88 39 61 00 30 */ addi r11, r1, 0x30
/* 801A4D8C 48 1B D4 8D */ bl _restgpr_25
/* 801A4D90 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801A4D94 7C 08 03 A6 */ mtlr r0
/* 801A4D98 38 21 00 30 */ addi r1, r1, 0x30
/* 801A4D9C 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_801A7868:
/* 801A7868 28 03 00 00 */ cmplwi r3, 0
/* 801A786C 4D 82 00 20 */ beqlr
/* 801A7870 88 03 00 10 */ lbz r0, 0x10(r3)
/* 801A7874 7C 00 07 74 */ extsb r0, r0
/* 801A7878 2C 00 00 0A */ cmpwi r0, 0xa
/* 801A787C 4C 80 00 20 */ bgelr
/* 801A7880 38 80 00 00 */ li r4, 0
/* 801A7884 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7888 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A788C 54 00 10 3A */ slwi r0, r0, 2
/* 801A7890 7C 63 02 14 */ add r3, r3, r0
/* 801A7894 90 83 09 90 */ stw r4, 0x990(r3)
/* 801A7898 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_801A7814:
/* 801A7814 38 E0 00 00 */ li r7, 0
/* 801A7818 38 80 00 00 */ li r4, 0
/* 801A781C 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7820 38 C5 CA 54 */ addi r6, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A7824 38 00 00 0A */ li r0, 0xa
/* 801A7828 7C 09 03 A6 */ mtctr r0
lbl_801A782C:
/* 801A782C 7C A6 22 14 */ add r5, r6, r4
/* 801A7830 80 05 09 90 */ lwz r0, 0x990(r5)
/* 801A7834 28 00 00 00 */ cmplwi r0, 0
/* 801A7838 40 82 00 20 */ bne lbl_801A7858
/* 801A783C 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7840 38 05 CA 54 */ addi r0, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A7844 7C 80 22 14 */ add r4, r0, r4
/* 801A7848 90 64 09 90 */ stw r3, 0x990(r4)
/* 801A784C 80 64 09 90 */ lwz r3, 0x990(r4)
/* 801A7850 98 E3 00 10 */ stb r7, 0x10(r3)
/* 801A7854 4E 80 00 20 */ blr
lbl_801A7858:
/* 801A7858 38 E7 00 01 */ addi r7, r7, 1
/* 801A785C 38 84 00 04 */ addi r4, r4, 4
/* 801A7860 42 00 FF CC */ bdnz lbl_801A782C
/* 801A7864 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_801A7A00:
/* 801A7A00 28 03 00 00 */ cmplwi r3, 0
/* 801A7A04 4D 82 00 20 */ beqlr
/* 801A7A08 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 801A7A0C 2C 03 00 00 */ cmpwi r3, 0
/* 801A7A10 4D 82 00 20 */ beqlr
/* 801A7A14 34 03 FF FF */ addic. r0, r3, -1
/* 801A7A18 4D 80 00 20 */ bltlr
/* 801A7A1C 2C 00 00 05 */ cmpwi r0, 5
/* 801A7A20 4C 80 00 20 */ bgelr
/* 801A7A24 38 80 00 00 */ li r4, 0
/* 801A7A28 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7A2C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A7A30 54 00 10 3A */ slwi r0, r0, 2
/* 801A7A34 7C 63 02 14 */ add r3, r3, r0
/* 801A7A38 90 83 05 88 */ stw r4, 0x588(r3)
/* 801A7A3C 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_801A797C:
/* 801A797C 38 80 00 00 */ li r4, 0
/* 801A7980 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7984 38 C5 CA 54 */ addi r6, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A7988 38 00 00 05 */ li r0, 5
/* 801A798C 7C 09 03 A6 */ mtctr r0
lbl_801A7990:
/* 801A7990 7C A6 22 14 */ add r5, r6, r4
/* 801A7994 80 05 05 88 */ lwz r0, 0x588(r5)
/* 801A7998 7C 00 18 40 */ cmplw r0, r3
/* 801A799C 4D 82 00 20 */ beqlr
/* 801A79A0 38 84 00 04 */ addi r4, r4, 4
/* 801A79A4 42 00 FF EC */ bdnz lbl_801A7990
/* 801A79A8 38 E0 00 00 */ li r7, 0
/* 801A79AC 38 80 00 00 */ li r4, 0
/* 801A79B0 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A79B4 38 C5 CA 54 */ addi r6, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A79B8 38 00 00 05 */ li r0, 5
/* 801A79BC 7C 09 03 A6 */ mtctr r0
lbl_801A79C0:
/* 801A79C0 7C A6 22 14 */ add r5, r6, r4
/* 801A79C4 80 05 05 88 */ lwz r0, 0x588(r5)
/* 801A79C8 28 00 00 00 */ cmplwi r0, 0
/* 801A79CC 40 82 00 24 */ bne lbl_801A79F0
/* 801A79D0 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A79D4 38 05 CA 54 */ addi r0, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A79D8 7C 80 22 14 */ add r4, r0, r4
/* 801A79DC 90 64 05 88 */ stw r3, 0x588(r4)
/* 801A79E0 38 07 00 01 */ addi r0, r7, 1
/* 801A79E4 80 64 05 88 */ lwz r3, 0x588(r4)
/* 801A79E8 90 03 00 1C */ stw r0, 0x1c(r3)
/* 801A79EC 4E 80 00 20 */ blr
lbl_801A79F0:
/* 801A79F0 38 E7 00 01 */ addi r7, r7, 1
/* 801A79F4 38 84 00 04 */ addi r4, r4, 4
/* 801A79F8 42 00 FF C8 */ bdnz lbl_801A79C0
/* 801A79FC 4E 80 00 20 */ blr
@@ -1,36 +0,0 @@
lbl_801A61F4:
/* 801A61F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801A61F8 7C 08 02 A6 */ mflr r0
/* 801A61FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801A6200 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801A6204 7C 85 23 78 */ mr r5, r4
/* 801A6208 3B E0 00 01 */ li r31, 1
/* 801A620C 88 83 00 1F */ lbz r4, 0x1f(r3)
/* 801A6210 28 04 00 FF */ cmplwi r4, 0xff
/* 801A6214 41 82 00 4C */ beq lbl_801A6260
/* 801A6218 88 03 00 1E */ lbz r0, 0x1e(r3)
/* 801A621C 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 801A6220 40 82 00 24 */ bne lbl_801A6244
/* 801A6224 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 801A6228 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 801A622C 7C A5 07 74 */ extsb r5, r5
/* 801A6230 4B E8 F1 31 */ bl isSwitch__10dSv_info_cCFii
/* 801A6234 2C 03 00 00 */ cmpwi r3, 0
/* 801A6238 41 82 00 28 */ beq lbl_801A6260
/* 801A623C 3B E0 00 00 */ li r31, 0
/* 801A6240 48 00 00 20 */ b lbl_801A6260
lbl_801A6244:
/* 801A6244 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 801A6248 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 801A624C 7C A5 07 74 */ extsb r5, r5
/* 801A6250 4B E8 F1 11 */ bl isSwitch__10dSv_info_cCFii
/* 801A6254 2C 03 00 00 */ cmpwi r3, 0
/* 801A6258 40 82 00 08 */ bne lbl_801A6260
/* 801A625C 3B E0 00 00 */ li r31, 0
lbl_801A6260:
/* 801A6260 7F E3 FB 78 */ mr r3, r31
/* 801A6264 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801A6268 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801A626C 7C 08 03 A6 */ mtlr r0
/* 801A6270 38 21 00 10 */ addi r1, r1, 0x10
/* 801A6274 4E 80 00 20 */ blr
@@ -1,25 +0,0 @@
lbl_801A7738:
/* 801A7738 38 E0 00 32 */ li r7, 0x32
/* 801A773C 38 80 00 C8 */ li r4, 0xc8
/* 801A7740 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7744 38 C5 CA 54 */ addi r6, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A7748 38 00 00 32 */ li r0, 0x32
/* 801A774C 7C 09 03 A6 */ mtctr r0
lbl_801A7750:
/* 801A7750 7C A6 22 14 */ add r5, r6, r4
/* 801A7754 80 05 03 F8 */ lwz r0, 0x3f8(r5)
/* 801A7758 28 00 00 00 */ cmplwi r0, 0
/* 801A775C 40 82 00 24 */ bne lbl_801A7780
/* 801A7760 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7764 38 05 CA 54 */ addi r0, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A7768 7C 80 22 14 */ add r4, r0, r4
/* 801A776C 90 64 03 F8 */ stw r3, 0x3f8(r4)
/* 801A7770 38 07 00 01 */ addi r0, r7, 1
/* 801A7774 80 64 03 F8 */ lwz r3, 0x3f8(r4)
/* 801A7778 90 03 00 1C */ stw r0, 0x1c(r3)
/* 801A777C 4E 80 00 20 */ blr
lbl_801A7780:
/* 801A7780 38 E7 00 01 */ addi r7, r7, 1
/* 801A7784 38 84 00 04 */ addi r4, r4, 4
/* 801A7788 42 00 FF C8 */ bdnz lbl_801A7750
/* 801A778C 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_801A792C:
/* 801A792C 28 03 00 00 */ cmplwi r3, 0
/* 801A7930 4D 82 00 20 */ beqlr
/* 801A7934 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 801A7938 2C 00 00 00 */ cmpwi r0, 0
/* 801A793C 4D 82 00 20 */ beqlr
/* 801A7940 40 80 00 0C */ bge lbl_801A794C
/* 801A7944 1C 00 FF FF */ mulli r0, r0, -1
/* 801A7948 90 03 00 1C */ stw r0, 0x1c(r3)
lbl_801A794C:
/* 801A794C 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 801A7950 54 03 05 3E */ clrlwi r3, r0, 0x14
/* 801A7954 38 03 FF FF */ addi r0, r3, -1
/* 801A7958 2C 00 00 32 */ cmpwi r0, 0x32
/* 801A795C 4C 80 00 20 */ bgelr
/* 801A7960 38 80 00 00 */ li r4, 0
/* 801A7964 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7968 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A796C 54 00 10 3A */ slwi r0, r0, 2
/* 801A7970 7C 63 02 14 */ add r3, r3, r0
/* 801A7974 90 83 03 F8 */ stw r4, 0x3f8(r3)
/* 801A7978 4E 80 00 20 */ blr
@@ -1,41 +0,0 @@
lbl_801A789C:
/* 801A789C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801A78A0 7C 08 02 A6 */ mflr r0
/* 801A78A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801A78A8 38 E0 00 00 */ li r7, 0
/* 801A78AC 38 80 00 00 */ li r4, 0
/* 801A78B0 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A78B4 38 C5 CA 54 */ addi r6, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A78B8 38 00 00 32 */ li r0, 0x32
/* 801A78BC 7C 09 03 A6 */ mtctr r0
lbl_801A78C0:
/* 801A78C0 7C A6 22 14 */ add r5, r6, r4
/* 801A78C4 80 05 03 F8 */ lwz r0, 0x3f8(r5)
/* 801A78C8 28 00 00 00 */ cmplwi r0, 0
/* 801A78CC 40 82 00 28 */ bne lbl_801A78F4
/* 801A78D0 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A78D4 38 05 CA 54 */ addi r0, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A78D8 7C 80 22 14 */ add r4, r0, r4
/* 801A78DC 90 64 03 F8 */ stw r3, 0x3f8(r4)
/* 801A78E0 38 07 00 01 */ addi r0, r7, 1
/* 801A78E4 7C 00 00 D0 */ neg r0, r0
/* 801A78E8 80 64 03 F8 */ lwz r3, 0x3f8(r4)
/* 801A78EC 90 03 00 1C */ stw r0, 0x1c(r3)
/* 801A78F0 48 00 00 10 */ b lbl_801A7900
lbl_801A78F4:
/* 801A78F4 38 E7 00 01 */ addi r7, r7, 1
/* 801A78F8 38 84 00 04 */ addi r4, r4, 4
/* 801A78FC 42 00 FF C4 */ bdnz lbl_801A78C0
lbl_801A7900:
/* 801A7900 2C 07 00 32 */ cmpwi r7, 0x32
/* 801A7904 41 80 00 18 */ blt lbl_801A791C
/* 801A7908 3C 60 80 39 */ lis r3, d_kankyo_d_kankyo__stringBase0@ha /* 0x80394C6C@ha */
/* 801A790C 38 63 4C 6C */ addi r3, r3, d_kankyo_d_kankyo__stringBase0@l /* 0x80394C6C@l */
/* 801A7910 38 63 02 09 */ addi r3, r3, 0x209
/* 801A7914 4C C6 31 82 */ crclr 6
/* 801A7918 4B E5 F3 D5 */ bl OSReport_Warning
lbl_801A791C:
/* 801A791C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801A7920 7C 08 03 A6 */ mtlr r0
/* 801A7924 38 21 00 10 */ addi r1, r1, 0x10
/* 801A7928 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_801A7790:
/* 801A7790 38 80 00 00 */ li r4, 0
/* 801A7794 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A7798 38 C5 CA 54 */ addi r6, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A779C 38 00 00 64 */ li r0, 0x64
/* 801A77A0 7C 09 03 A6 */ mtctr r0
lbl_801A77A4:
/* 801A77A4 7C A6 22 14 */ add r5, r6, r4
/* 801A77A8 80 05 03 F8 */ lwz r0, 0x3f8(r5)
/* 801A77AC 7C 00 18 40 */ cmplw r0, r3
/* 801A77B0 4D 82 00 20 */ beqlr
/* 801A77B4 38 84 00 04 */ addi r4, r4, 4
/* 801A77B8 42 00 FF EC */ bdnz lbl_801A77A4
/* 801A77BC 38 E0 00 00 */ li r7, 0
/* 801A77C0 38 80 00 00 */ li r4, 0
/* 801A77C4 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A77C8 38 C5 CA 54 */ addi r6, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A77CC 38 00 00 32 */ li r0, 0x32
/* 801A77D0 7C 09 03 A6 */ mtctr r0
lbl_801A77D4:
/* 801A77D4 7C A6 22 14 */ add r5, r6, r4
/* 801A77D8 80 05 03 F8 */ lwz r0, 0x3f8(r5)
/* 801A77DC 28 00 00 00 */ cmplwi r0, 0
/* 801A77E0 40 82 00 24 */ bne lbl_801A7804
/* 801A77E4 3C A0 80 43 */ lis r5, g_env_light@ha /* 0x8042CA54@ha */
/* 801A77E8 38 05 CA 54 */ addi r0, r5, g_env_light@l /* 0x8042CA54@l */
/* 801A77EC 7C 80 22 14 */ add r4, r0, r4
/* 801A77F0 90 64 03 F8 */ stw r3, 0x3f8(r4)
/* 801A77F4 38 07 00 01 */ addi r0, r7, 1
/* 801A77F8 80 64 03 F8 */ lwz r3, 0x3f8(r4)
/* 801A77FC 90 03 00 1C */ stw r0, 0x1c(r3)
/* 801A7800 4E 80 00 20 */ blr
lbl_801A7804:
/* 801A7804 38 E7 00 01 */ addi r7, r7, 1
/* 801A7808 38 84 00 04 */ addi r4, r4, 4
/* 801A780C 42 00 FF C8 */ bdnz lbl_801A77D4
/* 801A7810 4E 80 00 20 */ blr
@@ -1,69 +0,0 @@
lbl_801A4DA0:
/* 801A4DA0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801A4DA4 7C 08 02 A6 */ mflr r0
/* 801A4DA8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801A4DAC 39 61 00 20 */ addi r11, r1, 0x20
/* 801A4DB0 48 1B D4 29 */ bl _savegpr_28
/* 801A4DB4 7C 7E 1B 78 */ mr r30, r3
/* 801A4DB8 7C 9C 23 78 */ mr r28, r4
/* 801A4DBC 7C BD 2B 78 */ mr r29, r5
/* 801A4DC0 88 05 03 83 */ lbz r0, 0x383(r5)
/* 801A4DC4 28 00 00 7C */ cmplwi r0, 0x7c
/* 801A4DC8 41 82 00 34 */ beq lbl_801A4DFC
/* 801A4DCC 28 00 00 7B */ cmplwi r0, 0x7b
/* 801A4DD0 41 82 00 18 */ beq lbl_801A4DE8
/* 801A4DD4 7F A3 EB 78 */ mr r3, r29
/* 801A4DD8 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 801A4DDC 7C 04 07 74 */ extsb r4, r0
/* 801A4DE0 38 A0 00 FF */ li r5, 0xff
/* 801A4DE4 48 00 3B 09 */ bl dKy_tevstr_init__FP12dKy_tevstr_cScUc
lbl_801A4DE8:
/* 801A4DE8 7F C3 F3 78 */ mr r3, r30
/* 801A4DEC 38 80 00 0B */ li r4, 0xb
/* 801A4DF0 38 A0 00 00 */ li r5, 0
/* 801A4DF4 7F A6 EB 78 */ mr r6, r29
/* 801A4DF8 4B FF E9 CD */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
lbl_801A4DFC:
/* 801A4DFC 7F A3 EB 78 */ mr r3, r29
/* 801A4E00 48 00 20 9D */ bl dKy_setLight_nowroom_actor__FP12dKy_tevstr_c
/* 801A4E04 88 1D 03 7A */ lbz r0, 0x37a(r29)
/* 801A4E08 28 00 00 0A */ cmplwi r0, 0xa
/* 801A4E0C 40 81 00 1C */ ble lbl_801A4E28
/* 801A4E10 28 00 00 0C */ cmplwi r0, 0xc
/* 801A4E14 41 82 00 14 */ beq lbl_801A4E28
/* 801A4E18 28 00 00 0D */ cmplwi r0, 0xd
/* 801A4E1C 41 82 00 0C */ beq lbl_801A4E28
/* 801A4E20 3B E0 00 00 */ li r31, 0
/* 801A4E24 48 00 00 08 */ b lbl_801A4E2C
lbl_801A4E28:
/* 801A4E28 3B E0 00 01 */ li r31, 1
lbl_801A4E2C:
/* 801A4E2C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 801A4E30 41 82 00 18 */ beq lbl_801A4E48
/* 801A4E34 7F 83 E3 78 */ mr r3, r28
/* 801A4E38 7F A4 EB 78 */ mr r4, r29
/* 801A4E3C 7F E5 FB 78 */ mr r5, r31
/* 801A4E40 4B FF FD D1 */ bl dKy_cloudshadow_scroll__FP12J3DModelDataP12dKy_tevstr_ci
/* 801A4E44 48 00 00 34 */ b lbl_801A4E78
lbl_801A4E48:
/* 801A4E48 A0 7C 00 5C */ lhz r3, 0x5c(r28)
/* 801A4E4C 3B C3 FF FF */ addi r30, r3, -1
/* 801A4E50 48 00 00 20 */ b lbl_801A4E70
lbl_801A4E54:
/* 801A4E54 80 7C 00 60 */ lwz r3, 0x60(r28)
/* 801A4E58 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d
/* 801A4E5C 7C 63 00 2E */ lwzx r3, r3, r0
/* 801A4E60 7F A4 EB 78 */ mr r4, r29
/* 801A4E64 7F E5 FB 78 */ mr r5, r31
/* 801A4E68 4B FF F5 B9 */ bl setLightTevColorType_MAJI_sub__FP11J3DMaterialP12dKy_tevstr_ci
/* 801A4E6C 3B DE FF FF */ addi r30, r30, -1
lbl_801A4E70:
/* 801A4E70 2C 1E 00 00 */ cmpwi r30, 0
/* 801A4E74 40 80 FF E0 */ bge lbl_801A4E54
lbl_801A4E78:
/* 801A4E78 39 61 00 20 */ addi r11, r1, 0x20
/* 801A4E7C 48 1B D3 A9 */ bl _restgpr_28
/* 801A4E80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801A4E84 7C 08 03 A6 */ mtlr r0
/* 801A4E88 38 21 00 20 */ addi r1, r1, 0x20
/* 801A4E8C 4E 80 00 20 */ blr
@@ -1,152 +0,0 @@
lbl_8000EA80:
/* 8000EA80 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8000EA84 7C 08 02 A6 */ mflr r0
/* 8000EA88 90 01 00 64 */ stw r0, 0x64(r1)
/* 8000EA8C 39 61 00 60 */ addi r11, r1, 0x60
/* 8000EA90 48 35 37 45 */ bl _savegpr_27
/* 8000EA94 7C 7B 1B 78 */ mr r27, r3
/* 8000EA98 83 E3 00 6C */ lwz r31, 0x6c(r3)
/* 8000EA9C 28 1F 00 00 */ cmplwi r31, 0
/* 8000EAA0 41 82 02 08 */ beq lbl_8000ECA8
/* 8000EAA4 83 DB 00 70 */ lwz r30, 0x70(r27)
/* 8000EAA8 28 1E 00 00 */ cmplwi r30, 0
/* 8000EAAC 41 82 01 FC */ beq lbl_8000ECA8
/* 8000EAB0 38 80 00 00 */ li r4, 0
/* 8000EAB4 3B 80 00 00 */ li r28, 0
/* 8000EAB8 48 00 01 40 */ b lbl_8000EBF8
lbl_8000EABC:
/* 8000EABC 80 1F 00 04 */ lwz r0, 4(r31)
/* 8000EAC0 57 9D 2A F4 */ rlwinm r29, r28, 5, 0xb, 0x1a
/* 8000EAC4 7C 60 EA 14 */ add r3, r0, r29
/* 8000EAC8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8000EACC 28 00 00 00 */ cmplwi r0, 0
/* 8000EAD0 40 82 01 24 */ bne lbl_8000EBF4
/* 8000EAD4 7F C3 F3 78 */ mr r3, r30
/* 8000EAD8 7F 84 E3 78 */ mr r4, r28
/* 8000EADC 48 2D 00 1D */ bl getName__10JUTNameTabCFUs
/* 8000EAE0 7C 66 1B 78 */ mr r6, r3
/* 8000EAE4 38 61 00 08 */ addi r3, r1, 8
/* 8000EAE8 38 80 00 40 */ li r4, 0x40
/* 8000EAEC 3C A0 80 37 */ lis r5, m_Do_m_Do_ext__stringBase0@ha /* 0x803740FC@ha */
/* 8000EAF0 38 A5 40 FC */ addi r5, r5, m_Do_m_Do_ext__stringBase0@l /* 0x803740FC@l */
/* 8000EAF4 38 A5 00 1C */ addi r5, r5, 0x1c
/* 8000EAF8 4C C6 31 82 */ crclr 6
/* 8000EAFC 48 35 7A C1 */ bl snprintf
/* 8000EB00 38 61 00 08 */ addi r3, r1, 8
/* 8000EB04 48 02 09 31 */ bl dComIfG_getStageRes__FPCc
/* 8000EB08 80 1F 00 04 */ lwz r0, 4(r31)
/* 8000EB0C 7C 80 EA 14 */ add r4, r0, r29
/* 8000EB10 88 03 00 00 */ lbz r0, 0(r3)
/* 8000EB14 98 04 00 00 */ stb r0, 0(r4)
/* 8000EB18 88 03 00 01 */ lbz r0, 1(r3)
/* 8000EB1C 98 04 00 01 */ stb r0, 1(r4)
/* 8000EB20 A0 03 00 02 */ lhz r0, 2(r3)
/* 8000EB24 B0 04 00 02 */ sth r0, 2(r4)
/* 8000EB28 A0 03 00 04 */ lhz r0, 4(r3)
/* 8000EB2C B0 04 00 04 */ sth r0, 4(r4)
/* 8000EB30 88 03 00 06 */ lbz r0, 6(r3)
/* 8000EB34 98 04 00 06 */ stb r0, 6(r4)
/* 8000EB38 88 03 00 07 */ lbz r0, 7(r3)
/* 8000EB3C 98 04 00 07 */ stb r0, 7(r4)
/* 8000EB40 88 03 00 08 */ lbz r0, 8(r3)
/* 8000EB44 98 04 00 08 */ stb r0, 8(r4)
/* 8000EB48 88 03 00 09 */ lbz r0, 9(r3)
/* 8000EB4C 98 04 00 09 */ stb r0, 9(r4)
/* 8000EB50 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 8000EB54 B0 04 00 0A */ sth r0, 0xa(r4)
/* 8000EB58 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8000EB5C 90 04 00 0C */ stw r0, 0xc(r4)
/* 8000EB60 88 03 00 10 */ lbz r0, 0x10(r3)
/* 8000EB64 98 04 00 10 */ stb r0, 0x10(r4)
/* 8000EB68 88 03 00 11 */ lbz r0, 0x11(r3)
/* 8000EB6C 98 04 00 11 */ stb r0, 0x11(r4)
/* 8000EB70 88 03 00 12 */ lbz r0, 0x12(r3)
/* 8000EB74 98 04 00 12 */ stb r0, 0x12(r4)
/* 8000EB78 88 03 00 13 */ lbz r0, 0x13(r3)
/* 8000EB7C 98 04 00 13 */ stb r0, 0x13(r4)
/* 8000EB80 88 03 00 14 */ lbz r0, 0x14(r3)
/* 8000EB84 98 04 00 14 */ stb r0, 0x14(r4)
/* 8000EB88 88 03 00 15 */ lbz r0, 0x15(r3)
/* 8000EB8C 98 04 00 15 */ stb r0, 0x15(r4)
/* 8000EB90 88 03 00 16 */ lbz r0, 0x16(r3)
/* 8000EB94 98 04 00 16 */ stb r0, 0x16(r4)
/* 8000EB98 88 03 00 17 */ lbz r0, 0x17(r3)
/* 8000EB9C 98 04 00 17 */ stb r0, 0x17(r4)
/* 8000EBA0 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8000EBA4 98 04 00 18 */ stb r0, 0x18(r4)
/* 8000EBA8 88 03 00 19 */ lbz r0, 0x19(r3)
/* 8000EBAC 98 04 00 19 */ stb r0, 0x19(r4)
/* 8000EBB0 A8 03 00 1A */ lha r0, 0x1a(r3)
/* 8000EBB4 B0 04 00 1A */ sth r0, 0x1a(r4)
/* 8000EBB8 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 8000EBBC 90 04 00 1C */ stw r0, 0x1c(r4)
/* 8000EBC0 80 1F 00 04 */ lwz r0, 4(r31)
/* 8000EBC4 7C 80 EA 14 */ add r4, r0, r29
/* 8000EBC8 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 8000EBCC 7C 03 02 14 */ add r0, r3, r0
/* 8000EBD0 7C 04 00 50 */ subf r0, r4, r0
/* 8000EBD4 90 04 00 1C */ stw r0, 0x1c(r4)
/* 8000EBD8 80 1F 00 04 */ lwz r0, 4(r31)
/* 8000EBDC 7C 80 EA 14 */ add r4, r0, r29
/* 8000EBE0 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8000EBE4 7C 03 02 14 */ add r0, r3, r0
/* 8000EBE8 7C 04 00 50 */ subf r0, r4, r0
/* 8000EBEC 90 04 00 0C */ stw r0, 0xc(r4)
/* 8000EBF0 38 80 00 01 */ li r4, 1
lbl_8000EBF4:
/* 8000EBF4 3B 9C 00 01 */ addi r28, r28, 1
lbl_8000EBF8:
/* 8000EBF8 57 83 04 3E */ clrlwi r3, r28, 0x10
/* 8000EBFC A0 1F 00 00 */ lhz r0, 0(r31)
/* 8000EC00 7C 03 00 40 */ cmplw r3, r0
/* 8000EC04 41 80 FE B8 */ blt lbl_8000EABC
/* 8000EC08 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8000EC0C 41 82 00 9C */ beq lbl_8000ECA8
/* 8000EC10 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 8000EC14 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
/* 8000EC18 93 E3 00 58 */ stw r31, 0x58(r3)
/* 8000EC1C 3B C0 00 00 */ li r30, 0
/* 8000EC20 48 00 00 78 */ b lbl_8000EC98
lbl_8000EC24:
/* 8000EC24 80 7B 00 60 */ lwz r3, 0x60(r27)
/* 8000EC28 57 C0 13 BA */ rlwinm r0, r30, 2, 0xe, 0x1d
/* 8000EC2C 7C 63 00 2E */ lwzx r3, r3, r0
/* 8000EC30 83 83 00 2C */ lwz r28, 0x2c(r3)
/* 8000EC34 28 1C 00 00 */ cmplwi r28, 0
/* 8000EC38 41 82 00 5C */ beq lbl_8000EC94
/* 8000EC3C 83 A3 00 48 */ lwz r29, 0x48(r3)
/* 8000EC40 28 1D 00 00 */ cmplwi r29, 0
/* 8000EC44 41 82 00 50 */ beq lbl_8000EC94
/* 8000EC48 48 32 EA AD */ bl OSDisableInterrupts
/* 8000EC4C 7C 7F 1B 78 */ mr r31, r3
/* 8000EC50 3C 60 80 43 */ lis r3, sGDLObj__17J3DDisplayListObj@ha /* 0x80434C70@ha */
/* 8000EC54 38 63 4C 70 */ addi r3, r3, sGDLObj__17J3DDisplayListObj@l /* 0x80434C70@l */
/* 8000EC58 80 9D 00 00 */ lwz r4, 0(r29)
/* 8000EC5C 80 BD 00 08 */ lwz r5, 8(r29)
/* 8000EC60 48 35 23 39 */ bl GDInitGDLObj
/* 8000EC64 3C 60 80 43 */ lis r3, sGDLObj__17J3DDisplayListObj@ha /* 0x80434C70@ha */
/* 8000EC68 38 03 4C 70 */ addi r0, r3, sGDLObj__17J3DDisplayListObj@l /* 0x80434C70@l */
/* 8000EC6C 90 0D 94 00 */ stw r0, __GDCurrentDL(r13)
/* 8000EC70 7F 83 E3 78 */ mr r3, r28
/* 8000EC74 81 9C 00 00 */ lwz r12, 0(r28)
/* 8000EC78 81 8C 00 34 */ lwz r12, 0x34(r12)
/* 8000EC7C 7D 89 03 A6 */ mtctr r12
/* 8000EC80 4E 80 04 21 */ bctrl
/* 8000EC84 7F E3 FB 78 */ mr r3, r31
/* 8000EC88 48 32 EA 95 */ bl OSRestoreInterrupts
/* 8000EC8C 38 00 00 00 */ li r0, 0
/* 8000EC90 90 0D 94 00 */ stw r0, __GDCurrentDL(r13)
lbl_8000EC94:
/* 8000EC94 3B DE 00 01 */ addi r30, r30, 1
lbl_8000EC98:
/* 8000EC98 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 8000EC9C A0 1B 00 5C */ lhz r0, 0x5c(r27)
/* 8000ECA0 7C 03 00 40 */ cmplw r3, r0
/* 8000ECA4 41 80 FF 80 */ blt lbl_8000EC24
lbl_8000ECA8:
/* 8000ECA8 39 61 00 60 */ addi r11, r1, 0x60
/* 8000ECAC 48 35 35 75 */ bl _restgpr_27
/* 8000ECB0 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8000ECB4 7C 08 03 A6 */ mtlr r0
/* 8000ECB8 38 21 00 60 */ addi r1, r1, 0x60
/* 8000ECBC 4E 80 00 20 */ blr
@@ -1,54 +0,0 @@
lbl_8085AEA8:
/* 8085AEA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8085AEAC 7C 08 02 A6 */ mflr r0
/* 8085AEB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8085AEB4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8085AEB8 7C 7F 1B 78 */ mr r31, r3
/* 8085AEBC 80 63 05 9C */ lwz r3, 0x59c(r3)
/* 8085AEC0 28 03 00 00 */ cmplwi r3, 0
/* 8085AEC4 41 82 00 40 */ beq lbl_8085AF04
/* 8085AEC8 4B A2 3D 99 */ bl deleteAllParticle__14JPABaseEmitterFv
/* 8085AECC 80 7F 05 9C */ lwz r3, 0x59c(r31)
/* 8085AED0 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 8085AED4 60 00 00 01 */ ori r0, r0, 1
/* 8085AED8 90 03 00 F4 */ stw r0, 0xf4(r3)
/* 8085AEDC 38 00 00 01 */ li r0, 1
/* 8085AEE0 90 03 00 24 */ stw r0, 0x24(r3)
/* 8085AEE4 80 7F 05 9C */ lwz r3, 0x59c(r31)
/* 8085AEE8 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 8085AEEC 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
/* 8085AEF0 90 03 00 F4 */ stw r0, 0xf4(r3)
/* 8085AEF4 38 00 00 00 */ li r0, 0
/* 8085AEF8 80 7F 05 9C */ lwz r3, 0x59c(r31)
/* 8085AEFC 90 03 00 EC */ stw r0, 0xec(r3)
/* 8085AF00 90 1F 05 9C */ stw r0, 0x59c(r31)
lbl_8085AF04:
/* 8085AF04 80 7F 05 A0 */ lwz r3, 0x5a0(r31)
/* 8085AF08 28 03 00 00 */ cmplwi r3, 0
/* 8085AF0C 41 82 00 40 */ beq lbl_8085AF4C
/* 8085AF10 4B A2 3D 51 */ bl deleteAllParticle__14JPABaseEmitterFv
/* 8085AF14 80 7F 05 A0 */ lwz r3, 0x5a0(r31)
/* 8085AF18 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 8085AF1C 60 00 00 01 */ ori r0, r0, 1
/* 8085AF20 90 03 00 F4 */ stw r0, 0xf4(r3)
/* 8085AF24 38 00 00 01 */ li r0, 1
/* 8085AF28 90 03 00 24 */ stw r0, 0x24(r3)
/* 8085AF2C 80 7F 05 A0 */ lwz r3, 0x5a0(r31)
/* 8085AF30 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 8085AF34 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
/* 8085AF38 90 03 00 F4 */ stw r0, 0xf4(r3)
/* 8085AF3C 38 00 00 00 */ li r0, 0
/* 8085AF40 80 7F 05 A0 */ lwz r3, 0x5a0(r31)
/* 8085AF44 90 03 00 EC */ stw r0, 0xec(r3)
/* 8085AF48 90 1F 05 A0 */ stw r0, 0x5a0(r31)
lbl_8085AF4C:
/* 8085AF4C 38 7F 05 A4 */ addi r3, r31, 0x5a4
/* 8085AF50 3C 80 80 86 */ lis r4, d_a_kytag08__stringBase0@ha /* 0x8085B310@ha */
/* 8085AF54 38 84 B3 10 */ addi r4, r4, d_a_kytag08__stringBase0@l /* 0x8085B310@l */
/* 8085AF58 4B 7D 20 B1 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 8085AF5C 38 60 00 01 */ li r3, 1
/* 8085AF60 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8085AF64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8085AF68 7C 08 03 A6 */ mtlr r0
/* 8085AF6C 38 21 00 10 */ addi r1, r1, 0x10
/* 8085AF70 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059A5C8:
/* 8059A5C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A5CC 7C 08 02 A6 */ mflr r0
/* 8059A5D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A5D4 48 00 02 35 */ bl CreateHeap__11daObjSwPr_cFv
/* 8059A5D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A5DC 7C 08 03 A6 */ mtlr r0
/* 8059A5E0 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A5E4 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_8059A808:
/* 8059A808 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A80C 7C 08 02 A6 */ mflr r0
/* 8059A810 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A814 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059A818 7C 7F 1B 78 */ mr r31, r3
/* 8059A81C 88 03 08 3E */ lbz r0, 0x83e(r3)
/* 8059A820 54 00 10 3A */ slwi r0, r0, 2
/* 8059A824 3C 60 80 5A */ lis r3, l_arcName@ha /* 0x8059B380@ha */
/* 8059A828 38 63 B3 80 */ addi r3, r3, l_arcName@l /* 0x8059B380@l */
/* 8059A82C 7C 63 00 2E */ lwzx r3, r3, r0
/* 8059A830 3C 80 80 5A */ lis r4, l_bmdName@ha /* 0x8059B2C8@ha */
/* 8059A834 38 84 B2 C8 */ addi r4, r4, l_bmdName@l /* 0x8059B2C8@l */
/* 8059A838 7C 84 00 2E */ lwzx r4, r4, r0
/* 8059A83C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059A840 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059A844 3C A5 00 02 */ addis r5, r5, 2
/* 8059A848 38 C0 00 80 */ li r6, 0x80
/* 8059A84C 38 A5 C2 F8 */ addi r5, r5, -15624
/* 8059A850 4B AA 1A 9D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 8059A854 3C 80 00 08 */ lis r4, 8
/* 8059A858 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 8059A85C 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 8059A860 4B A7 A3 F5 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 8059A864 90 7F 05 70 */ stw r3, 0x570(r31)
/* 8059A868 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 8059A86C 30 03 FF FF */ addic r0, r3, -1
/* 8059A870 7C 60 19 10 */ subfe r3, r0, r3
/* 8059A874 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059A878 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A87C 7C 08 03 A6 */ mtlr r0
/* 8059A880 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A884 4E 80 00 20 */ blr
@@ -1,108 +0,0 @@
lbl_8059A670:
/* 8059A670 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8059A674 7C 08 02 A6 */ mflr r0
/* 8059A678 90 01 00 24 */ stw r0, 0x24(r1)
/* 8059A67C 39 61 00 20 */ addi r11, r1, 0x20
/* 8059A680 4B DC 7B 55 */ bl _savegpr_27
/* 8059A684 7C 7E 1B 78 */ mr r30, r3
/* 8059A688 3C 80 80 5A */ lis r4, l_bmdName@ha /* 0x8059B2C8@ha */
/* 8059A68C 3B E4 B2 C8 */ addi r31, r4, l_bmdName@l /* 0x8059B2C8@l */
/* 8059A690 4B FF FF 59 */ bl initBaseMtx__11daObjSwPr_cFv
/* 8059A694 80 7E 05 70 */ lwz r3, 0x570(r30)
/* 8059A698 38 03 00 24 */ addi r0, r3, 0x24
/* 8059A69C 90 1E 05 04 */ stw r0, 0x504(r30)
/* 8059A6A0 38 7E 05 74 */ addi r3, r30, 0x574
/* 8059A6A4 38 80 00 FF */ li r4, 0xff
/* 8059A6A8 38 A0 00 FF */ li r5, 0xff
/* 8059A6AC 7F C6 F3 78 */ mr r6, r30
/* 8059A6B0 4B AE 91 B1 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c
/* 8059A6B4 38 7E 05 B0 */ addi r3, r30, 0x5b0
/* 8059A6B8 38 9F 00 10 */ addi r4, r31, 0x10
/* 8059A6BC 4B AE A1 F9 */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl
/* 8059A6C0 38 1E 05 74 */ addi r0, r30, 0x574
/* 8059A6C4 90 1E 05 F4 */ stw r0, 0x5f4(r30)
/* 8059A6C8 88 1E 08 3C */ lbz r0, 0x83c(r30)
/* 8059A6CC 28 00 00 01 */ cmplwi r0, 1
/* 8059A6D0 40 82 00 28 */ bne lbl_8059A6F8
/* 8059A6D4 38 7E 06 EC */ addi r3, r30, 0x6ec
/* 8059A6D8 38 9F 00 10 */ addi r4, r31, 0x10
/* 8059A6DC 4B AE A1 D9 */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl
/* 8059A6E0 38 1E 05 74 */ addi r0, r30, 0x574
/* 8059A6E4 90 1E 07 30 */ stw r0, 0x730(r30)
/* 8059A6E8 38 00 02 00 */ li r0, 0x200
/* 8059A6EC 90 1E 07 14 */ stw r0, 0x714(r30)
/* 8059A6F0 38 00 00 03 */ li r0, 3
/* 8059A6F4 98 1E 07 A5 */ stb r0, 0x7a5(r30)
lbl_8059A6F8:
/* 8059A6F8 7F C3 F3 78 */ mr r3, r30
/* 8059A6FC C0 3F 00 54 */ lfs f1, 0x54(r31)
/* 8059A700 38 9F 00 54 */ addi r4, r31, 0x54
/* 8059A704 C0 44 00 04 */ lfs f2, 4(r4)
/* 8059A708 C0 64 00 08 */ lfs f3, 8(r4)
/* 8059A70C C0 84 00 0C */ lfs f4, 0xc(r4)
/* 8059A710 C0 A4 00 10 */ lfs f5, 0x10(r4)
/* 8059A714 C0 C4 00 14 */ lfs f6, 0x14(r4)
/* 8059A718 4B A7 FE 31 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff
/* 8059A71C 80 7E 05 70 */ lwz r3, 0x570(r30)
/* 8059A720 80 63 00 04 */ lwz r3, 4(r3)
/* 8059A724 83 83 00 54 */ lwz r28, 0x54(r3)
/* 8059A728 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
/* 8059A72C 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */
/* 8059A730 B0 1E 08 30 */ sth r0, 0x830(r30)
/* 8059A734 3B 60 00 00 */ li r27, 0
/* 8059A738 3C 60 80 5A */ lis r3, l_joint_name@ha /* 0x8059B388@ha */
/* 8059A73C 3B A3 B3 88 */ addi r29, r3, l_joint_name@l /* 0x8059B388@l */
/* 8059A740 48 00 00 28 */ b lbl_8059A768
lbl_8059A744:
/* 8059A744 7F 83 E3 78 */ mr r3, r28
/* 8059A748 7F 64 DB 78 */ mr r4, r27
/* 8059A74C 4B D4 43 AD */ bl getName__10JUTNameTabCFUs
/* 8059A750 80 9D 00 00 */ lwz r4, 0(r29)
/* 8059A754 4B DC E2 41 */ bl strcmp
/* 8059A758 2C 03 00 00 */ cmpwi r3, 0
/* 8059A75C 40 82 00 08 */ bne lbl_8059A764
/* 8059A760 B3 7E 08 30 */ sth r27, 0x830(r30)
lbl_8059A764:
/* 8059A764 3B 7B 00 01 */ addi r27, r27, 1
lbl_8059A768:
/* 8059A768 80 7E 05 70 */ lwz r3, 0x570(r30)
/* 8059A76C 80 83 00 04 */ lwz r4, 4(r3)
/* 8059A770 A0 64 00 2C */ lhz r3, 0x2c(r4)
/* 8059A774 57 60 04 3E */ clrlwi r0, r27, 0x10
/* 8059A778 7C 00 18 40 */ cmplw r0, r3
/* 8059A77C 41 80 FF C8 */ blt lbl_8059A744
/* 8059A780 80 64 00 28 */ lwz r3, 0x28(r4)
/* 8059A784 A0 1E 08 30 */ lhz r0, 0x830(r30)
/* 8059A788 54 00 10 3A */ slwi r0, r0, 2
/* 8059A78C 7C 83 00 2E */ lwzx r4, r3, r0
/* 8059A790 3C 60 80 5A */ lis r3, nodeCallBack__FP8J3DJointi@ha /* 0x8059A518@ha */
/* 8059A794 38 03 A5 18 */ addi r0, r3, nodeCallBack__FP8J3DJointi@l /* 0x8059A518@l */
/* 8059A798 90 04 00 04 */ stw r0, 4(r4)
/* 8059A79C 80 7E 05 70 */ lwz r3, 0x570(r30)
/* 8059A7A0 93 C3 00 14 */ stw r30, 0x14(r3)
/* 8059A7A4 C0 3E 05 3C */ lfs f1, 0x53c(r30)
/* 8059A7A8 C0 1F 00 74 */ lfs f0, 0x74(r31)
/* 8059A7AC EC 01 00 2A */ fadds f0, f1, f0
/* 8059A7B0 D0 1E 05 3C */ stfs f0, 0x53c(r30)
/* 8059A7B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059A7B8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059A7BC 38 63 4E 00 */ addi r3, r3, 0x4e00
/* 8059A7C0 3C 80 80 5A */ lis r4, d_a_obj_swpropeller__stringBase0@ha /* 0x8059B360@ha */
/* 8059A7C4 38 84 B3 60 */ addi r4, r4, d_a_obj_swpropeller__stringBase0@l /* 0x8059B360@l */
/* 8059A7C8 38 84 00 19 */ addi r4, r4, 0x19
/* 8059A7CC 4B DC E1 C9 */ bl strcmp
/* 8059A7D0 2C 03 00 00 */ cmpwi r3, 0
/* 8059A7D4 40 82 00 18 */ bne lbl_8059A7EC
/* 8059A7D8 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 8059A7DC 2C 00 00 04 */ cmpwi r0, 4
/* 8059A7E0 40 82 00 0C */ bne lbl_8059A7EC
/* 8059A7E4 C0 1F 00 74 */ lfs f0, 0x74(r31)
/* 8059A7E8 D0 1E 05 20 */ stfs f0, 0x520(r30)
lbl_8059A7EC:
/* 8059A7EC 38 60 00 01 */ li r3, 1
/* 8059A7F0 39 61 00 20 */ addi r11, r1, 0x20
/* 8059A7F4 4B DC 7A 2D */ bl _restgpr_27
/* 8059A7F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8059A7FC 7C 08 03 A6 */ mtlr r0
/* 8059A800 38 21 00 20 */ addi r1, r1, 0x20
/* 8059A804 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8059AABC:
/* 8059AABC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059AAC0 7C 08 02 A6 */ mflr r0
/* 8059AAC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059AAC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059AACC 7C 7F 1B 79 */ or. r31, r3, r3
/* 8059AAD0 41 82 00 1C */ beq lbl_8059AAEC
/* 8059AAD4 3C A0 80 5A */ lis r5, __vt__8cM3dGAab@ha /* 0x8059B3E8@ha */
/* 8059AAD8 38 05 B3 E8 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x8059B3E8@l */
/* 8059AADC 90 1F 00 18 */ stw r0, 0x18(r31)
/* 8059AAE0 7C 80 07 35 */ extsh. r0, r4
/* 8059AAE4 40 81 00 08 */ ble lbl_8059AAEC
/* 8059AAE8 4B D3 42 55 */ bl __dl__FPv
lbl_8059AAEC:
/* 8059AAEC 7F E3 FB 78 */ mr r3, r31
/* 8059AAF0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059AAF4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059AAF8 7C 08 03 A6 */ mtlr r0
/* 8059AAFC 38 21 00 10 */ addi r1, r1, 0x10
/* 8059AB00 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8059AA74:
/* 8059AA74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059AA78 7C 08 02 A6 */ mflr r0
/* 8059AA7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059AA80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059AA84 7C 7F 1B 79 */ or. r31, r3, r3
/* 8059AA88 41 82 00 1C */ beq lbl_8059AAA4
/* 8059AA8C 3C A0 80 5A */ lis r5, __vt__8cM3dGCyl@ha /* 0x8059B3DC@ha */
/* 8059AA90 38 05 B3 DC */ addi r0, r5, __vt__8cM3dGCyl@l /* 0x8059B3DC@l */
/* 8059AA94 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8059AA98 7C 80 07 35 */ extsh. r0, r4
/* 8059AA9C 40 81 00 08 */ ble lbl_8059AAA4
/* 8059AAA0 4B D3 42 9D */ bl __dl__FPv
lbl_8059AAA4:
/* 8059AAA4 7F E3 FB 78 */ mr r3, r31
/* 8059AAA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059AAAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059AAB0 7C 08 03 A6 */ mtlr r0
/* 8059AAB4 38 21 00 10 */ addi r1, r1, 0x10
/* 8059AAB8 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_8059B1AC:
/* 8059B1AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059B1B0 7C 08 02 A6 */ mflr r0
/* 8059B1B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059B1B8 7C 64 1B 78 */ mr r4, r3
/* 8059B1BC 38 64 05 68 */ addi r3, r4, 0x568
/* 8059B1C0 88 04 08 3E */ lbz r0, 0x83e(r4)
/* 8059B1C4 54 00 10 3A */ slwi r0, r0, 2
/* 8059B1C8 3C 80 80 5A */ lis r4, l_arcName@ha /* 0x8059B380@ha */
/* 8059B1CC 38 84 B3 80 */ addi r4, r4, l_arcName@l /* 0x8059B380@l */
/* 8059B1D0 7C 84 00 2E */ lwzx r4, r4, r0
/* 8059B1D4 4B A9 1E 35 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 8059B1D8 38 60 00 01 */ li r3, 1
/* 8059B1DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059B1E0 7C 08 03 A6 */ mtlr r0
/* 8059B1E4 38 21 00 10 */ addi r1, r1, 0x10
/* 8059B1E8 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059B24C:
/* 8059B24C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059B250 7C 08 02 A6 */ mflr r0
/* 8059B254 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059B258 4B FF F6 31 */ bl create__11daObjSwPr_cFv
/* 8059B25C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059B260 7C 08 03 A6 */ mtlr r0
/* 8059B264 38 21 00 10 */ addi r1, r1, 0x10
/* 8059B268 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059B22C:
/* 8059B22C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059B230 7C 08 02 A6 */ mflr r0
/* 8059B234 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059B238 4B FF FF 75 */ bl _delete__11daObjSwPr_cFv
/* 8059B23C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059B240 7C 08 03 A6 */ mtlr r0
/* 8059B244 38 21 00 10 */ addi r1, r1, 0x10
/* 8059B248 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059B1EC:
/* 8059B1EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059B1F0 7C 08 02 A6 */ mflr r0
/* 8059B1F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059B1F8 4B FF FF 51 */ bl draw__11daObjSwPr_cFv
/* 8059B1FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059B200 7C 08 03 A6 */ mtlr r0
/* 8059B204 38 21 00 10 */ addi r1, r1, 0x10
/* 8059B208 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8059B20C:
/* 8059B20C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059B210 7C 08 02 A6 */ mflr r0
/* 8059B214 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059B218 4B FF FD FD */ bl execute__11daObjSwPr_cFv
/* 8059B21C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059B220 7C 08 03 A6 */ mtlr r0
/* 8059B224 38 21 00 10 */ addi r1, r1, 0x10
/* 8059B228 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_8059B148:
/* 8059B148 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059B14C 7C 08 02 A6 */ mflr r0
/* 8059B150 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059B154 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059B158 7C 7F 1B 78 */ mr r31, r3
/* 8059B15C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8059B160 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8059B164 38 80 00 10 */ li r4, 0x10
/* 8059B168 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 8059B16C 38 DF 01 0C */ addi r6, r31, 0x10c
/* 8059B170 4B C0 86 55 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 8059B174 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8059B178 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8059B17C 80 9F 05 70 */ lwz r4, 0x570(r31)
/* 8059B180 80 84 00 04 */ lwz r4, 4(r4)
/* 8059B184 38 BF 01 0C */ addi r5, r31, 0x10c
/* 8059B188 4B C0 9C 19 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 8059B18C 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 8059B190 4B A7 2B 35 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 8059B194 38 60 00 01 */ li r3, 1
/* 8059B198 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059B19C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059B1A0 7C 08 03 A6 */ mtlr r0
/* 8059B1A4 38 21 00 10 */ addi r1, r1, 0x10
/* 8059B1A8 4E 80 00 20 */ blr
@@ -1,82 +0,0 @@
lbl_8059B014:
/* 8059B014 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8059B018 7C 08 02 A6 */ mflr r0
/* 8059B01C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8059B020 39 61 00 30 */ addi r11, r1, 0x30
/* 8059B024 4B DC 71 B9 */ bl _savegpr_29
/* 8059B028 7C 7E 1B 78 */ mr r30, r3
/* 8059B02C 3C 80 80 5A */ lis r4, l_bmdName@ha /* 0x8059B2C8@ha */
/* 8059B030 3B E4 B2 C8 */ addi r31, r4, l_bmdName@l /* 0x8059B2C8@l */
/* 8059B034 88 03 08 3C */ lbz r0, 0x83c(r3)
/* 8059B038 2C 00 00 01 */ cmpwi r0, 1
/* 8059B03C 41 82 00 1C */ beq lbl_8059B058
/* 8059B040 40 80 00 1C */ bge lbl_8059B05C
/* 8059B044 2C 00 00 00 */ cmpwi r0, 0
/* 8059B048 40 80 00 08 */ bge lbl_8059B050
/* 8059B04C 48 00 00 10 */ b lbl_8059B05C
lbl_8059B050:
/* 8059B050 4B FF FB 4D */ bl execute_type_boomerang__11daObjSwPr_cFv
/* 8059B054 48 00 00 08 */ b lbl_8059B05C
lbl_8059B058:
/* 8059B058 4B FF FD 75 */ bl execute_type_wind__11daObjSwPr_cFv
lbl_8059B05C:
/* 8059B05C A8 7E 08 28 */ lha r3, 0x828(r30)
/* 8059B060 7C 60 07 35 */ extsh. r0, r3
/* 8059B064 41 82 00 A0 */ beq lbl_8059B104
/* 8059B068 A8 9E 08 2A */ lha r4, 0x82a(r30)
/* 8059B06C 7C 80 07 35 */ extsh. r0, r4
/* 8059B070 41 82 00 94 */ beq lbl_8059B104
/* 8059B074 C0 7F 00 80 */ lfs f3, 0x80(r31)
/* 8059B078 C8 5F 00 90 */ lfd f2, 0x90(r31)
/* 8059B07C 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 8059B080 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059B084 3C 60 43 30 */ lis r3, 0x4330
/* 8059B088 90 61 00 10 */ stw r3, 0x10(r1)
/* 8059B08C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8059B090 EC 20 10 28 */ fsubs f1, f0, f2
/* 8059B094 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 8059B098 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8059B09C 90 61 00 18 */ stw r3, 0x18(r1)
/* 8059B0A0 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8059B0A4 EC 00 10 28 */ fsubs f0, f0, f2
/* 8059B0A8 EC 01 00 24 */ fdivs f0, f1, f0
/* 8059B0AC EC 23 00 32 */ fmuls f1, f3, f0
/* 8059B0B0 4B DC 6F FD */ bl __cvt_fp2unsigned
/* 8059B0B4 7C 7D 1B 78 */ mr r29, r3
/* 8059B0B8 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 8059B0BC 7C 03 07 74 */ extsb r3, r0
/* 8059B0C0 4B A9 1F AD */ bl dComIfGp_getReverb__Fi
/* 8059B0C4 7C 67 1B 78 */ mr r7, r3
/* 8059B0C8 3C 60 00 08 */ lis r3, 0x0008 /* 0x000800CF@ha */
/* 8059B0CC 38 03 00 CF */ addi r0, r3, 0x00CF /* 0x000800CF@l */
/* 8059B0D0 90 01 00 08 */ stw r0, 8(r1)
/* 8059B0D4 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 8059B0D8 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 8059B0DC 80 63 00 00 */ lwz r3, 0(r3)
/* 8059B0E0 38 81 00 08 */ addi r4, r1, 8
/* 8059B0E4 38 BE 05 38 */ addi r5, r30, 0x538
/* 8059B0E8 7F A6 EB 78 */ mr r6, r29
/* 8059B0EC C0 3F 00 78 */ lfs f1, 0x78(r31)
/* 8059B0F0 FC 40 08 90 */ fmr f2, f1
/* 8059B0F4 C0 7F 00 7C */ lfs f3, 0x7c(r31)
/* 8059B0F8 FC 80 18 90 */ fmr f4, f3
/* 8059B0FC 39 00 00 00 */ li r8, 0
/* 8059B100 4B D1 14 0D */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
lbl_8059B104:
/* 8059B104 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059B108 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059B10C 38 63 5B 6C */ addi r3, r3, 0x5b6c
/* 8059B110 7F C4 F3 78 */ mr r4, r30
/* 8059B114 C0 3F 00 84 */ lfs f1, 0x84(r31)
/* 8059B118 C0 5F 00 88 */ lfs f2, 0x88(r31)
/* 8059B11C C0 7F 00 8C */ lfs f3, 0x8c(r31)
/* 8059B120 38 A0 69 78 */ li r5, 0x6978
/* 8059B124 38 C0 00 02 */ li r6, 2
/* 8059B128 4B AD 8B E1 */ bl request__10dAttLook_cFP10fopAc_ac_cfffsi
/* 8059B12C 38 60 00 01 */ li r3, 1
/* 8059B130 39 61 00 30 */ addi r11, r1, 0x30
/* 8059B134 4B DC 70 F5 */ bl _restgpr_29
/* 8059B138 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8059B13C 7C 08 03 A6 */ mtlr r0
/* 8059B140 38 21 00 30 */ addi r1, r1, 0x30
/* 8059B144 4E 80 00 20 */ blr
@@ -1,148 +0,0 @@
lbl_8059AB9C:
/* 8059AB9C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8059ABA0 7C 08 02 A6 */ mflr r0
/* 8059ABA4 90 01 00 44 */ stw r0, 0x44(r1)
/* 8059ABA8 39 61 00 40 */ addi r11, r1, 0x40
/* 8059ABAC 4B DC 76 2D */ bl _savegpr_28
/* 8059ABB0 7C 7E 1B 78 */ mr r30, r3
/* 8059ABB4 38 7E 05 B0 */ addi r3, r30, 0x5b0
/* 8059ABB8 4B AE 98 A9 */ bl ChkTgHit__12dCcD_GObjInfFv
/* 8059ABBC 30 03 FF FF */ addic r0, r3, -1
/* 8059ABC0 7C 00 19 10 */ subfe r0, r0, r3
/* 8059ABC4 54 1F 06 3E */ clrlwi r31, r0, 0x18
/* 8059ABC8 A8 7E 08 2C */ lha r3, 0x82c(r30)
/* 8059ABCC A8 1E 08 28 */ lha r0, 0x828(r30)
/* 8059ABD0 7C 03 02 14 */ add r0, r3, r0
/* 8059ABD4 B0 1E 08 2C */ sth r0, 0x82c(r30)
/* 8059ABD8 38 7E 08 28 */ addi r3, r30, 0x828
/* 8059ABDC 38 80 00 00 */ li r4, 0
/* 8059ABE0 A8 BE 08 2A */ lha r5, 0x82a(r30)
/* 8059ABE4 A8 1E 08 2E */ lha r0, 0x82e(r30)
/* 8059ABE8 7C 05 03 D6 */ divw r0, r5, r0
/* 8059ABEC 7C 05 07 34 */ extsh r5, r0
/* 8059ABF0 4B CD 5F A1 */ bl cLib_chaseAngleS__FPsss
/* 8059ABF4 3B 80 00 00 */ li r28, 0
/* 8059ABF8 38 7E 05 B0 */ addi r3, r30, 0x5b0
/* 8059ABFC 4B AE 98 65 */ bl ChkTgHit__12dCcD_GObjInfFv
/* 8059AC00 28 03 00 00 */ cmplwi r3, 0
/* 8059AC04 41 82 00 74 */ beq lbl_8059AC78
/* 8059AC08 88 1E 08 38 */ lbz r0, 0x838(r30)
/* 8059AC0C 28 00 00 00 */ cmplwi r0, 0
/* 8059AC10 40 82 00 68 */ bne lbl_8059AC78
/* 8059AC14 38 7E 05 B0 */ addi r3, r30, 0x5b0
/* 8059AC18 4B AE 98 E1 */ bl GetTgHitObj__12dCcD_GObjInfFv
/* 8059AC1C 7C 7D 1B 79 */ or. r29, r3, r3
/* 8059AC20 41 82 00 44 */ beq lbl_8059AC64
/* 8059AC24 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8059AC28 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19
/* 8059AC2C 41 82 00 28 */ beq lbl_8059AC54
/* 8059AC30 38 7E 05 B0 */ addi r3, r30, 0x5b0
/* 8059AC34 4B AE 99 15 */ bl GetTgHitGObj__12dCcD_GObjInfFv
/* 8059AC38 28 03 00 00 */ cmplwi r3, 0
/* 8059AC3C 41 82 00 18 */ beq lbl_8059AC54
/* 8059AC40 38 7E 05 B0 */ addi r3, r30, 0x5b0
/* 8059AC44 4B AE 99 05 */ bl GetTgHitGObj__12dCcD_GObjInfFv
/* 8059AC48 88 03 00 75 */ lbz r0, 0x75(r3)
/* 8059AC4C 28 00 00 03 */ cmplwi r0, 3
/* 8059AC50 41 82 00 10 */ beq lbl_8059AC60
lbl_8059AC54:
/* 8059AC54 80 1D 00 10 */ lwz r0, 0x10(r29)
/* 8059AC58 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
/* 8059AC5C 41 82 00 08 */ beq lbl_8059AC64
lbl_8059AC60:
/* 8059AC60 3B 80 00 01 */ li r28, 1
lbl_8059AC64:
/* 8059AC64 38 7E 05 B0 */ addi r3, r30, 0x5b0
/* 8059AC68 81 9E 05 EC */ lwz r12, 0x5ec(r30)
/* 8059AC6C 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8059AC70 7D 89 03 A6 */ mtctr r12
/* 8059AC74 4E 80 04 21 */ bctrl
lbl_8059AC78:
/* 8059AC78 2C 1C 00 00 */ cmpwi r28, 0
/* 8059AC7C 41 82 00 C0 */ beq lbl_8059AD3C
/* 8059AC80 88 7E 08 39 */ lbz r3, 0x839(r30)
/* 8059AC84 38 03 00 01 */ addi r0, r3, 1
/* 8059AC88 98 1E 08 39 */ stb r0, 0x839(r30)
/* 8059AC8C 38 00 20 00 */ li r0, 0x2000
/* 8059AC90 B0 1E 08 2A */ sth r0, 0x82a(r30)
/* 8059AC94 B0 1E 08 28 */ sth r0, 0x828(r30)
/* 8059AC98 7F C3 F3 78 */ mr r3, r30
/* 8059AC9C 4B FF FE 69 */ bl setRotateTime__11daObjSwPr_cFv
/* 8059ACA0 B0 7E 08 2E */ sth r3, 0x82e(r30)
/* 8059ACA4 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 8059ACA8 7C 03 07 74 */ extsb r3, r0
/* 8059ACAC 4B A9 23 C1 */ bl dComIfGp_getReverb__Fi
/* 8059ACB0 7C 67 1B 78 */ mr r7, r3
/* 8059ACB4 3C 60 00 08 */ lis r3, 0x0008 /* 0x000800E3@ha */
/* 8059ACB8 38 03 00 E3 */ addi r0, r3, 0x00E3 /* 0x000800E3@l */
/* 8059ACBC 90 01 00 08 */ stw r0, 8(r1)
/* 8059ACC0 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 8059ACC4 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 8059ACC8 80 63 00 00 */ lwz r3, 0(r3)
/* 8059ACCC 38 81 00 08 */ addi r4, r1, 8
/* 8059ACD0 38 BE 05 38 */ addi r5, r30, 0x538
/* 8059ACD4 38 C0 00 00 */ li r6, 0
/* 8059ACD8 3D 00 80 5A */ lis r8, lit_3983@ha /* 0x8059B340@ha */
/* 8059ACDC C0 28 B3 40 */ lfs f1, lit_3983@l(r8) /* 0x8059B340@l */
/* 8059ACE0 FC 40 08 90 */ fmr f2, f1
/* 8059ACE4 3D 00 80 5A */ lis r8, lit_3984@ha /* 0x8059B344@ha */
/* 8059ACE8 C0 68 B3 44 */ lfs f3, lit_3984@l(r8) /* 0x8059B344@l */
/* 8059ACEC FC 80 18 90 */ fmr f4, f3
/* 8059ACF0 39 00 00 00 */ li r8, 0
/* 8059ACF4 4B D1 0C 91 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 8059ACF8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059ACFC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AD00 38 63 4E 00 */ addi r3, r3, 0x4e00
/* 8059AD04 3C 80 80 5A */ lis r4, d_a_obj_swpropeller__stringBase0@ha /* 0x8059B360@ha */
/* 8059AD08 38 84 B3 60 */ addi r4, r4, d_a_obj_swpropeller__stringBase0@l /* 0x8059B360@l */
/* 8059AD0C 38 84 00 19 */ addi r4, r4, 0x19
/* 8059AD10 4B DC DC 85 */ bl strcmp
/* 8059AD14 2C 03 00 00 */ cmpwi r3, 0
/* 8059AD18 40 82 00 1C */ bne lbl_8059AD34
/* 8059AD1C 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 8059AD20 7C 00 07 75 */ extsb. r0, r0
/* 8059AD24 40 82 00 10 */ bne lbl_8059AD34
/* 8059AD28 38 00 00 00 */ li r0, 0
/* 8059AD2C B0 1E 08 32 */ sth r0, 0x832(r30)
/* 8059AD30 48 00 00 0C */ b lbl_8059AD3C
lbl_8059AD34:
/* 8059AD34 38 00 00 08 */ li r0, 8
/* 8059AD38 B0 1E 08 32 */ sth r0, 0x832(r30)
lbl_8059AD3C:
/* 8059AD3C 38 7E 08 3A */ addi r3, r30, 0x83a
/* 8059AD40 48 00 05 49 */ bl func_8059B288
/* 8059AD44 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8059AD48 41 82 00 0C */ beq lbl_8059AD54
/* 8059AD4C 38 00 20 00 */ li r0, 0x2000
/* 8059AD50 B0 1E 08 28 */ sth r0, 0x828(r30)
lbl_8059AD54:
/* 8059AD54 7F C3 F3 78 */ mr r3, r30
/* 8059AD58 4B FF FD BD */ bl switchCtrl__11daObjSwPr_cFv
/* 8059AD5C 7F C3 F3 78 */ mr r3, r30
/* 8059AD60 4B FF F8 C5 */ bl setBaseMtx__11daObjSwPr_cFv
/* 8059AD64 3C 60 80 43 */ lis r3, Zero__4cXyz@ha /* 0x80430CF4@ha */
/* 8059AD68 C4 03 0C F4 */ lfsu f0, Zero__4cXyz@l(r3) /* 0x80430CF4@l */
/* 8059AD6C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8059AD70 C0 03 00 04 */ lfs f0, 4(r3)
/* 8059AD74 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8059AD78 C0 03 00 08 */ lfs f0, 8(r3)
/* 8059AD7C D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8059AD80 38 61 00 0C */ addi r3, r1, 0xc
/* 8059AD84 38 9E 04 D0 */ addi r4, r30, 0x4d0
/* 8059AD88 38 A1 00 18 */ addi r5, r1, 0x18
/* 8059AD8C 4B CC BD 59 */ bl __pl__4cXyzCFRC3Vec
/* 8059AD90 38 7E 06 D4 */ addi r3, r30, 0x6d4
/* 8059AD94 38 81 00 0C */ addi r4, r1, 0xc
/* 8059AD98 4B CD 44 45 */ bl SetC__8cM3dGCylFRC4cXyz
/* 8059AD9C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059ADA0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059ADA4 38 63 23 3C */ addi r3, r3, 0x233c
/* 8059ADA8 38 9E 05 B0 */ addi r4, r30, 0x5b0
/* 8059ADAC 4B CC 9D FD */ bl Set__4cCcSFP8cCcD_Obj
/* 8059ADB0 9B FE 08 38 */ stb r31, 0x838(r30)
/* 8059ADB4 39 61 00 40 */ addi r11, r1, 0x40
/* 8059ADB8 4B DC 74 6D */ bl _restgpr_28
/* 8059ADBC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8059ADC0 7C 08 03 A6 */ mtlr r0
/* 8059ADC4 38 21 00 40 */ addi r1, r1, 0x40
/* 8059ADC8 4E 80 00 20 */ blr
@@ -1,153 +0,0 @@
lbl_8059ADCC:
/* 8059ADCC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8059ADD0 7C 08 02 A6 */ mflr r0
/* 8059ADD4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8059ADD8 39 61 00 20 */ addi r11, r1, 0x20
/* 8059ADDC 4B DC 73 FD */ bl _savegpr_28
/* 8059ADE0 7C 7C 1B 78 */ mr r28, r3
/* 8059ADE4 3B C0 00 00 */ li r30, 0
/* 8059ADE8 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8059ADEC 54 1F 06 3E */ clrlwi r31, r0, 0x18
/* 8059ADF0 3B A0 00 00 */ li r29, 0
/* 8059ADF4 38 7C 06 EC */ addi r3, r28, 0x6ec
/* 8059ADF8 4B AE 96 69 */ bl ChkTgHit__12dCcD_GObjInfFv
/* 8059ADFC 28 03 00 00 */ cmplwi r3, 0
/* 8059AE00 41 82 00 A0 */ beq lbl_8059AEA0
/* 8059AE04 38 7C 06 EC */ addi r3, r28, 0x6ec
/* 8059AE08 4B AE 97 41 */ bl GetTgHitGObj__12dCcD_GObjInfFv
/* 8059AE0C 28 03 00 00 */ cmplwi r3, 0
/* 8059AE10 41 82 00 98 */ beq lbl_8059AEA8
/* 8059AE14 38 7C 06 EC */ addi r3, r28, 0x6ec
/* 8059AE18 4B AE 97 31 */ bl GetTgHitGObj__12dCcD_GObjInfFv
/* 8059AE1C 88 03 00 75 */ lbz r0, 0x75(r3)
/* 8059AE20 28 00 00 03 */ cmplwi r0, 3
/* 8059AE24 40 82 00 84 */ bne lbl_8059AEA8
/* 8059AE28 38 7C 06 EC */ addi r3, r28, 0x6ec
/* 8059AE2C 4B AE 96 CD */ bl GetTgHitObj__12dCcD_GObjInfFv
/* 8059AE30 28 03 00 00 */ cmplwi r3, 0
/* 8059AE34 41 82 00 74 */ beq lbl_8059AEA8
/* 8059AE38 3B C0 1B 58 */ li r30, 0x1b58
/* 8059AE3C 38 00 1B 58 */ li r0, 0x1b58
/* 8059AE40 B0 1C 08 2A */ sth r0, 0x82a(r28)
/* 8059AE44 3B A0 00 01 */ li r29, 1
/* 8059AE48 A0 7C 08 34 */ lhz r3, 0x834(r28)
/* 8059AE4C 38 03 00 01 */ addi r0, r3, 1
/* 8059AE50 B0 1C 08 34 */ sth r0, 0x834(r28)
/* 8059AE54 A0 1C 08 34 */ lhz r0, 0x834(r28)
/* 8059AE58 28 00 00 14 */ cmplwi r0, 0x14
/* 8059AE5C 40 82 00 20 */ bne lbl_8059AE7C
/* 8059AE60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059AE64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AE68 7F E4 FB 78 */ mr r4, r31
/* 8059AE6C 88 1C 04 BA */ lbz r0, 0x4ba(r28)
/* 8059AE70 7C 05 07 74 */ extsb r5, r0
/* 8059AE74 4B A9 A3 8D */ bl onSwitch__10dSv_info_cFii
/* 8059AE78 48 00 00 30 */ b lbl_8059AEA8
lbl_8059AE7C:
/* 8059AE7C 28 00 00 19 */ cmplwi r0, 0x19
/* 8059AE80 40 82 00 28 */ bne lbl_8059AEA8
/* 8059AE84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059AE88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AE8C 7F E4 FB 78 */ mr r4, r31
/* 8059AE90 88 1C 04 BA */ lbz r0, 0x4ba(r28)
/* 8059AE94 7C 05 07 74 */ extsb r5, r0
/* 8059AE98 4B A9 A4 19 */ bl offSwitch__10dSv_info_cFii
/* 8059AE9C 48 00 00 0C */ b lbl_8059AEA8
lbl_8059AEA0:
/* 8059AEA0 38 00 00 00 */ li r0, 0
/* 8059AEA4 B0 1C 08 34 */ sth r0, 0x834(r28)
lbl_8059AEA8:
/* 8059AEA8 38 7C 05 B0 */ addi r3, r28, 0x5b0
/* 8059AEAC 4B AE 95 B5 */ bl ChkTgHit__12dCcD_GObjInfFv
/* 8059AEB0 28 03 00 00 */ cmplwi r3, 0
/* 8059AEB4 41 82 00 A4 */ beq lbl_8059AF58
/* 8059AEB8 38 7C 05 B0 */ addi r3, r28, 0x5b0
/* 8059AEBC 4B AE 96 8D */ bl GetTgHitGObj__12dCcD_GObjInfFv
/* 8059AEC0 28 03 00 00 */ cmplwi r3, 0
/* 8059AEC4 41 82 00 C8 */ beq lbl_8059AF8C
/* 8059AEC8 38 7C 05 B0 */ addi r3, r28, 0x5b0
/* 8059AECC 4B AE 96 7D */ bl GetTgHitGObj__12dCcD_GObjInfFv
/* 8059AED0 88 03 00 75 */ lbz r0, 0x75(r3)
/* 8059AED4 28 00 00 03 */ cmplwi r0, 3
/* 8059AED8 40 82 00 B4 */ bne lbl_8059AF8C
/* 8059AEDC 38 7C 05 B0 */ addi r3, r28, 0x5b0
/* 8059AEE0 4B AE 96 19 */ bl GetTgHitObj__12dCcD_GObjInfFv
/* 8059AEE4 28 03 00 00 */ cmplwi r3, 0
/* 8059AEE8 41 82 00 A4 */ beq lbl_8059AF8C
/* 8059AEEC 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8059AEF0 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 8059AEF4 40 82 00 0C */ bne lbl_8059AF00
/* 8059AEF8 54 60 03 DF */ rlwinm. r0, r3, 0, 0xf, 0xf
/* 8059AEFC 41 82 00 90 */ beq lbl_8059AF8C
lbl_8059AF00:
/* 8059AF00 38 00 1B 58 */ li r0, 0x1b58
/* 8059AF04 B0 1C 08 28 */ sth r0, 0x828(r28)
/* 8059AF08 A8 1C 08 28 */ lha r0, 0x828(r28)
/* 8059AF0C B0 1C 08 2A */ sth r0, 0x82a(r28)
/* 8059AF10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059AF14 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AF18 7F E4 FB 78 */ mr r4, r31
/* 8059AF1C 88 1C 04 BA */ lbz r0, 0x4ba(r28)
/* 8059AF20 7C 05 07 74 */ extsb r5, r0
/* 8059AF24 4B A9 A2 DD */ bl onSwitch__10dSv_info_cFii
/* 8059AF28 38 00 00 0A */ li r0, 0xa
/* 8059AF2C B0 1C 08 36 */ sth r0, 0x836(r28)
/* 8059AF30 80 1C 00 B0 */ lwz r0, 0xb0(r28)
/* 8059AF34 54 04 46 3E */ srwi r4, r0, 0x18
/* 8059AF38 28 04 00 FF */ cmplwi r4, 0xff
/* 8059AF3C 41 82 00 50 */ beq lbl_8059AF8C
/* 8059AF40 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059AF44 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AF48 88 1C 04 BA */ lbz r0, 0x4ba(r28)
/* 8059AF4C 7C 05 07 74 */ extsb r5, r0
/* 8059AF50 4B A9 A2 B1 */ bl onSwitch__10dSv_info_cFii
/* 8059AF54 48 00 00 38 */ b lbl_8059AF8C
lbl_8059AF58:
/* 8059AF58 A0 1C 08 36 */ lhz r0, 0x836(r28)
/* 8059AF5C 28 00 00 00 */ cmplwi r0, 0
/* 8059AF60 41 82 00 2C */ beq lbl_8059AF8C
/* 8059AF64 38 7C 08 36 */ addi r3, r28, 0x836
/* 8059AF68 48 00 03 05 */ bl func_8059B26C
/* 8059AF6C 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 8059AF70 40 82 00 1C */ bne lbl_8059AF8C
/* 8059AF74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059AF78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AF7C 7F E4 FB 78 */ mr r4, r31
/* 8059AF80 88 1C 04 BA */ lbz r0, 0x4ba(r28)
/* 8059AF84 7C 05 07 74 */ extsb r5, r0
/* 8059AF88 4B A9 A3 29 */ bl offSwitch__10dSv_info_cFii
lbl_8059AF8C:
/* 8059AF8C 38 7C 08 28 */ addi r3, r28, 0x828
/* 8059AF90 7F C4 F3 78 */ mr r4, r30
/* 8059AF94 38 A0 00 1E */ li r5, 0x1e
/* 8059AF98 38 C0 00 64 */ li r6, 0x64
/* 8059AF9C 38 E0 00 32 */ li r7, 0x32
/* 8059AFA0 4B CD 55 A1 */ bl cLib_addCalcAngleS__FPsssss
/* 8059AFA4 A8 7C 08 2C */ lha r3, 0x82c(r28)
/* 8059AFA8 A8 1C 08 28 */ lha r0, 0x828(r28)
/* 8059AFAC 7C 03 02 14 */ add r0, r3, r0
/* 8059AFB0 B0 1C 08 2C */ sth r0, 0x82c(r28)
/* 8059AFB4 7F 83 E3 78 */ mr r3, r28
/* 8059AFB8 4B FF F6 6D */ bl setBaseMtx__11daObjSwPr_cFv
/* 8059AFBC 38 7C 06 D4 */ addi r3, r28, 0x6d4
/* 8059AFC0 38 9C 04 D0 */ addi r4, r28, 0x4d0
/* 8059AFC4 4B CD 42 19 */ bl SetC__8cM3dGCylFRC4cXyz
/* 8059AFC8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059AFCC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AFD0 3B C3 23 3C */ addi r30, r3, 0x233c
/* 8059AFD4 7F C3 F3 78 */ mr r3, r30
/* 8059AFD8 38 9C 05 B0 */ addi r4, r28, 0x5b0
/* 8059AFDC 4B CC 9B CD */ bl Set__4cCcSFP8cCcD_Obj
/* 8059AFE0 38 7C 08 10 */ addi r3, r28, 0x810
/* 8059AFE4 38 9C 04 D0 */ addi r4, r28, 0x4d0
/* 8059AFE8 4B CD 41 F5 */ bl SetC__8cM3dGCylFRC4cXyz
/* 8059AFEC 7F C3 F3 78 */ mr r3, r30
/* 8059AFF0 38 9C 06 EC */ addi r4, r28, 0x6ec
/* 8059AFF4 4B CC 9B B5 */ bl Set__4cCcSFP8cCcD_Obj
/* 8059AFF8 9B BC 08 3D */ stb r29, 0x83d(r28)
/* 8059AFFC 39 61 00 20 */ addi r11, r1, 0x20
/* 8059B000 4B DC 72 25 */ bl _restgpr_28
/* 8059B004 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8059B008 7C 08 03 A6 */ mtlr r0
/* 8059B00C 38 21 00 20 */ addi r1, r1, 0x20
/* 8059B010 4E 80 00 20 */ blr
@@ -1,132 +0,0 @@
lbl_8059A888:
/* 8059A888 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8059A88C 7C 08 02 A6 */ mflr r0
/* 8059A890 90 01 00 24 */ stw r0, 0x24(r1)
/* 8059A894 39 61 00 20 */ addi r11, r1, 0x20
/* 8059A898 4B DC 79 39 */ bl _savegpr_26
/* 8059A89C 7C 7F 1B 78 */ mr r31, r3
/* 8059A8A0 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 8059A8A4 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8059A8A8 40 82 00 FC */ bne lbl_8059A9A4
/* 8059A8AC 7F E0 FB 79 */ or. r0, r31, r31
/* 8059A8B0 41 82 00 E8 */ beq lbl_8059A998
/* 8059A8B4 7C 1E 03 78 */ mr r30, r0
/* 8059A8B8 4B A7 E2 AD */ bl __ct__10fopAc_ac_cFv
/* 8059A8BC 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 8059A8C0 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 8059A8C4 90 1E 05 8C */ stw r0, 0x58c(r30)
/* 8059A8C8 38 7E 05 90 */ addi r3, r30, 0x590
/* 8059A8CC 4B AE 8E 95 */ bl __ct__10dCcD_GSttsFv
/* 8059A8D0 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 8059A8D4 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 8059A8D8 90 7E 05 8C */ stw r3, 0x58c(r30)
/* 8059A8DC 38 03 00 20 */ addi r0, r3, 0x20
/* 8059A8E0 90 1E 05 90 */ stw r0, 0x590(r30)
/* 8059A8E4 3B 5E 05 B0 */ addi r26, r30, 0x5b0
/* 8059A8E8 7F 43 D3 78 */ mr r3, r26
/* 8059A8EC 4B AE 91 3D */ bl __ct__12dCcD_GObjInfFv
/* 8059A8F0 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 8059A8F4 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 8059A8F8 90 1A 01 20 */ stw r0, 0x120(r26)
/* 8059A8FC 3C 60 80 5A */ lis r3, __vt__8cM3dGAab@ha /* 0x8059B3E8@ha */
/* 8059A900 38 03 B3 E8 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x8059B3E8@l */
/* 8059A904 90 1A 01 1C */ stw r0, 0x11c(r26)
/* 8059A908 3C 60 80 5A */ lis r3, __vt__8cM3dGCyl@ha /* 0x8059B3DC@ha */
/* 8059A90C 38 03 B3 DC */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x8059B3DC@l */
/* 8059A910 90 1A 01 38 */ stw r0, 0x138(r26)
/* 8059A914 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 8059A918 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 8059A91C 90 7A 01 20 */ stw r3, 0x120(r26)
/* 8059A920 3B A3 00 58 */ addi r29, r3, 0x58
/* 8059A924 93 BA 01 38 */ stw r29, 0x138(r26)
/* 8059A928 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 8059A92C 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 8059A930 90 7A 00 3C */ stw r3, 0x3c(r26)
/* 8059A934 3B 83 00 2C */ addi r28, r3, 0x2c
/* 8059A938 93 9A 01 20 */ stw r28, 0x120(r26)
/* 8059A93C 3B 63 00 84 */ addi r27, r3, 0x84
/* 8059A940 93 7A 01 38 */ stw r27, 0x138(r26)
/* 8059A944 3B 5E 06 EC */ addi r26, r30, 0x6ec
/* 8059A948 7F 43 D3 78 */ mr r3, r26
/* 8059A94C 4B AE 90 DD */ bl __ct__12dCcD_GObjInfFv
/* 8059A950 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 8059A954 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 8059A958 90 1A 01 20 */ stw r0, 0x120(r26)
/* 8059A95C 3C 60 80 5A */ lis r3, __vt__8cM3dGAab@ha /* 0x8059B3E8@ha */
/* 8059A960 38 03 B3 E8 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x8059B3E8@l */
/* 8059A964 90 1A 01 1C */ stw r0, 0x11c(r26)
/* 8059A968 3C 60 80 5A */ lis r3, __vt__8cM3dGCyl@ha /* 0x8059B3DC@ha */
/* 8059A96C 38 03 B3 DC */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x8059B3DC@l */
/* 8059A970 90 1A 01 38 */ stw r0, 0x138(r26)
/* 8059A974 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 8059A978 38 03 35 A4 */ addi r0, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 8059A97C 90 1A 01 20 */ stw r0, 0x120(r26)
/* 8059A980 93 BA 01 38 */ stw r29, 0x138(r26)
/* 8059A984 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 8059A988 38 03 C0 50 */ addi r0, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 8059A98C 90 1A 00 3C */ stw r0, 0x3c(r26)
/* 8059A990 93 9A 01 20 */ stw r28, 0x120(r26)
/* 8059A994 93 7A 01 38 */ stw r27, 0x138(r26)
lbl_8059A998:
/* 8059A998 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 8059A99C 60 00 00 08 */ ori r0, r0, 8
/* 8059A9A0 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_8059A9A4:
/* 8059A9A4 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 8059A9A8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 8059A9AC 98 1F 08 3C */ stb r0, 0x83c(r31)
/* 8059A9B0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 8059A9B4 54 00 87 3E */ rlwinm r0, r0, 0x10, 0x1c, 0x1f
/* 8059A9B8 28 00 00 0F */ cmplwi r0, 0xf
/* 8059A9BC 41 82 00 0C */ beq lbl_8059A9C8
/* 8059A9C0 28 00 00 00 */ cmplwi r0, 0
/* 8059A9C4 40 82 00 10 */ bne lbl_8059A9D4
lbl_8059A9C8:
/* 8059A9C8 38 00 00 00 */ li r0, 0
/* 8059A9CC 98 1F 08 3E */ stb r0, 0x83e(r31)
/* 8059A9D0 48 00 00 14 */ b lbl_8059A9E4
lbl_8059A9D4:
/* 8059A9D4 28 00 00 01 */ cmplwi r0, 1
/* 8059A9D8 40 82 00 0C */ bne lbl_8059A9E4
/* 8059A9DC 38 00 00 01 */ li r0, 1
/* 8059A9E0 98 1F 08 3E */ stb r0, 0x83e(r31)
lbl_8059A9E4:
/* 8059A9E4 38 7F 05 68 */ addi r3, r31, 0x568
/* 8059A9E8 88 1F 08 3E */ lbz r0, 0x83e(r31)
/* 8059A9EC 54 00 10 3A */ slwi r0, r0, 2
/* 8059A9F0 3C 80 80 5A */ lis r4, l_arcName@ha /* 0x8059B380@ha */
/* 8059A9F4 38 84 B3 80 */ addi r4, r4, l_arcName@l /* 0x8059B380@l */
/* 8059A9F8 7C 84 00 2E */ lwzx r4, r4, r0
/* 8059A9FC 4B A9 24 C1 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 8059AA00 7C 7B 1B 78 */ mr r27, r3
/* 8059AA04 2C 1B 00 04 */ cmpwi r27, 4
/* 8059AA08 40 82 00 50 */ bne lbl_8059AA58
/* 8059AA0C 7F E3 FB 78 */ mr r3, r31
/* 8059AA10 3C 80 80 5A */ lis r4, CheckCreateHeap__FP10fopAc_ac_c@ha /* 0x8059A5C8@ha */
/* 8059AA14 38 84 A5 C8 */ addi r4, r4, CheckCreateHeap__FP10fopAc_ac_c@l /* 0x8059A5C8@l */
/* 8059AA18 88 1F 08 3E */ lbz r0, 0x83e(r31)
/* 8059AA1C 54 00 10 3A */ slwi r0, r0, 2
/* 8059AA20 3C A0 80 5A */ lis r5, l_heap_size@ha /* 0x8059B2D0@ha */
/* 8059AA24 38 A5 B2 D0 */ addi r5, r5, l_heap_size@l /* 0x8059B2D0@l */
/* 8059AA28 7C A5 00 2E */ lwzx r5, r5, r0
/* 8059AA2C 4B A7 FA 85 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 8059AA30 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8059AA34 40 82 00 0C */ bne lbl_8059AA40
/* 8059AA38 38 60 00 05 */ li r3, 5
/* 8059AA3C 48 00 00 20 */ b lbl_8059AA5C
lbl_8059AA40:
/* 8059AA40 7F E3 FB 78 */ mr r3, r31
/* 8059AA44 4B FF FC 2D */ bl Create__11daObjSwPr_cFv
/* 8059AA48 2C 03 00 00 */ cmpwi r3, 0
/* 8059AA4C 40 82 00 0C */ bne lbl_8059AA58
/* 8059AA50 38 60 00 05 */ li r3, 5
/* 8059AA54 48 00 00 08 */ b lbl_8059AA5C
lbl_8059AA58:
/* 8059AA58 7F 63 DB 78 */ mr r3, r27
lbl_8059AA5C:
/* 8059AA5C 39 61 00 20 */ addi r11, r1, 0x20
/* 8059AA60 4B DC 77 BD */ bl _restgpr_26
/* 8059AA64 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8059AA68 7C 08 03 A6 */ mtlr r0
/* 8059AA6C 38 21 00 20 */ addi r1, r1, 0x20
/* 8059AA70 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_8059A5E8:
/* 8059A5E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A5EC 7C 08 02 A6 */ mflr r0
/* 8059A5F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A5F4 80 83 05 70 */ lwz r4, 0x570(r3)
/* 8059A5F8 C0 03 04 EC */ lfs f0, 0x4ec(r3)
/* 8059A5FC D0 04 00 18 */ stfs f0, 0x18(r4)
/* 8059A600 C0 03 04 F0 */ lfs f0, 0x4f0(r3)
/* 8059A604 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 8059A608 C0 03 04 F4 */ lfs f0, 0x4f4(r3)
/* 8059A60C D0 04 00 20 */ stfs f0, 0x20(r4)
/* 8059A610 48 00 00 15 */ bl setBaseMtx__11daObjSwPr_cFv
/* 8059A614 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A618 7C 08 03 A6 */ mtlr r0
/* 8059A61C 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A620 4E 80 00 20 */ blr
@@ -1,46 +0,0 @@
lbl_8059A518:
/* 8059A518 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8059A51C 7C 08 02 A6 */ mflr r0
/* 8059A520 90 01 00 24 */ stw r0, 0x24(r1)
/* 8059A524 39 61 00 20 */ addi r11, r1, 0x20
/* 8059A528 4B DC 7C B5 */ bl _savegpr_29
/* 8059A52C 2C 04 00 00 */ cmpwi r4, 0
/* 8059A530 40 82 00 7C */ bne lbl_8059A5AC
/* 8059A534 A0 83 00 14 */ lhz r4, 0x14(r3)
/* 8059A538 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 8059A53C 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
/* 8059A540 83 E3 00 38 */ lwz r31, 0x38(r3)
/* 8059A544 83 BF 00 14 */ lwz r29, 0x14(r31)
/* 8059A548 A0 1D 08 30 */ lhz r0, 0x830(r29)
/* 8059A54C 7C 04 00 00 */ cmpw r4, r0
/* 8059A550 40 82 00 5C */ bne lbl_8059A5AC
/* 8059A554 80 7F 00 84 */ lwz r3, 0x84(r31)
/* 8059A558 80 03 00 0C */ lwz r0, 0xc(r3)
/* 8059A55C 1F C4 00 30 */ mulli r30, r4, 0x30
/* 8059A560 7C 60 F2 14 */ add r3, r0, r30
/* 8059A564 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8059A568 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8059A56C 4B DA BF 45 */ bl PSMTXCopy
/* 8059A570 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8059A574 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8059A578 A8 9D 08 2C */ lha r4, 0x82c(r29)
/* 8059A57C 4B A7 1E B9 */ bl mDoMtx_YrotM__FPA4_fs
/* 8059A580 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8059A584 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8059A588 80 9F 00 84 */ lwz r4, 0x84(r31)
/* 8059A58C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 8059A590 7C 80 F2 14 */ add r4, r0, r30
/* 8059A594 4B DA BF 1D */ bl PSMTXCopy
/* 8059A598 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8059A59C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8059A5A0 3C 80 80 43 */ lis r4, mCurrentMtx__6J3DSys@ha /* 0x80434BE4@ha */
/* 8059A5A4 38 84 4B E4 */ addi r4, r4, mCurrentMtx__6J3DSys@l /* 0x80434BE4@l */
/* 8059A5A8 4B DA BF 09 */ bl PSMTXCopy
lbl_8059A5AC:
/* 8059A5AC 38 60 00 01 */ li r3, 1
/* 8059A5B0 39 61 00 20 */ addi r11, r1, 0x20
/* 8059A5B4 4B DC 7C 75 */ bl _restgpr_29
/* 8059A5B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8059A5BC 7C 08 03 A6 */ mtlr r0
/* 8059A5C0 38 21 00 20 */ addi r1, r1, 0x20
/* 8059A5C4 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8059A624:
/* 8059A624 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A628 7C 08 02 A6 */ mflr r0
/* 8059A62C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A630 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059A634 7C 7F 1B 78 */ mr r31, r3
/* 8059A638 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 8059A63C 4B A7 27 29 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 8059A640 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 8059A644 4B A7 29 01 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 8059A648 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8059A64C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8059A650 80 9F 05 70 */ lwz r4, 0x570(r31)
/* 8059A654 38 84 00 24 */ addi r4, r4, 0x24
/* 8059A658 4B DA BE 59 */ bl PSMTXCopy
/* 8059A65C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059A660 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A664 7C 08 03 A6 */ mtlr r0
/* 8059A668 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A66C 4E 80 00 20 */ blr
@@ -1,5 +0,0 @@
lbl_8059AB04:
/* 8059AB04 38 00 00 00 */ li r0, 0
/* 8059AB08 98 03 08 3A */ stb r0, 0x83a(r3)
/* 8059AB0C 38 60 00 64 */ li r3, 0x64
/* 8059AB10 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_8059AB14:
/* 8059AB14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059AB18 7C 08 02 A6 */ mflr r0
/* 8059AB1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059AB20 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059AB24 93 C1 00 08 */ stw r30, 8(r1)
/* 8059AB28 7C 7E 1B 78 */ mr r30, r3
/* 8059AB2C 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8059AB30 54 1F 06 3E */ clrlwi r31, r0, 0x18
/* 8059AB34 A8 03 08 28 */ lha r0, 0x828(r3)
/* 8059AB38 2C 00 00 00 */ cmpwi r0, 0
/* 8059AB3C 40 82 00 20 */ bne lbl_8059AB5C
/* 8059AB40 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059AB44 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AB48 7F E4 FB 78 */ mr r4, r31
/* 8059AB4C 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 8059AB50 7C 05 07 74 */ extsb r5, r0
/* 8059AB54 4B A9 A7 5D */ bl offSwitch__10dSv_info_cFii
/* 8059AB58 48 00 00 2C */ b lbl_8059AB84
lbl_8059AB5C:
/* 8059AB5C 38 7E 08 32 */ addi r3, r30, 0x832
/* 8059AB60 48 00 07 45 */ bl func_8059B2A4
/* 8059AB64 7C 60 07 35 */ extsh. r0, r3
/* 8059AB68 40 82 00 1C */ bne lbl_8059AB84
/* 8059AB6C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059AB70 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059AB74 7F E4 FB 78 */ mr r4, r31
/* 8059AB78 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 8059AB7C 7C 05 07 74 */ extsb r5, r0
/* 8059AB80 4B A9 A6 81 */ bl onSwitch__10dSv_info_cFii
lbl_8059AB84:
/* 8059AB84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059AB88 83 C1 00 08 */ lwz r30, 8(r1)
/* 8059AB8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059AB90 7C 08 03 A6 */ mtlr r0
/* 8059AB94 38 21 00 10 */ addi r1, r1, 0x10
/* 8059AB98 4E 80 00 20 */ blr
+26 -9
View File
@@ -9,14 +9,12 @@
#include "dolphin/types.h"
#include "m_Do/m_Do_lib.h"
struct J3DGXColorS10 {
/* 8000E460 */ J3DGXColorS10();
_GXColorS10 mColor;
struct J3DGXColorS10 : public GXColorS10 {
/* 8000E460 */ J3DGXColorS10() {}
};
struct J3DGXColor : public _GXColor {
/* 8000E538 */ J3DGXColor();
struct J3DGXColor : public GXColor {
/* 8000E538 */ J3DGXColor() {}
};
struct J3DNBTScaleInfo {
@@ -542,10 +540,25 @@ private:
extern const u16 j3dDefaultZModeID;
inline u16 calcZModeID(u8 param_0, u8 param_1, u8 param_2) {
return ((param_1 * 2) & 0x1FE) + (param_0 * 0x10) + param_2;
}
struct J3DZModeInfo {
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 field_0x1;
/* 0x2 */ u8 field_0x2;
};
struct J3DZMode {
J3DZMode() {
mZModeID = j3dDefaultZModeID;
}
void setZModeInfo(const J3DZModeInfo& info) {
mZModeID = calcZModeID(info.field_0x0, info.field_0x1, info.field_0x2);
}
/* 0x0 */ u16 mZModeID;
};
@@ -618,6 +631,10 @@ struct J3DAlphaComp {
mRef1 = param_1.field_0x4;
u32 p1_mref1 = param_1.mRef1;
field_0x0 = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, p1_mref1);
// this matches for `dKy_bg_MAxx_proc` but causes `addWarpMaterial` to fail,
// while the above matches for `addWarpMaterial` but causes `dKy_bg_MAxx_proc` to fail?
// field_0x0 = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, param_1.mRef1);
}
/* 0x00 */ u16 field_0x0;
@@ -646,7 +663,7 @@ public:
/* 8000DF4C */ virtual bool getBlend();
/* 80317374 */ virtual void setZMode(J3DZMode const*);
/* 8000E014 */ virtual void setZMode(J3DZMode);
/* 8000DF44 */ virtual bool getZMode();
/* 8000DF44 */ virtual J3DZMode* getZMode();
/* 80317378 */ virtual void setZCompLoc(u8 const*);
/* 8000E010 */ virtual void setZCompLoc(u8);
/* 8000DF3C */ virtual bool getZCompLoc() const;
@@ -708,7 +725,7 @@ public:
/* 80321A00 */ virtual bool getBlend();
/* 80321A14 */ virtual void setZMode(J3DZMode const*);
/* 80321A08 */ virtual void setZMode(J3DZMode);
/* 80321A20 */ virtual bool getZMode();
/* 80321A20 */ virtual J3DZMode* getZMode();
/* 80321A30 */ virtual void setZCompLoc(u8 const*);
/* 80321A28 */ virtual void setZCompLoc(u8);
/* 80321A3C */ virtual bool getZCompLoc() const;
@@ -750,7 +767,7 @@ public:
/* 80321B64 */ virtual bool getBlend();
/* 80321B78 */ virtual void setZMode(J3DZMode const*);
/* 80321B6C */ virtual void setZMode(J3DZMode);
/* 80321B84 */ virtual bool getZMode();
/* 80321B84 */ virtual J3DZMode* getZMode();
/* 80321B94 */ virtual void setZCompLoc(u8 const*);
/* 80321B8C */ virtual void setZCompLoc(u8);
/* 80321BA0 */ virtual bool getZCompLoc() const;
+2
View File
@@ -23,6 +23,8 @@ class J3DLightObj {
public:
/* 80018C0C */ J3DLightObj() : mInfo(j3dDefaultLightInfo) {}
J3DLightInfo& getLightInfo() { return mInfo; }
/* 0x00 */ J3DLightInfo mInfo;
/* 0x34 */ u8 field_0x34[64];
}; // Size = 0x74
+30 -6
View File
@@ -29,6 +29,7 @@ enum cCcD_ObjAtType {
/* 0x00000008 */ AT_TYPE_THROW_OBJ = (1 << 3),
/* 0x00000010 */ AT_TYPE_SHIELD_ATTACK = (1 << 4),
/* 0x00000020 */ AT_TYPE_BOMB = (1 << 5),
/* 0x00000040 */ AT_TYPE_40 = (1 << 6),
/* 0x00000080 */ AT_TYPE_SLINGSHOT = (1 << 7),
/* 0x00000200 */ AT_TYPE_LANTERN_SWING = (1 << 9),
/* 0x00000400 */ AT_TYPE_CSTATUE_SWING = (1 << 10),
@@ -272,25 +273,33 @@ public:
STATIC_ASSERT(0x40 == sizeof(cCcD_DivideArea));
struct cCcD_SrcObjCommonBase {
/* 0x0 */ s32 mSPrm;
};
struct cCcD_SrcObjTg {
/* 0x0 */ s32 mType;
/* 0x4 */ s32 mSPrm;
/* 0x4 */ cCcD_SrcObjCommonBase mBase;
}; // Size: 0x8
struct cCcD_SrcObjAt {
/* 0x0 */ s32 mType;
/* 0x4 */ u8 mAtp;
/* 0x8 */ s32 mSPrm;
/* 0x8 */ cCcD_SrcObjCommonBase mBase;
}; // Size: 0xC
struct cCcD_SrcObjCo {
/* 0x0 */ cCcD_SrcObjCommonBase mBase;
}; // Size: 0x4
struct cCcD_SrcObjHitInf {
/* 0x00 */ cCcD_SrcObjAt mObjAt;
/* 0x0C */ cCcD_SrcObjTg mObjTg;
/* 0x14 */ s32 mSPrm;
/* 0x14 */ cCcD_SrcObjCo mObjCo;
}; // Size: 0x18
struct cCcD_SrcObj {
/* 0x0 */ int field_0x0;
/* 0x0 */ int mFlags;
/* 0x4 */ cCcD_SrcObjHitInf mSrcObjHitInf;
}; // Size: 0x1C
@@ -345,6 +354,13 @@ protected:
/* 0x08 */ cCcD_Obj* mHitObj;
/* 0x0C vtable */
public:
enum CoSPrm_e {
CO_SPRM_SET = 1,
CO_SPRM_NO_CRR = 0x100,
CO_SPRM_NO_CO_HIT_INF_SET = 0x200,
CO_SPRM_SAME_ACTOR_HIT = 0x400,
};
cCcD_ObjCommonBase() { ct(); }
/* 8008409C */ virtual ~cCcD_ObjCommonBase() {}
/* 802639B0 */ void ct();
@@ -357,6 +373,10 @@ public:
u32 MskRPrm(u32 mask) { return mRPrm & mask; }
void OnSPrmBit(u32 flag) { mSPrm |= flag; }
void OffSPrmBit(u32 flag) { mSPrm &= ~flag; }
void Set(cCcD_SrcObjCommonBase const& src) {
mSPrm = src.mSPrm;
}
};
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCommonBase));
@@ -421,6 +441,10 @@ public:
u32 ChkSph3DCrr() const { return MskSPrm(0x80); }
void ClrSet() { OffSPrmBit(1); }
u32 ChkHit() { return MskRPrm(1); }
void Set(cCcD_SrcObjCo const& src) {
cCcD_ObjCommonBase::Set(src.mBase);
}
};
STATIC_ASSERT(0x10 == sizeof(cCcD_ObjCo));
@@ -510,10 +534,10 @@ public:
void SetStts(cCcD_Stts* stts) { mStts = stts; }
cCcD_DivideInfo& GetDivideInfo() { return mDivideInfo; }
cCcD_DivideInfo* GetPDivideInfo() { return &mDivideInfo; }
int ChkBsRevHit() const { return field_0x40 & 2; }
int ChkBsRevHit() const { return mFlags & 2; }
private:
/* 0x040 */ int field_0x40;
/* 0x040 */ int mFlags;
/* 0x044 */ cCcD_Stts* mStts;
/* 0x048 */ cCcD_DivideInfo mDivideInfo;
}; // Size = 0x58
+1 -1
View File
@@ -4,7 +4,7 @@
#include "dolphin/types.h"
struct counter_class {
s32 mCounter0;
u32 mCounter0;
s32 mCounter1;
s32 mTimer;
};
+1
View File
@@ -712,6 +712,7 @@ public:
void onForceAutoJump() { i_onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
void onNotAutoJump() { i_onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
void onNotHang() { i_onEndResetFlg0(ERFLG0_NOT_HANG); }
void onFogFade() { i_onNoResetFlg2(FLG2_UNK_4000); }
void offGoronSideMove() {
if (i_checkGoronSideMove()) {
+7 -1
View File
@@ -1789,6 +1789,12 @@ inline u8 dComIfGp_att_getCatchChgItem() {
return dComIfGp_getAttention().getCatchChgItem();
}
inline void dComIfGp_att_LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist, f32 i_upDist,
f32 i_downDist, s16 i_angle, int param_5) {
dComIfGp_getAttention().LookRequest(param_0, i_horizontalDist, i_upDist, i_downDist, i_angle,
param_5);
}
inline J2DGrafContext* dComIfGp_getCurrentGrafPort() {
return g_dComIfG_gameInfo.play.getCurrentGrafPort();
}
@@ -3386,7 +3392,7 @@ inline void dComIfGd_setListDark() {
g_dComIfG_gameInfo.drawlist.setXluListDark();
}
inline void dComIfGd_setListInvisible() {
inline void dComIfGd_setListInvisisble() {
g_dComIfG_gameInfo.drawlist.setOpaListInvisible();
g_dComIfG_gameInfo.drawlist.setXluListInvisible();
}
+6 -1
View File
@@ -215,10 +215,15 @@ public:
int GetActionCount() { return mActionCount; }
int GetLockonCount() { return mLockonCount; }
bool Lockon() { return LockonTruth() || chkFlag(0x20000000); } // only matches with -O2?
int ZHintRequest(fopAc_ac_c *param_1, int param_2) {
int ZHintRequest(fopAc_ac_c* param_1, int param_2) {
return mZHintTarget.request(param_1, param_2);
}
void LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist, f32 i_upDist, f32 i_downDist,
s16 i_angle, int param_5) {
mLookTarget.request(param_0, i_horizontalDist, i_upDist, i_downDist, i_angle, param_5);
}
static dist_entry& i_getDistTable(int i_no) { return dist_table[i_no]; }
static type_tbl_entry loc_type_tbl[3];
+6 -3
View File
@@ -88,7 +88,10 @@ struct stage_scls_info_dummy_class {
struct stage_pure_lightvec_info_class {
// LGT
};
/* 0x00 */ u8 field_0x0[0x1E - 0x0];
/* 0x1E */ u8 field_0x1e;
/* 0x1F */ u8 field_0x1f;
}; // Size: 0x20
// Col
struct stage_pselect_info_class {
@@ -782,7 +785,7 @@ public:
/* 80024954 */ static bool resetArchiveBank(int);
/* 80024DB0 */ static void SetTimePass(int);
/* 8025BAAC */ static void setZoneNo(int, int);
static s32 GetTimePass();
static s8 GetTimePass();
static s8 getStayNo() { return mStayNo; }
static u8 getRegionNo(int i_roomNo) { return mStatus[i_roomNo].mRegionNo; }
@@ -1031,7 +1034,7 @@ inline s32 i_dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
}
inline s8 dStage_stagInfo_GetTimeH(stage_stag_info_class* p_info) {
return p_info->field_0x0c >> 8;
return (p_info->field_0x0c >> 8) & 0xFF;
}
inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) {
+21 -24
View File
@@ -12,6 +12,7 @@
class JPABaseEmitter;
class cBgS_PolyInfo;
class color_RGB_class;
void dKankyo_DayProc();
void dKy_set_nexttime(f32);
@@ -44,6 +45,14 @@ void dKy_setLight();
cXyz dKy_plight_near_pos();
void dKy_BossSpotLight_set(cXyz* param_0, f32 param_1, f32 param_2, f32 param_3, _GXColor* param_4,
f32 param_5, u8 param_6, u8 param_7);
static void dKy_calc_color_set(_GXColorS10* param_0, color_RGB_class* param_1,
color_RGB_class* param_2, color_RGB_class* param_3,
color_RGB_class* param_4, f32 param_5, f32 param_6,
_GXColorS10 param_7, f32 param_8);
static void dKy_twilight_camelight_set();
u8 dKy_shadow_mode_check(u8 mode);
void dKy_shadow_mode_set(u8 mode);
void dKy_shadow_mode_reset(u8 mode);
struct LIGHT_INFLUENCE {
/* 800CFC7C */ ~LIGHT_INFLUENCE() {}
@@ -95,6 +104,7 @@ struct SND_INFLUENCE {
struct DALKMIST_INFLUENCE {
/* 0x00 */ cXyz mPos;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ s8 mIndex;
};
struct DUNGEON_LIGHT {
@@ -203,7 +213,7 @@ public:
/* 0x367 */ u8 field_0x367;
/* 0x368 */ f32 mFogStartZ;
/* 0x36C */ f32 mFogEndZ;
/* 0x370 */ f32 field_0x370;
/* 0x370 */ f32 mColpatBlend;
/* 0x374 */ f32 field_0x374;
/* 0x378 */ u16 field_0x378;
/* 0x37A */ u8 field_0x37a;
@@ -229,6 +239,7 @@ class stage_pselect_info_class;
class stage_envr_info_class;
class stage_vrbox_info_class;
class stage_plight_info_class;
class kytag08_class;
struct dKy_pol_arg_struct {
u8 data[8];
@@ -378,10 +389,8 @@ public:
/* 0x1054 */ int field_0x1054;
/* 0x1058 */ dKankyo_evil_Packet* mpEvilPacket;
/* 0x105C */ mDoExt_btkAnm* field_0x105c;
/* 0x1060 */ fopAc_ac_c* field_0x1060;
/* 0x1064 */ f32 field_0x1064;
/* 0x1068 */ f32 field_0x1068;
/* 0x106C */ f32 field_0x106c;
/* 0x1060 */ kytag08_class* field_0x1060;
/* 0x1064 */ Vec field_0x1064;
/* 0x1070 */ cXyz mSunPos2;
/* 0x107C */ cXyz mPLightNearPos;
/* 0x1088 */ cXyz mSunPos;
@@ -394,28 +403,16 @@ public:
/* 0x10D8 */ GXColorS10 mUnderCloudShadowColor;
/* 0x10E0 */ GXColorS10 mCloudOuterHazeColor;
/* 0x10E8 */ GXColorS10 mCloudInnerHazeColor;
/* 0x10F0 */ s16 field_0x10f0;
/* 0x10F2 */ s16 field_0x10f2;
/* 0x10F4 */ s16 field_0x10f4;
/* 0x10F6 */ s16 field_0x10f6;
/* 0x10F0 */ GXColorS10 field_0x10f0;
/* 0x10F8 */ s16 field_0x10f8;
/* 0x10FA */ s16 field_0x10fa;
/* 0x10FC */ s16 field_0x10fc;
/* 0x10FE */ s16 field_0x10fe;
/* 0x1100 */ _GXColorS10 mActorAmbience;
/* 0x1108 */ _GXColorS10 mTerrainAmbienceBG0;
/* 0x1110 */ s16 mTerrainAmbienceBG1_R;
/* 0x1112 */ s16 mTerrainAmbienceBG1_G;
/* 0x1114 */ s16 mTerrainAmbienceBG1_B;
/* 0x1116 */ s16 mWaterSurfaceAlphaA;
/* 0x1118 */ s16 mTerrainAmbienceBG2_R;
/* 0x111A */ s16 mTerrainAmbienceBG2_G;
/* 0x111C */ s16 mTerrainAmbienceBG2_B;
/* 0x111E */ s16 mAuxAlphaA2;
/* 0x1120 */ s16 mTerrainAmbienceBG3_R;
/* 0x1122 */ s16 mTerrainAmbienceBG3_G;
/* 0x1124 */ s16 mTerrainAmbienceBG3_B;
/* 0x1126 */ s16 mFakeFogA;
/* 0x1100 */ GXColorS10 mActorAmbience;
/* 0x1108 */ GXColorS10 mTerrainAmbienceBG0;
/* 0x1110 */ GXColorS10 mTerrainAmbienceBG1;
/* 0x1118 */ GXColorS10 mTerrainAmbienceBG2;
/* 0x1120 */ GXColorS10 mTerrainAmbienceBG3;
/* 0x1128 */ GXColorS10 field_0x1128;
/* 0x1130 */ u8 field_0x1130[0x28];
/* 0x1158 */ GXColorS10 mFogColor;
@@ -493,7 +490,7 @@ public:
/* 0x12B8 */ u8 field_0x12b8[4];
/* 0x12BC */ u16 mFogAdjCenter;
/* 0x12BE */ u16 mDate;
/* 0x12C0 */ u16 mActorLightEffect;
/* 0x12C0 */ s16 mActorLightEffect;
/* 0x12C2 */ u8 mColPatPrev;
/* 0x12C3 */ u8 mColPatCurr;
/* 0x12C4 */ u8 mColpatPrevGather;
+1 -1
View File
@@ -27,6 +27,7 @@ cXyz dKyw_get_wind_vecpow();
void dKyw_evt_wind_set(s16 angleX, s16 angleY);
void dKyw_custom_windpower(f32 pow);
void dKyw_evt_wind_set_go();
void dKyw_wether_proc();
class dKankyo_sun_Packet : public J3DPacket {
public:
@@ -237,7 +238,6 @@ public:
virtual void draw();
virtual ~dKankyo_vrkumo_Packet();
private:
/* 0x0010 */ GXColor mColor;
/* 0x0014 */ u8* mpResCloudtx_01;
/* 0x0018 */ u8* mpResCloudtx_02;
+12
View File
@@ -115,10 +115,22 @@ inline void mDoAud_heartGaugeOn() {
Z2AudioMgr::getInterface()->mStatusMgr.heartGaugeOn();
}
inline void mDoAud_setFogWipeWidth(f32 i_width) {
g_mEnvSeMgr.setFogWipeWidth(i_width);
}
inline void mDoAud_startFogWipeTrigger(const Vec* param_0) {
g_mEnvSeMgr.startFogWipeTrigger((Vec*)param_0);
}
inline void mDoAud_mEnvse_framework() {
g_mEnvSeMgr.framework();
}
inline void mDoAud_mEnvse_resetScene() {
g_mEnvSeMgr.resetScene();
}
inline void mDoAud_mEnvSe_startFarThunderSe(const Vec* param_0) {
g_mEnvSeMgr.startFarThunderSe((Vec*)param_0, 0);
}
@@ -1,6 +1,22 @@
#ifndef D_A_KYTAG08_H
#define D_A_KYTAG08_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class kytag08_class : public fopAc_ac_c {
public:
/* 0x568 */ J3DModel* mpModel;
/* 0x56C */ mDoExt_btkAnm mBtk;
/* 0x584 */ mDoExt_brkAnm mBrk;
/* 0x59C */ JPABaseEmitter* mpEmitter1;
/* 0x5A0 */ JPABaseEmitter* mpEmitter2;
/* 0x5A4 */ request_of_phase_process_class mPhase;
/* 0x5AC */ cXyz field_0x5ac;
/* 0x5B8 */ cXyz field_0x5b8;
/* 0x5C4 */ cXyz field_0x5c4;
/* 0x5D0 */ f32 field_0x5d0;
/* 0x5D4 */ int field_0x5d4;
/* 0x5D8 */ u8 field_0x5d8;
};
#endif /* D_A_KYTAG08_H */
@@ -1,6 +1,49 @@
#ifndef D_A_OBJ_SWPROPELLER_H
#define D_A_OBJ_SWPROPELLER_H
#include "dolphin/types.h"
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
class daObjSwPr_c : public fopAc_ac_c {
public:
/* 8059A5E8 */ void initBaseMtx();
/* 8059A624 */ void setBaseMtx();
/* 8059A670 */ int Create();
/* 8059A808 */ int CreateHeap();
/* 8059A888 */ int create();
/* 8059AB04 */ int setRotateTime();
/* 8059AB14 */ void switchCtrl();
/* 8059AB9C */ void execute_type_boomerang();
/* 8059ADCC */ void execute_type_wind();
/* 8059B014 */ int execute();
/* 8059B148 */ int draw();
/* 8059B1AC */ int _delete();
u8 getNameArg() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getMdlType() { return fopAcM_GetParamBit(this, 0x10, 4); }
int getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getSwbit2() { return fopAcM_GetParamBit(this, 0x18, 8); }
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dCcD_Stts mCcStts;
/* 0x5B0 */ dCcD_Cyl mCyl1;
/* 0x6EC */ dCcD_Cyl mCyl2;
/* 0x828 */ s16 mRotateSpeed;
/* 0x82A */ s16 mRotateInitSpeed;
/* 0x82C */ s16 field_0x82c; // rotate angle?
/* 0x82E */ s16 mRotateTime;
/* 0x830 */ u16 mKaitenJntID;
/* 0x832 */ s16 mSwDelayTimer;
/* 0x834 */ u16 field_0x834;
/* 0x836 */ u16 mSwOffDelayTimer;
/* 0x838 */ u8 field_0x838;
/* 0x839 */ u8 field_0x839;
/* 0x83A */ u8 field_0x83a;
/* 0x83B */ u8 field_0x83b;
/* 0x83C */ u8 mNameArg;
/* 0x83D */ u8 field_0x83d;
/* 0x83E */ u8 mModelType;
};
#endif /* D_A_OBJ_SWPROPELLER_H */
@@ -2,7 +2,6 @@
#define D_A_TAG_LIGHTBALL_H
#include "d/kankyo/d_kankyo.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTagLightBall_c : public fopAc_ac_c {
@@ -19,11 +18,8 @@ public:
u32 getType() { return fopAcM_GetParamBit(this, 8, 4); }
/* 0x568 */ DALKMIST_INFLUENCE mInfluence;
/* 0x578 */ int field_0x578;
/* 0x57C */ u8 field_0x57c;
/* 0x57D */ u8 field_0x57d;
/* 0x57E */ u8 field_0x57e;
/* 0x57F */ u8 field_0x57f;
/* 0x57D */ u8 mInfSet;
};
#endif /* D_A_TAG_LIGHTBALL_H */
+2 -2
View File
@@ -2221,7 +2221,7 @@ asm void J3DPEBlockFull::setZMode(J3DZMode const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DPEBlockFull::getZMode() {
asm J3DZMode* J3DPEBlockFull::getZMode() {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getZMode__14J3DPEBlockFullFv.s"
}
@@ -2443,7 +2443,7 @@ asm void J3DPEBlockFogOff::setZMode(J3DZMode const* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool J3DPEBlockFogOff::getZMode() {
asm J3DZMode* J3DPEBlockFogOff::getZMode() {
nofralloc
#include "asm/JSystem/J3DGraphBase/J3DMatBlock/getZMode__16J3DPEBlockFogOffFv.s"
}
+5 -5
View File
@@ -257,17 +257,17 @@ void cCcD_ObjCommonBase::ct() {
void cCcD_ObjHitInf::Set(cCcD_SrcObjHitInf const& src) {
mObjAt.Set(src.mObjAt);
mObjTg.Set(src.mObjTg);
mObjCo.SetSPrm(src.mSPrm);
mObjCo.Set(src.mObjCo);
}
/* 80263A10-80263A1C 25E350 000C+00 0/0 1/1 0/0 .text ct__8cCcD_ObjFv */
void cCcD_Obj::ct() {
field_0x40 = 0;
mFlags = 0;
}
/* 80263A1C-80263A48 25E35C 002C+00 0/0 1/1 0/0 .text Set__8cCcD_ObjFRC11cCcD_SrcObj */
void cCcD_Obj::Set(cCcD_SrcObj const& src) {
field_0x40 = src.field_0x0;
mFlags = src.mFlags;
cCcD_ObjHitInf::Set(src.mSrcObjHitInf);
}
@@ -725,7 +725,7 @@ void cCcD_ObjAt::SetHit(cCcD_Obj* pObj) {
/* 8026484C-80264868 25F18C 001C+00 1/1 0/0 0/0 .text Set__10cCcD_ObjAtFRC13cCcD_SrcObjAt
*/
void cCcD_ObjAt::Set(cCcD_SrcObjAt const& src) {
mSPrm = src.mSPrm;
cCcD_ObjCommonBase::Set(src.mBase);
mType = src.mType;
mAtp = src.mAtp;
}
@@ -739,7 +739,7 @@ void cCcD_ObjAt::ClrHit() {
/* 80264880-80264894 25F1C0 0014+00 1/1 0/0 0/0 .text Set__10cCcD_ObjTgFRC13cCcD_SrcObjTg
*/
void cCcD_ObjTg::Set(cCcD_SrcObjTg const& src) {
mSPrm = src.mSPrm;
cCcD_ObjCommonBase::Set(src.mBase);
mType = src.mType;
}
+4 -3
View File
@@ -15,6 +15,7 @@
#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_lib.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
//
// Types:
@@ -618,11 +619,11 @@ int daBg_c::createHeap() {
const char* name = modelData->getMaterialName()->getName(j);
if (name[3] == 'M' && name[4] == 'A') {
if (!memcmp(&name[5], &"00", 2)) {
if (!memcmp(&name[5], "00", 2)) {
modelFlags |= 0x1200;
} else if (!memcmp(&name[5], &"01", 2)) {
} else if (!memcmp(&name[5], "01", 2)) {
modelFlags |= 0x20000000;
} else if (!memcmp(&name[5], &"12", 2) || !memcmp(&name[5], &"18", 2)) {
} else if (!memcmp(&name[5], "12", 2) || !memcmp(&name[5], "18", 2)) {
field_0x5f0 = 1;
}
}
+3 -3
View File
@@ -78,7 +78,7 @@ static int daVrbox_color_set(vrbox_class* i_this) {
g_env_light.mVrboxInvisible = false;
J3DModelData* modelData = i_this->mpSoraModel->getModelData();
GXColorS10 color;
J3DGXColorS10 color;
J3DMaterial* material_0 = modelData->getMaterialNodePointer(0);
if (material_0 != NULL) {
@@ -89,7 +89,7 @@ static int daVrbox_color_set(vrbox_class* i_this) {
color.g = g_env_light.mSkyColor.g;
color.b = g_env_light.mSkyColor.b;
color.a = 255;
material_0->setTevColor(0, (J3DGXColorS10*)&color);
material_0->setTevColor(0, &color);
}
J3DMaterial* material_1 = modelData->getMaterialNodePointer(1);
@@ -101,7 +101,7 @@ static int daVrbox_color_set(vrbox_class* i_this) {
color.g = g_env_light.mCloudInnerHazeColor.g;
color.b = g_env_light.mCloudInnerHazeColor.b;
color.a = g_env_light.mCloudInnerHazeColor.a;
material_1->setTevColor(0, (J3DGXColorS10*)&color);
material_1->setTevColor(0, &color);
}
return 1;
+9 -9
View File
@@ -609,13 +609,13 @@ static void daKytag06_type_07_Execute(kytag06_class* i_this) {
if (camera != NULL) {
if (camera->mLookat.mEye.y > 0.0f) {
dKy_BossLight_set(&spX, &color, i_this->mWindPower * 2.0f, 0);
g_env_light.mTerrainAmbienceBG3_R = (u8)(i_this->mWindPower * 230.0f + 25.0f);
g_env_light.mTerrainAmbienceBG3_G = (u8)(i_this->mWindPower * 215.0f + 30.0f);
g_env_light.mTerrainAmbienceBG3_B = (u8)(i_this->mWindPower * 155.0f + 25.0f);
g_env_light.mTerrainAmbienceBG3.r = (u8)(i_this->mWindPower * 230.0f + 25.0f);
g_env_light.mTerrainAmbienceBG3.g = (u8)(i_this->mWindPower * 215.0f + 30.0f);
g_env_light.mTerrainAmbienceBG3.b = (u8)(i_this->mWindPower * 155.0f + 25.0f);
} else {
g_env_light.mTerrainAmbienceBG3_R = 0;
g_env_light.mTerrainAmbienceBG3_G = 0;
g_env_light.mTerrainAmbienceBG3_B = 0;
g_env_light.mTerrainAmbienceBG3.r = 0;
g_env_light.mTerrainAmbienceBG3.g = 0;
g_env_light.mTerrainAmbienceBG3.b = 0;
g_env_light.mThunderEff.mMode = 0;
}
}
@@ -777,9 +777,9 @@ static void daKytag06_type_06_Execute(kytag06_class* i_this) {
break;
}
g_env_light.mTerrainAmbienceBG3_R = (u8)(i_this->mWindPower * 245.0f + 10.0f);
g_env_light.mTerrainAmbienceBG3_G = (u8)(i_this->mWindPower * 185.0f + 15.0f);
g_env_light.mTerrainAmbienceBG3_B = (u8)(i_this->mWindPower * 130.0f + 20.0f);
g_env_light.mTerrainAmbienceBG3.r = (u8)(i_this->mWindPower * 245.0f + 10.0f);
g_env_light.mTerrainAmbienceBG3.g = (u8)(i_this->mWindPower * 185.0f + 15.0f);
g_env_light.mTerrainAmbienceBG3.b = (u8)(i_this->mWindPower * 130.0f + 20.0f);
static cXyz c_pos(0.0f, 0.0f, 0.0f);
+263 -78
View File
@@ -4,61 +4,16 @@
//
#include "rel/d/a/kytag/d_a_kytag08/d_a_kytag08.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/a/d_a_player.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct kytag08_class {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct dKy_tevstr_c {};
struct csXyz {};
struct _GXColor {};
struct cXyz {};
struct dPa_control_c {
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
};
struct Vec {};
struct Z2EnvSeMgr {
/* 802C92EC */ void startFogWipeTrigger(Vec*);
/* 802C93A0 */ void setFogWipeWidth(f32);
};
struct JPABaseEmitter {
/* 8027EC60 */ void deleteAllParticle();
};
struct J3DModelData {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 8085B23C */ ~J3DFrameCtrl();
};
//
// Forward References:
//
@@ -94,17 +49,10 @@ extern "C" void startFogWipeTrigger__10Z2EnvSeMgrFP3Vec();
extern "C" void setFogWipeWidth__10Z2EnvSeMgrFf();
extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void PSVECSquareDistance();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
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" extern u8 g_env_light[4880];
extern "C" extern u8 g_mEnvSeMgr[780];
extern "C" extern u32 __float_nan;
//
// Declarations:
@@ -112,8 +60,8 @@ extern "C" extern u32 __float_nan;
/* 8085A578-8085A580 000078 0008+00 1/0 0/0 0/0 .text daKytag08_Draw__FP13kytag08_class
*/
static bool daKytag08_Draw(kytag08_class* param_0) {
return true;
static int daKytag08_Draw(kytag08_class* i_this) {
return 1;
}
/* ############################################################################################## */
@@ -336,47 +284,240 @@ COMPILER_STRIP_GATE(0x8085B30C, &lit_4041);
#pragma pop
/* 8085A580-8085AEA0 000080 0920+00 1/0 0/0 0/0 .text daKytag08_Execute__FP13kytag08_class */
// matches with literals
#ifdef NONMATCHING
static int daKytag08_Execute(kytag08_class* i_this) {
dScnKy_env_light_c* env_light = i_dKy_getEnvlight();
daPy_py_c* player_p = daPy_getPlayerActorClass();
JGeometry::TVec3<f32> particle_scale;
i_this->field_0x5d8 = 1;
if (i_this->field_0x5d8 == 0) {
i_this->current.pos.x = player_p->current.pos.x;
i_this->current.pos.y = 100.0f;
i_this->current.pos.z = player_p->current.pos.z;
} else if (env_light->field_0x0c18[0].field_0x26 == 1) {
i_this->current.pos.x = env_light->field_0x0c18[0].mPos.x;
i_this->current.pos.y = 100.0f;
i_this->current.pos.z = env_light->field_0x0c18[0].mPos.z;
}
if (i_this->field_0x5b8.abs(i_this->current.pos) < 2000.0f && !i_dComIfGp_event_runCheck()) {
if (i_this->field_0x5d4 > 100) {
f32 var_f30;
f32 var_f31;
if (i_this->field_0x5d8 != 0) {
var_f30 = 20.0f;
var_f31 = 0.1f;
} else {
var_f30 = 10.0f;
var_f31 = 0.2f;
}
cLib_addCalc(&i_this->field_0x5b8.x, i_this->field_0x5c4.x, var_f31, var_f30, 1.0E-5f);
cLib_addCalc(&i_this->field_0x5b8.z, i_this->field_0x5c4.z, var_f31, var_f30, 1.0E-5f);
} else {
f32 var_f30;
f32 var_f31;
if (i_this->field_0x5d8 != 0) {
var_f30 = 20.0f;
var_f31 = 0.1f;
} else {
var_f30 = 10.0f;
var_f31 = 0.2f;
}
cLib_addCalc(&i_this->field_0x5b8.x, i_this->field_0x5c4.x, var_f31, var_f30, 1.0E-5f);
cLib_addCalc(&i_this->field_0x5b8.z, i_this->field_0x5c4.z, var_f31, var_f30, 1.0E-5f);
}
} else {
i_this->field_0x5b8.x = i_this->current.pos.x;
i_this->field_0x5b8.z = i_this->current.pos.z;
}
if (!dKy_shadow_mode_check(2)) {
if (!i_dComIfGp_event_runCheck()) {
cLib_addCalc(&i_this->field_0x5d0, 0.0f, 0.2f, 0.005f, 0.001f);
}
} else if (i_this->field_0x5d4 != 0) {
cLib_addCalc(&i_this->field_0x5d0, 1.0f, 0.5f, 0.01f, 0.001f);
} else if (!i_dComIfGp_event_runCheck()) {
cLib_addCalc(&i_this->field_0x5d0, 0.25f, 0.01f, 0.002f, 0.001f);
}
mDoAud_setFogWipeWidth(i_this->field_0x5d0);
if (i_this->field_0x5d8 != 0) {
f32 tmp2 = 37.5f;
if (i_this->field_0x5b8.abs(i_this->current.pos) >
i_this->field_0x5d0 * tmp2 * i_this->field_0x5ac.x)
{
dComIfGs_BossLife_public_Set(2);
}
}
if ((daPy_getPlayerActorClass()->checkKandelaarSwing(1) && i_this->field_0x5d4 < 100) ||
dComIfGs_BossLife_public_Get() == 1)
{
dComIfGs_BossLife_public_Set(0);
i_this->field_0x5c4 = i_this->current.pos;
i_this->field_0x5d4 = 180;
mDoAud_startFogWipeTrigger(&i_this->current.pos);
} else {
f32 var_f30_3;
f32 var_f31_3;
if (i_this->field_0x5d8 != 0) {
var_f30_3 = 4000.0f;
var_f31_3 = 0.5f;
} else {
var_f30_3 = 4.0f;
var_f31_3 = 0.025f;
}
cLib_addCalc(&i_this->field_0x5c4.x, i_this->current.pos.x, var_f31_3, var_f30_3, 0.01f);
cLib_addCalc(&i_this->field_0x5c4.z, i_this->current.pos.z, var_f31_3, var_f30_3, 0.01f);
}
if (i_this->field_0x5d4 != 0) {
i_this->field_0x5d4--;
}
if (i_this->mpEmitter1 != NULL) {
i_this->mpEmitter1->setGlobalTranslation(i_this->field_0x5b8.x, i_this->field_0x5b8.y,
i_this->field_0x5b8.z);
i_this->mpEmitter1->setVolumeSize(i_this->field_0x5ac.x * 50.0f * i_this->field_0x5d0);
f32 temp_f0_7 = 1.0f - i_this->field_0x5d0;
particle_scale.x = 1.0f - (temp_f0_7 * temp_f0_7);
particle_scale.y = 1.0f - (temp_f0_7 * temp_f0_7);
particle_scale.z = 1.0f - (temp_f0_7 * temp_f0_7);
i_this->mpEmitter1->setGlobalParticleScale(particle_scale);
}
if (i_this->field_0x5d0 <= 0.001f) {
i_this->field_0x5b8.x = i_this->current.pos.x;
i_this->field_0x5b8.z = i_this->current.pos.z;
i_this->field_0x5c4 = i_this->field_0x5b8;
}
f32 var_f30_4 = 20.0f;
if (dKy_darkworld_check()) {
var_f30_4 = 56.0f;
}
f32 var_f0;
if (player_p->getSpinnerActor()) {
var_f0 = player_p->getSpinnerActor()->current.pos.y;
} else {
var_f0 = player_p->current.pos.y;
}
if (var_f0 < var_f30_4) {
cXyz sp24(player_p->current.pos);
sp24.y = 100.0f;
if (i_this->field_0x5b8.abs(sp24) > i_this->field_0x5ac.x * 45.0f * i_this->field_0x5d0 ||
i_this->field_0x5d0 <= 0.01f)
{
player_p->onFogFade();
}
}
if (player_p != NULL && i_this->mpEmitter2 != NULL) {
i_this->mpEmitter2->setGlobalTranslation(player_p->current.pos.x, 100.0f,
player_p->current.pos.z);
particle_scale.z = 0.0f;
particle_scale.y = 0.0f;
particle_scale.x = 0.0f;
if (player_p->current.pos.y < 100.0f) {
cXyz sp18(player_p->current.pos);
sp18.y = 100.0f;
if (i_this->field_0x5b8.abs(sp18) > i_this->field_0x5ac.x * 45.0f * i_this->field_0x5d0)
{
f32 scale_factor = (100.0f - player_p->current.pos.y) / 30.0f;
if (scale_factor > 1.0f) {
scale_factor = 1.0f;
}
particle_scale.z = scale_factor;
particle_scale.y = scale_factor;
particle_scale.x = scale_factor;
}
}
i_this->mpEmitter2->setGlobalParticleScale(particle_scale);
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daKytag08_Execute(kytag08_class* param_0) {
static asm int daKytag08_Execute(kytag08_class* param_0) {
nofralloc
#include "asm/rel/d/a/kytag/d_a_kytag08/d_a_kytag08/daKytag08_Execute__FP13kytag08_class.s"
}
#pragma pop
#endif
/* 8085AEA0-8085AEA8 0009A0 0008+00 1/0 0/0 0/0 .text daKytag08_IsDelete__FP13kytag08_class */
static bool daKytag08_IsDelete(kytag08_class* param_0) {
return true;
static int daKytag08_IsDelete(kytag08_class* i_this) {
return 1;
}
/* ############################################################################################## */
/* 8085B310-8085B310 000084 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8085B310 = "Kytag08";
#pragma pop
/* 8085AEA8-8085AF74 0009A8 00CC+00 1/0 0/0 0/0 .text daKytag08_Delete__FP13kytag08_class
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daKytag08_Delete(kytag08_class* param_0) {
nofralloc
#include "asm/rel/d/a/kytag/d_a_kytag08/d_a_kytag08/daKytag08_Delete__FP13kytag08_class.s"
static int daKytag08_Delete(kytag08_class* i_this) {
if (i_this->mpEmitter1 != NULL) {
i_this->mpEmitter1->deleteAllParticle();
i_this->mpEmitter1->becomeInvalidEmitter();
i_this->mpEmitter1->quitImmortalEmitter();
i_this->mpEmitter1->setEmitterCallBackPtr(NULL);
i_this->mpEmitter1 = NULL;
}
if (i_this->mpEmitter2 != NULL) {
i_this->mpEmitter2->deleteAllParticle();
i_this->mpEmitter2->becomeInvalidEmitter();
i_this->mpEmitter2->quitImmortalEmitter();
i_this->mpEmitter2->setEmitterCallBackPtr(NULL);
i_this->mpEmitter2 = NULL;
}
dComIfG_resDelete(&i_this->mPhase, "Kytag08");
return 1;
}
#pragma pop
/* 8085AF74-8085AFEC 000A74 0078+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
// getting optimized when it shouldnt be?
#ifdef NONMATCHING
static int useHeapInit(fopAc_ac_c* i_this) {
kytag08_class* this_ = (kytag08_class*)i_this;
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Kytag08", 3);
this_->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11020202);
if (this_->mpModel == NULL) {
return 0;
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void useHeapInit(fopAc_ac_c* param_0) {
static asm int useHeapInit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/kytag/d_a_kytag08/d_a_kytag08/useHeapInit__FP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 8085B318-8085B338 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag08_Method */
@@ -409,20 +550,64 @@ SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
};
/* 8085AFEC-8085B23C 000AEC 0250+00 1/0 0/0 0/0 .text daKytag08_Create__FP10fopAc_ac_c */
// regswap
#ifdef NONMATCHING
static int daKytag08_Create(fopAc_ac_c* i_this) {
cXyz sp(1.0f, 1.0f, 1.0f);
dScnKy_env_light_c* env_light = i_dKy_getEnvlight();
if (!fopAcM_CheckCondition(i_this, 8)) {
new (i_this) kytag08_class();
fopAcM_OnCondition(i_this, 8);
}
kytag08_class* this_ = (kytag08_class*)i_this;
int phase = dComIfG_resLoad(&this_->mPhase, "Kytag08");
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this_, useHeapInit, 0x550)) {
return cPhs_ERROR_e;
}
this_->field_0x5ac.x = 20.0f;
this_->field_0x5ac.y = 20.0f;
this_->field_0x5ac.z = 20.0f;
this_->field_0x5d0 = 0.0f;
this_->mpEmitter1 = dComIfGp_particle_set(0x84A0, &this_->current.pos, NULL, &sp);
if (!dKy_darkworld_check()) {
this_->mpEmitter2 = dComIfGp_particle_set(0x84A1, &this_->current.pos, NULL, &sp);
} else {
this_->mpEmitter2 = dComIfGp_particle_set(0x84A2, &this_->current.pos, NULL, &sp);
}
this_->field_0x5b8 = this_->current.pos;
this_->field_0x5b8.y = 100.0f;
this_->field_0x5c4 = this_->field_0x5b8;
env_light->field_0x1060 = this_;
}
return phase;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daKytag08_Create(fopAc_ac_c* param_0) {
static asm int daKytag08_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/kytag/d_a_kytag08/d_a_kytag08/daKytag08_Create__FP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* 8085B23C-8085B284 000D3C 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/kytag/d_a_kytag08/d_a_kytag08/__dt__12J3DFrameCtrlFv.s"
}
+2 -2
View File
@@ -20,7 +20,7 @@ static int daKytag15_Draw(kytag15_class* i_this) {
scale.z = 0.00524f;
if (i_this->mpModel != NULL && i_this->field_0x590 > 0.0f) {
GXColorS10 color;
J3DGXColorS10 color;
J3DMaterial* mat_p = i_this->mpModel->getModelData()->getMaterialNodePointer(0);
color.b = 0;
color.g = 0;
@@ -33,7 +33,7 @@ static int daKytag15_Draw(kytag15_class* i_this) {
color.a = (color.a + 255.0f) * i_this->field_0x590 + -255.0f;
mat_p->setTevColor(0, (J3DGXColorS10*)&color);
mat_p->setTevColor(0, &color);
i_this->mpModel->setBaseScale(scale);
i_this->mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
+1 -1
View File
@@ -105,7 +105,7 @@ int daObjOnsen_c::Draw() {
dKy_bg_MAxx_proc(mpModel[0]);
mDoExt_modelUpdateDL(mpModel[0]);
mpBtk->entry(mpModel[1]->getModelData());
dComIfGd_setListInvisible();
dComIfGd_setListInvisisble();
dKy_bg_MAxx_proc(mpModel[1]);
mDoExt_modelUpdateDL(mpModel[1]);
dComIfGd_setList();
@@ -4,605 +4,363 @@
//
#include "rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller.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:
//
#define MODEL_K_PURO 0
#define MODEL_LV9_PURO 1
struct request_of_phase_process_class {};
#define TYPE_BOOMERANG 0 // only turns when hit with boomerang
#define TYPE_WIND 1 // automatically turns
struct csXyz {};
struct Vec {};
struct cXyz {
/* 80266AE4 */ void operator+(Vec const&) const;
static f32 Zero[3];
};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daObjSwPr_c {
/* 8059A5E8 */ void initBaseMtx();
/* 8059A624 */ void setBaseMtx();
/* 8059A670 */ void Create();
/* 8059A808 */ void CreateHeap();
/* 8059A888 */ void create();
/* 8059AB04 */ void setRotateTime();
/* 8059AB14 */ void switchCtrl();
/* 8059AB9C */ void execute_type_boomerang();
/* 8059ADCC */ void execute_type_wind();
/* 8059B014 */ void execute();
/* 8059B148 */ void draw();
/* 8059B1AC */ void _delete();
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 800352B0 */ void offSwitch(int, int);
};
struct dKy_tevstr_c {};
struct J3DModelData {};
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 dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcCyl {};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 80084460 */ void ChkTgHit();
/* 800844F8 */ void GetTgHitObj();
/* 80084548 */ void GetTgHitGObj();
};
struct dCcD_Cyl {
/* 800848B4 */ void Set(dCcD_SrcCyl const&);
};
struct dAttLook_c {
/* 80073D08 */ void request(fopAc_ac_c*, f32, f32, f32, s16, int);
};
struct cM3dGCyl {
/* 8026F1DC */ void SetC(cXyz const&);
/* 8059AA74 */ ~cM3dGCyl();
};
struct cM3dGAab {
/* 8059AABC */ ~cM3dGAab();
};
struct cCcD_Obj {};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct JUTNameTab {
/* 802DEAF8 */ void getName(u16) const;
};
struct J3DSys {
static u8 mCurrentMtx[48];
};
struct J3DModel {};
struct J3DJoint {};
//
// Forward References:
//
extern "C" static void nodeCallBack__FP8J3DJointi();
extern "C" static void CheckCreateHeap__FP10fopAc_ac_c();
extern "C" void initBaseMtx__11daObjSwPr_cFv();
extern "C" void setBaseMtx__11daObjSwPr_cFv();
extern "C" void Create__11daObjSwPr_cFv();
extern "C" void CreateHeap__11daObjSwPr_cFv();
extern "C" void create__11daObjSwPr_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void setRotateTime__11daObjSwPr_cFv();
extern "C" void switchCtrl__11daObjSwPr_cFv();
extern "C" void execute_type_boomerang__11daObjSwPr_cFv();
extern "C" void execute_type_wind__11daObjSwPr_cFv();
extern "C" void execute__11daObjSwPr_cFv();
extern "C" void draw__11daObjSwPr_cFv();
extern "C" void _delete__11daObjSwPr_cFv();
extern "C" static void daObjSwPr_Draw__FP11daObjSwPr_c();
extern "C" static void daObjSwPr_Execute__FP11daObjSwPr_c();
extern "C" static void daObjSwPr_Delete__FP11daObjSwPr_c();
extern "C" static void daObjSwPr_Create__FP10fopAc_ac_c();
extern "C" void func_8059B26C(void* _this, u16*);
extern "C" void func_8059B288(void* _this, u8*);
extern "C" void func_8059B2A4(void* _this, s16*);
extern "C" extern char const* const d_a_obj_swpropeller__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
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 onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void request__10dAttLook_cFP10fopAc_ac_cfffsi();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void __pl__4cXyzCFRC3Vec();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void cLib_addCalcAngleS__FPsssss();
extern "C" void cLib_chaseAngleS__FPsss();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void getName__10JUTNameTabCFUs();
extern "C" void PSMTXCopy();
extern "C" void __cvt_fp2unsigned();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
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" f32 Zero__4cXyz[3];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
extern "C" u16 func_8059B26C(u16*);
extern "C" u8 func_8059B288(u8*);
extern "C" s16 func_8059B2A4(s16*);
/* 8059A518-8059A5C8 000078 00B0+00 1/1 0/0 0/0 .text nodeCallBack__FP8J3DJointi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void nodeCallBack(J3DJoint* param_0, int param_1) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/nodeCallBack__FP8J3DJointi.s"
static int nodeCallBack(J3DJoint* i_joint, int param_1) {
if (param_1 == 0) {
int jnt_no = i_joint->getJntNo();
J3DModel* model_p = j3dSys.getModel();
daObjSwPr_c* swpr_p = (daObjSwPr_c*)model_p->getUserArea();
if (jnt_no == swpr_p->mKaitenJntID) {
cMtx_copy(model_p->i_getAnmMtx(jnt_no), mDoMtx_stack_c::get());
mDoMtx_stack_c::YrotM(swpr_p->field_0x82c);
model_p->i_setAnmMtx(jnt_no, mDoMtx_stack_c::get());
mDoMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
}
}
return 1;
}
#pragma pop
/* 8059A5C8-8059A5E8 000128 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void CheckCreateHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/CheckCreateHeap__FP10fopAc_ac_c.s"
static int CheckCreateHeap(fopAc_ac_c* i_this) {
return static_cast<daObjSwPr_c*>(i_this)->CreateHeap();
}
#pragma pop
/* 8059A5E8-8059A624 000148 003C+00 1/1 0/0 0/0 .text initBaseMtx__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/initBaseMtx__11daObjSwPr_cFv.s"
void daObjSwPr_c::initBaseMtx() {
mpModel->setBaseScale(mScale);
setBaseMtx();
}
#pragma pop
/* 8059A624-8059A670 000184 004C+00 3/3 0/0 0/0 .text setBaseMtx__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/setBaseMtx__11daObjSwPr_cFv.s"
void daObjSwPr_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
#pragma pop
/* ############################################################################################## */
/* 8059B2C8-8059B2D0 000000 0008+00 3/3 0/0 0/0 .rodata l_bmdName */
SECTION_RODATA static u8 const l_bmdName[8] = {
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
};
COMPILER_STRIP_GATE(0x8059B2C8, &l_bmdName);
static int const l_bmdName[] = {3, 3};
/* 8059B2D0-8059B2D8 000008 0008+00 1/1 0/0 0/0 .rodata l_heap_size */
SECTION_RODATA static u8 const l_heap_size[8] = {
0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x36, 0xC0,
};
COMPILER_STRIP_GATE(0x8059B2D0, &l_heap_size);
static u32 const l_heap_size[] = {0xF20, 0x36C0};
/* 8059B2D8-8059B31C 000010 0044+00 0/1 0/0 0/0 .rodata l_cyl_src */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const l_cyl_src[68] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x58,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
static const dCcD_SrcCyl l_cyl_src = {
{
{0, {{0, 0, 0}, {0x10040, 0x11}, 0x58}},
{dCcD_SE_NONE, 0, 0, 0, {0}},
{dCcD_SE_NONE, 2, 0, 0, {2}},
{0},
},
{
{0.0f, 0.0f, 0.0f},
100.0f,
100.0f,
},
};
COMPILER_STRIP_GATE(0x8059B2D8, &l_cyl_src);
#pragma pop
/* 8059B31C-8059B334 000054 0018+00 0/1 0/0 0/0 .rodata l_cull_size */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const l_cull_size[24] = {
0xC3, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x16, 0x00, 0x00,
0x43, 0x16, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8059B31C, &l_cull_size);
#pragma pop
static f32 const l_cull_size[] = {-150.0f, 0.0f, -150.0f, 150.0f, 150.0f, 150.0f};
/* 8059B334-8059B33C 00006C 0006+02 0/0 0/0 0/0 .rodata l_r00_rot_time */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const l_r00_rot_time[6 + 2 /* padding */] = {
0x00,
0xBE,
0x00,
0x94,
0x00,
0x64,
/* padding */
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8059B334, &l_r00_rot_time);
#pragma pop
/* 8059B33C-8059B340 000074 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(0x8059B33C, &lit_3747);
#pragma pop
/* 8059B360-8059B360 000098 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8059B360 = "K_prop00";
SECTION_DEAD static char const* const stringBase_8059B369 = "Lv9_puro";
SECTION_DEAD static char const* const stringBase_8059B372 = "kaiten";
SECTION_DEAD static char const* const stringBase_8059B379 = "D_MN05";
#pragma pop
// This was used for this object's HIO, which was removed in retail
static s16 const l_r00_rot_time[] = {190, 148, 100};
/* 8059B380-8059B388 -00001 0008+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName[2] = {
(void*)&d_a_obj_swpropeller__stringBase0,
(void*)(((char*)&d_a_obj_swpropeller__stringBase0) + 0x9),
};
static char* l_arcName[] = {"K_prop00", "Lv9_puro"};
/* 8059B388-8059B38C -00001 0004+00 1/1 0/0 0/0 .data l_joint_name */
SECTION_DATA static void* l_joint_name = (void*)(((char*)&d_a_obj_swpropeller__stringBase0) + 0x12);
static char* l_joint_name = "kaiten";
/* 8059A670-8059A808 0001D0 0198+00 1/1 0/0 0/0 .text Create__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/Create__11daObjSwPr_cFv.s"
int daObjSwPr_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
mCcStts.Init(0xFF, 0xFF, this);
mCyl1.Set(l_cyl_src);
mCyl1.SetStts(&mCcStts);
if (mNameArg == 1) {
mCyl2.Set(l_cyl_src);
mCyl2.SetStts(&mCcStts);
mCyl2.SetTgType(0x200);
mCyl2.SetTgMtrl(3);
}
fopAcM_setCullSizeBox(this, l_cull_size[0], l_cull_size[1], l_cull_size[2], l_cull_size[3],
l_cull_size[4], l_cull_size[5]);
JUTNameTab* jnt_nt_p = mpModel->getModelData()->getJointTree().getJointName();
mKaitenJntID = 0xFFFF;
for (u16 i = 0; i < mpModel->getModelData()->getJointNum(); i++) {
if (strcmp(jnt_nt_p->getName(i), l_joint_name) == 0) {
mKaitenJntID = i;
}
}
J3DJoint* jnt = mpModel->getModelData()->getJointNodePointer(mKaitenJntID);
jnt->setCallBack(nodeCallBack);
mpModel->setUserArea((u32)this);
mEyePos.y += 100.0f;
// Set CullSizeFar for Outside Bridge room in Forest Temple
if (strcmp(dComIfGp_getStartStageName(), "D_MN05") == 0 && fopAcM_GetRoomNo(this) == 4) {
fopAcM_setCullSizeFar(this, 100.0f);
}
return 1;
}
#pragma pop
/* 8059A808-8059A888 000368 0080+00 1/1 0/0 0/0 .text CreateHeap__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/CreateHeap__11daObjSwPr_cFv.s"
int daObjSwPr_c::CreateHeap() {
J3DModelData* modelData =
(J3DModelData*)dComIfG_getObjectRes(l_arcName[mModelType], l_bmdName[mModelType]);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (mpModel == NULL) {
return 0;
}
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8059B38C-8059B3AC -00001 0020+00 1/0 0/0 0/0 .data l_daObjSwPr_Method */
SECTION_DATA static void* l_daObjSwPr_Method[8] = {
(void*)daObjSwPr_Create__FP10fopAc_ac_c,
(void*)daObjSwPr_Delete__FP11daObjSwPr_c,
(void*)daObjSwPr_Execute__FP11daObjSwPr_c,
(void*)NULL,
(void*)daObjSwPr_Draw__FP11daObjSwPr_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 8059B3AC-8059B3DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Swpropeller */
SECTION_DATA extern void* g_profile_Obj_Swpropeller[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x005E0000, (void*)&g_fpcLf_Method,
(void*)0x00000840, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01C00000, (void*)&l_daObjSwPr_Method,
(void*)0x00044100, (void*)0x000E0000,
};
/* 8059B3DC-8059B3E8 00005C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 8059B3E8-8059B3F4 000068 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 8059A888-8059AA74 0003E8 01EC+00 1/1 0/0 0/0 .text create__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/func_8059A888.s"
}
#pragma pop
int daObjSwPr_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daObjSwPr_c();
fopAcM_OnCondition(this, 8);
}
/* 8059AA74-8059AABC 0005D4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCyl::~cM3dGCyl() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/__dt__8cM3dGCylFv.s"
}
#pragma pop
mNameArg = getNameArg();
/* 8059AABC-8059AB04 00061C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/__dt__8cM3dGAabFv.s"
if (getMdlType() == 15 || getMdlType() == 0) {
mModelType = MODEL_K_PURO;
} else if (getMdlType() == 1) {
mModelType = MODEL_LV9_PURO;
}
int phase = dComIfG_resLoad(&mPhase, l_arcName[mModelType]);
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, l_heap_size[mModelType])) {
return cPhs_ERROR_e;
}
if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
#pragma pop
/* 8059AB04-8059AB14 000664 0010+00 1/1 0/0 0/0 .text setRotateTime__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::setRotateTime() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/setRotateTime__11daObjSwPr_cFv.s"
int daObjSwPr_c::setRotateTime() {
field_0x83a = 0;
return 100;
}
#pragma pop
/* 8059AB14-8059AB9C 000674 0088+00 1/1 0/0 0/0 .text switchCtrl__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::switchCtrl() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/switchCtrl__11daObjSwPr_cFv.s"
void daObjSwPr_c::switchCtrl() {
int sw = getSwbit();
if (mRotateSpeed == 0) {
i_fopAcM_offSwitch(this, sw);
} else if (func_8059B2A4(&mSwDelayTimer) == 0) {
i_fopAcM_onSwitch(this, sw);
}
}
#pragma pop
/* ############################################################################################## */
/* 8059B340-8059B344 000078 0004+00 1/2 0/0 0/0 .rodata @3983 */
SECTION_RODATA static f32 const lit_3983 = 1.0f;
COMPILER_STRIP_GATE(0x8059B340, &lit_3983);
/* 8059B344-8059B348 00007C 0004+00 1/2 0/0 0/0 .rodata @3984 */
SECTION_RODATA static f32 const lit_3984 = -1.0f;
COMPILER_STRIP_GATE(0x8059B344, &lit_3984);
/* 8059AB9C-8059ADCC 0006FC 0230+00 1/1 0/0 0/0 .text execute_type_boomerang__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::execute_type_boomerang() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/execute_type_boomerang__11daObjSwPr_cFv.s"
void daObjSwPr_c::execute_type_boomerang() {
bool tg_hit = mCyl1.ChkTgHit();
field_0x82c += mRotateSpeed;
cLib_chaseAngleS(&mRotateSpeed, 0, mRotateInitSpeed / mRotateTime);
BOOL start_rotate = false;
if (mCyl1.ChkTgHit() && field_0x838 == 0) {
cCcD_Obj* tg_obj = mCyl1.GetTgHitObj();
if (tg_obj != NULL && ((tg_obj->ChkAtType(AT_TYPE_40) && mCyl1.GetTgHitGObj() != NULL &&
mCyl1.GetTgHitGObj()->GetAtMtrl() == 3) ||
tg_obj->ChkAtType(AT_TYPE_BOOMERANG)))
{
start_rotate = true;
}
mCyl1.ClrTgHit();
}
if (start_rotate) {
field_0x839++;
mRotateInitSpeed = 0x2000;
mRotateSpeed = 0x2000;
mRotateTime = setRotateTime();
fopAcM_seStart(this, Z2SE_OBJ_BOOMSHTR_HIT_SW, 0);
// Set delay to 0 if in Forest Temple Central Room
if (strcmp(dComIfGp_getStartStageName(), "D_MN05") == 0 && fopAcM_GetRoomNo(this) == 0) {
mSwDelayTimer = 0;
} else {
mSwDelayTimer = 8;
}
}
if (func_8059B288(&field_0x83a) != 0) {
mRotateSpeed = 0x2000;
}
switchCtrl();
setBaseMtx();
cXyz pos_offset(cXyz::Zero);
mCyl1.SetC(current.pos + pos_offset);
dComIfG_Ccsp()->Set(&mCyl1);
field_0x838 = tg_hit;
}
#pragma pop
/* 8059ADCC-8059B014 00092C 0248+00 1/1 0/0 0/0 .text execute_type_wind__11daObjSwPr_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::execute_type_wind() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/execute_type_wind__11daObjSwPr_cFv.s"
void daObjSwPr_c::execute_type_wind() {
s16 target_speed = 0;
int sw = getSwbit();
BOOL var_r29 = 0;
if (mCyl2.ChkTgHit()) {
if (mCyl2.GetTgHitGObj() != NULL) {
if (mCyl2.GetTgHitGObj()->GetAtMtrl() == 3 && mCyl2.GetTgHitObj() != NULL) {
target_speed = 7000;
mRotateInitSpeed = 7000;
var_r29 = 1;
field_0x834++;
if (field_0x834 == 20) {
i_fopAcM_onSwitch(this, sw);
} else if (field_0x834 == 25) {
i_fopAcM_offSwitch(this, sw);
}
}
}
} else {
field_0x834 = 0;
}
if (mCyl1.ChkTgHit()) {
if (mCyl1.GetTgHitGObj() != NULL && mCyl1.GetTgHitGObj()->GetAtMtrl() == 3) {
cCcD_Obj* tg_obj = mCyl1.GetTgHitObj();
if (tg_obj != NULL &&
(tg_obj->ChkAtType(AT_TYPE_40) || tg_obj->ChkAtType(AT_TYPE_BOOMERANG)))
{
mRotateSpeed = 7000;
mRotateInitSpeed = mRotateSpeed;
i_fopAcM_onSwitch(this, sw);
mSwOffDelayTimer = 10;
if (getSwbit2() != 0xFF) {
i_fopAcM_onSwitch(this, getSwbit2());
}
}
}
} else if (mSwOffDelayTimer != 0 && func_8059B26C(&mSwOffDelayTimer) == 0) {
i_fopAcM_offSwitch(this, sw);
}
cLib_addCalcAngleS(&mRotateSpeed, target_speed, 30, 100, 50);
field_0x82c += mRotateSpeed;
setBaseMtx();
mCyl1.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCyl1);
mCyl2.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCyl2);
field_0x83d = var_r29;
}
#pragma pop
/* ############################################################################################## */
/* 8059B348-8059B34C 000080 0004+00 0/1 0/0 0/0 .rodata @4086 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4086 = 127.0f;
COMPILER_STRIP_GATE(0x8059B348, &lit_4086);
#pragma pop
/* 8059B34C-8059B350 000084 0004+00 0/1 0/0 0/0 .rodata @4087 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4087 = 1200.0f;
COMPILER_STRIP_GATE(0x8059B34C, &lit_4087);
#pragma pop
/* 8059B350-8059B354 000088 0004+00 0/1 0/0 0/0 .rodata @4088 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4088 = 600.0f;
COMPILER_STRIP_GATE(0x8059B350, &lit_4088);
#pragma pop
/* 8059B354-8059B358 00008C 0004+00 0/1 0/0 0/0 .rodata @4089 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4089[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8059B354, &lit_4089);
#pragma pop
/* 8059B358-8059B360 000090 0008+00 0/1 0/0 0/0 .rodata @4091 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4091[8] = {
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8059B358, &lit_4091);
#pragma pop
/* 8059B014-8059B148 000B74 0134+00 1/1 0/0 0/0 .text execute__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/execute__11daObjSwPr_cFv.s"
int daObjSwPr_c::execute() {
switch (mNameArg) {
case TYPE_BOOMERANG:
execute_type_boomerang();
break;
case TYPE_WIND:
execute_type_wind();
break;
}
if (mRotateSpeed != 0 && mRotateInitSpeed != 0) {
fopAcM_seStartLevel(this, Z2SE_OBJ_BOOMSHTR_SWITCH,
((f32)mRotateSpeed / (f32)mRotateInitSpeed) * 127.0f);
}
dComIfGp_att_LookRequest(this, 1200.0f, 600.0f, 0.0f, 27000, 2);
return 1;
}
#pragma pop
/* 8059B148-8059B1AC 000CA8 0064+00 1/1 0/0 0/0 .text draw__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/draw__11daObjSwPr_cFv.s"
int daObjSwPr_c::draw() {
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
mDoExt_modelUpdateDL(mpModel);
return 1;
}
#pragma pop
/* 8059B1AC-8059B1EC 000D0C 0040+00 1/1 0/0 0/0 .text _delete__11daObjSwPr_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSwPr_c::_delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/_delete__11daObjSwPr_cFv.s"
int daObjSwPr_c::_delete() {
dComIfG_resDelete(&mPhase, l_arcName[mModelType]);
return 1;
}
#pragma pop
/* 8059B1EC-8059B20C 000D4C 0020+00 1/0 0/0 0/0 .text daObjSwPr_Draw__FP11daObjSwPr_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSwPr_Draw(daObjSwPr_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/daObjSwPr_Draw__FP11daObjSwPr_c.s"
static int daObjSwPr_Draw(daObjSwPr_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 8059B20C-8059B22C 000D6C 0020+00 1/0 0/0 0/0 .text daObjSwPr_Execute__FP11daObjSwPr_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSwPr_Execute(daObjSwPr_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/daObjSwPr_Execute__FP11daObjSwPr_c.s"
static int daObjSwPr_Execute(daObjSwPr_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 8059B22C-8059B24C 000D8C 0020+00 1/0 0/0 0/0 .text daObjSwPr_Delete__FP11daObjSwPr_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSwPr_Delete(daObjSwPr_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/daObjSwPr_Delete__FP11daObjSwPr_c.s"
static int daObjSwPr_Delete(daObjSwPr_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 8059B24C-8059B26C 000DAC 0020+00 1/0 0/0 0/0 .text daObjSwPr_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSwPr_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/daObjSwPr_Create__FP10fopAc_ac_c.s"
static int daObjSwPr_Create(fopAc_ac_c* i_this) {
return static_cast<daObjSwPr_c*>(i_this)->create();
}
#pragma pop
/* 8059B26C-8059B288 000DCC 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Us>__FPUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_8059B26C(void* _this, u16* param_0) {
extern "C" asm u16 func_8059B26C(u16* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/func_8059B26C.s"
}
@@ -612,7 +370,7 @@ extern "C" asm void func_8059B26C(void* _this, u16* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_8059B288(void* _this, u8* param_0) {
extern "C" asm u8 func_8059B288(u8* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/func_8059B288.s"
}
@@ -622,10 +380,33 @@ extern "C" asm void func_8059B288(void* _this, u8* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_8059B2A4(void* _this, s16* param_0) {
extern "C" asm s16 func_8059B2A4(s16* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_swpropeller/d_a_obj_swpropeller/func_8059B2A4.s"
}
#pragma pop
/* 8059B360-8059B360 000098 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 8059B38C-8059B3AC -00001 0020+00 1/0 0/0 0/0 .data l_daObjSwPr_Method */
static actor_method_class l_daObjSwPr_Method = {
(process_method_func)daObjSwPr_Create, (process_method_func)daObjSwPr_Delete,
(process_method_func)daObjSwPr_Execute, (process_method_func)NULL,
(process_method_func)daObjSwPr_Draw,
};
/* 8059B3AC-8059B3DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Swpropeller */
extern actor_process_profile_definition g_profile_Obj_Swpropeller = {
-3,
3,
-3,
PROC_Obj_Swpropeller,
&g_fpcLf_Method.mBase,
sizeof(daObjSwPr_c),
0,
0,
&g_fopAc_Method.base,
448,
&l_daObjSwPr_Method,
0x44100,
0,
14,
};
@@ -12,8 +12,8 @@ void daTagLightBall_c::initBaseMtx() {
/* 80D5A818-80D5A870 000098 0058+00 1/1 0/0 0/0 .text setBaseMtx__16daTagLightBall_cFv */
void daTagLightBall_c::setBaseMtx() {
PSMTXTrans(mDoMtx_stack_c::now, current.pos.x, current.pos.y, current.pos.z);
mDoMtx_ZXYrotM(mDoMtx_stack_c::now, shape_angle.x, shape_angle.y, shape_angle.z);
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
}
/* 80D5A870-80D5A9B8 0000F0 0148+00 1/1 0/0 0/0 .text Create__16daTagLightBall_cFv */
@@ -25,21 +25,24 @@ int daTagLightBall_c::Create() {
i_fopAcM_offSwitch(this, swbit);
}
}
mInfluence.mPos = current.pos;
mInfluence.field_0xc = mScale.x * 100.0f;
if (swbit != 0xFF) {
if (getType() == 15) {
if (i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_set(&mInfluence);
field_0x57d = 1;
mInfSet = true;
}
} else {
if (!i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_set(&mInfluence);
field_0x57d = 1;
mInfSet = true;
}
}
}
field_0x57c = i_fopAcM_isSwitch(this, swbit);
return 1;
}
@@ -50,9 +53,11 @@ int daTagLightBall_c::create() {
new (this) daTagLightBall_c;
fopAcM_OnCondition(this, 8);
}
if (Create() == 0) {
if (!Create()) {
return cPhs_ERROR_e;
}
return cPhs_COMPLEATE_e;
}
@@ -61,21 +66,22 @@ int daTagLightBall_c::execute() {
u8 swbit = getSwBit();
if (swbit != 0xFF) {
if (getType() == 15) {
if (field_0x57c != 0 && !i_fopAcM_isSwitch(this, swbit)) {
if (field_0x57c && !i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_cut(&mInfluence);
field_0x57d = 0;
} else if (field_0x57c == 0 && i_fopAcM_isSwitch(this, swbit)) {
mInfSet = false;
} else if (!field_0x57c && i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_set(&mInfluence);
field_0x57d = 1;
mInfSet = true;
}
} else if (field_0x57c == 0 && i_fopAcM_isSwitch(this, swbit)) {
} else if (!field_0x57c && i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_cut(&mInfluence);
field_0x57d = 0;
} else if (field_0x57c != 0 && !i_fopAcM_isSwitch(this, swbit)) {
mInfSet = false;
} else if (field_0x57c && !i_fopAcM_isSwitch(this, swbit)) {
dKy_dalkmist_inf_set(&mInfluence);
field_0x57d = 1;
mInfSet = true;
}
}
mInfluence.mPos = current.pos;
field_0x57c = i_fopAcM_isSwitch(this, swbit);
return 1;
@@ -88,33 +94,34 @@ int daTagLightBall_c::draw() {
/* 80D5ABA8-80D5ABF0 000428 0048+00 1/1 0/0 0/0 .text _delete__16daTagLightBall_cFv */
int daTagLightBall_c::_delete() {
if (field_0x57d) {
if (mInfSet) {
dKy_dalkmist_inf_cut(&mInfluence);
field_0x57d = 0;
mInfSet = false;
}
return 1;
}
/* 80D5ABF0-80D5AC10 000470 0020+00 1/0 0/0 0/0 .text daTagLightBall_Draw__FP16daTagLightBall_c */
static void daTagLightBall_Draw(daTagLightBall_c* i_this) {
((daTagLightBall_c*)i_this)->draw();
static int daTagLightBall_Draw(daTagLightBall_c* i_this) {
return i_this->draw();
}
/* 80D5AC10-80D5AC30 000490 0020+00 1/0 0/0 0/0 .text daTagLightBall_Execute__FP16daTagLightBall_c
*/
static void daTagLightBall_Execute(daTagLightBall_c* i_this) {
((daTagLightBall_c*)i_this)->execute();
static int daTagLightBall_Execute(daTagLightBall_c* i_this) {
return i_this->execute();
}
/* 80D5AC30-80D5AC50 0004B0 0020+00 1/0 0/0 0/0 .text daTagLightBall_Delete__FP16daTagLightBall_c
*/
static void daTagLightBall_Delete(daTagLightBall_c* i_this) {
((daTagLightBall_c*)i_this)->_delete();
static int daTagLightBall_Delete(daTagLightBall_c* i_this) {
return i_this->_delete();
}
/* 80D5AC50-80D5AC70 0004D0 0020+00 1/0 0/0 0/0 .text daTagLightBall_Create__FP10fopAc_ac_c */
static void daTagLightBall_Create(fopAc_ac_c* i_this) {
((daTagLightBall_c*)i_this)->create();
static int daTagLightBall_Create(fopAc_ac_c* i_this) {
return static_cast<daTagLightBall_c*>(i_this)->create();
}
/* ############################################################################################## */
+1879 -213
View File
File diff suppressed because it is too large Load Diff
+80 -46
View File
@@ -14,15 +14,16 @@
#include "JSystem/JMath/JMath.h"
#include "MSL_C/stdio.h"
#include "MSL_C/string.h"
#include "SSystem/SComponent/c_xyz.h"
#include "SSystem/SComponent/c_lib.h"
#include "SSystem/SComponent/c_xyz.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/com/d_com_inf_game.h"
#include "d/kankyo/d_kankyo.h"
#include "dol2asm.h"
#include "dolphin/gx/GXDraw.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/os/OS.h"
#include "dolphin/types.h"
#include "d/kankyo/d_kankyo.h"
#include "global.h"
#include "m_Do/m_Do_mtx.h"
@@ -36,16 +37,8 @@ struct J3DDrawBuffer {
/* 8032548C */ void entryImm(J3DPacket*, u16);
};
struct dDlst_list_c {
/* 800565EC */ void entryZSortXluDrawList(J3DDrawBuffer*, J3DPacket*, cXyz&);
};
struct ResFONT {};
struct JUtility {
struct TColor {};
};
struct JUTResFont {
/* 802DEF94 */ JUTResFont(ResFONT const*, JKRHeap*);
};
@@ -435,11 +428,9 @@ extern "C" extern u8 const j3dDefaultTevStageInfo[20];
extern "C" extern u8 const j3dDefaultIndTevStageInfo[12];
extern "C" extern void* __vt__9J3DPacket[5];
extern "C" extern void* __vt__8J3DModel[9];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" f32 mParentS__6J3DSys[3];
extern "C" u8 sGDLObj__17J3DDisplayListObj[16];
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
extern "C" u8 sCurrentHeap__7JKRHeap[4];
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
extern "C" u8 mJoint__10J3DMtxCalc[4];
@@ -1532,7 +1523,8 @@ void mDoExt_modelUpdate(J3DModel* i_model) {
J3DModelData* model_data = i_model->getModelData();
if (model_data->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL &&
!model_data->isLocked()) {
!model_data->isLocked())
{
i_model->calc();
mDoExt_modelDiff(i_model);
} else {
@@ -1548,7 +1540,8 @@ void mDoExt_modelUpdateDL(J3DModel* i_model) {
J3DModelData* model_data = i_model->getModelData();
if (model_data->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL &&
!model_data->isLocked()) {
!model_data->isLocked())
{
i_model->calc();
mDoExt_modelDiff(i_model);
} else {
@@ -1566,7 +1559,8 @@ void mDoExt_modelEntryDL(J3DModel* i_model) {
J3DModelData* model_data = i_model->getModelData();
if (model_data->getMaterialNodePointer(0)->getSharedDisplayListObj() != NULL &&
!model_data->isLocked()) {
!model_data->isLocked())
{
mDoExt_modelDiff(i_model);
} else {
i_model->unlock();
@@ -1610,8 +1604,8 @@ bool J3DPEBlock::getZCompLoc() const {
}
/* 8000DF44-8000DF4C 008884 0008+00 0/0 5/0 0/0 .text getZMode__10J3DPEBlockFv */
bool J3DPEBlock::getZMode() {
return false;
J3DZMode* J3DPEBlock::getZMode() {
return NULL;
}
/* 8000DF4C-8000DF54 00888C 0008+00 0/0 5/0 0/0 .text getBlend__10J3DPEBlockFv */
@@ -1980,7 +1974,8 @@ asm void J3DTevStage::setTevStageInfo(J3DTevStageInfo const& param_0) {
#pragma pop
/* 8000E460-8000E464 008DA0 0004+00 0/0 3/3 0/0 .text __ct__13J3DGXColorS10Fv */
J3DGXColorS10::J3DGXColorS10() {
// J3DGXColorS10::J3DGXColorS10() {
extern "C" void __ct__13J3DGXColorS10Fv() {
/* empty function */
}
@@ -2005,7 +2000,8 @@ asm J3DColorChan::J3DColorChan() {
#pragma pop
/* 8000E538-8000E53C 008E78 0004+00 0/0 3/3 0/0 .text __ct__10J3DGXColorFv */
J3DGXColor::J3DGXColor() {
// J3DGXColor::J3DGXColor() {
extern "C" void __ct__10J3DGXColorFv() {
/* empty function */
}
@@ -2144,24 +2140,63 @@ asm void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_sha
#pragma force_active on
// MWCC ignores mapping of some japanese characters using the
// byte 0x5C (ASCII '\'). This is why this string is hex-encoded.
// "ソリッドヒープちゃうがな!\n"
// "This isn't a solid heap! \n"
SECTION_DEAD static char const* const stringBase_803740FC =
"\x83\x5C\x83\x8A\x83\x62\x83\x68\x83\x71\x81\x5B\x83\x76\x82\xBF\x82\xE1\x82\xA4\x82\xAA\x82"
"\xC8\x81\x49\x0A";
SECTION_DEAD static char const* const stringBase_80374118 = "%s.bti";
#pragma pop
/* 8000EA80-8000ECC0 0093C0 0240+00 0/0 0/0 6/6 .text mDoExt_setupStageTexture__FP12J3DModelData
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void mDoExt_setupStageTexture(J3DModelData* param_0) {
nofralloc
#include "asm/m_Do/m_Do_ext/mDoExt_setupStageTexture__FP12J3DModelData.s"
void mDoExt_setupStageTexture(J3DModelData* i_modelData) {
J3DTexture* texture_p = i_modelData->getTexture();
if (texture_p != NULL) {
JUTNameTab* tex_name_p = i_modelData->getTextureName();
if (tex_name_p != NULL) {
bool set_timg = false;
for (u16 i = 0; i < texture_p->getNum(); i++) {
ResTIMG* img = texture_p->getResTIMG(i);
if (img->imageOffset == 0) {
char res_name[64];
snprintf(res_name, sizeof(res_name), "%s.bti", tex_name_p->getName(i));
ResTIMG* timg = (ResTIMG*)dComIfG_getStageRes(res_name);
texture_p->setResTIMG(i, *timg);
set_timg = true;
}
}
if (set_timg) {
j3dSys.setTexture(texture_p);
for (u16 i = 0; i < i_modelData->getMaterialNum(); i++) {
J3DMaterial* mat_p = i_modelData->getMaterialNodePointer(i);
J3DTevBlock* block_p = mat_p->getTevBlock();
if (block_p != NULL) {
J3DDisplayListObj* dlObj_p = mat_p->getSharedDisplayListObj();
if (dlObj_p != NULL) {
BOOL state = OSDisableInterrupts();
GDInitGDLObj(&J3DDisplayListObj::sGDLObj, dlObj_p->getDisplayList(0),
dlObj_p->getDisplayListSize());
GDSetCurrent(&J3DDisplayListObj::sGDLObj);
block_p->patchTexNoAndTexCoordScale();
OSRestoreInterrupts(state);
GDSetCurrent(NULL);
}
}
}
}
}
}
}
#pragma pop
/* ############################################################################################## */
/* 80450C20-80450C24 000120 0004+00 2/1 0/0 0/0 .sbss AssertHeap */
@@ -2724,9 +2759,9 @@ extern "C" asm void __dt__16mDoExt_McaMorfSOFv() {
*/
#ifdef NONMATCHING
int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_c* param_1,
mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3,
int param_4, f32 param_5, int param_6, int param_7,
Z2Creature* i_sound, u32 param_9, u32 param_10) {
mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3,
int param_4, f32 param_5, int param_6, int param_7,
Z2Creature* i_sound, u32 param_9, u32 param_10) {
mpModel = NULL;
mpTransformInfo = NULL;
mpQuat = NULL;
@@ -2773,7 +2808,8 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_
for (int i = 0; i < modelData->getJointNum(); i++) {
transInfo = &modelData->getJointNodePointer(i)->getTransformInfo();
JMAEulerToQuat(transInfo->mRotation.x, transInfo->mRotation.y, transInfo->mRotation.z, quat);
JMAEulerToQuat(transInfo->mRotation.x, transInfo->mRotation.y,
transInfo->mRotation.z, quat);
transInfo++;
quat++;
@@ -2804,9 +2840,9 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_
#pragma optimization_level 0
#pragma optimizewithasm off
asm int mDoExt_McaMorfSO::create(J3DModelData* param_0, mDoExt_McaMorfCallBack1_c* param_1,
mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3,
int param_4, f32 param_5, int param_6, int param_7,
Z2Creature* param_8, u32 param_9, u32 param_10) {
mDoExt_McaMorfCallBack2_c* param_2, J3DAnmTransform* param_3,
int param_4, f32 param_5, int param_6, int param_7,
Z2Creature* param_8, u32 param_9, u32 param_10) {
nofralloc
#include "asm/m_Do/m_Do_ext/func_800108F0.s"
}
@@ -3291,7 +3327,8 @@ void drawCube(MtxP mtx, cXyz* pos, const GXColor& color) {
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_INDEX8);
GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP, GX_AF_NONE);
GXSetChanCtrl(GX_COLOR0, GX_DISABLE, GX_SRC_REG, GX_SRC_REG, GX_LIGHT_NULL, GX_DF_CLAMP,
GX_AF_NONE);
GXSetNumTexGens(0);
GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, color);
@@ -3328,14 +3365,9 @@ void drawCube(MtxP mtx, cXyz* pos, const GXColor& color) {
void mDoExt_cubePacket::draw() {
static cXyz l_pos[8] = {
cXyz(-1.0f, 1.0f, -1.0f),
cXyz(1.0f, 1.0f, -1.0f),
cXyz(-1.0f, 1.0f, 1.0f),
cXyz(1.0f, 1.0f, 1.0f),
cXyz(-1.0f, -1.0f, -1.0f),
cXyz(1.0f, -1.0f, -1.0f),
cXyz(-1.0f, -1.0f, 1.0f),
cXyz(1.0f, -1.0f, 1.0f),
cXyz(-1.0f, 1.0f, -1.0f), cXyz(1.0f, 1.0f, -1.0f), cXyz(-1.0f, 1.0f, 1.0f),
cXyz(1.0f, 1.0f, 1.0f), cXyz(-1.0f, -1.0f, -1.0f), cXyz(1.0f, -1.0f, -1.0f),
cXyz(-1.0f, -1.0f, 1.0f), cXyz(1.0f, -1.0f, 1.0f),
};
mDoMtx_stack_c::transS(mPosition.x, mPosition.y, mPosition.z);
@@ -3372,7 +3404,7 @@ void mDoExt_cylinderPacket::draw() {
mDoMtx_stack_c::transM(mPosition.x, mPosition.y + mHeight * 0.5f, mPosition.z);
mDoMtx_stack_c::scaleM(mRadius, mRadius * 0.5f, mRadius);
mDoMtx_stack_c::XrotM(0x4000);
GXLoadPosMtxImm(mDoMtx_stack_c::get(), 0);
mDoMtx_stack_c::inverseTranspose();
@@ -3554,10 +3586,12 @@ J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 modelFlag, u32
// Set up the model
if (!model->entryModelData(i_modelData, modelFlag, 1)) {
if (modelFlag == J3DMdlFlag_Unk80000 && model->newDifferedDisplayList(differedDlistFlag)) {
if (modelFlag == J3DMdlFlag_Unk80000 &&
model->newDifferedDisplayList(differedDlistFlag))
{
return NULL;
}
model->lock();
return model;
}