mirror of
https://github.com/zeldaret/tp
synced 2026-07-07 22:22:05 -04:00
d_a_andsw2 OK, d_a_player / d_a_alink cleanup, d_a_alink_hook mostly done (#1957)
* d_a_andsw2 OK * d_a_player cleanup, d_a_alink cleanup and work on d_a_alink_hook * remove asm * d_kankyo_wether almost done * some work on d_kankyo_rain
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
lbl_800CFE68:
|
||||
/* 800CFE68 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800CFE6C 7C 08 02 A6 */ mflr r0
|
||||
/* 800CFE70 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 800CFE74 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 800CFE78 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 800CFE7C 41 82 00 1C */ beq lbl_800CFE98
|
||||
/* 800CFE80 3C A0 80 3B */ lis r5, __vt__20daAlink_lockCursor_c@ha /* 0x803B3590@ha */
|
||||
/* 800CFE84 38 05 35 90 */ addi r0, r5, __vt__20daAlink_lockCursor_c@l /* 0x803B3590@l */
|
||||
/* 800CFE88 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 800CFE8C 7C 80 07 35 */ extsh. r0, r4
|
||||
/* 800CFE90 40 81 00 08 */ ble lbl_800CFE98
|
||||
/* 800CFE94 48 1F EE A9 */ bl __dl__FPv
|
||||
lbl_800CFE98:
|
||||
/* 800CFE98 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800CFE9C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 800CFEA0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800CFEA4 7C 08 03 A6 */ mtlr r0
|
||||
/* 800CFEA8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800CFEAC 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,26 @@
|
||||
lbl_800CFCF8:
|
||||
/* 800CFCF8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800CFCFC 7C 08 02 A6 */ mflr r0
|
||||
/* 800CFD00 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 800CFD04 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 800CFD08 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 800CFD0C 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 800CFD10 7C 9F 23 78 */ mr r31, r4
|
||||
/* 800CFD14 41 82 00 28 */ beq lbl_800CFD3C
|
||||
/* 800CFD18 3C 80 80 3B */ lis r4, __vt__29dAlink_bottleWaterPcallBack_c@ha /* 0x803B35B4@ha */
|
||||
/* 800CFD1C 38 04 35 B4 */ addi r0, r4, __vt__29dAlink_bottleWaterPcallBack_c@l /* 0x803B35B4@l */
|
||||
/* 800CFD20 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 800CFD24 38 80 00 00 */ li r4, 0
|
||||
/* 800CFD28 48 1A F2 7D */ bl __dt__19JPAParticleCallBackFv
|
||||
/* 800CFD2C 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 800CFD30 40 81 00 0C */ ble lbl_800CFD3C
|
||||
/* 800CFD34 7F C3 F3 78 */ mr r3, r30
|
||||
/* 800CFD38 48 1F F0 05 */ bl __dl__FPv
|
||||
lbl_800CFD3C:
|
||||
/* 800CFD3C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 800CFD40 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 800CFD44 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 800CFD48 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800CFD4C 7C 08 03 A6 */ mtlr r0
|
||||
/* 800CFD50 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800CFD54 4E 80 00 20 */ blr
|
||||
@@ -1,81 +0,0 @@
|
||||
lbl_8010B84C:
|
||||
/* 8010B84C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8010B850 7C 08 02 A6 */ mflr r0
|
||||
/* 8010B854 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8010B858 DB E1 00 10 */ stfd f31, 0x10(r1)
|
||||
/* 8010B85C F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
|
||||
/* 8010B860 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8010B864 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010B868 38 7F 1D 08 */ addi r3, r31, 0x1d08
|
||||
/* 8010B86C 38 9F 38 34 */ addi r4, r31, 0x3834
|
||||
/* 8010B870 48 15 C4 B9 */ bl SetPos__11cBgS_GndChkFPC4cXyz
|
||||
/* 8010B874 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8010B878 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8010B87C 38 63 0F 38 */ addi r3, r3, 0xf38
|
||||
/* 8010B880 38 9F 1D 08 */ addi r4, r31, 0x1d08
|
||||
/* 8010B884 4B F6 8C 1D */ bl GroundCross__4cBgSFP11cBgS_GndChk
|
||||
/* 8010B888 FF E0 08 90 */ fmr f31, f1
|
||||
/* 8010B88C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B890 4B FF E0 01 */ bl setHookshotHangMoveBGCollect__9daAlink_cFv
|
||||
/* 8010B894 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010B898 41 82 00 1C */ beq lbl_8010B8B4
|
||||
/* 8010B89C C0 1F 05 E4 */ lfs f0, 0x5e4(r31)
|
||||
/* 8010B8A0 FC 1F 00 40 */ fcmpo cr0, f31, f0
|
||||
/* 8010B8A4 41 81 00 10 */ bgt lbl_8010B8B4
|
||||
/* 8010B8A8 C0 1F 05 F0 */ lfs f0, 0x5f0(r31)
|
||||
/* 8010B8AC FC 1F 00 40 */ fcmpo cr0, f31, f0
|
||||
/* 8010B8B0 40 81 00 10 */ ble lbl_8010B8C0
|
||||
lbl_8010B8B4:
|
||||
/* 8010B8B4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B8B8 4B FF FE 69 */ bl checkNextHookPoint__9daAlink_cFv
|
||||
/* 8010B8BC 48 00 00 94 */ b lbl_8010B950
|
||||
lbl_8010B8C0:
|
||||
/* 8010B8C0 A0 1F 2F E8 */ lhz r0, 0x2fe8(r31)
|
||||
/* 8010B8C4 28 00 00 C9 */ cmplwi r0, 0xc9
|
||||
/* 8010B8C8 41 82 00 84 */ beq lbl_8010B94C
|
||||
/* 8010B8CC 28 00 00 C8 */ cmplwi r0, 0xc8
|
||||
/* 8010B8D0 41 82 00 0C */ beq lbl_8010B8DC
|
||||
/* 8010B8D4 28 00 00 CB */ cmplwi r0, 0xcb
|
||||
/* 8010B8D8 40 82 00 14 */ bne lbl_8010B8EC
|
||||
lbl_8010B8DC:
|
||||
/* 8010B8DC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B8E0 4B FF D1 39 */ bl checkHookshotWait__9daAlink_cCFv
|
||||
/* 8010B8E4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010B8E8 41 82 00 64 */ beq lbl_8010B94C
|
||||
lbl_8010B8EC:
|
||||
/* 8010B8EC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B8F0 4B FF CF B1 */ bl checkHookshotRoofLv7Boss__9daAlink_cFv
|
||||
/* 8010B8F4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010B8F8 41 82 00 10 */ beq lbl_8010B908
|
||||
/* 8010B8FC 80 1F 05 70 */ lwz r0, 0x570(r31)
|
||||
/* 8010B900 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
|
||||
/* 8010B904 40 82 00 48 */ bne lbl_8010B94C
|
||||
lbl_8010B908:
|
||||
/* 8010B908 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B90C 38 80 00 45 */ li r4, 0x45
|
||||
/* 8010B910 4B FB 48 55 */ bl checkSetItemTrigger__9daAlink_cFi
|
||||
/* 8010B914 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010B918 41 82 00 34 */ beq lbl_8010B94C
|
||||
/* 8010B91C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8010B920 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8010B924 80 03 5F 1C */ lwz r0, 0x5f1c(r3)
|
||||
/* 8010B928 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
|
||||
/* 8010B92C 41 82 00 14 */ beq lbl_8010B940
|
||||
/* 8010B930 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B934 80 9F 28 58 */ lwz r4, 0x2858(r31)
|
||||
/* 8010B938 48 00 16 35 */ bl procHookshotRoofBootsInit__9daAlink_cFP10fopAc_ac_c
|
||||
/* 8010B93C 48 00 00 14 */ b lbl_8010B950
|
||||
lbl_8010B940:
|
||||
/* 8010B940 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B944 38 80 00 01 */ li r4, 1
|
||||
/* 8010B948 4B FD 6C 39 */ bl setHeavyBoots__9daAlink_cFi
|
||||
lbl_8010B94C:
|
||||
/* 8010B94C 38 60 00 00 */ li r3, 0
|
||||
lbl_8010B950:
|
||||
/* 8010B950 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
|
||||
/* 8010B954 CB E1 00 10 */ lfd f31, 0x10(r1)
|
||||
/* 8010B958 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8010B95C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8010B960 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010B964 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8010B968 4E 80 00 20 */ blr
|
||||
@@ -1,81 +0,0 @@
|
||||
lbl_8010B720:
|
||||
/* 8010B720 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8010B724 7C 08 02 A6 */ mflr r0
|
||||
/* 8010B728 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8010B72C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8010B730 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 8010B734 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010B738 A8 03 30 26 */ lha r0, 0x3026(r3)
|
||||
/* 8010B73C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8010B740 41 82 00 88 */ beq lbl_8010B7C8
|
||||
/* 8010B744 83 DF 28 50 */ lwz r30, 0x2850(r31)
|
||||
/* 8010B748 A8 7F 30 1A */ lha r3, 0x301a(r31)
|
||||
/* 8010B74C 2C 03 00 05 */ cmpwi r3, 5
|
||||
/* 8010B750 40 82 00 18 */ bne lbl_8010B768
|
||||
/* 8010B754 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 8010B758 41 82 00 10 */ beq lbl_8010B768
|
||||
/* 8010B75C 80 1E 04 9C */ lwz r0, 0x49c(r30)
|
||||
/* 8010B760 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
|
||||
/* 8010B764 40 82 00 50 */ bne lbl_8010B7B4
|
||||
lbl_8010B768:
|
||||
/* 8010B768 2C 03 00 04 */ cmpwi r3, 4
|
||||
/* 8010B76C 40 82 00 B8 */ bne lbl_8010B824
|
||||
/* 8010B770 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8010B774 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8010B778 38 63 0F 38 */ addi r3, r3, 0xf38
|
||||
/* 8010B77C 38 9F 1E 2C */ addi r4, r31, 0x1e2c
|
||||
/* 8010B780 4B F6 8E E1 */ bl ChkPolySafe__4cBgSFRC13cBgS_PolyInfo
|
||||
/* 8010B784 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 8010B788 41 82 00 9C */ beq lbl_8010B824
|
||||
/* 8010B78C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B790 38 9F 1E 2C */ addi r4, r31, 0x1e2c
|
||||
/* 8010B794 4B FF D0 1D */ bl checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo
|
||||
/* 8010B798 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010B79C 41 82 00 88 */ beq lbl_8010B824
|
||||
/* 8010B7A0 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 8010B7A4 41 82 00 10 */ beq lbl_8010B7B4
|
||||
/* 8010B7A8 80 1E 04 9C */ lwz r0, 0x49c(r30)
|
||||
/* 8010B7AC 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
|
||||
/* 8010B7B0 41 82 00 74 */ beq lbl_8010B824
|
||||
lbl_8010B7B4:
|
||||
/* 8010B7B4 38 00 00 00 */ li r0, 0
|
||||
/* 8010B7B8 B0 1F 30 26 */ sth r0, 0x3026(r31)
|
||||
/* 8010B7BC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B7C0 48 00 05 D1 */ bl procHookshotFlyInit__9daAlink_cFv
|
||||
/* 8010B7C4 48 00 00 70 */ b lbl_8010B834
|
||||
lbl_8010B7C8:
|
||||
/* 8010B7C8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8010B7CC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8010B7D0 80 04 5F 1C */ lwz r0, 0x5f1c(r4)
|
||||
/* 8010B7D4 54 00 03 DF */ rlwinm. r0, r0, 0, 0xf, 0xf
|
||||
/* 8010B7D8 41 82 00 4C */ beq lbl_8010B824
|
||||
/* 8010B7DC 4B FF D0 C5 */ bl checkHookshotRoofLv7Boss__9daAlink_cFv
|
||||
/* 8010B7E0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010B7E4 41 82 00 40 */ beq lbl_8010B824
|
||||
/* 8010B7E8 80 7F 28 58 */ lwz r3, 0x2858(r31)
|
||||
/* 8010B7EC 80 03 04 9C */ lwz r0, 0x49c(r3)
|
||||
/* 8010B7F0 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
|
||||
/* 8010B7F4 40 82 00 30 */ bne lbl_8010B824
|
||||
/* 8010B7F8 A8 1F 04 E6 */ lha r0, 0x4e6(r31)
|
||||
/* 8010B7FC B0 1F 31 02 */ sth r0, 0x3102(r31)
|
||||
/* 8010B800 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B804 38 80 FF FA */ li r4, -6
|
||||
/* 8010B808 38 A0 00 01 */ li r5, 1
|
||||
/* 8010B80C 38 C0 00 00 */ li r6, 0
|
||||
/* 8010B810 38 E0 00 00 */ li r7, 0
|
||||
/* 8010B814 39 00 00 00 */ li r8, 0
|
||||
/* 8010B818 39 20 00 00 */ li r9, 0
|
||||
/* 8010B81C 4B FC DE C1 */ bl procCoLargeDamageInit__9daAlink_cFiissP12dCcD_GObjInfi
|
||||
/* 8010B820 48 00 00 14 */ b lbl_8010B834
|
||||
lbl_8010B824:
|
||||
/* 8010B824 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B828 38 80 00 01 */ li r4, 1
|
||||
/* 8010B82C C0 22 93 3C */ lfs f1, lit_7808(r2)
|
||||
/* 8010B830 4B FB B2 19 */ bl procFallInit__9daAlink_cFif
|
||||
lbl_8010B834:
|
||||
/* 8010B834 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8010B838 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 8010B83C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8010B840 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010B844 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8010B848 4E 80 00 20 */ blr
|
||||
@@ -1,126 +0,0 @@
|
||||
lbl_800CE294:
|
||||
/* 800CE294 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 800CE298 7C 08 02 A6 */ mflr r0
|
||||
/* 800CE29C 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 800CE2A0 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 800CE2A4 48 29 3F 1D */ bl _savegpr_22
|
||||
/* 800CE2A8 7C 7A 1B 78 */ mr r26, r3
|
||||
/* 800CE2AC 3B E0 00 01 */ li r31, 1
|
||||
/* 800CE2B0 7F FE FB 78 */ mr r30, r31
|
||||
/* 800CE2B4 7F FD FB 78 */ mr r29, r31
|
||||
/* 800CE2B8 7F FC FB 78 */ mr r28, r31
|
||||
/* 800CE2BC 7F FB FB 78 */ mr r27, r31
|
||||
/* 800CE2C0 7F F9 FB 78 */ mr r25, r31
|
||||
/* 800CE2C4 7F F8 FB 78 */ mr r24, r31
|
||||
/* 800CE2C8 7F F7 FB 78 */ mr r23, r31
|
||||
/* 800CE2CC 48 0B 33 75 */ bl dCam_getBody__Fv
|
||||
/* 800CE2D0 82 C3 06 8C */ lwz r22, 0x68c(r3)
|
||||
/* 800CE2D4 48 0B 33 6D */ bl dCam_getBody__Fv
|
||||
/* 800CE2D8 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */
|
||||
/* 800CE2DC 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */
|
||||
/* 800CE2E0 48 09 68 85 */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
|
||||
/* 800CE2E4 7C 16 18 00 */ cmpw r22, r3
|
||||
/* 800CE2E8 41 82 00 2C */ beq lbl_800CE314
|
||||
/* 800CE2EC 48 0B 33 55 */ bl dCam_getBody__Fv
|
||||
/* 800CE2F0 82 C3 06 8C */ lwz r22, 0x68c(r3)
|
||||
/* 800CE2F4 48 0B 33 4D */ bl dCam_getBody__Fv
|
||||
/* 800CE2F8 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */
|
||||
/* 800CE2FC 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */
|
||||
/* 800CE300 38 84 00 07 */ addi r4, r4, 7
|
||||
/* 800CE304 48 09 68 61 */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
|
||||
/* 800CE308 7C 16 18 00 */ cmpw r22, r3
|
||||
/* 800CE30C 41 82 00 08 */ beq lbl_800CE314
|
||||
/* 800CE310 3A E0 00 00 */ li r23, 0
|
||||
lbl_800CE314:
|
||||
/* 800CE314 56 E0 06 3F */ clrlwi. r0, r23, 0x18
|
||||
/* 800CE318 40 82 00 2C */ bne lbl_800CE344
|
||||
/* 800CE31C 48 0B 33 25 */ bl dCam_getBody__Fv
|
||||
/* 800CE320 82 C3 06 8C */ lwz r22, 0x68c(r3)
|
||||
/* 800CE324 48 0B 33 1D */ bl dCam_getBody__Fv
|
||||
/* 800CE328 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */
|
||||
/* 800CE32C 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */
|
||||
/* 800CE330 38 84 00 10 */ addi r4, r4, 0x10
|
||||
/* 800CE334 48 09 68 31 */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
|
||||
/* 800CE338 7C 16 18 00 */ cmpw r22, r3
|
||||
/* 800CE33C 41 82 00 08 */ beq lbl_800CE344
|
||||
/* 800CE340 3B 00 00 00 */ li r24, 0
|
||||
lbl_800CE344:
|
||||
/* 800CE344 57 00 06 3F */ clrlwi. r0, r24, 0x18
|
||||
/* 800CE348 40 82 00 2C */ bne lbl_800CE374
|
||||
/* 800CE34C 48 0B 32 F5 */ bl dCam_getBody__Fv
|
||||
/* 800CE350 82 C3 06 8C */ lwz r22, 0x68c(r3)
|
||||
/* 800CE354 48 0B 32 ED */ bl dCam_getBody__Fv
|
||||
/* 800CE358 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */
|
||||
/* 800CE35C 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */
|
||||
/* 800CE360 38 84 00 16 */ addi r4, r4, 0x16
|
||||
/* 800CE364 48 09 68 01 */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
|
||||
/* 800CE368 7C 16 18 00 */ cmpw r22, r3
|
||||
/* 800CE36C 41 82 00 08 */ beq lbl_800CE374
|
||||
/* 800CE370 3B 20 00 00 */ li r25, 0
|
||||
lbl_800CE374:
|
||||
/* 800CE374 57 20 06 3F */ clrlwi. r0, r25, 0x18
|
||||
/* 800CE378 40 82 00 2C */ bne lbl_800CE3A4
|
||||
/* 800CE37C 48 0B 32 C5 */ bl dCam_getBody__Fv
|
||||
/* 800CE380 82 C3 06 8C */ lwz r22, 0x68c(r3)
|
||||
/* 800CE384 48 0B 32 BD */ bl dCam_getBody__Fv
|
||||
/* 800CE388 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */
|
||||
/* 800CE38C 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */
|
||||
/* 800CE390 38 84 00 1D */ addi r4, r4, 0x1d
|
||||
/* 800CE394 48 09 67 D1 */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
|
||||
/* 800CE398 7C 16 18 00 */ cmpw r22, r3
|
||||
/* 800CE39C 41 82 00 08 */ beq lbl_800CE3A4
|
||||
/* 800CE3A0 3B 60 00 00 */ li r27, 0
|
||||
lbl_800CE3A4:
|
||||
/* 800CE3A4 57 60 06 3F */ clrlwi. r0, r27, 0x18
|
||||
/* 800CE3A8 40 82 00 2C */ bne lbl_800CE3D4
|
||||
/* 800CE3AC 48 0B 32 95 */ bl dCam_getBody__Fv
|
||||
/* 800CE3B0 82 C3 06 8C */ lwz r22, 0x68c(r3)
|
||||
/* 800CE3B4 48 0B 32 8D */ bl dCam_getBody__Fv
|
||||
/* 800CE3B8 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */
|
||||
/* 800CE3BC 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */
|
||||
/* 800CE3C0 38 84 00 25 */ addi r4, r4, 0x25
|
||||
/* 800CE3C4 48 09 67 A1 */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
|
||||
/* 800CE3C8 7C 16 18 00 */ cmpw r22, r3
|
||||
/* 800CE3CC 41 82 00 08 */ beq lbl_800CE3D4
|
||||
/* 800CE3D0 3B 80 00 00 */ li r28, 0
|
||||
lbl_800CE3D4:
|
||||
/* 800CE3D4 57 80 06 3F */ clrlwi. r0, r28, 0x18
|
||||
/* 800CE3D8 40 82 00 14 */ bne lbl_800CE3EC
|
||||
/* 800CE3DC 88 1A 05 6A */ lbz r0, 0x56a(r26)
|
||||
/* 800CE3E0 28 00 00 2C */ cmplwi r0, 0x2c
|
||||
/* 800CE3E4 41 82 00 08 */ beq lbl_800CE3EC
|
||||
/* 800CE3E8 3B A0 00 00 */ li r29, 0
|
||||
lbl_800CE3EC:
|
||||
/* 800CE3EC 57 A0 06 3F */ clrlwi. r0, r29, 0x18
|
||||
/* 800CE3F0 40 82 00 2C */ bne lbl_800CE41C
|
||||
/* 800CE3F4 48 0B 32 4D */ bl dCam_getBody__Fv
|
||||
/* 800CE3F8 82 C3 06 8C */ lwz r22, 0x68c(r3)
|
||||
/* 800CE3FC 48 0B 32 45 */ bl dCam_getBody__Fv
|
||||
/* 800CE400 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */
|
||||
/* 800CE404 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */
|
||||
/* 800CE408 38 84 00 2C */ addi r4, r4, 0x2c
|
||||
/* 800CE40C 48 09 67 59 */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
|
||||
/* 800CE410 7C 16 18 00 */ cmpw r22, r3
|
||||
/* 800CE414 41 82 00 08 */ beq lbl_800CE41C
|
||||
/* 800CE418 3B C0 00 00 */ li r30, 0
|
||||
lbl_800CE41C:
|
||||
/* 800CE41C 57 C0 06 3F */ clrlwi. r0, r30, 0x18
|
||||
/* 800CE420 40 82 00 2C */ bne lbl_800CE44C
|
||||
/* 800CE424 48 0B 32 1D */ bl dCam_getBody__Fv
|
||||
/* 800CE428 82 C3 06 8C */ lwz r22, 0x68c(r3)
|
||||
/* 800CE42C 48 0B 32 15 */ bl dCam_getBody__Fv
|
||||
/* 800CE430 3C 80 80 39 */ lis r4, d_a_d_a_alink__stringBase0@ha /* 0x80392094@ha */
|
||||
/* 800CE434 38 84 20 94 */ addi r4, r4, d_a_d_a_alink__stringBase0@l /* 0x80392094@l */
|
||||
/* 800CE438 38 84 00 34 */ addi r4, r4, 0x34
|
||||
/* 800CE43C 48 09 67 29 */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
|
||||
/* 800CE440 7C 16 18 00 */ cmpw r22, r3
|
||||
/* 800CE444 41 82 00 08 */ beq lbl_800CE44C
|
||||
/* 800CE448 3B E0 00 00 */ li r31, 0
|
||||
lbl_800CE44C:
|
||||
/* 800CE44C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800CE450 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 800CE454 48 29 3D B9 */ bl _restgpr_22
|
||||
/* 800CE458 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 800CE45C 7C 08 03 A6 */ mtlr r0
|
||||
/* 800CE460 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 800CE464 4E 80 00 20 */ blr
|
||||
@@ -1,70 +0,0 @@
|
||||
lbl_8010B96C:
|
||||
/* 8010B96C 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 8010B970 7C 08 02 A6 */ mflr r0
|
||||
/* 8010B974 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 8010B978 93 E1 00 3C */ stw r31, 0x3c(r1)
|
||||
/* 8010B97C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010B980 4B FA 8F 51 */ bl setJumpMode__9daAlink_cFv
|
||||
/* 8010B984 A8 1F 30 10 */ lha r0, 0x3010(r31)
|
||||
/* 8010B988 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8010B98C 41 82 00 30 */ beq lbl_8010B9BC
|
||||
/* 8010B990 38 7F 28 54 */ addi r3, r31, 0x2854
|
||||
/* 8010B994 48 05 32 B5 */ bl setActor__16daPy_actorKeep_cFv
|
||||
/* 8010B998 80 7F 28 58 */ lwz r3, 0x2858(r31)
|
||||
/* 8010B99C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8010B9A0 41 82 00 10 */ beq lbl_8010B9B0
|
||||
/* 8010B9A4 80 03 04 9C */ lwz r0, 0x49c(r3)
|
||||
/* 8010B9A8 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
|
||||
/* 8010B9AC 40 82 00 10 */ bne lbl_8010B9BC
|
||||
lbl_8010B9B0:
|
||||
/* 8010B9B0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B9B4 4B FF FD 6D */ bl checkNextHookPoint__9daAlink_cFv
|
||||
/* 8010B9B8 48 00 00 A0 */ b lbl_8010BA58
|
||||
lbl_8010B9BC:
|
||||
/* 8010B9BC 80 1F 19 9C */ lwz r0, 0x199c(r31)
|
||||
/* 8010B9C0 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
|
||||
/* 8010B9C4 41 82 00 10 */ beq lbl_8010B9D4
|
||||
/* 8010B9C8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B9CC 4B FF FD 55 */ bl checkNextHookPoint__9daAlink_cFv
|
||||
/* 8010B9D0 48 00 00 88 */ b lbl_8010BA58
|
||||
lbl_8010B9D4:
|
||||
/* 8010B9D4 38 61 00 14 */ addi r3, r1, 0x14
|
||||
/* 8010B9D8 38 9F 04 D0 */ addi r4, r31, 0x4d0
|
||||
/* 8010B9DC 38 BF 37 98 */ addi r5, r31, 0x3798
|
||||
/* 8010B9E0 48 15 B1 55 */ bl __mi__4cXyzCFRC3Vec
|
||||
/* 8010B9E4 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 8010B9E8 38 9F 38 10 */ addi r4, r31, 0x3810
|
||||
/* 8010B9EC 38 A1 00 14 */ addi r5, r1, 0x14
|
||||
/* 8010B9F0 48 15 B0 F5 */ bl __pl__4cXyzCFRC3Vec
|
||||
/* 8010B9F4 C0 01 00 08 */ lfs f0, 8(r1)
|
||||
/* 8010B9F8 D0 01 00 20 */ stfs f0, 0x20(r1)
|
||||
/* 8010B9FC C0 01 00 0C */ lfs f0, 0xc(r1)
|
||||
/* 8010BA00 D0 01 00 24 */ stfs f0, 0x24(r1)
|
||||
/* 8010BA04 C0 01 00 10 */ lfs f0, 0x10(r1)
|
||||
/* 8010BA08 D0 01 00 28 */ stfs f0, 0x28(r1)
|
||||
/* 8010BA0C 38 7F 1B B8 */ addi r3, r31, 0x1bb8
|
||||
/* 8010BA10 38 81 00 20 */ addi r4, r1, 0x20
|
||||
/* 8010BA14 38 BF 38 04 */ addi r5, r31, 0x3804
|
||||
/* 8010BA18 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8010BA1C 4B F6 C3 49 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c
|
||||
/* 8010BA20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8010BA24 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8010BA28 38 63 0F 38 */ addi r3, r3, 0xf38
|
||||
/* 8010BA2C 38 9F 1B B8 */ addi r4, r31, 0x1bb8
|
||||
/* 8010BA30 4B F6 89 85 */ bl LineCross__4cBgSFP11cBgS_LinChk
|
||||
/* 8010BA34 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 8010BA38 41 82 00 10 */ beq lbl_8010BA48
|
||||
/* 8010BA3C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BA40 4B FF FC E1 */ bl checkNextHookPoint__9daAlink_cFv
|
||||
/* 8010BA44 48 00 00 14 */ b lbl_8010BA58
|
||||
lbl_8010BA48:
|
||||
/* 8010BA48 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BA4C 4B FF FE 01 */ bl checkLandHookshotHang__9daAlink_cFv
|
||||
/* 8010BA50 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 8010BA54 7C 60 19 10 */ subfe r3, r0, r3
|
||||
lbl_8010BA58:
|
||||
/* 8010BA58 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
||||
/* 8010BA5C 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 8010BA60 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010BA64 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 8010BA68 4E 80 00 20 */ blr
|
||||
@@ -1,16 +0,0 @@
|
||||
lbl_8010BA6C:
|
||||
/* 8010BA6C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8010BA70 7C 08 02 A6 */ mflr r0
|
||||
/* 8010BA74 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8010BA78 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8010BA7C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010BA80 4B FA 8E 51 */ bl setJumpMode__9daAlink_cFv
|
||||
/* 8010BA84 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BA88 4B FF FD C5 */ bl checkLandHookshotHang__9daAlink_cFv
|
||||
/* 8010BA8C 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 8010BA90 7C 60 19 10 */ subfe r3, r0, r3
|
||||
/* 8010BA94 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8010BA98 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8010BA9C 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010BAA0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8010BAA4 4E 80 00 20 */ blr
|
||||
@@ -1,39 +0,0 @@
|
||||
lbl_800CE208:
|
||||
/* 800CE208 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 800CE20C 7C 08 02 A6 */ mflr r0
|
||||
/* 800CE210 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 800CE214 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 800CE218 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 800CE21C 81 83 06 28 */ lwz r12, 0x628(r3)
|
||||
/* 800CE220 81 8C 02 6C */ lwz r12, 0x26c(r12)
|
||||
/* 800CE224 7D 89 03 A6 */ mtctr r12
|
||||
/* 800CE228 4E 80 04 21 */ bctrl
|
||||
/* 800CE22C 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 800CE230 41 82 00 14 */ beq lbl_800CE244
|
||||
/* 800CE234 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800CE238 48 07 1E 39 */ bl loadModelDVD__9daAlink_cFv
|
||||
/* 800CE23C 38 60 00 00 */ li r3, 0
|
||||
/* 800CE240 48 00 00 40 */ b lbl_800CE280
|
||||
lbl_800CE244:
|
||||
/* 800CE244 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800CE248 81 9F 06 28 */ lwz r12, 0x628(r31)
|
||||
/* 800CE24C 81 8C 02 70 */ lwz r12, 0x270(r12)
|
||||
/* 800CE250 7D 89 03 A6 */ mtctr r12
|
||||
/* 800CE254 4E 80 04 21 */ bctrl
|
||||
/* 800CE258 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 800CE25C 41 82 00 14 */ beq lbl_800CE270
|
||||
/* 800CE260 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800CE264 48 07 20 11 */ bl loadShieldModelDVD__9daAlink_cFv
|
||||
/* 800CE268 38 60 00 00 */ li r3, 0
|
||||
/* 800CE26C 48 00 00 14 */ b lbl_800CE280
|
||||
lbl_800CE270:
|
||||
/* 800CE270 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800CE274 38 80 FF FF */ li r4, -1
|
||||
/* 800CE278 4B FF F5 35 */ bl __dt__9daAlink_cFv
|
||||
/* 800CE27C 38 60 00 01 */ li r3, 1
|
||||
lbl_800CE280:
|
||||
/* 800CE280 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 800CE284 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 800CE288 7C 08 03 A6 */ mtlr r0
|
||||
/* 800CE28C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 800CE290 4E 80 00 20 */ blr
|
||||
@@ -1,58 +0,0 @@
|
||||
lbl_8010B644:
|
||||
/* 8010B644 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8010B648 7C 08 02 A6 */ mflr r0
|
||||
/* 8010B64C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8010B650 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 8010B654 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 8010B658 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 8010B65C 7C 9F 23 79 */ or. r31, r4, r4
|
||||
/* 8010B660 41 82 00 98 */ beq lbl_8010B6F8
|
||||
/* 8010B664 38 7E 28 54 */ addi r3, r30, 0x2854
|
||||
/* 8010B668 48 05 36 51 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c
|
||||
/* 8010B66C 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 8010B670 38 9E 38 04 */ addi r4, r30, 0x3804
|
||||
/* 8010B674 38 BF 04 D0 */ addi r5, r31, 0x4d0
|
||||
/* 8010B678 48 15 B4 BD */ bl __mi__4cXyzCFRC3Vec
|
||||
/* 8010B67C C0 01 00 08 */ lfs f0, 8(r1)
|
||||
/* 8010B680 D0 1E 37 C8 */ stfs f0, 0x37c8(r30)
|
||||
/* 8010B684 C0 01 00 0C */ lfs f0, 0xc(r1)
|
||||
/* 8010B688 D0 1E 37 CC */ stfs f0, 0x37cc(r30)
|
||||
/* 8010B68C C0 01 00 10 */ lfs f0, 0x10(r1)
|
||||
/* 8010B690 D0 1E 37 D0 */ stfs f0, 0x37d0(r30)
|
||||
/* 8010B694 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 8010B698 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 8010B69C A8 1F 04 E4 */ lha r0, 0x4e4(r31)
|
||||
/* 8010B6A0 7C 00 00 D0 */ neg r0, r0
|
||||
/* 8010B6A4 7C 04 07 34 */ extsh r4, r0
|
||||
/* 8010B6A8 4B F0 0C 9D */ bl mDoMtx_XrotS__FPA4_fs
|
||||
/* 8010B6AC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 8010B6B0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 8010B6B4 A8 1F 04 E6 */ lha r0, 0x4e6(r31)
|
||||
/* 8010B6B8 7C 00 00 D0 */ neg r0, r0
|
||||
/* 8010B6BC 7C 04 07 34 */ extsh r4, r0
|
||||
/* 8010B6C0 4B F0 0D 75 */ bl mDoMtx_YrotM__FPA4_fs
|
||||
/* 8010B6C4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 8010B6C8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 8010B6CC 38 9E 37 C8 */ addi r4, r30, 0x37c8
|
||||
/* 8010B6D0 7C 85 23 78 */ mr r5, r4
|
||||
/* 8010B6D4 48 23 B7 79 */ bl PSMTXMultVecSR
|
||||
/* 8010B6D8 A8 1F 04 E6 */ lha r0, 0x4e6(r31)
|
||||
/* 8010B6DC B0 1E 30 08 */ sth r0, 0x3008(r30)
|
||||
/* 8010B6E0 80 1F 04 9C */ lwz r0, 0x49c(r31)
|
||||
/* 8010B6E4 64 00 00 10 */ oris r0, r0, 0x10
|
||||
/* 8010B6E8 90 1F 04 9C */ stw r0, 0x49c(r31)
|
||||
/* 8010B6EC 38 00 00 01 */ li r0, 1
|
||||
/* 8010B6F0 B0 1E 30 10 */ sth r0, 0x3010(r30)
|
||||
/* 8010B6F4 48 00 00 14 */ b lbl_8010B708
|
||||
lbl_8010B6F8:
|
||||
/* 8010B6F8 38 7E 28 54 */ addi r3, r30, 0x2854
|
||||
/* 8010B6FC 48 05 36 01 */ bl clearData__16daPy_actorKeep_cFv
|
||||
/* 8010B700 38 00 00 00 */ li r0, 0
|
||||
/* 8010B704 B0 1E 30 10 */ sth r0, 0x3010(r30)
|
||||
lbl_8010B708:
|
||||
/* 8010B708 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 8010B70C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 8010B710 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8010B714 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010B718 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8010B71C 4E 80 00 20 */ blr
|
||||
@@ -1,44 +0,0 @@
|
||||
lbl_8010BC08:
|
||||
/* 8010BC08 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8010BC0C 7C 08 02 A6 */ mflr r0
|
||||
/* 8010BC10 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8010BC14 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8010BC18 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010BC1C 38 80 00 C5 */ li r4, 0xc5
|
||||
/* 8010BC20 4B FB 71 85 */ bl commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC
|
||||
/* 8010BC24 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BC28 40 82 00 0C */ bne lbl_8010BC34
|
||||
/* 8010BC2C 38 60 00 00 */ li r3, 0
|
||||
/* 8010BC30 48 00 00 60 */ b lbl_8010BC90
|
||||
lbl_8010BC34:
|
||||
/* 8010BC34 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BC38 4B FA 7C CD */ bl checkZeroSpeedF__9daAlink_cCFv
|
||||
/* 8010BC3C 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 8010BC40 41 82 00 10 */ beq lbl_8010BC50
|
||||
/* 8010BC44 80 1F 31 A0 */ lwz r0, 0x31a0(r31)
|
||||
/* 8010BC48 60 00 00 01 */ ori r0, r0, 1
|
||||
/* 8010BC4C 90 1F 31 A0 */ stw r0, 0x31a0(r31)
|
||||
lbl_8010BC50:
|
||||
/* 8010BC50 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BC54 38 80 00 00 */ li r4, 0
|
||||
/* 8010BC58 4B FF D4 95 */ bl initHookshotUpperAnimeSpeed__9daAlink_cFi
|
||||
/* 8010BC5C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BC60 41 82 00 18 */ beq lbl_8010BC78
|
||||
/* 8010BC64 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BC68 3C 80 80 39 */ lis r4, m__22daAlinkHIO_hookshot_c0@ha /* 0x8038E9C0@ha */
|
||||
/* 8010BC6C 38 84 E9 C0 */ addi r4, r4, m__22daAlinkHIO_hookshot_c0@l /* 0x8038E9C0@l */
|
||||
/* 8010BC70 C0 24 00 44 */ lfs f1, 0x44(r4)
|
||||
/* 8010BC74 4B FA 2D FD */ bl setBlendAtnMoveAnime__9daAlink_cFf
|
||||
lbl_8010BC78:
|
||||
/* 8010BC78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8010BC7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8010BC80 80 03 5F 18 */ lwz r0, 0x5f18(r3)
|
||||
/* 8010BC84 60 00 40 00 */ ori r0, r0, 0x4000
|
||||
/* 8010BC88 90 03 5F 18 */ stw r0, 0x5f18(r3)
|
||||
/* 8010BC8C 38 60 00 01 */ li r3, 1
|
||||
lbl_8010BC90:
|
||||
/* 8010BC90 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8010BC94 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8010BC98 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010BC9C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8010BCA0 4E 80 00 20 */ blr
|
||||
@@ -1,64 +0,0 @@
|
||||
lbl_8010BCA4:
|
||||
/* 8010BCA4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8010BCA8 7C 08 02 A6 */ mflr r0
|
||||
/* 8010BCAC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8010BCB0 DB E1 00 10 */ stfd f31, 0x10(r1)
|
||||
/* 8010BCB4 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
|
||||
/* 8010BCB8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8010BCBC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010BCC0 4B FF D2 A5 */ bl cancelHookshotMove__9daAlink_cFv
|
||||
/* 8010BCC4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BCC8 38 80 00 00 */ li r4, 0
|
||||
/* 8010BCCC 4B FA E4 05 */ bl checkNextAction__9daAlink_cFi
|
||||
/* 8010BCD0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BCD4 40 82 00 9C */ bne lbl_8010BD70
|
||||
/* 8010BCD8 C3 E2 92 BC */ lfs f31, lit_6041(r2)
|
||||
/* 8010BCDC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BCE0 4B FA 7C 25 */ bl checkZeroSpeedF__9daAlink_cCFv
|
||||
/* 8010BCE4 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 8010BCE8 41 82 00 34 */ beq lbl_8010BD1C
|
||||
/* 8010BCEC 80 1F 31 A0 */ lwz r0, 0x31a0(r31)
|
||||
/* 8010BCF0 60 00 00 01 */ ori r0, r0, 1
|
||||
/* 8010BCF4 90 1F 31 A0 */ stw r0, 0x31a0(r31)
|
||||
/* 8010BCF8 88 1F 2F 98 */ lbz r0, 0x2f98(r31)
|
||||
/* 8010BCFC 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 8010BD00 41 82 00 28 */ beq lbl_8010BD28
|
||||
/* 8010BD04 38 00 00 02 */ li r0, 2
|
||||
/* 8010BD08 98 1F 2F 98 */ stb r0, 0x2f98(r31)
|
||||
/* 8010BD0C 3C 60 80 39 */ lis r3, m__19daAlinkHIO_basic_c0@ha /* 0x8038D664@ha */
|
||||
/* 8010BD10 38 63 D6 64 */ addi r3, r3, m__19daAlinkHIO_basic_c0@l /* 0x8038D664@l */
|
||||
/* 8010BD14 C3 E3 00 18 */ lfs f31, 0x18(r3)
|
||||
/* 8010BD18 48 00 00 10 */ b lbl_8010BD28
|
||||
lbl_8010BD1C:
|
||||
/* 8010BD1C 80 1F 31 A0 */ lwz r0, 0x31a0(r31)
|
||||
/* 8010BD20 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
|
||||
/* 8010BD24 90 1F 31 A0 */ stw r0, 0x31a0(r31)
|
||||
lbl_8010BD28:
|
||||
/* 8010BD28 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BD2C 4B FF CC ED */ bl checkHookshotWait__9daAlink_cCFv
|
||||
/* 8010BD30 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BD34 41 82 00 20 */ beq lbl_8010BD54
|
||||
/* 8010BD38 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BD3C FC 20 F8 90 */ fmr f1, f31
|
||||
/* 8010BD40 4B FA 2D 31 */ bl setBlendAtnMoveAnime__9daAlink_cFf
|
||||
/* 8010BD44 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BD48 38 80 00 00 */ li r4, 0
|
||||
/* 8010BD4C 4B FA F5 65 */ bl setBodyAngleXReadyAnime__9daAlink_cFi
|
||||
/* 8010BD50 48 00 00 20 */ b lbl_8010BD70
|
||||
lbl_8010BD54:
|
||||
/* 8010BD54 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BD58 4B FF CB 71 */ bl checkChaseHookshot__9daAlink_cFv
|
||||
/* 8010BD5C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BD60 41 82 00 10 */ beq lbl_8010BD70
|
||||
/* 8010BD64 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BD68 38 80 00 00 */ li r4, 0
|
||||
/* 8010BD6C 4B FA F5 45 */ bl setBodyAngleXReadyAnime__9daAlink_cFi
|
||||
lbl_8010BD70:
|
||||
/* 8010BD70 38 60 00 01 */ li r3, 1
|
||||
/* 8010BD74 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
|
||||
/* 8010BD78 CB E1 00 10 */ lfd f31, 0x10(r1)
|
||||
/* 8010BD7C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8010BD80 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8010BD84 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010BD88 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8010BD8C 4E 80 00 20 */ blr
|
||||
@@ -1,53 +0,0 @@
|
||||
lbl_8010BB48:
|
||||
/* 8010BB48 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8010BB4C 7C 08 02 A6 */ mflr r0
|
||||
/* 8010BB50 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8010BB54 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8010BB58 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010BB5C 4B FF CE BD */ bl checkHookshotWait__9daAlink_cCFv
|
||||
/* 8010BB60 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BB64 41 82 00 10 */ beq lbl_8010BB74
|
||||
/* 8010BB68 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BB6C 38 80 00 12 */ li r4, 0x12
|
||||
/* 8010BB70 4B FA 76 E1 */ bl setDoStatus__9daAlink_cFUc
|
||||
lbl_8010BB74:
|
||||
/* 8010BB74 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BB78 38 80 00 00 */ li r4, 0
|
||||
/* 8010BB7C 4B FA 7B B9 */ bl setShapeAngleToAtnActor__9daAlink_cFi
|
||||
/* 8010BB80 38 00 00 00 */ li r0, 0
|
||||
/* 8010BB84 98 1F 20 68 */ stb r0, 0x2068(r31)
|
||||
/* 8010BB88 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BB8C 38 80 00 00 */ li r4, 0
|
||||
/* 8010BB90 4B FA E5 41 */ bl checkNextAction__9daAlink_cFi
|
||||
/* 8010BB94 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BB98 40 82 00 58 */ bne lbl_8010BBF0
|
||||
/* 8010BB9C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BBA0 4B FF CE 79 */ bl checkHookshotWait__9daAlink_cCFv
|
||||
/* 8010BBA4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BBA8 41 82 00 34 */ beq lbl_8010BBDC
|
||||
/* 8010BBAC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BBB0 4B FC 2C F1 */ bl setBodyAngleToCamera__9daAlink_cFv
|
||||
/* 8010BBB4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010BBB8 41 82 00 0C */ beq lbl_8010BBC4
|
||||
/* 8010BBBC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010BBC0 4B FF D1 F5 */ bl setHookshotSight__9daAlink_cFv
|
||||
lbl_8010BBC4:
|
||||
/* 8010BBC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8010BBC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8010BBCC 80 03 5F 18 */ lwz r0, 0x5f18(r3)
|
||||
/* 8010BBD0 54 00 03 98 */ rlwinm r0, r0, 0, 0xe, 0xc
|
||||
/* 8010BBD4 90 03 5F 18 */ stw r0, 0x5f18(r3)
|
||||
/* 8010BBD8 48 00 00 18 */ b lbl_8010BBF0
|
||||
lbl_8010BBDC:
|
||||
/* 8010BBDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8010BBE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8010BBE4 80 03 5F 18 */ lwz r0, 0x5f18(r3)
|
||||
/* 8010BBE8 64 00 00 04 */ oris r0, r0, 4
|
||||
/* 8010BBEC 90 03 5F 18 */ stw r0, 0x5f18(r3)
|
||||
lbl_8010BBF0:
|
||||
/* 8010BBF0 38 60 00 01 */ li r3, 1
|
||||
/* 8010BBF4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8010BBF8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8010BBFC 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010BC00 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8010BC04 4E 80 00 20 */ blr
|
||||
@@ -1,37 +0,0 @@
|
||||
lbl_8010B2DC:
|
||||
/* 8010B2DC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8010B2E0 7C 08 02 A6 */ mflr r0
|
||||
/* 8010B2E4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8010B2E8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8010B2EC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010B2F0 4B FF D5 B1 */ bl checkHookshotRoofLv7Boss__9daAlink_cFv
|
||||
/* 8010B2F4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8010B2F8 41 82 00 20 */ beq lbl_8010B318
|
||||
/* 8010B2FC A8 1F 30 20 */ lha r0, 0x3020(r31)
|
||||
/* 8010B300 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8010B304 40 82 00 0C */ bne lbl_8010B310
|
||||
/* 8010B308 38 80 01 71 */ li r4, 0x171
|
||||
/* 8010B30C 48 00 00 30 */ b lbl_8010B33C
|
||||
lbl_8010B310:
|
||||
/* 8010B310 38 80 01 70 */ li r4, 0x170
|
||||
/* 8010B314 48 00 00 28 */ b lbl_8010B33C
|
||||
lbl_8010B318:
|
||||
/* 8010B318 A8 1F 30 20 */ lha r0, 0x3020(r31)
|
||||
/* 8010B31C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8010B320 38 00 01 2E */ li r0, 0x12e
|
||||
/* 8010B324 40 82 00 08 */ bne lbl_8010B32C
|
||||
/* 8010B328 38 00 01 2F */ li r0, 0x12f
|
||||
lbl_8010B32C:
|
||||
/* 8010B32C 7C 04 03 78 */ mr r4, r0
|
||||
/* 8010B330 80 1F 31 A0 */ lwz r0, 0x31a0(r31)
|
||||
/* 8010B334 60 00 01 00 */ ori r0, r0, 0x100
|
||||
/* 8010B338 90 1F 31 A0 */ stw r0, 0x31a0(r31)
|
||||
lbl_8010B33C:
|
||||
/* 8010B33C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8010B340 C0 22 93 14 */ lfs f1, lit_7307(r2)
|
||||
/* 8010B344 4B FA 1C 6D */ bl setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf
|
||||
/* 8010B348 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8010B34C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8010B350 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010B354 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8010B358 4E 80 00 20 */ blr
|
||||
@@ -1,82 +0,0 @@
|
||||
lbl_80109AAC:
|
||||
/* 80109AAC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80109AB0 7C 08 02 A6 */ mflr r0
|
||||
/* 80109AB4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80109AB8 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80109ABC 48 25 87 21 */ bl _savegpr_29
|
||||
/* 80109AC0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80109AC4 83 C3 28 50 */ lwz r30, 0x2850(r3)
|
||||
/* 80109AC8 A8 03 30 1A */ lha r0, 0x301a(r3)
|
||||
/* 80109ACC 2C 00 00 05 */ cmpwi r0, 5
|
||||
/* 80109AD0 40 82 00 4C */ bne lbl_80109B1C
|
||||
/* 80109AD4 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 80109AD8 41 82 00 38 */ beq lbl_80109B10
|
||||
/* 80109ADC 80 1E 04 9C */ lwz r0, 0x49c(r30)
|
||||
/* 80109AE0 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
|
||||
/* 80109AE4 41 82 00 2C */ beq lbl_80109B10
|
||||
/* 80109AE8 38 7E 04 D0 */ addi r3, r30, 0x4d0
|
||||
/* 80109AEC 4B F0 32 79 */ bl transS__14mDoMtx_stack_cFRC4cXyz
|
||||
/* 80109AF0 38 7E 04 E4 */ addi r3, r30, 0x4e4
|
||||
/* 80109AF4 4B F0 34 51 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
|
||||
/* 80109AF8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 80109AFC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 80109B00 38 9F 37 F8 */ addi r4, r31, 0x37f8
|
||||
/* 80109B04 38 BF 37 EC */ addi r5, r31, 0x37ec
|
||||
/* 80109B08 48 23 D2 65 */ bl PSMTXMultVec
|
||||
/* 80109B0C 48 00 00 B8 */ b lbl_80109BC4
|
||||
lbl_80109B10:
|
||||
/* 80109B10 38 00 00 06 */ li r0, 6
|
||||
/* 80109B14 B0 1F 30 1A */ sth r0, 0x301a(r31)
|
||||
/* 80109B18 48 00 00 AC */ b lbl_80109BC4
|
||||
lbl_80109B1C:
|
||||
/* 80109B1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80109B20 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80109B24 3B A3 0F 38 */ addi r29, r3, 0xf38
|
||||
/* 80109B28 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80109B2C 38 9F 1E 2C */ addi r4, r31, 0x1e2c
|
||||
/* 80109B30 4B F6 AB 31 */ bl ChkPolySafe__4cBgSFRC13cBgS_PolyInfo
|
||||
/* 80109B34 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 80109B38 41 82 00 2C */ beq lbl_80109B64
|
||||
/* 80109B3C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80109B40 38 9F 1E 2C */ addi r4, r31, 0x1e2c
|
||||
/* 80109B44 4B FF EC 6D */ bl checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo
|
||||
/* 80109B48 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80109B4C 41 82 00 18 */ beq lbl_80109B64
|
||||
/* 80109B50 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 80109B54 41 82 00 1C */ beq lbl_80109B70
|
||||
/* 80109B58 80 1E 04 9C */ lwz r0, 0x49c(r30)
|
||||
/* 80109B5C 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
|
||||
/* 80109B60 40 82 00 10 */ bne lbl_80109B70
|
||||
lbl_80109B64:
|
||||
/* 80109B64 38 00 00 06 */ li r0, 6
|
||||
/* 80109B68 B0 1F 30 1A */ sth r0, 0x301a(r31)
|
||||
/* 80109B6C 48 00 00 58 */ b lbl_80109BC4
|
||||
lbl_80109B70:
|
||||
/* 80109B70 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80109B74 38 9F 1E 2C */ addi r4, r31, 0x1e2c
|
||||
/* 80109B78 4B F6 AF 45 */ bl ChkMoveBG__4dBgSFRC13cBgS_PolyInfo
|
||||
/* 80109B7C 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 80109B80 41 82 00 44 */ beq lbl_80109BC4
|
||||
/* 80109B84 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80109B88 A8 9F 30 1C */ lha r4, 0x301c(r31)
|
||||
/* 80109B8C A8 BF 30 1E */ lha r5, 0x301e(r31)
|
||||
/* 80109B90 38 C0 00 00 */ li r6, 0
|
||||
/* 80109B94 48 15 D8 61 */ bl __ct__5csXyzFsss
|
||||
/* 80109B98 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80109B9C 38 9F 1E 2C */ addi r4, r31, 0x1e2c
|
||||
/* 80109BA0 38 A0 00 01 */ li r5, 1
|
||||
/* 80109BA4 38 DF 37 EC */ addi r6, r31, 0x37ec
|
||||
/* 80109BA8 38 E0 00 00 */ li r7, 0
|
||||
/* 80109BAC 39 01 00 08 */ addi r8, r1, 8
|
||||
/* 80109BB0 4B F6 BC D1 */ bl MoveBgTransPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz
|
||||
/* 80109BB4 A8 01 00 08 */ lha r0, 8(r1)
|
||||
/* 80109BB8 B0 1F 30 1C */ sth r0, 0x301c(r31)
|
||||
/* 80109BBC A8 01 00 0A */ lha r0, 0xa(r1)
|
||||
/* 80109BC0 B0 1F 30 1E */ sth r0, 0x301e(r31)
|
||||
lbl_80109BC4:
|
||||
/* 80109BC4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80109BC8 48 25 86 61 */ bl _restgpr_29
|
||||
/* 80109BCC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80109BD0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80109BD4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80109BD8 4E 80 00 20 */ blr
|
||||
@@ -1,22 +0,0 @@
|
||||
lbl_8010B35C:
|
||||
/* 8010B35C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8010B360 7C 08 02 A6 */ mflr r0
|
||||
/* 8010B364 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8010B368 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 8010B36C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8010B370 A8 03 30 20 */ lha r0, 0x3020(r3)
|
||||
/* 8010B374 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8010B378 38 80 01 38 */ li r4, 0x138
|
||||
/* 8010B37C 40 82 00 08 */ bne lbl_8010B384
|
||||
/* 8010B380 38 80 01 39 */ li r4, 0x139
|
||||
lbl_8010B384:
|
||||
/* 8010B384 C0 22 93 14 */ lfs f1, lit_7307(r2)
|
||||
/* 8010B388 4B FA 1C 29 */ bl setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf
|
||||
/* 8010B38C 80 1F 31 A0 */ lwz r0, 0x31a0(r31)
|
||||
/* 8010B390 60 00 01 00 */ ori r0, r0, 0x100
|
||||
/* 8010B394 90 1F 31 A0 */ stw r0, 0x31a0(r31)
|
||||
/* 8010B398 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8010B39C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8010B3A0 7C 08 03 A6 */ mtlr r0
|
||||
/* 8010B3A4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8010B3A8 4E 80 00 20 */ blr
|
||||
@@ -1,111 +0,0 @@
|
||||
lbl_8015E87C:
|
||||
/* 8015E87C 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 8015E880 7C 08 02 A6 */ mflr r0
|
||||
/* 8015E884 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 8015E888 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 8015E88C 48 20 39 51 */ bl _savegpr_29
|
||||
/* 8015E890 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 8015E894 7C 9E 23 78 */ mr r30, r4
|
||||
/* 8015E898 48 00 10 39 */ bl getThrowBoomerangActor__9daPy_py_cFv
|
||||
/* 8015E89C 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 8015E8A0 41 82 01 54 */ beq lbl_8015E9F4
|
||||
/* 8015E8A4 C0 3E 00 04 */ lfs f1, 4(r30)
|
||||
/* 8015E8A8 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
|
||||
/* 8015E8AC EC 01 00 28 */ fsubs f0, f1, f0
|
||||
/* 8015E8B0 D0 1D 00 04 */ stfs f0, 4(r29)
|
||||
/* 8015E8B4 C0 5F 04 D8 */ lfs f2, 0x4d8(r31)
|
||||
/* 8015E8B8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
|
||||
/* 8015E8BC D0 01 00 0C */ stfs f0, 0xc(r1)
|
||||
/* 8015E8C0 C0 22 9C 00 */ lfs f1, lit_4215(r2)
|
||||
/* 8015E8C4 D0 21 00 10 */ stfs f1, 0x10(r1)
|
||||
/* 8015E8C8 D0 41 00 14 */ stfs f2, 0x14(r1)
|
||||
/* 8015E8CC C0 5E 00 08 */ lfs f2, 8(r30)
|
||||
/* 8015E8D0 C0 1E 00 00 */ lfs f0, 0(r30)
|
||||
/* 8015E8D4 D0 01 00 18 */ stfs f0, 0x18(r1)
|
||||
/* 8015E8D8 D0 21 00 1C */ stfs f1, 0x1c(r1)
|
||||
/* 8015E8DC D0 41 00 20 */ stfs f2, 0x20(r1)
|
||||
/* 8015E8E0 38 61 00 0C */ addi r3, r1, 0xc
|
||||
/* 8015E8E4 38 81 00 18 */ addi r4, r1, 0x18
|
||||
/* 8015E8E8 48 1E 8A B5 */ bl PSVECSquareDistance
|
||||
/* 8015E8EC C0 02 9C 00 */ lfs f0, lit_4215(r2)
|
||||
/* 8015E8F0 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 8015E8F4 40 81 00 58 */ ble lbl_8015E94C
|
||||
/* 8015E8F8 FC 00 08 34 */ frsqrte f0, f1
|
||||
/* 8015E8FC C8 82 9C 30 */ lfd f4, lit_4379(r2)
|
||||
/* 8015E900 FC 44 00 32 */ fmul f2, f4, f0
|
||||
/* 8015E904 C8 62 9C 38 */ lfd f3, lit_4380(r2)
|
||||
/* 8015E908 FC 00 00 32 */ fmul f0, f0, f0
|
||||
/* 8015E90C FC 01 00 32 */ fmul f0, f1, f0
|
||||
/* 8015E910 FC 03 00 28 */ fsub f0, f3, f0
|
||||
/* 8015E914 FC 02 00 32 */ fmul f0, f2, f0
|
||||
/* 8015E918 FC 44 00 32 */ fmul f2, f4, f0
|
||||
/* 8015E91C FC 00 00 32 */ fmul f0, f0, f0
|
||||
/* 8015E920 FC 01 00 32 */ fmul f0, f1, f0
|
||||
/* 8015E924 FC 03 00 28 */ fsub f0, f3, f0
|
||||
/* 8015E928 FC 02 00 32 */ fmul f0, f2, f0
|
||||
/* 8015E92C FC 44 00 32 */ fmul f2, f4, f0
|
||||
/* 8015E930 FC 00 00 32 */ fmul f0, f0, f0
|
||||
/* 8015E934 FC 01 00 32 */ fmul f0, f1, f0
|
||||
/* 8015E938 FC 03 00 28 */ fsub f0, f3, f0
|
||||
/* 8015E93C FC 02 00 32 */ fmul f0, f2, f0
|
||||
/* 8015E940 FC 21 00 32 */ fmul f1, f1, f0
|
||||
/* 8015E944 FC 20 08 18 */ frsp f1, f1
|
||||
/* 8015E948 48 00 00 88 */ b lbl_8015E9D0
|
||||
lbl_8015E94C:
|
||||
/* 8015E94C C8 02 9C 40 */ lfd f0, lit_4381(r2)
|
||||
/* 8015E950 FC 01 00 40 */ fcmpo cr0, f1, f0
|
||||
/* 8015E954 40 80 00 10 */ bge lbl_8015E964
|
||||
/* 8015E958 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
||||
/* 8015E95C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
||||
/* 8015E960 48 00 00 70 */ b lbl_8015E9D0
|
||||
lbl_8015E964:
|
||||
/* 8015E964 D0 21 00 08 */ stfs f1, 8(r1)
|
||||
/* 8015E968 80 81 00 08 */ lwz r4, 8(r1)
|
||||
/* 8015E96C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
|
||||
/* 8015E970 3C 00 7F 80 */ lis r0, 0x7f80
|
||||
/* 8015E974 7C 03 00 00 */ cmpw r3, r0
|
||||
/* 8015E978 41 82 00 14 */ beq lbl_8015E98C
|
||||
/* 8015E97C 40 80 00 40 */ bge lbl_8015E9BC
|
||||
/* 8015E980 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8015E984 41 82 00 20 */ beq lbl_8015E9A4
|
||||
/* 8015E988 48 00 00 34 */ b lbl_8015E9BC
|
||||
lbl_8015E98C:
|
||||
/* 8015E98C 54 80 02 7F */ clrlwi. r0, r4, 9
|
||||
/* 8015E990 41 82 00 0C */ beq lbl_8015E99C
|
||||
/* 8015E994 38 00 00 01 */ li r0, 1
|
||||
/* 8015E998 48 00 00 28 */ b lbl_8015E9C0
|
||||
lbl_8015E99C:
|
||||
/* 8015E99C 38 00 00 02 */ li r0, 2
|
||||
/* 8015E9A0 48 00 00 20 */ b lbl_8015E9C0
|
||||
lbl_8015E9A4:
|
||||
/* 8015E9A4 54 80 02 7F */ clrlwi. r0, r4, 9
|
||||
/* 8015E9A8 41 82 00 0C */ beq lbl_8015E9B4
|
||||
/* 8015E9AC 38 00 00 05 */ li r0, 5
|
||||
/* 8015E9B0 48 00 00 10 */ b lbl_8015E9C0
|
||||
lbl_8015E9B4:
|
||||
/* 8015E9B4 38 00 00 03 */ li r0, 3
|
||||
/* 8015E9B8 48 00 00 08 */ b lbl_8015E9C0
|
||||
lbl_8015E9BC:
|
||||
/* 8015E9BC 38 00 00 04 */ li r0, 4
|
||||
lbl_8015E9C0:
|
||||
/* 8015E9C0 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 8015E9C4 40 82 00 0C */ bne lbl_8015E9D0
|
||||
/* 8015E9C8 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
|
||||
/* 8015E9CC C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
|
||||
lbl_8015E9D0:
|
||||
/* 8015E9D0 D0 3D 00 08 */ stfs f1, 8(r29)
|
||||
/* 8015E9D4 C0 3E 00 00 */ lfs f1, 0(r30)
|
||||
/* 8015E9D8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
|
||||
/* 8015E9DC EC 21 00 28 */ fsubs f1, f1, f0
|
||||
/* 8015E9E0 C0 5E 00 08 */ lfs f2, 8(r30)
|
||||
/* 8015E9E4 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
|
||||
/* 8015E9E8 EC 42 00 28 */ fsubs f2, f2, f0
|
||||
/* 8015E9EC 48 10 8C 89 */ bl cM_atan2s__Fff
|
||||
/* 8015E9F0 B0 7D 00 02 */ sth r3, 2(r29)
|
||||
lbl_8015E9F4:
|
||||
/* 8015E9F4 39 61 00 40 */ addi r11, r1, 0x40
|
||||
/* 8015E9F8 48 20 38 31 */ bl _restgpr_29
|
||||
/* 8015E9FC 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 8015EA00 7C 08 03 A6 */ mtlr r0
|
||||
/* 8015EA04 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 8015EA08 4E 80 00 20 */ blr
|
||||
@@ -1,39 +0,0 @@
|
||||
lbl_8015F814:
|
||||
/* 8015F814 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8015F818 7C 08 02 A6 */ mflr r0
|
||||
/* 8015F81C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8015F820 81 83 06 28 */ lwz r12, 0x628(r3)
|
||||
/* 8015F824 81 8C 01 9C */ lwz r12, 0x19c(r12)
|
||||
/* 8015F828 7D 89 03 A6 */ mtctr r12
|
||||
/* 8015F82C 4E 80 04 21 */ bctrl
|
||||
/* 8015F830 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8015F834 41 82 00 54 */ beq lbl_8015F888
|
||||
/* 8015F838 38 80 00 00 */ li r4, 0
|
||||
/* 8015F83C 38 A0 00 01 */ li r5, 1
|
||||
/* 8015F840 88 03 05 71 */ lbz r0, 0x571(r3)
|
||||
/* 8015F844 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
||||
/* 8015F848 40 82 00 18 */ bne lbl_8015F860
|
||||
/* 8015F84C C0 22 9C 00 */ lfs f1, lit_4215(r2)
|
||||
/* 8015F850 C0 03 05 78 */ lfs f0, 0x578(r3)
|
||||
/* 8015F854 FC 01 00 00 */ fcmpu cr0, f1, f0
|
||||
/* 8015F858 41 82 00 08 */ beq lbl_8015F860
|
||||
/* 8015F85C 7C 85 23 78 */ mr r5, r4
|
||||
lbl_8015F860:
|
||||
/* 8015F860 54 A0 06 3F */ clrlwi. r0, r5, 0x18
|
||||
/* 8015F864 40 82 00 14 */ bne lbl_8015F878
|
||||
/* 8015F868 88 03 0A 6F */ lbz r0, 0xa6f(r3)
|
||||
/* 8015F86C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8015F870 40 82 00 08 */ bne lbl_8015F878
|
||||
/* 8015F874 38 80 00 01 */ li r4, 1
|
||||
lbl_8015F878:
|
||||
/* 8015F878 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 8015F87C 41 82 00 0C */ beq lbl_8015F888
|
||||
/* 8015F880 38 60 00 01 */ li r3, 1
|
||||
/* 8015F884 48 00 00 08 */ b lbl_8015F88C
|
||||
lbl_8015F888:
|
||||
/* 8015F888 38 60 00 00 */ li r3, 0
|
||||
lbl_8015F88C:
|
||||
/* 8015F88C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 8015F890 7C 08 03 A6 */ mtlr r0
|
||||
/* 8015F894 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8015F898 4E 80 00 20 */ blr
|
||||
@@ -1,88 +0,0 @@
|
||||
lbl_8015F1A0:
|
||||
/* 8015F1A0 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 8015F1A4 7C 08 02 A6 */ mflr r0
|
||||
/* 8015F1A8 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
/* 8015F1AC 93 E1 00 3C */ stw r31, 0x3c(r1)
|
||||
/* 8015F1B0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8015F1B4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 8015F1B8 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 8015F1BC 48 1B 15 81 */ bl reinitGX__6J3DSysFv
|
||||
/* 8015F1C0 38 60 00 00 */ li r3, 0
|
||||
/* 8015F1C4 48 1F FF 11 */ bl GXSetNumIndStages
|
||||
/* 8015F1C8 48 1F C3 C5 */ bl GXClearVtxDesc
|
||||
/* 8015F1CC 38 60 00 09 */ li r3, 9
|
||||
/* 8015F1D0 38 80 00 01 */ li r4, 1
|
||||
/* 8015F1D4 48 1F BC E5 */ bl GXSetVtxDesc
|
||||
/* 8015F1D8 38 60 00 0D */ li r3, 0xd
|
||||
/* 8015F1DC 38 80 00 01 */ li r4, 1
|
||||
/* 8015F1E0 48 1F BC D9 */ bl GXSetVtxDesc
|
||||
/* 8015F1E4 38 60 00 00 */ li r3, 0
|
||||
/* 8015F1E8 38 80 00 09 */ li r4, 9
|
||||
/* 8015F1EC 38 A0 00 01 */ li r5, 1
|
||||
/* 8015F1F0 38 C0 00 01 */ li r6, 1
|
||||
/* 8015F1F4 38 E0 00 00 */ li r7, 0
|
||||
/* 8015F1F8 48 1F C3 CD */ bl GXSetVtxAttrFmt
|
||||
/* 8015F1FC 38 60 00 00 */ li r3, 0
|
||||
/* 8015F200 38 80 00 0D */ li r4, 0xd
|
||||
/* 8015F204 38 A0 00 01 */ li r5, 1
|
||||
/* 8015F208 38 C0 00 00 */ li r6, 0
|
||||
/* 8015F20C 38 E0 00 00 */ li r7, 0
|
||||
/* 8015F210 48 1F C3 B5 */ bl GXSetVtxAttrFmt
|
||||
/* 8015F214 80 02 9C 7C */ lwz r0, lit_4669(r2)
|
||||
/* 8015F218 90 01 00 10 */ stw r0, 0x10(r1)
|
||||
/* 8015F21C 80 02 9C 78 */ lwz r0, lit_4668(r2)
|
||||
/* 8015F220 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 8015F224 38 60 00 01 */ li r3, 1
|
||||
/* 8015F228 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 8015F22C 48 20 01 51 */ bl GXSetTevColor
|
||||
/* 8015F230 80 01 00 10 */ lwz r0, 0x10(r1)
|
||||
/* 8015F234 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 8015F238 38 60 00 02 */ li r3, 2
|
||||
/* 8015F23C 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 8015F240 48 20 01 3D */ bl GXSetTevColor
|
||||
/* 8015F244 81 3F 00 44 */ lwz r9, 0x44(r31)
|
||||
/* 8015F248 88 09 00 18 */ lbz r0, 0x18(r9)
|
||||
/* 8015F24C 20 00 00 01 */ subfic r0, r0, 1
|
||||
/* 8015F250 54 0A 0F FE */ srwi r10, r0, 0x1f
|
||||
/* 8015F254 38 61 00 14 */ addi r3, r1, 0x14
|
||||
/* 8015F258 80 9F 00 48 */ lwz r4, 0x48(r31)
|
||||
/* 8015F25C A0 A9 00 02 */ lhz r5, 2(r9)
|
||||
/* 8015F260 A0 C9 00 04 */ lhz r6, 4(r9)
|
||||
/* 8015F264 88 E9 00 00 */ lbz r7, 0(r9)
|
||||
/* 8015F268 89 09 00 06 */ lbz r8, 6(r9)
|
||||
/* 8015F26C 89 29 00 07 */ lbz r9, 7(r9)
|
||||
/* 8015F270 48 1F EB D1 */ bl GXInitTexObj
|
||||
/* 8015F274 38 61 00 14 */ addi r3, r1, 0x14
|
||||
/* 8015F278 38 80 00 01 */ li r4, 1
|
||||
/* 8015F27C 38 A0 00 01 */ li r5, 1
|
||||
/* 8015F280 C0 22 9C 00 */ lfs f1, lit_4215(r2)
|
||||
/* 8015F284 FC 40 08 90 */ fmr f2, f1
|
||||
/* 8015F288 FC 60 08 90 */ fmr f3, f1
|
||||
/* 8015F28C 38 C0 00 00 */ li r6, 0
|
||||
/* 8015F290 38 E0 00 00 */ li r7, 0
|
||||
/* 8015F294 39 00 00 00 */ li r8, 0
|
||||
/* 8015F298 48 1F EE 3D */ bl GXInitTexObjLOD
|
||||
/* 8015F29C 38 61 00 14 */ addi r3, r1, 0x14
|
||||
/* 8015F2A0 38 80 00 00 */ li r4, 0
|
||||
/* 8015F2A4 48 1F F1 71 */ bl GXLoadTexObj
|
||||
/* 8015F2A8 38 7F 00 14 */ addi r3, r31, 0x14
|
||||
/* 8015F2AC 38 80 00 00 */ li r4, 0
|
||||
/* 8015F2B0 48 20 0F 9D */ bl GXLoadPosMtxImm
|
||||
/* 8015F2B4 38 60 00 00 */ li r3, 0
|
||||
/* 8015F2B8 48 20 10 35 */ bl GXSetCurrentMtx
|
||||
/* 8015F2BC 38 60 00 00 */ li r3, 0
|
||||
/* 8015F2C0 38 80 00 00 */ li r4, 0
|
||||
/* 8015F2C4 38 A0 00 00 */ li r5, 0
|
||||
/* 8015F2C8 38 C0 00 FF */ li r6, 0xff
|
||||
/* 8015F2CC 48 20 04 29 */ bl GXSetTevOrder
|
||||
/* 8015F2D0 3C 60 80 3C */ lis r3, l_sightDL@ha /* 0x803BA0C0@ha */
|
||||
/* 8015F2D4 38 63 A0 C0 */ addi r3, r3, l_sightDL@l /* 0x803BA0C0@l */
|
||||
/* 8015F2D8 38 80 00 80 */ li r4, 0x80
|
||||
/* 8015F2DC 48 20 0C 15 */ bl GXCallDisplayList
|
||||
/* 8015F2E0 38 00 00 00 */ li r0, 0
|
||||
/* 8015F2E4 90 0D 90 50 */ stw r0, sOldVcdVatCmd__8J3DShape(r13)
|
||||
/* 8015F2E8 83 E1 00 3C */ lwz r31, 0x3c(r1)
|
||||
/* 8015F2EC 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 8015F2F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 8015F2F4 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 8015F2F8 4E 80 00 20 */ blr
|
||||
@@ -1,49 +0,0 @@
|
||||
lbl_8015F55C:
|
||||
/* 8015F55C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8015F560 7C 08 02 A6 */ mflr r0
|
||||
/* 8015F564 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8015F568 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8015F56C 48 20 2C 71 */ bl _savegpr_29
|
||||
/* 8015F570 3B E0 00 00 */ li r31, 0
|
||||
/* 8015F574 7F FE FB 78 */ mr r30, r31
|
||||
/* 8015F578 80 03 04 9C */ lwz r0, 0x49c(r3)
|
||||
/* 8015F57C 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12
|
||||
/* 8015F580 41 82 00 40 */ beq lbl_8015F5C0
|
||||
/* 8015F584 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 8015F588 41 82 00 0C */ beq lbl_8015F594
|
||||
/* 8015F58C 83 A3 00 04 */ lwz r29, 4(r3)
|
||||
/* 8015F590 48 00 00 08 */ b lbl_8015F598
|
||||
lbl_8015F594:
|
||||
/* 8015F594 3B A0 FF FF */ li r29, -1
|
||||
lbl_8015F598:
|
||||
/* 8015F598 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8015F59C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8015F5A0 80 63 5D AC */ lwz r3, 0x5dac(r3)
|
||||
/* 8015F5A4 81 83 06 28 */ lwz r12, 0x628(r3)
|
||||
/* 8015F5A8 81 8C 00 FC */ lwz r12, 0xfc(r12)
|
||||
/* 8015F5AC 7D 89 03 A6 */ mtctr r12
|
||||
/* 8015F5B0 4E 80 04 21 */ bctrl
|
||||
/* 8015F5B4 7C 03 E8 40 */ cmplw r3, r29
|
||||
/* 8015F5B8 40 82 00 08 */ bne lbl_8015F5C0
|
||||
/* 8015F5BC 3B C0 00 01 */ li r30, 1
|
||||
lbl_8015F5C0:
|
||||
/* 8015F5C0 57 C0 06 3F */ clrlwi. r0, r30, 0x18
|
||||
/* 8015F5C4 41 82 00 2C */ beq lbl_8015F5F0
|
||||
/* 8015F5C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 8015F5CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8015F5D0 88 03 5D B0 */ lbz r0, 0x5db0(r3)
|
||||
/* 8015F5D4 7C 00 07 74 */ extsb r0, r0
|
||||
/* 8015F5D8 1C 00 00 38 */ mulli r0, r0, 0x38
|
||||
/* 8015F5DC 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 8015F5E0 80 03 5D 7C */ lwz r0, 0x5d7c(r3)
|
||||
/* 8015F5E4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
||||
/* 8015F5E8 41 82 00 08 */ beq lbl_8015F5F0
|
||||
/* 8015F5EC 3B E0 00 01 */ li r31, 1
|
||||
lbl_8015F5F0:
|
||||
/* 8015F5F0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 8015F5F4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8015F5F8 48 20 2C 31 */ bl _restgpr_29
|
||||
/* 8015F5FC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8015F600 7C 08 03 A6 */ mtlr r0
|
||||
/* 8015F604 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8015F608 4E 80 00 20 */ blr
|
||||
@@ -1,23 +0,0 @@
|
||||
lbl_804D60CC:
|
||||
/* 804D60CC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D60D0 7C 08 02 A6 */ mflr r0
|
||||
/* 804D60D4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D60D8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 804D60DC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 804D60E0 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 804D60E4 7C 9F 23 78 */ mr r31, r4
|
||||
/* 804D60E8 41 82 00 1C */ beq lbl_804D6104
|
||||
/* 804D60EC 38 80 00 00 */ li r4, 0
|
||||
/* 804D60F0 4B B4 2B 9D */ bl __dt__10fopAc_ac_cFv
|
||||
/* 804D60F4 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 804D60F8 40 81 00 0C */ ble lbl_804D6104
|
||||
/* 804D60FC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D6100 4B DF 8C 3D */ bl __dl__FPv
|
||||
lbl_804D6104:
|
||||
/* 804D6104 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D6108 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 804D610C 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 804D6110 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D6114 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D6118 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D611C 4E 80 00 20 */ blr
|
||||
@@ -1,49 +0,0 @@
|
||||
lbl_804D5EBC:
|
||||
/* 804D5EBC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 804D5EC0 7C 08 02 A6 */ mflr r0
|
||||
/* 804D5EC4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 804D5EC8 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 804D5ECC 4B E8 C3 09 */ bl _savegpr_27
|
||||
/* 804D5ED0 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 804D5ED4 4B FF FF 6D */ bl getTopSw__10daAndsw2_cFv
|
||||
/* 804D5ED8 54 7E 06 3E */ clrlwi r30, r3, 0x18
|
||||
/* 804D5EDC 7F 63 DB 78 */ mr r3, r27
|
||||
/* 804D5EE0 4B FF FF 55 */ bl getNum__10daAndsw2_cFv
|
||||
/* 804D5EE4 54 7D 06 3E */ clrlwi r29, r3, 0x18
|
||||
/* 804D5EE8 2C 1D 00 FF */ cmpwi r29, 0xff
|
||||
/* 804D5EEC 41 82 00 14 */ beq lbl_804D5F00
|
||||
/* 804D5EF0 2C 1D 00 00 */ cmpwi r29, 0
|
||||
/* 804D5EF4 41 82 00 0C */ beq lbl_804D5F00
|
||||
/* 804D5EF8 2C 1E 00 FF */ cmpwi r30, 0xff
|
||||
/* 804D5EFC 40 82 00 0C */ bne lbl_804D5F08
|
||||
lbl_804D5F00:
|
||||
/* 804D5F00 38 60 00 00 */ li r3, 0
|
||||
/* 804D5F04 48 00 00 48 */ b lbl_804D5F4C
|
||||
lbl_804D5F08:
|
||||
/* 804D5F08 3B 80 00 00 */ li r28, 0
|
||||
/* 804D5F0C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D5F10 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D5F14 48 00 00 2C */ b lbl_804D5F40
|
||||
lbl_804D5F18:
|
||||
/* 804D5F18 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D5F1C 7C 9E E2 14 */ add r4, r30, r28
|
||||
/* 804D5F20 88 1B 04 E2 */ lbz r0, 0x4e2(r27)
|
||||
/* 804D5F24 7C 05 07 74 */ extsb r5, r0
|
||||
/* 804D5F28 4B B5 F4 39 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 804D5F2C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D5F30 40 82 00 0C */ bne lbl_804D5F3C
|
||||
/* 804D5F34 38 60 00 00 */ li r3, 0
|
||||
/* 804D5F38 48 00 00 14 */ b lbl_804D5F4C
|
||||
lbl_804D5F3C:
|
||||
/* 804D5F3C 3B 9C 00 01 */ addi r28, r28, 1
|
||||
lbl_804D5F40:
|
||||
/* 804D5F40 7C 1C E8 00 */ cmpw r28, r29
|
||||
/* 804D5F44 41 80 FF D4 */ blt lbl_804D5F18
|
||||
/* 804D5F48 38 60 00 01 */ li r3, 1
|
||||
lbl_804D5F4C:
|
||||
/* 804D5F4C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 804D5F50 4B E8 C2 D1 */ bl _restgpr_27
|
||||
/* 804D5F54 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 804D5F58 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D5F5C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 804D5F60 4E 80 00 20 */ blr
|
||||
@@ -1,49 +0,0 @@
|
||||
lbl_804D6024:
|
||||
/* 804D6024 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 804D6028 7C 08 02 A6 */ mflr r0
|
||||
/* 804D602C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 804D6030 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 804D6034 4B E8 C1 A1 */ bl _savegpr_27
|
||||
/* 804D6038 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 804D603C 4B FF FE 05 */ bl getTopSw__10daAndsw2_cFv
|
||||
/* 804D6040 54 7E 06 3E */ clrlwi r30, r3, 0x18
|
||||
/* 804D6044 7F 63 DB 78 */ mr r3, r27
|
||||
/* 804D6048 4B FF FD ED */ bl getNum__10daAndsw2_cFv
|
||||
/* 804D604C 54 7D 06 3E */ clrlwi r29, r3, 0x18
|
||||
/* 804D6050 2C 1D 00 FF */ cmpwi r29, 0xff
|
||||
/* 804D6054 41 82 00 14 */ beq lbl_804D6068
|
||||
/* 804D6058 2C 1D 00 00 */ cmpwi r29, 0
|
||||
/* 804D605C 41 82 00 0C */ beq lbl_804D6068
|
||||
/* 804D6060 2C 1E 00 FF */ cmpwi r30, 0xff
|
||||
/* 804D6064 40 82 00 0C */ bne lbl_804D6070
|
||||
lbl_804D6068:
|
||||
/* 804D6068 38 60 00 00 */ li r3, 0
|
||||
/* 804D606C 48 00 00 48 */ b lbl_804D60B4
|
||||
lbl_804D6070:
|
||||
/* 804D6070 3B 80 00 00 */ li r28, 0
|
||||
/* 804D6074 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6078 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D607C 48 00 00 2C */ b lbl_804D60A8
|
||||
lbl_804D6080:
|
||||
/* 804D6080 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6084 7C 9E E2 14 */ add r4, r30, r28
|
||||
/* 804D6088 88 1B 04 E2 */ lbz r0, 0x4e2(r27)
|
||||
/* 804D608C 7C 05 07 74 */ extsb r5, r0
|
||||
/* 804D6090 4B B5 F2 D1 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 804D6094 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D6098 41 82 00 0C */ beq lbl_804D60A4
|
||||
/* 804D609C 38 60 00 01 */ li r3, 1
|
||||
/* 804D60A0 48 00 00 14 */ b lbl_804D60B4
|
||||
lbl_804D60A4:
|
||||
/* 804D60A4 3B 9C 00 01 */ addi r28, r28, 1
|
||||
lbl_804D60A8:
|
||||
/* 804D60A8 7C 1C E8 00 */ cmpw r28, r29
|
||||
/* 804D60AC 41 80 FF D4 */ blt lbl_804D6080
|
||||
/* 804D60B0 38 60 00 00 */ li r3, 0
|
||||
lbl_804D60B4:
|
||||
/* 804D60B4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 804D60B8 4B E8 C1 69 */ bl _restgpr_27
|
||||
/* 804D60BC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 804D60C0 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D60C4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 804D60C8 4E 80 00 20 */ blr
|
||||
@@ -1,54 +0,0 @@
|
||||
lbl_804D5F64:
|
||||
/* 804D5F64 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 804D5F68 7C 08 02 A6 */ mflr r0
|
||||
/* 804D5F6C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 804D5F70 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 804D5F74 4B E8 C2 5D */ bl _savegpr_26
|
||||
/* 804D5F78 7C 7A 1B 78 */ mr r26, r3
|
||||
/* 804D5F7C 4B FF FE C5 */ bl getTopSw__10daAndsw2_cFv
|
||||
/* 804D5F80 54 7E 06 3E */ clrlwi r30, r3, 0x18
|
||||
/* 804D5F84 7F 43 D3 78 */ mr r3, r26
|
||||
/* 804D5F88 4B FF FE AD */ bl getNum__10daAndsw2_cFv
|
||||
/* 804D5F8C 54 7D 06 3E */ clrlwi r29, r3, 0x18
|
||||
/* 804D5F90 3B 80 00 00 */ li r28, 0
|
||||
/* 804D5F94 2C 1D 00 FF */ cmpwi r29, 0xff
|
||||
/* 804D5F98 41 82 00 14 */ beq lbl_804D5FAC
|
||||
/* 804D5F9C 2C 1D 00 00 */ cmpwi r29, 0
|
||||
/* 804D5FA0 41 82 00 0C */ beq lbl_804D5FAC
|
||||
/* 804D5FA4 2C 1E 00 FF */ cmpwi r30, 0xff
|
||||
/* 804D5FA8 40 82 00 0C */ bne lbl_804D5FB4
|
||||
lbl_804D5FAC:
|
||||
/* 804D5FAC 38 60 00 00 */ li r3, 0
|
||||
/* 804D5FB0 48 00 00 5C */ b lbl_804D600C
|
||||
lbl_804D5FB4:
|
||||
/* 804D5FB4 3B 60 00 00 */ li r27, 0
|
||||
/* 804D5FB8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D5FBC 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D5FC0 48 00 00 28 */ b lbl_804D5FE8
|
||||
lbl_804D5FC4:
|
||||
/* 804D5FC4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D5FC8 7C 9E DA 14 */ add r4, r30, r27
|
||||
/* 804D5FCC 88 1A 04 E2 */ lbz r0, 0x4e2(r26)
|
||||
/* 804D5FD0 7C 05 07 74 */ extsb r5, r0
|
||||
/* 804D5FD4 4B B5 F3 8D */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 804D5FD8 7C 60 D8 30 */ slw r0, r3, r27
|
||||
/* 804D5FDC 7F 80 03 78 */ or r0, r28, r0
|
||||
/* 804D5FE0 54 1C 06 3E */ clrlwi r28, r0, 0x18
|
||||
/* 804D5FE4 3B 7B 00 01 */ addi r27, r27, 1
|
||||
lbl_804D5FE8:
|
||||
/* 804D5FE8 7C 1B E8 00 */ cmpw r27, r29
|
||||
/* 804D5FEC 41 80 FF D8 */ blt lbl_804D5FC4
|
||||
/* 804D5FF0 7F 43 D3 78 */ mr r3, r26
|
||||
/* 804D5FF4 4B FF FE BD */ bl getSwAns__10daAndsw2_cFv
|
||||
/* 804D5FF8 54 63 06 3E */ clrlwi r3, r3, 0x18
|
||||
/* 804D5FFC 57 80 06 3E */ clrlwi r0, r28, 0x18
|
||||
/* 804D6000 7C 00 18 50 */ subf r0, r0, r3
|
||||
/* 804D6004 7C 00 00 34 */ cntlzw r0, r0
|
||||
/* 804D6008 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f
|
||||
lbl_804D600C:
|
||||
/* 804D600C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 804D6010 4B E8 C2 0D */ bl _restgpr_26
|
||||
/* 804D6014 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 804D6018 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D601C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 804D6020 4E 80 00 20 */ blr
|
||||
@@ -1,184 +0,0 @@
|
||||
lbl_804D6120:
|
||||
/* 804D6120 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D6124 7C 08 02 A6 */ mflr r0
|
||||
/* 804D6128 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D612C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 804D6130 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 804D6134 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 804D6138 4B FF FC CD */ bl getSwbit__10daAndsw2_cFv
|
||||
/* 804D613C 54 7F 06 3E */ clrlwi r31, r3, 0x18
|
||||
/* 804D6140 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
|
||||
/* 804D6144 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
|
||||
/* 804D6148 40 82 00 20 */ bne lbl_804D6168
|
||||
/* 804D614C 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 804D6150 41 82 00 0C */ beq lbl_804D615C
|
||||
/* 804D6154 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D6158 4B B4 2A 0D */ bl __ct__10fopAc_ac_cFv
|
||||
lbl_804D615C:
|
||||
/* 804D615C 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
|
||||
/* 804D6160 60 00 00 08 */ ori r0, r0, 8
|
||||
/* 804D6164 90 1E 04 A0 */ stw r0, 0x4a0(r30)
|
||||
lbl_804D6168:
|
||||
/* 804D6168 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D616C 4B FF FC B1 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D6170 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D6174 28 00 00 06 */ cmplwi r0, 6
|
||||
/* 804D6178 41 81 01 F4 */ bgt lbl_804D636C
|
||||
/* 804D617C 3C 60 80 4D */ lis r3, lit_3821@ha /* 0x804D6AC8@ha */
|
||||
/* 804D6180 38 63 6A C8 */ addi r3, r3, lit_3821@l /* 0x804D6AC8@l */
|
||||
/* 804D6184 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 804D6188 7C 03 00 2E */ lwzx r0, r3, r0
|
||||
/* 804D618C 7C 09 03 A6 */ mtctr r0
|
||||
/* 804D6190 4E 80 04 20 */ bctr
|
||||
lbl_804D6194:
|
||||
/* 804D6194 2C 1F 00 FF */ cmpwi r31, 0xff
|
||||
/* 804D6198 41 82 00 24 */ beq lbl_804D61BC
|
||||
/* 804D619C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D61A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D61A4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 804D61A8 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
|
||||
/* 804D61AC 7C 05 07 74 */ extsb r5, r0
|
||||
/* 804D61B0 4B B5 F1 B1 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 804D61B4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D61B8 41 82 00 10 */ beq lbl_804D61C8
|
||||
lbl_804D61BC:
|
||||
/* 804D61BC 38 00 00 05 */ li r0, 5
|
||||
/* 804D61C0 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D61C4 48 00 00 0C */ b lbl_804D61D0
|
||||
lbl_804D61C8:
|
||||
/* 804D61C8 38 00 00 00 */ li r0, 0
|
||||
/* 804D61CC 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
lbl_804D61D0:
|
||||
/* 804D61D0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D61D4 4B FF FC 25 */ bl getEventNo__10daAndsw2_cFv
|
||||
/* 804D61D8 7C 65 1B 78 */ mr r5, r3
|
||||
/* 804D61DC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D61E0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D61E4 38 63 4F F8 */ addi r3, r3, 0x4ff8
|
||||
/* 804D61E8 7F C4 F3 78 */ mr r4, r30
|
||||
/* 804D61EC 4B B7 14 AD */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc
|
||||
/* 804D61F0 B0 7E 05 6A */ sth r3, 0x56a(r30)
|
||||
/* 804D61F4 48 00 01 80 */ b lbl_804D6374
|
||||
lbl_804D61F8:
|
||||
/* 804D61F8 2C 1F 00 FF */ cmpwi r31, 0xff
|
||||
/* 804D61FC 40 82 00 10 */ bne lbl_804D620C
|
||||
/* 804D6200 38 00 00 05 */ li r0, 5
|
||||
/* 804D6204 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D6208 48 00 00 38 */ b lbl_804D6240
|
||||
lbl_804D620C:
|
||||
/* 804D620C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6210 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D6214 7F E4 FB 78 */ mr r4, r31
|
||||
/* 804D6218 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
|
||||
/* 804D621C 7C 05 07 74 */ extsb r5, r0
|
||||
/* 804D6220 4B B5 F1 41 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 804D6224 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D6228 41 82 00 10 */ beq lbl_804D6238
|
||||
/* 804D622C 38 00 00 04 */ li r0, 4
|
||||
/* 804D6230 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D6234 48 00 00 0C */ b lbl_804D6240
|
||||
lbl_804D6238:
|
||||
/* 804D6238 38 00 00 00 */ li r0, 0
|
||||
/* 804D623C 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
lbl_804D6240:
|
||||
/* 804D6240 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D6244 4B FF FB B5 */ bl getEventNo__10daAndsw2_cFv
|
||||
/* 804D6248 7C 65 1B 78 */ mr r5, r3
|
||||
/* 804D624C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6250 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D6254 38 63 4F F8 */ addi r3, r3, 0x4ff8
|
||||
/* 804D6258 7F C4 F3 78 */ mr r4, r30
|
||||
/* 804D625C 4B B7 14 3D */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc
|
||||
/* 804D6260 B0 7E 05 6A */ sth r3, 0x56a(r30)
|
||||
/* 804D6264 48 00 01 10 */ b lbl_804D6374
|
||||
lbl_804D6268:
|
||||
/* 804D6268 2C 1F 00 FF */ cmpwi r31, 0xff
|
||||
/* 804D626C 41 82 00 24 */ beq lbl_804D6290
|
||||
/* 804D6270 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6274 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D6278 7F E4 FB 78 */ mr r4, r31
|
||||
/* 804D627C 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
|
||||
/* 804D6280 7C 05 07 74 */ extsb r5, r0
|
||||
/* 804D6284 4B B5 F0 DD */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 804D6288 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D628C 41 82 00 10 */ beq lbl_804D629C
|
||||
lbl_804D6290:
|
||||
/* 804D6290 38 00 00 05 */ li r0, 5
|
||||
/* 804D6294 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D6298 48 00 00 0C */ b lbl_804D62A4
|
||||
lbl_804D629C:
|
||||
/* 804D629C 38 00 00 00 */ li r0, 0
|
||||
/* 804D62A0 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
lbl_804D62A4:
|
||||
/* 804D62A4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D62A8 4B FF FB 51 */ bl getEventNo__10daAndsw2_cFv
|
||||
/* 804D62AC 7C 65 1B 78 */ mr r5, r3
|
||||
/* 804D62B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D62B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D62B8 38 63 4F F8 */ addi r3, r3, 0x4ff8
|
||||
/* 804D62BC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 804D62C0 4B B7 13 D9 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc
|
||||
/* 804D62C4 B0 7E 05 6A */ sth r3, 0x56a(r30)
|
||||
/* 804D62C8 48 00 00 AC */ b lbl_804D6374
|
||||
lbl_804D62CC:
|
||||
/* 804D62CC 2C 1F 00 FF */ cmpwi r31, 0xff
|
||||
/* 804D62D0 41 82 00 24 */ beq lbl_804D62F4
|
||||
/* 804D62D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D62D8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D62DC 7F E4 FB 78 */ mr r4, r31
|
||||
/* 804D62E0 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
|
||||
/* 804D62E4 7C 05 07 74 */ extsb r5, r0
|
||||
/* 804D62E8 4B B5 F0 79 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 804D62EC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D62F0 41 82 00 10 */ beq lbl_804D6300
|
||||
lbl_804D62F4:
|
||||
/* 804D62F4 38 00 00 04 */ li r0, 4
|
||||
/* 804D62F8 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D62FC 48 00 00 0C */ b lbl_804D6308
|
||||
lbl_804D6300:
|
||||
/* 804D6300 38 00 00 00 */ li r0, 0
|
||||
/* 804D6304 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
lbl_804D6308:
|
||||
/* 804D6308 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D630C 4B FF FA ED */ bl getEventNo__10daAndsw2_cFv
|
||||
/* 804D6310 7C 65 1B 78 */ mr r5, r3
|
||||
/* 804D6314 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6318 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D631C 38 63 4F F8 */ addi r3, r3, 0x4ff8
|
||||
/* 804D6320 7F C4 F3 78 */ mr r4, r30
|
||||
/* 804D6324 4B B7 13 75 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc
|
||||
/* 804D6328 B0 7E 05 6A */ sth r3, 0x56a(r30)
|
||||
/* 804D632C 48 00 00 48 */ b lbl_804D6374
|
||||
lbl_804D6330:
|
||||
/* 804D6330 38 00 00 00 */ li r0, 0
|
||||
/* 804D6334 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D6338 48 00 00 3C */ b lbl_804D6374
|
||||
lbl_804D633C:
|
||||
/* 804D633C 38 00 00 00 */ li r0, 0
|
||||
/* 804D6340 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D6344 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D6348 4B FF FA B1 */ bl getEventNo__10daAndsw2_cFv
|
||||
/* 804D634C 7C 65 1B 78 */ mr r5, r3
|
||||
/* 804D6350 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6354 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D6358 38 63 4F F8 */ addi r3, r3, 0x4ff8
|
||||
/* 804D635C 7F C4 F3 78 */ mr r4, r30
|
||||
/* 804D6360 4B B7 13 39 */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc
|
||||
/* 804D6364 B0 7E 05 6A */ sth r3, 0x56a(r30)
|
||||
/* 804D6368 48 00 00 0C */ b lbl_804D6374
|
||||
lbl_804D636C:
|
||||
/* 804D636C 38 00 00 05 */ li r0, 5
|
||||
/* 804D6370 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
lbl_804D6374:
|
||||
/* 804D6374 38 00 00 00 */ li r0, 0
|
||||
/* 804D6378 B0 1E 04 E8 */ sth r0, 0x4e8(r30)
|
||||
/* 804D637C B0 1E 04 E4 */ sth r0, 0x4e4(r30)
|
||||
/* 804D6380 B0 1E 04 E0 */ sth r0, 0x4e0(r30)
|
||||
/* 804D6384 B0 1E 04 DC */ sth r0, 0x4dc(r30)
|
||||
/* 804D6388 38 60 00 04 */ li r3, 4
|
||||
/* 804D638C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 804D6390 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 804D6394 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D6398 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D639C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D63A0 4E 80 00 20 */ blr
|
||||
@@ -1,9 +0,0 @@
|
||||
lbl_804D6AA0:
|
||||
/* 804D6AA0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D6AA4 7C 08 02 A6 */ mflr r0
|
||||
/* 804D6AA8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D6AAC 4B FF F6 75 */ bl create__10daAndsw2_cFv
|
||||
/* 804D6AB0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D6AB4 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D6AB8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D6ABC 4E 80 00 20 */ blr
|
||||
@@ -1,11 +0,0 @@
|
||||
lbl_804D6A78:
|
||||
/* 804D6A78 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D6A7C 7C 08 02 A6 */ mflr r0
|
||||
/* 804D6A80 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D6A84 38 80 FF FF */ li r4, -1
|
||||
/* 804D6A88 4B FF F6 45 */ bl __dt__10daAndsw2_cFv
|
||||
/* 804D6A8C 38 60 00 01 */ li r3, 1
|
||||
/* 804D6A90 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D6A94 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D6A98 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D6A9C 4E 80 00 20 */ blr
|
||||
@@ -1,16 +0,0 @@
|
||||
lbl_804D6A3C:
|
||||
/* 804D6A3C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D6A40 7C 08 02 A6 */ mflr r0
|
||||
/* 804D6A44 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D6A48 88 03 05 6C */ lbz r0, 0x56c(r3)
|
||||
/* 804D6A4C 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 804D6A50 3C 80 80 4D */ lis r4, data_804D6AE4@ha /* 0x804D6AE4@ha */
|
||||
/* 804D6A54 38 84 6A E4 */ addi r4, r4, data_804D6AE4@l /* 0x804D6AE4@l */
|
||||
/* 804D6A58 7D 84 00 2E */ lwzx r12, r4, r0
|
||||
/* 804D6A5C 7D 89 03 A6 */ mtctr r12
|
||||
/* 804D6A60 4E 80 04 21 */ bctrl
|
||||
/* 804D6A64 38 60 00 01 */ li r3, 1
|
||||
/* 804D6A68 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D6A6C 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D6A70 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D6A74 4E 80 00 20 */ blr
|
||||
@@ -1,52 +0,0 @@
|
||||
lbl_804D68A4:
|
||||
/* 804D68A4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D68A8 7C 08 02 A6 */ mflr r0
|
||||
/* 804D68AC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D68B0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 804D68B4 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 804D68B8 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 804D68BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D68C0 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D68C4 38 7F 4F F8 */ addi r3, r31, 0x4ff8
|
||||
/* 804D68C8 A8 9E 05 6A */ lha r4, 0x56a(r30)
|
||||
/* 804D68CC 4B B7 11 AD */ bl endCheck__16dEvent_manager_cFs
|
||||
/* 804D68D0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D68D4 41 82 00 70 */ beq lbl_804D6944
|
||||
/* 804D68D8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D68DC 4B FF F5 41 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D68E0 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D68E4 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 804D68E8 41 82 00 40 */ beq lbl_804D6928
|
||||
/* 804D68EC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D68F0 4B FF F5 2D */ bl getType__10daAndsw2_cFv
|
||||
/* 804D68F4 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D68F8 28 00 00 03 */ cmplwi r0, 3
|
||||
/* 804D68FC 41 82 00 2C */ beq lbl_804D6928
|
||||
/* 804D6900 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D6904 4B FF F5 19 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D6908 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D690C 28 00 00 05 */ cmplwi r0, 5
|
||||
/* 804D6910 41 82 00 18 */ beq lbl_804D6928
|
||||
/* 804D6914 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D6918 4B FF F5 05 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D691C 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D6920 28 00 00 06 */ cmplwi r0, 6
|
||||
/* 804D6924 40 82 00 10 */ bne lbl_804D6934
|
||||
lbl_804D6928:
|
||||
/* 804D6928 38 00 00 04 */ li r0, 4
|
||||
/* 804D692C 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D6930 48 00 00 0C */ b lbl_804D693C
|
||||
lbl_804D6934:
|
||||
/* 804D6934 38 00 00 05 */ li r0, 5
|
||||
/* 804D6938 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
lbl_804D693C:
|
||||
/* 804D693C 38 7F 4E C8 */ addi r3, r31, 0x4ec8
|
||||
/* 804D6940 4B B6 BB 29 */ bl reset__14dEvt_control_cFv
|
||||
lbl_804D6944:
|
||||
/* 804D6944 38 60 00 01 */ li r3, 1
|
||||
/* 804D6948 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 804D694C 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 804D6950 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D6954 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D6958 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D695C 4E 80 00 20 */ blr
|
||||
@@ -1,59 +0,0 @@
|
||||
lbl_804D6960:
|
||||
/* 804D6960 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D6964 7C 08 02 A6 */ mflr r0
|
||||
/* 804D6968 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D696C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 804D6970 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 804D6974 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 804D6978 3B E0 00 00 */ li r31, 0
|
||||
/* 804D697C 4B FF F4 A1 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D6980 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D6984 2C 00 00 04 */ cmpwi r0, 4
|
||||
/* 804D6988 41 82 00 5C */ beq lbl_804D69E4
|
||||
/* 804D698C 40 80 00 18 */ bge lbl_804D69A4
|
||||
/* 804D6990 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 804D6994 40 80 00 34 */ bge lbl_804D69C8
|
||||
/* 804D6998 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 804D699C 40 80 00 10 */ bge lbl_804D69AC
|
||||
/* 804D69A0 48 00 00 44 */ b lbl_804D69E4
|
||||
lbl_804D69A4:
|
||||
/* 804D69A4 2C 00 00 07 */ cmpwi r0, 7
|
||||
/* 804D69A8 40 80 00 3C */ bge lbl_804D69E4
|
||||
lbl_804D69AC:
|
||||
/* 804D69AC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D69B0 4B FF F5 0D */ bl chkAllSw2__10daAndsw2_cFv
|
||||
/* 804D69B4 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 804D69B8 7C 00 19 10 */ subfe r0, r0, r3
|
||||
/* 804D69BC 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 804D69C0 7C 1F 03 78 */ mr r31, r0
|
||||
/* 804D69C4 48 00 00 20 */ b lbl_804D69E4
|
||||
lbl_804D69C8:
|
||||
/* 804D69C8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D69CC 4B FF F5 99 */ bl chkSwStatus__10daAndsw2_cFv
|
||||
/* 804D69D0 54 63 06 3E */ clrlwi r3, r3, 0x18
|
||||
/* 804D69D4 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 804D69D8 7C 00 19 10 */ subfe r0, r0, r3
|
||||
/* 804D69DC 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 804D69E0 7C 1F 03 78 */ mr r31, r0
|
||||
lbl_804D69E4:
|
||||
/* 804D69E4 57 E0 06 3F */ clrlwi. r0, r31, 0x18
|
||||
/* 804D69E8 40 82 00 30 */ bne lbl_804D6A18
|
||||
/* 804D69EC 38 00 00 00 */ li r0, 0
|
||||
/* 804D69F0 98 1E 05 6C */ stb r0, 0x56c(r30)
|
||||
/* 804D69F4 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
|
||||
/* 804D69F8 7C 1F 07 74 */ extsb r31, r0
|
||||
/* 804D69FC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 804D6A00 4B FF F4 05 */ bl getSwbit__10daAndsw2_cFv
|
||||
/* 804D6A04 54 64 06 3E */ clrlwi r4, r3, 0x18
|
||||
/* 804D6A08 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6A0C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D6A10 7F E5 FB 78 */ mr r5, r31
|
||||
/* 804D6A14 4B B5 E8 9D */ bl offSwitch__10dSv_info_cFii
|
||||
lbl_804D6A18:
|
||||
/* 804D6A18 38 60 00 01 */ li r3, 1
|
||||
/* 804D6A1C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 804D6A20 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 804D6A24 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D6A28 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D6A2C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D6A30 4E 80 00 20 */ blr
|
||||
@@ -1,130 +0,0 @@
|
||||
lbl_804D63A4:
|
||||
/* 804D63A4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 804D63A8 7C 08 02 A6 */ mflr r0
|
||||
/* 804D63AC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 804D63B0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 804D63B4 4B E8 BE 29 */ bl _savegpr_29
|
||||
/* 804D63B8 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 804D63BC 3B A0 00 00 */ li r29, 0
|
||||
/* 804D63C0 4B FF FA 5D */ bl getType__10daAndsw2_cFv
|
||||
/* 804D63C4 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D63C8 2C 00 00 04 */ cmpwi r0, 4
|
||||
/* 804D63CC 41 82 00 60 */ beq lbl_804D642C
|
||||
/* 804D63D0 40 80 00 18 */ bge lbl_804D63E8
|
||||
/* 804D63D4 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 804D63D8 40 80 00 34 */ bge lbl_804D640C
|
||||
/* 804D63DC 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 804D63E0 40 80 00 10 */ bge lbl_804D63F0
|
||||
/* 804D63E4 48 00 00 90 */ b lbl_804D6474
|
||||
lbl_804D63E8:
|
||||
/* 804D63E8 2C 00 00 07 */ cmpwi r0, 7
|
||||
/* 804D63EC 40 80 00 88 */ bge lbl_804D6474
|
||||
lbl_804D63F0:
|
||||
/* 804D63F0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D63F4 4B FF FA C9 */ bl chkAllSw2__10daAndsw2_cFv
|
||||
/* 804D63F8 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 804D63FC 7C 00 19 10 */ subfe r0, r0, r3
|
||||
/* 804D6400 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 804D6404 7C 1D 03 78 */ mr r29, r0
|
||||
/* 804D6408 48 00 00 6C */ b lbl_804D6474
|
||||
lbl_804D640C:
|
||||
/* 804D640C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6410 4B FF FB 55 */ bl chkSwStatus__10daAndsw2_cFv
|
||||
/* 804D6414 54 63 06 3E */ clrlwi r3, r3, 0x18
|
||||
/* 804D6418 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 804D641C 7C 00 19 10 */ subfe r0, r0, r3
|
||||
/* 804D6420 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 804D6424 7C 1D 03 78 */ mr r29, r0
|
||||
/* 804D6428 48 00 00 4C */ b lbl_804D6474
|
||||
lbl_804D642C:
|
||||
/* 804D642C 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
|
||||
/* 804D6430 7C 1E 07 74 */ extsb r30, r0
|
||||
/* 804D6434 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6438 4B FF F9 CD */ bl getSwbit__10daAndsw2_cFv
|
||||
/* 804D643C 54 64 06 3E */ clrlwi r4, r3, 0x18
|
||||
/* 804D6440 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6444 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D6448 7F C5 F3 78 */ mr r5, r30
|
||||
/* 804D644C 4B B5 EF 15 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 804D6450 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D6454 40 82 00 20 */ bne lbl_804D6474
|
||||
/* 804D6458 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D645C 4B FF FB C9 */ bl chkSwStatus2__10daAndsw2_cFv
|
||||
/* 804D6460 54 63 06 3E */ clrlwi r3, r3, 0x18
|
||||
/* 804D6464 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 804D6468 7C 00 19 10 */ subfe r0, r0, r3
|
||||
/* 804D646C 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 804D6470 7C 1D 03 78 */ mr r29, r0
|
||||
lbl_804D6474:
|
||||
/* 804D6474 57 A0 06 3F */ clrlwi. r0, r29, 0x18
|
||||
/* 804D6478 41 82 00 EC */ beq lbl_804D6564
|
||||
/* 804D647C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6480 4B FF F9 A9 */ bl getTimer__10daAndsw2_cFv
|
||||
/* 804D6484 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D6488 28 00 00 FF */ cmplwi r0, 0xff
|
||||
/* 804D648C 41 82 00 24 */ beq lbl_804D64B0
|
||||
/* 804D6490 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6494 4B FF F9 95 */ bl getTimer__10daAndsw2_cFv
|
||||
/* 804D6498 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D649C 1C 00 00 0F */ mulli r0, r0, 0xf
|
||||
/* 804D64A0 B0 1F 05 68 */ sth r0, 0x568(r31)
|
||||
/* 804D64A4 38 00 00 01 */ li r0, 1
|
||||
/* 804D64A8 98 1F 05 6C */ stb r0, 0x56c(r31)
|
||||
/* 804D64AC 48 00 00 B8 */ b lbl_804D6564
|
||||
lbl_804D64B0:
|
||||
/* 804D64B0 A8 1F 05 6A */ lha r0, 0x56a(r31)
|
||||
/* 804D64B4 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 804D64B8 41 82 00 24 */ beq lbl_804D64DC
|
||||
/* 804D64BC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D64C0 4B FF F9 5D */ bl getType__10daAndsw2_cFv
|
||||
/* 804D64C4 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D64C8 28 00 00 04 */ cmplwi r0, 4
|
||||
/* 804D64CC 41 82 00 10 */ beq lbl_804D64DC
|
||||
/* 804D64D0 38 00 00 02 */ li r0, 2
|
||||
/* 804D64D4 98 1F 05 6C */ stb r0, 0x56c(r31)
|
||||
/* 804D64D8 48 00 00 8C */ b lbl_804D6564
|
||||
lbl_804D64DC:
|
||||
/* 804D64DC 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
|
||||
/* 804D64E0 7C 1E 07 74 */ extsb r30, r0
|
||||
/* 804D64E4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D64E8 4B FF F9 1D */ bl getSwbit__10daAndsw2_cFv
|
||||
/* 804D64EC 54 64 06 3E */ clrlwi r4, r3, 0x18
|
||||
/* 804D64F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D64F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D64F8 7F C5 F3 78 */ mr r5, r30
|
||||
/* 804D64FC 4B B5 ED 05 */ bl onSwitch__10dSv_info_cFii
|
||||
/* 804D6500 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6504 4B FF F9 19 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D6508 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D650C 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 804D6510 41 82 00 2C */ beq lbl_804D653C
|
||||
/* 804D6514 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6518 4B FF F9 05 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D651C 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D6520 28 00 00 03 */ cmplwi r0, 3
|
||||
/* 804D6524 41 82 00 18 */ beq lbl_804D653C
|
||||
/* 804D6528 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D652C 4B FF F8 F1 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D6530 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D6534 28 00 00 06 */ cmplwi r0, 6
|
||||
/* 804D6538 40 82 00 10 */ bne lbl_804D6548
|
||||
lbl_804D653C:
|
||||
/* 804D653C 38 00 00 04 */ li r0, 4
|
||||
/* 804D6540 98 1F 05 6C */ stb r0, 0x56c(r31)
|
||||
/* 804D6544 48 00 00 20 */ b lbl_804D6564
|
||||
lbl_804D6548:
|
||||
/* 804D6548 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D654C 4B FF F8 D1 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D6550 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D6554 28 00 00 04 */ cmplwi r0, 4
|
||||
/* 804D6558 41 82 00 0C */ beq lbl_804D6564
|
||||
/* 804D655C 38 00 00 05 */ li r0, 5
|
||||
/* 804D6560 98 1F 05 6C */ stb r0, 0x56c(r31)
|
||||
lbl_804D6564:
|
||||
/* 804D6564 38 60 00 01 */ li r3, 1
|
||||
/* 804D6568 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 804D656C 4B E8 BC BD */ bl _restgpr_29
|
||||
/* 804D6570 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 804D6574 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D6578 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 804D657C 4E 80 00 20 */ blr
|
||||
@@ -1,109 +0,0 @@
|
||||
lbl_804D6580:
|
||||
/* 804D6580 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D6584 7C 08 02 A6 */ mflr r0
|
||||
/* 804D6588 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D658C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 804D6590 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 804D6594 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 804D6598 4B FF F8 85 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D659C 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D65A0 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 804D65A4 40 82 00 14 */ bne lbl_804D65B8
|
||||
/* 804D65A8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D65AC 4B FF F9 11 */ bl chkAllSw2__10daAndsw2_cFv
|
||||
/* 804D65B0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D65B4 41 82 00 70 */ beq lbl_804D6624
|
||||
lbl_804D65B8:
|
||||
/* 804D65B8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D65BC 4B FF F8 61 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D65C0 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D65C4 28 00 00 03 */ cmplwi r0, 3
|
||||
/* 804D65C8 40 82 00 14 */ bne lbl_804D65DC
|
||||
/* 804D65CC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D65D0 4B FF F9 95 */ bl chkSwStatus__10daAndsw2_cFv
|
||||
/* 804D65D4 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 804D65D8 41 82 00 4C */ beq lbl_804D6624
|
||||
lbl_804D65DC:
|
||||
/* 804D65DC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D65E0 4B FF F8 3D */ bl getType__10daAndsw2_cFv
|
||||
/* 804D65E4 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D65E8 28 00 00 05 */ cmplwi r0, 5
|
||||
/* 804D65EC 40 82 00 14 */ bne lbl_804D6600
|
||||
/* 804D65F0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D65F4 4B FF F8 C9 */ bl chkAllSw2__10daAndsw2_cFv
|
||||
/* 804D65F8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D65FC 41 82 00 28 */ beq lbl_804D6624
|
||||
lbl_804D6600:
|
||||
/* 804D6600 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6604 4B FF F8 19 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D6608 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D660C 28 00 00 06 */ cmplwi r0, 6
|
||||
/* 804D6610 40 82 00 20 */ bne lbl_804D6630
|
||||
/* 804D6614 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6618 4B FF F8 A5 */ bl chkAllSw2__10daAndsw2_cFv
|
||||
/* 804D661C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D6620 40 82 00 10 */ bne lbl_804D6630
|
||||
lbl_804D6624:
|
||||
/* 804D6624 38 00 00 00 */ li r0, 0
|
||||
/* 804D6628 98 1F 05 6C */ stb r0, 0x56c(r31)
|
||||
/* 804D662C 48 00 00 BC */ b lbl_804D66E8
|
||||
lbl_804D6630:
|
||||
/* 804D6630 A8 7F 05 68 */ lha r3, 0x568(r31)
|
||||
/* 804D6634 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 804D6638 40 81 00 10 */ ble lbl_804D6648
|
||||
/* 804D663C 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 804D6640 B0 1F 05 68 */ sth r0, 0x568(r31)
|
||||
/* 804D6644 48 00 00 A4 */ b lbl_804D66E8
|
||||
lbl_804D6648:
|
||||
/* 804D6648 A8 1F 05 6A */ lha r0, 0x56a(r31)
|
||||
/* 804D664C 2C 00 FF FF */ cmpwi r0, -1
|
||||
/* 804D6650 41 82 00 10 */ beq lbl_804D6660
|
||||
/* 804D6654 38 00 00 02 */ li r0, 2
|
||||
/* 804D6658 98 1F 05 6C */ stb r0, 0x56c(r31)
|
||||
/* 804D665C 48 00 00 8C */ b lbl_804D66E8
|
||||
lbl_804D6660:
|
||||
/* 804D6660 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
|
||||
/* 804D6664 7C 1E 07 74 */ extsb r30, r0
|
||||
/* 804D6668 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D666C 4B FF F7 99 */ bl getSwbit__10daAndsw2_cFv
|
||||
/* 804D6670 54 64 06 3E */ clrlwi r4, r3, 0x18
|
||||
/* 804D6674 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 804D6678 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 804D667C 7F C5 F3 78 */ mr r5, r30
|
||||
/* 804D6680 4B B5 EB 81 */ bl onSwitch__10dSv_info_cFii
|
||||
/* 804D6684 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D6688 4B FF F7 95 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D668C 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D6690 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 804D6694 41 82 00 18 */ beq lbl_804D66AC
|
||||
/* 804D6698 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D669C 4B FF F7 81 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D66A0 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D66A4 28 00 00 05 */ cmplwi r0, 5
|
||||
/* 804D66A8 40 82 00 10 */ bne lbl_804D66B8
|
||||
lbl_804D66AC:
|
||||
/* 804D66AC 38 00 00 05 */ li r0, 5
|
||||
/* 804D66B0 98 1F 05 6C */ stb r0, 0x56c(r31)
|
||||
/* 804D66B4 48 00 00 34 */ b lbl_804D66E8
|
||||
lbl_804D66B8:
|
||||
/* 804D66B8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D66BC 4B FF F7 61 */ bl getType__10daAndsw2_cFv
|
||||
/* 804D66C0 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D66C4 28 00 00 03 */ cmplwi r0, 3
|
||||
/* 804D66C8 41 82 00 18 */ beq lbl_804D66E0
|
||||
/* 804D66CC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D66D0 4B FF F7 4D */ bl getType__10daAndsw2_cFv
|
||||
/* 804D66D4 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D66D8 28 00 00 06 */ cmplwi r0, 6
|
||||
/* 804D66DC 40 82 00 0C */ bne lbl_804D66E8
|
||||
lbl_804D66E0:
|
||||
/* 804D66E0 38 00 00 04 */ li r0, 4
|
||||
/* 804D66E4 98 1F 05 6C */ stb r0, 0x56c(r31)
|
||||
lbl_804D66E8:
|
||||
/* 804D66E8 38 60 00 01 */ li r3, 1
|
||||
/* 804D66EC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 804D66F0 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 804D66F4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D66F8 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D66FC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D6700 4E 80 00 20 */ blr
|
||||
@@ -1,4 +0,0 @@
|
||||
lbl_804D5DF8:
|
||||
/* 804D5DF8 A8 03 04 B4 */ lha r0, 0x4b4(r3)
|
||||
/* 804D5DFC 54 03 06 3E */ clrlwi r3, r0, 0x18
|
||||
/* 804D5E00 4E 80 00 20 */ blr
|
||||
@@ -1,4 +0,0 @@
|
||||
lbl_804D5E34:
|
||||
/* 804D5E34 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 804D5E38 54 03 06 3E */ clrlwi r3, r0, 0x18
|
||||
/* 804D5E3C 4E 80 00 20 */ blr
|
||||
@@ -1,4 +0,0 @@
|
||||
lbl_804D5EB0:
|
||||
/* 804D5EB0 A8 03 04 B4 */ lha r0, 0x4b4(r3)
|
||||
/* 804D5EB4 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f
|
||||
/* 804D5EB8 4E 80 00 20 */ blr
|
||||
@@ -1,4 +0,0 @@
|
||||
lbl_804D5E10:
|
||||
/* 804D5E10 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 804D5E14 54 03 46 3E */ srwi r3, r0, 0x18
|
||||
/* 804D5E18 4E 80 00 20 */ blr
|
||||
@@ -1,4 +0,0 @@
|
||||
lbl_804D5E04:
|
||||
/* 804D5E04 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 804D5E08 54 03 86 3E */ rlwinm r3, r0, 0x10, 0x18, 0x1f
|
||||
/* 804D5E0C 4E 80 00 20 */ blr
|
||||
@@ -1,4 +0,0 @@
|
||||
lbl_804D5E28:
|
||||
/* 804D5E28 A8 03 04 B8 */ lha r0, 0x4b8(r3)
|
||||
/* 804D5E2C 54 03 06 3E */ clrlwi r3, r0, 0x18
|
||||
/* 804D5E30 4E 80 00 20 */ blr
|
||||
@@ -1,32 +0,0 @@
|
||||
lbl_804D5E40:
|
||||
/* 804D5E40 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 804D5E44 7C 08 02 A6 */ mflr r0
|
||||
/* 804D5E48 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 804D5E4C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 804D5E50 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 804D5E54 4B FF FF BD */ bl getSwbit2__10daAndsw2_cFv
|
||||
/* 804D5E58 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D5E5C 28 00 00 FF */ cmplwi r0, 0xff
|
||||
/* 804D5E60 41 82 00 10 */ beq lbl_804D5E70
|
||||
/* 804D5E64 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D5E68 4B FF FF A9 */ bl getSwbit2__10daAndsw2_cFv
|
||||
/* 804D5E6C 48 00 00 30 */ b lbl_804D5E9C
|
||||
lbl_804D5E70:
|
||||
/* 804D5E70 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D5E74 4B FF FF 91 */ bl getSwbit__10daAndsw2_cFv
|
||||
/* 804D5E78 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 804D5E7C 28 00 00 FF */ cmplwi r0, 0xff
|
||||
/* 804D5E80 41 82 00 18 */ beq lbl_804D5E98
|
||||
/* 804D5E84 7F E3 FB 78 */ mr r3, r31
|
||||
/* 804D5E88 4B FF FF 7D */ bl getSwbit__10daAndsw2_cFv
|
||||
/* 804D5E8C 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 804D5E90 54 03 06 3E */ clrlwi r3, r0, 0x18
|
||||
/* 804D5E94 48 00 00 08 */ b lbl_804D5E9C
|
||||
lbl_804D5E98:
|
||||
/* 804D5E98 38 60 00 FF */ li r3, 0xff
|
||||
lbl_804D5E9C:
|
||||
/* 804D5E9C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 804D5EA0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 804D5EA4 7C 08 03 A6 */ mtlr r0
|
||||
/* 804D5EA8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 804D5EAC 4E 80 00 20 */ blr
|
||||
@@ -1,4 +0,0 @@
|
||||
lbl_804D5E1C:
|
||||
/* 804D5E1C 80 03 00 B0 */ lwz r0, 0xb0(r3)
|
||||
/* 804D5E20 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f
|
||||
/* 804D5E24 4E 80 00 20 */ blr
|
||||
@@ -38,7 +38,6 @@ public:
|
||||
: mUseMtxIndex(useMtxIndex)
|
||||
{}
|
||||
|
||||
/* 803130A8 */ void resetMtxLoadCache();
|
||||
/* 803130E4 */ void loadMtxIndx_PNGP(int, u16) const;
|
||||
/* 80313128 */ void loadMtxIndx_PCPU(int, u16) const;
|
||||
/* 80313188 */ void loadMtxIndx_NCPU(int, u16) const;
|
||||
|
||||
@@ -11,8 +11,8 @@ enum J3DError {
|
||||
};
|
||||
|
||||
enum J3DSysDrawBuffer {
|
||||
/* 0x0 */ OPA_BUFFER,
|
||||
/* 0x1 */ XLU_BUFFER
|
||||
/* 0x0 */ J3DSys_OPA_BUFFER_e,
|
||||
/* 0x1 */ J3DSys_XLU_BUFFER_e
|
||||
};
|
||||
|
||||
class J3DMtxCalc;
|
||||
|
||||
@@ -31,6 +31,7 @@ public:
|
||||
u32 ChkHit() const { return field_0x4c & 16; }
|
||||
void SetCross(const cXyz& pos) { mLin.SetEnd(pos); }
|
||||
cXyz& i_GetCross() { return mLin.GetEnd(); }
|
||||
cXyz* GetCrossP() { return &mLin.GetEndP(); }
|
||||
cM3dGLin* GetLinP() { return &mLin; }
|
||||
bool ChkBackFlag() const { return mBackFlag; }
|
||||
bool ChkFrontFlag() const { return mFrontFlag; }
|
||||
|
||||
+31
-32
@@ -39,7 +39,7 @@ public:
|
||||
/* 80125F14 */ BOOL create();
|
||||
/* 80126358 */ void update();
|
||||
/* 80126424 */ virtual void draw();
|
||||
/* 800CFE68 */ virtual ~daAlink_lockCursor_c();
|
||||
/* 800CFE68 */ virtual ~daAlink_lockCursor_c() {}
|
||||
|
||||
void initFrame() {
|
||||
field_0x4 = false;
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
/* 80126710 */ void onLockFlg();
|
||||
|
||||
/* 801266C0 */ virtual void draw();
|
||||
/* 800CFDF4 */ virtual ~daAlink_sight_c();
|
||||
/* 800CFDF4 */ virtual ~daAlink_sight_c() {}
|
||||
|
||||
bool getLockFlg() { return mLockFlag; }
|
||||
void offLockFlg() { mLockFlag = false; }
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
/* 80125B0C */ void traceBlur(cXyz const*, cXyz const*, s16);
|
||||
|
||||
/* 80125BF4 */ virtual void draw();
|
||||
/* 800CFD58 */ virtual ~daAlink_blur_c();
|
||||
/* 800CFD58 */ virtual ~daAlink_blur_c() {}
|
||||
|
||||
// private:
|
||||
/* 0x010 */ void* m_blurTex;
|
||||
@@ -109,7 +109,7 @@ class dAlink_bottleWaterPcallBack_c : public JPAParticleCallBack {
|
||||
public:
|
||||
dAlink_bottleWaterPcallBack_c() { initialize(0.0f); }
|
||||
/* 80124A2C */ virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
/* 800CFCF8 */ virtual ~dAlink_bottleWaterPcallBack_c();
|
||||
/* 800CFCF8 */ virtual ~dAlink_bottleWaterPcallBack_c() {}
|
||||
|
||||
void initialize(f32 minY) {
|
||||
mHitFlg = 0;
|
||||
@@ -669,7 +669,9 @@ public:
|
||||
FTANM_UNK_9F = 0x9F,
|
||||
};
|
||||
|
||||
enum daAlink_WARP_MAT_MODE {};
|
||||
enum daAlink_WARP_MAT_MODE {
|
||||
WARP_MAT_MODE_1 = 1,
|
||||
};
|
||||
|
||||
enum daAlink_WANM {
|
||||
/* 0x00 */ WANM_WAIT,
|
||||
@@ -1635,7 +1637,7 @@ public:
|
||||
/* 800CC7DC */ void initTevCustomColor();
|
||||
/* 800CC7FC */ int draw();
|
||||
/* 800CD7AC */ ~daAlink_c();
|
||||
/* 800CE294 */ void checkNoSubjectModeCamera();
|
||||
/* 800CE294 */ bool checkNoSubjectModeCamera();
|
||||
/* 800CE468 */ bool acceptSubjectModeChange();
|
||||
/* 800CE628 */ int checkSubjectAction();
|
||||
/* 800CE728 */ void checkBodyAngleX(s16);
|
||||
@@ -2392,7 +2394,7 @@ public:
|
||||
/* 801086DC */ void resetHookshotMode();
|
||||
/* 8010871C */ bool setEnemyBombHookshot(fopAc_ac_c*);
|
||||
/* 80108784 */ bool checkLv7BossRoom();
|
||||
/* 801087B0 */ bool checkHookshotStickBG(cBgS_PolyInfo&);
|
||||
/* 801087B0 */ BOOL checkHookshotStickBG(cBgS_PolyInfo&);
|
||||
/* 80108828 */ void cancelHookshotCarry();
|
||||
/* 80108864 */ void changeHookshotDrawModel();
|
||||
/* 801088A0 */ BOOL checkHookshotRoofLv7Boss();
|
||||
@@ -2413,17 +2415,17 @@ public:
|
||||
/* 80109284 */ int checkUpperItemActionHookshot();
|
||||
/* 801095C8 */ int checkNextActionHookshot();
|
||||
/* 801097A0 */ void setHookshotReturnEnd();
|
||||
/* 80109890 */ void setHookshotHangMoveBGCollect();
|
||||
/* 80109890 */ int setHookshotHangMoveBGCollect();
|
||||
/* 80109AAC */ void setHookshotTopPosFly();
|
||||
/* 80109BDC */ void setHookshotPos();
|
||||
/* 8010B2DC */ void setHookshotRoofWaitAnime();
|
||||
/* 8010B35C */ void setHookshotWallWaitAnime();
|
||||
/* 8010B3AC */ void hookshotRoofTurn();
|
||||
/* 8010B644 */ void initHookshotRoofWaitActor(fopAc_ac_c*);
|
||||
/* 8010B720 */ void checkNextHookPoint();
|
||||
/* 8010B84C */ void checkLandHookshotHang();
|
||||
/* 8010B96C */ void commonHookshotRoofWait();
|
||||
/* 8010BA6C */ void commonHookshotWallWait();
|
||||
/* 8010B720 */ int checkNextHookPoint();
|
||||
/* 8010B84C */ int checkLandHookshotHang();
|
||||
/* 8010B96C */ int commonHookshotRoofWait();
|
||||
/* 8010BA6C */ int commonHookshotWallWait();
|
||||
/* 8010BAA8 */ int procHookshotSubjectInit();
|
||||
/* 8010BB48 */ int procHookshotSubject();
|
||||
/* 8010BC08 */ int procHookshotMoveInit();
|
||||
@@ -3021,7 +3023,7 @@ public:
|
||||
virtual bool exchangeGrabActor(fopAc_ac_c*);
|
||||
virtual bool setForceGrab(fopAc_ac_c*, int, int);
|
||||
virtual void setForcePutPos(cXyz const&);
|
||||
virtual BOOL checkPlayerNoDraw();
|
||||
virtual u32 checkPlayerNoDraw();
|
||||
virtual void voiceStart(u32);
|
||||
virtual void seStartOnlyReverb(u32);
|
||||
virtual void seStartOnlyReverbLevel(u32);
|
||||
@@ -3314,6 +3316,8 @@ public:
|
||||
return i_frameCtrl->checkAnmEnd();
|
||||
}
|
||||
|
||||
const cXyz& getHsChainTopPos() const { return mHookshotTopPos; }
|
||||
|
||||
static int getBallModelIdx() { return 0x25; }
|
||||
static int getBallBtkIdx() { return 0x49; }
|
||||
static int getBallBrkIdx() { return 0x41; }
|
||||
@@ -3387,37 +3391,34 @@ private:
|
||||
/* 0x006DC */ void* field_0x06dc;
|
||||
/* 0x006E0 */ void* field_0x06e0;
|
||||
/* 0x006E4 */ J3DShape* field_0x06e4;
|
||||
/* 0x006E8 */ void* field_0x06e8;
|
||||
/* 0x006E8 */ J3DShape* field_0x06e8;
|
||||
/* 0x006EC */ J3DShape* field_0x06ec;
|
||||
/* 0x006F0 */ J3DShape* field_0x06f0;
|
||||
/* 0x006F4 */ J3DAnmBase* field_0x06f4;
|
||||
/* 0x006F4 */ J3DAnmTevRegKey* field_0x06f4;
|
||||
/* 0x006F8 */ J3DAnmBase* field_0x06f8;
|
||||
/* 0x006FC */ J3DModel* field_0x06fc; // related to human link
|
||||
/* 0x00700 */ J3DModel* field_0x0700;
|
||||
/* 0x00704 */ J3DAnmBase* field_0x0704;
|
||||
/* 0x00708 */ J3DModel* mHeldItemModel;
|
||||
/* 0x0070C */ J3DModel* field_0x070c; // related to held item
|
||||
/* 0x0070C */ J3DModel* mpHookTipModel; // related to held item
|
||||
/* 0x00710 */ J3DModel* field_0x0710; // related to held item
|
||||
/* 0x00714 */ J3DModel* field_0x0714; // related to held item
|
||||
/* 0x00718 */ J3DAnmBase* field_0x0718;
|
||||
/* 0x00718 */ J3DAnmTextureSRTKey* field_0x0718;
|
||||
/* 0x0071C */ J3DAnmBase* field_0x071c;
|
||||
/* 0x00720 */ J3DAnmBase* field_0x0720;
|
||||
/* 0x00724 */ J3DAnmTevRegKey* field_0x0724;
|
||||
/* 0x00728 */ J3DAnmBase* field_0x0728;
|
||||
/* 0x0072C */ J3DAnmBase* field_0x072c;
|
||||
/* 0x00730 */ mDoExt_bckAnm field_0x730;
|
||||
/* 0x0074C */ mDoExt_bckAnm field_0x74C;
|
||||
/* 0x00768 */ J3DModelData* field_0x0768;
|
||||
/* 0x0076C */ Z2SoundObjSimple* field_0x076c;
|
||||
/* 0x00770 */ hsChainShape_c* field_0x770;
|
||||
/* 0x00730 */ mDoExt_bckAnm mItemBck;
|
||||
/* 0x0074C */ mDoExt_bckAnm mHookTipBck;
|
||||
/* 0x00768 */ J3DModelData* mpHookKusariModelData;
|
||||
/* 0x0076C */ Z2SoundObjSimple* mpHookSound;
|
||||
/* 0x00770 */ hsChainShape_c* mpHookChain;
|
||||
/* 0x00774 */ u8 field_0x0774[0x77C - 0x774];
|
||||
/* 0x0077C */ dBgS_ObjLinChk* mpHookshotLinChk;
|
||||
/* 0x00780 */ u8 field_0x780[4];
|
||||
/* 0x00784 */ J3DModel* field_0x784[2];
|
||||
/* 0x0078C */ J3DModel* mpWlChain1Model;
|
||||
/* 0x00790 */ J3DModel* mpWlChain2Model;
|
||||
/* 0x00794 */ J3DModel* mpWlChain3Model;
|
||||
/* 0x00798 */ J3DModel* mpWlChain4Model;
|
||||
/* 0x0078C */ J3DModel* mpWlChainModels[4];
|
||||
/* 0x0079C */ J3DModel* field_0x79c; // related to wolf
|
||||
/* 0x007A0 */ J3DModel* mpWlMidnaHatModel;
|
||||
/* 0x007A4 */ J3DModel* field_0x7a4; // related to wolf
|
||||
@@ -3500,7 +3501,7 @@ private:
|
||||
/* 0x02834 */ daPy_actorKeep_c mThrowBoomerangAcKeep;
|
||||
/* 0x0283C */ daPy_actorKeep_c mCopyRodAcKeep;
|
||||
/* 0x02844 */ daPy_actorKeep_c field_0x2844;
|
||||
/* 0x0284C */ daPy_actorKeep_c field_0x284c;
|
||||
/* 0x0284C */ daPy_actorKeep_c mHookTargetAcKeep;
|
||||
/* 0x02854 */ daPy_actorKeep_c mCargoCarryAcKeep;
|
||||
/* 0x0285C */ daPy_actorKeep_c field_0x285c;
|
||||
/* 0x02864 */ dMsgFlow_c mMsgFlow;
|
||||
@@ -3643,9 +3644,7 @@ private:
|
||||
/* 0x03008 */ s16 field_0x3008;
|
||||
/* 0x0300A */ s16 field_0x300a;
|
||||
/* 0x0300C */ s16 field_0x300c; // might need more accurate name
|
||||
/* 0x0300E */ s16 field_0x300e;
|
||||
/* 0x03010 */ s16 field_0x3010;
|
||||
/* 0x03012 */ s16 field_0x3012;
|
||||
/* 0x0300E */ csXyz field_0x300e;
|
||||
/* 0x03014 */ s16 mFallVoiceInit;
|
||||
/* 0x03016 */ u8 field_0x3016[2];
|
||||
/* 0x03018 */ s16 field_0x3018;
|
||||
@@ -3814,7 +3813,7 @@ private:
|
||||
/* 0x0321C */ u32 field_0x321c;
|
||||
/* 0x03220 */ u32 field_0x3220;
|
||||
/* 0x03224 */ u32 field_0x3224;
|
||||
/* 0x03228 */ u8 field_0x3228[24];
|
||||
/* 0x03228 */ u32 field_0x3228[2][3];
|
||||
/* 0x03240 */ u32 field_0x3240;
|
||||
/* 0x03244 */ u8 field_0x3244[20];
|
||||
/* 0x03258 */ u32 field_0x3258;
|
||||
@@ -3955,7 +3954,7 @@ private:
|
||||
/* 0x037B0 */ cXyz field_0x37b0[2];
|
||||
/* 0x037C8 */ cXyz field_0x37c8;
|
||||
/* 0x037D4 */ cXyz field_0x37d4;
|
||||
/* 0x037E0 */ cXyz field_0x37e0;
|
||||
/* 0x037E0 */ cXyz mHeldItemRootPos;
|
||||
/* 0x037EC */ cXyz mHookshotTopPos;
|
||||
/* 0x037F8 */ cXyz mIronBallCenterPos;
|
||||
/* 0x03804 */ cXyz mIronBallBgChkPos;
|
||||
|
||||
+22
-16
@@ -10,7 +10,7 @@ class daPy_sightPacket_c : public dDlst_base_c {
|
||||
public:
|
||||
daPy_sightPacket_c() {}
|
||||
/* 8015F1A0 */ virtual void draw();
|
||||
/* 80140CDC */ virtual ~daPy_sightPacket_c();
|
||||
/* 80140CDC */ virtual ~daPy_sightPacket_c() {}
|
||||
|
||||
/* 8015F2FC */ void setSight();
|
||||
/* 8015F384 */ void setSightImage(ResTIMG*);
|
||||
@@ -118,7 +118,7 @@ public:
|
||||
/* 80140D80 */ daPy_frameCtrl_c();
|
||||
bool checkAnmEnd();
|
||||
void updateFrame();
|
||||
void setFrameCtrl(u8, short, short, float, float);
|
||||
void setFrameCtrl(u8, short, short, f32, f32);
|
||||
|
||||
u16 getEndFlg() { return mEndFlg; }
|
||||
u16 getNowSetFlg() { return mNowSetFlg; }
|
||||
@@ -217,6 +217,7 @@ public:
|
||||
FLG0_UNDERWATER = 0x800000,
|
||||
FLG0_UNK_100000 = 0x100000,
|
||||
FLG0_UNK_80000 = 0x80000,
|
||||
FLG0_UNK_40000 = 0x40000,
|
||||
FLG0_UNK_20000 = 0x20000,
|
||||
FLG0_UNK_8000 = 0x8000,
|
||||
FLG0_UNK_4000 = 0x4000,
|
||||
@@ -234,6 +235,7 @@ public:
|
||||
|
||||
FLG0_HVY_STATE = FLG0_UNK_40000000 | FLG0_EQUIP_HVY_BOOTS | FLG0_UNK_20000,
|
||||
FLG0_UNK_14000 = 0x14000,
|
||||
FLG0_UNK_18 = FLG0_UNK_10 | FLG0_UNK_8,
|
||||
};
|
||||
|
||||
enum daPy_FLG1 {
|
||||
@@ -275,6 +277,7 @@ public:
|
||||
FLG2_UNK_4000 = 0x4000,
|
||||
FLG2_UNK_2000 = 0x2000,
|
||||
FLG2_UNK_1000 = 0x1000,
|
||||
FLG2_UNK_400 = 0x400,
|
||||
FLG2_UNK_200 = 0x200,
|
||||
FLG2_UNK_80 = 0x80,
|
||||
FLG2_UNK_40 = 0x40,
|
||||
@@ -288,6 +291,7 @@ public:
|
||||
};
|
||||
|
||||
enum daPy_FLG3 {
|
||||
FLG3_UNK_80000000 = 0x80000000,
|
||||
FLG3_UNK_40000000 = 0x40000000,
|
||||
FLG3_UNK_20000000 = 0x20000000,
|
||||
FLG3_UNK_4000000 = 0x4000000,
|
||||
@@ -365,6 +369,7 @@ public:
|
||||
RFLG0_FRONT_ROLL_CRASH = 0x2000,
|
||||
RFLG0_ENEMY_ATTN_LOCK = 0x1000,
|
||||
RFLG0_UNK_400 = 0x400,
|
||||
RFLG0_UNK_100 = 0x100,
|
||||
RFLG0_UNK_80 = 0x80,
|
||||
RFLG0_UNK_40 = 0x40,
|
||||
RFLG0_UNK_10 = 0x10,
|
||||
@@ -459,10 +464,10 @@ public:
|
||||
static bool checkRoomRestartStart();
|
||||
static u32 checkCarryStartLightBallA();
|
||||
static u32 checkCarryStartLightBallB();
|
||||
float getSpinnerRideSpeed() const;
|
||||
f32 getSpinnerRideSpeed() const;
|
||||
bool checkSpinnerReflectEffect();
|
||||
static bool checkBoomerangCharge();
|
||||
bool checkBoomerangChargeTime();
|
||||
int checkBoomerangChargeTime();
|
||||
static daBoomerang_c* getThrowBoomerangActor();
|
||||
static void cancelBoomerangLockActor(fopAc_ac_c*);
|
||||
static void setPlayerDamage(int, int);
|
||||
@@ -565,9 +570,9 @@ public:
|
||||
virtual BOOL checkBoarRun() const;
|
||||
virtual bool checkFmChainPut() const;
|
||||
virtual bool checkHorseElecDamage() const;
|
||||
virtual float getBaseAnimeFrameRate() const;
|
||||
virtual float getBaseAnimeFrame() const;
|
||||
virtual void setAnimeFrame(float);
|
||||
virtual f32 getBaseAnimeFrameRate() const;
|
||||
virtual f32 getBaseAnimeFrame() const;
|
||||
virtual void setAnimeFrame(f32);
|
||||
virtual bool checkWolfLock(fopAc_ac_c*) const;
|
||||
virtual bool cancelWolfLock(fopAc_ac_c*);
|
||||
virtual s32 getAtnActorID() const;
|
||||
@@ -576,14 +581,14 @@ public:
|
||||
virtual bool exchangeGrabActor(fopAc_ac_c*);
|
||||
virtual bool setForceGrab(fopAc_ac_c*, int, int);
|
||||
virtual void setForcePutPos(cXyz const&);
|
||||
virtual BOOL checkPlayerNoDraw();
|
||||
virtual u32 checkPlayerNoDraw();
|
||||
virtual bool checkRopeTag();
|
||||
virtual void voiceStart(u32);
|
||||
virtual void seStartOnlyReverb(u32);
|
||||
virtual void seStartOnlyReverbLevel(u32);
|
||||
virtual void setOutPower(float, short, int);
|
||||
virtual void setGrabCollisionOffset(float, float, cBgS_PolyInfo*);
|
||||
virtual void onMagneGrab(float, float);
|
||||
virtual void setOutPower(f32, short, int);
|
||||
virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*);
|
||||
virtual void onMagneGrab(f32, f32);
|
||||
virtual void onFrollCrashFlg(u8, int);
|
||||
virtual MtxP getModelJointMtx(u16);
|
||||
virtual MtxP getHeadMtx();
|
||||
@@ -596,10 +601,10 @@ public:
|
||||
virtual void setClothesChange(int);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, short, int);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
|
||||
virtual void setPlayerPosAndAngle(float (*)[4]);
|
||||
virtual bool setThrowDamage(short, float, float, int, int, int);
|
||||
virtual void setPlayerPosAndAngle(f32 (*)[4]);
|
||||
virtual bool setThrowDamage(short, f32, f32, int, int, int);
|
||||
virtual bool checkSetNpcTks(cXyz*, int, int);
|
||||
virtual int setRollJump(float, float, short);
|
||||
virtual int setRollJump(f32, f32, short);
|
||||
virtual void playerStartCollisionSE(u32, u32);
|
||||
virtual void changeTextureAnime(u16, u16, int);
|
||||
virtual void cancelChangeTextureAnime();
|
||||
@@ -631,7 +636,7 @@ public:
|
||||
virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2);
|
||||
virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const;
|
||||
virtual void setWolfEnemyHangBiteAngle(short);
|
||||
virtual void setKandelaarMtx(float (*)[4], int, int);
|
||||
virtual void setKandelaarMtx(f32 (*)[4], int, int);
|
||||
virtual bool getStickAngleFromPlayerShape(short*) const;
|
||||
virtual bool checkSpinnerPathMove();
|
||||
virtual bool checkSpinnerTriggerAttack();
|
||||
@@ -672,7 +677,7 @@ public:
|
||||
virtual BOOL checkBootsOrArmorHeavy() const;
|
||||
virtual s32 getBottleOpenAppearItem() const;
|
||||
virtual bool checkItemSwordEquip() const;
|
||||
virtual float getSinkShapeOffset() const;
|
||||
virtual f32 getSinkShapeOffset() const;
|
||||
virtual BOOL checkSinkDead() const;
|
||||
virtual BOOL checkHorseStart();
|
||||
virtual Z2WolfHowlMgr* getWolfHowlMgrP();
|
||||
@@ -708,6 +713,7 @@ public:
|
||||
bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); }
|
||||
bool checkFrontRollCrash() const { return i_checkResetFlg0(RFLG0_FRONT_ROLL_CRASH); }
|
||||
bool checkWolfAttackReverse() const { return checkResetFlg1(RFLG1_WOLF_ATTACK_REVERSE); }
|
||||
bool checkFreezeDamage() const { return i_checkNoResetFlg1(FLG1_UNK_40000000); }
|
||||
|
||||
void onForceAutoJump() { i_onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
|
||||
void onNotAutoJump() { i_onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
|
||||
|
||||
@@ -97,8 +97,10 @@ public:
|
||||
f32 RoofChk(dBgS_RoofChk*);
|
||||
bool SplGrpChk(dBgS_SplGrpChk*);
|
||||
bool SphChk(dBgS_SphChk*, void*);
|
||||
void MoveBgCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*, bool, bool);
|
||||
void MoveBgTransPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
|
||||
void MoveBgCrrPos(cBgS_PolyInfo const& i_poly, bool param_1, cXyz* i_pos, csXyz* i_angle,
|
||||
csXyz* i_shapeAngle, bool param_5, bool param_6);
|
||||
void MoveBgTransPos(cBgS_PolyInfo const& i_poly, bool param_1, cXyz* i_pos, csXyz* i_angle,
|
||||
csXyz* i_shapeAngle);
|
||||
void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*);
|
||||
void RideCallBack(cBgS_PolyInfo const&, fopAc_ac_c*);
|
||||
void ArrowStickCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, cXyz&);
|
||||
|
||||
@@ -47,6 +47,7 @@ public:
|
||||
void SetWallH(f32 h) { m_wall_h = h; }
|
||||
void ClrWallHDirect() { m_flags &= ~WALL_H_DIRECT; }
|
||||
bool ChkWallHit() { return m_flags & WALL_HIT; }
|
||||
s16 GetWallAngleY() { return m_wall_angle_y; }
|
||||
|
||||
void SetCir(cXyz& pos) { m_cir.Set(pos.x, pos.z, pos.y + GetWallH(), m_wall_r); }
|
||||
}; // Size: 0x40
|
||||
@@ -159,6 +160,7 @@ public:
|
||||
bool ChkMoveBGOnly() const { return m_flags & MOVE_BG_ONLY; }
|
||||
void SetWallHit() { m_flags |= WALL_HIT; }
|
||||
void ClrWallNone() { m_flags &= ~WALL_NONE; }
|
||||
void OnLineCheckNone() { m_flags |= LINE_CHECK_NONE; }
|
||||
cM3dGCyl* GetWallBmdCylP() { return &m_wall_cyl; }
|
||||
|
||||
// inline dupe
|
||||
@@ -204,7 +206,7 @@ class dBgS_LinkAcch : public dBgS_Acch {
|
||||
public:
|
||||
dBgS_LinkAcch() { SetLink(); }
|
||||
|
||||
/* 80140F30 */ virtual ~dBgS_LinkAcch();
|
||||
/* 80140F30 */ virtual ~dBgS_LinkAcch() {}
|
||||
};
|
||||
|
||||
class dBgS_ObjAcch : public dBgS_Acch {
|
||||
|
||||
@@ -13,14 +13,14 @@ public:
|
||||
class dBgS_LinkGndChk : public dBgS_GndChk {
|
||||
public:
|
||||
dBgS_LinkGndChk() { SetLink(); }
|
||||
/* 80140EB8 */ virtual ~dBgS_LinkGndChk();
|
||||
/* 80140EB8 */ virtual ~dBgS_LinkGndChk() {}
|
||||
};
|
||||
|
||||
class dBgS_ObjGndChk : public dBgS_GndChk {
|
||||
public:
|
||||
dBgS_ObjGndChk() { SetObj(); }
|
||||
|
||||
/* 8001E020 */ virtual ~dBgS_ObjGndChk();
|
||||
/* 8001E020 */ virtual ~dBgS_ObjGndChk(); // should be inlined
|
||||
};
|
||||
|
||||
class dBgS_ObjGndChk_Wtr : public dBgS_ObjGndChk {
|
||||
|
||||
@@ -28,7 +28,7 @@ private:
|
||||
class dBgS_LinkRoofChk : public dBgS_RoofChk {
|
||||
public:
|
||||
dBgS_LinkRoofChk() { SetLink(); }
|
||||
/* 80140E40 */ virtual ~dBgS_LinkRoofChk();
|
||||
/* 80140E40 */ virtual ~dBgS_LinkRoofChk() {}
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_ROOF_CHK_H */
|
||||
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
}; // Size = 0x3C
|
||||
|
||||
class dCcD_GObjInf;
|
||||
typedef void (*dCcD_HitCallback)(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
typedef void (*dCcD_HitCallback)(fopAc_ac_c* i_actorA, dCcD_GObjInf* i_objInfA, fopAc_ac_c* i_actorB, dCcD_GObjInf* i_objInfB);
|
||||
|
||||
|
||||
// Attack/Defense/Correction Collider Common Base
|
||||
@@ -206,6 +206,7 @@ public:
|
||||
u8 GetHitMark() { return mHitMark; }
|
||||
void SetRVec(cXyz& vec) { mRVec = vec; }
|
||||
void SetHitPos(cXyz& pos) { mHitPos = pos; }
|
||||
cXyz* GetHitPosP() { return &mHitPos; }
|
||||
|
||||
// private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
@@ -376,6 +377,8 @@ public:
|
||||
void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); }
|
||||
void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); }
|
||||
u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); }
|
||||
cXyz* GetAtHitPosP() { return mGObjAt.GetHitPosP(); }
|
||||
bool ChkTgHookshotThrough() { return mGObjTg.ChkSPrm(0x80); }
|
||||
|
||||
static const Z2SoundID m_hitSeID[24];
|
||||
|
||||
|
||||
@@ -2505,6 +2505,10 @@ inline void dComIfGp_clearPlayerStatus0(int param_0, u32 flag) {
|
||||
g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 0, flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_clearPlayerStatus1(int param_0, u32 flag) {
|
||||
g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 1, flag);
|
||||
}
|
||||
|
||||
inline dStage_stageDt_c* i_dComIfGp_getStage() {
|
||||
return &g_dComIfG_gameInfo.play.getStage();
|
||||
}
|
||||
@@ -3423,6 +3427,16 @@ inline u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInf
|
||||
param_8, param_9, param_10);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_setPolyColor(u16 param_1, cBgS_PolyInfo& param_2,
|
||||
const cXyz* param_3, const dKy_tevstr_c* param_4,
|
||||
const csXyz* param_5, const cXyz* param_6, int param_7,
|
||||
dPa_levelEcallBack* param_8, s8 param_9,
|
||||
const cXyz* param_10) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setPoly(param_1, param_2, param_3,
|
||||
param_4, param_5, param_6, param_7,
|
||||
param_8, param_9, param_10);
|
||||
}
|
||||
|
||||
int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 angle,
|
||||
f32 param_5, _GXTexObj* tex);
|
||||
stage_camera_class* dComIfGp_getRoomCamera(int i_roomNo);
|
||||
@@ -3556,6 +3570,11 @@ inline void dComIfGd_setListIndScreen() {
|
||||
g_dComIfG_gameInfo.drawlist.setXluListP0();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListMiddle() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListMiddle();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListMiddle();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListZxlu() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListZxlu();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListZxlu();
|
||||
@@ -3565,6 +3584,10 @@ inline J3DDrawBuffer* dComIfGd_getOpaListBG() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaListBG();
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getOpaListDark() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaListDark();
|
||||
}
|
||||
|
||||
inline void dComIfGd_init() {
|
||||
g_dComIfG_gameInfo.drawlist.init();
|
||||
}
|
||||
@@ -3593,6 +3616,10 @@ inline void dComIfGd_entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) {
|
||||
g_dComIfG_gameInfo.drawlist.entryZSortListZxlu(i_packet, param_1);
|
||||
}
|
||||
|
||||
inline void dComIfGd_entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) {
|
||||
g_dComIfG_gameInfo.drawlist.entryZSortXluList(i_packet, param_1);
|
||||
}
|
||||
|
||||
inline void dComIfGd_drawCopy2D() {
|
||||
g_dComIfG_gameInfo.drawlist.drawCopy2D();
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ public:
|
||||
/* 801647B0 */ void onRoomChange(s32);
|
||||
/* 80164878 */ void getParamTargetActor(s32);
|
||||
/* 80164944 */ void GetCameraTypeFromMapToolID(s32, s32);
|
||||
/* 80164B64 */ void GetCameraTypeFromCameraName(char const*);
|
||||
/* 80164B64 */ int GetCameraTypeFromCameraName(char const*);
|
||||
/* 80164C10 */ void GetCameraTypeFromToolData(stage_camera2_data_class*);
|
||||
/* 80164C64 */ void pushInfo(dCamera_c::dCamInfo_c*, s16);
|
||||
/* 80164CAC */ void popInfo(dCamera_c::dCamInfo_c*);
|
||||
@@ -332,6 +332,7 @@ public:
|
||||
|
||||
bool Active() { return field_0x24 == 0; }
|
||||
f32 TrimHeight() { return mTrimHeight; }
|
||||
int Type() { return mCurType; }
|
||||
|
||||
static u8 engine_tbl[240];
|
||||
|
||||
|
||||
@@ -312,8 +312,9 @@ public:
|
||||
J3DDrawBuffer* getOpaListP0() { return mDrawBuffers[DB_LIST_P0]; }
|
||||
J3DDrawBuffer* getOpaListPacket() { return mDrawBuffers[DB_OPA_LIST_PACKET]; }
|
||||
J3DDrawBuffer* getOpaListBG() { return mDrawBuffers[DB_OPA_LIST_BG]; }
|
||||
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
|
||||
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
|
||||
J3DDrawBuffer* getOpaListDark() { return mDrawBuffers[DB_OPA_LIST_DARK]; }
|
||||
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSys_XLU_BUFFER_e); }
|
||||
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSys_OPA_BUFFER_e); }
|
||||
void setXluListSky() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_SKY]); }
|
||||
void setOpaListSky() { setOpaDrawList(mDrawBuffers[DB_OPA_LIST_SKY]); }
|
||||
void setXluListDark() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_DARK]); }
|
||||
@@ -333,6 +334,8 @@ public:
|
||||
void setXluList2DScreen() { setXluDrawList(mDrawBuffers[DB_LIST_2D_SCREEN]); }
|
||||
void setXluListP0() { setXluDrawList(mDrawBuffers[DB_LIST_P0]); }
|
||||
void setOpaListP0() { setOpaDrawList(mDrawBuffers[DB_LIST_P0]); }
|
||||
void setXluListMiddle() { setXluDrawList(mDrawBuffers[DB_LIST_MIDDLE]); }
|
||||
void setOpaListMiddle() { setOpaDrawList(mDrawBuffers[DB_LIST_MIDDLE]); }
|
||||
void setOpaListZxlu() { setOpaDrawList(mDrawBuffers[DB_LIST_Z_XLU]); }
|
||||
void setXluListZxlu() { setXluDrawList(mDrawBuffers[DB_LIST_Z_XLU]); }
|
||||
|
||||
@@ -341,6 +344,10 @@ public:
|
||||
entryZSortXluDrawList(mDrawBuffers[DB_LIST_Z_XLU], i_packet, param_1);
|
||||
}
|
||||
|
||||
void entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) {
|
||||
entryZSortXluDrawList(mDrawBuffers[DB_XLU_LIST], i_packet, param_1);
|
||||
}
|
||||
|
||||
int setSimpleShadow(cXyz* param_0, f32 param_1, f32 param_2, cXyz* param_3, s16 param_4,
|
||||
f32 param_5, _GXTexObj* param_6) {
|
||||
return mShadowControl.setSimple(param_0, param_1, param_2, param_3, param_4, param_5,
|
||||
|
||||
+8
-10
@@ -13,17 +13,10 @@ public:
|
||||
/* 8009CB14 */ static void entry(dEyeHL_c*);
|
||||
/* 8009CB34 */ static void remove(dEyeHL_c*);
|
||||
|
||||
static dEyeHL_mng_c* m_obj;
|
||||
|
||||
/* 0x00 */ u8 field_0x0[4];
|
||||
/* 0x04 */ ResTIMG* m_timg;
|
||||
/* 0x08 */ s16 m_lodBias;
|
||||
/* 0x0A */ u8 field_0x0a[2];
|
||||
/* 0x0C */ dEyeHL_mng_c* m_pre;
|
||||
/* 0x10 */ dEyeHL_mng_c* m_next;
|
||||
static dEyeHL_c* m_obj;
|
||||
};
|
||||
|
||||
class dEyeHL_c : public dEyeHL_mng_c {
|
||||
class dEyeHL_c {
|
||||
public:
|
||||
dEyeHL_c() {
|
||||
m_timg = NULL;
|
||||
@@ -33,7 +26,12 @@ public:
|
||||
|
||||
/* 8009C964 */ void entry(J3DModelData*, char const*);
|
||||
/* 8009CA28 */ void remove();
|
||||
/* 80140C80 */ ~dEyeHL_c();
|
||||
/* 80140C80 */ virtual ~dEyeHL_c() { remove(); }
|
||||
|
||||
/* 0x04 */ ResTIMG* m_timg;
|
||||
/* 0x08 */ s16 m_lodBias;
|
||||
/* 0x0C */ dEyeHL_c* m_pre;
|
||||
/* 0x10 */ dEyeHL_c* m_next;
|
||||
};
|
||||
|
||||
#endif /* D_D_EYE_HL_H */
|
||||
|
||||
@@ -11,6 +11,7 @@ class JKRAramArchive;
|
||||
u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* arc, char const* resName);
|
||||
BOOL dLib_checkActorInRectangle(fopAc_ac_c* param_0, fopAc_ac_c* param_1, cXyz const* param_2,
|
||||
cXyz const* param_3);
|
||||
u8 dLib_getEventSwitchNo(int param_0);
|
||||
|
||||
class STControl {
|
||||
public:
|
||||
|
||||
+24
-1
@@ -299,8 +299,15 @@ struct dStage_FloorInfo_c {
|
||||
// FLOR
|
||||
};
|
||||
|
||||
class dStage_Lbnk_dt_c {
|
||||
public:
|
||||
/* 0x0 */ u8 field_0x0[0x2 - 0x0];
|
||||
/* 0x2 */ u8 field_0x2;
|
||||
};
|
||||
|
||||
struct dStage_Lbnk_c {
|
||||
// LBNK
|
||||
/* 0x0 */ int num;
|
||||
/* 0x4 */ dStage_Lbnk_dt_c* entries;
|
||||
};
|
||||
|
||||
struct dStage_Elst_data {
|
||||
@@ -1095,6 +1102,14 @@ inline f32 dStage_FileList_dt_SeaLevel(dStage_FileList_dt_c* p_fList) {
|
||||
return p_fList->mSeaLevel;
|
||||
}
|
||||
|
||||
inline int dStage_FileList_dt_GlobalWindLevel(dStage_FileList_dt_c* i_fili) {
|
||||
return (i_fili->mParameters >> 0x12) & 3;
|
||||
}
|
||||
|
||||
inline int dStage_FileList_dt_GlobalWindDir(dStage_FileList_dt_c* i_fili) {
|
||||
return (i_fili->mParameters >> 0xF) & 7;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mLeftRmX;
|
||||
}
|
||||
@@ -1127,4 +1142,12 @@ inline int dStage_MapEvent_dt_c_getEventSCutType(dStage_MapEvent_dt_c* event) {
|
||||
return event->field_0x8 >> 1 & 3;
|
||||
}
|
||||
|
||||
inline int dStage_lbnkWIND(dStage_Lbnk_dt_c* i_data) {
|
||||
return (i_data->field_0x2 >> 3) & 7;
|
||||
}
|
||||
|
||||
inline int dStage_lbnkWlevel(dStage_Lbnk_dt_c* i_data) {
|
||||
return (i_data->field_0x2 >> 6) & 3;
|
||||
}
|
||||
|
||||
#endif /* D_D_STAGE_H */
|
||||
|
||||
@@ -127,7 +127,7 @@ struct BOSS_LIGHT {
|
||||
|
||||
struct GB_WIND_INFLUENCE {
|
||||
/* 0x00 */ cXyz vec;
|
||||
/* 0x0C */ int field_0xc;
|
||||
/* 0x0C */ cXyz* vec_override;
|
||||
/* 0x10 */ f32 pow;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
#ifndef D_KANKYO_D_KANKYO_RAIN_H
|
||||
#define D_KANKYO_D_KANKYO_RAIN_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
|
||||
struct cXyz;
|
||||
struct _GXColor;
|
||||
|
||||
void dKyr_drawSun(f32 (*param_0)[4], cXyz* param_1, _GXColor& param_2, u8** param_3);
|
||||
void dKyr_drawLenzflare(f32 (*param_0)[4], cXyz* param_1, _GXColor& param_2, u8** param_3);
|
||||
void dKyr_drawSibuki(f32 (*param_0)[4], u8** param_1);
|
||||
void dKyr_drawRain(f32 (*param_0)[4], u8** param_1);
|
||||
void dKyr_drawSnow(f32 (*param_0)[4], u8** param_1);
|
||||
void dKyr_drawStar(f32 (*param_0)[4], u8** param_1);
|
||||
void drawCloudShadow(f32 (*param_0)[4], u8** param_1);
|
||||
void dKyr_drawHousi(f32 (*param_0)[4], u8** param_1);
|
||||
void drawVrkumo(f32 (*param_0)[4], _GXColor& param_1, u8** param_2);
|
||||
void dKyr_odour_draw(f32 (*param_0)[4], u8** param_1);
|
||||
void dKyr_mud_draw(f32 (*param_0)[4], u8** param_1);
|
||||
void dKyr_evil_draw(f32 (*param_0)[4], u8** param_1);
|
||||
void dKyr_drawSun(Mtx param_0, cXyz* param_1, _GXColor& param_2, u8** param_3);
|
||||
void dKyr_drawLenzflare(Mtx param_0, cXyz* param_1, _GXColor& param_2, u8** param_3);
|
||||
void dKyr_drawSibuki(Mtx param_0, u8** param_1);
|
||||
void dKyr_drawRain(Mtx param_0, u8** param_1);
|
||||
void dKyr_drawSnow(Mtx param_0, u8** param_1);
|
||||
void dKyr_drawStar(Mtx param_0, u8** param_1);
|
||||
void drawCloudShadow(Mtx param_0, u8** param_1);
|
||||
void dKyr_drawHousi(Mtx param_0, u8** param_1);
|
||||
void drawVrkumo(Mtx param_0, _GXColor& param_1, u8** param_2);
|
||||
void dKyr_odour_draw(Mtx param_0, u8** param_1);
|
||||
void dKyr_mud_draw(Mtx param_0, u8** param_1);
|
||||
void dKyr_evil_draw(Mtx param_0, u8** param_1);
|
||||
void dKyr_thunder_init();
|
||||
void dKyr_thunder_move();
|
||||
void dKyr_snow_init();
|
||||
@@ -39,6 +39,7 @@ void dKyr_star_init();
|
||||
void dKyr_shstar_init();
|
||||
void dKyr_star_move();
|
||||
void dKyr_shstar_move();
|
||||
void vrkumo_move();
|
||||
void dKyr_get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2);
|
||||
|
||||
#endif /* D_KANKYO_D_KANKYO_RAIN_H */
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class WIND_INFLUENCE;
|
||||
|
||||
void dKyw_wether_draw();
|
||||
void dKyw_wether_delete();
|
||||
@@ -28,6 +29,8 @@ void dKyw_custom_windpower(f32 pow);
|
||||
void dKyw_evt_wind_set_go();
|
||||
void dKyw_wether_proc();
|
||||
void dKyw_get_AllWind_vec(cXyz* param_0, cXyz* param_1, f32* param_2);
|
||||
void dKyw_pntwind_cut(WIND_INFLUENCE* i_pntwind);
|
||||
cXyz dKyw_pntwind_get_vecpow(cXyz* param_0);
|
||||
|
||||
class dKankyo_sun_Packet : public J3DPacket {
|
||||
public:
|
||||
@@ -79,7 +82,7 @@ struct RAIN_EFF {
|
||||
/* 80056CD0 */ ~RAIN_EFF();
|
||||
/* 80056D0C */ RAIN_EFF();
|
||||
|
||||
/* 0x00 */ u8 mStatus;
|
||||
/* 0x00 */ s8 mStatus;
|
||||
/* 0x04 */ cXyz mPosition;
|
||||
/* 0x10 */ cXyz mBasePos;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
@@ -176,14 +179,18 @@ struct HOUSI_EFF {
|
||||
/* 80056EA8 */ ~HOUSI_EFF();
|
||||
/* 80056EE4 */ HOUSI_EFF();
|
||||
|
||||
/* 0x00 */ u8 mStatus;
|
||||
/* 0x00 */ s8 mStatus;
|
||||
/* 0x04 */ cXyz mPosition;
|
||||
/* 0x10 */ cXyz mBasePos;
|
||||
/* 0x1C */ cXyz mSpeed;
|
||||
/* 0x28 */ cXyz mScale;
|
||||
/* 0x34 */ u8 field_0x34[0x40 - 0x34];
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ u16 field_0x3c;
|
||||
/* 0x40 */ f32 mAlpha;
|
||||
/* 0x44 */ u8 field_0x44[0x50 - 0x44];
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ f32 field_0x48;
|
||||
/* 0x4C */ u16 field_0x4c;
|
||||
}; // Size: 0x50
|
||||
|
||||
class dKankyo_housi_Packet : public J3DPacket {
|
||||
@@ -196,7 +203,7 @@ public:
|
||||
/* 0x0020 */ HOUSI_EFF mHousiEff[300];
|
||||
/* 0x5DE0 */ u8 field_0x5de0[8];
|
||||
/* 0x5DE8 */ f32 field_0x5de8;
|
||||
/* 0x5DEC */ u8 field_0x5dec[4];
|
||||
/* 0x5DEC */ s16 field_0x5dec;
|
||||
}; // Size: 0x5DF0
|
||||
|
||||
struct CLOUD_EFF {
|
||||
|
||||
@@ -16,7 +16,7 @@ class fopAc_ac_c;
|
||||
|
||||
class dPa_levelEcallBack : public JPAEmitterCallBack {
|
||||
public:
|
||||
/* 8004FB18 */ virtual ~dPa_levelEcallBack();
|
||||
/* 8004FB18 */ virtual ~dPa_levelEcallBack(); /* { cleanup(); } */ // should be inlined
|
||||
virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) = 0;
|
||||
/* 8004FB8C */ virtual void cleanup();
|
||||
};
|
||||
@@ -27,7 +27,7 @@ public:
|
||||
|
||||
/* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*);
|
||||
|
||||
/* 8004FCC8 */ virtual ~dPa_hermiteEcallBack_c();
|
||||
/* 8004FCC8 */ virtual ~dPa_hermiteEcallBack_c(); // should be inlined
|
||||
/* 8004F6C4 */ virtual void executeAfter(JPABaseEmitter*);
|
||||
/* 8004FABC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
|
||||
|
||||
@@ -284,6 +284,12 @@ public:
|
||||
*/
|
||||
static void XrotM(s16 x) { mDoMtx_XrotM(now, x); }
|
||||
|
||||
/**
|
||||
* Rotates the `now` matrix on the Z-axis
|
||||
* @param z The rotation value
|
||||
*/
|
||||
static void ZrotS(s16 z) { mDoMtx_ZrotS(now, z); }
|
||||
|
||||
/**
|
||||
* Rotates a new matrix on the z-axis then concatenates it with the `now` matrix
|
||||
* @param z The rotation value
|
||||
|
||||
@@ -1,6 +1,161 @@
|
||||
#ifndef D_A_B_DR_H
|
||||
#define D_A_B_DR_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daB_DR_c : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 805BAF80 */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 805BB120 */ void JointCallBack(J3DJoint*, int);
|
||||
/* 805BB16C */ void draw();
|
||||
/* 805BB408 */ void setBck(int, u8, f32, f32);
|
||||
/* 805BB4B4 */ void setActionMode(int, int);
|
||||
/* 805BB4CC */ void mGlider_WindPosSet();
|
||||
/* 805BB540 */ void mBoot_c_tranceSet(bool);
|
||||
/* 805BB64C */ void mStatusONOFF(int);
|
||||
/* 805BB6E8 */ void setSe();
|
||||
/* 805BBFC0 */ void setDeathLightEffect();
|
||||
/* 805BC0B8 */ void chkPartCreate(bool);
|
||||
/* 805BC248 */ void mHabatakiAnmSet(int);
|
||||
/* 805BC57C */ void mGlider_AniSet(bool);
|
||||
/* 805BC8B4 */ void mGliderAtAniSet();
|
||||
/* 805BCA10 */ void tail_hit_check();
|
||||
/* 805BCAD4 */ void week_hit_check();
|
||||
/* 805BCBD0 */ void mTimerClr();
|
||||
/* 805BCBF4 */ void mCountClr();
|
||||
/* 805BCC18 */ void mAllClr();
|
||||
/* 805BCC4C */ void mHeadAngleSet();
|
||||
/* 805BCD7C */ void flapMove(bool);
|
||||
/* 805BCEA4 */ void revolutionMove();
|
||||
/* 805BD05C */ void mPlayerHighCheck();
|
||||
/* 805BD15C */ void mBgFallGroundCheck();
|
||||
/* 805BD3E4 */ void normalHoverMove();
|
||||
/* 805BD5FC */ void executeWait();
|
||||
/* 805BD98C */ void executeFlyWait();
|
||||
/* 805BDBC4 */ void executeTailHit();
|
||||
/* 805BE9B4 */ void executeWeekHit();
|
||||
/* 805BF4C8 */ void mBreathSet();
|
||||
/* 805BF768 */ void mBreathHighSet(bool);
|
||||
/* 805BFA6C */ void mFeintBreath();
|
||||
/* 805BFD88 */ void executeBreathAttack();
|
||||
/* 805C062C */ void executeWindAttack();
|
||||
/* 805C0CAC */ void mGliderMoveSub(f32);
|
||||
/* 805C0EF8 */ void executeGliderAttack();
|
||||
/* 805C1E0C */ void executePillarSearch();
|
||||
/* 805C24BC */ void executePillarWait();
|
||||
/* 805C2BE8 */ void startDemoCheck();
|
||||
/* 805C2CD0 */ void executeDamageDemo();
|
||||
/* 805C3558 */ void executeMiddleDemo();
|
||||
/* 805C36A4 */ void executeDead();
|
||||
/* 805C382C */ void executeBullet();
|
||||
/* 805C39D8 */ void executeParts();
|
||||
/* 805C3CB0 */ void action();
|
||||
/* 805C40E0 */ void action_fire();
|
||||
/* 805C4130 */ void action_parts();
|
||||
/* 805C41A4 */ void mtx_set();
|
||||
/* 805C4684 */ void parts_mtx_set();
|
||||
/* 805C46E0 */ void cc_set();
|
||||
/* 805C4E14 */ void down_cc_set();
|
||||
/* 805C4FB4 */ void demo_skip(int);
|
||||
/* 805C50BC */ void DemoSkipCallBack(void*, int);
|
||||
/* 805C50F0 */ void execute();
|
||||
/* 805C55B0 */ void _delete();
|
||||
/* 805C56A4 */ void CreateHeap();
|
||||
/* 805C5974 */ void create();
|
||||
/* 805C62B0 */ daB_DR_c();
|
||||
|
||||
void onTarget() { mTarget = true; }
|
||||
bool isBack() { return mPrm0; }
|
||||
|
||||
/* 0x05AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x05B4 */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x05B8 */ J3DModel* mpPartModel;
|
||||
/* 0x05BC */ mDoExt_brkAnm* mpCoreBrk;
|
||||
/* 0x05C0 */ Z2CreatureEnemy field_0x5c0;
|
||||
/* 0x0664 */ Z2CreatureEnemy field_0x664;
|
||||
/* 0x0708 */ int mAction;
|
||||
/* 0x070C */ int mMode;
|
||||
/* 0x0710 */ int mAnmID;
|
||||
/* 0x0714 */ u8 field_0x714[0x0718 - 0x0714];
|
||||
/* 0x0718 */ int field_0x718;
|
||||
/* 0x071C */ u8 field_0x71C[0x0720 - 0x071C];
|
||||
/* 0x0720 */ f32 field_0x720;
|
||||
/* 0x0724 */ f32 field_0x724;
|
||||
/* 0x0728 */ f32 field_0x728;
|
||||
/* 0x072C */ f32 field_0x72c;
|
||||
/* 0x0730 */ u8 field_0x730[0x0734 - 0x0730];
|
||||
/* 0x0734 */ f32 field_0x734;
|
||||
/* 0x0738 */ u8 field_0x738[0x073C - 0x0738];
|
||||
/* 0x073C */ f32 field_0x73c;
|
||||
/* 0x0740 */ f32 field_0x740;
|
||||
/* 0x0744 */ f32 field_0x744;
|
||||
/* 0x0748 */ f32 field_0x748;
|
||||
/* 0x074C */ s16 field_0x74c;
|
||||
/* 0x074E */ s16 field_0x74e;
|
||||
/* 0x0750 */ s16 field_0x750;
|
||||
/* 0x0752 */ s16 field_0x752;
|
||||
/* 0x0754 */ s16 field_0x754;
|
||||
/* 0x0756 */ s16 field_0x756;
|
||||
/* 0x0758 */ s16 field_0x758;
|
||||
/* 0x075A */ s16 field_0x75a;
|
||||
/* 0x075C */ u8 field_0x75C[0x0760 - 0x075C];
|
||||
/* 0x0760 */ cXyz field_0x760;
|
||||
/* 0x076C */ cXyz field_0x76c;
|
||||
/* 0x0778 */ cXyz field_0x778;
|
||||
/* 0x0784 */ cXyz field_0x784;
|
||||
/* 0x0790 */ cXyz field_0x790;
|
||||
/* 0x079C */ cXyz field_0x79c;
|
||||
/* 0x07A8 */ cXyz field_0x7a8;
|
||||
/* 0x07B4 */ cXyz field_0x7b4;
|
||||
/* 0x07C0 */ int mTimer[4];
|
||||
/* 0x07D0 */ u8 field_0x7d0;
|
||||
/* 0x07D1 */ u8 field_0x7d1;
|
||||
/* 0x07D2 */ u8 field_0x7d2;
|
||||
/* 0x07D3 */ u8 field_0x7d3;
|
||||
/* 0x07D4 */ u8 field_0x7d4;
|
||||
/* 0x07D5 */ u8 field_0x7D5[0x07D6 - 0x07D5];
|
||||
/* 0x07D6 */ u8 field_0x7d6;
|
||||
/* 0x07D7 */ u8 field_0x7d7;
|
||||
/* 0x07D8 */ u8 field_0x7D8[0x07D9 - 0x07D8];
|
||||
/* 0x07D9 */ u8 mTarget;
|
||||
/* 0x07DA */ u8 field_0x7DA[0x07DB - 0x07DA];
|
||||
/* 0x07DB */ u8 field_0x7db;
|
||||
/* 0x07DC */ u8 field_0x7DC[0x07E0 - 0x07DC];
|
||||
/* 0x07E0 */ int field_0x7e0;
|
||||
/* 0x07E4 */ u8 field_0x7e4[4];
|
||||
/* 0x07E8 */ u8 field_0x7e8;
|
||||
/* 0x07E9 */ u8 field_0x7E9[0x07EA - 0x07E9];
|
||||
/* 0x07EA */ u8 mPrm0;
|
||||
/* 0x07EB */ u8 field_0x7eb;
|
||||
/* 0x07EC */ u8 mPrm1;
|
||||
/* 0x07ED */ u8 mPrm2;
|
||||
/* 0x07EE */ u8 mPrm3;
|
||||
/* 0x07EF */ u8 field_0x7EF[0x07F0 - 0x07EF];
|
||||
/* 0x07F0 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x0830 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x0A08 */ dCcD_Stts field_0xa08;
|
||||
/* 0x0A44 */ dCcD_Cyl mWeekCc;
|
||||
/* 0x0B80 */ dCcD_Sph mFootAtCc[2];
|
||||
/* 0x0DF0 */ dCcD_Sph field_0xdf0;
|
||||
/* 0x0F28 */ dCcD_Sph mBreathAtCc;
|
||||
/* 0x1060 */ dCcD_Sph mWindAtCc;
|
||||
/* 0x1198 */ dCcD_Sph mWindAtCc2;
|
||||
/* 0x12D0 */ dCcD_Sph mWindAtCc3;
|
||||
/* 0x1408 */ dCcD_Sph mTailCc;
|
||||
/* 0x1540 */ dCcD_Cyl mPillarCc;
|
||||
/* 0x167C */ dCcD_Sph mDownSphCc[9];
|
||||
/* 0x2174 */ dCcD_Cyl mDownCc[5];
|
||||
/* 0x27A0 */ u8 field_0x27A0[0x27A8 - 0x27A0];
|
||||
/* 0x27A8 */ Z2CreatureEnemy* field_0x27a8;
|
||||
/* 0x27AC */ u8 field_0x27AC[0x27C4 - 0x27AC];
|
||||
/* 0x27C4 */ cXyz field_0x27c4;
|
||||
/* 0x27D0 */ cXyz field_0x27d0;
|
||||
/* 0x27DC */ u32 field_0x27dc[4];
|
||||
/* 0x27EC */ u32 field_0x27ec[4];
|
||||
/* 0x27FC */ u32 field_0x27fc[4];
|
||||
/* 0x280C */ u32 field_0x280c;
|
||||
/* 0x2810 */ u8 field_0x2810[0x2814 - 0x2810];
|
||||
/* 0x2814 */ dMsgFlow_c mMsgFlow;
|
||||
};
|
||||
|
||||
#endif /* D_A_B_DR_H */
|
||||
|
||||
@@ -1,6 +1,40 @@
|
||||
#ifndef D_A_ANDSW2_H
|
||||
#define D_A_ANDSW2_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daAndsw2_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum Action_e {
|
||||
ACT_ON_ALL_e,
|
||||
ACT_TIMER_e,
|
||||
ACT_ORDER_e,
|
||||
ACT_EVENT_e,
|
||||
ACT_OFF_e,
|
||||
ACT_WAIT_e,
|
||||
};
|
||||
|
||||
/* 804D5DF8 */ u8 getEventNo();
|
||||
/* 804D5E04 */ u8 getSwbit();
|
||||
/* 804D5E10 */ u8 getSwbit2();
|
||||
/* 804D5E1C */ u8 getType();
|
||||
/* 804D5E28 */ u8 getTimer();
|
||||
/* 804D5E34 */ u8 getNum();
|
||||
/* 804D5E40 */ u8 getTopSw();
|
||||
/* 804D5EB0 */ u8 getSwAns();
|
||||
/* 804D5EBC */ BOOL chkAllSw2();
|
||||
/* 804D5F64 */ bool chkSwStatus();
|
||||
/* 804D6024 */ bool chkSwStatus2();
|
||||
/* 804D60CC */ ~daAndsw2_c();
|
||||
/* 804D6120 */ int create();
|
||||
|
||||
inline int execute();
|
||||
|
||||
void setActio(u8 i_action) { mAction = i_action; }
|
||||
|
||||
/* 0x568 */ s16 mTimer;
|
||||
/* 0x56A */ s16 mEventIdx;
|
||||
/* 0x56C */ u8 mAction;
|
||||
};
|
||||
|
||||
#endif /* D_A_ANDSW2_H */
|
||||
|
||||
@@ -32,6 +32,7 @@ public:
|
||||
/* 80CFCD98 */ virtual int Delete();
|
||||
|
||||
void setHangPlayer() { mHangPlayer = 1; }
|
||||
u8 getType() { return field_0x730; }
|
||||
|
||||
/* 0x5A0 */ dEvLib_callback_c field_0x5a0;
|
||||
/* 0x5B0 */ request_of_phase_process_class mPhase;
|
||||
|
||||
@@ -1048,4 +1048,5 @@ RELS := \
|
||||
|
||||
O_FILES_SYM_ON := \
|
||||
$(BUILD_DIR)/src/c/c_dylink.o \
|
||||
$(BUILD_DIR)/src/d/a/d_a_alink.o \
|
||||
$(BUILD_DIR)/src/DynamicLink.o \
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
// Translation Unit: d_a_b_dr
|
||||
//
|
||||
|
||||
#include "rel/d/a/b/d_a_b_dr/d_a_b_dr.h"
|
||||
// #include "rel/d/a/b/d_a_b_dr/d_a_b_dr.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
|
||||
+306
-254
@@ -4,47 +4,10 @@
|
||||
//
|
||||
|
||||
#include "rel/d/a/d_a_andsw2/d_a_andsw2.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daAndsw2_c {
|
||||
/* 804D5DF8 */ void getEventNo();
|
||||
/* 804D5E04 */ void getSwbit();
|
||||
/* 804D5E10 */ void getSwbit2();
|
||||
/* 804D5E1C */ void getType();
|
||||
/* 804D5E28 */ void getTimer();
|
||||
/* 804D5E34 */ void getNum();
|
||||
/* 804D5E40 */ void getTopSw();
|
||||
/* 804D5EB0 */ void getSwAns();
|
||||
/* 804D5EBC */ void chkAllSw2();
|
||||
/* 804D5F64 */ void chkSwStatus();
|
||||
/* 804D6024 */ void chkSwStatus2();
|
||||
/* 804D60CC */ ~daAndsw2_c();
|
||||
/* 804D6120 */ void create();
|
||||
};
|
||||
|
||||
struct dSv_info_c {
|
||||
/* 80035200 */ void onSwitch(int, int);
|
||||
/* 800352B0 */ void offSwitch(int, int);
|
||||
/* 80035360 */ void isSwitch(int, int) const;
|
||||
};
|
||||
|
||||
struct dEvt_control_c {
|
||||
/* 80042468 */ void reset();
|
||||
};
|
||||
|
||||
struct dEvent_manager_c {
|
||||
/* 80047698 */ void getEventIdx(fopAc_ac_c*, u8);
|
||||
/* 80047A78 */ void endCheck(s16);
|
||||
};
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_lib.h"
|
||||
#include "d/d_procname.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -52,314 +15,403 @@ struct dEvent_manager_c {
|
||||
|
||||
extern "C" void getEventNo__10daAndsw2_cFv();
|
||||
extern "C" void getSwbit__10daAndsw2_cFv();
|
||||
extern "C" void getSwbit2__10daAndsw2_cFv();
|
||||
extern "C" void getType__10daAndsw2_cFv();
|
||||
extern "C" void getTimer__10daAndsw2_cFv();
|
||||
extern "C" void getNum__10daAndsw2_cFv();
|
||||
extern "C" void getTopSw__10daAndsw2_cFv();
|
||||
extern "C" void getSwAns__10daAndsw2_cFv();
|
||||
extern "C" void chkAllSw2__10daAndsw2_cFv();
|
||||
extern "C" void chkSwStatus__10daAndsw2_cFv();
|
||||
extern "C" void chkSwStatus2__10daAndsw2_cFv();
|
||||
extern "C" void __dt__10daAndsw2_cFv();
|
||||
extern "C" void create__10daAndsw2_cFv();
|
||||
extern "C" static void daAndsw2_actionOnAll__FP10daAndsw2_c();
|
||||
extern "C" static void daAndsw2_actionTimer__FP10daAndsw2_c();
|
||||
extern "C" static void daAndsw2_actionOrder__FP10daAndsw2_c();
|
||||
extern "C" static void daAndsw2_actionEvent__FP10daAndsw2_c();
|
||||
extern "C" static void daAndsw2_actionOff__FP10daAndsw2_c();
|
||||
extern "C" static bool daAndsw2_actionWait__FP10daAndsw2_c();
|
||||
extern "C" static void daAndsw2_Execute__FP10daAndsw2_c();
|
||||
extern "C" static void daAndsw2_Delete__FP10daAndsw2_c();
|
||||
extern "C" static void daAndsw2_Create__FP10fopAc_ac_c();
|
||||
extern "C" extern void* g_profile_ANDSW2[12];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
|
||||
extern "C" void dLib_getEventSwitchNo__Fi();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void offSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void reset__14dEvt_control_cFv();
|
||||
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc();
|
||||
extern "C" void endCheck__16dEvent_manager_cFs();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_29();
|
||||
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];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 804D5DF8-804D5E04 000078 000C+00 2/2 0/0 0/0 .text getEventNo__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::getEventNo() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/getEventNo__10daAndsw2_cFv.s"
|
||||
u8 daAndsw2_c::getEventNo() {
|
||||
return orig.angle.x & 0xFF;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5E04-804D5E10 000084 000C+00 6/6 0/0 0/0 .text getSwbit__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::getSwbit() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/getSwbit__10daAndsw2_cFv.s"
|
||||
u8 daAndsw2_c::getSwbit() {
|
||||
return fopAcM_GetParam(this) >> 0x10;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5E10-804D5E1C 000090 000C+00 1/1 0/0 0/0 .text getSwbit2__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::getSwbit2() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/getSwbit2__10daAndsw2_cFv.s"
|
||||
u8 daAndsw2_c::getSwbit2() {
|
||||
return fopAcM_GetParam(this) >> 0x18;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5E1C-804D5E28 00009C 000C+00 6/6 0/0 0/0 .text getType__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::getType() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/getType__10daAndsw2_cFv.s"
|
||||
u8 daAndsw2_c::getType() {
|
||||
return fopAcM_GetParam(this) >> 0x8;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5E28-804D5E34 0000A8 000C+00 1/1 0/0 0/0 .text getTimer__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::getTimer() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/getTimer__10daAndsw2_cFv.s"
|
||||
u8 daAndsw2_c::getTimer() {
|
||||
return orig.angle.z & 0xFF;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5E34-804D5E40 0000B4 000C+00 3/3 0/0 0/0 .text getNum__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::getNum() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/getNum__10daAndsw2_cFv.s"
|
||||
u8 daAndsw2_c::getNum() {
|
||||
return fopAcM_GetParam(this) & 0xFF;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5E40-804D5EB0 0000C0 0070+00 3/3 0/0 0/0 .text getTopSw__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::getTopSw() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/getTopSw__10daAndsw2_cFv.s"
|
||||
u8 daAndsw2_c::getTopSw() {
|
||||
if (getSwbit2() != 0xFF) {
|
||||
return getSwbit2();
|
||||
} else if (getSwbit() != 0xFF) {
|
||||
return getSwbit() + 1;
|
||||
} else {
|
||||
return 0xFF;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5EB0-804D5EBC 000130 000C+00 1/1 0/0 0/0 .text getSwAns__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::getSwAns() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/getSwAns__10daAndsw2_cFv.s"
|
||||
u8 daAndsw2_c::getSwAns() {
|
||||
return (orig.angle.x >> 8) & 0xFF;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5EBC-804D5F64 00013C 00A8+00 4/4 0/0 0/0 .text chkAllSw2__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::chkAllSw2() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/chkAllSw2__10daAndsw2_cFv.s"
|
||||
BOOL daAndsw2_c::chkAllSw2() {
|
||||
int top_sw = getTopSw();
|
||||
int num = getNum();
|
||||
|
||||
if (num == 0xFF || num == 0 || top_sw == 0xFF) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < num; i++) {
|
||||
if (!dComIfGs_isSwitch(top_sw + i, fopAcM_GetRoomNo(this))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D5F64-804D6024 0001E4 00C0+00 4/4 0/0 0/0 .text chkSwStatus__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::chkSwStatus() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/chkSwStatus__10daAndsw2_cFv.s"
|
||||
bool daAndsw2_c::chkSwStatus() {
|
||||
int top_sw = getTopSw();
|
||||
int num = getNum();
|
||||
u8 status = 0;
|
||||
|
||||
if (num == 0xFF || num == 0 || top_sw == 0xFF) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < num; i++) {
|
||||
status |= dComIfGs_isSwitch(top_sw + i, fopAcM_GetRoomNo(this)) << i;
|
||||
}
|
||||
|
||||
if (status == getSwAns()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D6024-804D60CC 0002A4 00A8+00 1/1 0/0 0/0 .text chkSwStatus2__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::chkSwStatus2() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/chkSwStatus2__10daAndsw2_cFv.s"
|
||||
bool daAndsw2_c::chkSwStatus2() {
|
||||
int top_sw = getTopSw();
|
||||
int num = getNum();
|
||||
|
||||
if (num == 0xFF || num == 0 || top_sw == 0xFF) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < num; i++) {
|
||||
if (dComIfGs_isSwitch(top_sw + i, fopAcM_GetRoomNo(this))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D60CC-804D6120 00034C 0054+00 1/1 0/0 0/0 .text __dt__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daAndsw2_c::~daAndsw2_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/__dt__10daAndsw2_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804D6AC8-804D6AE4 -00001 001C+00 1/1 0/0 0/0 .data @3821 */
|
||||
SECTION_DATA static void* lit_3821[7] = {
|
||||
(void*)(((char*)create__10daAndsw2_cFv) + 0x74),
|
||||
(void*)(((char*)create__10daAndsw2_cFv) + 0xD8),
|
||||
(void*)(((char*)create__10daAndsw2_cFv) + 0x148),
|
||||
(void*)(((char*)create__10daAndsw2_cFv) + 0x1AC),
|
||||
(void*)(((char*)create__10daAndsw2_cFv) + 0x210),
|
||||
(void*)(((char*)create__10daAndsw2_cFv) + 0x21C),
|
||||
(void*)(((char*)create__10daAndsw2_cFv) + 0xD8),
|
||||
};
|
||||
daAndsw2_c::~daAndsw2_c() {}
|
||||
|
||||
/* 804D6120-804D63A4 0003A0 0284+00 2/1 0/0 0/0 .text create__10daAndsw2_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAndsw2_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/create__10daAndsw2_cFv.s"
|
||||
int daAndsw2_c::create() {
|
||||
int sw = getSwbit();
|
||||
fopAcM_SetupActor(this, daAndsw2_c);
|
||||
|
||||
switch (getType()) {
|
||||
case 0:
|
||||
if (sw == 0xFF || dComIfGs_isSwitch(sw, fopAcM_GetRoomNo(this))) {
|
||||
setActio(ACT_WAIT_e);
|
||||
} else {
|
||||
setActio(ACT_ON_ALL_e);
|
||||
}
|
||||
|
||||
mEventIdx = i_dComIfGp_getEventManager().getEventIdx(this, getEventNo());
|
||||
break;
|
||||
case 1:
|
||||
case 6:
|
||||
if (sw == 0xFF) {
|
||||
setActio(ACT_WAIT_e);
|
||||
} else if (dComIfGs_isSwitch(sw, fopAcM_GetRoomNo(this))) {
|
||||
setActio(ACT_OFF_e);
|
||||
} else {
|
||||
setActio(ACT_ON_ALL_e);
|
||||
}
|
||||
|
||||
mEventIdx = i_dComIfGp_getEventManager().getEventIdx(this, getEventNo());
|
||||
break;
|
||||
case 2:
|
||||
if (sw == 0xFF || dComIfGs_isSwitch(sw, fopAcM_GetRoomNo(this))) {
|
||||
setActio(ACT_WAIT_e);
|
||||
} else {
|
||||
setActio(ACT_ON_ALL_e);
|
||||
}
|
||||
|
||||
mEventIdx = i_dComIfGp_getEventManager().getEventIdx(this, getEventNo());
|
||||
break;
|
||||
case 3:
|
||||
if (sw == 0xFF || dComIfGs_isSwitch(sw, fopAcM_GetRoomNo(this))) {
|
||||
setActio(ACT_OFF_e);
|
||||
} else {
|
||||
setActio(ACT_ON_ALL_e);
|
||||
}
|
||||
|
||||
mEventIdx = i_dComIfGp_getEventManager().getEventIdx(this, getEventNo());
|
||||
break;
|
||||
case 4:
|
||||
setActio(ACT_ON_ALL_e);
|
||||
break;
|
||||
case 5:
|
||||
setActio(ACT_ON_ALL_e);
|
||||
mEventIdx = i_dComIfGp_getEventManager().getEventIdx(this, getEventNo());
|
||||
break;
|
||||
default:
|
||||
setActio(ACT_WAIT_e);
|
||||
break;
|
||||
}
|
||||
|
||||
shape_angle.z = 0;
|
||||
shape_angle.x = 0;
|
||||
current.angle.z = 0;
|
||||
current.angle.x = 0;
|
||||
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D63A4-804D6580 000624 01DC+00 1/0 0/0 0/0 .text daAndsw2_actionOnAll__FP10daAndsw2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daAndsw2_actionOnAll(daAndsw2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_actionOnAll__FP10daAndsw2_c.s"
|
||||
static int daAndsw2_actionOnAll(daAndsw2_c* i_this) {
|
||||
u8 var_r29 = false;
|
||||
|
||||
switch (i_this->getType()) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 5:
|
||||
case 6:
|
||||
BOOL temp_r0 = i_this->chkAllSw2() != 0;
|
||||
var_r29 = temp_r0;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
BOOL temp_r0_2 = i_this->chkSwStatus() != 0;
|
||||
var_r29 = temp_r0_2;
|
||||
break;
|
||||
case 4:
|
||||
if (!dComIfGs_isSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this))) {
|
||||
BOOL temp_r0 = i_this->chkSwStatus2() != 0;
|
||||
var_r29 = temp_r0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (var_r29) {
|
||||
if (i_this->getTimer() != 0xFF) {
|
||||
i_this->mTimer = i_this->getTimer() * 15;
|
||||
i_this->setActio(daAndsw2_c::ACT_TIMER_e);
|
||||
} else if (i_this->mEventIdx != -1 && i_this->getType() != 4) {
|
||||
i_this->setActio(daAndsw2_c::ACT_ORDER_e);
|
||||
} else {
|
||||
dComIfGs_onSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this));
|
||||
|
||||
if (i_this->getType() == 1 || i_this->getType() == 3 || i_this->getType() == 6) {
|
||||
i_this->setActio(daAndsw2_c::ACT_OFF_e);
|
||||
} else if (i_this->getType() != 4) {
|
||||
i_this->setActio(daAndsw2_c::ACT_WAIT_e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D6580-804D6704 000800 0184+00 1/0 0/0 0/0 .text daAndsw2_actionTimer__FP10daAndsw2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daAndsw2_actionTimer(daAndsw2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_actionTimer__FP10daAndsw2_c.s"
|
||||
static int daAndsw2_actionTimer(daAndsw2_c* i_this) {
|
||||
if ((i_this->getType() == 1 && !i_this->chkAllSw2()) ||
|
||||
(i_this->getType() == 3 && !i_this->chkSwStatus()) ||
|
||||
(i_this->getType() == 5 && !i_this->chkAllSw2()) ||
|
||||
(i_this->getType() == 6 && !i_this->chkAllSw2()))
|
||||
{
|
||||
i_this->setActio(daAndsw2_c::ACT_ON_ALL_e);
|
||||
} else if (i_this->mTimer > 0) {
|
||||
i_this->mTimer--;
|
||||
} else if (i_this->mEventIdx != -1) {
|
||||
i_this->setActio(daAndsw2_c::ACT_ORDER_e);
|
||||
} else {
|
||||
dComIfGs_onSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this));
|
||||
if (i_this->getType() == 1 || i_this->getType() == 5) {
|
||||
i_this->setActio(daAndsw2_c::ACT_WAIT_e);
|
||||
} else if (i_this->getType() == 3 || i_this->getType() == 6) {
|
||||
i_this->setActio(daAndsw2_c::ACT_OFF_e);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D6704-804D68A4 000984 01A0+00 1/0 0/0 0/0 .text daAndsw2_actionOrder__FP10daAndsw2_c */
|
||||
// missing mr / out of order instruction
|
||||
#ifdef NONMATCHING
|
||||
static int daAndsw2_actionOrder(daAndsw2_c* i_this) {
|
||||
if (i_this->mEvtInfo.i_checkCommandDemoAccrpt()) {
|
||||
i_this->setActio(daAndsw2_c::ACT_EVENT_e);
|
||||
dComIfGs_onSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this));
|
||||
} else if ((i_this->getType() == 1 && !i_this->chkAllSw2()) ||
|
||||
(i_this->getType() == 3 && !i_this->chkSwStatus()) ||
|
||||
(i_this->getType() == 5 && !i_this->chkAllSw2()) ||
|
||||
(i_this->getType() == 6 && !i_this->chkAllSw2()))
|
||||
{
|
||||
i_this->setActio(daAndsw2_c::ACT_ON_ALL_e);
|
||||
} else {
|
||||
if (i_this->getType() == 5 &&
|
||||
i_fopAcM_isSwitch(i_this, dLib_getEventSwitchNo(i_this->getEventNo())))
|
||||
{
|
||||
dComIfGs_onSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this));
|
||||
i_this->setActio(daAndsw2_c::ACT_OFF_e);
|
||||
}
|
||||
|
||||
fopAcM_orderOtherEventId(i_this, i_this->mEventIdx, i_this->getEventNo(), 0xFFFF, 0, 1);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daAndsw2_actionOrder(daAndsw2_c* param_0) {
|
||||
static asm int daAndsw2_actionOrder(daAndsw2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_actionOrder__FP10daAndsw2_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 804D68A4-804D6960 000B24 00BC+00 1/0 0/0 0/0 .text daAndsw2_actionEvent__FP10daAndsw2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daAndsw2_actionEvent(daAndsw2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_actionEvent__FP10daAndsw2_c.s"
|
||||
static int daAndsw2_actionEvent(daAndsw2_c* i_this) {
|
||||
if (dComIfGp_evmng_endCheck(i_this->mEventIdx)) {
|
||||
if (i_this->getType() == 1 || i_this->getType() == 3 || i_this->getType() == 5 ||
|
||||
i_this->getType() == 6)
|
||||
{
|
||||
i_this->setActio(daAndsw2_c::ACT_OFF_e);
|
||||
} else {
|
||||
i_this->setActio(daAndsw2_c::ACT_WAIT_e);
|
||||
}
|
||||
|
||||
i_dComIfGp_event_reset();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D6960-804D6A34 000BE0 00D4+00 1/0 0/0 0/0 .text daAndsw2_actionOff__FP10daAndsw2_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daAndsw2_actionOff(daAndsw2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_actionOff__FP10daAndsw2_c.s"
|
||||
static int daAndsw2_actionOff(daAndsw2_c* i_this) {
|
||||
u8 var_r29 = false;
|
||||
|
||||
switch (i_this->getType()) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 5:
|
||||
case 6:
|
||||
BOOL temp_r0 = i_this->chkAllSw2() != 0;
|
||||
var_r29 = temp_r0;
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
BOOL temp_r0_2 = i_this->chkSwStatus() != 0;
|
||||
var_r29 = temp_r0_2;
|
||||
break;
|
||||
case 4:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!var_r29) {
|
||||
i_this->setActio(daAndsw2_c::ACT_ON_ALL_e);
|
||||
dComIfGs_offSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this));
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D6A34-804D6A3C 000CB4 0008+00 1/0 0/0 0/0 .text daAndsw2_actionWait__FP10daAndsw2_c
|
||||
*/
|
||||
static bool daAndsw2_actionWait(daAndsw2_c* param_0) {
|
||||
return true;
|
||||
static int daAndsw2_actionWait(daAndsw2_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804D6AE4-804D6AFC -00001 0018+00 1/1 0/0 0/0 .data
|
||||
* l_action$localstatic3$execute__10daAndsw2_cFv */
|
||||
SECTION_DATA static void* data_804D6AE4[6] = {
|
||||
(void*)daAndsw2_actionOnAll__FP10daAndsw2_c, (void*)daAndsw2_actionTimer__FP10daAndsw2_c,
|
||||
(void*)daAndsw2_actionOrder__FP10daAndsw2_c, (void*)daAndsw2_actionEvent__FP10daAndsw2_c,
|
||||
(void*)daAndsw2_actionOff__FP10daAndsw2_c, (void*)daAndsw2_actionWait__FP10daAndsw2_c,
|
||||
};
|
||||
int daAndsw2_c::execute() {
|
||||
typedef int (*actionFunc)(daAndsw2_c*);
|
||||
static actionFunc l_action[] = {
|
||||
&daAndsw2_actionOnAll, &daAndsw2_actionTimer, &daAndsw2_actionOrder,
|
||||
&daAndsw2_actionEvent, &daAndsw2_actionOff, &daAndsw2_actionWait,
|
||||
};
|
||||
|
||||
(*l_action[mAction])(this);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 804D6A3C-804D6A78 000CBC 003C+00 1/0 0/0 0/0 .text daAndsw2_Execute__FP10daAndsw2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daAndsw2_Execute(daAndsw2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_Execute__FP10daAndsw2_c.s"
|
||||
static int daAndsw2_Execute(daAndsw2_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D6A78-804D6AA0 000CF8 0028+00 1/0 0/0 0/0 .text daAndsw2_Delete__FP10daAndsw2_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daAndsw2_Delete(daAndsw2_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_Delete__FP10daAndsw2_c.s"
|
||||
static int daAndsw2_Delete(daAndsw2_c* i_this) {
|
||||
i_this->~daAndsw2_c();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804D6AA0-804D6AC0 000D20 0020+00 1/0 0/0 0/0 .text daAndsw2_Create__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daAndsw2_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_Create__FP10fopAc_ac_c.s"
|
||||
static int daAndsw2_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daAndsw2_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804D6AFC-804D6B1C -00001 0020+00 1/0 0/0 0/0 .data l_daAndsw2_Method */
|
||||
SECTION_DATA static void* l_daAndsw2_Method[8] = {
|
||||
(void*)daAndsw2_Create__FP10fopAc_ac_c,
|
||||
(void*)daAndsw2_Delete__FP10daAndsw2_c,
|
||||
(void*)daAndsw2_Execute__FP10daAndsw2_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
static actor_method_class l_daAndsw2_Method = {
|
||||
(process_method_func)daAndsw2_Create,
|
||||
(process_method_func)daAndsw2_Delete,
|
||||
(process_method_func)daAndsw2_Execute,
|
||||
};
|
||||
|
||||
/* 804D6B1C-804D6B4C -00001 0030+00 0/0 0/0 1/0 .data g_profile_ANDSW2 */
|
||||
SECTION_DATA extern void* g_profile_ANDSW2[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x02310000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x00000570, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x012F0000, (void*)&l_daAndsw2_Method,
|
||||
(void*)0x00044000, (void*)0x00060000,
|
||||
extern actor_process_profile_definition g_profile_ANDSW2 = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_ANDSW2, // mProcName
|
||||
&g_fpcLf_Method.mBase, // mSubMtd
|
||||
sizeof(daAndsw2_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // mSubMtd
|
||||
303, // mPriority
|
||||
&l_daAndsw2_Method, // mSubMtd
|
||||
0x44000, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_6_e, // mCullType
|
||||
};
|
||||
|
||||
@@ -21,6 +21,7 @@ M73_LIBS := \
|
||||
M73_CFLAGS := \
|
||||
-sdata 0 \
|
||||
-sdata2 0 \
|
||||
-sym on \
|
||||
|
||||
M73_LDFLAGS := \
|
||||
-nodefaults \
|
||||
|
||||
+8
-2020
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_HIO.inc
|
||||
* Player HostIO interface handling
|
||||
*/
|
||||
|
||||
/* 80140B88-80140B98 13B4C8 0010+00 1/1 0/0 0/0 .text __ct__12daAlinkHIO_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_bomb.inc
|
||||
* Player Bomb action handling
|
||||
*/
|
||||
|
||||
/* 800E3760-800E3770 0DE0A0 0010+00 0/0 0/0 7/7 .text getBombExplodeTime__9daAlink_cCFv
|
||||
*/
|
||||
s16 daAlink_c::getBombExplodeTime() const {
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_boom.inc
|
||||
* Player Boomerang action handling
|
||||
*/
|
||||
|
||||
#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
|
||||
|
||||
/* 800DFFE0-800E0010 0DA920 0030+00 0/0 0/0 1/1 .text checkBoomerangLockAccept__9daAlink_cFv */
|
||||
@@ -374,9 +379,9 @@ int daAlink_c::checkBoomerangCatchAction() {
|
||||
/* 800E0E64-800E0F10 0DB7A4 00AC+00 3/3 0/0 0/0 .text setBoomerangSight__9daAlink_cFv */
|
||||
void daAlink_c::setBoomerangSight() {
|
||||
if (mItemAcKeep.getActor() && !checkBoomerangThrowAnime()) {
|
||||
BOOL check_line = checkSightLine(getBoomLockMax(), &field_0x37e0);
|
||||
BOOL check_line = checkSightLine(getBoomLockMax(), &mHeldItemRootPos);
|
||||
|
||||
mSight.setPos(&field_0x37e0);
|
||||
mSight.setPos(&mHeldItemRootPos);
|
||||
mSight.onDrawFlg();
|
||||
|
||||
daBoomerang_c* boomerang = (daBoomerang_c*)mItemAcKeep.getActor();
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_bottle.inc
|
||||
* Player Bottle action handling
|
||||
*/
|
||||
|
||||
#include "d/d_insect.h"
|
||||
|
||||
/* 8010E48C-8010E52C 108DCC 00A0+00 1/1 0/0 0/0 .text bottleModelCallBack__9daAlink_cFv
|
||||
@@ -119,16 +124,16 @@ int daAlink_c::procBottleDrinkInit(u16 param_0) {
|
||||
u32 id = fopAcM_GetID(this);
|
||||
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
|
||||
field_0x300c = 0;
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 8010F698-8010F6F4 109FD8 005C+00 1/0 0/0 0/0 .text procBottleDrink__9daAlink_cFv */
|
||||
int daAlink_c::procBottleDrink() {
|
||||
if (field_0x300e != 0) {
|
||||
if (field_0x300e.x != 0) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
} else {
|
||||
field_0x300e = commonBottleDrink(0);
|
||||
field_0x300e.x = commonBottleDrink(0);
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -170,7 +175,7 @@ int daAlink_c::procBottleOpenInit(u16 param_0) {
|
||||
}
|
||||
}
|
||||
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
|
||||
u32 id = fopAcM_GetID(this);
|
||||
dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0);
|
||||
@@ -181,7 +186,7 @@ int daAlink_c::procBottleOpenInit(u16 param_0) {
|
||||
if (param_0 == 0x67) {
|
||||
setCylAtParam(0x200, 0, 0, 0, 0, 30.0f, 30.0f);
|
||||
}
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_bow.inc
|
||||
* Player Bow and Arrow action handling
|
||||
*/
|
||||
|
||||
#include "rel/d/a/d_a_arrow/d_a_arrow.h"
|
||||
|
||||
/* 800DE64C-800DE740 0D8F8C 00F4+00 1/1 0/0 2/2 .text getArrowFlyData__9daAlink_cCFPfPfi
|
||||
@@ -58,7 +63,7 @@ void daAlink_c::setSlingModel() {
|
||||
|
||||
J3DModelData* model_data = loadAramBmd(0x319, 0x2C00);
|
||||
mHeldItemModel = initModel(model_data, 0);
|
||||
field_0x730.init(bck, 0, 2, lit_6040, 0, -1, false);
|
||||
mItemBck.init(bck, 0, 2, lit_6040, 0, -1, false);
|
||||
|
||||
mDoExt_setCurrentHeap(heap);
|
||||
field_0x2f95 = 5;
|
||||
@@ -85,11 +90,11 @@ cXyz* daAlink_c::checkBowCameraArrowPosP(s16* param_0, s16* param_1) {
|
||||
mDoMtx_stack_c::transS(field_0x3834);
|
||||
concatMagneBootMtx();
|
||||
mDoMtx_stack_c::ZXYrotM(mBodyAngle.x, var_28, 0);
|
||||
mDoMtx_stack_c::multVec(&localPos, &field_0x37e0);
|
||||
mDoMtx_stack_c::multVec(&localPos, &mHeldItemRootPos);
|
||||
|
||||
*param_0 = mBodyAngle.x;
|
||||
*param_1 = var_28;
|
||||
return &field_0x37e0;
|
||||
return &mHeldItemRootPos;
|
||||
}
|
||||
|
||||
/* 800DE990-800DE9B8 0D92D0 0028+00 1/0 0/0 0/0 .text checkArrowChargeEnd__9daAlink_cCFv
|
||||
@@ -275,10 +280,10 @@ void daAlink_c::setBowModel() {
|
||||
JKRHeap* old_heap = setItemHeap();
|
||||
|
||||
mHeldItemModel = initModel(loadAramBmd(0x314, 0x4C00), 0);
|
||||
field_0x730.init(bck, FALSE, 2, 1.0f, 0, -1, false);
|
||||
mItemBck.init(bck, FALSE, 2, 1.0f, 0, -1, false);
|
||||
|
||||
mDoExt_setCurrentHeap(old_heap);
|
||||
field_0x33dc = field_0x730.getBckAnm()->getFrameMax() - 0.001f;
|
||||
field_0x33dc = mItemBck.getBckAnm()->getFrameMax() - 0.001f;
|
||||
field_0x2f95 = 5;
|
||||
field_0x2f94 = 0x67;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_canoe.inc
|
||||
* Player Canoe riding handling
|
||||
*/
|
||||
|
||||
#include "rel/d/a/d_a_canoe/d_a_canoe.h"
|
||||
|
||||
/* 800F3BB0-800F3BDC 0EE4F0 002C+00 1/1 0/0 2/2 .text getCanoeMaxSpeed__9daAlink_cCFv */
|
||||
@@ -122,11 +127,11 @@ BOOL daAlink_c::checkCanoeFishingRodGrabOrPut() const {
|
||||
|
||||
/* 800F3FC4-800F4008 0EE904 0044+00 2/2 0/0 0/0 .text initCanoeRide__9daAlink_cFv */
|
||||
void daAlink_c::initCanoeRide() {
|
||||
field_0x3012 = 1;
|
||||
field_0x300e.z = 1;
|
||||
field_0x3588 = l_waitBaseAnime;
|
||||
field_0x384c = (cXyz*)&l_canoeBaseAnime;
|
||||
mRideStatus = 3;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
}
|
||||
|
||||
/* 800F4008-800F40E4 0EE948 00DC+00 2/2 0/0 0/0 .text checkCanoeJumpRide__9daAlink_cFv */
|
||||
@@ -141,7 +146,7 @@ BOOL daAlink_c::checkCanoeJumpRide() {
|
||||
|
||||
if (speed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE &&
|
||||
canoe->checkJumpRideFlg() && !checkDeadHP() &&
|
||||
(mProcID != PROC_FALL || field_0x3010 != 0)) {
|
||||
(mProcID != PROC_FALL || field_0x300e.y != 0)) {
|
||||
return procCanoeJumpRideInit(canoe);
|
||||
}
|
||||
|
||||
@@ -274,7 +279,7 @@ int daAlink_c::procCanoeRideInit() {
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
initCanoeRide();
|
||||
field_0x300e = 0x80;
|
||||
field_0x300e.x = 0x80;
|
||||
swimOutAfter(1);
|
||||
return 1;
|
||||
}
|
||||
@@ -292,12 +297,12 @@ int daAlink_c::procCanoeRide() {
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
procCanoeWaitInit(1);
|
||||
} else if (frameCtrl->getFrame() < lit_7710) {
|
||||
field_0x300e += 0x180;
|
||||
field_0x300e.x += 0x180;
|
||||
|
||||
if (field_0x3008 == 0) {
|
||||
canoe->incShapeAngleZ(-field_0x300e);
|
||||
canoe->incShapeAngleZ(-field_0x300e.x);
|
||||
} else {
|
||||
canoe->incShapeAngleZ(field_0x300e);
|
||||
canoe->incShapeAngleZ(field_0x300e.x);
|
||||
}
|
||||
canoe->incShapeOffsetY(lit_21021);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_copyrod.inc
|
||||
* Player Dominion Rod action handling
|
||||
*/
|
||||
|
||||
#include "rel/d/a/d_a_cstatue/d_a_cstatue.h"
|
||||
|
||||
/* 800E12E0-800E1310 0DBC20 0030+00 1/1 0/0 0/0 .text checkLv6BossRoom__9daAlink_cFv */
|
||||
@@ -68,7 +73,7 @@ BOOL daAlink_c::checkForestOldCentury() {
|
||||
/* 800E145C-800E1530 0DBD9C 00D4+00 1/0 0/0 0/0 .text checkCopyRodTopUse__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkCopyRodTopUse() {
|
||||
// Event flag 0x2580: Dominion Rod power restored
|
||||
return (i_dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && field_0x300e != 0)) ||
|
||||
return (i_dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && field_0x300e.x != 0)) ||
|
||||
i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 ||
|
||||
checkForestOldCentury();
|
||||
}
|
||||
@@ -378,7 +383,7 @@ int daAlink_c::procCopyRodSwingInit() {
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
current.angle.y = shape_angle.y;
|
||||
field_0x300c = 1;
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
|
||||
voiceStart(Z2SE_AL_V_ATTACK_S);
|
||||
mAtCps[0].SetR(lit_11442);
|
||||
@@ -400,16 +405,16 @@ int daAlink_c::procCopyRodSwing() {
|
||||
setCopyRodControllAnime();
|
||||
}
|
||||
} else if (frameCtrl->getFrame() >= field_0x3478 && frameCtrl->getFrame() < field_0x347c) {
|
||||
if (field_0x300e == 0) {
|
||||
if (field_0x300e.x == 0) {
|
||||
seStartSwordCut(Z2SE_AL_COPYROD_SWING);
|
||||
}
|
||||
|
||||
field_0x300e = 1;
|
||||
field_0x300e.x = 1;
|
||||
if (changeCutReverseProc(ANM_CUT_RECOIL_A)) {
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_crawl.inc
|
||||
* Player Crawl action handling
|
||||
*/
|
||||
|
||||
/* 800F7C50-800F7C74 0F2590 0024+00 2/2 0/0 0/0 .text getCrawlMoveAnmSpeed__9daAlink_cFv
|
||||
*/
|
||||
f32 daAlink_c::getCrawlMoveAnmSpeed() {
|
||||
|
||||
+43
-38
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_cut.inc
|
||||
* Player Sword action handling
|
||||
*/
|
||||
|
||||
/* 800D0D38-800D0E08 0CB678 00D0+00 1/1 0/0 0/0 .text daAlink_searchNightStalker__FP10fopAc_ac_cPv
|
||||
*/
|
||||
#pragma push
|
||||
@@ -541,13 +546,13 @@ int daAlink_c::checkCutAction() {
|
||||
/* 800D2684-800D26EC 0CCFC4 0068+00 9/9 0/0 0/0 .text checkCutTurnCharge__9daAlink_cFv */
|
||||
void daAlink_c::checkCutTurnCharge() {
|
||||
if (swordButton()) {
|
||||
if (field_0x3012 < 3) {
|
||||
field_0x3012++;
|
||||
if (field_0x300e.z < 3) {
|
||||
field_0x300e.z++;
|
||||
} else {
|
||||
i_onResetFlg0(RFLG0_UNK_40);
|
||||
}
|
||||
} else {
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -664,9 +669,9 @@ void daAlink_c::cancelCutCharge() {
|
||||
*/
|
||||
void daAlink_c::initCutAtnActorSearch() {
|
||||
if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) {
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
} else {
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
}
|
||||
|
||||
field_0x32cc = (u32)mTargetedActor;
|
||||
@@ -675,7 +680,7 @@ void daAlink_c::initCutAtnActorSearch() {
|
||||
/* 800D2C54-800D2C78 0CD594 0024+00 3/3 0/0 0/0 .text checkCutAtnActorChange__9daAlink_cFv */
|
||||
void daAlink_c::checkCutAtnActorChange() {
|
||||
if (field_0x32cc != (u32)mTargetedActor) {
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x32cc = (u32)mTargetedActor;
|
||||
}
|
||||
}
|
||||
@@ -791,16 +796,16 @@ int daAlink_c::procCutNormalInit(int i_type) {
|
||||
setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, daAlinkHIO_cut_c0::m.mSwordLength,
|
||||
daAlinkHIO_cut_c0::m.mSwordRadius);
|
||||
setSwordComboVoice();
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, 0x8000);
|
||||
setCutWaterDropEffect();
|
||||
|
||||
int cutDir = getCutDirection();
|
||||
if (mComboCutCount == 1 && (cutDir == DIR_LEFT || cutDir == DIR_RIGHT)) {
|
||||
field_0x300e = 1;
|
||||
field_0x300e.x = 1;
|
||||
} else {
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
}
|
||||
|
||||
field_0x300a = 4;
|
||||
@@ -825,7 +830,7 @@ int daAlink_c::procCutNormal() {
|
||||
i_onEndResetFlg0(ERFLG0_UNK_8000000);
|
||||
field_0x2f99 = 4;
|
||||
|
||||
if (field_0x300e != 0 && i_checkNoResetFlg2(FLG2_UNK_2)) {
|
||||
if (field_0x300e.x != 0 && i_checkNoResetFlg2(FLG2_UNK_2)) {
|
||||
int cutDir = getCutDirection();
|
||||
if ((cutDir == DIR_RIGHT && mCutType == CUT_TYPE_NM_LEFT &&
|
||||
frameCtrl->getFrame() > lit_7448) ||
|
||||
@@ -853,11 +858,11 @@ int daAlink_c::procCutNormal() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (setShapeAngleToAtnActor(field_0x3010)) {
|
||||
if (setShapeAngleToAtnActor(field_0x300e.y)) {
|
||||
field_0x300c = shape_angle.y;
|
||||
|
||||
if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) {
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
}
|
||||
} else {
|
||||
cLib_addCalcAngleS(&shape_angle.y, field_0x300c, 2, 0x2000, 0x800);
|
||||
@@ -904,7 +909,7 @@ int daAlink_c::procCutFinishInit(int i_type) {
|
||||
setCutType(cutParams->m_cutType);
|
||||
field_0x3198 = cutParams->field_0x4;
|
||||
field_0x300c = cutParams->field_0xa;
|
||||
field_0x300e = cutParams->field_0xb;
|
||||
field_0x300e.x = cutParams->field_0xb;
|
||||
|
||||
BOOL var_r30 = FALSE;
|
||||
if (i_type == 0) {
|
||||
@@ -985,7 +990,7 @@ int daAlink_c::procCutFinishInit(int i_type) {
|
||||
field_0x2f99 = 13;
|
||||
}
|
||||
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
dComIfGp_setPlayerStatus0(0, 0x8000);
|
||||
setCutWaterDropEffect();
|
||||
initCutAtnActorSearch();
|
||||
@@ -1058,7 +1063,7 @@ int daAlink_c::procCutFinishJumpUpInit() {
|
||||
daAlinkHIO_cutFnJU_c0::m.mCutAnm.mEndFrame,
|
||||
daAlinkHIO_cutFnJU_c0::m.mCutAnm.mInterpolation);
|
||||
setSwordVoiceSe(Z2SE_AL_V_SOTOMO_ATK);
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
field_0x3478 = current.pos.y;
|
||||
dComIfGp_setPlayerStatus0(0, 0x8000);
|
||||
setCutWaterDropEffect();
|
||||
@@ -1121,7 +1126,7 @@ int daAlink_c::procCutFinishJumpUpLandInit() {
|
||||
field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mStopTime;
|
||||
}
|
||||
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
field_0x3588 = l_halfAtnWaitBaseAnime;
|
||||
initCutAtnActorSearch();
|
||||
return 1;
|
||||
@@ -1158,10 +1163,10 @@ int daAlink_c::procCutFinishJumpUpLand() {
|
||||
resetCombo(1);
|
||||
}
|
||||
|
||||
setShapeAngleToAtnActor(field_0x3010);
|
||||
setShapeAngleToAtnActor(field_0x300e.y);
|
||||
|
||||
if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) {
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
}
|
||||
|
||||
current.angle.y = shape_angle.y;
|
||||
@@ -1201,7 +1206,7 @@ int daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM i_anmID) {
|
||||
mNormalSpeed = daAlinkHIO_cut_c0::m.mRecoilSpeed;
|
||||
current.angle.y = shape_angle.y - -0x8000;
|
||||
field_0x307e = 0;
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
|
||||
int temp_r3;
|
||||
if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_MORTAL_DRAW_B ||
|
||||
@@ -1401,7 +1406,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) {
|
||||
|
||||
field_0x3484 = cutData->mRightAttackStartFrame;
|
||||
field_0x3488 = cutData->mRightAttackEndFrame;
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
field_0x300a = 6;
|
||||
} else {
|
||||
anmID = ANM_CUT_TURN_LEFT;
|
||||
@@ -1415,7 +1420,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) {
|
||||
|
||||
field_0x3484 = cutData->mLeftAttackStartFrame;
|
||||
field_0x3488 = cutData->mLeftAttackEndFrame;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x300a = 8;
|
||||
}
|
||||
|
||||
@@ -1471,7 +1476,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) {
|
||||
field_0x3180 = 0;
|
||||
dComIfGp_setPlayerStatus0(0, 0x8000);
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
setCutWaterDropEffect();
|
||||
initCutTurnAt(field_0x347c, var_r29_3);
|
||||
return 1;
|
||||
@@ -1635,7 +1640,7 @@ asm int daAlink_c::procCutDownInit() {
|
||||
|
||||
/* 800D57F8-800D58A0 0D0138 00A8+00 1/0 0/0 0/0 .text procCutDown__9daAlink_cFv */
|
||||
int daAlink_c::procCutDown() {
|
||||
if (field_0x300e != 0) {
|
||||
if (field_0x300e.x != 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1682,7 +1687,7 @@ asm int daAlink_c::procCutHeadInit() {
|
||||
|
||||
/* 800D5FC8-800D6130 0D0908 0168+00 1/0 0/0 0/0 .text procCutHead__9daAlink_cFv */
|
||||
int daAlink_c::procCutHead() {
|
||||
if (field_0x300e == 0) {
|
||||
if (field_0x300e.x == 0) {
|
||||
cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), field_0x3478);
|
||||
|
||||
if (speed.y <= FLOAT_LABEL(lit_6108)) {
|
||||
@@ -1691,7 +1696,7 @@ int daAlink_c::procCutHead() {
|
||||
mNormalSpeed = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
|
||||
field_0x300e = 1;
|
||||
field_0x300e.x = 1;
|
||||
setCutWaterDropEffect();
|
||||
setSwordVoiceSe(Z2SE_AL_V_KABUTO_ATK);
|
||||
}
|
||||
@@ -1805,8 +1810,8 @@ int daAlink_c::procCutLargeJumpInit() {
|
||||
setCutType(CUT_TYPE_LARGE_JUMP_INIT);
|
||||
setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_1);
|
||||
setCutWaterDropEffect();
|
||||
field_0x300e = 4;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.x = 4;
|
||||
field_0x300e.y = 0;
|
||||
field_0x3198 = 2;
|
||||
return 1;
|
||||
}
|
||||
@@ -1815,7 +1820,7 @@ int daAlink_c::procCutLargeJumpInit() {
|
||||
int daAlink_c::procCutLargeJump() {
|
||||
daPy_frameCtrl_c* frameCtrl = &mUnderFrameCtrl[0];
|
||||
|
||||
if (field_0x3010 != 0) {
|
||||
if (field_0x300e.y != 0) {
|
||||
field_0x2f99 = 4;
|
||||
}
|
||||
|
||||
@@ -1831,7 +1836,7 @@ int daAlink_c::procCutLargeJump() {
|
||||
setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_2);
|
||||
} else {
|
||||
if (frameCtrl->getFrame() >= lit_7307) {
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
}
|
||||
|
||||
if (!i_checkModeFlg(2) && frameCtrl->getFrame() >= lit_7808) {
|
||||
@@ -1850,10 +1855,10 @@ int daAlink_c::procCutLargeJump() {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (field_0x300e != 0) {
|
||||
field_0x300e--;
|
||||
if (field_0x300e.x != 0) {
|
||||
field_0x300e.x--;
|
||||
|
||||
if (field_0x300e == 0) {
|
||||
if (field_0x300e.x == 0) {
|
||||
setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 4, daAlinkHIO_cut_c0::m.mSwordLength,
|
||||
daAlinkHIO_cut_c0::m.mSwordRadius);
|
||||
setCutType(CUT_TYPE_LARGE_JUMP);
|
||||
@@ -1951,8 +1956,8 @@ int daAlink_c::procSwordUnequipSpInit() {
|
||||
field_0x3588 = l_halfAtnWaitBaseAnime;
|
||||
field_0x3198 = 0;
|
||||
field_0x300c = 0;
|
||||
field_0x300e = (0x1E - mDemo.getDemoMode()) != 0;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.x = (0x1E - mDemo.getDemoMode()) != 0;
|
||||
field_0x300e.y = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -1965,10 +1970,10 @@ int daAlink_c::procSwordUnequipSp() {
|
||||
|
||||
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
|
||||
|
||||
if (field_0x300e != 0) {
|
||||
if (field_0x300e.x != 0) {
|
||||
field_0x2f99 = 4;
|
||||
} else {
|
||||
field_0x300e = 1;
|
||||
field_0x300e.x = 1;
|
||||
}
|
||||
|
||||
i_onEndResetFlg0(ERFLG0_UNK_8000000);
|
||||
@@ -1977,8 +1982,8 @@ int daAlink_c::procSwordUnequipSp() {
|
||||
i_onEndResetFlg1(ERFLG1_GANON_FINISH);
|
||||
}
|
||||
|
||||
if (field_0x3010 == 0 && mDemo.getDemoMode() == 0x1E && mDemo.getParam1() == 1) {
|
||||
field_0x3010 = 1;
|
||||
if (field_0x300e.y == 0 && mDemo.getDemoMode() == 0x1E && mDemo.getParam1() == 1) {
|
||||
field_0x300e.y = 1;
|
||||
setFaceBasicBck(0x149);
|
||||
setFaceBasicBtp(0x3E1);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_damage.inc
|
||||
* Player Damage action handling
|
||||
*/
|
||||
|
||||
/* 800D6D94-800D6DA4 0D16D4 0010+00 0/0 0/0 2/2 .text getFreezeR__9daAlink_cCFv */
|
||||
s16 daAlink_c::getFreezeR() const {
|
||||
return daAlinkHIO_damage_c0::m.mFreezeR;
|
||||
|
||||
+76
-26
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_demo.inc
|
||||
* Player Cutscene / Event action handling
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
|
||||
/* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */
|
||||
@@ -263,7 +268,7 @@ BOOL daAlink_c::checkEndMessage(u32 param_0) {
|
||||
/* 80118840-801188B0 113180 0070+00 1/1 0/0 0/0 .text setDemoRightHandIndex__9daAlink_cFUs */
|
||||
u8 daAlink_c::setDemoRightHandIndex(u16 param_0) {
|
||||
if (param_0 == 0xFD) {
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
return 6;
|
||||
} else if (param_0 == 0xFC) {
|
||||
field_0x2fab |= 0x10;
|
||||
@@ -535,7 +540,7 @@ int daAlink_c::procCoToolDemoInit() {
|
||||
mNowAnmPackUpper[1].setAnmTransform(NULL);
|
||||
|
||||
field_0x3198 = 0;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x2fab = 0;
|
||||
deleteEquipItem(FALSE, TRUE);
|
||||
mUnderAnmHeap[0].setBufferSize(0x10800);
|
||||
@@ -646,7 +651,7 @@ int daAlink_c::procCoUnequip() {
|
||||
void daAlink_c::setGetSubBgm(int param_0) {
|
||||
u32 se_type = getSeType[param_0];
|
||||
|
||||
if (se_type == 3 && field_0x3010 == 0) {
|
||||
if (se_type == 3 && field_0x300e.y == 0) {
|
||||
se_type = 7;
|
||||
}
|
||||
|
||||
@@ -931,7 +936,7 @@ int daAlink_c::procCoLookAround() {
|
||||
|
||||
if (checkAnmEnd(frame_ctrl)) {
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
} else if (field_0x300e != 0 && frame_ctrl->checkPass(lit_7808)) {
|
||||
} else if (field_0x300e.x != 0 && frame_ctrl->checkPass(lit_7808)) {
|
||||
voiceStart(Z2SE_AL_V_ENTRANCE);
|
||||
}
|
||||
|
||||
@@ -1066,7 +1071,7 @@ int daAlink_c::procHandPatInit() {
|
||||
setOldRootQuaternion(0, -0x8000, 0);
|
||||
shape_angle.y += 0x8000;
|
||||
field_0x300c = 0;
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1310,7 +1315,7 @@ int daAlink_c::procWolfSnowEscapeInit() {
|
||||
field_0x3588 = l_wolfBaseAnime;
|
||||
field_0x3478 = lit_37528;
|
||||
field_0x300c = 0;
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
mNormalSpeed = lit_6845;
|
||||
return 1;
|
||||
}
|
||||
@@ -1338,8 +1343,8 @@ int daAlink_c::procZoraMoveInit() {
|
||||
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
|
||||
|
||||
deleteEquipItem(FALSE, TRUE);
|
||||
field_0x3010 = 5000;
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.y = 5000;
|
||||
field_0x300e.z = 0;
|
||||
field_0x384c = (cXyz*)&l_boarBaseAnime;
|
||||
return 1;
|
||||
}
|
||||
@@ -1393,18 +1398,18 @@ int daAlink_c::procTradeItemOutInit() {
|
||||
field_0x300c = 0;
|
||||
}
|
||||
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
dComIfGp_setPlayerStatus0(0, 0x10);
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
|
||||
if (mDemo.getParam0() != 1) {
|
||||
if (mDemo.getParam0() == 2) {
|
||||
if (checkLetterItem(mDemo.getParam1())) {
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
}
|
||||
} else {
|
||||
if (checkLetterItem(dComIfGp_event_getPreItemNo())) {
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1628,7 +1633,7 @@ int daAlink_c::procMasterSwordPullInit() {
|
||||
|
||||
setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_PULL);
|
||||
voiceStart(Z2SE_AL_V_MSTR_SW_PULLOUT);
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -1643,9 +1648,9 @@ int daAlink_c::procMasterSwordPull() {
|
||||
} else if (frame_ctrl->getFrame() >= lit_8780) {
|
||||
field_0x2f93 = 10;
|
||||
} else if (frame_ctrl->getFrame() >= lit_7710) {
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
} else if (frame_ctrl->getFrame() >= lit_6040) {
|
||||
field_0x3010 = 4;
|
||||
field_0x300e.y = 4;
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -1707,10 +1712,10 @@ int daAlink_c::procDungeonWarpInit() {
|
||||
}
|
||||
|
||||
field_0x300c = 0;
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
|
||||
field_0x300e = 0;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.x = 0;
|
||||
field_0x300e.y = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -1729,15 +1734,15 @@ int daAlink_c::procDungeonWarp() {
|
||||
|
||||
f32 sin = cM_ssin(field_0x300c);
|
||||
shape_angle.y += (s16)(14336.0f * sin);
|
||||
field_0x300e = 8.0f * sin + 24.0f * (1.0f - mScale.x);
|
||||
field_0x300e.x = 8.0f * sin + 24.0f * (1.0f - mScale.x);
|
||||
|
||||
if (field_0x3012 != 0) {
|
||||
if (field_0x300e.z != 0) {
|
||||
return 1;
|
||||
} else {
|
||||
if (field_0x300c == 0x4000) {
|
||||
if (field_0x3010 == 0) {
|
||||
if (field_0x300e.y == 0) {
|
||||
dComIfGp_particle_set(0xA61, ¤t.pos, &mTevStr, NULL, NULL);
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
}
|
||||
|
||||
cLib_addCalc(&mScale.x, 0.0f, 0.5f, 0.4f, 0.005f);
|
||||
@@ -1755,7 +1760,7 @@ int daAlink_c::procDungeonWarp() {
|
||||
dMeter2Info_warpInProc();
|
||||
}
|
||||
|
||||
field_0x3012 = 1;
|
||||
field_0x300e.z = 1;
|
||||
}
|
||||
current.pos.y += 5.0f;
|
||||
field_0x2b98 = (1.0f - mScale.y) * 100.0f;
|
||||
@@ -1880,7 +1885,7 @@ void daAlink_c::dungeonReturnWarp() {
|
||||
|
||||
/* 8011F8B8-8011F9EC 11A1F8 0134+00 1/0 0/0 0/0 .text skipPortalObjWarp__9daAlink_cFv */
|
||||
void daAlink_c::skipPortalObjWarp() {
|
||||
if (mProcID == PROC_WARP && field_0x300e <= 0) {
|
||||
if (mProcID == PROC_WARP && field_0x300e.x <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1897,7 +1902,7 @@ void daAlink_c::skipPortalObjWarp() {
|
||||
}
|
||||
|
||||
if (mProcID == PROC_WARP) {
|
||||
field_0x300e = -1;
|
||||
field_0x300e.x = -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1974,4 +1979,49 @@ asm int daAlink_c::procCoWarp() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procCoWarp__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#pragma pop
|
||||
|
||||
/* 80120440-80120474 11AD80 0034+00 1/0 0/0 0/0 .text commonWaitTurnInit__9daAlink_cFv */
|
||||
void daAlink_c::commonWaitTurnInit() {
|
||||
if (i_checkWolf()) {
|
||||
procWolfWaitTurnInit();
|
||||
} else {
|
||||
procWaitTurnInit();
|
||||
}
|
||||
}
|
||||
|
||||
/* 80120474-80120500 11ADB4 008C+00 2/1 0/0 0/0 .text commonGrabPutInit__9daAlink_cFv */
|
||||
int daAlink_c::commonGrabPutInit() {
|
||||
if (mGrabItemAcKeep.getActor() == NULL) {
|
||||
if (mProcID != PROC_GRAB_STAND &&
|
||||
(mProcID != PROC_WOLF_GRAB_PUT || !(mUnderFrameCtrl[0].getFrame() < field_0x3478)))
|
||||
{
|
||||
dComIfGp_evmng_cutEnd(field_0x3184);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (i_checkWolf()) {
|
||||
return procWolfGrabPutInit();
|
||||
}
|
||||
|
||||
return procGrabPutInit();
|
||||
}
|
||||
|
||||
/* 80120500-80120534 11AE40 0034+00 3/3 0/0 0/0 .text commonLargeDamageUpInit__9daAlink_cFiiss */
|
||||
void daAlink_c::commonLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16 param_3) {
|
||||
if (i_checkWolf()) {
|
||||
procWolfLargeDamageUpInit(param_0, param_1, param_2, param_3);
|
||||
} else {
|
||||
procLargeDamageUpInit(param_0, param_1, param_2, param_3);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80120534-80120580 11AE74 004C+00 4/4 0/0 0/0 .text commonFallInit__9daAlink_cFi */
|
||||
void daAlink_c::commonFallInit(int param_0) {
|
||||
if (i_checkWolf()) {
|
||||
procWolfFallInit(param_0, daAlinkHIO_wlAutoJump_c0::m.field_0x54);
|
||||
} else {
|
||||
procFallInit(param_0, daAlinkHIO_autoJump_c0::m.mFallInterpolation);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_effect.inc
|
||||
* Player Particle Effect handling
|
||||
*/
|
||||
|
||||
/* 80120580-80120634 11AEC0 00B4+00 21/21 0/0 0/0 .text
|
||||
* setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz */
|
||||
// matches with literal
|
||||
|
||||
+146
-1
@@ -837,4 +837,149 @@ asm int daAlink_c::procPullMove() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procPullMove__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#pragma pop
|
||||
|
||||
/* 800E91B0-800E91C4 0E3AF0 0014+00 1/1 0/0 0/0 .text daAlink_searchGoat__FP10fopAc_ac_cPv */
|
||||
static fopAc_ac_c* daAlink_searchGoat(fopAc_ac_c* i_actor, void*) {
|
||||
if (fopAcM_GetName(i_actor) == PROC_COW) {
|
||||
return i_actor;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 800E91C4-800E9210 0E3B04 004C+00 1/0 0/0 0/0 .text cancelGoronThrowEvent__9daAlink_cFv
|
||||
*/
|
||||
void daAlink_c::cancelGoronThrowEvent() {
|
||||
if (mProcID == PROC_GOAT_CATCH && field_0x300e.z == 0) {
|
||||
field_0x300e.z = 1;
|
||||
i_dComIfGp_event_reset();
|
||||
}
|
||||
}
|
||||
|
||||
/* 800E9210-800E9344 0E3B50 0134+00 2/2 0/0 0/0 .text
|
||||
* setGoatStopGameFail__9daAlink_cFP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::setGoatStopGameFail(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/setGoatStopGameFail__9daAlink_cFP10fopAc_ac_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800E9344-800E9434 0E3C84 00F0+00 1/1 0/0 0/0 .text procGoatMoveInit__9daAlink_cFv */
|
||||
int daAlink_c::procGoatMoveInit() {
|
||||
if (!commonProcInitNotSameProc(PROC_GOAT_MOVE)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (checkZeroSpeedF()) {
|
||||
onModeFlg(1);
|
||||
}
|
||||
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
field_0x37c8 = current.pos;
|
||||
field_0x2f98 = 3;
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed;
|
||||
|
||||
setSingleAnimeBase(ANM_ATN_COW);
|
||||
field_0x300c = 0;
|
||||
|
||||
fopAc_ac_c* goat_p = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchGoat, NULL);
|
||||
if (goat_p != NULL) {
|
||||
field_0x280c.setData(goat_p);
|
||||
}
|
||||
|
||||
field_0x300e.x = 0;
|
||||
deleteEquipItem(FALSE, FALSE);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800E9434-800E9894 0E3D74 0460+00 1/0 0/0 0/0 .text procGoatMove__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daAlink_c::procGoatMove() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procGoatMove__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800E9894-800E9BD0 0E41D4 033C+00 3/3 0/0 0/0 .text procGoatCatchInit__9daAlink_cFP10fopAc_ac_cf
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daAlink_c::procGoatCatchInit(fopAc_ac_c* param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procGoatCatchInit__9daAlink_cFP10fopAc_ac_cf.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800E9BD0-800EA2A8 0E4510 06D8+00 1/0 0/0 0/0 .text procGoatCatch__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daAlink_c::procGoatCatch() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procGoatCatch__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800EA2A8-800EA3AC 0E4BE8 0104+00 2/2 0/0 0/0 .text procGoatStrokeInit__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daAlink_c::procGoatStrokeInit() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procGoatStrokeInit__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800EA3AC-800EA3F4 0E4CEC 0048+00 1/0 0/0 0/0 .text procGoatStroke__9daAlink_cFv */
|
||||
int daAlink_c::procGoatStroke() {
|
||||
if (mUnderFrameCtrl[0].checkAnmEnd()) {
|
||||
checkNextAction(0);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800EA3F4-800EA4CC 0E4D34 00D8+00 2/2 0/0 0/0 .text procGoronMoveInit__9daAlink_cFv */
|
||||
int daAlink_c::procGoronMoveInit() {
|
||||
if (mEquipItem != NO_ITEM) {
|
||||
return procPreActionUnequipInit(PROC_GORON_MOVE, NULL);
|
||||
}
|
||||
|
||||
if (!commonProcInitNotSameProc(PROC_GORON_MOVE)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
mCargoCarryAcKeep.setActor();
|
||||
|
||||
if (mCargoCarryAcKeep.getActor() == NULL) {
|
||||
offGoronSideMove();
|
||||
return 0;
|
||||
}
|
||||
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
field_0x2f98 = 3;
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed;
|
||||
setSingleAnimeBase(ANM_ATN_RIGHT);
|
||||
field_0x300c = 1;
|
||||
field_0x300e.x = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800EA4CC-800EA844 0E4E0C 0378+00 1/0 0/0 0/0 .text procGoronMove__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daAlink_c::procGoronMove() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/procGoronMove__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_guard.inc
|
||||
* Player Shield action handling
|
||||
*/
|
||||
|
||||
/* 800DC548-800DC5A4 0D6E88 005C+00 13/13 0/0 0/0 .text checkEnemyGroup__9daAlink_cFP10fopAc_ac_c
|
||||
*/
|
||||
BOOL daAlink_c::checkEnemyGroup(fopAc_ac_c* i_actor) {
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_hang.inc
|
||||
* Player hang / climb action handling
|
||||
*/
|
||||
|
||||
#include "rel/d/a/b/d_a_b_ob/d_a_b_ob.h"
|
||||
#include "rel/d/a/obj/d_a_obj_swhang/d_a_obj_swhang.h"
|
||||
|
||||
@@ -521,10 +526,10 @@ int daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) {
|
||||
speed.y = FLOAT_LABEL(lit_6108);
|
||||
|
||||
field_0x300c = 0;
|
||||
field_0x300e = 0;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.x = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x3008 = 0;
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
field_0x3080 = 0;
|
||||
|
||||
field_0x280c.setData(param_0);
|
||||
@@ -687,7 +692,7 @@ int daAlink_c::procLadderUpEndInit(int param_0) {
|
||||
field_0x30a0 = -0x0800;
|
||||
field_0x33f4 = lit_6041;
|
||||
field_0x300c = 1;
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
dComIfGp_setPlayerStatus0(0, 0x2000000);
|
||||
return 1;
|
||||
}
|
||||
@@ -707,7 +712,7 @@ int daAlink_c::procLadderUpEnd() {
|
||||
{
|
||||
if (frame_ctrl->getFrame() >= lit_15341) {
|
||||
field_0x300c = 0;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
} else if (frame_ctrl->getFrame() >= lit_17382) {
|
||||
field_0x30a0 = 0;
|
||||
field_0x33f4 = FLOAT_LABEL(lit_6108);
|
||||
@@ -745,7 +750,7 @@ int daAlink_c::procLadderDownStart() {
|
||||
}
|
||||
} else if (frame_ctrl->getFrame() >= lit_10286) {
|
||||
field_0x300c = 1;
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -765,7 +770,7 @@ int daAlink_c::procLadderDownEndInit(int param_0) {
|
||||
field_0x30a0 = 0x2800;
|
||||
field_0x33f4 = lit_6040;
|
||||
field_0x300c = 0;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
dComIfGp_setPlayerStatus0(0, 0x2000000);
|
||||
return 1;
|
||||
}
|
||||
|
||||
+1594
-137
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_horse.inc
|
||||
* Player Epona riding handling
|
||||
*/
|
||||
|
||||
/* 800EC724-800EC758 0E7064 0034+00 3/3 0/0 0/0 .text daAlink_searchBoar__FP10fopAc_ac_cPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_hvyboots.inc
|
||||
* Player Iron Boots action handling
|
||||
*/
|
||||
|
||||
/* 800E23FC-800E243C 0DCD3C 0040+00 6/6 0/0 0/0 .text concatMagneBootMtx__9daAlink_cFv */
|
||||
void daAlink_c::concatMagneBootMtx() {
|
||||
if (i_checkMagneBootsOn()) {
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_iceleaf.inc
|
||||
* Player Ice Leaf surfing handling
|
||||
*/
|
||||
|
||||
/* 80105A84-80105A98 1003C4 0014+00 1/1 0/0 0/0 .text daAlink_searchIceLeaf__FP10fopAc_ac_cPv */
|
||||
static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* param_1) {
|
||||
if (fopAcM_GetName(i_actor) == PROC_Obj_IceLeaf) {
|
||||
@@ -156,8 +161,8 @@ int daAlink_c::procBoardRowInit() {
|
||||
setSingleAnimeBaseSpeed(ANM_RIDE_KICK, getBoardRowAnmSpeed(), daAlinkHIO_board_c0::m.mPushInterpolation);
|
||||
i_onResetFlg1(0x40);
|
||||
field_0x3008 = 4;
|
||||
field_0x3010 = 1;
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.y = 1;
|
||||
field_0x300e.z = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -177,8 +182,8 @@ int daAlink_c::procBoardTurnInit() {
|
||||
commonProcInit(PROC_BOARD_TURN);
|
||||
setSingleAnime(ANM_RIDE_JUMP, FLOAT_LABEL(lit_6108), lit_6040, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, lit_6109);
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
field_0x3010 = shape_angle.y + 0x8000;
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.y = shape_angle.y + 0x8000;
|
||||
field_0x300e.z = 0;
|
||||
field_0x300a = 0;
|
||||
|
||||
return 1;
|
||||
@@ -199,7 +204,7 @@ asm int daAlink_c::procBoardTurn() {
|
||||
int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
|
||||
commonProcInit(PROC_BOARD_JUMP);
|
||||
field_0x3008 = 0;
|
||||
field_0x3012 = 1;
|
||||
field_0x300e.z = 1;
|
||||
|
||||
setSingleAnime(ANM_RIDE_JUMP, FLOAT_LABEL(lit_6108),
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
|
||||
@@ -210,7 +215,7 @@ int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
|
||||
speed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY);
|
||||
}
|
||||
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
seStartOnlyReverb(Z2SE_AL_SNOBO_JUMP);
|
||||
return 1;
|
||||
}
|
||||
@@ -235,12 +240,12 @@ int daAlink_c::procBoardJump() {
|
||||
if (!i_checkModeFlg(2)) {
|
||||
setBoardLandAnime();
|
||||
procBoardWaitInit(NULL);
|
||||
} else if (field_0x3012 != 0 && field_0x3010 == 0 && field_0x2060->getOldFrameRate() < lit_8782) {
|
||||
} else if (field_0x300e.z != 0 && field_0x300e.y == 0 && field_0x2060->getOldFrameRate() < lit_8782) {
|
||||
setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame,
|
||||
lit_6041);
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,7 +298,7 @@ int daAlink_c::procBoardCutInit() {
|
||||
|
||||
setCommonBoardAnime(0);
|
||||
setCutDash(1, var_r31);
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_ironball.inc
|
||||
* Player Ball & Chain action handling
|
||||
*/
|
||||
|
||||
/* 8011243C-80112458 10CD7C 001C+00 1/0 0/0 0/0 .text getIronBallCenterPos__9daAlink_cFv
|
||||
*/
|
||||
cXyz* daAlink_c::getIronBallCenterPos() {
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_kandelaar.inc
|
||||
* Player Lantern action handling
|
||||
*/
|
||||
|
||||
/* 80110654-80110668 10AF94 0014+00 1/1 0/0 0/0 .text daAlink_searchTagKandelaar__FP10fopAc_ac_cPv
|
||||
*/
|
||||
static fopAc_ac_c* daAlink_searchTagKandelaar(fopAc_ac_c* i_actor, void* param_1) {
|
||||
@@ -158,7 +163,7 @@ asm void daAlink_c::setKandelaarModel() {
|
||||
void daAlink_c::resetOilBottleModel() {
|
||||
deleteEquipItem(0, 1);
|
||||
|
||||
if (field_0x300e != 0) {
|
||||
if (field_0x300e.x != 0) {
|
||||
setKandelaarModel();
|
||||
mEquipItem = KANTERA;
|
||||
}
|
||||
|
||||
+1286
-139
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_spinner.inc
|
||||
* Player Spinner action handling
|
||||
*/
|
||||
|
||||
#include "rel/d/a/d_a_spinner/d_a_spinner.h"
|
||||
|
||||
/* 8010D93C-8010D94C 10827C 0010+00 0/0 0/0 1/1 .text getSpinnerGravity__9daAlink_cCFv */
|
||||
@@ -199,11 +204,11 @@ int daAlink_c::procSpinnerWaitInit() {
|
||||
mNormalSpeed = 0.0f;
|
||||
field_0x300c = 0;
|
||||
|
||||
field_0x300e = shape_angle.y;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.x = shape_angle.y;
|
||||
field_0x300e.y = 0;
|
||||
field_0x3198 = ANM_RIDE_CROUCH;
|
||||
field_0x33b0 = 70.0f;
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
field_0x37a4 = mRideAcKeep.getActor()->current.pos;
|
||||
|
||||
return 1;
|
||||
@@ -253,7 +258,7 @@ int daAlink_c::procSpinnerWait() {
|
||||
}
|
||||
|
||||
current.angle.y = shape_angle.y;
|
||||
field_0x300e = shape_angle.y;
|
||||
field_0x300e.x = shape_angle.y;
|
||||
}
|
||||
} else {
|
||||
if (checkSetItemTrigger(SPINNER) || swordSwingTrigger() || itemSetBtn == 2) {
|
||||
@@ -280,7 +285,7 @@ int daAlink_c::procSpinnerWait() {
|
||||
current.angle.y = spinner->current.angle.y;
|
||||
|
||||
if (spinner->checkSpinnerTagIntoIncRot()) {
|
||||
field_0x3012 = 1;
|
||||
field_0x300e.z = 1;
|
||||
setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION);
|
||||
|
||||
if (field_0x3198 != ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) {
|
||||
@@ -290,7 +295,7 @@ int daAlink_c::procSpinnerWait() {
|
||||
fopAcM_seStartCurrent(spinner, Z2SE_OBJ_SPNR_SW_PUSH, 0);
|
||||
}
|
||||
} else if (spinner->checkSpinnerTagInto()) {
|
||||
if (field_0x3012 != 0) {
|
||||
if (field_0x300e.z != 0) {
|
||||
setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION);
|
||||
} else {
|
||||
setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_DEFAULT);
|
||||
@@ -307,18 +312,18 @@ int daAlink_c::procSpinnerWait() {
|
||||
setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
} else if (field_0x3198 == ANM_RIDE_JUMP) {
|
||||
if (!spinner->getJumpFlg()) {
|
||||
setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mSpeed,
|
||||
daAlinkHIO_board_c0::m.mLandAnm.mStartFrame, 16,
|
||||
daAlinkHIO_board_c0::m.mLandAnm.mInterpolation);
|
||||
field_0x3198 = ANM_RIDE_JUMP_LAND;
|
||||
} else if (field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) {
|
||||
} else if (field_0x300e.y == 0 && field_0x2060->getOldFrameRate() < 0.01f) {
|
||||
setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame,
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f);
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.y = 1;
|
||||
}
|
||||
} else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) ||
|
||||
(field_0x3198 != ANM_RIDE_JUMP_LAND && field_0x3198 != ANM_RIDE_CROUCH)) {
|
||||
@@ -329,7 +334,7 @@ int daAlink_c::procSpinnerWait() {
|
||||
}
|
||||
|
||||
setSpinnerSyncPos();
|
||||
shape_angle.y = field_0x300e;
|
||||
shape_angle.y = field_0x300e.x;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_sumou.inc
|
||||
* Player Sumo action handling
|
||||
*/
|
||||
|
||||
/* 800EA844-800EA8D0 0E5184 008C+00 5/5 0/0 0/0 .text checkSumouVsActor__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkSumouVsActor() {
|
||||
mCargoCarryAcKeep.setActor();
|
||||
@@ -47,7 +52,7 @@ int daAlink_c::procSumouReadyInit() {
|
||||
field_0x2f99 = 4;
|
||||
mSpecialMode = 1;
|
||||
field_0x300c = 0;
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
deleteEquipItem(0, 1);
|
||||
|
||||
if (mThrowBoomerangAcKeep.getActor() != NULL) {
|
||||
|
||||
+16
-11
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_link.inc
|
||||
* Player Swim action handling
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_kankyo_mng.h"
|
||||
|
||||
/* 80101890-801018E4 0FC1D0 0054+00 6/6 0/0 0/0 .text checkZoraWearMaskDraw__9daAlink_cFv
|
||||
@@ -390,7 +395,7 @@ int daAlink_c::procSwimUpInit() {
|
||||
setSingleAnimeParam(ANM_SWIM_RESURFACE, &daAlinkHIO_swim_c0::m.mResurfaceAnm);
|
||||
dComIfGp_setPlayerStatus0(0, 0x100000);
|
||||
field_0x3008 = 0;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3000 = 0;
|
||||
|
||||
@@ -443,10 +448,10 @@ int daAlink_c::procSwimWaitInit(int param_0) {
|
||||
|
||||
if (param_0) {
|
||||
seStartMapInfo(Z2SE_AL_INTO_WATER);
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
} else if (!mode_40000) {
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
}
|
||||
|
||||
@@ -547,7 +552,7 @@ int daAlink_c::procSwimMoveInit() {
|
||||
|
||||
if (!mode_40000) {
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
}
|
||||
|
||||
if (proc_swim_dive || proc_dive_jump) {
|
||||
@@ -555,8 +560,8 @@ int daAlink_c::procSwimMoveInit() {
|
||||
|
||||
if (proc_dive_jump) {
|
||||
field_0x3080 = 0x2800;
|
||||
field_0x300e = field_0x3080;
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.x = field_0x3080;
|
||||
field_0x300e.y = 1;
|
||||
setOldRootQuaternion(-field_0x3080, 0, 0);
|
||||
}
|
||||
} else {
|
||||
@@ -636,7 +641,7 @@ int daAlink_c::procSwimDiveInit() {
|
||||
field_0x2f99 = 0x10;
|
||||
field_0x3588 = l_waitBaseAnime;
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, 0x100000);
|
||||
field_0x3000 = 30;
|
||||
@@ -691,8 +696,8 @@ int daAlink_c::procSwimDive() {
|
||||
|
||||
if (field_0x300c != 0) {
|
||||
field_0x3080 = 0x2800;
|
||||
field_0x300e = field_0x3080;
|
||||
field_0x3010 = 1;
|
||||
field_0x300e.x = field_0x3080;
|
||||
field_0x300e.y = 1;
|
||||
}
|
||||
|
||||
setOldRootQuaternion(-field_0x3080, 0, 0);
|
||||
@@ -743,7 +748,7 @@ int daAlink_c::procSwimHookshotSubjectInit() {
|
||||
field_0x594 = getSwimFrontMaxSpeed();
|
||||
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x30d0 = 0;
|
||||
|
||||
setHookshotReadyMaterial();
|
||||
@@ -821,7 +826,7 @@ int daAlink_c::procSwimHookshotMoveInit() {
|
||||
}
|
||||
|
||||
field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight;
|
||||
field_0x3010 = 0;
|
||||
field_0x300e.y = 0;
|
||||
field_0x30d0 = 0;
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, 0x104000);
|
||||
|
||||
@@ -1,3 +1,194 @@
|
||||
/**
|
||||
* d_a_alink_swindow.inc
|
||||
* Pause Menu Player Display
|
||||
*/
|
||||
|
||||
/* 8013FF28-8013FF90 13A868 0068+00 2/2 0/0 0/0 .text setArcName__9daAlink_cFi */
|
||||
void daAlink_c::setArcName(int isWolf) {
|
||||
if (isWolf) {
|
||||
mArcName = l_wArcName;
|
||||
return;
|
||||
}
|
||||
|
||||
if (checkCasualWearFlg()) {
|
||||
mArcName = l_bArcName;
|
||||
return;
|
||||
}
|
||||
|
||||
if (checkZoraWearFlg()) {
|
||||
mArcName = l_zArcName;
|
||||
return;
|
||||
}
|
||||
|
||||
if (checkMagicArmorWearFlg()) {
|
||||
mArcName = l_mArcName;
|
||||
return;
|
||||
}
|
||||
|
||||
mArcName = l_kArcName;
|
||||
}
|
||||
|
||||
inline bool checkCarvingWoodShieldEquip() {
|
||||
return dComIfGs_getSelectEquipShield() == WOOD_SHIELD;
|
||||
}
|
||||
|
||||
inline bool checkShopWoodShieldEquip() {
|
||||
return dComIfGs_getSelectEquipShield() == SHIELD;
|
||||
}
|
||||
|
||||
/* 8013FF90-8013FFD8 13A8D0 0048+00 2/2 0/0 0/0 .text setShieldArcName__9daAlink_cFv */
|
||||
void daAlink_c::setShieldArcName() {
|
||||
if (checkCarvingWoodShieldEquip() || !i_checkShieldGet()) {
|
||||
mShieldArcName = l_cWShdArcName;
|
||||
return;
|
||||
}
|
||||
|
||||
if (checkShopWoodShieldEquip()) {
|
||||
mShieldArcName = l_sWShdArcName;
|
||||
return;
|
||||
}
|
||||
|
||||
mShieldArcName = l_hyShdArcName;
|
||||
}
|
||||
|
||||
/* 8013FFD8-80140038 13A918 0060+00 1/1 0/0 0/0 .text setOriginalHeap__9daAlink_cFPP10JKRExpHeapUl
|
||||
*/
|
||||
void daAlink_c::setOriginalHeap(JKRExpHeap** p_heap, u32 param_1) {
|
||||
if (*p_heap == NULL) {
|
||||
*p_heap =
|
||||
JKRExpHeap::create((param_1 + 0xF & 0xFFFFFFF0) + 0xA0, mDoExt_getGameHeap(), true);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80140038-80140064 13A978 002C+00 1/0 0/0 0/0 .text setClothesChange__9daAlink_cFi */
|
||||
void daAlink_c::setClothesChange(int param_0) {
|
||||
if (i_checkWolf()) {
|
||||
return;
|
||||
}
|
||||
|
||||
mClothesChangeWaitTimer = 4;
|
||||
if (param_0 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
i_onNoResetFlg2(FLG2_UNK_200000);
|
||||
}
|
||||
|
||||
/* 80140064-80140070 13A9A4 000C+00 0/0 1/1 0/0 .text setShieldChange__9daAlink_cFv */
|
||||
void daAlink_c::setShieldChange() {
|
||||
mShieldChangeWaitTimer = 4;
|
||||
}
|
||||
|
||||
/* 80140070-801401F8 13A9B0 0188+00 3/3 0/0 0/0 .text loadModelDVD__9daAlink_cFv */
|
||||
int daAlink_c::loadModelDVD() {
|
||||
if (mClothesChangeWaitTimer != 0) {
|
||||
mClothesChangeWaitTimer--;
|
||||
|
||||
if (mClothesChangeWaitTimer == 2) {
|
||||
mEyeHL1.remove();
|
||||
mEyeHL2.remove();
|
||||
field_0x79c = NULL;
|
||||
mpWlMidnaHatModel = NULL;
|
||||
field_0x7a4 = NULL;
|
||||
mpWlMidnaHairModel = NULL;
|
||||
|
||||
if (!i_checkNoResetFlg2(FLG2_UNK_280000)) {
|
||||
dComIfG_resDelete(&mPhaseReq, mArcName);
|
||||
cPhs_Reset(&mPhaseReq);
|
||||
field_0x0638->freeAll();
|
||||
|
||||
if (mProcID == PROC_METAMORPHOSE || mProcID == PROC_METAMORPHOSE_ONLY) {
|
||||
setArcName(!i_checkWolf());
|
||||
} else {
|
||||
setArcName(i_checkWolf());
|
||||
}
|
||||
}
|
||||
} else if (mClothesChangeWaitTimer == 1) {
|
||||
if (i_checkNoResetFlg2(FLG2_UNK_280000)) {
|
||||
mClothesChangeWaitTimer = 0;
|
||||
changeLink(1);
|
||||
} else {
|
||||
if (dComIfG_resLoad(&mPhaseReq, mArcName, field_0x0638) == cPhs_COMPLEATE_e) {
|
||||
mClothesChangeWaitTimer = 0;
|
||||
|
||||
if (mProcID == PROC_METAMORPHOSE || mProcID == PROC_METAMORPHOSE_ONLY) {
|
||||
if (i_checkWolf()) {
|
||||
changeLink(0);
|
||||
} else {
|
||||
changeWolf();
|
||||
}
|
||||
} else {
|
||||
changeLink(1);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
mClothesChangeWaitTimer = 2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 801401F8-80140274 13AB38 007C+00 2/2 0/0 0/0 .text setShieldModel__9daAlink_cFv */
|
||||
void daAlink_c::setShieldModel() {
|
||||
JKRHeap* heap = mAnmHeap4.setAnimeHeap();
|
||||
mShieldModel = initModel((J3DModelData*)dComIfG_getObjectRes(mShieldArcName, 3), 0);
|
||||
|
||||
mDoExt_setCurrentHeap(heap);
|
||||
}
|
||||
|
||||
/* 80140274-80140338 13ABB4 00C4+00 2/2 0/0 0/0 .text loadShieldModelDVD__9daAlink_cFv */
|
||||
int daAlink_c::loadShieldModelDVD() {
|
||||
if (mShieldChangeWaitTimer != 0) {
|
||||
mShieldChangeWaitTimer--;
|
||||
|
||||
if (mShieldChangeWaitTimer == 2) {
|
||||
mShieldModel = NULL;
|
||||
dComIfG_resDelete(&mShieldPhaseReq, mShieldArcName);
|
||||
cPhs_Reset(&mShieldPhaseReq);
|
||||
field_0x0648->freeAll();
|
||||
setShieldArcName();
|
||||
} else if (mShieldChangeWaitTimer == 1) {
|
||||
if (dComIfG_resLoad(&mShieldPhaseReq, mShieldArcName, field_0x0648) == cPhs_COMPLEATE_e)
|
||||
{
|
||||
mShieldChangeWaitTimer = 0;
|
||||
setShieldModel();
|
||||
} else {
|
||||
mShieldChangeWaitTimer = 2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80140338-80140550 13AC78 0218+00 3/3 0/0 0/0 .text changeModelDataDirect__9daAlink_cFi
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::changeModelDataDirect(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/changeModelDataDirect__9daAlink_cFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80140550-801406A8 13AE90 0158+00 3/3 0/0 0/0 .text changeModelDataDirectWolf__9daAlink_cFi */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daAlink_c::changeModelDataDirectWolf(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/changeModelDataDirectWolf__9daAlink_cFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 801406A8-80140888 13AFE8 01E0+00 0/0 1/1 0/0 .text initStatusWindow__9daAlink_cFv */
|
||||
// regalloc
|
||||
#ifdef NONMATCHING
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_whistle.inc
|
||||
* Player Horse / Hawk Grass Whistle action handling
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h"
|
||||
|
||||
/* 8011174C-80111770 10C08C 0024+00 1/1 0/0 0/0 .text daAlink_searchWhistle__FP10fopAc_ac_cPv */
|
||||
@@ -68,9 +73,9 @@ int daAlink_c::procGrassWhistleGetInit() {
|
||||
|
||||
daObjYobikusa_c* yobikusa = (daObjYobikusa_c*)field_0x27f4;
|
||||
field_0x300c = yobikusa->getType();
|
||||
field_0x300e = yobikusa->getPathID();
|
||||
field_0x3010 = yobikusa->isPlayerCorrect();
|
||||
field_0x3012 = yobikusa->shape_angle.y + 0x8000;
|
||||
field_0x300e.x = yobikusa->getPathID();
|
||||
field_0x300e.y = yobikusa->isPlayerCorrect();
|
||||
field_0x300e.z = yobikusa->shape_angle.y + 0x8000;
|
||||
field_0x37c8.set(yobikusa->current.pos.x + cM_ssin(yobikusa->shape_angle.y) * 50.0f,
|
||||
yobikusa->current.pos.y + 50.0f,
|
||||
yobikusa->current.pos.z + cM_scos(yobikusa->shape_angle.y) * 50.0f);
|
||||
@@ -94,7 +99,7 @@ int daAlink_c::procGrassWhistleGet() {
|
||||
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
|
||||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
procGrassWhistleWaitInit(field_0x300c, field_0x300e, field_0x3010, field_0x3012, &field_0x37c8);
|
||||
procGrassWhistleWaitInit(field_0x300c, field_0x300e.x, field_0x300e.y, field_0x300e.z, &field_0x37c8);
|
||||
} else if (mEquipItem == NO_ITEM && frameCtrl->getFrame() >= lit_7710) {
|
||||
setGrassWhistleModel(field_0x300c);
|
||||
|
||||
@@ -135,11 +140,11 @@ int daAlink_c::procCoHorseCallWaitInit(int param_0) {
|
||||
commonProcInit(PROC_HORSE_CALL_WAIT);
|
||||
|
||||
if (param_0 == 4) {
|
||||
field_0x3010 = 2;
|
||||
field_0x300e.y = 2;
|
||||
} else if (param_0 == 1) {
|
||||
field_0x3010 = 0x3D;
|
||||
field_0x300e.y = 0x3D;
|
||||
} else {
|
||||
field_0x3010 = 0x10;
|
||||
field_0x300e.y = 0x10;
|
||||
}
|
||||
|
||||
if (i_checkWolf()) {
|
||||
|
||||
+34
-29
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* d_a_alink_wolf.inc
|
||||
* General Player Wolf action handling
|
||||
*/
|
||||
|
||||
/* 80126740-80126928 121080 01E8+00 2/2 0/0 0/0 .text changeCommon__9daAlink_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
@@ -756,7 +761,7 @@ int daAlink_c::procWolfWaitTurnInit() {
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
}
|
||||
|
||||
field_0x300e = field_0x2fe2;
|
||||
field_0x300e.x = field_0x2fe2;
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
return 1;
|
||||
@@ -807,7 +812,7 @@ int daAlink_c::procWolfSideStepLandInit(s16 param_0) {
|
||||
field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x14.mCheckFrame;
|
||||
}
|
||||
|
||||
field_0x3012 = param_0;
|
||||
field_0x300e.z = param_0;
|
||||
field_0x2f9d = 4;
|
||||
setFootEffectProcType(2);
|
||||
i_onResetFlg1(0xC);
|
||||
@@ -861,14 +866,14 @@ int daAlink_c::procWolfBackJump() {
|
||||
daAlinkHIO_wlAtnMove_c0::m.field_0x2);
|
||||
current.angle.y = shape_angle.y - -0x8000;
|
||||
|
||||
if (field_0x3010 != 0) {
|
||||
if (field_0x300e.y != 0) {
|
||||
checkWolfAtnDoCharge();
|
||||
}
|
||||
|
||||
backJumpSpeedDec();
|
||||
|
||||
if (mUnderFrameCtrl[0].checkAnmEnd() && mLinkAcch.ChkGroundHit()) {
|
||||
procWolfBackJumpLandInit(field_0x3012, field_0x3010);
|
||||
procWolfBackJumpLandInit(field_0x300e.z, field_0x300e.y);
|
||||
} else if (mDemo.getDemoMode() != 0x10 && current.pos.y < mLastJumpPos.y - daAlinkHIO_wlBackJump_c0::m.field_0x30) {
|
||||
field_0x2f98 = 0;
|
||||
procWolfFallInit(2, daAlinkHIO_wlBackJump_c0::m.field_0x34);
|
||||
@@ -885,8 +890,8 @@ int daAlink_c::procWolfBackJumpLandInit(s16 param_0, s16 param_1) {
|
||||
field_0x2f9d = 4;
|
||||
setFootEffectProcType(2);
|
||||
field_0x2fcc = 10;
|
||||
field_0x3012 = param_0;
|
||||
field_0x3010 = param_1;
|
||||
field_0x300e.z = param_0;
|
||||
field_0x300e.y = param_1;
|
||||
setStepLandVibration();
|
||||
|
||||
return 1;
|
||||
@@ -903,7 +908,7 @@ int daAlink_c::procWolfBackJumpLand() {
|
||||
|
||||
setWolfAtnMoveDirection();
|
||||
|
||||
if (field_0x3010 != 0) {
|
||||
if (field_0x300e.y != 0) {
|
||||
checkWolfAtnDoCharge();
|
||||
}
|
||||
|
||||
@@ -932,11 +937,11 @@ int daAlink_c::procWolfHowlInit(int param_0) {
|
||||
setSingleAnimeWolfParam(WANM_HOWL_SIT, &daAlinkHIO_wlHowl_c0::m.field_0x14);
|
||||
onModeFlg(0x800000);
|
||||
field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x14.mCheckFrame;
|
||||
field_0x300e = 1;
|
||||
field_0x300e.x = 1;
|
||||
} else {
|
||||
setSingleAnimeWolfParam(WANM_HOWL, &daAlinkHIO_wlHowl_c0::m.field_0x0);
|
||||
field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x0.mCheckFrame;
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
}
|
||||
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
@@ -1979,7 +1984,7 @@ int daAlink_c::procWolfScreamWaitInit() {
|
||||
}
|
||||
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
field_0x3588 = l_wolfBaseAnime;
|
||||
|
||||
return 1;
|
||||
@@ -1990,7 +1995,7 @@ int daAlink_c::procWolfScreamWait() {
|
||||
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
|
||||
|
||||
if (!i_checkEndResetFlg1(ERFLG1_UNK_1)) {
|
||||
if (field_0x300e != 0) {
|
||||
if (field_0x300e.x != 0) {
|
||||
field_0x2f99 = 5;
|
||||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
@@ -1999,7 +2004,7 @@ int daAlink_c::procWolfScreamWait() {
|
||||
checkNextActionWolf(1);
|
||||
}
|
||||
} else {
|
||||
field_0x300e = 1;
|
||||
field_0x300e.x = 1;
|
||||
setSingleAnimeWolf(WANM_DMG_AIR_FRONT_GETUP,
|
||||
daAlinkHIO_wlDamLarge_c0::m.field_0x0.mSpeed,
|
||||
lit_8676,
|
||||
@@ -2071,14 +2076,14 @@ int daAlink_c::checkNextActionWolfFromLie() {
|
||||
void daAlink_c::setWolfLieMoveVoice(int param_0) {
|
||||
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
|
||||
|
||||
if (frameCtrl->getRate() == FLOAT_LABEL(lit_6108) && field_0x3012 != 0) {
|
||||
field_0x3012--;
|
||||
if (frameCtrl->getRate() == FLOAT_LABEL(lit_6108) && field_0x300e.z != 0) {
|
||||
field_0x300e.z--;
|
||||
}
|
||||
|
||||
if ((param_0 != 0 && (frameCtrl->checkPass(lit_17382) || frameCtrl->checkPass(lit_7451))) ||
|
||||
(frameCtrl->getRate() == FLOAT_LABEL(lit_6108) && field_0x3012 == 0)) {
|
||||
(frameCtrl->getRate() == FLOAT_LABEL(lit_6108) && field_0x300e.z == 0)) {
|
||||
voiceStart(Z2SE_WL_V_BREATH_WALK);
|
||||
field_0x3012 = 30;
|
||||
field_0x300e.z = 30;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2609,7 +2614,7 @@ int daAlink_c::procWolfRollAttackMoveInit() {
|
||||
|
||||
field_0x3008 = daAlinkHIO_wlAttack_c0::m.mUnkTime;
|
||||
field_0x300a = daAlinkHIO_wlAtLock_c0::m.field_0x28.mEndFrame;
|
||||
field_0x3012 = 30;
|
||||
field_0x300e.z = 30;
|
||||
field_0x3198 = 0;
|
||||
field_0x2fe4 = shape_angle.y;
|
||||
voiceStartLevel(Z2SE_WL_V_ROAR);
|
||||
@@ -2704,7 +2709,7 @@ int daAlink_c::procWolfJumpAttackNormalLandInit(int param_0) {
|
||||
setFootEffectProcType(2);
|
||||
field_0x2f9d = 0x18;
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
field_0x3012 = 0;
|
||||
field_0x300e.z = 0;
|
||||
field_0x300c = param_0;
|
||||
field_0x2f99 = 12;
|
||||
field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration;
|
||||
@@ -2966,9 +2971,9 @@ int daAlink_c::procWolfEnemyHangBiteInit() {
|
||||
field_0x3008 = daAlinkHIO_wlAtBite_c0::m.field_0x28;
|
||||
field_0x300a = 0;
|
||||
field_0x300c = 0;
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
field_0x3478 = daAlinkHIO_wlAtBite_c0::m.field_0x40;
|
||||
field_0x3010 = shape_angle.y;
|
||||
field_0x300e.y = shape_angle.y;
|
||||
voiceStart(Z2SE_WL_V_BITE_ATTACK);
|
||||
dComIfGp_setPlayerStatus1(0, 0x200000);
|
||||
}
|
||||
@@ -3090,7 +3095,7 @@ int daAlink_c::procWolfPush() {
|
||||
|
||||
if (frameCtrl->checkAnmEnd()) {
|
||||
if (field_0x300c != 0) {
|
||||
setSingleAnimeWolf(WANM_PUSH_LIGHT, lit_6040, FLOAT_LABEL(lit_6108), field_0x300e, lit_6109);
|
||||
setSingleAnimeWolf(WANM_PUSH_LIGHT, lit_6040, FLOAT_LABEL(lit_6108), field_0x300e.x, lit_6109);
|
||||
mUnderFrameCtrl[0].setAttribute(0);
|
||||
field_0x300c = 0;
|
||||
} else {
|
||||
@@ -3225,7 +3230,7 @@ int daAlink_c::procWolfChainReadyInit() {
|
||||
setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtNjump_c0::m.field_0x0);
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
field_0x300c = 0;
|
||||
field_0x300e = 0;
|
||||
field_0x300e.x = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -3307,21 +3312,21 @@ void daAlink_c::setSmellSave() {
|
||||
dComIfGs_offEventBit(0x2F04); // OFF: Got Medicine Scent
|
||||
}
|
||||
|
||||
dMsgObject_setSmellType(field_0x3012);
|
||||
dMsgObject_setSmellType(field_0x300e.z);
|
||||
|
||||
if (field_0x3012 == SMELL_MEDICINE) {
|
||||
if (field_0x300e.z == SMELL_MEDICINE) {
|
||||
dComIfGs_onEventBit(0x2F04); // ON: Got Medicine Scent
|
||||
} else if (field_0x3012 == SMELL_CHILDREN) {
|
||||
} else if (field_0x300e.z == SMELL_CHILDREN) {
|
||||
i_fopAcM_onSwitch(this, 102);
|
||||
} else if (field_0x3012 == SMELL_YELIA_POUCH) {
|
||||
} else if (field_0x300e.z == SMELL_YELIA_POUCH) {
|
||||
i_fopAcM_onSwitch(this, 103);
|
||||
} else if (field_0x3012 == SMELL_FISH) {
|
||||
} else if (field_0x300e.z == SMELL_FISH) {
|
||||
dComIfGs_onEventBit(0x6120); // ON: Got Reekfish scent
|
||||
} else if (field_0x3012 == SMELL_POH) {
|
||||
} else if (field_0x300e.z == SMELL_POH) {
|
||||
dComIfGs_onEventBit(0x6210); // ON: Got Poe scent
|
||||
}
|
||||
|
||||
setGetSubBgm(field_0x3012);
|
||||
setGetSubBgm(field_0x300e.z);
|
||||
}
|
||||
|
||||
/* 8013FA14-8013FC24 13A354 0210+00 1/1 0/0 0/0 .text procWolfGetSmellInit__9daAlink_cFv
|
||||
|
||||
+67
-281
@@ -1,151 +1,24 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/a/d_a_player
|
||||
//
|
||||
/**
|
||||
* d_a_player.cpp
|
||||
* Base Player Actor functionality
|
||||
*/
|
||||
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/a/d_a_alink.h"
|
||||
#include "dol2asm.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
|
||||
#include "rel/d/a/d_a_spinner/d_a_spinner.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void checkAnmEnd__16daPy_frameCtrl_cFv();
|
||||
extern "C" void updateFrame__16daPy_frameCtrl_cFv();
|
||||
extern "C" void setFrameCtrl__16daPy_frameCtrl_cFUcssff();
|
||||
extern "C" void initOffset__20daPy_boomerangMove_cFPC4cXyz();
|
||||
extern "C" void posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs();
|
||||
extern "C" void bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz();
|
||||
extern "C" void setParamData__9daPy_py_cFiiii();
|
||||
extern "C" void checkFishingRodItem__9daPy_py_cFi();
|
||||
extern "C" void checkBombItem__9daPy_py_cFi();
|
||||
extern "C" void checkBottleItem__9daPy_py_cFi();
|
||||
extern "C" void checkDrinkBottleItem__9daPy_py_cFi();
|
||||
extern "C" void checkOilBottleItem__9daPy_py_cFi();
|
||||
extern "C" void checkOpenBottleItem__9daPy_py_cFi();
|
||||
extern "C" void checkBowItem__9daPy_py_cFi();
|
||||
extern "C" void checkHookshotItem__9daPy_py_cFi();
|
||||
extern "C" void checkTradeItem__9daPy_py_cFi();
|
||||
extern "C" void checkDungeonWarpItem__9daPy_py_cFi();
|
||||
extern "C" void setActor__16daPy_actorKeep_cFv();
|
||||
extern "C" void setData__16daPy_actorKeep_cFP10fopAc_ac_c();
|
||||
extern "C" void clearData__16daPy_actorKeep_cFv();
|
||||
extern "C" void __ct__14daPy_anmHeap_cFUl();
|
||||
extern "C" void __dt__14daPy_anmHeap_cFv();
|
||||
extern "C" void initData__14daPy_anmHeap_cFv();
|
||||
extern "C" void mallocBuffer__14daPy_anmHeap_cFv();
|
||||
extern "C" void createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE();
|
||||
extern "C" void loadData__14daPy_anmHeap_cFUs();
|
||||
extern "C" void loadDataIdx__14daPy_anmHeap_cFUs();
|
||||
extern "C" void loadDataPriIdx__14daPy_anmHeap_cFUs();
|
||||
extern "C" void loadDataDemoRID__14daPy_anmHeap_cFUsUs();
|
||||
extern "C" void setAnimeHeap__14daPy_anmHeap_cFv();
|
||||
extern "C" void draw__18daPy_sightPacket_cFv();
|
||||
extern "C" void setSight__18daPy_sightPacket_cFv();
|
||||
extern "C" void setSightImage__18daPy_sightPacket_cFP7ResTIMG();
|
||||
extern "C" void checkMasterSwordEquip__9daPy_py_cFv();
|
||||
extern "C" void checkWoodShieldEquip__9daPy_py_cFv();
|
||||
extern "C" void getAttentionOffsetY__9daPy_py_cFv();
|
||||
extern "C" void checkNowWolfEyeUp__9daPy_py_cFv();
|
||||
extern "C" void forceRestartRoom__9daPy_py_cFiUli();
|
||||
extern "C" void setFmChainPos__9daPy_py_cFP10fopAc_ac_cP4cXyzi();
|
||||
extern "C" void cancelFmChainGrab__9daPy_py_cFv();
|
||||
extern "C" void setLookPos__9daPy_py_cFP4cXyz();
|
||||
extern "C" void setPlayerSe__9daPy_py_cFUl();
|
||||
extern "C" void linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c();
|
||||
extern "C" void wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c();
|
||||
extern "C" void checkRoomRestartStart__9daPy_py_cFv();
|
||||
extern "C" void checkCarryStartLightBallA__9daPy_py_cFv();
|
||||
extern "C" void checkCarryStartLightBallB__9daPy_py_cFv();
|
||||
extern "C" void getSpinnerRideSpeed__9daPy_py_cCFv();
|
||||
extern "C" void checkSpinnerReflectEffect__9daPy_py_cFv();
|
||||
extern "C" void checkBoomerangCharge__9daPy_py_cFv();
|
||||
extern "C" bool checkBoomerangChargeTime__9daPy_py_cFv();
|
||||
extern "C" void getThrowBoomerangActor__9daPy_py_cFv();
|
||||
extern "C" void cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c();
|
||||
extern "C" void setPlayerDamage__9daPy_py_cFii();
|
||||
extern "C" void setMidnaMotionNum__9daPy_py_cFi();
|
||||
extern "C" void setMidnaFaceNum__9daPy_py_cFi();
|
||||
extern "C" void daPy_addCalcShort__FPsssss();
|
||||
extern "C" extern void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */];
|
||||
extern "C" u8 m_midnaActor__9daPy_py_c[4];
|
||||
extern "C" u8 m_dropAngleY__20daPy_boomerangMove_c[4];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void mDoExt_createSolidHeapFromGameToCurrent__FPP7JKRHeapUlUl();
|
||||
extern "C" void mDoExt_adjustSolidHeap__FP12JKRSolidHeap();
|
||||
extern "C" void mDoExt_destroySolidHeap__FP12JKRSolidHeap();
|
||||
extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
|
||||
extern "C" void mDoLib_project__FP3VecP3Vec();
|
||||
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
|
||||
extern "C" void fpcSch_JudgeByID__FPvPv();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci();
|
||||
extern "C" void set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c();
|
||||
extern "C" void setLookPosFromOut__9daAlink_cFP4cXyz();
|
||||
extern "C" void startRestartRoom__9daAlink_cFUliii();
|
||||
extern "C" void setDamagePoint__9daAlink_cFiiii();
|
||||
extern "C" void cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c();
|
||||
extern "C" void checkBoomerangChargeEnd__9daAlink_cFv();
|
||||
extern "C" void checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c();
|
||||
extern "C" void setFmChainPosFromOut__9daAlink_cFP10fopAc_ac_cP4cXyzi();
|
||||
extern "C" void __dt__18daPy_sightPacket_cFv();
|
||||
extern "C" void cM_atan2s__Fff();
|
||||
extern "C" void cM_rndF__Ff();
|
||||
extern "C" void freeAll__7JKRHeapFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void* __nwa__FUl();
|
||||
extern "C" void* __nwa__FUli();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void readIdxResource__10JKRArchiveFPvUlUl();
|
||||
extern "C" void reinitGX__6J3DSysFv();
|
||||
extern "C" void update__12J3DFrameCtrlFv();
|
||||
extern "C" void __ct__15J3DAnmTransformFsPfPsPf();
|
||||
extern "C" void __ct__19J3DAnmTextureSRTKeyFv();
|
||||
extern "C" void __ct__16J3DAnmTexPatternFv();
|
||||
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
|
||||
extern "C" void GXClearVtxDesc();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__18mDoExt_transAnmBas[5];
|
||||
extern "C" extern void* __vt__18J3DAnmTransformKey[5];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453600-80453608 001C00 0004+04 6/6 0/0 0/0 .sdata2 @4215 */
|
||||
SECTION_SDATA2 static f32 lit_4215[1 + 1 /* padding */] = {
|
||||
0.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
bool daPy_frameCtrl_c::checkAnmEnd() {
|
||||
if (getEndFlg() != 0 && getNowSetFlg() == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (getRate() == lit_4215[0]) {
|
||||
if (getRate() == 0.0f) {
|
||||
onEndFlg();
|
||||
onNowSetFlg();
|
||||
}
|
||||
@@ -167,7 +40,7 @@ void daPy_frameCtrl_c::setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32
|
||||
setStart(i_start);
|
||||
setFrame(i_frame);
|
||||
|
||||
if (i_rate >= lit_4215[0]) {
|
||||
if (i_rate >= 0.0f) {
|
||||
setLoop(i_start);
|
||||
} else {
|
||||
setLoop(i_end);
|
||||
@@ -178,12 +51,12 @@ void daPy_frameCtrl_c::setFrameCtrl(u8 i_attribute, s16 i_start, s16 i_end, f32
|
||||
|
||||
/* 8015E5B0-8015E654 158EF0 00A4+00 0/0 1/1 18/18 .text initOffset__20daPy_boomerangMove_cFPC4cXyz
|
||||
*/
|
||||
void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
|
||||
daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
|
||||
void daPy_boomerangMove_c::initOffset(cXyz const* i_offset) {
|
||||
daBoomerang_c* boomerang_p = daPy_py_c::getThrowBoomerangActor();
|
||||
|
||||
if (boomerang != NULL) {
|
||||
bgCheckAfterOffset(param_0);
|
||||
boomerang->onWindCatch();
|
||||
if (boomerang_p != NULL) {
|
||||
bgCheckAfterOffset(i_offset);
|
||||
boomerang_p->onWindCatch();
|
||||
} else {
|
||||
field_0x4 = cM_rndF(70.0f) + 30.0f;
|
||||
field_0x8 = cM_rndF(50.0f) + 50.0f;
|
||||
@@ -193,11 +66,9 @@ void daPy_boomerangMove_c::initOffset(cXyz const* param_0) {
|
||||
field_0x0 = 0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451018-8045101C 000518 0004+00 2/2 33/32 103/103 .sbss m_midnaActor__9daPy_py_c */
|
||||
daMidna_c* daPy_py_c::m_midnaActor;
|
||||
|
||||
/* 8045101C-80451020 -00001 0004+00 1/1 1/1 1/1 .sbss None */
|
||||
/* 8045101C 0002+00 data_8045101C m_dropAngleY__20daPy_boomerangMove_c */
|
||||
s16 daPy_boomerangMove_c::m_dropAngleY;
|
||||
|
||||
@@ -207,7 +78,7 @@ s16 daPy_boomerangMove_c::m_eventKeepFlg;
|
||||
/* 8015E654-8015E87C 158F94 0228+00 0/0 1/1 17/17 .text
|
||||
* posMove__20daPy_boomerangMove_cFP4cXyzPsP10fopAc_ac_cs */
|
||||
int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param_2, s16 param_3) {
|
||||
daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
|
||||
daBoomerang_c* boomerang_p = daPy_py_c::getThrowBoomerangActor();
|
||||
|
||||
field_0x2 -= param_3;
|
||||
*param_1 -= param_3;
|
||||
@@ -222,8 +93,8 @@ int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param
|
||||
field_0x4 = 50.0f;
|
||||
}
|
||||
|
||||
if (boomerang != NULL) {
|
||||
if (boomerang->checkForceDelete()) {
|
||||
if (boomerang_p != NULL) {
|
||||
if (boomerang_p->checkForceDelete()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -233,61 +104,38 @@ int daPy_boomerangMove_c::posMove(cXyz* param_0, s16* param_1, fopAc_ac_c* param
|
||||
return 0;
|
||||
}
|
||||
|
||||
param_0->set(boomerang->current.pos.x + field_0x8 * cM_ssin(field_0x2),
|
||||
boomerang->current.pos.y + field_0x4,
|
||||
boomerang->current.pos.z + field_0x8 * cM_scos(field_0x2));
|
||||
boomerang->onWindCatch();
|
||||
param_0->set(boomerang_p->current.pos.x + field_0x8 * cM_ssin(field_0x2),
|
||||
boomerang_p->current.pos.y + field_0x4,
|
||||
boomerang_p->current.pos.z + field_0x8 * cM_scos(field_0x2));
|
||||
boomerang_p->onWindCatch();
|
||||
return 1;
|
||||
}
|
||||
|
||||
daAlink_c* link = daAlink_getAlinkActorClass();
|
||||
if ((param_2 == NULL || !link->checkBoomerangCarry(param_2)) &&
|
||||
(m_eventKeepFlg == 0 || field_0x0 != 0)) {
|
||||
s16 tmp = (m_dropAngleY + link->shape_angle.y) + cM_rndF(2048.0f);
|
||||
daAlink_c* player_p = daAlink_getAlinkActorClass();
|
||||
if ((param_2 == NULL || !player_p->checkBoomerangCarry(param_2)) &&
|
||||
(m_eventKeepFlg == 0 || field_0x0 != 0))
|
||||
{
|
||||
s16 tmp = (m_dropAngleY + player_p->shape_angle.y) + cM_rndF(2048.0f);
|
||||
|
||||
param_0->x = link->current.pos.x + field_0x8 * cM_ssin(tmp);
|
||||
param_0->z = link->current.pos.z + field_0x8 * cM_scos(tmp);
|
||||
param_0->x = player_p->current.pos.x + field_0x8 * cM_ssin(tmp);
|
||||
param_0->z = player_p->current.pos.z + field_0x8 * cM_scos(tmp);
|
||||
m_dropAngleY += 0x2000;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80453630-80453638 001C30 0008+00 1/1 0/0 0/0 .sdata2 @4379 */
|
||||
SECTION_SDATA2 static f64 lit_4379 = 0.5;
|
||||
|
||||
/* 80453638-80453640 001C38 0008+00 1/1 0/0 0/0 .sdata2 @4380 */
|
||||
SECTION_SDATA2 static f64 lit_4380 = 3.0;
|
||||
|
||||
/* 80453640-80453648 001C40 0008+00 1/1 0/0 0/0 .sdata2 @4381 */
|
||||
SECTION_SDATA2 static u8 lit_4381[8] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 8015E87C-8015EA0C 1591BC 0190+00 1/1 1/1 17/17 .text
|
||||
* bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz */
|
||||
// matches with literals (used in inlines)
|
||||
#ifdef NONMATCHING
|
||||
void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
|
||||
daBoomerang_c* boomerang = daPy_py_c::getThrowBoomerangActor();
|
||||
if (boomerang != NULL) {
|
||||
field_0x4 = param_0->y - boomerang->current.pos.y;
|
||||
field_0x8 = boomerang->current.pos.absXZ(*param_0);
|
||||
field_0x2 =
|
||||
cM_atan2s(param_0->x - boomerang->current.pos.x, param_0->z - boomerang->current.pos.z);
|
||||
void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* i_offset) {
|
||||
daBoomerang_c* boomerang_p = daPy_py_c::getThrowBoomerangActor();
|
||||
if (boomerang_p != NULL) {
|
||||
field_0x4 = i_offset->y - boomerang_p->current.pos.y;
|
||||
field_0x8 = boomerang_p->current.pos.absXZ(*i_offset);
|
||||
field_0x2 = cM_atan2s(i_offset->x - boomerang_p->current.pos.x,
|
||||
i_offset->z - boomerang_p->current.pos.z);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_boomerangMove_c::bgCheckAfterOffset(cXyz const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/bgCheckAfterOffset__20daPy_boomerangMove_cFPC4cXyz.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015EA0C-8015EA20 15934C 0014+00 0/0 3/3 0/0 .text setParamData__9daPy_py_cFiiii */
|
||||
u32 daPy_py_c::setParamData(int param_0, int param_1, int param_2, int param_3) {
|
||||
@@ -301,12 +149,11 @@ BOOL daPy_py_c::checkFishingRodItem(int i_itemNo) {
|
||||
}
|
||||
|
||||
/* 8015EA48-8015EA88 159388 0040+00 0/0 3/3 0/0 .text checkBombItem__9daPy_py_cFi */
|
||||
BOOL daPy_py_c::checkBombItem(int param_0) {
|
||||
return param_0 == NORMAL_BOMB || param_0 == WATER_BOMB || param_0 == POKE_BOMB;
|
||||
BOOL daPy_py_c::checkBombItem(int i_itemNo) {
|
||||
return i_itemNo == NORMAL_BOMB || i_itemNo == WATER_BOMB || i_itemNo == POKE_BOMB;
|
||||
}
|
||||
|
||||
/* 8015EA88-8015EAD8 1593C8 0050+00 0/0 5/5 0/0 .text checkBottleItem__9daPy_py_cFi */
|
||||
// is there a way to write this with a switch?
|
||||
BOOL daPy_py_c::checkBottleItem(int i_itemNo) {
|
||||
return (i_itemNo >= EMPTY_BOTTLE && i_itemNo <= FAIRY) || i_itemNo == BEE_CHILD ||
|
||||
i_itemNo == WORM || i_itemNo == FAIRY_DROP || i_itemNo == CHUCHU_BLACK ||
|
||||
@@ -315,7 +162,6 @@ BOOL daPy_py_c::checkBottleItem(int i_itemNo) {
|
||||
|
||||
/* 8015EAD8-8015EB40 159418 0068+00 0/0 3/3 0/0 .text checkDrinkBottleItem__9daPy_py_cFi
|
||||
*/
|
||||
// is there a way to write this with a switch?
|
||||
BOOL daPy_py_c::checkDrinkBottleItem(int i_itemNo) {
|
||||
return (i_itemNo >= RED_BOTTLE && i_itemNo <= HALF_MILK_BOTTLE) || i_itemNo == RED_BOTTLE_2 ||
|
||||
i_itemNo == UGLY_SOUP || i_itemNo == HOT_SPRING || i_itemNo == BEE_CHILD ||
|
||||
@@ -534,7 +380,7 @@ JKRHeap* daPy_anmHeap_c::setAnimeHeap() {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803BA0C0-803BA14C 0171E0 0089+03 1/1 0/0 0/0 .data l_sightDL */
|
||||
SECTION_DATA static u8 l_sightDL[137] = {
|
||||
static u8 l_sightDL[] = {
|
||||
0x10, 0x00, 0x00, 0x10, 0x40, 0xFF, 0xFF, 0x42, 0x80, 0x08, 0x30, 0x3C, 0xF3, 0xCF, 0x00, 0x10,
|
||||
0x00, 0x00, 0x10, 0x18, 0x3C, 0xF3, 0xCF, 0x00, 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0xC0, 0x08,
|
||||
0x42, 0x8F, 0x61, 0xC1, 0x08, 0xE6, 0x70, 0x61, 0x43, 0x00, 0x00, 0x01, 0x61, 0x40, 0x00, 0x00,
|
||||
@@ -546,15 +392,7 @@ SECTION_DATA static u8 l_sightDL[137] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80453678-8045367C 001C78 0004+00 1/1 0/0 0/0 .sdata2 @4668 */
|
||||
SECTION_SDATA2 static u32 lit_4668 = 0xFF8000FF;
|
||||
|
||||
/* 8045367C-80453680 001C7C 0004+00 1/1 0/0 0/0 .sdata2 @4669 */
|
||||
SECTION_SDATA2 static u32 lit_4669 = 0x321400FF;
|
||||
|
||||
/* 8015F1A0-8015F2FC 159AE0 015C+00 1/0 1/1 0/0 .text draw__18daPy_sightPacket_cFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void daPy_sightPacket_c::draw() {
|
||||
GXTexObj texObj;
|
||||
|
||||
@@ -574,8 +412,7 @@ void daPy_sightPacket_c::draw() {
|
||||
u8 tmp2 = mpImg->mipmapCount;
|
||||
tmp2 = tmp2 > 1;
|
||||
GXInitTexObj(&texObj, mpData, mpImg->width, mpImg->height, (GXTexFmt)mpImg->format,
|
||||
(GXTexWrapMode)mpImg->wrapS, (GXTexWrapMode)mpImg->wrapT,
|
||||
(GXBool)(tmp2));
|
||||
(GXTexWrapMode)mpImg->wrapS, (GXTexWrapMode)mpImg->wrapT, (GXBool)(tmp2));
|
||||
GXInitTexObjLOD(&texObj, GX_LINEAR, GX_LINEAR, 0.0, 0.0, 0.0, GX_FALSE, GX_FALSE, GX_ANISO_1);
|
||||
GXLoadTexObj(&texObj, GX_TEXMAP0);
|
||||
GXLoadPosMtxImm(field_0x14, GX_PNMTX0);
|
||||
@@ -584,23 +421,13 @@ void daPy_sightPacket_c::draw() {
|
||||
GXCallDisplayList(l_sightDL, 0x80);
|
||||
J3DShape::resetVcdVatCache();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daPy_sightPacket_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/draw__18daPy_sightPacket_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015F2FC-8015F384 159C3C 0088+00 0/0 1/1 0/0 .text setSight__18daPy_sightPacket_cFv */
|
||||
void daPy_sightPacket_c::setSight() {
|
||||
Vec tmp;
|
||||
Vec proj;
|
||||
|
||||
mDoLib_project(&mPos, &tmp);
|
||||
mDoMtx_stack_c::transS(tmp.x, tmp.y, tmp.z);
|
||||
mDoLib_project(&mPos, &proj);
|
||||
mDoMtx_stack_c::transS(proj.x, proj.y, proj.z);
|
||||
mDoMtx_stack_c::scaleM(32.0f, 32.0f, 32.0f);
|
||||
mDoMtx_copy(mDoMtx_stack_c::get(), field_0x14);
|
||||
dComIfGd_set2DXlu(this);
|
||||
@@ -608,9 +435,9 @@ void daPy_sightPacket_c::setSight() {
|
||||
|
||||
/* 8015F384-8015F398 159CC4 0014+00 0/0 1/1 0/0 .text
|
||||
* setSightImage__18daPy_sightPacket_cFP7ResTIMG */
|
||||
void daPy_sightPacket_c::setSightImage(ResTIMG* p_img) {
|
||||
mpImg = p_img;
|
||||
mpData = (u8*)p_img + p_img->imageOffset;
|
||||
void daPy_sightPacket_c::setSightImage(ResTIMG* i_img) {
|
||||
mpImg = i_img;
|
||||
mpData = (u8*)i_img + i_img->imageOffset;
|
||||
}
|
||||
|
||||
/* 8015F398-8015F3C4 159CD8 002C+00 0/0 8/8 10/10 .text checkMasterSwordEquip__9daPy_py_cFv */
|
||||
@@ -676,8 +503,8 @@ void daPy_py_c::cancelFmChainGrab() {
|
||||
}
|
||||
|
||||
/* 8015F4F0-8015F520 159E30 0030+00 0/0 0/0 17/17 .text setLookPos__9daPy_py_cFP4cXyz */
|
||||
void daPy_py_c::setLookPos(cXyz* p_pos) {
|
||||
daAlink_getAlinkActorClass()->setLookPosFromOut(p_pos);
|
||||
void daPy_py_c::setLookPos(cXyz* i_pos) {
|
||||
daAlink_getAlinkActorClass()->setLookPosFromOut(i_pos);
|
||||
}
|
||||
|
||||
/* 8015F520-8015F55C 159E60 003C+00 0/0 0/0 4/4 .text setPlayerSe__9daPy_py_cFUl */
|
||||
@@ -687,46 +514,16 @@ void daPy_py_c::setPlayerSe(u32 i_sfxID) {
|
||||
|
||||
/* 8015F55C-8015F60C 159E9C 00B0+00 1/1 0/0 2/2 .text
|
||||
* linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */
|
||||
// regalloc
|
||||
#ifdef NONMATCHING
|
||||
bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* p_ac) {
|
||||
bool check_carry = false;
|
||||
bool ret = false;
|
||||
|
||||
if (fopAcM_checkCarryNow(p_ac)) {
|
||||
if (daPy_getPlayerActorClass()->getGrabActorID() == fopAcM_GetID(p_ac)) {
|
||||
check_carry = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (check_carry &&
|
||||
dComIfGp_checkCameraAttentionStatus(i_dComIfGp_getPlayerCameraID(0), 2) != 0) {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
return ret;
|
||||
bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* i_actor) {
|
||||
return (fopAcM_checkCarryNow(i_actor) &&
|
||||
daPy_getPlayerActorClass()->getGrabActorID() == fopAcM_GetID(i_actor)) &&
|
||||
dComIfGp_checkCameraAttentionStatus(i_dComIfGp_getPlayerCameraID(0), 2);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool daPy_py_c::linkGrabSubjectNoDraw(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/linkGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015F60C-8015F660 159F4C 0054+00 0/0 0/0 2/2 .text
|
||||
* wolfGrabSubjectNoDraw__9daPy_py_cFP10fopAc_ac_c */
|
||||
bool daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* param_0){
|
||||
bool ret = false;
|
||||
if (checkNowWolf()) {
|
||||
if (linkGrabSubjectNoDraw(param_0)) {
|
||||
ret = true;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
bool daPy_py_c::wolfGrabSubjectNoDraw(fopAc_ac_c* i_actor) {
|
||||
return checkNowWolf() && linkGrabSubjectNoDraw(i_actor);
|
||||
}
|
||||
|
||||
u32 daPy_py_c::getLastSceneMode() {
|
||||
@@ -737,7 +534,6 @@ u32 daPy_py_c::getLastSceneMode() {
|
||||
*/
|
||||
bool daPy_py_c::checkRoomRestartStart() {
|
||||
u8 mode = getLastSceneMode();
|
||||
|
||||
if (mode == 4 || mode == 8 || mode == 5) {
|
||||
return true;
|
||||
}
|
||||
@@ -749,7 +545,8 @@ bool daPy_py_c::checkRoomRestartStart() {
|
||||
u32 daPy_py_c::checkCarryStartLightBallA() {
|
||||
if (checkRoomRestartStart() || !i_dComIfGp_getStage() ||
|
||||
!i_dComIfGp_getStage()->getStagInfo() ||
|
||||
i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) != 0x17) {
|
||||
i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) != 0x17)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -760,7 +557,8 @@ u32 daPy_py_c::checkCarryStartLightBallA() {
|
||||
u32 daPy_py_c::checkCarryStartLightBallB() {
|
||||
if (checkRoomRestartStart() || !i_dComIfGp_getStage() ||
|
||||
!i_dComIfGp_getStage()->getStagInfo() ||
|
||||
i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) != 0x17) {
|
||||
i_dStage_stagInfo_GetSaveTbl(i_dComIfGp_getStage()->getStagInfo()) != 0x17)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -773,34 +571,22 @@ f32 daPy_py_c::getSpinnerRideSpeed() const {
|
||||
if (checkSpinnerRide()) {
|
||||
rideSpeed = speedF;
|
||||
} else {
|
||||
rideSpeed = lit_4215[0];
|
||||
rideSpeed = 0.0f;
|
||||
}
|
||||
|
||||
return rideSpeed;
|
||||
}
|
||||
|
||||
/* 8015F814-8015F89C 15A154 0088+00 0/0 0/0 1/1 .text checkSpinnerReflectEffect__9daPy_py_cFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
bool daPy_py_c::checkSpinnerReflectEffect() {
|
||||
daSpinner_c* spinner = (daSpinner_c*)getSpinnerActor();
|
||||
daSpinner_c* spinner_p = (daSpinner_c*)getSpinnerActor();
|
||||
|
||||
if (spinner != NULL && spinner->reflectAccept()) {
|
||||
if (spinner_p != NULL && spinner_p->reflectAccept()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool daPy_py_c::checkSpinnerReflectEffect() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_player/checkSpinnerReflectEffect__9daPy_py_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8015F89C-8015F8C8 15A1DC 002C+00 0/0 0/0 7/7 .text checkBoomerangCharge__9daPy_py_cFv
|
||||
*/
|
||||
@@ -809,8 +595,8 @@ bool daPy_py_c::checkBoomerangCharge() {
|
||||
}
|
||||
|
||||
/* 8015F8C8-8015F8D0 15A208 0008+00 0/0 0/0 1/1 .text checkBoomerangChargeTime__9daPy_py_cFv */
|
||||
bool daPy_py_c::checkBoomerangChargeTime() {
|
||||
return false;
|
||||
int daPy_py_c::checkBoomerangChargeTime() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8015F8D0-8015F8E4 15A210 0014+00 3/3 1/1 5/5 .text getThrowBoomerangActor__9daPy_py_cFv */
|
||||
@@ -821,26 +607,26 @@ daBoomerang_c* daPy_py_c::getThrowBoomerangActor() {
|
||||
|
||||
/* 8015F8E4-8015F914 15A224 0030+00 0/0 0/0 2/2 .text
|
||||
* cancelBoomerangLockActor__9daPy_py_cFP10fopAc_ac_c */
|
||||
void daPy_py_c::cancelBoomerangLockActor(fopAc_ac_c* p_ac) {
|
||||
daAlink_getAlinkActorClass()->cancelBoomerangLock(p_ac);
|
||||
void daPy_py_c::cancelBoomerangLockActor(fopAc_ac_c* i_actor) {
|
||||
daAlink_getAlinkActorClass()->cancelBoomerangLock(i_actor);
|
||||
}
|
||||
|
||||
/* 8015F914-8015F954 15A254 0040+00 0/0 0/0 2/2 .text setPlayerDamage__9daPy_py_cFii */
|
||||
void daPy_py_c::setPlayerDamage(int param_0, int param_1) {
|
||||
daAlink_getAlinkActorClass()->setDamagePoint(param_0, 0, param_1, 0);
|
||||
void daPy_py_c::setPlayerDamage(int i_dmgAmount, int i_setDmgTimer) {
|
||||
daAlink_getAlinkActorClass()->setDamagePoint(i_dmgAmount, FALSE, i_setDmgTimer, 0);
|
||||
}
|
||||
|
||||
/* 8015F954-8015F968 15A294 0014+00 0/0 3/3 0/0 .text setMidnaMotionNum__9daPy_py_cFi */
|
||||
void daPy_py_c::setMidnaMotionNum(int motion_num) {
|
||||
void daPy_py_c::setMidnaMotionNum(int i_motionNum) {
|
||||
if (m_midnaActor != NULL) {
|
||||
m_midnaActor->setMotionNum(motion_num);
|
||||
m_midnaActor->setMotionNum(i_motionNum);
|
||||
}
|
||||
}
|
||||
|
||||
/* 8015F968-8015F97C 15A2A8 0014+00 0/0 3/3 0/0 .text setMidnaFaceNum__9daPy_py_cFi */
|
||||
void daPy_py_c::setMidnaFaceNum(int face_num) {
|
||||
void daPy_py_c::setMidnaFaceNum(int i_faceNum) {
|
||||
if (m_midnaActor != NULL) {
|
||||
m_midnaActor->setFaceNum(face_num);
|
||||
m_midnaActor->setFaceNum(i_faceNum);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -623,18 +623,18 @@ void dCcS::SetAtTgGObjInf(bool i_setAt, bool i_setTg, cCcD_Obj* param_2, cCcD_Ob
|
||||
}
|
||||
|
||||
if (i_setAt) {
|
||||
dCcD_HitCallback cb = atObjInf->GetAtHitCallback();
|
||||
dCcD_HitCallback at_callback = atObjInf->GetAtHitCallback();
|
||||
|
||||
if (cb != NULL) {
|
||||
cb(atObjInf->GetAc(), atObjInf, tgObjInf->GetAc(), tgObjInf);
|
||||
if (at_callback != NULL) {
|
||||
at_callback(atObjInf->GetAc(), atObjInf, tgObjInf->GetAc(), tgObjInf);
|
||||
}
|
||||
}
|
||||
|
||||
if (i_setTg) {
|
||||
dCcD_HitCallback cb = tgObjInf->GetTgHitCallback();
|
||||
dCcD_HitCallback tg_callback = tgObjInf->GetTgHitCallback();
|
||||
|
||||
if (cb != NULL) {
|
||||
cb(tgObjInf->GetAc(), tgObjInf, atObjInf->GetAc(), atObjInf);
|
||||
if (tg_callback != NULL) {
|
||||
tg_callback(tgObjInf->GetAc(), tgObjInf, atObjInf->GetAc(), atObjInf);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -2023,7 +2023,7 @@ asm void dCamera_c::GetCameraTypeFromMapToolID(s32 param_0, s32 param_1) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dCamera_c::GetCameraTypeFromCameraName(char const* param_0) {
|
||||
asm int dCamera_c::GetCameraTypeFromCameraName(char const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/d_camera/GetCameraTypeFromCameraName__9dCamera_cFPCc.s"
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user