work on d_camera / d_ev_camera (#2170)

This commit is contained in:
TakaRikka
2024-06-25 07:34:59 -07:00
committed by GitHub
parent 3c82015f69
commit d923917b39
82 changed files with 2759 additions and 2491 deletions
+4 -4
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 50.567545% | 1818684 | 3596544
.text | 50.747495% | 1825156 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 55.777243% | 2242620 | 4020672
Total | 55.938211% | 2249092 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 55.777243% | 2242620 | 4020672
main.dol | 55.938211% | 2249092 | 4020672
RELs | 38.860853% | 4469124 | 11500324
Total | 43.242998% | 6711744 | 15520996
Total | 43.284696% | 6718216 | 15520996
## RELs
-14
View File
@@ -1,14 +0,0 @@
lbl_80181E98:
/* 80181E98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80181E9C 7C 08 02 A6 */ mflr r0
/* 80181EA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80181EA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80181EA8 7C 85 23 78 */ mr r5, r4
/* 80181EAC 38 85 00 30 */ addi r4, r5, 0x30
/* 80181EB0 38 A5 06 DC */ addi r5, r5, 0x6dc
/* 80181EB4 48 0E 4C 31 */ bl __pl__4cXyzCFRC3Vec
/* 80181EB8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80181EBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80181EC0 7C 08 03 A6 */ mtlr r0
/* 80181EC4 38 21 00 10 */ addi r1, r1, 0x10
/* 80181EC8 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_801614F4:
/* 801614F4 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 801614F8 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 801614FC 80 05 51 84 */ lwz r0, 0x5184(r5)
/* 80161500 2C 00 00 00 */ cmpwi r0, 0
/* 80161504 40 82 00 10 */ bne lbl_80161514
/* 80161508 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 8016150C 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80161510 41 82 00 0C */ beq lbl_8016151C
lbl_80161514:
/* 80161514 38 60 00 00 */ li r3, 0
/* 80161518 4E 80 00 20 */ blr
lbl_8016151C:
/* 8016151C 80 A3 06 84 */ lwz r5, 0x684(r3)
/* 80161520 80 03 06 8C */ lwz r0, 0x68c(r3)
/* 80161524 1C 00 00 44 */ mulli r0, r0, 0x44
/* 80161528 7C A5 02 14 */ add r5, r5, r0
/* 8016152C 80 03 01 90 */ lwz r0, 0x190(r3)
/* 80161530 1C 00 00 16 */ mulli r0, r0, 0x16
/* 80161534 7C 65 02 14 */ add r3, r5, r0
/* 80161538 54 80 08 3C */ slwi r0, r4, 1
/* 8016153C 7C 63 02 14 */ add r3, r3, r0
/* 80161540 A8 03 00 18 */ lha r0, 0x18(r3)
/* 80161544 54 00 0F FE */ srwi r0, r0, 0x1f
/* 80161548 68 03 00 01 */ xori r3, r0, 1
/* 8016154C 4E 80 00 20 */ blr
-11
View File
@@ -1,11 +0,0 @@
lbl_80163154:
/* 80163154 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80163158 7C 08 02 A6 */ mflr r0
/* 8016315C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80163160 38 63 02 28 */ addi r3, r3, 0x228
/* 80163164 48 01 F3 FD */ bl Draw__14dCamForcusLineFv
/* 80163168 38 60 00 01 */ li r3, 1
/* 8016316C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163170 7C 08 03 A6 */ mtlr r0
/* 80163174 38 21 00 10 */ addi r1, r1, 0x10
/* 80163178 4E 80 00 20 */ blr
-14
View File
@@ -1,14 +0,0 @@
lbl_80181E64:
/* 80181E64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80181E68 7C 08 02 A6 */ mflr r0
/* 80181E6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80181E70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80181E74 7C 85 23 78 */ mr r5, r4
/* 80181E78 38 85 00 3C */ addi r4, r5, 0x3c
/* 80181E7C 38 A5 06 E8 */ addi r5, r5, 0x6e8
/* 80181E80 48 0E 4C 65 */ bl __pl__4cXyzCFRC3Vec
/* 80181E84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80181E88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80181E8C 7C 08 03 A6 */ mtlr r0
/* 80181E90 38 21 00 10 */ addi r1, r1, 0x10
/* 80181E94 4E 80 00 20 */ blr
@@ -1,50 +0,0 @@
lbl_80164B64:
/* 80164B64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80164B68 7C 08 02 A6 */ mflr r0
/* 80164B6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80164B70 39 61 00 20 */ addi r11, r1, 0x20
/* 80164B74 48 1F D6 65 */ bl _savegpr_28
/* 80164B78 7C 7C 1B 78 */ mr r28, r3
/* 80164B7C 7C 9D 23 78 */ mr r29, r4
/* 80164B80 7F A3 EB 78 */ mr r3, r29
/* 80164B84 80 9C 06 84 */ lwz r4, 0x684(r28)
/* 80164B88 80 1C 06 8C */ lwz r0, 0x68c(r28)
/* 80164B8C 1C 00 00 44 */ mulli r0, r0, 0x44
/* 80164B90 7C 84 02 14 */ add r4, r4, r0
/* 80164B94 48 20 3E 01 */ bl strcmp
/* 80164B98 2C 03 00 00 */ cmpwi r3, 0
/* 80164B9C 40 82 00 0C */ bne lbl_80164BA8
/* 80164BA0 80 7C 06 8C */ lwz r3, 0x68c(r28)
/* 80164BA4 48 00 00 54 */ b lbl_80164BF8
lbl_80164BA8:
/* 80164BA8 3B C0 00 00 */ li r30, 0
/* 80164BAC 3B E0 00 00 */ li r31, 0
/* 80164BB0 48 00 00 24 */ b lbl_80164BD4
lbl_80164BB4:
/* 80164BB4 7F A3 EB 78 */ mr r3, r29
/* 80164BB8 80 1C 06 84 */ lwz r0, 0x684(r28)
/* 80164BBC 7C 80 FA 14 */ add r4, r0, r31
/* 80164BC0 48 20 3D D5 */ bl strcmp
/* 80164BC4 2C 03 00 00 */ cmpwi r3, 0
/* 80164BC8 41 82 00 18 */ beq lbl_80164BE0
/* 80164BCC 3B DE 00 01 */ addi r30, r30, 1
/* 80164BD0 3B FF 00 44 */ addi r31, r31, 0x44
lbl_80164BD4:
/* 80164BD4 80 1C 06 88 */ lwz r0, 0x688(r28)
/* 80164BD8 7C 1E 00 00 */ cmpw r30, r0
/* 80164BDC 41 80 FF D8 */ blt lbl_80164BB4
lbl_80164BE0:
/* 80164BE0 80 1C 06 88 */ lwz r0, 0x688(r28)
/* 80164BE4 7C 1E 00 00 */ cmpw r30, r0
/* 80164BE8 40 82 00 0C */ bne lbl_80164BF4
/* 80164BEC 38 60 00 FF */ li r3, 0xff
/* 80164BF0 48 00 00 08 */ b lbl_80164BF8
lbl_80164BF4:
/* 80164BF4 7F C3 F3 78 */ mr r3, r30
lbl_80164BF8:
/* 80164BF8 39 61 00 20 */ addi r11, r1, 0x20
/* 80164BFC 48 1F D6 29 */ bl _restgpr_28
/* 80164C00 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80164C04 7C 08 03 A6 */ mtlr r0
/* 80164C08 38 21 00 20 */ addi r1, r1, 0x20
/* 80164C0C 4E 80 00 20 */ blr
@@ -1,150 +0,0 @@
lbl_80164944:
/* 80164944 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80164948 7C 08 02 A6 */ mflr r0
/* 8016494C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80164950 39 61 00 30 */ addi r11, r1, 0x30
/* 80164954 48 1F D8 79 */ bl _savegpr_25
/* 80164958 7C 7C 1B 78 */ mr r28, r3
/* 8016495C 7C 9D 23 78 */ mr r29, r4
/* 80164960 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80164964 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80164968 3B 43 4E 20 */ addi r26, r3, 0x4e20
/* 8016496C 2C 05 FF FF */ cmpwi r5, -1
/* 80164970 40 82 00 38 */ bne lbl_801649A8
/* 80164974 7F 43 D3 78 */ mr r3, r26
/* 80164978 81 9A 00 00 */ lwz r12, 0(r26)
/* 8016497C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80164980 7D 89 03 A6 */ mtctr r12
/* 80164984 4E 80 04 21 */ bctrl
/* 80164988 7C 79 1B 78 */ mr r25, r3
/* 8016498C 7F 43 D3 78 */ mr r3, r26
/* 80164990 81 9A 00 00 */ lwz r12, 0(r26)
/* 80164994 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80164998 7D 89 03 A6 */ mtctr r12
/* 8016499C 4E 80 04 21 */ bctrl
/* 801649A0 7C 7E 1B 78 */ mr r30, r3
/* 801649A4 48 00 00 30 */ b lbl_801649D4
lbl_801649A8:
/* 801649A8 7C BB 2B 78 */ mr r27, r5
/* 801649AC 7F 63 DB 78 */ mr r3, r27
/* 801649B0 4B EC 88 AD */ bl dComIfGp_getRoomCamera__Fi
/* 801649B4 7C 79 1B 78 */ mr r25, r3
/* 801649B8 7F 63 DB 78 */ mr r3, r27
/* 801649BC 4B EC 88 F1 */ bl dComIfGp_getRoomArrow__Fi
/* 801649C0 7C 7E 1B 78 */ mr r30, r3
/* 801649C4 28 19 00 00 */ cmplwi r25, 0
/* 801649C8 40 82 00 0C */ bne lbl_801649D4
/* 801649CC 38 60 00 FF */ li r3, 0xff
/* 801649D0 48 00 01 7C */ b lbl_80164B4C
lbl_801649D4:
/* 801649D4 2C 1D 00 00 */ cmpwi r29, 0
/* 801649D8 41 80 00 1C */ blt lbl_801649F4
/* 801649DC 28 19 00 00 */ cmplwi r25, 0
/* 801649E0 41 82 00 14 */ beq lbl_801649F4
/* 801649E4 41 82 00 18 */ beq lbl_801649FC
/* 801649E8 80 19 00 00 */ lwz r0, 0(r25)
/* 801649EC 7C 1D 00 00 */ cmpw r29, r0
/* 801649F0 41 80 00 0C */ blt lbl_801649FC
lbl_801649F4:
/* 801649F4 38 60 00 FF */ li r3, 0xff
/* 801649F8 48 00 01 54 */ b lbl_80164B4C
lbl_801649FC:
/* 801649FC 3B E0 00 00 */ li r31, 0
/* 80164A00 3B 60 00 00 */ li r27, 0
/* 80164A04 1F 5D 00 18 */ mulli r26, r29, 0x18
/* 80164A08 48 00 00 28 */ b lbl_80164A30
lbl_80164A0C:
/* 80164A0C 80 19 00 04 */ lwz r0, 4(r25)
/* 80164A10 7C 60 D2 14 */ add r3, r0, r26
/* 80164A14 80 1C 06 84 */ lwz r0, 0x684(r28)
/* 80164A18 7C 80 DA 14 */ add r4, r0, r27
/* 80164A1C 48 20 3F 79 */ bl strcmp
/* 80164A20 2C 03 00 00 */ cmpwi r3, 0
/* 80164A24 41 82 00 18 */ beq lbl_80164A3C
/* 80164A28 3B FF 00 01 */ addi r31, r31, 1
/* 80164A2C 3B 7B 00 44 */ addi r27, r27, 0x44
lbl_80164A30:
/* 80164A30 80 1C 06 88 */ lwz r0, 0x688(r28)
/* 80164A34 7C 1F 00 00 */ cmpw r31, r0
/* 80164A38 41 80 FF D4 */ blt lbl_80164A0C
lbl_80164A3C:
/* 80164A3C 80 1C 06 88 */ lwz r0, 0x688(r28)
/* 80164A40 7C 1F 00 00 */ cmpw r31, r0
/* 80164A44 40 82 00 0C */ bne lbl_80164A50
/* 80164A48 38 60 00 FF */ li r3, 0xff
/* 80164A4C 48 00 01 00 */ b lbl_80164B4C
lbl_80164A50:
/* 80164A50 80 19 00 04 */ lwz r0, 4(r25)
/* 80164A54 7C 80 D2 14 */ add r4, r0, r26
/* 80164A58 80 64 00 00 */ lwz r3, 0(r4)
/* 80164A5C 80 04 00 04 */ lwz r0, 4(r4)
/* 80164A60 90 7C 07 AC */ stw r3, 0x7ac(r28)
/* 80164A64 90 1C 07 B0 */ stw r0, 0x7b0(r28)
/* 80164A68 80 64 00 08 */ lwz r3, 8(r4)
/* 80164A6C 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80164A70 90 7C 07 B4 */ stw r3, 0x7b4(r28)
/* 80164A74 90 1C 07 B8 */ stw r0, 0x7b8(r28)
/* 80164A78 88 04 00 10 */ lbz r0, 0x10(r4)
/* 80164A7C 98 1C 07 BC */ stb r0, 0x7bc(r28)
/* 80164A80 88 04 00 11 */ lbz r0, 0x11(r4)
/* 80164A84 98 1C 07 BD */ stb r0, 0x7bd(r28)
/* 80164A88 88 04 00 12 */ lbz r0, 0x12(r4)
/* 80164A8C 98 1C 07 BE */ stb r0, 0x7be(r28)
/* 80164A90 88 04 00 13 */ lbz r0, 0x13(r4)
/* 80164A94 98 1C 07 BF */ stb r0, 0x7bf(r28)
/* 80164A98 A0 04 00 14 */ lhz r0, 0x14(r4)
/* 80164A9C B0 1C 07 C0 */ sth r0, 0x7c0(r28)
/* 80164AA0 A0 04 00 16 */ lhz r0, 0x16(r4)
/* 80164AA4 B0 1C 07 C2 */ sth r0, 0x7c2(r28)
/* 80164AA8 93 BC 07 DC */ stw r29, 0x7dc(r28)
/* 80164AAC A0 1C 07 C0 */ lhz r0, 0x7c0(r28)
/* 80164AB0 54 00 97 BE */ rlwinm r0, r0, 0x12, 0x1e, 0x1f
/* 80164AB4 98 1C 07 E6 */ stb r0, 0x7e6(r28)
/* 80164AB8 A0 7C 07 C0 */ lhz r3, 0x7c0(r28)
/* 80164ABC 54 60 04 A5 */ rlwinm. r0, r3, 0, 0x12, 0x12
/* 80164AC0 41 82 00 10 */ beq lbl_80164AD0
/* 80164AC4 60 60 C0 00 */ ori r0, r3, 0xc000
/* 80164AC8 B0 1C 07 C0 */ sth r0, 0x7c0(r28)
/* 80164ACC 48 00 00 0C */ b lbl_80164AD8
lbl_80164AD0:
/* 80164AD0 54 60 04 BE */ clrlwi r0, r3, 0x12
/* 80164AD4 B0 1C 07 C0 */ sth r0, 0x7c0(r28)
lbl_80164AD8:
/* 80164AD8 88 1C 07 BC */ lbz r0, 0x7bc(r28)
/* 80164ADC 90 1C 07 D8 */ stw r0, 0x7d8(r28)
/* 80164AE0 80 9C 07 D8 */ lwz r4, 0x7d8(r28)
/* 80164AE4 2C 04 FF FF */ cmpwi r4, -1
/* 80164AE8 41 82 00 58 */ beq lbl_80164B40
/* 80164AEC 80 1E 00 00 */ lwz r0, 0(r30)
/* 80164AF0 7C 04 00 00 */ cmpw r4, r0
/* 80164AF4 40 80 00 4C */ bge lbl_80164B40
/* 80164AF8 80 7E 00 04 */ lwz r3, 4(r30)
/* 80164AFC 1C 04 00 14 */ mulli r0, r4, 0x14
/* 80164B00 7C 63 02 14 */ add r3, r3, r0
/* 80164B04 C0 03 00 00 */ lfs f0, 0(r3)
/* 80164B08 D0 1C 07 C4 */ stfs f0, 0x7c4(r28)
/* 80164B0C C0 03 00 04 */ lfs f0, 4(r3)
/* 80164B10 D0 1C 07 C8 */ stfs f0, 0x7c8(r28)
/* 80164B14 C0 03 00 08 */ lfs f0, 8(r3)
/* 80164B18 D0 1C 07 CC */ stfs f0, 0x7cc(r28)
/* 80164B1C A8 03 00 0C */ lha r0, 0xc(r3)
/* 80164B20 B0 1C 07 D0 */ sth r0, 0x7d0(r28)
/* 80164B24 A8 03 00 0E */ lha r0, 0xe(r3)
/* 80164B28 B0 1C 07 D2 */ sth r0, 0x7d2(r28)
/* 80164B2C A8 03 00 10 */ lha r0, 0x10(r3)
/* 80164B30 B0 1C 07 D4 */ sth r0, 0x7d4(r28)
/* 80164B34 A8 03 00 12 */ lha r0, 0x12(r3)
/* 80164B38 B0 1C 07 D6 */ sth r0, 0x7d6(r28)
/* 80164B3C 48 00 00 0C */ b lbl_80164B48
lbl_80164B40:
/* 80164B40 38 00 00 FF */ li r0, 0xff
/* 80164B44 90 1C 07 D8 */ stw r0, 0x7d8(r28)
lbl_80164B48:
/* 80164B48 7F E3 FB 78 */ mr r3, r31
lbl_80164B4C:
/* 80164B4C 39 61 00 30 */ addi r11, r1, 0x30
/* 80164B50 48 1F D6 C9 */ bl _restgpr_25
/* 80164B54 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80164B58 7C 08 03 A6 */ mtlr r0
/* 80164B5C 38 21 00 30 */ addi r1, r1, 0x30
/* 80164B60 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_80164C10:
/* 80164C10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80164C14 7C 08 02 A6 */ mflr r0
/* 80164C18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80164C1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80164C20 7C 9F 23 78 */ mr r31, r4
/* 80164C24 A0 04 00 16 */ lhz r0, 0x16(r4)
/* 80164C28 28 00 FF FF */ cmplwi r0, 0xffff
/* 80164C2C 41 82 00 0C */ beq lbl_80164C38
/* 80164C30 7C 03 03 78 */ mr r3, r0
/* 80164C34 48 00 00 1C */ b lbl_80164C50
lbl_80164C38:
/* 80164C38 4B FF FF 2D */ bl GetCameraTypeFromCameraName__9dCamera_cFPCc
/* 80164C3C 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */
/* 80164C40 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */
/* 80164C44 7C 03 00 00 */ cmpw r3, r0
/* 80164C48 40 80 00 08 */ bge lbl_80164C50
/* 80164C4C B0 7F 00 16 */ sth r3, 0x16(r31)
lbl_80164C50:
/* 80164C50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80164C54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80164C58 7C 08 03 A6 */ mtlr r0
/* 80164C5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80164C60 4E 80 00 20 */ blr
-4
View File
@@ -1,4 +0,0 @@
lbl_80163D50:
/* 80163D50 90 83 01 AC */ stw r4, 0x1ac(r3)
/* 80163D54 38 60 00 01 */ li r3, 1
/* 80163D58 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_801614C4:
/* 801614C4 38 00 00 00 */ li r0, 0
/* 801614C8 90 03 00 24 */ stw r0, 0x24(r3)
/* 801614CC 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_80163558:
/* 80163558 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016355C 7C 08 02 A6 */ mflr r0
/* 80163560 90 01 00 14 */ stw r0, 0x14(r1)
/* 80163564 7C 8A 23 79 */ or. r10, r4, r4
/* 80163568 7C C9 33 78 */ mr r9, r6
/* 8016356C 7C E8 3B 78 */ mr r8, r7
/* 80163570 7C A4 2B 78 */ mr r4, r5
/* 80163574 38 63 08 60 */ addi r3, r3, 0x860
/* 80163578 41 82 00 10 */ beq lbl_80163588
/* 8016357C 88 0A 04 E2 */ lbz r0, 0x4e2(r10)
/* 80163580 7C 05 07 74 */ extsb r5, r0
/* 80163584 48 00 00 0C */ b lbl_80163590
lbl_80163588:
/* 80163588 88 AD 87 E4 */ lbz r5, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8016358C 7C A5 07 74 */ extsb r5, r5
lbl_80163590:
/* 80163590 7D 46 53 78 */ mr r6, r10
/* 80163594 7D 27 4B 78 */ mr r7, r9
/* 80163598 4B FF C9 21 */ bl Set__15dCamMapToolDataFllP10fopAc_ac_cUsUc
/* 8016359C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801635A0 7C 08 03 A6 */ mtlr r0
/* 801635A4 38 21 00 10 */ addi r1, r1, 0x10
/* 801635A8 4E 80 00 20 */ blr
@@ -1,8 +0,0 @@
lbl_8016300C:
/* 8016300C 80 03 09 24 */ lwz r0, 0x924(r3)
/* 80163010 7C A0 20 50 */ subf r5, r0, r4
/* 80163014 30 05 FF FF */ addic r0, r5, -1
/* 80163018 7C 00 29 10 */ subfe r0, r0, r5
/* 8016301C 90 83 09 24 */ stw r4, 0x924(r3)
/* 80163020 7C 03 03 78 */ mr r3, r0
/* 80163024 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80163028:
/* 80163028 90 83 09 28 */ stw r4, 0x928(r3)
/* 8016302C 38 60 00 01 */ li r3, 1
/* 80163030 4E 80 00 20 */ blr
@@ -1,125 +0,0 @@
lbl_8015FEB8:
/* 8015FEB8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8015FEBC 7C 08 02 A6 */ mflr r0
/* 8015FEC0 90 01 00 34 */ stw r0, 0x34(r1)
/* 8015FEC4 39 61 00 30 */ addi r11, r1, 0x30
/* 8015FEC8 48 20 23 01 */ bl _savegpr_24
/* 8015FECC 7C 7B 1B 78 */ mr r27, r3
/* 8015FED0 7C 98 23 78 */ mr r24, r4
/* 8015FED4 7C DC 33 78 */ mr r28, r6
/* 8015FED8 7D 1D 43 78 */ mr r29, r8
/* 8015FEDC 54 FF 04 3E */ clrlwi r31, r7, 0x10
/* 8015FEE0 54 FE 06 3E */ clrlwi r30, r7, 0x18
/* 8015FEE4 A0 03 00 38 */ lhz r0, 0x38(r3)
/* 8015FEE8 7C 1E 00 00 */ cmpw r30, r0
/* 8015FEEC 40 81 00 0C */ ble lbl_8015FEF8
/* 8015FEF0 38 60 00 00 */ li r3, 0
/* 8015FEF4 48 00 01 80 */ b lbl_80160074
lbl_8015FEF8:
/* 8015FEF8 7C B9 2B 78 */ mr r25, r5
/* 8015FEFC 7F 23 CB 78 */ mr r3, r25
/* 8015FF00 4B EC D3 5D */ bl dComIfGp_getRoomCamera__Fi
/* 8015FF04 7C 7A 1B 78 */ mr r26, r3
/* 8015FF08 7F 23 CB 78 */ mr r3, r25
/* 8015FF0C 4B EC D3 A1 */ bl dComIfGp_getRoomArrow__Fi
/* 8015FF10 28 1A 00 00 */ cmplwi r26, 0
/* 8015FF14 41 82 01 5C */ beq lbl_80160070
/* 8015FF18 2C 18 00 00 */ cmpwi r24, 0
/* 8015FF1C 41 80 01 54 */ blt lbl_80160070
/* 8015FF20 80 1A 00 00 */ lwz r0, 0(r26)
/* 8015FF24 7C 18 00 00 */ cmpw r24, r0
/* 8015FF28 40 80 01 48 */ bge lbl_80160070
/* 8015FF2C 38 80 00 FF */ li r4, 0xff
/* 8015FF30 90 9B 00 2C */ stw r4, 0x2c(r27)
/* 8015FF34 90 9B 00 30 */ stw r4, 0x30(r27)
/* 8015FF38 38 00 00 00 */ li r0, 0
/* 8015FF3C 98 1B 00 3A */ stb r0, 0x3a(r27)
/* 8015FF40 90 1B 00 34 */ stw r0, 0x34(r27)
/* 8015FF44 98 9B 00 3B */ stb r4, 0x3b(r27)
/* 8015FF48 B0 9B 00 38 */ sth r4, 0x38(r27)
/* 8015FF4C 93 1B 00 30 */ stw r24, 0x30(r27)
/* 8015FF50 80 9A 00 04 */ lwz r4, 4(r26)
/* 8015FF54 80 1B 00 30 */ lwz r0, 0x30(r27)
/* 8015FF58 1C 00 00 18 */ mulli r0, r0, 0x18
/* 8015FF5C 7C A4 02 14 */ add r5, r4, r0
/* 8015FF60 80 85 00 00 */ lwz r4, 0(r5)
/* 8015FF64 80 05 00 04 */ lwz r0, 4(r5)
/* 8015FF68 90 9B 00 00 */ stw r4, 0(r27)
/* 8015FF6C 90 1B 00 04 */ stw r0, 4(r27)
/* 8015FF70 80 85 00 08 */ lwz r4, 8(r5)
/* 8015FF74 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8015FF78 90 9B 00 08 */ stw r4, 8(r27)
/* 8015FF7C 90 1B 00 0C */ stw r0, 0xc(r27)
/* 8015FF80 88 05 00 10 */ lbz r0, 0x10(r5)
/* 8015FF84 98 1B 00 10 */ stb r0, 0x10(r27)
/* 8015FF88 88 05 00 11 */ lbz r0, 0x11(r5)
/* 8015FF8C 98 1B 00 11 */ stb r0, 0x11(r27)
/* 8015FF90 88 05 00 12 */ lbz r0, 0x12(r5)
/* 8015FF94 98 1B 00 12 */ stb r0, 0x12(r27)
/* 8015FF98 88 05 00 13 */ lbz r0, 0x13(r5)
/* 8015FF9C 98 1B 00 13 */ stb r0, 0x13(r27)
/* 8015FFA0 A0 05 00 14 */ lhz r0, 0x14(r5)
/* 8015FFA4 B0 1B 00 14 */ sth r0, 0x14(r27)
/* 8015FFA8 A0 05 00 16 */ lhz r0, 0x16(r5)
/* 8015FFAC B0 1B 00 16 */ sth r0, 0x16(r27)
/* 8015FFB0 A0 1B 00 14 */ lhz r0, 0x14(r27)
/* 8015FFB4 54 00 97 BE */ rlwinm r0, r0, 0x12, 0x1e, 0x1f
/* 8015FFB8 98 1B 00 3A */ stb r0, 0x3a(r27)
/* 8015FFBC 57 E0 04 21 */ rlwinm. r0, r31, 0, 0x10, 0x10
/* 8015FFC0 41 82 00 10 */ beq lbl_8015FFD0
/* 8015FFC4 88 1B 00 3A */ lbz r0, 0x3a(r27)
/* 8015FFC8 60 00 00 10 */ ori r0, r0, 0x10
/* 8015FFCC 98 1B 00 3A */ stb r0, 0x3a(r27)
lbl_8015FFD0:
/* 8015FFD0 A0 9B 00 14 */ lhz r4, 0x14(r27)
/* 8015FFD4 54 80 04 A5 */ rlwinm. r0, r4, 0, 0x12, 0x12
/* 8015FFD8 41 82 00 10 */ beq lbl_8015FFE8
/* 8015FFDC 60 80 C0 00 */ ori r0, r4, 0xc000
/* 8015FFE0 B0 1B 00 14 */ sth r0, 0x14(r27)
/* 8015FFE4 48 00 00 0C */ b lbl_8015FFF0
lbl_8015FFE8:
/* 8015FFE8 54 80 04 BE */ clrlwi r0, r4, 0x12
/* 8015FFEC B0 1B 00 14 */ sth r0, 0x14(r27)
lbl_8015FFF0:
/* 8015FFF0 88 1B 00 10 */ lbz r0, 0x10(r27)
/* 8015FFF4 90 1B 00 2C */ stw r0, 0x2c(r27)
/* 8015FFF8 28 03 00 00 */ cmplwi r3, 0
/* 8015FFFC 41 82 00 60 */ beq lbl_8016005C
/* 80160000 80 9B 00 2C */ lwz r4, 0x2c(r27)
/* 80160004 2C 04 00 00 */ cmpwi r4, 0
/* 80160008 41 80 00 54 */ blt lbl_8016005C
/* 8016000C 80 03 00 00 */ lwz r0, 0(r3)
/* 80160010 7C 04 00 00 */ cmpw r4, r0
/* 80160014 40 80 00 48 */ bge lbl_8016005C
/* 80160018 80 63 00 04 */ lwz r3, 4(r3)
/* 8016001C 1C 04 00 14 */ mulli r0, r4, 0x14
/* 80160020 7C 63 02 14 */ add r3, r3, r0
/* 80160024 C0 03 00 00 */ lfs f0, 0(r3)
/* 80160028 D0 1B 00 18 */ stfs f0, 0x18(r27)
/* 8016002C C0 03 00 04 */ lfs f0, 4(r3)
/* 80160030 D0 1B 00 1C */ stfs f0, 0x1c(r27)
/* 80160034 C0 03 00 08 */ lfs f0, 8(r3)
/* 80160038 D0 1B 00 20 */ stfs f0, 0x20(r27)
/* 8016003C A8 03 00 0C */ lha r0, 0xc(r3)
/* 80160040 B0 1B 00 24 */ sth r0, 0x24(r27)
/* 80160044 A8 03 00 0E */ lha r0, 0xe(r3)
/* 80160048 B0 1B 00 26 */ sth r0, 0x26(r27)
/* 8016004C A8 03 00 10 */ lha r0, 0x10(r3)
/* 80160050 B0 1B 00 28 */ sth r0, 0x28(r27)
/* 80160054 A8 03 00 12 */ lha r0, 0x12(r3)
/* 80160058 B0 1B 00 2A */ sth r0, 0x2a(r27)
lbl_8016005C:
/* 8016005C 93 9B 00 34 */ stw r28, 0x34(r27)
/* 80160060 9B BB 00 3B */ stb r29, 0x3b(r27)
/* 80160064 B3 DB 00 38 */ sth r30, 0x38(r27)
/* 80160068 38 60 00 01 */ li r3, 1
/* 8016006C 48 00 00 08 */ b lbl_80160074
lbl_80160070:
/* 80160070 38 60 00 00 */ li r3, 0
lbl_80160074:
/* 80160074 39 61 00 30 */ addi r11, r1, 0x30
/* 80160078 48 20 21 9D */ bl _restgpr_24
/* 8016007C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80160080 7C 08 03 A6 */ mtlr r0
/* 80160084 38 21 00 30 */ addi r1, r1, 0x30
/* 80160088 4E 80 00 20 */ blr
-7
View File
@@ -1,7 +0,0 @@
lbl_801614AC:
/* 801614AC 80 03 00 24 */ lwz r0, 0x24(r3)
/* 801614B0 2C 00 00 00 */ cmpwi r0, 0
/* 801614B4 4D 82 00 20 */ beqlr
/* 801614B8 38 00 00 02 */ li r0, 2
/* 801614BC 90 03 00 24 */ stw r0, 0x24(r3)
/* 801614C0 4E 80 00 20 */ blr
-4
View File
@@ -1,4 +0,0 @@
lbl_801614E8:
/* 801614E8 38 00 00 01 */ li r0, 1
/* 801614EC 90 03 00 24 */ stw r0, 0x24(r3)
/* 801614F0 4E 80 00 20 */ blr
-7
View File
@@ -1,7 +0,0 @@
lbl_801614D0:
/* 801614D0 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 801614D4 54 00 02 D2 */ rlwinm r0, r0, 0, 0xb, 9
/* 801614D8 90 03 06 0C */ stw r0, 0x60c(r3)
/* 801614DC 38 00 00 03 */ li r0, 3
/* 801614E0 90 03 00 24 */ stw r0, 0x24(r3)
/* 801614E4 4E 80 00 20 */ blr
-17
View File
@@ -1,17 +0,0 @@
lbl_80162FD4:
/* 80162FD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80162FD8 7C 08 02 A6 */ mflr r0
/* 80162FDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80162FE0 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80162FE4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80162FE8 41 82 00 0C */ beq lbl_80162FF4
/* 80162FEC A8 63 07 6A */ lha r3, 0x76a(r3)
/* 80162FF0 48 00 00 0C */ b lbl_80162FFC
lbl_80162FF4:
/* 80162FF4 38 63 00 2E */ addi r3, r3, 0x2e
/* 80162FF8 48 10 E0 F1 */ bl Inv__7cSAngleCFv
lbl_80162FFC:
/* 80162FFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163000 7C 08 03 A6 */ mtlr r0
/* 80163004 38 21 00 10 */ addi r1, r1, 0x10
/* 80163008 4E 80 00 20 */ blr
-19
View File
@@ -1,19 +0,0 @@
lbl_80181E20:
/* 80181E20 80 04 06 0C */ lwz r0, 0x60c(r4)
/* 80181E24 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80181E28 41 82 00 20 */ beq lbl_80181E48
/* 80181E2C C0 04 07 58 */ lfs f0, 0x758(r4)
/* 80181E30 D0 03 00 00 */ stfs f0, 0(r3)
/* 80181E34 C0 04 07 5C */ lfs f0, 0x75c(r4)
/* 80181E38 D0 03 00 04 */ stfs f0, 4(r3)
/* 80181E3C C0 04 07 60 */ lfs f0, 0x760(r4)
/* 80181E40 D0 03 00 08 */ stfs f0, 8(r3)
/* 80181E44 4E 80 00 20 */ blr
lbl_80181E48:
/* 80181E48 C0 04 00 48 */ lfs f0, 0x48(r4)
/* 80181E4C D0 03 00 00 */ stfs f0, 0(r3)
/* 80181E50 C0 04 00 4C */ lfs f0, 0x4c(r4)
/* 80181E54 D0 03 00 04 */ stfs f0, 4(r3)
/* 80181E58 C0 04 00 50 */ lfs f0, 0x50(r4)
/* 80181E5C D0 03 00 08 */ stfs f0, 8(r3)
/* 80181E60 4E 80 00 20 */ blr
-9
View File
@@ -1,9 +0,0 @@
lbl_80162FB8:
/* 80162FB8 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80162FBC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80162FC0 41 82 00 0C */ beq lbl_80162FCC
/* 80162FC4 A8 63 07 68 */ lha r3, 0x768(r3)
/* 80162FC8 4E 80 00 20 */ blr
lbl_80162FCC:
/* 80162FCC A8 63 00 2C */ lha r3, 0x2c(r3)
/* 80162FD0 4E 80 00 20 */ blr
@@ -1,13 +0,0 @@
lbl_80182454:
/* 80182454 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80182458 7C 08 02 A6 */ mflr r0
/* 8018245C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80182460 7C 65 1B 78 */ mr r5, r3
/* 80182464 38 65 02 40 */ addi r3, r5, 0x240
/* 80182468 3C 80 80 3C */ lis r4, l_method@ha /* 0x803BA6D8@ha */
/* 8018246C 38 84 A6 D8 */ addi r4, r4, l_method@l /* 0x803BA6D8@l */
/* 80182470 4B EA D6 B1 */ bl dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv
/* 80182474 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80182478 7C 08 03 A6 */ mtlr r0
/* 8018247C 38 21 00 10 */ addi r1, r1, 0x10
/* 80182480 4E 80 00 20 */ blr
-10
View File
@@ -1,10 +0,0 @@
lbl_8015FA2C:
/* 8015FA2C FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8015FA30 40 81 00 0C */ ble lbl_8015FA3C
/* 8015FA34 FC 20 18 90 */ fmr f1, f3
/* 8015FA38 4E 80 00 20 */ blr
lbl_8015FA3C:
/* 8015FA3C FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8015FA40 4C 80 00 20 */ bgelr
/* 8015FA44 FC 20 10 90 */ fmr f1, f2
/* 8015FA48 4E 80 00 20 */ blr
-24
View File
@@ -1,24 +0,0 @@
lbl_8015FADC:
/* 8015FADC FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8015FAE0 40 80 00 0C */ bge lbl_8015FAEC
/* 8015FAE4 FC 60 10 90 */ fmr f3, f2
/* 8015FAE8 48 00 00 0C */ b lbl_8015FAF4
lbl_8015FAEC:
/* 8015FAEC FC 60 08 90 */ fmr f3, f1
/* 8015FAF0 FC 20 10 90 */ fmr f1, f2
lbl_8015FAF4:
/* 8015FAF4 C0 03 00 00 */ lfs f0, 0(r3)
/* 8015FAF8 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 8015FAFC 40 81 00 10 */ ble lbl_8015FB0C
/* 8015FB00 D0 63 00 00 */ stfs f3, 0(r3)
/* 8015FB04 38 60 00 00 */ li r3, 0
/* 8015FB08 4E 80 00 20 */ blr
lbl_8015FB0C:
/* 8015FB0C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8015FB10 40 80 00 10 */ bge lbl_8015FB20
/* 8015FB14 D0 23 00 00 */ stfs f1, 0(r3)
/* 8015FB18 38 60 00 00 */ li r3, 0
/* 8015FB1C 4E 80 00 20 */ blr
lbl_8015FB20:
/* 8015FB20 38 60 00 01 */ li r3, 1
/* 8015FB24 4E 80 00 20 */ blr
-61
View File
@@ -1,61 +0,0 @@
lbl_8015FB28:
/* 8015FB28 C0 03 00 00 */ lfs f0, 0(r3)
/* 8015FB2C C0 24 00 00 */ lfs f1, 0(r4)
/* 8015FB30 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8015FB34 4C 40 13 82 */ cror 2, 0, 2
/* 8015FB38 40 82 00 28 */ bne lbl_8015FB60
/* 8015FB3C C0 45 00 00 */ lfs f2, 0(r5)
/* 8015FB40 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8015FB44 40 80 00 0C */ bge lbl_8015FB50
/* 8015FB48 38 60 00 00 */ li r3, 0
/* 8015FB4C 4E 80 00 20 */ blr
lbl_8015FB50:
/* 8015FB50 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8015FB54 40 81 00 38 */ ble lbl_8015FB8C
/* 8015FB58 38 60 00 00 */ li r3, 0
/* 8015FB5C 4E 80 00 20 */ blr
lbl_8015FB60:
/* 8015FB60 C0 45 00 00 */ lfs f2, 0(r5)
/* 8015FB64 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8015FB68 4C 40 13 82 */ cror 2, 0, 2
/* 8015FB6C 40 82 00 0C */ bne lbl_8015FB78
/* 8015FB70 38 60 00 00 */ li r3, 0
/* 8015FB74 4E 80 00 20 */ blr
lbl_8015FB78:
/* 8015FB78 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8015FB7C 4C 41 13 82 */ cror 2, 1, 2
/* 8015FB80 40 82 00 0C */ bne lbl_8015FB8C
/* 8015FB84 38 60 00 00 */ li r3, 0
/* 8015FB88 4E 80 00 20 */ blr
lbl_8015FB8C:
/* 8015FB8C C0 03 00 08 */ lfs f0, 8(r3)
/* 8015FB90 C0 24 00 08 */ lfs f1, 8(r4)
/* 8015FB94 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8015FB98 4C 40 13 82 */ cror 2, 0, 2
/* 8015FB9C 40 82 00 28 */ bne lbl_8015FBC4
/* 8015FBA0 C0 45 00 08 */ lfs f2, 8(r5)
/* 8015FBA4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8015FBA8 40 80 00 0C */ bge lbl_8015FBB4
/* 8015FBAC 38 60 00 00 */ li r3, 0
/* 8015FBB0 4E 80 00 20 */ blr
lbl_8015FBB4:
/* 8015FBB4 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8015FBB8 40 81 00 38 */ ble lbl_8015FBF0
/* 8015FBBC 38 60 00 00 */ li r3, 0
/* 8015FBC0 4E 80 00 20 */ blr
lbl_8015FBC4:
/* 8015FBC4 C0 45 00 08 */ lfs f2, 8(r5)
/* 8015FBC8 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8015FBCC 4C 40 13 82 */ cror 2, 0, 2
/* 8015FBD0 40 82 00 0C */ bne lbl_8015FBDC
/* 8015FBD4 38 60 00 00 */ li r3, 0
/* 8015FBD8 4E 80 00 20 */ blr
lbl_8015FBDC:
/* 8015FBDC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8015FBE0 4C 41 13 82 */ cror 2, 1, 2
/* 8015FBE4 40 82 00 0C */ bne lbl_8015FBF0
/* 8015FBE8 38 60 00 00 */ li r3, 0
/* 8015FBEC 4E 80 00 20 */ blr
lbl_8015FBF0:
/* 8015FBF0 38 60 00 01 */ li r3, 1
/* 8015FBF4 4E 80 00 20 */ blr
@@ -1,59 +0,0 @@
lbl_80164878:
/* 80164878 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016487C 7C 08 02 A6 */ mflr r0
/* 80164880 90 01 00 14 */ stw r0, 0x14(r1)
/* 80164884 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80164888 38 C5 61 C0 */ addi r6, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8016488C 80 E6 5D B4 */ lwz r7, 0x5db4(r6)
/* 80164890 80 03 06 84 */ lwz r0, 0x684(r3)
/* 80164894 1C 64 00 44 */ mulli r3, r4, 0x44
/* 80164898 38 63 00 10 */ addi r3, r3, 0x10
/* 8016489C 7C 60 1A 14 */ add r3, r0, r3
/* 801648A0 80 A3 00 00 */ lwz r5, 0(r3)
/* 801648A4 3C 80 40 43 */ lis r4, 0x4043 /* 0x40435059@ha */
/* 801648A8 38 04 50 59 */ addi r0, r4, 0x5059 /* 0x40435059@l */
/* 801648AC 7C 05 00 00 */ cmpw r5, r0
/* 801648B0 41 82 00 70 */ beq lbl_80164920
/* 801648B4 40 80 00 28 */ bge lbl_801648DC
/* 801648B8 38 04 48 4B */ addi r0, r4, 0x484b
/* 801648BC 7C 05 00 00 */ cmpw r5, r0
/* 801648C0 41 82 00 50 */ beq lbl_80164910
/* 801648C4 40 80 00 68 */ bge lbl_8016492C
/* 801648C8 3C 80 40 41 */ lis r4, 0x4041 /* 0x40414354@ha */
/* 801648CC 38 04 43 54 */ addi r0, r4, 0x4354 /* 0x40414354@l */
/* 801648D0 7C 05 00 00 */ cmpw r5, r0
/* 801648D4 41 82 00 2C */ beq lbl_80164900
/* 801648D8 48 00 00 54 */ b lbl_8016492C
lbl_801648DC:
/* 801648DC 3C 80 40 4C */ lis r4, 0x404C /* 0x404C4F43@ha */
/* 801648E0 38 04 4F 43 */ addi r0, r4, 0x4F43 /* 0x404C4F43@l */
/* 801648E4 7C 05 00 00 */ cmpw r5, r0
/* 801648E8 41 82 00 08 */ beq lbl_801648F0
/* 801648EC 48 00 00 40 */ b lbl_8016492C
lbl_801648F0:
/* 801648F0 38 66 56 B8 */ addi r3, r6, 0x56b8
/* 801648F4 38 80 00 00 */ li r4, 0
/* 801648F8 4B F0 EC 45 */ bl LockonTarget__12dAttention_cFl
/* 801648FC 48 00 00 38 */ b lbl_80164934
lbl_80164900:
/* 80164900 38 66 56 B8 */ addi r3, r6, 0x56b8
/* 80164904 38 80 00 00 */ li r4, 0
/* 80164908 4B F0 EE 2D */ bl ActionTarget__12dAttention_cFl
/* 8016490C 48 00 00 28 */ b lbl_80164934
lbl_80164910:
/* 80164910 38 66 56 B8 */ addi r3, r6, 0x56b8
/* 80164914 38 80 00 00 */ li r4, 0
/* 80164918 4B F0 EE 75 */ bl CheckObjectTarget__12dAttention_cFl
/* 8016491C 48 00 00 18 */ b lbl_80164934
lbl_80164920:
/* 80164920 7C E3 3B 78 */ mr r3, r7
/* 80164924 4B F7 CA 6D */ bl getCopyRodCameraActor__9daAlink_cFv
/* 80164928 48 00 00 0C */ b lbl_80164934
lbl_8016492C:
/* 8016492C 38 80 FF FF */ li r4, -1
/* 80164930 4B EB 8E 71 */ bl fopAcM_searchFromName4Event__FPCcs
lbl_80164934:
/* 80164934 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80164938 7C 08 03 A6 */ mtlr r0
/* 8016493C 38 21 00 10 */ addi r1, r1, 0x10
/* 80164940 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_80165158:
/* 80165158 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8016515C 7C 08 02 A6 */ mflr r0
/* 80165160 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165164 38 84 02 9A */ addi r4, r4, 0x29a
/* 80165168 48 10 BE 01 */ bl __ct__7cSAngleFRC7cSAngle
/* 8016516C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165170 7C 08 03 A6 */ mtlr r0
/* 80165174 38 21 00 10 */ addi r1, r1, 0x10
/* 80165178 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_801821E0:
/* 801821E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801821E4 7C 08 02 A6 */ mflr r0
/* 801821E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 801821EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801821F0 7C 7F 1B 78 */ mr r31, r3
/* 801821F4 4B E9 C1 15 */ bl fopCamM_GetParam__FP12camera_class
/* 801821F8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 801821FC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80182200 1C 03 00 38 */ mulli r0, r3, 0x38
/* 80182204 7C 64 02 14 */ add r3, r4, r0
/* 80182208 93 E3 5D 74 */ stw r31, 0x5d74(r3)
/* 8018220C 88 03 5D 78 */ lbz r0, 0x5d78(r3)
/* 80182210 7C 00 07 74 */ extsb r0, r0
/* 80182214 98 1F 02 2C */ stb r0, 0x22c(r31)
/* 80182218 88 03 5D 79 */ lbz r0, 0x5d79(r3)
/* 8018221C 7C 00 07 74 */ extsb r0, r0
/* 80182220 98 1F 02 2D */ stb r0, 0x22d(r31)
/* 80182224 88 03 5D 7A */ lbz r0, 0x5d7a(r3)
/* 80182228 7C 00 07 74 */ extsb r0, r0
/* 8018222C 98 1F 02 2E */ stb r0, 0x22e(r31)
/* 80182230 38 60 00 00 */ li r3, 0
/* 80182234 98 64 5D 44 */ stb r3, 0x5d44(r4)
/* 80182238 90 7F 02 38 */ stw r3, 0x238(r31)
/* 8018223C 38 00 00 47 */ li r0, 0x47
/* 80182240 98 1F 02 2F */ stb r0, 0x22f(r31)
/* 80182244 98 7F 0D 54 */ stb r3, 0xd54(r31)
/* 80182248 38 60 00 02 */ li r3, 2
/* 8018224C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80182250 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80182254 7C 08 03 A6 */ mtlr r0
/* 80182258 38 21 00 10 */ addi r1, r1, 0x10
/* 8018225C 4E 80 00 20 */ blr
@@ -1,54 +0,0 @@
lbl_801647B0:
/* 801647B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801647B4 7C 08 02 A6 */ mflr r0
/* 801647B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801647BC 39 61 00 20 */ addi r11, r1, 0x20
/* 801647C0 48 1F DA 1D */ bl _savegpr_29
/* 801647C4 7C 7D 1B 78 */ mr r29, r3
/* 801647C8 7C 9E 23 78 */ mr r30, r4
/* 801647CC 93 C3 00 04 */ stw r30, 4(r3)
/* 801647D0 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 801647D4 60 00 10 00 */ ori r0, r0, 0x1000
/* 801647D8 90 03 06 0C */ stw r0, 0x60c(r3)
/* 801647DC 3B E0 00 FF */ li r31, 0xff
/* 801647E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 801647E4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 801647E8 38 63 4E C4 */ addi r3, r3, 0x4ec4
/* 801647EC 4B EB FB 99 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 801647F0 28 03 00 00 */ cmplwi r3, 0
/* 801647F4 41 82 00 20 */ beq lbl_80164814
/* 801647F8 81 83 00 00 */ lwz r12, 0(r3)
/* 801647FC 81 8C 01 0C */ lwz r12, 0x10c(r12)
/* 80164800 7D 89 03 A6 */ mtctr r12
/* 80164804 4E 80 04 21 */ bctrl
/* 80164808 28 03 00 00 */ cmplwi r3, 0
/* 8016480C 41 82 00 08 */ beq lbl_80164814
/* 80164810 8B E3 00 1A */ lbz r31, 0x1a(r3)
lbl_80164814:
/* 80164814 2C 1F 00 FF */ cmpwi r31, 0xff
/* 80164818 41 82 00 24 */ beq lbl_8016483C
/* 8016481C 38 7D 08 24 */ addi r3, r29, 0x824
/* 80164820 7F E4 FB 78 */ mr r4, r31
/* 80164824 7F C5 F3 78 */ mr r5, r30
/* 80164828 38 C0 00 00 */ li r6, 0
/* 8016482C 38 E0 00 FF */ li r7, 0xff
/* 80164830 39 00 00 FF */ li r8, 0xff
/* 80164834 4B FF B6 85 */ bl Set__15dCamMapToolDataFllP10fopAc_ac_cUsUc
/* 80164838 48 00 00 24 */ b lbl_8016485C
lbl_8016483C:
/* 8016483C 38 60 00 FF */ li r3, 0xff
/* 80164840 90 7D 08 50 */ stw r3, 0x850(r29)
/* 80164844 90 7D 08 54 */ stw r3, 0x854(r29)
/* 80164848 38 00 00 00 */ li r0, 0
/* 8016484C 98 1D 08 5E */ stb r0, 0x85e(r29)
/* 80164850 90 1D 08 58 */ stw r0, 0x858(r29)
/* 80164854 98 7D 08 5F */ stb r3, 0x85f(r29)
/* 80164858 B0 7D 08 5C */ sth r3, 0x85c(r29)
lbl_8016485C:
/* 8016485C 38 60 00 01 */ li r3, 1
/* 80164860 39 61 00 20 */ addi r11, r1, 0x20
/* 80164864 48 1F D9 C5 */ bl _restgpr_29
/* 80164868 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8016486C 7C 08 03 A6 */ mtlr r0
/* 80164870 38 21 00 20 */ addi r1, r1, 0x20
/* 80164874 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_80164CAC:
/* 80164CAC C0 04 00 00 */ lfs f0, 0(r4)
/* 80164CB0 D0 03 00 64 */ stfs f0, 0x64(r3)
/* 80164CB4 C0 04 00 04 */ lfs f0, 4(r4)
/* 80164CB8 D0 03 00 68 */ stfs f0, 0x68(r3)
/* 80164CBC C0 04 00 08 */ lfs f0, 8(r4)
/* 80164CC0 D0 03 00 6C */ stfs f0, 0x6c(r3)
/* 80164CC4 C0 03 00 64 */ lfs f0, 0x64(r3)
/* 80164CC8 D0 03 00 30 */ stfs f0, 0x30(r3)
/* 80164CCC C0 03 00 68 */ lfs f0, 0x68(r3)
/* 80164CD0 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 80164CD4 C0 03 00 6C */ lfs f0, 0x6c(r3)
/* 80164CD8 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 80164CDC C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80164CE0 D0 03 00 70 */ stfs f0, 0x70(r3)
/* 80164CE4 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80164CE8 D0 03 00 74 */ stfs f0, 0x74(r3)
/* 80164CEC C0 04 00 14 */ lfs f0, 0x14(r4)
/* 80164CF0 D0 03 00 78 */ stfs f0, 0x78(r3)
/* 80164CF4 C0 03 00 70 */ lfs f0, 0x70(r3)
/* 80164CF8 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 80164CFC C0 03 00 74 */ lfs f0, 0x74(r3)
/* 80164D00 D0 03 00 40 */ stfs f0, 0x40(r3)
/* 80164D04 C0 03 00 78 */ lfs f0, 0x78(r3)
/* 80164D08 D0 03 00 44 */ stfs f0, 0x44(r3)
/* 80164D0C C0 04 00 18 */ lfs f0, 0x18(r4)
/* 80164D10 D0 03 00 80 */ stfs f0, 0x80(r3)
/* 80164D14 D0 03 00 58 */ stfs f0, 0x58(r3)
/* 80164D18 A8 04 00 1C */ lha r0, 0x1c(r4)
/* 80164D1C B0 03 00 7C */ sth r0, 0x7c(r3)
/* 80164D20 A8 03 00 7C */ lha r0, 0x7c(r3)
/* 80164D24 B0 03 00 54 */ sth r0, 0x54(r3)
/* 80164D28 4E 80 00 20 */ blr
@@ -1,19 +0,0 @@
lbl_80164C64:
/* 80164C64 C0 03 00 30 */ lfs f0, 0x30(r3)
/* 80164C68 D0 04 00 00 */ stfs f0, 0(r4)
/* 80164C6C C0 03 00 34 */ lfs f0, 0x34(r3)
/* 80164C70 D0 04 00 04 */ stfs f0, 4(r4)
/* 80164C74 C0 03 00 38 */ lfs f0, 0x38(r3)
/* 80164C78 D0 04 00 08 */ stfs f0, 8(r4)
/* 80164C7C C0 03 00 3C */ lfs f0, 0x3c(r3)
/* 80164C80 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 80164C84 C0 03 00 40 */ lfs f0, 0x40(r3)
/* 80164C88 D0 04 00 10 */ stfs f0, 0x10(r4)
/* 80164C8C C0 03 00 44 */ lfs f0, 0x44(r3)
/* 80164C90 D0 04 00 14 */ stfs f0, 0x14(r4)
/* 80164C94 C0 03 00 58 */ lfs f0, 0x58(r3)
/* 80164C98 D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80164C9C A8 03 00 54 */ lha r0, 0x54(r3)
/* 80164CA0 B0 04 00 1C */ sth r0, 0x1c(r4)
/* 80164CA4 B0 A4 00 1E */ sth r5, 0x1e(r4)
/* 80164CA8 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_801635AC:
/* 801635AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801635B0 7C 08 02 A6 */ mflr r0
/* 801635B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801635B8 7C 83 23 78 */ mr r3, r4
/* 801635BC 7C A4 2B 78 */ mr r4, r5
/* 801635C0 7C C5 33 78 */ mr r5, r6
/* 801635C4 38 C0 00 00 */ li r6, 0
/* 801635C8 38 E0 00 FF */ li r7, 0xff
/* 801635CC 39 00 00 FF */ li r8, 0xff
/* 801635D0 4B FF C8 E9 */ bl Set__15dCamMapToolDataFllP10fopAc_ac_cUsUc
/* 801635D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801635D8 7C 08 03 A6 */ mtlr r0
/* 801635DC 38 21 00 10 */ addi r1, r1, 0x10
/* 801635E0 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_80165104:
/* 80165104 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80165108 7C 08 02 A6 */ mflr r0
/* 8016510C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80165110 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80165114 7C 7F 1B 78 */ mr r31, r3
/* 80165118 38 00 00 01 */ li r0, 1
/* 8016511C 98 03 02 98 */ stb r0, 0x298(r3)
/* 80165120 38 7F 00 2E */ addi r3, r31, 0x2e
/* 80165124 48 10 BF C5 */ bl Inv__7cSAngleCFv
/* 80165128 7C 64 1B 78 */ mr r4, r3
/* 8016512C 38 61 00 08 */ addi r3, r1, 8
/* 80165130 48 10 BE 69 */ bl __ct__7cSAngleFs
/* 80165134 A8 01 00 08 */ lha r0, 8(r1)
/* 80165138 B0 1F 02 9A */ sth r0, 0x29a(r31)
/* 8016513C A8 1F 01 D4 */ lha r0, 0x1d4(r31)
/* 80165140 B0 1F 02 9C */ sth r0, 0x29c(r31)
/* 80165144 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80165148 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8016514C 7C 08 03 A6 */ mtlr r0
/* 80165150 38 21 00 20 */ addi r1, r1, 0x20
/* 80165154 4E 80 00 20 */ blr
-38
View File
@@ -1,38 +0,0 @@
lbl_800889F8:
/* 800889F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800889FC 7C 08 02 A6 */ mflr r0
/* 80088A00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80088A04 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80088A08 7C 7F 1B 78 */ mr r31, r3
/* 80088A0C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80088A10 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80088A14 85 83 4E 20 */ lwzu r12, 0x4e20(r3)
/* 80088A18 81 8C 00 FC */ lwz r12, 0xfc(r12)
/* 80088A1C 7D 89 03 A6 */ mtctr r12
/* 80088A20 4E 80 04 21 */ bctrl
/* 80088A24 28 03 00 00 */ cmplwi r3, 0
/* 80088A28 41 82 00 3C */ beq lbl_80088A64
/* 80088A2C 38 80 00 00 */ li r4, 0
/* 80088A30 80 03 00 00 */ lwz r0, 0(r3)
/* 80088A34 7C 09 03 A6 */ mtctr r0
/* 80088A38 2C 00 00 00 */ cmpwi r0, 0
/* 80088A3C 40 81 00 28 */ ble lbl_80088A64
lbl_80088A40:
/* 80088A40 80 A3 00 04 */ lwz r5, 4(r3)
/* 80088A44 38 04 00 04 */ addi r0, r4, 4
/* 80088A48 7C 05 00 AE */ lbzx r0, r5, r0
/* 80088A4C 7C 1F 00 00 */ cmpw r31, r0
/* 80088A50 40 82 00 0C */ bne lbl_80088A5C
/* 80088A54 38 60 00 01 */ li r3, 1
/* 80088A58 48 00 00 10 */ b lbl_80088A68
lbl_80088A5C:
/* 80088A5C 38 84 00 1C */ addi r4, r4, 0x1c
/* 80088A60 42 00 FF E0 */ bdnz lbl_80088A40
lbl_80088A64:
/* 80088A64 38 60 00 00 */ li r3, 0
lbl_80088A68:
/* 80088A68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80088A6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80088A70 7C 08 03 A6 */ mtlr r0
/* 80088A74 38 21 00 10 */ addi r1, r1, 0x10
/* 80088A78 4E 80 00 20 */ blr
-11
View File
@@ -1,11 +0,0 @@
lbl_8008E750:
/* 8008E750 38 80 00 00 */ li r4, 0
/* 8008E754 7C 60 07 74 */ extsb r0, r3
/* 8008E758 2C 00 00 2D */ cmpwi r0, 0x2d
/* 8008E75C 41 82 00 10 */ beq lbl_8008E76C
/* 8008E760 2C 00 00 78 */ cmpwi r0, 0x78
/* 8008E764 41 82 00 08 */ beq lbl_8008E76C
/* 8008E768 38 80 00 01 */ li r4, 1
lbl_8008E76C:
/* 8008E76C 7C 83 23 78 */ mr r3, r4
/* 8008E770 4E 80 00 20 */ blr
@@ -1,87 +0,0 @@
lbl_800894C4:
/* 800894C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800894C8 7C 08 02 A6 */ mflr r0
/* 800894CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800894D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800894D4 7C 7F 1B 78 */ mr r31, r3
/* 800894D8 4B FF FB 09 */ bl getEvStringPntData__9dCamera_cFPc
/* 800894DC 28 03 00 00 */ cmplwi r3, 0
/* 800894E0 40 82 00 0C */ bne lbl_800894EC
/* 800894E4 38 60 00 00 */ li r3, 0
/* 800894E8 48 00 00 F8 */ b lbl_800895E0
lbl_800894EC:
/* 800894EC 80 A3 00 00 */ lwz r5, 0(r3)
/* 800894F0 3C 85 BF B0 */ addis r4, r5, 0xbfb0
/* 800894F4 28 04 4C 41 */ cmplwi r4, 0x4c41
/* 800894F8 40 82 00 0C */ bne lbl_80089504
/* 800894FC 80 7F 01 80 */ lwz r3, 0x180(r31)
/* 80089500 48 00 00 E0 */ b lbl_800895E0
lbl_80089504:
/* 80089504 3C 05 BF AD */ addis r0, r5, 0xbfad
/* 80089508 28 00 54 41 */ cmplwi r0, 0x5441
/* 8008950C 40 82 00 1C */ bne lbl_80089528
/* 80089510 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089514 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80089518 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 8008951C 80 84 4F 8C */ lwz r4, 0x4f8c(r4)
/* 80089520 4B FB 9D CD */ bl convPId__14dEvt_control_cFUi
/* 80089524 48 00 00 BC */ b lbl_800895E0
lbl_80089528:
/* 80089528 28 04 41 52 */ cmplwi r4, 0x4152
/* 8008952C 40 82 00 1C */ bne lbl_80089548
/* 80089530 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089534 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80089538 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 8008953C 80 84 4F 90 */ lwz r4, 0x4f90(r4)
/* 80089540 4B FB 9D AD */ bl convPId__14dEvt_control_cFUi
/* 80089544 48 00 00 9C */ b lbl_800895E0
lbl_80089548:
/* 80089548 3C 85 BF AC */ addis r4, r5, 0xbfac
/* 8008954C 28 04 41 4C */ cmplwi r4, 0x414c
/* 80089550 40 82 00 1C */ bne lbl_8008956C
/* 80089554 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089558 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8008955C 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 80089560 80 84 4F 94 */ lwz r4, 0x4f94(r4)
/* 80089564 4B FB 9D 89 */ bl convPId__14dEvt_control_cFUi
/* 80089568 48 00 00 78 */ b lbl_800895E0
lbl_8008956C:
/* 8008956C 3C 05 BF BC */ addis r0, r5, 0xbfbc
/* 80089570 28 00 4F 4F */ cmplwi r0, 0x4f4f
/* 80089574 40 82 00 1C */ bne lbl_80089590
/* 80089578 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8008957C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80089580 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 80089584 80 84 4F 9C */ lwz r4, 0x4f9c(r4)
/* 80089588 4B FB 9D 65 */ bl convPId__14dEvt_control_cFUi
/* 8008958C 48 00 00 54 */ b lbl_800895E0
lbl_80089590:
/* 80089590 28 04 41 52 */ cmplwi r4, 0x4152
/* 80089594 41 82 00 10 */ beq lbl_800895A4
/* 80089598 3C 05 BF B7 */ addis r0, r5, 0xbfb7
/* 8008959C 28 00 54 45 */ cmplwi r0, 0x5445
/* 800895A0 40 82 00 1C */ bne lbl_800895BC
lbl_800895A4:
/* 800895A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800895A8 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800895AC 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 800895B0 80 84 4F 98 */ lwz r4, 0x4f98(r4)
/* 800895B4 4B FB 9D 39 */ bl convPId__14dEvt_control_cFUi
/* 800895B8 48 00 00 28 */ b lbl_800895E0
lbl_800895BC:
/* 800895BC 3C 05 B3 97 */ addis r0, r5, 0xb397
/* 800895C0 28 00 6E 6B */ cmplwi r0, 0x6e6b
/* 800895C4 40 82 00 14 */ bne lbl_800895D8
/* 800895C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800895CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800895D0 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 800895D4 48 00 00 0C */ b lbl_800895E0
lbl_800895D8:
/* 800895D8 38 80 FF FF */ li r4, -1
/* 800895DC 4B F9 41 C5 */ bl fopAcM_searchFromName4Event__FPCcs
lbl_800895E0:
/* 800895E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800895E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800895E8 7C 08 03 A6 */ mtlr r0
/* 800895EC 38 21 00 10 */ addi r1, r1, 0x10
/* 800895F0 4E 80 00 20 */ blr
@@ -1,89 +0,0 @@
lbl_800895F4:
/* 800895F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800895F8 7C 08 02 A6 */ mflr r0
/* 800895FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80089600 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80089604 7C 7F 1B 78 */ mr r31, r3
/* 80089608 7C 87 23 78 */ mr r7, r4
/* 8008960C 7C A6 2B 78 */ mr r6, r5
/* 80089610 38 00 00 00 */ li r0, 0
/* 80089614 98 01 00 08 */ stb r0, 8(r1)
/* 80089618 38 81 00 08 */ addi r4, r1, 8
/* 8008961C 7C E5 3B 78 */ mr r5, r7
/* 80089620 4B FF FD 1D */ bl getEvStringData__9dCamera_cFPcPcPc
/* 80089624 38 61 00 08 */ addi r3, r1, 8
/* 80089628 80 A1 00 08 */ lwz r5, 8(r1)
/* 8008962C 3C 85 BF B0 */ addis r4, r5, 0xbfb0
/* 80089630 28 04 4C 41 */ cmplwi r4, 0x4c41
/* 80089634 40 82 00 0C */ bne lbl_80089640
/* 80089638 80 7F 01 80 */ lwz r3, 0x180(r31)
/* 8008963C 48 00 00 E0 */ b lbl_8008971C
lbl_80089640:
/* 80089640 3C 05 BF AD */ addis r0, r5, 0xbfad
/* 80089644 28 00 54 41 */ cmplwi r0, 0x5441
/* 80089648 40 82 00 1C */ bne lbl_80089664
/* 8008964C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089650 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80089654 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 80089658 80 84 4F 8C */ lwz r4, 0x4f8c(r4)
/* 8008965C 4B FB 9C 91 */ bl convPId__14dEvt_control_cFUi
/* 80089660 48 00 00 BC */ b lbl_8008971C
lbl_80089664:
/* 80089664 28 04 41 52 */ cmplwi r4, 0x4152
/* 80089668 40 82 00 1C */ bne lbl_80089684
/* 8008966C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089670 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80089674 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 80089678 80 84 4F 90 */ lwz r4, 0x4f90(r4)
/* 8008967C 4B FB 9C 71 */ bl convPId__14dEvt_control_cFUi
/* 80089680 48 00 00 9C */ b lbl_8008971C
lbl_80089684:
/* 80089684 3C 85 BF AC */ addis r4, r5, 0xbfac
/* 80089688 28 04 41 4C */ cmplwi r4, 0x414c
/* 8008968C 40 82 00 1C */ bne lbl_800896A8
/* 80089690 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089694 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80089698 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 8008969C 80 84 4F 94 */ lwz r4, 0x4f94(r4)
/* 800896A0 4B FB 9C 4D */ bl convPId__14dEvt_control_cFUi
/* 800896A4 48 00 00 78 */ b lbl_8008971C
lbl_800896A8:
/* 800896A8 3C 05 BF BC */ addis r0, r5, 0xbfbc
/* 800896AC 28 00 4F 4F */ cmplwi r0, 0x4f4f
/* 800896B0 40 82 00 1C */ bne lbl_800896CC
/* 800896B4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800896B8 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800896BC 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 800896C0 80 84 4F 9C */ lwz r4, 0x4f9c(r4)
/* 800896C4 4B FB 9C 29 */ bl convPId__14dEvt_control_cFUi
/* 800896C8 48 00 00 54 */ b lbl_8008971C
lbl_800896CC:
/* 800896CC 28 04 41 52 */ cmplwi r4, 0x4152
/* 800896D0 41 82 00 10 */ beq lbl_800896E0
/* 800896D4 3C 05 BF B7 */ addis r0, r5, 0xbfb7
/* 800896D8 28 00 54 45 */ cmplwi r0, 0x5445
/* 800896DC 40 82 00 1C */ bne lbl_800896F8
lbl_800896E0:
/* 800896E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800896E4 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800896E8 38 64 4E C8 */ addi r3, r4, 0x4ec8
/* 800896EC 80 84 4F 98 */ lwz r4, 0x4f98(r4)
/* 800896F0 4B FB 9B FD */ bl convPId__14dEvt_control_cFUi
/* 800896F4 48 00 00 28 */ b lbl_8008971C
lbl_800896F8:
/* 800896F8 3C 05 B3 97 */ addis r0, r5, 0xb397
/* 800896FC 28 00 6E 6B */ cmplwi r0, 0x6e6b
/* 80089700 40 82 00 14 */ bne lbl_80089714
/* 80089704 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089708 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8008970C 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 80089710 48 00 00 0C */ b lbl_8008971C
lbl_80089714:
/* 80089714 38 80 FF FF */ li r4, -1
/* 80089718 4B F9 40 89 */ bl fopAcM_searchFromName4Event__FPCcs
lbl_8008971C:
/* 8008971C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80089720 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80089724 7C 08 03 A6 */ mtlr r0
/* 80089728 38 21 00 20 */ addi r1, r1, 0x20
/* 8008972C 4E 80 00 20 */ blr
@@ -1,56 +0,0 @@
lbl_80088D90:
/* 80088D90 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80088D94 7C 08 02 A6 */ mflr r0
/* 80088D98 90 01 00 24 */ stw r0, 0x24(r1)
/* 80088D9C 39 61 00 20 */ addi r11, r1, 0x20
/* 80088DA0 48 2D 94 39 */ bl _savegpr_28
/* 80088DA4 7C 7C 1B 78 */ mr r28, r3
/* 80088DA8 7C 9D 23 78 */ mr r29, r4
/* 80088DAC 7C BE 2B 78 */ mr r30, r5
/* 80088DB0 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80088DB4 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80088DB8 41 82 00 34 */ beq lbl_80088DEC
/* 80088DBC 7F C4 F3 78 */ mr r4, r30
/* 80088DC0 4B FF FE 65 */ bl searchEventArgData__9dCamera_cFPc
/* 80088DC4 2C 03 FF FF */ cmpwi r3, -1
/* 80088DC8 40 82 00 0C */ bne lbl_80088DD4
/* 80088DCC 38 60 00 00 */ li r3, 0
/* 80088DD0 48 00 00 70 */ b lbl_80088E40
lbl_80088DD4:
/* 80088DD4 1C 03 00 18 */ mulli r0, r3, 0x18
/* 80088DD8 7C 7C 02 14 */ add r3, r28, r0
/* 80088DDC 80 63 05 28 */ lwz r3, 0x528(r3)
/* 80088DE0 C0 03 00 00 */ lfs f0, 0(r3)
/* 80088DE4 D0 1D 00 00 */ stfs f0, 0(r29)
/* 80088DE8 48 00 00 54 */ b lbl_80088E3C
lbl_80088DEC:
/* 80088DEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80088DF0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80088DF4 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 80088DF8 7F E3 FB 78 */ mr r3, r31
/* 80088DFC 80 9C 04 EC */ lwz r4, 0x4ec(r28)
/* 80088E00 4B FB F3 45 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 80088E04 2C 03 00 00 */ cmpwi r3, 0
/* 80088E08 41 82 00 24 */ beq lbl_80088E2C
/* 80088E0C 7F E3 FB 78 */ mr r3, r31
/* 80088E10 80 9C 04 EC */ lwz r4, 0x4ec(r28)
/* 80088E14 7F C5 F3 78 */ mr r5, r30
/* 80088E18 38 C0 00 00 */ li r6, 0
/* 80088E1C 4B FB F2 D1 */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 80088E20 C0 03 00 00 */ lfs f0, 0(r3)
/* 80088E24 D0 1D 00 00 */ stfs f0, 0(r29)
/* 80088E28 48 00 00 14 */ b lbl_80088E3C
lbl_80088E2C:
/* 80088E2C 38 00 00 01 */ li r0, 1
/* 80088E30 98 1C 04 F8 */ stb r0, 0x4f8(r28)
/* 80088E34 38 60 00 00 */ li r3, 0
/* 80088E38 48 00 00 08 */ b lbl_80088E40
lbl_80088E3C:
/* 80088E3C 38 60 00 01 */ li r3, 1
lbl_80088E40:
/* 80088E40 39 61 00 20 */ addi r11, r1, 0x20
/* 80088E44 48 2D 93 E1 */ bl _restgpr_28
/* 80088E48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80088E4C 7C 08 03 A6 */ mtlr r0
/* 80088E50 38 21 00 20 */ addi r1, r1, 0x20
/* 80088E54 4E 80 00 20 */ blr
@@ -1,60 +0,0 @@
lbl_80089154:
/* 80089154 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80089158 7C 08 02 A6 */ mflr r0
/* 8008915C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80089160 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 80089164 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */
/* 80089168 39 61 00 20 */ addi r11, r1, 0x20
/* 8008916C 48 2D 90 6D */ bl _savegpr_28
/* 80089170 7C 7C 1B 78 */ mr r28, r3
/* 80089174 7C 9D 23 78 */ mr r29, r4
/* 80089178 7C BE 2B 78 */ mr r30, r5
/* 8008917C FF E0 08 90 */ fmr f31, f1
/* 80089180 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80089184 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80089188 41 82 00 34 */ beq lbl_800891BC
/* 8008918C 7F C4 F3 78 */ mr r4, r30
/* 80089190 4B FF FA 95 */ bl searchEventArgData__9dCamera_cFPc
/* 80089194 2C 03 FF FF */ cmpwi r3, -1
/* 80089198 40 82 00 0C */ bne lbl_800891A4
/* 8008919C D3 FD 00 00 */ stfs f31, 0(r29)
/* 800891A0 48 00 00 68 */ b lbl_80089208
lbl_800891A4:
/* 800891A4 1C 03 00 18 */ mulli r0, r3, 0x18
/* 800891A8 7C 7C 02 14 */ add r3, r28, r0
/* 800891AC 80 63 05 28 */ lwz r3, 0x528(r3)
/* 800891B0 C0 03 00 00 */ lfs f0, 0(r3)
/* 800891B4 D0 1D 00 00 */ stfs f0, 0(r29)
/* 800891B8 48 00 00 50 */ b lbl_80089208
lbl_800891BC:
/* 800891BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800891C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800891C4 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 800891C8 7F E3 FB 78 */ mr r3, r31
/* 800891CC 80 9C 04 EC */ lwz r4, 0x4ec(r28)
/* 800891D0 4B FB EF 75 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 800891D4 2C 03 00 00 */ cmpwi r3, 0
/* 800891D8 41 82 00 24 */ beq lbl_800891FC
/* 800891DC 7F E3 FB 78 */ mr r3, r31
/* 800891E0 80 9C 04 EC */ lwz r4, 0x4ec(r28)
/* 800891E4 7F C5 F3 78 */ mr r5, r30
/* 800891E8 38 C0 00 00 */ li r6, 0
/* 800891EC 4B FB EF 01 */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 800891F0 C0 03 00 00 */ lfs f0, 0(r3)
/* 800891F4 D0 1D 00 00 */ stfs f0, 0(r29)
/* 800891F8 48 00 00 10 */ b lbl_80089208
lbl_800891FC:
/* 800891FC D3 FD 00 00 */ stfs f31, 0(r29)
/* 80089200 38 60 00 00 */ li r3, 0
/* 80089204 48 00 00 08 */ b lbl_8008920C
lbl_80089208:
/* 80089208 38 60 00 01 */ li r3, 1
lbl_8008920C:
/* 8008920C E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */
/* 80089210 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80089214 39 61 00 20 */ addi r11, r1, 0x20
/* 80089218 48 2D 90 0D */ bl _restgpr_28
/* 8008921C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80089220 7C 08 03 A6 */ mtlr r0
/* 80089224 38 21 00 30 */ addi r1, r1, 0x30
/* 80089228 4E 80 00 20 */ blr
@@ -1,55 +0,0 @@
lbl_80088E58:
/* 80088E58 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80088E5C 7C 08 02 A6 */ mflr r0
/* 80088E60 90 01 00 24 */ stw r0, 0x24(r1)
/* 80088E64 39 61 00 20 */ addi r11, r1, 0x20
/* 80088E68 48 2D 93 6D */ bl _savegpr_27
/* 80088E6C 7C 7B 1B 78 */ mr r27, r3
/* 80088E70 7C 9C 23 78 */ mr r28, r4
/* 80088E74 7C BD 2B 78 */ mr r29, r5
/* 80088E78 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80088E7C 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80088E80 41 82 00 34 */ beq lbl_80088EB4
/* 80088E84 7F A4 EB 78 */ mr r4, r29
/* 80088E88 4B FF FD 9D */ bl searchEventArgData__9dCamera_cFPc
/* 80088E8C 2C 03 FF FF */ cmpwi r3, -1
/* 80088E90 40 82 00 0C */ bne lbl_80088E9C
/* 80088E94 38 60 00 00 */ li r3, 0
/* 80088E98 48 00 00 6C */ b lbl_80088F04
lbl_80088E9C:
/* 80088E9C 1C 03 00 18 */ mulli r0, r3, 0x18
/* 80088EA0 7C 7B 02 14 */ add r3, r27, r0
/* 80088EA4 80 03 05 28 */ lwz r0, 0x528(r3)
/* 80088EA8 90 1C 00 00 */ stw r0, 0(r28)
/* 80088EAC 83 C3 05 24 */ lwz r30, 0x524(r3)
/* 80088EB0 48 00 00 50 */ b lbl_80088F00
lbl_80088EB4:
/* 80088EB4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80088EB8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80088EBC 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 80088EC0 7F E3 FB 78 */ mr r3, r31
/* 80088EC4 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 80088EC8 4B FB F2 7D */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 80088ECC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80088ED0 41 82 00 20 */ beq lbl_80088EF0
/* 80088ED4 7F E3 FB 78 */ mr r3, r31
/* 80088ED8 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 80088EDC 7F A5 EB 78 */ mr r5, r29
/* 80088EE0 38 C0 00 00 */ li r6, 0
/* 80088EE4 4B FB F2 09 */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 80088EE8 90 7C 00 00 */ stw r3, 0(r28)
/* 80088EEC 48 00 00 14 */ b lbl_80088F00
lbl_80088EF0:
/* 80088EF0 38 00 00 01 */ li r0, 1
/* 80088EF4 98 1B 04 F8 */ stb r0, 0x4f8(r27)
/* 80088EF8 38 60 00 00 */ li r3, 0
/* 80088EFC 48 00 00 08 */ b lbl_80088F04
lbl_80088F00:
/* 80088F00 7F C3 F3 78 */ mr r3, r30
lbl_80088F04:
/* 80088F04 39 61 00 20 */ addi r11, r1, 0x20
/* 80088F08 48 2D 93 19 */ bl _restgpr_27
/* 80088F0C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80088F10 7C 08 03 A6 */ mtlr r0
/* 80088F14 38 21 00 20 */ addi r1, r1, 0x20
/* 80088F18 4E 80 00 20 */ blr
@@ -1,63 +0,0 @@
lbl_80088CB0:
/* 80088CB0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80088CB4 7C 08 02 A6 */ mflr r0
/* 80088CB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80088CBC 39 61 00 20 */ addi r11, r1, 0x20
/* 80088CC0 48 2D 95 19 */ bl _savegpr_28
/* 80088CC4 7C 7C 1B 78 */ mr r28, r3
/* 80088CC8 7C 9D 23 78 */ mr r29, r4
/* 80088CCC 7C BE 2B 78 */ mr r30, r5
/* 80088CD0 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80088CD4 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80088CD8 41 82 00 4C */ beq lbl_80088D24
/* 80088CDC 7F C4 F3 78 */ mr r4, r30
/* 80088CE0 4B FF FF 45 */ bl searchEventArgData__9dCamera_cFPc
/* 80088CE4 2C 03 FF FF */ cmpwi r3, -1
/* 80088CE8 40 82 00 0C */ bne lbl_80088CF4
/* 80088CEC 38 60 00 00 */ li r3, 0
/* 80088CF0 48 00 00 88 */ b lbl_80088D78
lbl_80088CF4:
/* 80088CF4 1C 03 00 18 */ mulli r0, r3, 0x18
/* 80088CF8 7C 7C 02 14 */ add r3, r28, r0
/* 80088CFC 80 03 05 24 */ lwz r0, 0x524(r3)
/* 80088D00 2C 00 00 00 */ cmpwi r0, 0
/* 80088D04 40 80 00 10 */ bge lbl_80088D14
/* 80088D08 80 03 05 28 */ lwz r0, 0x528(r3)
/* 80088D0C 90 1D 00 00 */ stw r0, 0(r29)
/* 80088D10 48 00 00 64 */ b lbl_80088D74
lbl_80088D14:
/* 80088D14 80 63 05 28 */ lwz r3, 0x528(r3)
/* 80088D18 80 03 00 00 */ lwz r0, 0(r3)
/* 80088D1C 90 1D 00 00 */ stw r0, 0(r29)
/* 80088D20 48 00 00 54 */ b lbl_80088D74
lbl_80088D24:
/* 80088D24 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80088D28 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80088D2C 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 80088D30 7F E3 FB 78 */ mr r3, r31
/* 80088D34 80 9C 04 EC */ lwz r4, 0x4ec(r28)
/* 80088D38 4B FB F4 0D */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 80088D3C 2C 03 00 00 */ cmpwi r3, 0
/* 80088D40 41 82 00 24 */ beq lbl_80088D64
/* 80088D44 7F E3 FB 78 */ mr r3, r31
/* 80088D48 80 9C 04 EC */ lwz r4, 0x4ec(r28)
/* 80088D4C 7F C5 F3 78 */ mr r5, r30
/* 80088D50 38 C0 00 03 */ li r6, 3
/* 80088D54 4B FB F3 99 */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 80088D58 80 03 00 00 */ lwz r0, 0(r3)
/* 80088D5C 90 1D 00 00 */ stw r0, 0(r29)
/* 80088D60 48 00 00 14 */ b lbl_80088D74
lbl_80088D64:
/* 80088D64 38 00 00 01 */ li r0, 1
/* 80088D68 98 1C 04 F8 */ stb r0, 0x4f8(r28)
/* 80088D6C 38 60 00 00 */ li r3, 0
/* 80088D70 48 00 00 08 */ b lbl_80088D78
lbl_80088D74:
/* 80088D74 38 60 00 01 */ li r3, 1
lbl_80088D78:
/* 80088D78 39 61 00 20 */ addi r11, r1, 0x20
/* 80088D7C 48 2D 94 A9 */ bl _restgpr_28
/* 80088D80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80088D84 7C 08 03 A6 */ mtlr r0
/* 80088D88 38 21 00 20 */ addi r1, r1, 0x20
/* 80088D8C 4E 80 00 20 */ blr
@@ -1,56 +0,0 @@
lbl_8008908C:
/* 8008908C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80089090 7C 08 02 A6 */ mflr r0
/* 80089094 90 01 00 24 */ stw r0, 0x24(r1)
/* 80089098 39 61 00 20 */ addi r11, r1, 0x20
/* 8008909C 48 2D 91 39 */ bl _savegpr_27
/* 800890A0 7C 7B 1B 78 */ mr r27, r3
/* 800890A4 7C 9C 23 78 */ mr r28, r4
/* 800890A8 7C BD 2B 78 */ mr r29, r5
/* 800890AC 7C DE 33 78 */ mr r30, r6
/* 800890B0 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 800890B4 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 800890B8 41 82 00 34 */ beq lbl_800890EC
/* 800890BC 7F A4 EB 78 */ mr r4, r29
/* 800890C0 4B FF FB 65 */ bl searchEventArgData__9dCamera_cFPc
/* 800890C4 2C 03 FF FF */ cmpwi r3, -1
/* 800890C8 40 82 00 0C */ bne lbl_800890D4
/* 800890CC 93 DC 00 00 */ stw r30, 0(r28)
/* 800890D0 48 00 00 68 */ b lbl_80089138
lbl_800890D4:
/* 800890D4 1C 03 00 18 */ mulli r0, r3, 0x18
/* 800890D8 7C 7B 02 14 */ add r3, r27, r0
/* 800890DC 80 63 05 28 */ lwz r3, 0x528(r3)
/* 800890E0 80 03 00 00 */ lwz r0, 0(r3)
/* 800890E4 90 1C 00 00 */ stw r0, 0(r28)
/* 800890E8 48 00 00 50 */ b lbl_80089138
lbl_800890EC:
/* 800890EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800890F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800890F4 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 800890F8 7F E3 FB 78 */ mr r3, r31
/* 800890FC 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 80089100 4B FB F0 45 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 80089104 2C 03 00 00 */ cmpwi r3, 0
/* 80089108 41 82 00 24 */ beq lbl_8008912C
/* 8008910C 7F E3 FB 78 */ mr r3, r31
/* 80089110 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 80089114 7F A5 EB 78 */ mr r5, r29
/* 80089118 38 C0 00 03 */ li r6, 3
/* 8008911C 4B FB EF D1 */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 80089120 80 03 00 00 */ lwz r0, 0(r3)
/* 80089124 90 1C 00 00 */ stw r0, 0(r28)
/* 80089128 48 00 00 10 */ b lbl_80089138
lbl_8008912C:
/* 8008912C 93 DC 00 00 */ stw r30, 0(r28)
/* 80089130 38 60 00 00 */ li r3, 0
/* 80089134 48 00 00 08 */ b lbl_8008913C
lbl_80089138:
/* 80089138 38 60 00 01 */ li r3, 1
lbl_8008913C:
/* 8008913C 39 61 00 20 */ addi r11, r1, 0x20
/* 80089140 48 2D 90 E1 */ bl _restgpr_27
/* 80089144 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80089148 7C 08 03 A6 */ mtlr r0
/* 8008914C 38 21 00 20 */ addi r1, r1, 0x20
/* 80089150 4E 80 00 20 */ blr
@@ -1,62 +0,0 @@
lbl_8008933C:
/* 8008933C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80089340 7C 08 02 A6 */ mflr r0
/* 80089344 90 01 00 24 */ stw r0, 0x24(r1)
/* 80089348 39 61 00 20 */ addi r11, r1, 0x20
/* 8008934C 48 2D 8E 89 */ bl _savegpr_27
/* 80089350 7C 7B 1B 78 */ mr r27, r3
/* 80089354 7C 9C 23 78 */ mr r28, r4
/* 80089358 7C BD 2B 78 */ mr r29, r5
/* 8008935C 7C DE 33 78 */ mr r30, r6
/* 80089360 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80089364 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80089368 41 82 00 40 */ beq lbl_800893A8
/* 8008936C 7F A4 EB 78 */ mr r4, r29
/* 80089370 4B FF F8 B5 */ bl searchEventArgData__9dCamera_cFPc
/* 80089374 7C 60 1B 78 */ mr r0, r3
/* 80089378 2C 00 FF FF */ cmpwi r0, -1
/* 8008937C 40 82 00 14 */ bne lbl_80089390
/* 80089380 7F 83 E3 78 */ mr r3, r28
/* 80089384 7F C4 F3 78 */ mr r4, r30
/* 80089388 48 2D F7 A5 */ bl strcpy
/* 8008938C 48 00 00 74 */ b lbl_80089400
lbl_80089390:
/* 80089390 7F 83 E3 78 */ mr r3, r28
/* 80089394 1C 00 00 18 */ mulli r0, r0, 0x18
/* 80089398 7C 9B 02 14 */ add r4, r27, r0
/* 8008939C 80 84 05 28 */ lwz r4, 0x528(r4)
/* 800893A0 48 2D F7 8D */ bl strcpy
/* 800893A4 48 00 00 5C */ b lbl_80089400
lbl_800893A8:
/* 800893A8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800893AC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800893B0 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 800893B4 7F E3 FB 78 */ mr r3, r31
/* 800893B8 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 800893BC 4B FB ED 89 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 800893C0 2C 03 00 00 */ cmpwi r3, 0
/* 800893C4 41 82 00 28 */ beq lbl_800893EC
/* 800893C8 7F E3 FB 78 */ mr r3, r31
/* 800893CC 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 800893D0 7F A5 EB 78 */ mr r5, r29
/* 800893D4 38 C0 00 04 */ li r6, 4
/* 800893D8 4B FB ED 15 */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 800893DC 7C 64 1B 78 */ mr r4, r3
/* 800893E0 7F 83 E3 78 */ mr r3, r28
/* 800893E4 48 2D F7 49 */ bl strcpy
/* 800893E8 48 00 00 18 */ b lbl_80089400
lbl_800893EC:
/* 800893EC 7F 83 E3 78 */ mr r3, r28
/* 800893F0 7F C4 F3 78 */ mr r4, r30
/* 800893F4 48 2D F7 39 */ bl strcpy
/* 800893F8 38 60 00 00 */ li r3, 0
/* 800893FC 48 00 00 08 */ b lbl_80089404
lbl_80089400:
/* 80089400 38 60 00 01 */ li r3, 1
lbl_80089404:
/* 80089404 39 61 00 20 */ addi r11, r1, 0x20
/* 80089408 48 2D 8E 19 */ bl _restgpr_27
/* 8008940C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80089410 7C 08 03 A6 */ mtlr r0
/* 80089414 38 21 00 20 */ addi r1, r1, 0x20
/* 80089418 4E 80 00 20 */ blr
@@ -1,48 +0,0 @@
lbl_80088FE0:
/* 80088FE0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80088FE4 7C 08 02 A6 */ mflr r0
/* 80088FE8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80088FEC 39 61 00 20 */ addi r11, r1, 0x20
/* 80088FF0 48 2D 91 ED */ bl _savegpr_29
/* 80088FF4 7C 7D 1B 78 */ mr r29, r3
/* 80088FF8 7C 9E 23 78 */ mr r30, r4
/* 80088FFC 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80089000 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80089004 41 82 00 28 */ beq lbl_8008902C
/* 80089008 4B FF FC 1D */ bl searchEventArgData__9dCamera_cFPc
/* 8008900C 2C 03 FF FF */ cmpwi r3, -1
/* 80089010 40 82 00 0C */ bne lbl_8008901C
/* 80089014 38 60 00 00 */ li r3, 0
/* 80089018 48 00 00 5C */ b lbl_80089074
lbl_8008901C:
/* 8008901C 1C 03 00 18 */ mulli r0, r3, 0x18
/* 80089020 7C 7D 02 14 */ add r3, r29, r0
/* 80089024 80 63 05 28 */ lwz r3, 0x528(r3)
/* 80089028 48 00 00 4C */ b lbl_80089074
lbl_8008902C:
/* 8008902C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089030 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80089034 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 80089038 7F E3 FB 78 */ mr r3, r31
/* 8008903C 80 9D 04 EC */ lwz r4, 0x4ec(r29)
/* 80089040 7F C5 F3 78 */ mr r5, r30
/* 80089044 4B FB F1 01 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 80089048 2C 03 00 00 */ cmpwi r3, 0
/* 8008904C 41 82 00 1C */ beq lbl_80089068
/* 80089050 7F E3 FB 78 */ mr r3, r31
/* 80089054 80 9D 04 EC */ lwz r4, 0x4ec(r29)
/* 80089058 7F C5 F3 78 */ mr r5, r30
/* 8008905C 38 C0 00 04 */ li r6, 4
/* 80089060 4B FB F0 8D */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 80089064 48 00 00 10 */ b lbl_80089074
lbl_80089068:
/* 80089068 38 00 00 01 */ li r0, 1
/* 8008906C 98 1D 04 F8 */ stb r0, 0x4f8(r29)
/* 80089070 38 60 00 00 */ li r3, 0
lbl_80089074:
/* 80089074 39 61 00 20 */ addi r11, r1, 0x20
/* 80089078 48 2D 91 B1 */ bl _restgpr_29
/* 8008907C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80089080 7C 08 03 A6 */ mtlr r0
/* 80089084 38 21 00 20 */ addi r1, r1, 0x20
/* 80089088 4E 80 00 20 */ blr
@@ -1,47 +0,0 @@
lbl_8008941C:
/* 8008941C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80089420 7C 08 02 A6 */ mflr r0
/* 80089424 90 01 00 24 */ stw r0, 0x24(r1)
/* 80089428 39 61 00 20 */ addi r11, r1, 0x20
/* 8008942C 48 2D 8D AD */ bl _savegpr_28
/* 80089430 7C 7C 1B 78 */ mr r28, r3
/* 80089434 7C 9D 23 78 */ mr r29, r4
/* 80089438 7C BE 2B 78 */ mr r30, r5
/* 8008943C 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80089440 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80089444 41 82 00 28 */ beq lbl_8008946C
/* 80089448 4B FF F7 DD */ bl searchEventArgData__9dCamera_cFPc
/* 8008944C 2C 03 FF FF */ cmpwi r3, -1
/* 80089450 40 82 00 0C */ bne lbl_8008945C
/* 80089454 7F C3 F3 78 */ mr r3, r30
/* 80089458 48 00 00 54 */ b lbl_800894AC
lbl_8008945C:
/* 8008945C 1C 03 00 18 */ mulli r0, r3, 0x18
/* 80089460 7C 7C 02 14 */ add r3, r28, r0
/* 80089464 80 63 05 28 */ lwz r3, 0x528(r3)
/* 80089468 48 00 00 44 */ b lbl_800894AC
lbl_8008946C:
/* 8008946C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80089470 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80089474 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 80089478 7F E3 FB 78 */ mr r3, r31
/* 8008947C 80 9C 04 EC */ lwz r4, 0x4ec(r28)
/* 80089480 7F A5 EB 78 */ mr r5, r29
/* 80089484 4B FB EC C1 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 80089488 2C 03 00 00 */ cmpwi r3, 0
/* 8008948C 41 82 00 1C */ beq lbl_800894A8
/* 80089490 7F E3 FB 78 */ mr r3, r31
/* 80089494 80 9C 04 EC */ lwz r4, 0x4ec(r28)
/* 80089498 7F A5 EB 78 */ mr r5, r29
/* 8008949C 38 C0 00 04 */ li r6, 4
/* 800894A0 4B FB EC 4D */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 800894A4 48 00 00 08 */ b lbl_800894AC
lbl_800894A8:
/* 800894A8 7F C3 F3 78 */ mr r3, r30
lbl_800894AC:
/* 800894AC 39 61 00 20 */ addi r11, r1, 0x20
/* 800894B0 48 2D 8D 75 */ bl _restgpr_28
/* 800894B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800894B8 7C 08 03 A6 */ mtlr r0
/* 800894BC 38 21 00 20 */ addi r1, r1, 0x20
/* 800894C0 4E 80 00 20 */ blr
@@ -1,74 +0,0 @@
lbl_8008922C:
/* 8008922C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80089230 7C 08 02 A6 */ mflr r0
/* 80089234 90 01 00 24 */ stw r0, 0x24(r1)
/* 80089238 39 61 00 20 */ addi r11, r1, 0x20
/* 8008923C 48 2D 8F 99 */ bl _savegpr_27
/* 80089240 7C 7B 1B 78 */ mr r27, r3
/* 80089244 7C 9C 23 78 */ mr r28, r4
/* 80089248 7C BD 2B 78 */ mr r29, r5
/* 8008924C 7C DE 33 78 */ mr r30, r6
/* 80089250 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80089254 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80089258 41 82 00 58 */ beq lbl_800892B0
/* 8008925C 7F A4 EB 78 */ mr r4, r29
/* 80089260 4B FF F9 C5 */ bl searchEventArgData__9dCamera_cFPc
/* 80089264 2C 03 FF FF */ cmpwi r3, -1
/* 80089268 40 82 00 20 */ bne lbl_80089288
/* 8008926C C0 1E 00 00 */ lfs f0, 0(r30)
/* 80089270 D0 1C 00 00 */ stfs f0, 0(r28)
/* 80089274 C0 1E 00 04 */ lfs f0, 4(r30)
/* 80089278 D0 1C 00 04 */ stfs f0, 4(r28)
/* 8008927C C0 1E 00 08 */ lfs f0, 8(r30)
/* 80089280 D0 1C 00 08 */ stfs f0, 8(r28)
/* 80089284 48 00 00 9C */ b lbl_80089320
lbl_80089288:
/* 80089288 1C 03 00 18 */ mulli r0, r3, 0x18
/* 8008928C 7C 7B 02 14 */ add r3, r27, r0
/* 80089290 80 63 05 28 */ lwz r3, 0x528(r3)
/* 80089294 C0 03 00 00 */ lfs f0, 0(r3)
/* 80089298 D0 1C 00 00 */ stfs f0, 0(r28)
/* 8008929C C0 03 00 04 */ lfs f0, 4(r3)
/* 800892A0 D0 1C 00 04 */ stfs f0, 4(r28)
/* 800892A4 C0 03 00 08 */ lfs f0, 8(r3)
/* 800892A8 D0 1C 00 08 */ stfs f0, 8(r28)
/* 800892AC 48 00 00 74 */ b lbl_80089320
lbl_800892B0:
/* 800892B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800892B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800892B8 3B E3 4F F8 */ addi r31, r3, 0x4ff8
/* 800892BC 7F E3 FB 78 */ mr r3, r31
/* 800892C0 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 800892C4 4B FB EE 81 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 800892C8 2C 03 00 00 */ cmpwi r3, 0
/* 800892CC 41 82 00 34 */ beq lbl_80089300
/* 800892D0 7F E3 FB 78 */ mr r3, r31
/* 800892D4 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 800892D8 7F A5 EB 78 */ mr r5, r29
/* 800892DC 38 C0 00 01 */ li r6, 1
/* 800892E0 4B FB EE 0D */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 800892E4 C0 03 00 00 */ lfs f0, 0(r3)
/* 800892E8 D0 1C 00 00 */ stfs f0, 0(r28)
/* 800892EC C0 03 00 04 */ lfs f0, 4(r3)
/* 800892F0 D0 1C 00 04 */ stfs f0, 4(r28)
/* 800892F4 C0 03 00 08 */ lfs f0, 8(r3)
/* 800892F8 D0 1C 00 08 */ stfs f0, 8(r28)
/* 800892FC 48 00 00 24 */ b lbl_80089320
lbl_80089300:
/* 80089300 C0 1E 00 00 */ lfs f0, 0(r30)
/* 80089304 D0 1C 00 00 */ stfs f0, 0(r28)
/* 80089308 C0 1E 00 04 */ lfs f0, 4(r30)
/* 8008930C D0 1C 00 04 */ stfs f0, 4(r28)
/* 80089310 C0 1E 00 08 */ lfs f0, 8(r30)
/* 80089314 D0 1C 00 08 */ stfs f0, 8(r28)
/* 80089318 38 60 00 00 */ li r3, 0
/* 8008931C 48 00 00 08 */ b lbl_80089324
lbl_80089320:
/* 80089320 38 60 00 01 */ li r3, 1
lbl_80089324:
/* 80089324 39 61 00 20 */ addi r11, r1, 0x20
/* 80089328 48 2D 8E F9 */ bl _restgpr_27
/* 8008932C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80089330 7C 08 03 A6 */ mtlr r0
/* 80089334 38 21 00 20 */ addi r1, r1, 0x20
/* 80089338 4E 80 00 20 */ blr
@@ -1,55 +0,0 @@
lbl_80088F1C:
/* 80088F1C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80088F20 7C 08 02 A6 */ mflr r0
/* 80088F24 90 01 00 24 */ stw r0, 0x24(r1)
/* 80088F28 39 61 00 20 */ addi r11, r1, 0x20
/* 80088F2C 48 2D 92 A9 */ bl _savegpr_27
/* 80088F30 7C 7B 1B 78 */ mr r27, r3
/* 80088F34 7C 9C 23 78 */ mr r28, r4
/* 80088F38 7C BD 2B 78 */ mr r29, r5
/* 80088F3C 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 80088F40 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80088F44 41 82 00 34 */ beq lbl_80088F78
/* 80088F48 7F A4 EB 78 */ mr r4, r29
/* 80088F4C 4B FF FC D9 */ bl searchEventArgData__9dCamera_cFPc
/* 80088F50 2C 03 FF FF */ cmpwi r3, -1
/* 80088F54 40 82 00 0C */ bne lbl_80088F60
/* 80088F58 38 60 00 00 */ li r3, 0
/* 80088F5C 48 00 00 6C */ b lbl_80088FC8
lbl_80088F60:
/* 80088F60 1C 03 00 18 */ mulli r0, r3, 0x18
/* 80088F64 7C 7B 02 14 */ add r3, r27, r0
/* 80088F68 80 03 05 28 */ lwz r0, 0x528(r3)
/* 80088F6C 90 1C 00 00 */ stw r0, 0(r28)
/* 80088F70 80 63 05 24 */ lwz r3, 0x524(r3)
/* 80088F74 48 00 00 54 */ b lbl_80088FC8
lbl_80088F78:
/* 80088F78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80088F7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80088F80 3B C3 4F F8 */ addi r30, r3, 0x4ff8
/* 80088F84 7F C3 F3 78 */ mr r3, r30
/* 80088F88 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 80088F8C 4B FB F1 B9 */ bl getMySubstanceNum__16dEvent_manager_cFiPCc
/* 80088F90 7C 7F 1B 79 */ or. r31, r3, r3
/* 80088F94 41 82 00 20 */ beq lbl_80088FB4
/* 80088F98 7F C3 F3 78 */ mr r3, r30
/* 80088F9C 80 9B 04 EC */ lwz r4, 0x4ec(r27)
/* 80088FA0 7F A5 EB 78 */ mr r5, r29
/* 80088FA4 38 C0 00 01 */ li r6, 1
/* 80088FA8 4B FB F1 45 */ bl getMySubstanceP__16dEvent_manager_cFiPCci
/* 80088FAC 90 7C 00 00 */ stw r3, 0(r28)
/* 80088FB0 48 00 00 14 */ b lbl_80088FC4
lbl_80088FB4:
/* 80088FB4 38 00 00 01 */ li r0, 1
/* 80088FB8 98 1B 04 F8 */ stb r0, 0x4f8(r27)
/* 80088FBC 38 60 00 00 */ li r3, 0
/* 80088FC0 48 00 00 08 */ b lbl_80088FC8
lbl_80088FC4:
/* 80088FC4 7F E3 FB 78 */ mr r3, r31
lbl_80088FC8:
/* 80088FC8 39 61 00 20 */ addi r11, r1, 0x20
/* 80088FCC 48 2D 92 55 */ bl _restgpr_27
/* 80088FD0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80088FD4 7C 08 03 A6 */ mtlr r0
/* 80088FD8 38 21 00 20 */ addi r1, r1, 0x20
/* 80088FDC 4E 80 00 20 */ blr
@@ -1,51 +0,0 @@
lbl_80089730:
/* 80089730 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80089734 7C 08 02 A6 */ mflr r0
/* 80089738 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008973C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80089740 7C 7F 1B 78 */ mr r31, r3
/* 80089744 80 03 01 74 */ lwz r0, 0x174(r3)
/* 80089748 28 00 00 00 */ cmplwi r0, 0
/* 8008974C 40 82 00 48 */ bne lbl_80089794
/* 80089750 48 0F 75 19 */ bl Reset__9dCamera_cFv
/* 80089754 38 00 00 01 */ li r0, 1
/* 80089758 98 1F 01 58 */ stb r0, 0x158(r31)
/* 8008975C 7F E3 FB 78 */ mr r3, r31
/* 80089760 38 9F 03 F0 */ addi r4, r31, 0x3f0
/* 80089764 3C A0 80 38 */ lis r5, d_d_ev_camera__stringBase0@ha /* 0x8037AAF4@ha */
/* 80089768 38 A5 AA F4 */ addi r5, r5, d_d_ev_camera__stringBase0@l /* 0x8037AAF4@l */
/* 8008976C 38 C0 FF FF */ li r6, -1
/* 80089770 4B FF F9 1D */ bl getEvIntData__9dCamera_cFPiPci
/* 80089774 98 7F 03 E8 */ stb r3, 0x3e8(r31)
/* 80089778 7F E3 FB 78 */ mr r3, r31
/* 8008977C 38 9F 03 EC */ addi r4, r31, 0x3ec
/* 80089780 3C A0 80 38 */ lis r5, d_d_ev_camera__stringBase0@ha /* 0x8037AAF4@ha */
/* 80089784 38 A5 AA F4 */ addi r5, r5, d_d_ev_camera__stringBase0@l /* 0x8037AAF4@l */
/* 80089788 38 A5 00 06 */ addi r5, r5, 6
/* 8008978C 38 C0 00 00 */ li r6, 0
/* 80089790 4B FF F8 FD */ bl getEvIntData__9dCamera_cFPiPci
lbl_80089794:
/* 80089794 80 1F 03 EC */ lwz r0, 0x3ec(r31)
/* 80089798 2C 00 00 00 */ cmpwi r0, 0
/* 8008979C 41 82 00 10 */ beq lbl_800897AC
/* 800897A0 80 1F 06 0C */ lwz r0, 0x60c(r31)
/* 800897A4 60 00 00 01 */ ori r0, r0, 1
/* 800897A8 90 1F 06 0C */ stw r0, 0x60c(r31)
lbl_800897AC:
/* 800897AC 88 1F 03 E8 */ lbz r0, 0x3e8(r31)
/* 800897B0 28 00 00 00 */ cmplwi r0, 0
/* 800897B4 41 82 00 1C */ beq lbl_800897D0
/* 800897B8 80 7F 01 74 */ lwz r3, 0x174(r31)
/* 800897BC 80 1F 03 F0 */ lwz r0, 0x3f0(r31)
/* 800897C0 7C 03 00 40 */ cmplw r3, r0
/* 800897C4 40 80 00 0C */ bge lbl_800897D0
/* 800897C8 38 60 00 00 */ li r3, 0
/* 800897CC 48 00 00 08 */ b lbl_800897D4
lbl_800897D0:
/* 800897D0 38 60 00 01 */ li r3, 1
lbl_800897D4:
/* 800897D4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800897D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800897DC 7C 08 03 A6 */ mtlr r0
/* 800897E0 38 21 00 10 */ addi r1, r1, 0x10
/* 800897E4 4E 80 00 20 */ blr
@@ -1,50 +0,0 @@
lbl_800924D0:
/* 800924D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800924D4 7C 08 02 A6 */ mflr r0
/* 800924D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 800924DC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800924E0 7C 7F 1B 78 */ mr r31, r3
/* 800924E4 38 81 00 08 */ addi r4, r1, 8
/* 800924E8 3C A0 80 38 */ lis r5, d_d_ev_camera__stringBase0@ha /* 0x8037AAF4@ha */
/* 800924EC 38 A5 AA F4 */ addi r5, r5, d_d_ev_camera__stringBase0@l /* 0x8037AAF4@l */
/* 800924F0 38 A5 01 80 */ addi r5, r5, 0x180
/* 800924F4 38 C0 00 00 */ li r6, 0
/* 800924F8 4B FF 6B 95 */ bl getEvIntData__9dCamera_cFPiPci
/* 800924FC 80 01 00 08 */ lwz r0, 8(r1)
/* 80092500 2C 00 00 09 */ cmpwi r0, 9
/* 80092504 40 82 00 50 */ bne lbl_80092554
/* 80092508 A8 1F 00 7C */ lha r0, 0x7c(r31)
/* 8009250C C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 80092510 C0 1F 00 64 */ lfs f0, 0x64(r31)
/* 80092514 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80092518 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8009251C D0 03 5D 8C */ stfs f0, 0x5d8c(r3)
/* 80092520 C0 1F 00 68 */ lfs f0, 0x68(r31)
/* 80092524 D0 03 5D 90 */ stfs f0, 0x5d90(r3)
/* 80092528 C0 1F 00 6C */ lfs f0, 0x6c(r31)
/* 8009252C D0 03 5D 94 */ stfs f0, 0x5d94(r3)
/* 80092530 C0 1F 00 70 */ lfs f0, 0x70(r31)
/* 80092534 D0 03 5D 98 */ stfs f0, 0x5d98(r3)
/* 80092538 C0 1F 00 74 */ lfs f0, 0x74(r31)
/* 8009253C D0 03 5D 9C */ stfs f0, 0x5d9c(r3)
/* 80092540 C0 1F 00 78 */ lfs f0, 0x78(r31)
/* 80092544 D0 03 5D A0 */ stfs f0, 0x5da0(r3)
/* 80092548 D0 23 5D A4 */ stfs f1, 0x5da4(r3)
/* 8009254C B0 03 5D A8 */ sth r0, 0x5da8(r3)
/* 80092550 48 00 00 1C */ b lbl_8009256C
lbl_80092554:
/* 80092554 7F E3 FB 78 */ mr r3, r31
/* 80092558 54 04 28 34 */ slwi r4, r0, 5
/* 8009255C 38 84 00 D0 */ addi r4, r4, 0xd0
/* 80092560 7C 9F 22 14 */ add r4, r31, r4
/* 80092564 38 A0 00 01 */ li r5, 1
/* 80092568 48 0D 26 FD */ bl pushInfo__9dCamera_cFPQ29dCamera_c10dCamInfo_cs
lbl_8009256C:
/* 8009256C 38 00 00 01 */ li r0, 1
/* 80092570 98 1F 01 58 */ stb r0, 0x158(r31)
/* 80092574 38 60 00 01 */ li r3, 1
/* 80092578 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8009257C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80092580 7C 08 03 A6 */ mtlr r0
/* 80092584 38 21 00 20 */ addi r1, r1, 0x20
/* 80092588 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_8008BE74:
/* 8008BE74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008BE78 7C 08 02 A6 */ mflr r0
/* 8008BE7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008BE80 38 80 00 03 */ li r4, 3
/* 8008BE84 48 00 00 15 */ bl transEvCamera__9dCamera_cFi
/* 8008BE88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008BE8C 7C 08 03 A6 */ mtlr r0
/* 8008BE90 38 21 00 10 */ addi r1, r1, 0x10
/* 8008BE94 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_8008BE50:
/* 8008BE50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008BE54 7C 08 02 A6 */ mflr r0
/* 8008BE58 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008BE5C 38 80 00 02 */ li r4, 2
/* 8008BE60 48 00 00 39 */ bl transEvCamera__9dCamera_cFi
/* 8008BE64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008BE68 7C 08 03 A6 */ mtlr r0
/* 8008BE6C 38 21 00 10 */ addi r1, r1, 0x10
/* 8008BE70 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_8008BE2C:
/* 8008BE2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008BE30 7C 08 02 A6 */ mflr r0
/* 8008BE34 90 01 00 14 */ stw r0, 0x14(r1)
/* 8008BE38 38 80 00 01 */ li r4, 1
/* 8008BE3C 48 00 00 5D */ bl transEvCamera__9dCamera_cFi
/* 8008BE40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8008BE44 7C 08 03 A6 */ mtlr r0
/* 8008BE48 38 21 00 10 */ addi r1, r1, 0x10
/* 8008BE4C 4E 80 00 20 */ blr
+3 -2
View File
@@ -114,12 +114,13 @@ public:
};
class cSGlobe {
private:
public:
float mRadius;
cSAngle mAzimuth; // original: V
cSAngle mInclination; // original: U
public:
cSGlobe() {}
cSGlobe(const cSGlobe&);
cSGlobe(float, short, short);
cSGlobe(float, const cSAngle&, const cSAngle&);
+1
View File
@@ -30,6 +30,7 @@ struct Z2StatusMgr : public JASGlobalInstance<Z2StatusMgr> {
u8 getHour() { return mHour; }
bool isPaused() { return mIsMenuIn; }
bool isHeartGuageOn() { return mHeartGaugeOn; }
void getCameraMapInfo(u32 info) { mCameraMapInfo = info; }
/* 0x00 */ u8 mHour;
/* 0x01 */ u8 mMinute;
+4 -2
View File
@@ -2291,7 +2291,7 @@ public:
/* 800FE868 */ void setMoveBGClimbCorrect();
/* 800FEB90 */ int checkBgCorrectClimbMove(cXyz*, cXyz*);
/* 800FEC70 */ void checkClimbRoof(f32);
/* 800FED50 */ void checkClimbGround(cXyz*, f32);
/* 800FED50 */ int checkClimbGround(cXyz*, f32);
/* 800FEEC0 */ void checkBgClimbMove(int);
/* 800FF28C */ void setClimbStartNotGround();
/* 800FF450 */ int procClimbUpStartInit(int);
@@ -3198,7 +3198,7 @@ public:
BOOL grassCancelTrigger() { return itemTriggerCheck(BTN_B); }
BOOL arrowChangeTrigger() { return itemActionTrigger(); }
bool peepSubjectCancelTrigger() { return itemTriggerCheck(0x8); }
u32 getStartMode() { return (fopAcM_GetParam(this) >> 0xC) & 0x1F; }
int getStartMode() { return (fopAcM_GetParam(this) >> 0xC) & 0x1F; }
inline bool checkInputOnR() const;
static int getSightBti() { return 0x5B; }
bool checkBoomerangChargeEndWait() const {
@@ -3378,6 +3378,8 @@ public:
void itemHitSE(u32 param_1, u32 param_2, Z2SoundObjBase* param_3) { mZ2Link.startHitItemSE(param_1, param_2, param_3, -1.0f); }
BOOL checkStartFall() { return getStartMode() == 3; }
inline bool checkWindSpeedOnXZ() const;
inline void startRestartRoomFromOut(int, u32, int);
inline u16 getReadyItem();
+4
View File
@@ -793,6 +793,8 @@ public:
s16 getBodyAngleX() const { return mBodyAngle.x; }
s16 getBodyAngleY() const { return mBodyAngle.y; }
f32 getHeight() const { return field_0x598; }
BOOL checkMidnaWarp() const { return 0; }
u32 checkNoResetFlg0(daPy_FLG0 i_flag) const { return mNoResetFlg0 & i_flag; }
@@ -869,6 +871,8 @@ public:
void changeDemoMoveAngle(s16 i_angle) { mDemo.setMoveAngle(i_angle); }
static bool checkPeepEndSceneChange() { return getLastSceneMode() == 7; }
inline static u32 i_getLastSceneMode();
inline static u32 getLastSceneMode();
inline static bool checkWoodSwordEquip();
+1 -1
View File
@@ -88,7 +88,7 @@ public:
s32 GetRoomCamId(cBgS_PolyInfo const&);
s32 GetRoomPathId(cBgS_PolyInfo const&);
s32 GetRoomPathPntNo(cBgS_PolyInfo const&);
u8 GetGrpSoundId(cBgS_PolyInfo const&);
int GetGrpSoundId(cBgS_PolyInfo const&);
u32 ChkGrpInf(cBgS_PolyInfo const&, u32);
s32 GetRoomId(cBgS_PolyInfo const&);
bool GetPolyAttackThrough(cBgS_PolyInfo const&);
+2 -2
View File
@@ -205,7 +205,7 @@ public:
virtual s32 GetRoomPathId(cBgS_PolyInfo const&) = 0;
virtual s32 GetRoomPathPntNo(cBgS_PolyInfo const&) = 0;
virtual u8 GetPolyGrpRoomInfId(cBgS_PolyInfo const&) = 0;
virtual u8 GetGrpSoundId(cBgS_PolyInfo const&) = 0;
virtual int GetGrpSoundId(cBgS_PolyInfo const&) = 0;
virtual void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0;
virtual void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0;
virtual void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0;
@@ -309,7 +309,7 @@ public:
/* 8007B8D8 */ virtual s32 GetRoomPathId(cBgS_PolyInfo const&);
/* 8007B904 */ virtual s32 GetRoomPathPntNo(cBgS_PolyInfo const&);
/* 8007DF28 */ virtual u8 GetPolyGrpRoomInfId(cBgS_PolyInfo const&);
/* 8007DF58 */ virtual u8 GetGrpSoundId(cBgS_PolyInfo const&);
/* 8007DF58 */ virtual int GetGrpSoundId(cBgS_PolyInfo const&);
/* 8007DF88 */ virtual void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*,
csXyz*);
/* 8007DFC4 */ virtual void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*,
+1 -1
View File
@@ -84,7 +84,7 @@ public:
virtual s32 GetRoomPathId(cBgS_PolyInfo const&) = 0;
virtual s32 GetRoomPathPntNo(cBgS_PolyInfo const&) = 0;
virtual u8 GetPolyGrpRoomInfId(cBgS_PolyInfo const&) = 0;
virtual u8 GetGrpSoundId(cBgS_PolyInfo const&) = 0;
virtual int GetGrpSoundId(cBgS_PolyInfo const&) = 0;
virtual void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0;
virtual void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0;
virtual void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*) = 0;
+1 -1
View File
@@ -105,7 +105,7 @@ public:
/* 80082ECC */ virtual s32 GetRoomPathId(cBgS_PolyInfo const&);
/* 80082EFC */ virtual s32 GetRoomPathPntNo(cBgS_PolyInfo const&);
/* 80082F2C */ virtual u8 GetPolyGrpRoomInfId(cBgS_PolyInfo const&);
/* 80082F5C */ virtual u8 GetGrpSoundId(cBgS_PolyInfo const&);
/* 80082F5C */ virtual int GetGrpSoundId(cBgS_PolyInfo const&);
/* 80082F8C */ virtual void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*,
csXyz*);
/* 80082F90 */ virtual void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*,
+59 -9
View File
@@ -49,8 +49,8 @@ public:
~dComIfG_camera_info_class() {}
/* 0x00 */ camera_class* mCamera;
/* 0x04 */ u8 field_0x4;
/* 0x05 */ u8 field_0x5;
/* 0x04 */ s8 field_0x4;
/* 0x05 */ s8 field_0x5;
/* 0x06 */ s8 field_0x6;
/* 0x07 */ u8 field_0x7;
/* 0x08 */ u32 mCameraAttentionStatus;
@@ -59,8 +59,8 @@ public:
/* 0x14 */ char* mCameraParamFileName;
/* 0x18 */ cXyz mCameraPos;
/* 0x24 */ cXyz mCameraTarget;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ s16 field_0x34;
/* 0x30 */ f32 mCameraFovy;
/* 0x34 */ s16 mCameraBank;
};
STATIC_ASSERT(sizeof(dComIfG_camera_info_class) == 0x38);
@@ -486,11 +486,14 @@ public:
mPlayer[i] = (daAlink_c*)ptr;
mPlayerCameraID[camIdx] = 0;
}
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; }
void clearPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] &= ~flag; }
bool checkPlayerStatus(int param_0, int i, u32 flag) { return flag & mPlayerStatus[i]; }
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[param_0][i] |= flag; }
void clearPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[param_0][i] &= ~flag; }
bool checkPlayerStatus(int param_0, int i, u32 flag) { return flag & mPlayerStatus[param_0][i]; }
int getPlayerCameraID(int i) { return mPlayerCameraID[i * 8]; }
int getCameraPlayer1ID(int i) { return mCameraInfo[i].field_0x5; }
int getCameraPlayer2ID(int i) { return mCameraInfo[i].field_0x6; }
int getCameraWinID(int i) { return mCameraInfo[i].field_0x4; }
void setCameraParamFileName(int i, char* name) { mCameraInfo[i].mCameraParamFileName = name; }
void setCamera(int i, camera_class* cam) { mCameraInfo[i].mCamera = cam; }
const char* getCameraParamFileName(int i) { return mCameraInfo[i].mCameraParamFileName; }
@@ -512,6 +515,21 @@ public:
}
f32 getCameraZoomForcus(int i_no) { return mCameraInfo[i_no].mCameraZoomForcus; }
void setCameraZoomScale(int i_no, f32 i_scale) { mCameraInfo[i_no].mCameraZoomScale = i_scale; }
void saveCameraPosition(int i, cXyz* i_pos, cXyz* i_target, f32 i_fovy, s16 i_bank) {
mCameraInfo[i].mCameraPos = *i_pos;
mCameraInfo[i].mCameraTarget = *i_target;
mCameraInfo[i].mCameraFovy = i_fovy;
mCameraInfo[i].mCameraBank = i_bank;
}
void loadCameraPosition(int i, cXyz* o_pos, cXyz* o_target, f32* o_fovy, s16* o_bank) {
*o_pos = mCameraInfo[i].mCameraPos;
*o_target = mCameraInfo[i].mCameraTarget;
*o_fovy = mCameraInfo[i].mCameraFovy;
*o_bank = mCameraInfo[i].mCameraBank;
}
void setMesgCamInfoID(int param_0) { mMesgCamInfo = param_0; }
@@ -763,8 +781,8 @@ public:
/* 0x04FD4 */ fopAc_ac_c* mMesgCamInfoActor8;
/* 0x04FD8 */ fopAc_ac_c* mMesgCamInfoActor9;
/* 0x04FDC */ fopAc_ac_c* mMesgCamInfoActor10;
/* 0x04FE0 */ u32 mPlayerStatus[2];
/* 0x04FE8 */ u8 field_0x4fe8[0x10];
/* 0x04FE0 */ u32 mPlayerStatus[1][4];
/* 0x04FF0 */ u8 field_0x4ff0[0x8];
/* 0x04FF8 */ __d_timer_info_c mTimerInfo;
/* 0x0500C */ dDlst_window_c* mCurrentWindow;
/* 0x05010 */ view_class* mCurrentView;
@@ -1659,6 +1677,10 @@ inline void dComIfGp_removeSimpleModel(J3DModelData* i_modelData, int roomNo) {
g_dComIfG_gameInfo.play.removeSimpleModel(i_modelData, roomNo);
}
inline dSv_turnRestart_c& dComIfGs_getTurnRestart() {
return g_dComIfG_gameInfo.info.getTurnRestart();
}
inline u32 dComIfGs_getTurnRestartParam() {
return g_dComIfG_gameInfo.info.getTurnRestart().getParam();
}
@@ -2002,6 +2024,18 @@ inline fopAc_ac_c* dComIfGp_getPlayer(int idx) {
return g_dComIfG_gameInfo.play.getPlayer(idx);
}
inline int dComIfGp_getCameraPlayer1ID(int idx) {
return g_dComIfG_gameInfo.play.getCameraPlayer1ID(idx);
}
inline int dComIfGp_getCameraPlayer2ID(int idx) {
return g_dComIfG_gameInfo.play.getCameraPlayer2ID(idx);
}
inline int dComIfGp_getCameraWinID(int idx) {
return g_dComIfG_gameInfo.play.getCameraWinID(idx);
}
inline int dComIfGp_getPlayerCameraID(int idx) {
return g_dComIfG_gameInfo.play.getPlayerCameraID(idx);
}
@@ -2627,6 +2661,10 @@ inline void dComIfGp_setCameraInfo(int camIdx, camera_class* p_cam, int param_2,
g_dComIfG_gameInfo.play.setCameraInfo(camIdx, p_cam, param_2, param_3, param_4);
}
inline void dComIfGp_setCameraZoomScale(int i_no, f32 i_scale) {
g_dComIfG_gameInfo.play.setCameraZoomScale(i_no, i_scale);
}
inline f32 dComIfGp_getCameraZoomForcus(int i_no) {
return g_dComIfG_gameInfo.play.getCameraZoomForcus(i_no);
}
@@ -2635,6 +2673,14 @@ inline u32 dComIfGp_getCameraAttentionStatus(int i_no) {
return g_dComIfG_gameInfo.play.getCameraAttentionStatus(i_no);
}
inline void dComIfGp_saveCameraPosition(int i, cXyz* i_pos, cXyz* i_target, f32 i_fovy, s16 i_bank) {
g_dComIfG_gameInfo.play.saveCameraPosition(i, i_pos, i_target, i_fovy, i_bank);
}
inline void dComIfGp_loadCameraPosition(int i, cXyz* o_pos, cXyz* o_target, f32* o_fovy, s16* o_bank) {
g_dComIfG_gameInfo.play.loadCameraPosition(i, o_pos, o_target, o_fovy, o_bank);
}
inline void dComIfGp_clearPlayerStatus0(int param_0, u32 flag) {
g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 0, flag);
}
@@ -3230,6 +3276,10 @@ inline BOOL dComIfGp_evmng_endCheck(s16 eventID) {
return g_dComIfG_gameInfo.play.getEvtManager().endCheck(eventID);
}
inline int dComIfGp_evmng_cameraPlay() {
return dComIfGp_getPEvtManager()->cameraPlay();
}
inline u8 dComIfGp_event_getPreItemNo() {
return g_dComIfG_gameInfo.play.getEvent().getPreItemNo();
}
+5
View File
@@ -228,6 +228,11 @@ public:
param_5);
}
void Init(fopAc_ac_c* param_0, u32 i_padNo) {
mpPlayer = param_0;
mPadNo = i_padNo;
}
static dist_entry& i_getDistTable(int i_no) { return dist_table[i_no]; }
static type_tbl_entry loc_type_tbl[3];
+15 -4
View File
@@ -22,12 +22,16 @@ public:
/* 0xC */ u8 field_0xc[4];
/* 800889B0 */ virtual ~dCstick_c();
f32 SwTHH() { return mThresholdHigh; }
};
class dCamBGChk_c {
public:
/* 80088464 */ dCamBGChk_c();
f32 WallUpDistance() { return mWallUpDistance; }
// name is a guess for now
struct ChkInfo {
/* 0x0 */ f32 mDistance;
@@ -53,7 +57,8 @@ struct dCamStyleData {
struct StyleData {
/* 0x0 */ u32 field_0x0;
/* 0x4 */ u16 field_0x4;
/* 0x6 */ u8 field_0x6[0x78 - 0x6];
/* 0x6 */ u16 field_0x6;
/* 0x8 */ u8 field_0x8[0x78 - 0x8];
}; // Size: 0x78
/* 0x0 */ u8 field_0x0[4];
@@ -74,7 +79,6 @@ public:
/* 80182C74 */ void Arg0(u8);
/* 80182C7C */ void Fovy(u8);
/* 80182C58 */ void Fovy();
/* 80182C8C */ void Flag(s32, u16);
/* 80182CB4 */ void CheckFlag(u16);
/* 80182CD0 */ void Val(s32, int);
@@ -88,7 +92,10 @@ public:
/* 0x14 */ int mStyleID;
/* 0x18 */ u8 field_0x18[4];
u16 Algorythmn(s32 i_style) { return mCamStyleData[i_style].field_0x4; }
u32 Id(s32 i_style) { return mCamStyleData[i_style].field_0x0; }
int Algorythmn(s32 i_style) { return mCamStyleData[i_style].field_0x4; }
int Algorythmn() { return mCurrentStyle->field_0x4; }
bool Flag(s32 param_0, u16 param_1) { return mCamStyleData[param_0].field_0x6 & param_1; }
/* 8008858C */ virtual ~dCamParam_c();
};
@@ -99,7 +106,6 @@ public:
/* 80088918 */ bool CheckLatitudeRange(s16*);
/* 80088988 */ f32 PlayerHideDist();
/* 80182BB8 */ void CheckFlag2(u16);
/* 80182BD0 */ void CheckFlag(u16);
/* 80182BE8 */ void WaitRollSpeed();
/* 80182BF0 */ void WaitRollTimer();
/* 80182C1C */ void ThrowTimer();
@@ -110,6 +116,11 @@ public:
/* 80182CF4 */ void ChargeTimer();
/* 80182CFC */ void ChargeLatitude();
bool CheckFlag(u16 i_flag) { return mDebugFlags & i_flag; }
f32 ManualEndVal() { return mManualEndVal; }
f32 CinemaScopeTrimHeight() { return mTrimCineScopeHeight; }
f32 VistaTrimHeight() { return mTrimVistaHeight; }
/* 0x000 */ f32 mDrawNear;
/* 0x004 */ f32 mDrawFar;
/* 0x008 */ u16 mDebugFlags;
+131 -94
View File
@@ -11,11 +11,22 @@
class fopAc_ac_c;
struct dCamMapToolData {
/* 8015FEB8 */ void Set(s32, s32, fopAc_ac_c*, u16, u8);
dCamMapToolData() { Clr(); }
/* 8015FEB8 */ int Set(s32, s32, fopAc_ac_c*, u16, u8);
void Clr() {
field_0x2c = 0xFF;
field_0x30 = 0xFF;
field_0x3a = 0;
field_0x34 = NULL;
field_0x3b = 0xFF;
field_0x38 = 0xFF;
}
/* 0x00 */ stage_camera2_data_class field_0x0;
/* 0x18 */ stage_arrow_data_class field_0x18;
/* 0x2C */ u32 field_0x2c;
/* 0x2C */ int field_0x2c;
/* 0x30 */ s32 field_0x30;
/* 0x34 */ fopAc_ac_c* field_0x34;
/* 0x38 */ u16 field_0x38;
@@ -23,11 +34,12 @@ struct dCamMapToolData {
/* 0x3B */ u8 field_0x3b;
};
struct dCamForcusLine : public dDlst_effectLine_c {
struct dCamForcusLine {
/* 801824C8 */ void Init();
/* 80182560 */ void Draw();
/* 801825E4 */ void Off();
/* 0x00 */ dDlst_effectLine_c mEffectLine;
/* 0x38 */ cXyz field_0x38;
/* 0x44 */ GXColor field_0x44;
/* 0x48 */ u8 field_0x48;
@@ -53,7 +65,8 @@ struct dCamera_FakeAngle_system {
struct dCamera_monitoring_things {
/* 0x00 */ cXyz field_0x0;
/* 0x0C */ u8 field_0xc[8];
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ cXyz field_0x14;
};
@@ -71,9 +84,11 @@ struct d2DBSplinePath {
/* 0x28 */ u32 field_0x28;
/* 0x2C */ u32 field_0x2c;
d2DBSplinePath() { Init(0, 0); }
/* 80097878 */ void Init(s32, s32);
/* 80097B68 */ void Spot(f32*, f32);
/* 801828D4 */ virtual ~d2DBSplinePath();
/* 801828D4 */ virtual ~d2DBSplinePath() {}
};
struct dCamera_event_param {
@@ -113,14 +128,10 @@ class dCamera_c {
public:
class dCamInfo_c {
public:
/* 8018291C */ dCamInfo_c();
/* 80182920 */ ~dCamInfo_c();
private:
/* 0x00 */ cXyz field_0x0;
/* 0x0C */ cXyz field_0xc;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ cSAngle field_0x1c;
/* 0x00 */ cXyz mCenter;
/* 0x0C */ cXyz mEye;
/* 0x18 */ f32 mFovy;
/* 0x1C */ cSAngle mBank;
/* 0x1E */ s16 field_0x1e;
}; // Size: 0x20
@@ -140,30 +151,42 @@ public:
};
struct BG {
/* 0x000 */ u8 field_0x0;
/* 0x004 */ dBgS_CamGndChk field_0x4;
/* 0x058 */ f32 field_0x58;
/* 0x05C */ u8 field_0x5c;
/* 0x060 */ dBgS_CamGndChk field_0x60;
/* 0x0B4 */ f32 field_0xb4;
class {
public:
/* 0x00 */ u8 field_0x0;
/* 0x04 */ dBgS_CamGndChk field_0x4;
/* 0x58 */ f32 field_0x58;
} /* 0x000 */ field_0x0;
class {
public:
/* 0x00 */ u8 field_0x0;
/* 0x04 */ dBgS_CamGndChk field_0x4;
/* 0x58 */ f32 field_0x58;
} /* 0x05C */ field_0x5c;
/* 0x0B8 */ u8 field_0xb8[0xC0 - 0xB8];
/* 0x0C0 */ u8 field_0xc0;
/* 0x0C1 */ u8 field_0xc1;
/* 0x0C4 */ cXyz field_0xc4;
/* 0x0D0 */ cXyz field_0xd0;
/* 0x0DC */ cSAngle field_0xdc;
/* 0x0DE */ cSAngle field_0xde;
/* 0x0E0 */ cSGlobe field_0xe0;
/* 0x0E8 */ cSGlobe field_0xe8;
/* 0x0F0 */ u8 field_0xf0[4];
/* 0x0F4 */ int field_0xf4;
/* 0x0F8 */ f32 field_0xf8;
/* 0x0FC */ int field_0xfc;
/* 0x100 */ int field_0x100;
/* 0x104 */ u8 field_0x104[4];
/* 0x108 */ int field_0x108;
/* 0x10C */ f32 field_0x10c;
/* 0x110 */ cXyz field_0x110;
class {
public:
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x04 */ cXyz field_0x4;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ cSAngle field_0x1c;
/* 0x1E */ cSAngle field_0x1e;
/* 0x20 */ int field_0x20;
/* 0x24 */ cSGlobe field_0x24;
/* 0x2C */ cSGlobe field_0x2c;
/* 0x34 */ int field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ int field_0x3c;
/* 0x40 */ int field_0x40;
/* 0x44 */ int field_0x44;
} /* 0x0C0 */ field_0xc0;
class {
public:
/* 0x0 */ int field_0x0;
/* 0x4 */ f32 field_0x4;
/* 0x8 */ cXyz field_0x8;
} /* 0x108 */ field_0x108;
};
struct Shake {
@@ -181,19 +204,19 @@ public:
/* 80088A7C */ int StartEventCamera(int, int, ...);
/* 80088BBC */ int EndEventCamera(int);
/* 80088C24 */ int searchEventArgData(char*);
/* 8008908C */ void getEvIntData(int*, char*, int);
/* 80088CB0 */ void getEvIntData(int*, char*);
/* 80088D90 */ void getEvFloatData(f32*, char*);
/* 80089154 */ void getEvFloatData(f32*, char*, f32);
/* 80088E58 */ void getEvFloatListData(f32**, char*);
/* 80088F1C */ void getEvXyzListData(cXyz**, char*);
/* 8008941C */ void getEvStringPntData(char*, char*);
/* 80088FE0 */ void getEvStringPntData(char*);
/* 8008922C */ void getEvXyzData(cXyz*, char*, cXyz);
/* 8008933C */ void getEvStringData(char*, char*, char*);
/* 800894C4 */ void getEvActor(char*);
/* 800895F4 */ void getEvActor(char*, char*);
/* 80089730 */ void pauseEvCamera();
/* 8008908C */ bool getEvIntData(int*, char*, int);
/* 80088CB0 */ bool getEvIntData(int*, char*);
/* 80088D90 */ bool getEvFloatData(f32*, char*);
/* 80089154 */ bool getEvFloatData(f32*, char*, f32);
/* 80088E58 */ int getEvFloatListData(f32**, char*);
/* 80088F1C */ int getEvXyzListData(cXyz**, char*);
/* 8008941C */ char* getEvStringPntData(char*, char*);
/* 80088FE0 */ char* getEvStringPntData(char*);
/* 8008922C */ bool getEvXyzData(cXyz*, char*, cXyz);
/* 8008933C */ bool getEvStringData(char*, char*, char*);
/* 800894C4 */ fopAc_ac_c* getEvActor(char*);
/* 800895F4 */ fopAc_ac_c* getEvActor(char*, char*);
/* 80089730 */ int pauseEvCamera();
/* 800897E8 */ void fixedFrameEvCamera();
/* 8008A510 */ void stokerEvCamera();
/* 8008A974 */ void rollingEvCamera();
@@ -206,12 +229,12 @@ public:
/* 8008FAE8 */ void restorePosEvCamera();
/* 80090174 */ void talktoEvCamera();
/* 80090230 */ bool maptoolIdEvCamera();
/* 80090478 */ void styleEvCamera();
/* 80090478 */ bool styleEvCamera();
/* 80090514 */ void gameOverEvCamera();
/* 80091468 */ void tactEvCamera();
/* 800923B8 */ bool turnToActorEvCamera();
/* 800923C0 */ void stbWaitEvCamera();
/* 800924D0 */ void saveEvCamera();
/* 800923C0 */ bool stbWaitEvCamera();
/* 800924D0 */ bool saveEvCamera();
/* 8009258C */ void loadEvCamera();
/* 800929AC */ void useItem0EvCamera();
/* 800937AC */ void useItem1EvCamera();
@@ -225,10 +248,9 @@ public:
/* 800965AC */ void hintTalkEvCamera();
/* 80096EDC */ void bspTransEvCamera();
/* 80097694 */ bool portalWarpEvCamera();
/* 8009771C */ void attentionPos(fopAc_ac_c*);
/* 80097738 */ void directionOf(fopAc_ac_c*);
/* 8009775C */ void positionOf(fopAc_ac_c*);
/* 80097778 */ void setFlag(u32);
/* 8009771C */ cXyz attentionPos(fopAc_ac_c*);
/* 80097738 */ cSAngle directionOf(fopAc_ac_c*);
/* 8009775C */ cXyz positionOf(fopAc_ac_c*);
/* 8009778C */ void eyePos(fopAc_ac_c*);
/* 8016008C */ dCamera_c(camera_class*);
/* 80160304 */ ~dCamera_c();
@@ -237,7 +259,7 @@ public:
/* 801614C4 */ void QuickStart();
/* 801614D0 */ void Stop();
/* 801614E8 */ void Stay();
/* 801614F4 */ u8 ChangeModeOK(s32);
/* 801614F4 */ bool ChangeModeOK(s32);
/* 80161550 */ void initPad();
/* 801617B0 */ void updatePad();
/* 80161D84 */ void initMonitor();
@@ -246,38 +268,38 @@ public:
/* 801622B0 */ void infoReport();
/* 801622B4 */ void Run();
/* 80162D38 */ void NotRun();
/* 80162FB8 */ void V();
/* 80162FD4 */ void U();
/* 8016300C */ void SetTrimSize(s32);
/* 80163028 */ void SetTrimTypeForce(s32);
/* 80162FB8 */ s16 V();
/* 80162FD4 */ s16 U();
/* 8016300C */ bool SetTrimSize(s32);
/* 80163028 */ bool SetTrimTypeForce(s32);
/* 80163034 */ void CalcTrimSize();
/* 80163154 */ void Draw();
/* 80163154 */ int Draw();
/* 8016317C */ void setStageMapToolData();
/* 80163340 */ void setMapToolData();
/* 80163558 */ void SetTagData(fopAc_ac_c*, s32, u16, u8);
/* 801635AC */ void setRoomMapToolData(dCamMapToolData*, s32, s32);
/* 801635E4 */ void nextMode(s32);
/* 80163C38 */ void onModeChange(s32, s32);
/* 80163D50 */ void ModeFix(s32);
/* 80163D50 */ int ModeFix(s32);
/* 80163D5C */ void nextType(s32);
/* 8016444C */ void onTypeChange(s32, s32);
/* 8016469C */ void onStyleChange(s32, s32);
/* 801647B0 */ void onRoomChange(s32);
/* 80164878 */ void getParamTargetActor(s32);
/* 8016469C */ int onStyleChange(s32, s32);
/* 801647B0 */ int onRoomChange(s32);
/* 80164878 */ fopAc_ac_c* getParamTargetActor(s32);
/* 80164944 */ int GetCameraTypeFromMapToolID(s32, s32);
/* 80164B64 */ int GetCameraTypeFromCameraName(char const*);
/* 80164C10 */ void GetCameraTypeFromToolData(stage_camera2_data_class*);
/* 80164C10 */ int GetCameraTypeFromToolData(stage_camera2_data_class*);
/* 80164C64 */ void pushInfo(dCamera_c::dCamInfo_c*, s16);
/* 80164CAC */ void popInfo(dCamera_c::dCamInfo_c*);
/* 80164D2C */ void heightOf(fopAc_ac_c*);
/* 80164D2C */ f32 heightOf(fopAc_ac_c*);
/* 80164E20 */ void relationalPos(fopAc_ac_c*, fopAc_ac_c*, cXyz*, f32);
/* 80164D6C */ void relationalPos(fopAc_ac_c*, cXyz*);
/* 80165104 */ void setUSOAngle();
/* 80165158 */ void getUSOAngle(cSAngle);
/* 80165158 */ cSAngle getUSOAngle(cSAngle);
/* 8016517C */ void pointInSight(cXyz*);
/* 80167C24 */ void radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*);
/* 80165238 */ void radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*, cXyz*, cXyz*, f32, s16, f32);
/* 801657EC */ void groundHeight(cXyz*);
/* 801657EC */ f32 groundHeight(cXyz*);
/* 801658C0 */ void lineBGCheck(cXyz*, cXyz*, dBgS_LinChk*, u32);
/* 80165AF0 */ void lineBGCheck(cXyz*, cXyz*, u32);
/* 801659F4 */ void lineBGCheck(cXyz*, cXyz*, cXyz*, u32);
@@ -343,13 +365,10 @@ public:
/* 80181534 */ void ForceLockOn(fopAc_ac_c*);
/* 80181560 */ void ForceLockOff(unsigned int);
/* 8018159C */ void ForceLockOff(fopAc_ac_c*);
/* 80181E20 */ void Up();
/* 80181E20 */ cXyz Up();
/* 80181E64 */ cXyz Eye();
/* 80181E98 */ cXyz Center();
/* 8018295C */ void footHeightOf(fopAc_ac_c*);
/* 80182964 */ void push_any_key();
/* 8018296C */ void clrFlag(u32);
/* 80182980 */ void chkFlag(u32);
/* 801829AC */ void Bank();
bool Active() { return field_0x24 == 0; }
@@ -357,10 +376,18 @@ public:
int Type() { return mCurType; }
int Mode() { return mNextMode; }
f32 Fovy() { return mFovY + mShake.field_0x3c; }
bool isModeOK() { return field_0x158.field_0x0; }
bool push_any_key() { return field_0x224; }
bool i_chkFlag(u32 i_flag) { return mEventFlags & i_flag; }
void i_setFlag(u32 i_flag) { mEventFlags |= i_flag; }
void i_clrFlag(u32 i_flag) { mEventFlags &= ~i_flag; }
bool chkFlag(u32 i_flag) { return mEventFlags & i_flag; }
void setFlag(u32 i_flag) { mEventFlags |= i_flag; }
void clrFlag(u32 i_flag) { mEventFlags &= ~i_flag; }
void ResetView() { setView(0.0f, 0.0f, 608.0f, 448.0f); }
void clearInfo(dCamInfo_c* i_info, s16 param_1) {
i_info->field_0x1e = param_1;
}
#ifdef NONMATCHING
static engine_fn engine_tbl[];
@@ -375,9 +402,7 @@ public:
/* 0x021 */ u8 field_0x21;
/* 0x022 */ u8 field_0x22[2];
/* 0x024 */ int field_0x24;
/* 0x028 */ f32 field_0x28;
/* 0x02C */ s16 field_0x2c;
/* 0x02E */ s16 field_0x2e;
/* 0x028 */ cSGlobe field_0x28;
/* 0x030 */ cXyz mCenter;
/* 0x03C */ cXyz mEye;
/* 0x048 */ cXyz mUp;
@@ -400,10 +425,7 @@ public:
/* 0x0A8 */ int field_0xa8;
/* 0x0AC */ u32 field_0xac;
/* 0x0B0 */ dCamInfo_c field_0xb0;
/* 0x0D0 */ u8 field_0xd0[0x8];
/* 0x0D8 */ cXyz field_0xd8;
/* 0x0E4 */ u8 field_0xe4[0xc];
/* 0x0F0 */ dCamInfo_c field_0xf0;
/* 0x0D0 */ dCamInfo_c field_0xd0[2];
class {
public:
/* 0x00 */ int field_0x0;
@@ -420,7 +442,7 @@ public:
/* 0x144 */ field_0x144;
class {
public:
/* 0x0 */ u8 field_0x0;
/* 0x0 */ bool field_0x0;
/* 0x2 */ cSAngle field_0x2;
/* 0x4 */ cSAngle field_0x4;
}
@@ -446,7 +468,9 @@ public:
/* 0x1B4 */ f32 field_0x1b4;
/* 0x1B8 */ u8 field_0x1b8[4];
/* 0x1BC */ dCamera_pad_info mPadInfo;
/* 0x1F4 */ u8 field_0x1f4[0x200 - 0x1F4];
/* 0x1F4 */ int field_0x1f4;
/* 0x1F8 */ int field_0x1f8;
/* 0x1FC */ int field_0x1fc;
/* 0x200 */ f32 mTriggerLeftLast;
/* 0x204 */ f32 mTriggerLeftDelta;
/* 0x208 */ u8 field_0x208;
@@ -463,7 +487,7 @@ public:
/* 0x219 */ u8 mTrigX;
/* 0x21A */ u8 mHoldY;
/* 0x21B */ u8 mTrigY;
/* 0x21C */ u8 mHoldZ;
/* 0x21C */ bool mHoldZ;
/* 0x21D */ u8 mTrigZ;
/* 0x21E */ u8 field_0x21e;
/* 0x21F */ u8 field_0x21f;
@@ -480,7 +504,9 @@ public:
/* 0x2C8 */ f32 field_0x2c8;
/* 0x2CC */ BG mBG;
/* 0x3E8 */ u8 field_0x3e8;
/* 0x3E9 */ u8 field_0x3e9[0x4e8 - 0x3e9];
/* 0x3EC */ int field_0x3ec;
/* 0x3F0 */ int field_0x3f0;
/* 0x3F4 */ u8 field_0x3f4[0x4E8 - 0x3F4];
/* 0x4E8 */ dCamera_event_data mEventData;
/* 0x60C */ u32 mEventFlags;
/* 0x610 */ u8 field_0x610;
@@ -498,9 +524,9 @@ public:
/* 0x66C */ int field_0x66c;
/* 0x670 */ int field_0x670;
/* 0x674 */ int field_0x674;
/* 0x678 */ int field_0x678;
/* 0x678 */ u8 field_0x678;
/* 0x67C */ int mCamStyle;
/* 0x680 */ int field_0x684;
/* 0x680 */ int field_0x680;
/* 0x684 */ dCamera_type_data* mCamTypeData;
/* 0x688 */ int mCamTypeNum;
/* 0x68C */ int mCurType;
@@ -552,12 +578,23 @@ public:
/* 0x920 */ f32 mTrimHeight;
/* 0x924 */ int mTrimSize;
/* 0x928 */ int mTrimTypeForce;
/* 0x92C */ u8 field_0x92c[0x93C - 0x92c];
/* 0x93C */ f32 field_0x93c;
/* 0x940 */ u8 field_0x940[0x970 - 0x940];
/* 0x92C */ u8 field_0x92c[0x934 - 0x92c];
/* 0x934 */ f32 field_0x934;
/* 0x938 */ u8 field_0x938[0x93C - 0x938];
/* 0x93C */ int field_0x93c;
/* 0x940 */ int field_0x940;
/* 0x944 */ u8 field_0x944;
/* 0x948 */ int field_0x948;
/* 0x94C */ cSAngle field_0x94c;
/* 0x950 */ int field_0x950;
/* 0x954 */ u8 field_0x954[0x958 - 0x954];
/* 0x958 */ int field_0x958;
/* 0x95C */ cXyz field_0x95c;
/* 0x968 */ u8 field_0x968[0x970 - 0x968];
/* 0x970 */ dCamSetup_c mCamSetup;
/* 0xAEC */ dCamParam_c mCamParam;
/* 0xB0C */ u8 field_0xb0c[0xd58 - 0xb0c];
/* 0xB0C */ u8 field_0xb0c;
/* 0xB0D */ u8 field_0xb0d[0xd58 - 0xb0d];
}; // Size: 0xD58
dCamera_c* dCam_getBody();
+13 -1
View File
@@ -24,7 +24,7 @@ public:
/* 80038FC0 */ JStage::TObject* appendActor(fopAc_ac_c*);
/* 80039088 */ dDemo_actor_c* getActor(u8);
/* 800390AC */ JStage::TObject* createCamera();
/* 80039128 */ JStage::TObject* getActiveCamera();
/* 80039128 */ dDemo_camera_c* getActiveCamera();
/* 8003913C */ JStage::TObject* createAmbient();
/* 800391B8 */ JStage::TObject* appendLight();
/* 80039258 */ JStage::TObject* createFog();
@@ -208,6 +208,13 @@ public:
/* 80038DDC */ virtual void JSGSetViewRoll(f32);
void onEnable(u8 flag) { mFlags |= flag; }
bool checkEnable(u8 flag) { return mFlags & flag; }
cXyz& getTarget() { return mViewTargetVector; }
cXyz& getTrans() { return mViewPos; }
cXyz& getUp() { return mViewUpVector; }
f32 getFovy() { return mProjFovy; }
f32 getRoll() { return mViewRoll; }
private:
/* 0x04 */ u8 mFlags;
@@ -279,6 +286,11 @@ public:
static void setBranchData(const u8* p_data) { m_branchData = p_data; }
static s16 getBranchId() { return m_branchId; }
static dDemo_camera_c* getCamera() {
JUT_ASSERT(m_object != 0);
return m_object->getActiveCamera();
}
static s16 m_branchId;
static dDemo_system_c* m_system;
static JStudio::TControl* m_control;
+2
View File
@@ -15,6 +15,8 @@ class dKy_tevstr_c;
class cM_rnd_c {
public:
cM_rnd_c() { init(100, 100, 100); }
/* 80053CDC */ void init(int, int, int);
/* 80053CEC */ f32 get();
/* 80053DE0 */ f32 getF(f32);
+13 -4
View File
@@ -145,10 +145,10 @@ struct stage_envr_info_class {
}; // Size: 0x41
struct stage_camera2_data_class {
/* 0x00 */ int field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
struct {
int field_0x0;
Vec field_0x4;
} /* 0x00 */ field_0x0;
/* 0x10 */ u8 field_0x10;
/* 0x11 */ u8 field_0x11;
/* 0x12 */ u8 field_0x12;
@@ -165,6 +165,7 @@ struct stage_camera_class {
struct stage_arrow_data_class {
/* 0x00 */ cXyz mPosition;
/* 0x0C */ csXyz mAngle;
/* 0x12 */ s16 field_0x12;
}; // Size: 0x14
struct stage_arrow_class {
@@ -1098,6 +1099,10 @@ inline u16 dStage_stagInfo_GetStageTitleNo(stage_stag_info_class* pstag) {
return pstag->mStageTitleNo;
}
inline u8 dStage_stagInfo_DefaultCameraType(stage_stag_info_class* pstag) {
return pstag->mCameraType;
}
inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
return p_info->field_0xb & 0xF;
}
@@ -1138,6 +1143,10 @@ inline int dStage_FileList_dt_GlobalWindDir(dStage_FileList_dt_c* i_fili) {
return (i_fili->mParameters >> 0xF) & 7;
}
inline u8 dStage_FileList_dt_GetDefaultCamera(dStage_FileList_dt_c* p_fList) {
return p_fList->mDefaultCamera;
}
inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) {
return p_fList2->mLeftRmX;
}
+1
View File
@@ -79,6 +79,7 @@ public:
void setFlag(int flag) { mFlags.flagSet(flag); }
bool dataLoaded() { return mDataLoaded; }
int flagCheck(int flag) { return mFlags.flagCheck(flag); }
int cameraPlay() { return mCameraPlay; }
inline static s16 getIndexCompositId(s16 param_0) { return param_0 != -1 ? (s16)(param_0 & 0xff) : (s16)-1; }
static int getTypeCompositId(s16 param_0) { return param_0 == -1 ? 0 : param_0 >> 8; }
+12
View File
@@ -1046,6 +1046,7 @@ private:
class dSv_turnRestart_c {
public:
class dSv_turnRestart_camera_c {
public:
/* 0x00 */ cXyz mCameraCtr;
/* 0x0C */ cXyz mCameraEye;
/* 0x18 */ cXyz mCameraUp;
@@ -1057,6 +1058,17 @@ public:
cXyz& getPos() { return mPosition; }
s16 getAngleY() const { return mAngleY; }
f32 getCameraFvy() const { return mCameraFvy; }
void setCameraFvy(f32 i_fvy) { mCameraFvy = i_fvy; }
const cXyz& getCameraUp() const { return mCamera.mCameraUp; }
const cXyz& getCameraEye() const { return mCamera.mCameraEye; }
const cXyz& getCameraCtr() const { return mCamera.mCameraCtr; }
void setCameraUp(const cXyz& i_up) { mCamera.mCameraUp = i_up; }
void setCameraEye(const cXyz& i_eye) { mCamera.mCameraEye = i_eye; }
void setCameraCtr(const cXyz& i_ctr) { mCamera.mCameraCtr = i_ctr; }
private:
/* 0x00 */ cXyz mPosition;
/* 0x0C */ u32 mParam;
+2
View File
@@ -239,6 +239,8 @@ public:
fopAc_ac_c();
~fopAc_ac_c();
static void setStopStatus(u32 status) { stopStatus = status; }
static u32 stopStatus;
}; // Size: 0x568
+27 -15
View File
@@ -27,33 +27,45 @@ public:
/* 0x248 */ dCamera_c mCamera;
};
/* void fopCamM_SetNear(camera_class* cam, f32 near) {
cam->mNear = near;
inline void fopCamM_SetNear(camera_class* i_this, f32 near) {
i_this->mNear = near;
}
void fopCamM_SetFar(camera_class* cam, f32 far) {
cam->mFar = far;
inline void fopCamM_SetFar(camera_class* i_this, f32 far) {
i_this->mFar = far;
}
void fopCamM_SetFovy(camera_class* cam, f32 fovy) {
cam->mFovy = fovy;
inline void fopCamM_SetFovy(camera_class* i_this, f32 fovy) {
i_this->mFovy = fovy;
}
void fopCamM_SetAspect(camera_class* cam, f32 aspect) {
cam->mAspect = aspect;
inline void fopCamM_SetAspect(camera_class* i_this, f32 aspect) {
i_this->mAspect = aspect;
}
void fopCamM_SetEye(camera_class* cam, f32 x, f32 y, f32 z) {
cam->field_0xd8.mEye.set(x, y, z);
inline void fopCamM_SetEye(camera_class* i_this, f32 x, f32 y, f32 z) {
i_this->mLookat.mEye.set(x, y, z);
}
void fopCamM_SetCenter(camera_class* cam, f32 x, f32 y, f32 z) {
cam->field_0xd8.mCenter.set(x, y, z);
inline void fopCamM_SetCenter(camera_class* i_this, f32 x, f32 y, f32 z) {
i_this->mLookat.mCenter.set(x, y, z);
}
void fopCamM_SetBank(camera_class* cam, s16 bank) {
cam->mBank = bank;
} */
inline void fopCamM_SetBank(camera_class* i_this, s16 bank) {
i_this->mBank = bank;
}
inline void fopCamM_SetPrm1(camera_class* i_this, int prm1) {
i_this->mPrm1 = prm1;
}
inline void fopCamM_SetPrm2(camera_class* i_this, int prm2) {
i_this->mPrm2 = prm2;
}
inline void fopCamM_SetPrm3(camera_class* i_this, int prm3) {
i_this->mPrm3 = prm3;
}
inline s16 fopCamM_GetAngleX(camera_class* i_camera) {
return i_camera->mAngle.x;
+8
View File
@@ -142,6 +142,14 @@ inline void mDoAud_taktModeMuteOff() {
Z2AudioMgr::getInterface()->taktModeMuteOff();
}
inline void mDoAud_getCameraMapInfo(u32 param_0) {
Z2AudioMgr::getInterface()->getCameraMapInfo(param_0);
}
inline void mDoAud_setCameraGroupInfo(u8 param_0) {
Z2AudioMgr::getInterface()->setCameraGroupInfo(param_0);
}
inline void mDoAud_mEnvse_framework() {
g_mEnvSeMgr.framework();
}
+1
View File
@@ -52,6 +52,7 @@ public:
static f32 getStickValue(u32 pad) { return getCpadInfo(pad).mMainStickValue; }
static s16 getStickAngle(u32 pad) { return getCpadInfo(pad).mMainStickAngle; }
static s16 getStickAngle3D(u32 pad) { return getCpadInfo(pad).mMainStickAngle; }
static f32 getSubStickX3D(u32 pad) { return getCpadInfo(pad).mCStickPosX; }
static f32 getSubStickX(u32 pad) { return getCpadInfo(pad).mCStickPosX; }
static f32 getSubStickY(u32 pad) { return getCpadInfo(pad).mCStickPosY; }
static f32 getSubStickValue(u32 pad) { return getCpadInfo(pad).mCStickValue; }
+4
View File
@@ -138,6 +138,10 @@ inline void cMtx_inverse(const Mtx a, Mtx b) {
mDoMtx_inverse(a, b);
}
inline void cMtx_concatProjView(const Mtx a, const Mtx b, Mtx c) {
mDoMtx_concatProjView(a, b, c);
}
class mDoMtx_stack_c {
public:
mDoMtx_stack_c() {
+3
View File
@@ -159,6 +159,9 @@ public:
/* 80844590 */ void draw();
/* 8084478C */ ~daHorse_c();
/* 80844CB0 */ daHorse_c();
/* 80182D04 */ void getLashDashStart() const;
bool checkNoBombProc() const { return field_0x16b4 == 0 || field_0x16b4 == 1; }
bool checkResetStateFlg0(daHorse_RFLG0 flag) const { return mResetStateFlg0 & flag; }
+26 -1
View File
@@ -981,14 +981,39 @@ asm void daAlink_c::checkClimbRoof(f32 param_0) {
#pragma pop
/* 800FED50-800FEEC0 0F9690 0170+00 2/2 0/0 0/0 .text checkClimbGround__9daAlink_cFP4cXyzf */
// matches with literals
#ifdef NONMATCHING
int daAlink_c::checkClimbGround(cXyz* param_0, f32 param_1) {
f32 var_f30 = cM_ssin(shape_angle.y);
f32 var_f29 = cM_scos(shape_angle.y);
param_0->set(current.pos.x + (var_f30 * 4.5f), param_1 + 50.0f, current.pos.z + (var_f29 * 4.5f));
for (int i = 0; i < 3; i++) {
mLinkGndChk.SetPos(param_0);
f32 cross = dComIfG_Bgsp().GroundCross(&mLinkGndChk);
if (cross != -1000000000.0f && dBgS_CheckBGroundPoly(mLinkGndChk) && cross >= param_1 - 50.0f) {
param_0->y = cross;
return 1;
}
param_0->x += var_f30 * 1.5f;
param_0->z += var_f29 * 1.5f;
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkClimbGround(cXyz* param_0, f32 param_1) {
asm int daAlink_c::checkClimbGround(cXyz* param_0, f32 param_1) {
nofralloc
#include "asm/d/a/d_a_alink/checkClimbGround__9daAlink_cFP4cXyzf.s"
}
#pragma pop
#endif
/* 800FEEC0-800FF28C 0F9800 03CC+00 5/5 0/0 0/0 .text checkBgClimbMove__9daAlink_cFi */
#pragma push
+1 -1
View File
@@ -533,7 +533,7 @@ s32 dBgS::GetRoomPathPntNo(cBgS_PolyInfo const& poly) {
}
/* 80075080-800750D0 06F9C0 0050+00 0/0 2/2 0/0 .text GetGrpSoundId__4dBgSFRC13cBgS_PolyInfo */
u8 dBgS::GetGrpSoundId(cBgS_PolyInfo const& poly) {
int dBgS::GetGrpSoundId(cBgS_PolyInfo const& poly) {
int bg_index = poly.GetBgIndex();
if (m_chk_element[bg_index].ChkUsed()) {
return m_chk_element[bg_index].m_bgw_base_ptr->GetGrpSoundId(poly);
+2 -2
View File
@@ -2135,8 +2135,8 @@ u8 dBgW::GetPolyGrpRoomInfId(cBgS_PolyInfo const& poly) {
}
/* 8007DF58-8007DF88 078898 0030+00 1/0 1/0 0/0 .text GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo */
u8 dBgW::GetGrpSoundId(cBgS_PolyInfo const& poly) {
return GetGrpInf(poly) >> 11;
int dBgW::GetGrpSoundId(cBgS_PolyInfo const& poly) {
return (GetGrpInf(poly) >> 11) & 0xFF;
}
/* 8007DF88-8007DFC4 0788C8 003C+00 1/0 0/0 0/0 .text
+1 -1
View File
@@ -864,7 +864,7 @@ u8 dBgWKCol::GetPolyGrpRoomInfId(cBgS_PolyInfo const& poly) {
/* 80082F5C-80082F8C 07D89C 0030+00 1/0 0/0 0/0 .text GetGrpSoundId__8dBgWKColFRC13cBgS_PolyInfo
*/
u8 dBgWKCol::GetGrpSoundId(cBgS_PolyInfo const& poly) {
int dBgWKCol::GetGrpSoundId(cBgS_PolyInfo const& poly) {
u16 poly_index = poly.GetPolyIndex();
dBgPc bgpc;
+1887 -373
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1278,7 +1278,7 @@ JStage::TObject* dDemo_object_c::createCamera() {
/* 80039128-8003913C 033A68 0014+00 0/0 3/3 0/0 .text getActiveCamera__14dDemo_object_cFv
*/
JStage::TObject* dDemo_object_c::getActiveCamera() {
dDemo_camera_c* dDemo_object_c::getActiveCamera() {
if (mpCamera != NULL) {
return mpCamera;
}
+520 -162
View File
@@ -5,6 +5,7 @@
#include "d/d_ev_camera.h"
#include "dol2asm.h"
#include "d/d_demo.h"
#include "m_Do/m_Do_controller_pad.h"
#include "rel/d/a/d_a_midna/d_a_midna.h"
@@ -37,7 +38,7 @@ extern "C" void uniformTransEvCamera__9dCamera_cFv();
extern "C" void uniformBrakeEvCamera__9dCamera_cFv();
extern "C" void uniformAcceleEvCamera__9dCamera_cFv();
extern "C" void transEvCamera__9dCamera_cFi();
extern "C" static void func_8008E750();
extern "C" static bool func_8008E750(char);
extern "C" void __as__7cSGlobeFRC7cSGlobe();
extern "C" void abs__4cXyzCFv();
extern "C" void U__7cSGlobeFRC7cSAngle();
@@ -196,19 +197,23 @@ extern "C" u8 _90__7cSAngle[2 + 2 /* padding */];
/* 800889F8-80088A7C 083338 0084+00 1/1 0/0 0/0 .text isStageEvent__25@unnamed@d_ev_camera_cpp@Fi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm bool func_800889F8(int) {
nofralloc
#include "asm/d/d_ev_camera/func_800889F8.s"
static bool func_800889F8(int param_0) {
dStage_MapEventInfo_c* info = dComIfGp_getStage()->getMapEventInfo();
if (info != NULL) {
for (int i = 0; i < info->mCount; i++) {
if (param_0 == info->mData[i].field_0x4) {
return true;
}
}
}
return false;
}
#pragma pop
/* 80088A7C-80088BBC 0833BC 0140+00 0/0 15/15 2/2 .text StartEventCamera__9dCamera_cFiie
*/
int dCamera_c::StartEventCamera(int param_0, int param_1, ...) {
if (i_chkFlag(0x20000000)) {
if (chkFlag(0x20000000)) {
return 0;
}
@@ -230,7 +235,7 @@ int dCamera_c::StartEventCamera(int param_0, int param_1, ...) {
}
va_end(args);
i_setFlag(0x20000000);
setFlag(0x20000000);
mCurCamTypeTimer = 0;
mEventData.field_0x0 = 0;
return 1;
@@ -238,12 +243,12 @@ int dCamera_c::StartEventCamera(int param_0, int param_1, ...) {
/* 80088BBC-80088C24 0834FC 0068+00 0/0 3/3 4/4 .text EndEventCamera__9dCamera_cFi */
int dCamera_c::EndEventCamera(int param_0) {
if (!i_chkFlag(0x20000000)) {
if (!chkFlag(0x20000000)) {
return 0;
}
if (mEventData.field_0x14 == -1 || mEventData.field_0x14 == param_0) {
i_clrFlag(0x20000000);
clrFlag(0x20000000);
mEventData.field_0x0 = 1;
if (dComIfGp_getEvent().runCheck()) {
@@ -277,146 +282,421 @@ int dCamera_c::searchEventArgData(char* i_eventName) {
}
/* 80088CB0-80088D90 0835F0 00E0+00 3/3 1/1 0/0 .text getEvIntData__9dCamera_cFPiPc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvIntData(int* param_0, char* param_1) {
nofralloc
#include "asm/d/d_ev_camera/getEvIntData__9dCamera_cFPiPc.s"
bool dCamera_c::getEvIntData(int* i_data, char* i_event) {
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
return 0;
}
if (mEventData.mEventParams[index].field_0x10 < 0) {
*i_data = mEventData.mEventParams[index].value;
} else {
*i_data = *(int*)mEventData.mEventParams[index].value;
}
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
*i_data = *dComIfGp_evmng_getMyIntegerP(mEventData.field_0x4, i_event);
} else {
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: (int) not found\n", i_event);
}
#endif
mEventData.field_0x10 = 1;
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %d\n", i_event, *i_data);
}
#endif
return 1;
}
#pragma pop
/* 80088D90-80088E58 0836D0 00C8+00 0/0 1/1 0/0 .text getEvFloatData__9dCamera_cFPfPc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvFloatData(f32* param_0, char* param_1) {
nofralloc
#include "asm/d/d_ev_camera/getEvFloatData__9dCamera_cFPfPc.s"
bool dCamera_c::getEvFloatData(f32* i_data, char* i_event) {
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
return 0;
}
*i_data = *(f32*)mEventData.mEventParams[index].value;
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
*i_data = *dComIfGp_evmng_getMyFloatP(mEventData.field_0x4, i_event);
} else {
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: (float) not found\n", i_event);
}
#endif
mEventData.field_0x10 = 1;
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %f\n", i_event, *i_data);
}
#endif
return 1;
}
#pragma pop
/* 80088E58-80088F1C 083798 00C4+00 4/4 0/0 0/0 .text getEvFloatListData__9dCamera_cFPPfPc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvFloatListData(f32** param_0, char* param_1) {
nofralloc
#include "asm/d/d_ev_camera/getEvFloatListData__9dCamera_cFPPfPc.s"
int dCamera_c::getEvFloatListData(f32** i_data, char* i_event) {
int num = 0;
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
return 0;
}
*i_data = (f32*)mEventData.mEventParams[index].value;
num = mEventData.mEventParams[index].field_0x10;
} else if (num = dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event)) {
*i_data = dComIfGp_evmng_getMyFloatP(mEventData.field_0x4, i_event);
} else {
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: (float[]) not found\n", i_event);
}
#endif
mEventData.field_0x10 = 1;
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %f ... [%d]\n", i_event, **i_data, num);
}
#endif
return num;
}
#pragma pop
/* 80088F1C-80088FE0 08385C 00C4+00 1/1 0/0 0/0 .text getEvXyzListData__9dCamera_cFPP4cXyzPc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvXyzListData(cXyz** param_0, char* param_1) {
nofralloc
#include "asm/d/d_ev_camera/getEvXyzListData__9dCamera_cFPP4cXyzPc.s"
int dCamera_c::getEvXyzListData(cXyz** i_data, char* i_event) {
int num = 0;
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
return 0;
}
*i_data = (cXyz*)mEventData.mEventParams[index].value;
return mEventData.mEventParams[index].field_0x10;
} else if (num = dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event)) {
*i_data = dComIfGp_evmng_getMyXyzP(mEventData.field_0x4, i_event);
} else {
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: (xyz[]) not found\n", i_event);
}
#endif
mEventData.field_0x10 = 1;
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %f %f %f ... [%d]\n", i_event, (*i_data)->x, (*i_data)->y, (*i_data)->z, num);
}
#endif
return num;
}
#pragma pop
/* 80088FE0-8008908C 083920 00AC+00 1/1 0/0 0/0 .text getEvStringPntData__9dCamera_cFPc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvStringPntData(char* param_0) {
nofralloc
#include "asm/d/d_ev_camera/getEvStringPntData__9dCamera_cFPc.s"
char* dCamera_c::getEvStringPntData(char* i_event) {
char* string = NULL;
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
return 0;
}
string = (char*)mEventData.mEventParams[index].value;
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event)) {
string = dComIfGp_evmng_getMyStringP(mEventData.field_0x4, i_event);
} else {
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: (string) not found\n", i_event);
}
#endif
mEventData.field_0x10 = 1;
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %s\n", i_event, string);
}
#endif
return string;
}
#pragma pop
/* 8008908C-80089154 0839CC 00C8+00 20/20 5/5 0/0 .text getEvIntData__9dCamera_cFPiPci */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvIntData(int* param_0, char* param_1, int param_2) {
nofralloc
#include "asm/d/d_ev_camera/getEvIntData__9dCamera_cFPiPci.s"
bool dCamera_c::getEvIntData(int* i_data, char* i_event, int param_2) {
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
*i_data = param_2;
} else {
*i_data = *(int*)mEventData.mEventParams[index].value;
}
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
*i_data = *dComIfGp_evmng_getMyIntegerP(mEventData.field_0x4, i_event);
} else {
*i_data = param_2;
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %d (d)\n", i_event, *i_data);
}
#endif
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %d\n", i_event, *i_data);
}
#endif
return 1;
}
#pragma pop
/* 80089154-8008922C 083A94 00D8+00 11/11 1/1 0/0 .text getEvFloatData__9dCamera_cFPfPcf
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvFloatData(f32* param_0, char* param_1, f32 param_2) {
nofralloc
#include "asm/d/d_ev_camera/getEvFloatData__9dCamera_cFPfPcf.s"
bool dCamera_c::getEvFloatData(f32* i_data, char* i_event, f32 param_2) {
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
*i_data = param_2;
} else {
*i_data = *(f32*)mEventData.mEventParams[index].value;
}
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
*i_data = *dComIfGp_evmng_getMyFloatP(mEventData.field_0x4, i_event);
} else {
*i_data = param_2;
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %f (d)\n", i_event, *i_data);
}
#endif
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %f\n", i_event, *i_data);
}
#endif
return 1;
}
#pragma pop
/* 8008922C-8008933C 083B6C 0110+00 10/10 0/0 0/0 .text getEvXyzData__9dCamera_cFP4cXyzPc4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvXyzData(cXyz* param_0, char* param_1, cXyz param_2) {
nofralloc
#include "asm/d/d_ev_camera/getEvXyzData__9dCamera_cFP4cXyzPc4cXyz.s"
bool dCamera_c::getEvXyzData(cXyz* i_data, char* i_event, cXyz param_2) {
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
*i_data = param_2;
} else {
*i_data = *(cXyz*)mEventData.mEventParams[index].value;
}
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
*i_data = *dComIfGp_evmng_getMyXyzP(mEventData.field_0x4, i_event);
} else {
*i_data = param_2;
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %f %f %f (d)\n", i_event, i_data->x, i_data->y, i_data->z);
}
#endif
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %f %f %f\n", i_event, i_data->x, i_data->y, i_data->z);
}
#endif
return 1;
}
#pragma pop
/* 8008933C-8008941C 083C7C 00E0+00 7/7 1/1 0/0 .text getEvStringData__9dCamera_cFPcPcPc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvStringData(char* param_0, char* param_1, char* param_2) {
nofralloc
#include "asm/d/d_ev_camera/getEvStringData__9dCamera_cFPcPcPc.s"
bool dCamera_c::getEvStringData(char* i_data, char* i_event, char* param_2) {
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
strcpy(i_data, param_2);
} else {
strcpy(i_data, (char*)mEventData.mEventParams[index].value);
}
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
strcpy(i_data, dComIfGp_evmng_getMyStringP(mEventData.field_0x4, i_event));
} else {
strcpy(i_data, param_2);
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %s (d)\n", i_event, i_data);
}
#endif
return 0;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %s\n", i_event, i_data);
}
#endif
return 1;
}
#pragma pop
/* 8008941C-800894C4 083D5C 00A8+00 1/1 0/0 0/0 .text getEvStringPntData__9dCamera_cFPcPc
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvStringPntData(char* param_0, char* param_1) {
nofralloc
#include "asm/d/d_ev_camera/getEvStringPntData__9dCamera_cFPcPc.s"
char* dCamera_c::getEvStringPntData(char* i_event, char* param_1) {
char* string = NULL;
if (chkFlag(0x20000000)) {
int index = searchEventArgData(i_event);
if (index == -1) {
string = param_1;
} else {
string = (char*)mEventData.mEventParams[index].value;
}
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event)) {
string = dComIfGp_evmng_getMyStringP(mEventData.field_0x4, i_event);
} else {
string = param_1;
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %s (d)\n", i_event, string);
}
#endif
return string;
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
OS_REPORT("camera: event: %16s: %s\n", i_event, string);
}
#endif
return string;
}
#pragma pop
/* 800894C4-800895F4 083E04 0130+00 7/7 1/1 0/0 .text getEvActor__9dCamera_cFPc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvActor(char* param_0) {
nofralloc
#include "asm/d/d_ev_camera/getEvActor__9dCamera_cFPc.s"
fopAc_ac_c* dCamera_c::getEvActor(char* i_event) {
char* string = getEvStringPntData(i_event);
if (string == NULL) {
return NULL;
}
fopAc_ac_c* actor;
if (*(u32*)string == '@PLA') {
actor = mpPlayerActor;
} else if (*(u32*)string == '@STA') {
actor = dComIfGp_event_getPt1();
} else if (*(u32*)string == '@PAR') {
actor = dComIfGp_event_getPt2();
} else if (*(u32*)string == '@TAL') {
actor = dComIfGp_event_getTalkPartner();
} else if (*(u32*)string == '@DOO') {
actor = dComIfGp_event_getDoorPartner();
} else if (*(u32*)string == '@TAR' || *(u32*)string == '@ITE') {
actor = dComIfGp_event_getItemPartner();
} else if (*(u32*)string == 'Link') {
actor = dComIfGp_getLinkPlayer();
} else {
actor = fopAcM_searchFromName4Event(string, -1);
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
if (actor != NULL) {
char name[16];
fopAcM_getNameString(actor, name);
OS_REPORT("camera: event: = %s\n", name);
} else {
OS_REPORT("camera: event: = (Who?)\n");
}
}
#endif
return actor;
}
#pragma pop
/* 800895F4-80089730 083F34 013C+00 8/8 1/1 0/0 .text getEvActor__9dCamera_cFPcPc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::getEvActor(char* param_0, char* param_1) {
nofralloc
#include "asm/d/d_ev_camera/getEvActor__9dCamera_cFPcPc.s"
}
#pragma pop
fopAc_ac_c* dCamera_c::getEvActor(char* i_event, char* param_1) {
char string[16];
string[0] = 0;
getEvStringData(string, i_event, param_1);
char* name_str = string;
/* ############################################################################################## */
/* 8037AAF4-8037AAF4 007154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037AAF4 = "Timer";
SECTION_DEAD static char const* const stringBase_8037AAFA = "Stay";
#pragma pop
fopAc_ac_c* actor;
if (*(u32*)string == '@PLA') {
actor = mpPlayerActor;
} else if (*(u32*)string == '@STA') {
actor = dComIfGp_event_getPt1();
} else if (*(u32*)string == '@PAR') {
actor = dComIfGp_event_getPt2();
} else if (*(u32*)string == '@TAL') {
actor = dComIfGp_event_getTalkPartner();
} else if (*(u32*)string == '@DOO') {
actor = dComIfGp_event_getDoorPartner();
} else if (*(u32*)string == '@TAR' || *(u32*)string == '@ITE') {
actor = dComIfGp_event_getItemPartner();
} else if (*(u32*)string == 'Link') {
actor = dComIfGp_getLinkPlayer();
} else {
actor = fopAcM_searchFromName4Event(name_str, -1);
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
if (actor != NULL) {
char name[16];
fopAcM_getNameString(actor, name);
OS_REPORT("camera: event: = %s\n", name);
} else {
OS_REPORT("camera: event: = (Who?)\n");
}
}
#endif
return actor;
}
/* 80089730-800897E8 084070 00B8+00 0/0 3/0 0/0 .text pauseEvCamera__9dCamera_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::pauseEvCamera() {
nofralloc
#include "asm/d/d_ev_camera/pauseEvCamera__9dCamera_cFv.s"
int dCamera_c::pauseEvCamera() {
if (mCurCamTypeTimer == 0) {
Reset();
field_0x158.field_0x0 = 1;
field_0x3e8 = getEvIntData(&field_0x3f0, "Timer", -1);
getEvIntData(&field_0x3ec, "Stay", 0);
}
if (field_0x3ec != 0) {
setFlag(1);
}
if (field_0x3e8 && mCurCamTypeTimer < field_0x3f0) {
return 0;
}
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8037AAF4-8037AAF4 007154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -575,36 +855,21 @@ asm void dCamera_c::fixedPositionEvCamera() {
/* 8008BE2C-8008BE50 08676C 0024+00 0/0 1/0 0/0 .text uniformTransEvCamera__9dCamera_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::uniformTransEvCamera() {
nofralloc
#include "asm/d/d_ev_camera/uniformTransEvCamera__9dCamera_cFv.s"
void dCamera_c::uniformTransEvCamera() {
transEvCamera(1);
}
#pragma pop
/* 8008BE50-8008BE74 086790 0024+00 0/0 1/0 0/0 .text uniformBrakeEvCamera__9dCamera_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::uniformBrakeEvCamera() {
nofralloc
#include "asm/d/d_ev_camera/uniformBrakeEvCamera__9dCamera_cFv.s"
void dCamera_c::uniformBrakeEvCamera() {
transEvCamera(2);
}
#pragma pop
/* 8008BE74-8008BE98 0867B4 0024+00 0/0 1/0 0/0 .text uniformAcceleEvCamera__9dCamera_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::uniformAcceleEvCamera() {
nofralloc
#include "asm/d/d_ev_camera/uniformAcceleEvCamera__9dCamera_cFv.s"
void dCamera_c::uniformAcceleEvCamera() {
transEvCamera(3);
}
#pragma pop
/* ############################################################################################## */
/* 8037A7F0-8037A7FC 006E50 000C+00 1/1 0/0 0/0 .rodata @3871 */
@@ -654,14 +919,9 @@ asm void dCamera_c::transEvCamera(int param_0) {
#pragma pop
/* 8008E750-8008E774 089090 0024+00 1/1 0/0 0/0 .text isRelChar__25@unnamed@d_ev_camera_cpp@Fc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8008E750() {
nofralloc
#include "asm/d/d_ev_camera/func_8008E750.s"
static bool func_8008E750(char param_0) {
return param_0 != '-' && param_0 != 'x';
}
#pragma pop
/* 8008E774-8008E790 0890B4 001C+00 3/3 6/6 0/0 .text __as__7cSGlobeFRC7cSGlobe */
#pragma push
@@ -842,6 +1102,30 @@ asm void dCamera_c::restorePosEvCamera() {
#pragma pop
/* 80090174-80090230 08AAB4 00BC+00 0/0 1/0 0/0 .text talktoEvCamera__9dCamera_cFv */
// matches with sinit
#ifdef NONMATCHING
void dCamera_c::talktoEvCamera() {
dComIfGp_event_getPt1();
s32 style = mCamTypeData[mEventData.field_0xc].field_0x18[field_0x190][3];
if (mCurCamTypeTimer == 0) {
clrFlag(0x200000);
}
if (style < 0) {
style = mCamParam.SearchStyle('TT01');
}
#if DEBUG
if (mCurCamTypeTimer == 0 && mCamSetup.CheckFlag(0x40)) {
u32 id = mCamParam.Id();
OS_REPORT("camera: event: %16s = %d (%c%c%c%c)\n", "style", style, (u8)(id >> 0x18), (u8)(id >> 0x10), (u8)(id >> 0x8), (u8)(id));
}
#endif
(this->*engine_tbl[mCamParam.Algorythmn(style)])(style);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -850,6 +1134,7 @@ asm void dCamera_c::talktoEvCamera() {
#include "asm/d/d_ev_camera/talktoEvCamera__9dCamera_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 8037AAF4-8037AAF4 007154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -899,7 +1184,7 @@ bool dCamera_c::maptoolIdEvCamera() {
if (mEventData.field_0xec->mType == 0 && mEventData.field_0xec->field_0xC != 0xFF) {
if (mEventData.field_0xec->field_0xC & 1) {
i_clrFlag(0x200000);
clrFlag(0x200000);
}
if (mEventData.field_0xec->field_0xC & 2) {
@@ -962,14 +1247,28 @@ SECTION_DEAD static char const* const stringBase_8037AC6A = "FN01";
#pragma pop
/* 80090478-80090514 08ADB8 009C+00 0/0 1/0 0/0 .text styleEvCamera__9dCamera_cFv */
// matches with sinit
#ifdef NONMATCHING
bool dCamera_c::styleEvCamera() {
if (mCurCamTypeTimer == 0) {
mEventData.field_0x8 = 0;
field_0x160 = 0;
}
s32 style = mCamParam.SearchStyle(*(u32*)getEvStringPntData("Name", "FN01"));
(this->*engine_tbl[mCamParam.Algorythmn(style)])(style);
return isModeOK();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::styleEvCamera() {
asm bool dCamera_c::styleEvCamera() {
nofralloc
#include "asm/d/d_ev_camera/styleEvCamera__9dCamera_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 8037AAF4-8037AAF4 007154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -1328,8 +1627,9 @@ asm void dCamera_c::tactEvCamera() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dComIfGp_saveCameraPosition(int param_0, cXyz* param_1, cXyz* param_2, f32 param_3,
s16 param_4) {
/* static asm void dComIfGp_saveCameraPosition(int param_0, cXyz* param_1, cXyz* param_2, f32 param_3,
s16 param_4) { */
extern "C" asm void dComIfGp_saveCameraPosition__FiP4cXyzP4cXyzfs() {
nofralloc
#include "asm/d/d_ev_camera/dComIfGp_saveCameraPosition__FiP4cXyzP4cXyzfs.s"
}
@@ -1342,31 +1642,86 @@ bool dCamera_c::turnToActorEvCamera() {
}
/* 800923C0-800924D0 08CD00 0110+00 0/0 1/0 0/0 .text stbWaitEvCamera__9dCamera_cFv */
// matches with literals
#ifdef NONMATCHING
bool dCamera_c::stbWaitEvCamera() {
dDemo_camera_c* demo_cam = dDemo_c::getCamera();
#if DEBUG
char* enabled_report = "-----";
#endif
if (demo_cam != NULL) {
if (demo_cam->checkEnable(0x40)) {
field_0x5c.field_0x8 = demo_cam->getTarget();
#if DEBUG
enabled_report[0] = 'C';
#endif
}
if (demo_cam->checkEnable(0x10)) {
field_0x5c.field_0x14 = demo_cam->getTrans();
#if DEBUG
enabled_report[1] = 'E';
#endif
}
if (demo_cam->checkEnable(0x4)) {
field_0x80 = demo_cam->getFovy();
#if DEBUG
enabled_report[2] = 'F';
#endif
}
if (demo_cam->checkEnable(0x20)) {
mUp = demo_cam->getUp();
#if DEBUG
enabled_report[3] = 'U';
#endif
}
if (demo_cam->checkEnable(0x80)) {
field_0x5c.field_0x20 = cAngle::d2s(-demo_cam->getRoll());
#if DEBUG
enabled_report[4] = 'B';
#endif
}
#if DEBUG
if (mCamSetup.CheckFlag(0x8000)) {
dDbVw_Report(90, 190, "%s", enabled_report);
}
#endif
field_0x5c.field_0x0.Val(field_0x5c.field_0x14 - field_0x5c.field_0x8);
}
return true;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::stbWaitEvCamera() {
asm bool dCamera_c::stbWaitEvCamera() {
nofralloc
#include "asm/d/d_ev_camera/stbWaitEvCamera__9dCamera_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8037AAF4-8037AAF4 007154 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037AC74 = "Slot";
#pragma pop
#endif
/* 800924D0-8009258C 08CE10 00BC+00 0/0 1/0 0/0 .text saveEvCamera__9dCamera_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::saveEvCamera() {
nofralloc
#include "asm/d/d_ev_camera/saveEvCamera__9dCamera_cFv.s"
bool dCamera_c::saveEvCamera() {
int slot;
getEvIntData(&slot, "Slot", 0);
if (slot == 9) {
dComIfGp_saveCameraPosition(0, &field_0x5c.field_0x8, &field_0x5c.field_0x14, field_0x80, field_0x5c.field_0x20.Val());
} else {
pushInfo(&field_0xd0[slot], 1);
}
field_0x158.field_0x0 = 1;
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8037A884-8037A89C 006EE4 0018+00 1/1 0/0 0/0 .rodata @8840 */
@@ -1912,7 +2267,7 @@ REGISTER_CTORS(0x8009769C, __sinit_d_ev_camera_cpp);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::attentionPos(fopAc_ac_c* param_0) {
asm cXyz dCamera_c::attentionPos(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_ev_camera/attentionPos__9dCamera_cFP10fopAc_ac_c.s"
}
@@ -1922,7 +2277,8 @@ asm void dCamera_c::attentionPos(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::directionOf(fopAc_ac_c* param_0) {
// asm cSAngle dCamera_c::directionOf(fopAc_ac_c* param_0) {
extern "C" asm void directionOf__9dCamera_cFP10fopAc_ac_c() {
nofralloc
#include "asm/d/d_ev_camera/directionOf__9dCamera_cFP10fopAc_ac_c.s"
}
@@ -1932,7 +2288,8 @@ asm void dCamera_c::directionOf(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::positionOf(fopAc_ac_c* param_0) {
// asm void dCamera_c::positionOf(fopAc_ac_c* param_0) {
extern "C" asm void positionOf__9dCamera_cFP10fopAc_ac_c() {
nofralloc
#include "asm/d/d_ev_camera/positionOf__9dCamera_cFP10fopAc_ac_c.s"
}
@@ -1942,7 +2299,8 @@ asm void dCamera_c::positionOf(fopAc_ac_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamera_c::setFlag(u32 param_0) {
// asm void dCamera_c::setFlag(u32 param_0) {
extern "C" asm void setFlag__9dCamera_cFUl() {
nofralloc
#include "asm/d/d_ev_camera/setFlag__9dCamera_cFUl.s"
}
+4 -4
View File
@@ -1891,10 +1891,10 @@ static int dStage_cameraCreate(stage_camera2_data_class* i_cameraData, int i_cam
i_cameraData = static_cast<stage_camera2_data_class*>(cMl::memalignB(-4, 0x18));
if (i_cameraData != NULL) {
i_cameraData->field_0x4 = 0.0f;
i_cameraData->field_0x8 = 0.0f;
i_cameraData->field_0x4 = 0.0f;
i_cameraData->field_0x0 = param_2;
i_cameraData->field_0x0.field_0x4.x = 0.0f;
i_cameraData->field_0x0.field_0x4.y = 0.0f;
i_cameraData->field_0x0.field_0x4.x = 0.0f;
i_cameraData->field_0x0.field_0x0 = param_2;
fopCamM_Create(i_cameraIdx, PROC_CAMERA, i_cameraData);
}