Match and link PatternedCastTo

This commit is contained in:
Phillip Stephens 2022-10-23 11:35:55 -07:00
parent 2999309f13
commit dd62a7eaa0
36 changed files with 459 additions and 172 deletions

View File

@ -2221,8 +2221,8 @@ lbl_80039178:
/* 800391A4 00036104 40 82 00 1C */ bne lbl_800391C0
/* 800391A8 00036108 7F C4 F3 78 */ mr r4, r30
/* 800391AC 0003610C 38 61 00 08 */ addi r3, r1, 8
/* 800391B0 00036110 48 06 C2 55 */ bl sub_800a5404
/* 800391B4 00036114 48 06 C2 25 */ bl "CastTo<11CPuddleToad>__10CPatternedFP7CEntity"
/* 800391B0 00036110 48 06 C2 55 */ bl "__ct__29TPatternedCast<11CPuddleToad>FP7CEntity"
/* 800391B4 00036114 48 06 C2 25 */ bl "CastTo<11CPuddleToad>__10CPatternedFRC29TPatternedCast<11CPuddleToad>"
/* 800391B8 00036118 28 03 00 00 */ cmplwi r3, 0
/* 800391BC 0003611C 41 82 00 1C */ beq lbl_800391D8
lbl_800391C0:
@ -2278,8 +2278,8 @@ CanCollideWithComplexCollision__15CGameProjectileFR6CActorR13CStateManager:
lbl_80039270:
/* 80039270 000361D0 7F C4 F3 78 */ mr r4, r30
/* 80039274 000361D4 38 61 00 08 */ addi r3, r1, 8
/* 80039278 000361D8 48 06 C1 8D */ bl sub_800a5404
/* 8003927C 000361DC 48 06 C1 5D */ bl "CastTo<11CPuddleToad>__10CPatternedFP7CEntity"
/* 80039278 000361D8 48 06 C1 8D */ bl "__ct__29TPatternedCast<11CPuddleToad>FP7CEntity"
/* 8003927C 000361DC 48 06 C1 5D */ bl "CastTo<11CPuddleToad>__10CPatternedFRC29TPatternedCast<11CPuddleToad>"
/* 80039280 000361E0 28 03 00 00 */ cmplwi r3, 0
/* 80039284 000361E4 41 82 00 0C */ beq lbl_80039290
/* 80039288 000361E8 7F DA F3 78 */ mr r26, r30

View File

@ -571,8 +571,8 @@ lbl_801307F4:
/* 80130804 0012D764 4B F1 BD 71 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80130808 0012D768 7C 64 1B 78 */ mr r4, r3
/* 8013080C 0012D76C 38 61 00 0C */ addi r3, r1, 0xc
/* 80130810 0012D770 4B F7 4D 61 */ bl sub_800a5570
/* 80130814 0012D774 4B F7 4D 31 */ bl "CastTo<11CFlickerBat>__10CPatternedFP7CEntity"
/* 80130810 0012D770 4B F7 4D 61 */ bl "__ct__29TPatternedCast<11CFlickerBat>FP7CEntity"
/* 80130814 0012D774 4B F7 4D 31 */ bl "CastTo<11CFlickerBat>__10CPatternedFRC29TPatternedCast<11CFlickerBat>"
/* 80130818 0012D778 28 03 00 00 */ cmplwi r3, 0
/* 8013081C 0012D77C 40 82 00 18 */ bne lbl_80130834
/* 80130820 0012D780 7F E3 FB 78 */ mr r3, r31

View File

@ -4563,8 +4563,8 @@ lbl_801F7ADC:
/* 801F7AE4 001F4A44 4B E1 81 F9 */ bl __vc__11CObjectListCFi
/* 801F7AE8 001F4A48 7C 64 1B 78 */ mr r4, r3
/* 801F7AEC 001F4A4C 38 61 00 1C */ addi r3, r1, 0x1c
/* 801F7AF0 001F4A50 4B EA D8 E1 */ bl sub_800a53d0
/* 801F7AF4 001F4A54 4B EA D8 B1 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 801F7AF0 001F4A50 4B EA D8 E1 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 801F7AF4 001F4A54 4B EA D8 B1 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 801F7AF8 001F4A58 28 03 00 00 */ cmplwi r3, 0
/* 801F7AFC 001F4A5C 41 82 00 30 */ beq lbl_801F7B2C
/* 801F7B00 001F4A60 88 03 06 37 */ lbz r0, 0x637(r3)
@ -8831,8 +8831,8 @@ lbl_801FB8C0:
/* 801FB8C8 001F8828 4B E1 44 15 */ bl __vc__11CObjectListCFi
/* 801FB8CC 001F882C 7C 64 1B 78 */ mr r4, r3
/* 801FB8D0 001F8830 38 61 00 10 */ addi r3, r1, 0x10
/* 801FB8D4 001F8834 4B EA 9A FD */ bl sub_800a53d0
/* 801FB8D8 001F8838 4B EA 9A CD */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 801FB8D4 001F8834 4B EA 9A FD */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 801FB8D8 001F8838 4B EA 9A CD */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 801FB8DC 001F883C 28 03 00 00 */ cmplwi r3, 0
/* 801FB8E0 001F8840 41 82 00 90 */ beq lbl_801FB970
/* 801FB8E4 001F8844 88 03 06 37 */ lbz r0, 0x637(r3)

View File

@ -3387,8 +3387,8 @@ lbl_801A0E04:
/* 801A0E2C 0019DD8C 41 82 01 50 */ beq lbl_801A0F7C
/* 801A0E30 0019DD90 7F E4 FB 78 */ mr r4, r31
/* 801A0E34 0019DD94 38 61 00 10 */ addi r3, r1, 0x10
/* 801A0E38 0019DD98 4B F0 47 05 */ bl sub_800a553c
/* 801A0E3C 0019DD9C 4B F0 46 D5 */ bl "CastTo<12CIceSheegoth>__10CPatternedFP7CEntity"
/* 801A0E38 0019DD98 4B F0 47 05 */ bl "__ct__30TPatternedCast<12CIceSheegoth>FP7CEntity"
/* 801A0E3C 0019DD9C 4B F0 46 D5 */ bl "CastTo<12CIceSheegoth>__10CPatternedFRC30TPatternedCast<12CIceSheegoth>"
/* 801A0E40 0019DDA0 28 03 00 00 */ cmplwi r3, 0
/* 801A0E44 0019DDA4 40 82 01 38 */ bne lbl_801A0F7C
/* 801A0E48 0019DDA8 80 7D 00 04 */ lwz r3, 4(r29)
@ -3518,8 +3518,8 @@ lbl_801A1008:
/* 801A1018 0019DF78 4B EA B5 8D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 801A101C 0019DF7C 7C 64 1B 78 */ mr r4, r3
/* 801A1020 0019DF80 38 61 00 0C */ addi r3, r1, 0xc
/* 801A1024 0019DF84 4B F0 45 19 */ bl sub_800a553c
/* 801A1028 0019DF88 4B F0 44 E9 */ bl "CastTo<12CIceSheegoth>__10CPatternedFP7CEntity"
/* 801A1024 0019DF84 4B F0 45 19 */ bl "__ct__30TPatternedCast<12CIceSheegoth>FP7CEntity"
/* 801A1028 0019DF88 4B F0 44 E9 */ bl "CastTo<12CIceSheegoth>__10CPatternedFRC30TPatternedCast<12CIceSheegoth>"
/* 801A102C 0019DF8C 28 03 00 00 */ cmplwi r3, 0
/* 801A1030 0019DF90 41 82 00 54 */ beq lbl_801A1084
/* 801A1034 0019DF94 A0 83 00 08 */ lhz r4, 8(r3)

View File

@ -362,8 +362,8 @@ lbl_801D7AC0:
/* 801D7ACC 001D4A2C 7C 60 1B 78 */ mr r0, r3
/* 801D7AD0 001D4A30 38 61 00 08 */ addi r3, r1, 8
/* 801D7AD4 001D4A34 7C 04 03 78 */ mr r4, r0
/* 801D7AD8 001D4A38 4B EC DA 31 */ bl sub_800a5508
/* 801D7ADC 001D4A3C 4B EC DA 01 */ bl "CastTo<9CJellyZap>__10CPatternedFP7CEntity"
/* 801D7AD8 001D4A38 4B EC DA 31 */ bl "__ct__26TPatternedCast<9CJellyZap>FP7CEntity"
/* 801D7ADC 001D4A3C 4B EC DA 01 */ bl "CastTo<9CJellyZap>__10CPatternedFRC26TPatternedCast<9CJellyZap>"
/* 801D7AE0 001D4A40 28 03 00 00 */ cmplwi r3, 0
/* 801D7AE4 001D4A44 41 82 00 74 */ beq lbl_801D7B58
/* 801D7AE8 001D4A48 80 83 00 04 */ lwz r4, 4(r3)

View File

@ -818,8 +818,8 @@ lbl_8016A578:
/* 8016A588 001674E8 4B EE 20 1D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8016A58C 001674EC 7C 64 1B 78 */ mr r4, r3
/* 8016A590 001674F0 38 61 00 10 */ addi r3, r1, 0x10
/* 8016A594 001674F4 4B F3 AF 0D */ bl sub_800a54a0
/* 8016A598 001674F8 4B F3 AE DD */ bl "CastTo<12CMetroidBeta>__10CPatternedFP7CEntity"
/* 8016A594 001674F4 4B F3 AF 0D */ bl "__ct__30TPatternedCast<12CMetroidBeta>FP7CEntity"
/* 8016A598 001674F8 4B F3 AE DD */ bl "CastTo<12CMetroidBeta>__10CPatternedFRC30TPatternedCast<12CMetroidBeta>"
/* 8016A59C 001674FC 28 03 00 00 */ cmplwi r3, 0
/* 8016A5A0 00167500 41 82 00 0C */ beq lbl_8016A5AC
/* 8016A5A4 00167504 38 60 00 01 */ li r3, 1
@ -881,8 +881,8 @@ sub_8016a5e8:
/* 8016A668 001675C8 48 00 00 40 */ b lbl_8016A6A8
lbl_8016A66C:
/* 8016A66C 001675CC 38 61 00 10 */ addi r3, r1, 0x10
/* 8016A670 001675D0 4B F3 AD 61 */ bl sub_800a53d0
/* 8016A674 001675D4 4B F3 AD 31 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 8016A670 001675D0 4B F3 AD 61 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8016A674 001675D4 4B F3 AD 31 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 8016A678 001675D8 28 03 00 00 */ cmplwi r3, 0
/* 8016A67C 001675DC 41 82 00 28 */ beq lbl_8016A6A4
/* 8016A680 001675E0 A0 63 07 B4 */ lhz r3, 0x7b4(r3)
@ -2813,8 +2813,8 @@ lbl_8016C300:
/* 8016C31C 0016927C 4B EE 02 89 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8016C320 00169280 7C 64 1B 78 */ mr r4, r3
/* 8016C324 00169284 38 61 00 0C */ addi r3, r1, 0xc
/* 8016C328 00169288 4B F3 90 A9 */ bl sub_800a53d0
/* 8016C32C 0016928C 4B F3 90 79 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 8016C328 00169288 4B F3 90 A9 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8016C32C 0016928C 4B F3 90 79 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 8016C330 00169290 28 03 00 00 */ cmplwi r3, 0
/* 8016C334 00169294 41 82 00 44 */ beq lbl_8016C378
/* 8016C338 00169298 88 03 06 38 */ lbz r0, 0x638(r3)
@ -3739,8 +3739,8 @@ lbl_8016D0A4:
/* 8016D0C0 0016A020 4B ED F4 B5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8016D0C4 0016A024 7C 64 1B 78 */ mr r4, r3
/* 8016D0C8 0016A028 38 61 00 14 */ addi r3, r1, 0x14
/* 8016D0CC 0016A02C 4B F3 83 05 */ bl sub_800a53d0
/* 8016D0D0 0016A030 4B F3 82 D5 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 8016D0CC 0016A02C 4B F3 83 05 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8016D0D0 0016A030 4B F3 82 D5 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 8016D0D4 0016A034 7C 7C 1B 79 */ or. r28, r3, r3
/* 8016D0D8 0016A038 41 82 00 58 */ beq lbl_8016D130
/* 8016D0DC 0016A03C A0 9C 07 B4 */ lhz r4, 0x7b4(r28)
@ -3950,8 +3950,8 @@ sub_8016d370:
/* 8016D3C4 0016A324 4B ED F1 B1 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8016D3C8 0016A328 7C 64 1B 78 */ mr r4, r3
/* 8016D3CC 0016A32C 38 61 00 0C */ addi r3, r1, 0xc
/* 8016D3D0 0016A330 4B F3 81 05 */ bl sub_800a54d4
/* 8016D3D4 0016A334 4B F3 80 D5 */ bl "CastTo<8CMetroid>__10CPatternedFP7CEntity"
/* 8016D3D0 0016A330 4B F3 81 05 */ bl "__ct__25TPatternedCast<8CMetroid>FP7CEntity"
/* 8016D3D4 0016A334 4B F3 80 D5 */ bl "CastTo<8CMetroid>__10CPatternedFRC25TPatternedCast<8CMetroid>"
/* 8016D3D8 0016A338 7C 7F 1B 79 */ or. r31, r3, r3
/* 8016D3DC 0016A33C 41 82 01 60 */ beq lbl_8016D53C
/* 8016D3E0 0016A340 C0 3E 00 50 */ lfs f1, 0x50(r30)
@ -4634,8 +4634,8 @@ sub_8016ddb0:
/* 8016DDF0 0016AD50 4B ED E7 85 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8016DDF4 0016AD54 7C 64 1B 78 */ mr r4, r3
/* 8016DDF8 0016AD58 38 61 00 28 */ addi r3, r1, 0x28
/* 8016DDFC 0016AD5C 4B F3 75 D5 */ bl sub_800a53d0
/* 8016DE00 0016AD60 4B F3 75 A5 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 8016DDFC 0016AD5C 4B F3 75 D5 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8016DE00 0016AD60 4B F3 75 A5 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 8016DE04 0016AD64 7C 7D 1B 79 */ or. r29, r3, r3
/* 8016DE08 0016AD68 41 82 01 18 */ beq lbl_8016DF20
/* 8016DE0C 0016AD6C 7F C3 F3 78 */ mr r3, r30
@ -6025,8 +6025,8 @@ lbl_8016F1F8:
/* 8016F208 0016C168 4B ED D3 6D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8016F20C 0016C16C 7C 64 1B 78 */ mr r4, r3
/* 8016F210 0016C170 38 61 00 28 */ addi r3, r1, 0x28
/* 8016F214 0016C174 4B F3 61 BD */ bl sub_800a53d0
/* 8016F218 0016C178 4B F3 61 8D */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 8016F214 0016C174 4B F3 61 BD */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8016F218 0016C178 4B F3 61 8D */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 8016F21C 0016C17C 7C 7A 1B 79 */ or. r26, r3, r3
/* 8016F220 0016C180 41 82 00 5C */ beq lbl_8016F27C
/* 8016F224 0016C184 7F C3 F3 78 */ mr r3, r30
@ -6103,8 +6103,8 @@ lbl_8016F310:
/* 8016F320 0016C280 4B ED D2 55 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8016F324 0016C284 7C 64 1B 78 */ mr r4, r3
/* 8016F328 0016C288 38 61 00 24 */ addi r3, r1, 0x24
/* 8016F32C 0016C28C 4B F3 60 A5 */ bl sub_800a53d0
/* 8016F330 0016C290 4B F3 60 75 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 8016F32C 0016C28C 4B F3 60 A5 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8016F330 0016C290 4B F3 60 75 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 8016F334 0016C294 7C 64 1B 79 */ or. r4, r3, r3
/* 8016F338 0016C298 41 82 01 B8 */ beq lbl_8016F4F0
/* 8016F33C 0016C29C A0 1E 00 08 */ lhz r0, 8(r30)
@ -6973,8 +6973,8 @@ Inside__8CMetroidFR13CStateManagerf:
/* 8016FFB4 0016CF14 4B ED C5 F1 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8016FFB8 0016CF18 7C 64 1B 78 */ mr r4, r3
/* 8016FFBC 0016CF1C 38 61 00 0C */ addi r3, r1, 0xc
/* 8016FFC0 0016CF20 4B F3 55 15 */ bl sub_800a54d4
/* 8016FFC4 0016CF24 4B F3 54 E5 */ bl "CastTo<8CMetroid>__10CPatternedFP7CEntity"
/* 8016FFC0 0016CF20 4B F3 55 15 */ bl "__ct__25TPatternedCast<8CMetroid>FP7CEntity"
/* 8016FFC4 0016CF24 4B F3 54 E5 */ bl "CastTo<8CMetroid>__10CPatternedFRC25TPatternedCast<8CMetroid>"
/* 8016FFC8 0016CF28 28 03 00 00 */ cmplwi r3, 0
/* 8016FFCC 0016CF2C 41 82 00 64 */ beq lbl_80170030
/* 8016FFD0 0016CF30 C0 02 A0 80 */ lfs f0, lbl_805ABDA0@sda21(r2)
@ -7207,8 +7207,8 @@ AggressionCheck__8CMetroidFR13CStateManagerf:
/* 801702F8 0016D258 83 E3 00 04 */ lwz r31, 4(r3)
/* 801702FC 0016D25C 38 61 00 0C */ addi r3, r1, 0xc
/* 80170300 0016D260 7F E4 FB 78 */ mr r4, r31
/* 80170304 0016D264 4B F3 50 CD */ bl sub_800a53d0
/* 80170308 0016D268 4B F3 50 9D */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80170304 0016D264 4B F3 50 CD */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 80170308 0016D268 4B F3 50 9D */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 8017030C 0016D26C 7C 64 1B 79 */ or. r4, r3, r3
/* 80170310 0016D270 41 82 00 28 */ beq lbl_80170338
/* 80170314 0016D274 7F A3 EB 78 */ mr r3, r29
@ -7316,8 +7316,8 @@ lbl_80170468:
/* 80170488 0016D3E8 4B ED C1 1D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8017048C 0016D3EC 7C 64 1B 78 */ mr r4, r3
/* 80170490 0016D3F0 38 61 00 14 */ addi r3, r1, 0x14
/* 80170494 0016D3F4 4B F3 50 41 */ bl sub_800a54d4
/* 80170498 0016D3F8 4B F3 50 11 */ bl "CastTo<8CMetroid>__10CPatternedFP7CEntity"
/* 80170494 0016D3F4 4B F3 50 41 */ bl "__ct__25TPatternedCast<8CMetroid>FP7CEntity"
/* 80170498 0016D3F8 4B F3 50 11 */ bl "CastTo<8CMetroid>__10CPatternedFRC25TPatternedCast<8CMetroid>"
/* 8017049C 0016D3FC 28 03 00 00 */ cmplwi r3, 0
/* 801704A0 0016D400 41 82 00 50 */ beq lbl_801704F0
/* 801704A4 0016D404 A0 03 07 B0 */ lhz r0, 0x7b0(r3)
@ -7453,8 +7453,8 @@ lbl_8017066C:
/* 8017067C 0016D5DC 4B ED BE F9 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80170680 0016D5E0 7C 64 1B 78 */ mr r4, r3
/* 80170684 0016D5E4 38 61 00 18 */ addi r3, r1, 0x18
/* 80170688 0016D5E8 4B F3 4D 49 */ bl sub_800a53d0
/* 8017068C 0016D5EC 4B F3 4D 19 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80170688 0016D5E8 4B F3 4D 49 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8017068C 0016D5EC 4B F3 4D 19 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80170690 0016D5F0 7C 7B 1B 79 */ or. r27, r3, r3
/* 80170694 0016D5F4 41 82 00 90 */ beq lbl_80170724
/* 80170698 0016D5F8 7F C3 F3 78 */ mr r3, r30
@ -7621,8 +7621,8 @@ InRange__8CMetroidFR13CStateManagerf:
/* 801708D0 0016D830 41 82 00 A0 */ beq lbl_80170970
/* 801708D4 0016D834 7F E4 FB 78 */ mr r4, r31
/* 801708D8 0016D838 38 61 00 0C */ addi r3, r1, 0xc
/* 801708DC 0016D83C 4B F3 4A F5 */ bl sub_800a53d0
/* 801708E0 0016D840 4B F3 4A C5 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 801708DC 0016D83C 4B F3 4A F5 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 801708E0 0016D840 4B F3 4A C5 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 801708E4 0016D844 7C 64 1B 79 */ or. r4, r3, r3
/* 801708E8 0016D848 41 82 00 20 */ beq lbl_80170908
/* 801708EC 0016D84C 7F A3 EB 78 */ mr r3, r29
@ -8052,8 +8052,8 @@ PatternShagged__8CMetroidFR13CStateManagerf:
/* 80170F04 0016DE64 4B ED B6 A1 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80170F08 0016DE68 7C 64 1B 78 */ mr r4, r3
/* 80170F0C 0016DE6C 38 61 00 0C */ addi r3, r1, 0xc
/* 80170F10 0016DE70 4B F3 44 C1 */ bl sub_800a53d0
/* 80170F14 0016DE74 4B F3 44 91 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80170F10 0016DE70 4B F3 44 C1 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 80170F14 0016DE74 4B F3 44 91 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80170F18 0016DE78 28 03 00 00 */ cmplwi r3, 0
/* 80170F1C 0016DE7C 41 82 00 18 */ beq lbl_80170F34
/* 80170F20 0016DE80 88 03 04 00 */ lbz r0, 0x400(r3)
@ -8118,8 +8118,8 @@ LostInterest__8CMetroidFR13CStateManagerf:
/* 80170FEC 0016DF4C 28 04 00 00 */ cmplwi r4, 0
/* 80170FF0 0016DF50 41 82 00 8C */ beq lbl_8017107C
/* 80170FF4 0016DF54 38 61 00 0C */ addi r3, r1, 0xc
/* 80170FF8 0016DF58 4B F3 43 D9 */ bl sub_800a53d0
/* 80170FFC 0016DF5C 4B F3 43 A9 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80170FF8 0016DF58 4B F3 43 D9 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 80170FFC 0016DF5C 4B F3 43 A9 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80171000 0016DF60 28 03 00 00 */ cmplwi r3, 0
/* 80171004 0016DF64 41 82 00 2C */ beq lbl_80171030
/* 80171008 0016DF68 A0 63 07 B4 */ lhz r3, 0x7b4(r3)

View File

@ -3601,8 +3601,8 @@ lbl_802739AC:
/* 802739BC 0027091C 4B DD 8B B9 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 802739C0 00270920 7C 64 1B 78 */ mr r4, r3
/* 802739C4 00270924 38 61 00 0C */ addi r3, r1, 0xc
/* 802739C8 00270928 4B E3 1B DD */ bl sub_800a55a4
/* 802739CC 0027092C 4B E3 1B AD */ bl "CastTo<11CEnergyBall>__10CPatternedFP7CEntity"
/* 802739C8 00270928 4B E3 1B DD */ bl "__ct__29TPatternedCast<11CEnergyBall>FP7CEntity"
/* 802739CC 0027092C 4B E3 1B AD */ bl "CastTo<11CEnergyBall>__10CPatternedFRC29TPatternedCast<11CEnergyBall>"
/* 802739D0 00270930 7C 7D 1B 79 */ or. r29, r3, r3
/* 802739D4 00270934 41 82 00 64 */ beq lbl_80273A38
/* 802739D8 00270938 38 82 BB D4 */ addi r4, r2, lbl_805AD8F4@sda21
@ -3702,8 +3702,8 @@ lbl_80273AF0:
/* 80273B18 00270A78 4B DD 8A 8D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80273B1C 00270A7C 7C 64 1B 78 */ mr r4, r3
/* 80273B20 00270A80 38 61 00 20 */ addi r3, r1, 0x20
/* 80273B24 00270A84 4B E3 1A 81 */ bl sub_800a55a4
/* 80273B28 00270A88 4B E3 1A 51 */ bl "CastTo<11CEnergyBall>__10CPatternedFP7CEntity"
/* 80273B24 00270A84 4B E3 1A 81 */ bl "__ct__29TPatternedCast<11CEnergyBall>FP7CEntity"
/* 80273B28 00270A88 4B E3 1A 51 */ bl "CastTo<11CEnergyBall>__10CPatternedFRC29TPatternedCast<11CEnergyBall>"
/* 80273B2C 00270A8C 28 03 00 00 */ cmplwi r3, 0
/* 80273B30 00270A90 41 82 01 1C */ beq lbl_80273C4C
/* 80273B34 00270A94 80 03 05 70 */ lwz r0, 0x570(r3)
@ -3721,8 +3721,8 @@ lbl_80273AF0:
/* 80273B64 00270AC4 4B DD 8A 11 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80273B68 00270AC8 7C 64 1B 78 */ mr r4, r3
/* 80273B6C 00270ACC 38 61 00 24 */ addi r3, r1, 0x24
/* 80273B70 00270AD0 4B E3 1A 35 */ bl sub_800a55a4
/* 80273B74 00270AD4 4B E3 1A 05 */ bl "CastTo<11CEnergyBall>__10CPatternedFP7CEntity"
/* 80273B70 00270AD0 4B E3 1A 35 */ bl "__ct__29TPatternedCast<11CEnergyBall>FP7CEntity"
/* 80273B74 00270AD4 4B E3 1A 05 */ bl "CastTo<11CEnergyBall>__10CPatternedFRC29TPatternedCast<11CEnergyBall>"
/* 80273B78 00270AD8 7C 7A 1B 79 */ or. r26, r3, r3
/* 80273B7C 00270ADC 41 82 00 D0 */ beq lbl_80273C4C
/* 80273B80 00270AE0 80 CD A5 84 */ lwz r6, lbl_805A9144@sda21(r13)
@ -3813,8 +3813,8 @@ lbl_80273CA8:
/* 80273CB4 00270C14 7C 60 1B 78 */ mr r0, r3
/* 80273CB8 00270C18 38 61 00 08 */ addi r3, r1, 8
/* 80273CBC 00270C1C 7C 04 03 78 */ mr r4, r0
/* 80273CC0 00270C20 4B E3 18 E5 */ bl sub_800a55a4
/* 80273CC4 00270C24 4B E3 18 B5 */ bl "CastTo<11CEnergyBall>__10CPatternedFP7CEntity"
/* 80273CC0 00270C20 4B E3 18 E5 */ bl "__ct__29TPatternedCast<11CEnergyBall>FP7CEntity"
/* 80273CC4 00270C24 4B E3 18 B5 */ bl "CastTo<11CEnergyBall>__10CPatternedFRC29TPatternedCast<11CEnergyBall>"
/* 80273CC8 00270C28 28 03 00 00 */ cmplwi r3, 0
/* 80273CCC 00270C2C 41 82 00 24 */ beq lbl_80273CF0
/* 80273CD0 00270C30 80 83 00 04 */ lwz r4, 4(r3)

View File

@ -115,8 +115,8 @@ lbl_80280594:
/* 802805A0 0027D500 7C 60 1B 78 */ mr r0, r3
/* 802805A4 0027D504 38 61 00 88 */ addi r3, r1, 0x88
/* 802805A8 0027D508 7C 04 03 78 */ mr r4, r0
/* 802805AC 0027D50C 4B E2 4E C1 */ bl sub_800a546c
/* 802805B0 0027D510 4B E2 4E 91 */ bl "CastTo<16CMetroidPrimeExo>__10CPatternedFP7CEntity"
/* 802805AC 0027D50C 4B E2 4E C1 */ bl "__ct__34TPatternedCast<16CMetroidPrimeExo>FP7CEntity"
/* 802805B0 0027D510 4B E2 4E 91 */ bl "CastTo<16CMetroidPrimeExo>__10CPatternedFRC34TPatternedCast<16CMetroidPrimeExo>"
/* 802805B4 0027D514 28 03 00 00 */ cmplwi r3, 0
/* 802805B8 0027D518 40 82 02 58 */ bne lbl_80280810
/* 802805BC 0027D51C 2C 15 FF FF */ cmpwi r21, -1
@ -301,8 +301,8 @@ ForwardMessageToMetroidPrimeExo__18CMetroidPrimeRelayF20EScriptObjectMessageR13C
/* 80280858 0027D7B8 4B DC BD 1D */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8028085C 0027D7BC 7C 64 1B 78 */ mr r4, r3
/* 80280860 0027D7C0 38 61 00 14 */ addi r3, r1, 0x14
/* 80280864 0027D7C4 4B E2 4C 09 */ bl sub_800a546c
/* 80280868 0027D7C8 4B E2 4B D9 */ bl "CastTo<16CMetroidPrimeExo>__10CPatternedFP7CEntity"
/* 80280864 0027D7C4 4B E2 4C 09 */ bl "__ct__34TPatternedCast<16CMetroidPrimeExo>FP7CEntity"
/* 80280868 0027D7C8 4B E2 4B D9 */ bl "CastTo<16CMetroidPrimeExo>__10CPatternedFRC34TPatternedCast<16CMetroidPrimeExo>"
/* 8028086C 0027D7CC 7C 64 1B 79 */ or. r4, r3, r3
/* 80280870 0027D7D0 41 82 00 30 */ beq lbl_802808A0
/* 80280874 0027D7D4 2C 1E 00 24 */ cmpwi r30, 0x24

View File

@ -903,8 +903,8 @@ lbl_80157210:
/* 80157220 00154180 4B EF 53 55 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80157224 00154184 7C 64 1B 78 */ mr r4, r3
/* 80157228 00154188 38 61 00 0C */ addi r3, r1, 0xc
/* 8015722C 0015418C 4B F4 E2 0D */ bl sub_800a5438
/* 80157230 00154190 4B F4 E1 DD */ bl "CastTo<9CParasite>__10CPatternedFP7CEntity"
/* 8015722C 0015418C 4B F4 E2 0D */ bl "__ct__26TPatternedCast<9CParasite>FP7CEntity"
/* 80157230 00154190 4B F4 E1 DD */ bl "CastTo<9CParasite>__10CPatternedFRC26TPatternedCast<9CParasite>"
/* 80157234 00154194 28 03 00 00 */ cmplwi r3, 0
/* 80157238 00154198 41 82 00 A0 */ beq lbl_801572D8
/* 8015723C 0015419C A0 A3 00 08 */ lhz r5, 8(r3)
@ -1599,8 +1599,8 @@ lbl_80157C2C:
/* 80157C3C 00154B9C 4B EF 49 39 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80157C40 00154BA0 7C 64 1B 78 */ mr r4, r3
/* 80157C44 00154BA4 38 61 00 0C */ addi r3, r1, 0xc
/* 80157C48 00154BA8 4B F4 D7 F1 */ bl sub_800a5438
/* 80157C4C 00154BAC 4B F4 D7 C1 */ bl "CastTo<9CParasite>__10CPatternedFP7CEntity"
/* 80157C48 00154BA8 4B F4 D7 F1 */ bl "__ct__26TPatternedCast<9CParasite>FP7CEntity"
/* 80157C4C 00154BAC 4B F4 D7 C1 */ bl "CastTo<9CParasite>__10CPatternedFRC26TPatternedCast<9CParasite>"
/* 80157C50 00154BB0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80157C54 00154BB4 40 82 00 18 */ bne lbl_80157C6C
/* 80157C58 00154BB8 7F C3 F3 78 */ mr r3, r30

View File

@ -2359,8 +2359,8 @@ lbl_80078C2C:
/* 80078C74 00075BD4 4B FD 39 31 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80078C78 00075BD8 7C 64 1B 78 */ mr r4, r3
/* 80078C7C 00075BDC 38 61 00 10 */ addi r3, r1, 0x10
/* 80078C80 00075BE0 48 02 C8 55 */ bl sub_800a54d4
/* 80078C84 00075BE4 48 02 C8 25 */ bl "CastTo<8CMetroid>__10CPatternedFP7CEntity"
/* 80078C80 00075BE0 48 02 C8 55 */ bl "__ct__25TPatternedCast<8CMetroid>FP7CEntity"
/* 80078C84 00075BE4 48 02 C8 25 */ bl "CastTo<8CMetroid>__10CPatternedFRC25TPatternedCast<8CMetroid>"
/* 80078C88 00075BE8 28 03 00 00 */ cmplwi r3, 0
/* 80078C8C 00075BEC 41 82 00 08 */ beq lbl_80078C94
/* 80078C90 00075BF0 3B 80 00 01 */ li r28, 1

View File

@ -1958,8 +1958,8 @@ lbl_80121514:
/* 8012151C 0011E47C 4B EE E7 C1 */ bl __vc__11CObjectListCFi
/* 80121520 0011E480 7C 64 1B 78 */ mr r4, r3
/* 80121524 0011E484 38 61 00 20 */ addi r3, r1, 0x20
/* 80121528 0011E488 4B F8 3E A9 */ bl sub_800a53d0
/* 8012152C 0011E48C 4B F8 3E 79 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80121528 0011E488 4B F8 3E A9 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8012152C 0011E48C 4B F8 3E 79 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80121530 0011E490 28 03 00 00 */ cmplwi r3, 0
/* 80121534 0011E494 41 82 00 38 */ beq lbl_8012156C
/* 80121538 0011E498 7C 03 E8 40 */ cmplw r3, r29
@ -5259,8 +5259,8 @@ lbl_8012441C:
/* 80124434 00121394 4B F2 81 71 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80124438 00121398 7C 64 1B 78 */ mr r4, r3
/* 8012443C 0012139C 38 61 00 0C */ addi r3, r1, 0xc
/* 80124440 001213A0 4B F8 10 95 */ bl sub_800a54d4
/* 80124444 001213A4 4B F8 10 65 */ bl "CastTo<8CMetroid>__10CPatternedFP7CEntity"
/* 80124440 001213A0 4B F8 10 95 */ bl "__ct__25TPatternedCast<8CMetroid>FP7CEntity"
/* 80124444 001213A4 4B F8 10 65 */ bl "CastTo<8CMetroid>__10CPatternedFRC25TPatternedCast<8CMetroid>"
/* 80124448 001213A8 28 03 00 00 */ cmplwi r3, 0
/* 8012444C 001213AC 41 82 00 68 */ beq lbl_801244B4
/* 80124450 001213B0 88 03 09 BF */ lbz r0, 0x9bf(r3)
@ -7463,8 +7463,8 @@ lbl_80126444:
/* 8012644C 001233AC 4B EE 98 91 */ bl __vc__11CObjectListCFi
/* 80126450 001233B0 7C 64 1B 78 */ mr r4, r3
/* 80126454 001233B4 38 61 00 08 */ addi r3, r1, 8
/* 80126458 001233B8 4B F7 EF 79 */ bl sub_800a53d0
/* 8012645C 001233BC 4B F7 EF 49 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80126458 001233B8 4B F7 EF 79 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8012645C 001233BC 4B F7 EF 49 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80126460 001233C0 28 03 00 00 */ cmplwi r3, 0
/* 80126464 001233C4 41 82 00 84 */ beq lbl_801264E8
/* 80126468 001233C8 7C 03 F8 40 */ cmplw r3, r31
@ -7547,8 +7547,8 @@ lbl_80126574:
/* 8012657C 001234DC 4B EE 97 61 */ bl __vc__11CObjectListCFi
/* 80126580 001234E0 7C 64 1B 78 */ mr r4, r3
/* 80126584 001234E4 38 61 00 08 */ addi r3, r1, 8
/* 80126588 001234E8 4B F7 EE 49 */ bl sub_800a53d0
/* 8012658C 001234EC 4B F7 EE 19 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80126588 001234E8 4B F7 EE 49 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8012658C 001234EC 4B F7 EE 19 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80126590 001234F0 28 03 00 00 */ cmplwi r3, 0
/* 80126594 001234F4 41 82 00 2C */ beq lbl_801265C0
/* 80126598 001234F8 7C 03 E0 40 */ cmplw r3, r28
@ -8417,8 +8417,8 @@ lbl_801271F4:
/* 801271FC 0012415C 4B EE 8A E1 */ bl __vc__11CObjectListCFi
/* 80127200 00124160 7C 64 1B 78 */ mr r4, r3
/* 80127204 00124164 38 61 00 18 */ addi r3, r1, 0x18
/* 80127208 00124168 4B F7 E1 C9 */ bl sub_800a53d0
/* 8012720C 0012416C 4B F7 E1 99 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80127208 00124168 4B F7 E1 C9 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8012720C 0012416C 4B F7 E1 99 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80127210 00124170 28 03 00 00 */ cmplwi r3, 0
/* 80127214 00124174 41 82 00 98 */ beq lbl_801272AC
/* 80127218 00124178 7C 03 F0 40 */ cmplw r3, r30
@ -9906,8 +9906,8 @@ lbl_80128724:
/* 8012872C 0012568C 4B EE 75 B1 */ bl __vc__11CObjectListCFi
/* 80128730 00125690 7C 64 1B 78 */ mr r4, r3
/* 80128734 00125694 38 61 00 08 */ addi r3, r1, 8
/* 80128738 00125698 4B F7 CC 99 */ bl sub_800a53d0
/* 8012873C 0012569C 4B F7 CC 69 */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80128738 00125698 4B F7 CC 99 */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 8012873C 0012569C 4B F7 CC 69 */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80128740 001256A0 28 03 00 00 */ cmplwi r3, 0
/* 80128744 001256A4 41 82 00 D8 */ beq lbl_8012881C
/* 80128748 001256A8 7C 03 C8 40 */ cmplw r3, r25
@ -10296,8 +10296,8 @@ lbl_80128C94:
/* 80128CE8 00125C48 40 82 00 BC */ bne lbl_80128DA4
/* 80128CEC 00125C4C 7F 84 E3 78 */ mr r4, r28
/* 80128CF0 00125C50 38 61 00 08 */ addi r3, r1, 8
/* 80128CF4 00125C54 4B F7 C6 DD */ bl sub_800a53d0
/* 80128CF8 00125C58 4B F7 C6 AD */ bl "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
/* 80128CF4 00125C54 4B F7 C6 DD */ bl "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
/* 80128CF8 00125C58 4B F7 C6 AD */ bl "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
/* 80128CFC 00125C5C 28 03 00 00 */ cmplwi r3, 0
/* 80128D00 00125C60 41 82 00 A4 */ beq lbl_80128DA4
/* 80128D04 00125C64 C0 03 07 48 */ lfs f0, 0x748(r3)

View File

@ -1374,8 +1374,8 @@ lbl_801DB2A4:
/* 801DB2B8 001D8218 4B E7 12 BD */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801DB2BC 001D821C 7C 64 1B 78 */ mr r4, r3
/* 801DB2C0 001D8220 38 61 00 0C */ addi r3, r1, 0xc
/* 801DB2C4 001D8224 4B EC A0 D9 */ bl sub_800a539c
/* 801DB2C8 001D8228 4B EC A0 A9 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFP7CEntity"
/* 801DB2C4 001D8224 4B EC A0 D9 */ bl "__ct__40TPatternedCast<22CThardusRockProjectile>FP7CEntity"
/* 801DB2C8 001D8228 4B EC A0 A9 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFRC40TPatternedCast<22CThardusRockProjectile>"
/* 801DB2CC 001D822C 28 03 00 00 */ cmplwi r3, 0
/* 801DB2D0 001D8230 41 82 00 0C */ beq lbl_801DB2DC
/* 801DB2D4 001D8234 7F 84 E3 78 */ mr r4, r28
@ -3316,8 +3316,8 @@ lbl_801DCDBC:
/* 801DCDD0 001D9D30 4B E6 F7 A5 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801DCDD4 001D9D34 7C 64 1B 78 */ mr r4, r3
/* 801DCDD8 001D9D38 38 61 00 0C */ addi r3, r1, 0xc
/* 801DCDDC 001D9D3C 4B EC 85 C1 */ bl sub_800a539c
/* 801DCDE0 001D9D40 4B EC 85 91 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFP7CEntity"
/* 801DCDDC 001D9D3C 4B EC 85 C1 */ bl "__ct__40TPatternedCast<22CThardusRockProjectile>FP7CEntity"
/* 801DCDE0 001D9D40 4B EC 85 91 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFRC40TPatternedCast<22CThardusRockProjectile>"
/* 801DCDE4 001D9D44 28 03 00 00 */ cmplwi r3, 0
/* 801DCDE8 001D9D48 41 82 00 0C */ beq lbl_801DCDF4
/* 801DCDEC 001D9D4C 7F 64 DB 78 */ mr r4, r27
@ -7290,8 +7290,8 @@ lbl_801E0640:
/* 801E0674 001DD5D4 4B E6 BF 01 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801E0678 001DD5D8 7C 64 1B 78 */ mr r4, r3
/* 801E067C 001DD5DC 38 61 00 88 */ addi r3, r1, 0x88
/* 801E0680 001DD5E0 4B EC 4D 1D */ bl sub_800a539c
/* 801E0684 001DD5E4 4B EC 4C ED */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFP7CEntity"
/* 801E0680 001DD5E0 4B EC 4D 1D */ bl "__ct__40TPatternedCast<22CThardusRockProjectile>FP7CEntity"
/* 801E0684 001DD5E4 4B EC 4C ED */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFRC40TPatternedCast<22CThardusRockProjectile>"
/* 801E0688 001DD5E8 7C 7A 1B 79 */ or. r26, r3, r3
/* 801E068C 001DD5EC 41 82 02 9C */ beq lbl_801E0928
/* 801E0690 001DD5F0 81 83 00 00 */ lwz r12, 0(r3)
@ -8597,8 +8597,8 @@ lbl_801E195C:
/* 801E196C 001DE8CC 4B E6 AC 09 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 801E1970 001DE8D0 7C 64 1B 78 */ mr r4, r3
/* 801E1974 001DE8D4 38 61 00 E4 */ addi r3, r1, 0xe4
/* 801E1978 001DE8D8 4B EC 3A 25 */ bl sub_800a539c
/* 801E197C 001DE8DC 4B EC 39 F5 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFP7CEntity"
/* 801E1978 001DE8D8 4B EC 3A 25 */ bl "__ct__40TPatternedCast<22CThardusRockProjectile>FP7CEntity"
/* 801E197C 001DE8DC 4B EC 39 F5 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFRC40TPatternedCast<22CThardusRockProjectile>"
/* 801E1980 001DE8E0 28 03 00 00 */ cmplwi r3, 0
/* 801E1984 001DE8E4 41 82 00 2C */ beq lbl_801E19B0
/* 801E1988 001DE8E8 A0 01 00 C4 */ lhz r0, 0xc4(r1)

View File

@ -511,8 +511,8 @@ UpdateTelegraphMoveSpeed__8CWarWaspFR13CStateManager:
/* 8010AE18 00107D78 4B F4 17 8D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010AE1C 00107D7C 7C 64 1B 78 */ mr r4, r3
/* 8010AE20 00107D80 38 61 00 14 */ addi r3, r1, 0x14
/* 8010AE24 00107D84 4B F9 A5 45 */ bl sub_800a5368
/* 8010AE28 00107D88 4B F9 A5 15 */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010AE24 00107D84 4B F9 A5 45 */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010AE28 00107D88 4B F9 A5 15 */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010AE2C 00107D8C 28 03 00 00 */ cmplwi r3, 0
/* 8010AE30 00107D90 41 82 00 A4 */ beq lbl_8010AED4
/* 8010AE34 00107D94 A0 81 00 10 */ lhz r4, 0x10(r1)
@ -659,8 +659,8 @@ lbl_8010B014:
/* 8010B028 00107F88 4B F4 15 7D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010B02C 00107F8C 7C 64 1B 78 */ mr r4, r3
/* 8010B030 00107F90 38 61 00 1C */ addi r3, r1, 0x1c
/* 8010B034 00107F94 4B F9 A3 35 */ bl sub_800a5368
/* 8010B038 00107F98 4B F9 A3 05 */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010B034 00107F94 4B F9 A3 35 */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010B038 00107F98 4B F9 A3 05 */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010B03C 00107F9C 28 03 00 00 */ cmplwi r3, 0
/* 8010B040 00107FA0 41 82 00 14 */ beq lbl_8010B054
/* 8010B044 00107FA4 80 03 07 08 */ lwz r0, 0x708(r3)
@ -724,8 +724,8 @@ lbl_8010B0FC:
/* 8010B110 00108070 4B F4 14 95 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010B114 00108074 7C 64 1B 78 */ mr r4, r3
/* 8010B118 00108078 38 61 00 1C */ addi r3, r1, 0x1c
/* 8010B11C 0010807C 4B F9 A2 4D */ bl sub_800a5368
/* 8010B120 00108080 4B F9 A2 1D */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010B11C 0010807C 4B F9 A2 4D */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010B120 00108080 4B F9 A2 1D */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010B124 00108084 28 03 00 00 */ cmplwi r3, 0
/* 8010B128 00108088 41 82 00 1C */ beq lbl_8010B144
/* 8010B12C 0010808C 80 03 07 08 */ lwz r0, 0x708(r3)
@ -809,8 +809,8 @@ lbl_8010B230:
/* 8010B244 001081A4 4B F4 13 31 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 8010B248 001081A8 7C 64 1B 78 */ mr r4, r3
/* 8010B24C 001081AC 38 61 00 20 */ addi r3, r1, 0x20
/* 8010B250 001081B0 4B F9 A1 19 */ bl sub_800a5368
/* 8010B254 001081B4 4B F9 A0 E9 */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010B250 001081B0 4B F9 A1 19 */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010B254 001081B4 4B F9 A0 E9 */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010B258 001081B8 28 03 00 00 */ cmplwi r3, 0
/* 8010B25C 001081BC 41 82 00 1C */ beq lbl_8010B278
/* 8010B260 001081C0 80 03 07 08 */ lwz r0, 0x708(r3)
@ -882,8 +882,8 @@ lbl_8010B338:
/* 8010B34C 001082AC 4B F4 12 59 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010B350 001082B0 7C 64 1B 78 */ mr r4, r3
/* 8010B354 001082B4 38 61 00 1C */ addi r3, r1, 0x1c
/* 8010B358 001082B8 4B F9 A0 11 */ bl sub_800a5368
/* 8010B35C 001082BC 4B F9 9F E1 */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010B358 001082B8 4B F9 A0 11 */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010B35C 001082BC 4B F9 9F E1 */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010B360 001082C0 28 03 00 00 */ cmplwi r3, 0
/* 8010B364 001082C4 41 82 00 58 */ beq lbl_8010B3BC
/* 8010B368 001082C8 80 9A 07 0C */ lwz r4, 0x70c(r26)
@ -1002,8 +1002,8 @@ lbl_8010B4D4:
/* 8010B4FC 0010845C 4B F4 10 A9 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010B500 00108460 7C 64 1B 78 */ mr r4, r3
/* 8010B504 00108464 38 61 00 24 */ addi r3, r1, 0x24
/* 8010B508 00108468 4B F9 9E 61 */ bl sub_800a5368
/* 8010B50C 0010846C 4B F9 9E 31 */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010B508 00108468 4B F9 9E 61 */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010B50C 0010846C 4B F9 9E 31 */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010B510 00108470 28 03 00 00 */ cmplwi r3, 0
/* 8010B514 00108474 41 82 01 60 */ beq lbl_8010B674
/* 8010B518 00108478 C3 A3 00 60 */ lfs f29, 0x60(r3)
@ -1036,8 +1036,8 @@ lbl_8010B564:
/* 8010B580 001084E0 4B F4 10 25 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010B584 001084E4 7C 64 1B 78 */ mr r4, r3
/* 8010B588 001084E8 38 61 00 20 */ addi r3, r1, 0x20
/* 8010B58C 001084EC 4B F9 9D DD */ bl sub_800a5368
/* 8010B590 001084F0 4B F9 9D AD */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010B58C 001084EC 4B F9 9D DD */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010B590 001084F0 4B F9 9D AD */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010B594 001084F4 28 03 00 00 */ cmplwi r3, 0
/* 8010B598 001084F8 41 82 00 84 */ beq lbl_8010B61C
/* 8010B59C 001084FC 80 03 07 08 */ lwz r0, 0x708(r3)
@ -1249,8 +1249,8 @@ lbl_8010B87C:
/* 8010B89C 001087FC 4B F4 0D 09 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010B8A0 00108800 7C 64 1B 78 */ mr r4, r3
/* 8010B8A4 00108804 38 61 00 20 */ addi r3, r1, 0x20
/* 8010B8A8 00108808 4B F9 9A C1 */ bl sub_800a5368
/* 8010B8AC 0010880C 4B F9 9A 91 */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010B8A8 00108808 4B F9 9A C1 */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010B8AC 0010880C 4B F9 9A 91 */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010B8B0 00108810 28 03 00 00 */ cmplwi r3, 0
/* 8010B8B4 00108814 41 82 00 8C */ beq lbl_8010B940
/* 8010B8B8 00108818 80 83 07 08 */ lwz r4, 0x708(r3)
@ -2190,8 +2190,8 @@ lbl_8010C65C:
/* 8010C66C 001095CC 4B F3 FF 39 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010C670 001095D0 7C 64 1B 78 */ mr r4, r3
/* 8010C674 001095D4 38 61 00 0C */ addi r3, r1, 0xc
/* 8010C678 001095D8 4B F9 8C F1 */ bl sub_800a5368
/* 8010C67C 001095DC 4B F9 8C C1 */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010C678 001095D8 4B F9 8C F1 */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010C67C 001095DC 4B F9 8C C1 */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010C680 001095E0 7C 7D 1B 79 */ or. r29, r3, r3
/* 8010C684 001095E4 41 82 01 14 */ beq lbl_8010C798
/* 8010C688 001095E8 A0 7D 00 08 */ lhz r3, 8(r29)
@ -5825,8 +5825,8 @@ lbl_8010FB08:
/* 8010FB14 0010CA74 4B F3 CA 91 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8010FB18 0010CA78 7C 64 1B 78 */ mr r4, r3
/* 8010FB1C 0010CA7C 38 61 00 30 */ addi r3, r1, 0x30
/* 8010FB20 0010CA80 4B F9 58 49 */ bl sub_800a5368
/* 8010FB24 0010CA84 4B F9 58 19 */ bl "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
/* 8010FB20 0010CA80 4B F9 58 49 */ bl "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
/* 8010FB24 0010CA84 4B F9 58 19 */ bl "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
/* 8010FB28 0010CA88 28 03 00 00 */ cmplwi r3, 0
/* 8010FB2C 0010CA8C 41 82 00 3C */ beq lbl_8010FB68
/* 8010FB30 0010CA90 88 03 07 2E */ lbz r0, 0x72e(r3)

View File

@ -2,8 +2,8 @@
.section .text, "ax"
.global "CastTo<8CWarWasp>__10CPatternedFP7CEntity"
"CastTo<8CWarWasp>__10CPatternedFP7CEntity":
.global "CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>"
"CastTo<8CWarWasp>__10CPatternedFRC25TPatternedCast<8CWarWasp>":
/* 800A533C 000A229C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A5340 000A22A0 7C 08 02 A6 */ mflr r0
/* 800A5344 000A22A4 7C 64 1B 78 */ mr r4, r3
@ -16,13 +16,13 @@
/* 800A5360 000A22C0 38 21 00 10 */ addi r1, r1, 0x10
/* 800A5364 000A22C4 4E 80 00 20 */ blr
.global sub_800a5368
sub_800a5368:
.global "__ct__25TPatternedCast<8CWarWasp>FP7CEntity"
"__ct__25TPatternedCast<8CWarWasp>FP7CEntity":
/* 800A5368 000A22C8 90 83 00 00 */ stw r4, 0(r3)
/* 800A536C 000A22CC 4E 80 00 20 */ blr
.global "CastTo<22CThardusRockProjectile>__10CPatternedFP7CEntity"
"CastTo<22CThardusRockProjectile>__10CPatternedFP7CEntity":
.global "CastTo<22CThardusRockProjectile>__10CPatternedFRC40TPatternedCast<22CThardusRockProjectile>"
"CastTo<22CThardusRockProjectile>__10CPatternedFRC40TPatternedCast<22CThardusRockProjectile>":
/* 800A5370 000A22D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A5374 000A22D4 7C 08 02 A6 */ mflr r0
/* 800A5378 000A22D8 7C 64 1B 78 */ mr r4, r3
@ -35,13 +35,13 @@ sub_800a5368:
/* 800A5394 000A22F4 38 21 00 10 */ addi r1, r1, 0x10
/* 800A5398 000A22F8 4E 80 00 20 */ blr
.global sub_800a539c
sub_800a539c:
.global "__ct__40TPatternedCast<22CThardusRockProjectile>FP7CEntity"
"__ct__40TPatternedCast<22CThardusRockProjectile>FP7CEntity":
/* 800A539C 000A22FC 90 83 00 00 */ stw r4, 0(r3)
/* 800A53A0 000A2300 4E 80 00 20 */ blr
.global "CastTo<12CSpacePirate>__10CPatternedFP7CEntity"
"CastTo<12CSpacePirate>__10CPatternedFP7CEntity":
.global "CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>"
"CastTo<12CSpacePirate>__10CPatternedFRC30TPatternedCast<12CSpacePirate>":
/* 800A53A4 000A2304 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A53A8 000A2308 7C 08 02 A6 */ mflr r0
/* 800A53AC 000A230C 7C 64 1B 78 */ mr r4, r3
@ -54,13 +54,13 @@ sub_800a539c:
/* 800A53C8 000A2328 38 21 00 10 */ addi r1, r1, 0x10
/* 800A53CC 000A232C 4E 80 00 20 */ blr
.global sub_800a53d0
sub_800a53d0:
.global "__ct__30TPatternedCast<12CSpacePirate>FP7CEntity"
"__ct__30TPatternedCast<12CSpacePirate>FP7CEntity":
/* 800A53D0 000A2330 90 83 00 00 */ stw r4, 0(r3)
/* 800A53D4 000A2334 4E 80 00 20 */ blr
.global "CastTo<11CPuddleToad>__10CPatternedFP7CEntity"
"CastTo<11CPuddleToad>__10CPatternedFP7CEntity":
.global "CastTo<11CPuddleToad>__10CPatternedFRC29TPatternedCast<11CPuddleToad>"
"CastTo<11CPuddleToad>__10CPatternedFRC29TPatternedCast<11CPuddleToad>":
/* 800A53D8 000A2338 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A53DC 000A233C 7C 08 02 A6 */ mflr r0
/* 800A53E0 000A2340 7C 64 1B 78 */ mr r4, r3
@ -73,13 +73,13 @@ sub_800a53d0:
/* 800A53FC 000A235C 38 21 00 10 */ addi r1, r1, 0x10
/* 800A5400 000A2360 4E 80 00 20 */ blr
.global sub_800a5404
sub_800a5404:
.global "__ct__29TPatternedCast<11CPuddleToad>FP7CEntity"
"__ct__29TPatternedCast<11CPuddleToad>FP7CEntity":
/* 800A5404 000A2364 90 83 00 00 */ stw r4, 0(r3)
/* 800A5408 000A2368 4E 80 00 20 */ blr
.global "CastTo<9CParasite>__10CPatternedFP7CEntity"
"CastTo<9CParasite>__10CPatternedFP7CEntity":
.global "CastTo<9CParasite>__10CPatternedFRC26TPatternedCast<9CParasite>"
"CastTo<9CParasite>__10CPatternedFRC26TPatternedCast<9CParasite>":
/* 800A540C 000A236C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A5410 000A2370 7C 08 02 A6 */ mflr r0
/* 800A5414 000A2374 7C 64 1B 78 */ mr r4, r3
@ -92,13 +92,13 @@ sub_800a5404:
/* 800A5430 000A2390 38 21 00 10 */ addi r1, r1, 0x10
/* 800A5434 000A2394 4E 80 00 20 */ blr
.global sub_800a5438
sub_800a5438:
.global "__ct__26TPatternedCast<9CParasite>FP7CEntity"
"__ct__26TPatternedCast<9CParasite>FP7CEntity":
/* 800A5438 000A2398 90 83 00 00 */ stw r4, 0(r3)
/* 800A543C 000A239C 4E 80 00 20 */ blr
.global "CastTo<16CMetroidPrimeExo>__10CPatternedFP7CEntity"
"CastTo<16CMetroidPrimeExo>__10CPatternedFP7CEntity":
.global "CastTo<16CMetroidPrimeExo>__10CPatternedFRC34TPatternedCast<16CMetroidPrimeExo>"
"CastTo<16CMetroidPrimeExo>__10CPatternedFRC34TPatternedCast<16CMetroidPrimeExo>":
/* 800A5440 000A23A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A5444 000A23A4 7C 08 02 A6 */ mflr r0
/* 800A5448 000A23A8 7C 64 1B 78 */ mr r4, r3
@ -111,13 +111,13 @@ sub_800a5438:
/* 800A5464 000A23C4 38 21 00 10 */ addi r1, r1, 0x10
/* 800A5468 000A23C8 4E 80 00 20 */ blr
.global sub_800a546c
sub_800a546c:
.global "__ct__34TPatternedCast<16CMetroidPrimeExo>FP7CEntity"
"__ct__34TPatternedCast<16CMetroidPrimeExo>FP7CEntity":
/* 800A546C 000A23CC 90 83 00 00 */ stw r4, 0(r3)
/* 800A5470 000A23D0 4E 80 00 20 */ blr
.global "CastTo<12CMetroidBeta>__10CPatternedFP7CEntity"
"CastTo<12CMetroidBeta>__10CPatternedFP7CEntity":
.global "CastTo<12CMetroidBeta>__10CPatternedFRC30TPatternedCast<12CMetroidBeta>"
"CastTo<12CMetroidBeta>__10CPatternedFRC30TPatternedCast<12CMetroidBeta>":
/* 800A5474 000A23D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A5478 000A23D8 7C 08 02 A6 */ mflr r0
/* 800A547C 000A23DC 7C 64 1B 78 */ mr r4, r3
@ -130,13 +130,13 @@ sub_800a546c:
/* 800A5498 000A23F8 38 21 00 10 */ addi r1, r1, 0x10
/* 800A549C 000A23FC 4E 80 00 20 */ blr
.global sub_800a54a0
sub_800a54a0:
.global "__ct__30TPatternedCast<12CMetroidBeta>FP7CEntity"
"__ct__30TPatternedCast<12CMetroidBeta>FP7CEntity":
/* 800A54A0 000A2400 90 83 00 00 */ stw r4, 0(r3)
/* 800A54A4 000A2404 4E 80 00 20 */ blr
.global "CastTo<8CMetroid>__10CPatternedFP7CEntity"
"CastTo<8CMetroid>__10CPatternedFP7CEntity":
.global "CastTo<8CMetroid>__10CPatternedFRC25TPatternedCast<8CMetroid>"
"CastTo<8CMetroid>__10CPatternedFRC25TPatternedCast<8CMetroid>":
/* 800A54A8 000A2408 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A54AC 000A240C 7C 08 02 A6 */ mflr r0
/* 800A54B0 000A2410 7C 64 1B 78 */ mr r4, r3
@ -149,13 +149,13 @@ sub_800a54a0:
/* 800A54CC 000A242C 38 21 00 10 */ addi r1, r1, 0x10
/* 800A54D0 000A2430 4E 80 00 20 */ blr
.global sub_800a54d4
sub_800a54d4:
.global "__ct__25TPatternedCast<8CMetroid>FP7CEntity"
"__ct__25TPatternedCast<8CMetroid>FP7CEntity":
/* 800A54D4 000A2434 90 83 00 00 */ stw r4, 0(r3)
/* 800A54D8 000A2438 4E 80 00 20 */ blr
.global "CastTo<9CJellyZap>__10CPatternedFP7CEntity"
"CastTo<9CJellyZap>__10CPatternedFP7CEntity":
.global "CastTo<9CJellyZap>__10CPatternedFRC26TPatternedCast<9CJellyZap>"
"CastTo<9CJellyZap>__10CPatternedFRC26TPatternedCast<9CJellyZap>":
/* 800A54DC 000A243C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A54E0 000A2440 7C 08 02 A6 */ mflr r0
/* 800A54E4 000A2444 7C 64 1B 78 */ mr r4, r3
@ -168,13 +168,13 @@ sub_800a54d4:
/* 800A5500 000A2460 38 21 00 10 */ addi r1, r1, 0x10
/* 800A5504 000A2464 4E 80 00 20 */ blr
.global sub_800a5508
sub_800a5508:
.global "__ct__26TPatternedCast<9CJellyZap>FP7CEntity"
"__ct__26TPatternedCast<9CJellyZap>FP7CEntity":
/* 800A5508 000A2468 90 83 00 00 */ stw r4, 0(r3)
/* 800A550C 000A246C 4E 80 00 20 */ blr
.global "CastTo<12CIceSheegoth>__10CPatternedFP7CEntity"
"CastTo<12CIceSheegoth>__10CPatternedFP7CEntity":
.global "CastTo<12CIceSheegoth>__10CPatternedFRC30TPatternedCast<12CIceSheegoth>"
"CastTo<12CIceSheegoth>__10CPatternedFRC30TPatternedCast<12CIceSheegoth>":
/* 800A5510 000A2470 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A5514 000A2474 7C 08 02 A6 */ mflr r0
/* 800A5518 000A2478 7C 64 1B 78 */ mr r4, r3
@ -187,13 +187,13 @@ sub_800a5508:
/* 800A5534 000A2494 38 21 00 10 */ addi r1, r1, 0x10
/* 800A5538 000A2498 4E 80 00 20 */ blr
.global sub_800a553c
sub_800a553c:
.global "__ct__30TPatternedCast<12CIceSheegoth>FP7CEntity"
"__ct__30TPatternedCast<12CIceSheegoth>FP7CEntity":
/* 800A553C 000A249C 90 83 00 00 */ stw r4, 0(r3)
/* 800A5540 000A24A0 4E 80 00 20 */ blr
.global "CastTo<11CFlickerBat>__10CPatternedFP7CEntity"
"CastTo<11CFlickerBat>__10CPatternedFP7CEntity":
.global "CastTo<11CFlickerBat>__10CPatternedFRC29TPatternedCast<11CFlickerBat>"
"CastTo<11CFlickerBat>__10CPatternedFRC29TPatternedCast<11CFlickerBat>":
/* 800A5544 000A24A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A5548 000A24A8 7C 08 02 A6 */ mflr r0
/* 800A554C 000A24AC 7C 64 1B 78 */ mr r4, r3
@ -206,13 +206,13 @@ sub_800a553c:
/* 800A5568 000A24C8 38 21 00 10 */ addi r1, r1, 0x10
/* 800A556C 000A24CC 4E 80 00 20 */ blr
.global sub_800a5570
sub_800a5570:
.global "__ct__29TPatternedCast<11CFlickerBat>FP7CEntity"
"__ct__29TPatternedCast<11CFlickerBat>FP7CEntity":
/* 800A5570 000A24D0 90 83 00 00 */ stw r4, 0(r3)
/* 800A5574 000A24D4 4E 80 00 20 */ blr
.global "CastTo<11CEnergyBall>__10CPatternedFP7CEntity"
"CastTo<11CEnergyBall>__10CPatternedFP7CEntity":
.global "CastTo<11CEnergyBall>__10CPatternedFRC29TPatternedCast<11CEnergyBall>"
"CastTo<11CEnergyBall>__10CPatternedFRC29TPatternedCast<11CEnergyBall>":
/* 800A5578 000A24D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A557C 000A24DC 7C 08 02 A6 */ mflr r0
/* 800A5580 000A24E0 7C 64 1B 78 */ mr r4, r3
@ -225,8 +225,8 @@ sub_800a5570:
/* 800A559C 000A24FC 38 21 00 10 */ addi r1, r1, 0x10
/* 800A55A0 000A2500 4E 80 00 20 */ blr
.global sub_800a55a4
sub_800a55a4:
.global "__ct__29TPatternedCast<11CEnergyBall>FP7CEntity"
"__ct__29TPatternedCast<11CEnergyBall>FP7CEntity":
/* 800A55A4 000A2504 90 83 00 00 */ stw r4, 0(r3)
/* 800A55A8 000A2508 4E 80 00 20 */ blr

View File

@ -2581,8 +2581,8 @@ lbl_800EF064:
/* 800EF078 000EBFD8 4B F5 D5 2D */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 800EF07C 000EBFDC 7C 64 1B 78 */ mr r4, r3
/* 800EF080 000EBFE0 38 61 00 10 */ addi r3, r1, 0x10
/* 800EF084 000EBFE4 4B FB 64 1D */ bl sub_800a54a0
/* 800EF088 000EBFE8 4B FB 63 ED */ bl "CastTo<12CMetroidBeta>__10CPatternedFP7CEntity"
/* 800EF084 000EBFE4 4B FB 64 1D */ bl "__ct__30TPatternedCast<12CMetroidBeta>FP7CEntity"
/* 800EF088 000EBFE8 4B FB 63 ED */ bl "CastTo<12CMetroidBeta>__10CPatternedFRC30TPatternedCast<12CMetroidBeta>"
/* 800EF08C 000EBFEC 28 03 00 00 */ cmplwi r3, 0
/* 800EF090 000EBFF0 41 82 00 0C */ beq lbl_800EF09C
/* 800EF094 000EBFF4 48 0D 65 D5 */ bl RenderHitBallEffect__12CMetroidBetaCFv

View File

@ -3868,8 +3868,8 @@ lbl_80012A20:
/* 80012A34 0000F994 48 03 9B 71 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 80012A38 0000F998 7C 64 1B 78 */ mr r4, r3
/* 80012A3C 0000F99C 38 61 00 10 */ addi r3, r1, 0x10
/* 80012A40 0000F9A0 48 09 2A 61 */ bl sub_800a54a0
/* 80012A44 0000F9A4 48 09 2A 31 */ bl "CastTo<12CMetroidBeta>__10CPatternedFP7CEntity"
/* 80012A40 0000F9A0 48 09 2A 61 */ bl "__ct__30TPatternedCast<12CMetroidBeta>FP7CEntity"
/* 80012A44 0000F9A4 48 09 2A 31 */ bl "CastTo<12CMetroidBeta>__10CPatternedFRC30TPatternedCast<12CMetroidBeta>"
/* 80012A48 0000F9A8 28 03 00 00 */ cmplwi r3, 0
/* 80012A4C 0000F9AC 41 82 00 0C */ beq lbl_80012A58
/* 80012A50 0000F9B0 38 60 00 01 */ li r3, 1

View File

@ -2449,8 +2449,8 @@ lbl_8003C340:
/* 8003C354 000392B4 48 01 02 51 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8003C358 000392B8 7C 64 1B 78 */ mr r4, r3
/* 8003C35C 000392BC 38 61 00 14 */ addi r3, r1, 0x14
/* 8003C360 000392C0 48 06 91 41 */ bl sub_800a54a0
/* 8003C364 000392C4 48 06 91 11 */ bl "CastTo<12CMetroidBeta>__10CPatternedFP7CEntity"
/* 8003C360 000392C0 48 06 91 41 */ bl "__ct__30TPatternedCast<12CMetroidBeta>FP7CEntity"
/* 8003C364 000392C4 48 06 91 11 */ bl "CastTo<12CMetroidBeta>__10CPatternedFRC30TPatternedCast<12CMetroidBeta>"
/* 8003C368 000392C8 28 03 00 00 */ cmplwi r3, 0
/* 8003C36C 000392CC 41 82 00 0C */ beq lbl_8003C378
/* 8003C370 000392D0 48 18 92 BD */ bl RenderHitGunEffect__12CMetroidBetaCFv
@ -2838,8 +2838,8 @@ lbl_8003C894:
/* 8003C8FC 0003985C 48 00 FC A9 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8003C900 00039860 7C 64 1B 78 */ mr r4, r3
/* 8003C904 00039864 38 61 00 34 */ addi r3, r1, 0x34
/* 8003C908 00039868 48 06 8B CD */ bl sub_800a54d4
/* 8003C90C 0003986C 48 06 8B 9D */ bl "CastTo<8CMetroid>__10CPatternedFP7CEntity"
/* 8003C908 00039868 48 06 8B CD */ bl "__ct__25TPatternedCast<8CMetroid>FP7CEntity"
/* 8003C90C 0003986C 48 06 8B 9D */ bl "CastTo<8CMetroid>__10CPatternedFRC25TPatternedCast<8CMetroid>"
/* 8003C910 00039870 7C 03 00 D0 */ neg r0, r3
/* 8003C914 00039874 7C 00 1B 78 */ or r0, r0, r3
/* 8003C918 00039878 54 19 0F FE */ srwi r25, r0, 0x1f

View File

@ -2501,8 +2501,8 @@ SetOrbitTargetId__7CPlayerF9TUniqueIdR13CStateManager:
/* 8017B670 001785D0 4B ED 0F 35 */ bl GetObjectById__13CStateManagerCF9TUniqueId
/* 8017B674 001785D4 7C 64 1B 78 */ mr r4, r3
/* 8017B678 001785D8 38 61 00 18 */ addi r3, r1, 0x18
/* 8017B67C 001785DC 4B F2 9D 21 */ bl sub_800a539c
/* 8017B680 001785E0 4B F2 9C F1 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFP7CEntity"
/* 8017B67C 001785DC 4B F2 9D 21 */ bl "__ct__40TPatternedCast<22CThardusRockProjectile>FP7CEntity"
/* 8017B680 001785E0 4B F2 9C F1 */ bl "CastTo<22CThardusRockProjectile>__10CPatternedFRC40TPatternedCast<22CThardusRockProjectile>"
/* 8017B684 001785E4 A0 1E 00 00 */ lhz r0, 0(r30)
/* 8017B688 001785E8 7C 7C 1B 78 */ mr r28, r3
/* 8017B68C 001785EC 7F E3 FB 78 */ mr r3, r31

View File

@ -436,8 +436,8 @@ lbl_802614D4:
/* 80261500 0025E460 40 82 00 1C */ bne lbl_8026151C
/* 80261504 0025E464 7F C4 F3 78 */ mr r4, r30
/* 80261508 0025E468 38 61 00 08 */ addi r3, r1, 8
/* 8026150C 0025E46C 4B E4 3E F9 */ bl sub_800a5404
/* 80261510 0025E470 4B E4 3E C9 */ bl "CastTo<11CPuddleToad>__10CPatternedFP7CEntity"
/* 8026150C 0025E46C 4B E4 3E F9 */ bl "__ct__29TPatternedCast<11CPuddleToad>FP7CEntity"
/* 80261510 0025E470 4B E4 3E C9 */ bl "CastTo<11CPuddleToad>__10CPatternedFRC29TPatternedCast<11CPuddleToad>"
/* 80261514 0025E474 28 03 00 00 */ cmplwi r3, 0
/* 80261518 0025E478 41 82 00 0C */ beq lbl_80261524
lbl_8026151C:

View File

@ -105,7 +105,7 @@ LIBS = [
["MetroidPrime/ScriptObjects/CScriptCounter", True],
"MetroidPrime/CMapWorld",
"MetroidPrime/Enemies/CAi",
"MetroidPrime/Enemies/PatternedCastTo",
["MetroidPrime/Enemies/PatternedCastTo", True],
["MetroidPrime/TCastTo", True],
"MetroidPrime/ScriptObjects/CScriptSound",
["MetroidPrime/ScriptObjects/CScriptPlatform", False],

View File

@ -0,0 +1,10 @@
#ifndef _CENERGYBALL
#define _CENERGYBALL
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CEnergyBall : public CPatterned {
};
#endif // _CENERGYBALL

View File

@ -0,0 +1,8 @@
#ifndef _CFLICKERBAT
#define _CFLICKERBAT
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CFlickerBat : public CPatterned {};
#endif // _CFLICKERBAT

View File

@ -0,0 +1,8 @@
#ifndef _CICESHEEGOTH
#define _CICESHEEGOTH
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CIceSheegoth : public CPatterned {};
#endif // _CICESHEEGOTH

View File

@ -0,0 +1,10 @@
#ifndef _CJELLYZAP
#define _CJELLYZAP
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CJellyZap : public CPatterned {
};
#endif // _CJELLYZAP

View File

@ -0,0 +1,10 @@
#ifndef _CMETROID
#define _CMETROID
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CMetroid : public CPatterned {
};
#endif // _CMETROID

View File

@ -0,0 +1,10 @@
#ifndef _CMETROIDBETA
#define _CMETROIDBETA
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CMetroidBeta : public CPatterned {
};
#endif // _CMETROIDBETA

View File

@ -0,0 +1,10 @@
#ifndef _CMETROIDPRIMEEXO
#define _CMETROIDPRIMEEXO
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CMetroidPrimeExo : public CPatterned {
};
#endif // _CMETROIDPRIMEEXO

View File

@ -0,0 +1,10 @@
#ifndef _CPARASITE
#define _CPARASITE
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CParasite : public CPatterned {
};
#endif // _CPARASITE

View File

@ -3,13 +3,70 @@
#include "MetroidPrime/Enemies/CAi.hpp"
template <typename T>
struct TPatternedCast {
CEntity* ent;
TPatternedCast(CEntity* ent);
};
class CPatterned : public CAi {
public:
enum ECharacter {
kC_AtomicAlpha = 0,
kC_AtomicBeta = 1,
kC_Babygoth = 2,
kC_Beetle = 3,
kC_BloodFlower = 4,
kC_Burrower = 5,
kC_ChozoGhost = 6,
kC_Drone = 7,
kC_ElitePirate = 8,
kC_EyeBall = 9,
kC_FireFlea = 10,
kC_Flaahgra = 11,
kC_FlaahgraTentacle = 12,
kC_FlickerBat = 13,
kC_FlyingPirate = 14,
kC_IceSheegoth = 15,
kC_JellyZap = 16,
kC_Magdolite = 17,
kC_Metaree = 18,
kC_Metroid = 19,
kC_MetroidBeta = 20,
kC_MetroidPrimeExo = 21,
kC_MetroidPrimeEssence = 22,
kC_NewIntroBoss = 23,
kC_Parasite = 24,
kC_PuddleSpore = 27,
kC_PuddleToad = 28,
kC_Puffer = 29,
kC_Ridley = 30,
kC_Ripper = 31,
kC_Seedling = 32,
kC_SpacePirate = 34,
kC_SpankWeed = 35,
kC_PhazonHealingNodule = 35,
kC_Thardus = 36,
kC_ThardusRockProjectile = 37,
kC_Tryclops = 38,
kC_WarWasp = 39,
kC_EnergyBall = 40
};
~CPatterned();
void Accept(IVisitor& visitor);
void Death(CStateManager& mgr, const CVector3f& direction, EScriptObjectState state) {}
void KnockBack(const CVector3f&, CStateManager&, const CDamageInfo& info, EKnockBackType type,
bool inDeferred, float magnitude) {};
bool inDeferred, float magnitude){};
ECharacter GetCharacterType() const { return x34c_characterType; }
template < class T >
static T* CastTo(const TPatternedCast<T>& ent);
private:
char data[0xf4];
ECharacter x34c_characterType;
};
#endif // _CPATTERNED

View File

@ -0,0 +1,11 @@
#ifndef _CPUDDLETOAD
#define _CPUDDLETOAD
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CPuddleToad : public CPatterned {
};
#endif // _CPUDDLETOAD

View File

@ -0,0 +1,11 @@
#ifndef _CSPACEPIRATE
#define _CSPACEPIRATE
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CSpacePirate : public CPatterned {
};
#endif // _CSPACEPIRATE

View File

@ -33,16 +33,16 @@ public:
void Setup(CAiTriggerFunc func, bool lnot, float arg, CAiTrigger* andTrig) {
x0_func = func;
x18_lNot = lnot;
xc_arg = arg;
x10_andTrigger = andTrig;
x18_lNot = lnot;
}
void Setup(CAiTriggerFunc func, bool lnot, float arg, CAiState* state) {
x0_func = func;
x18_lNot = lnot;
xc_arg = arg;
x14_state = state;
x18_lNot = lnot;
}
private:

View File

@ -0,0 +1,11 @@
#ifndef _CTHARDUSROCKPROJECTILE
#define _CTHARDUSROCKPROJECTILE
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CThardusRockProjectile : public CPatterned {
};
#endif // _CTHARDUSROCKPROJECTILE

View File

@ -0,0 +1,10 @@
#ifndef _CWARWASP
#define _CWARWASP
#include "MetroidPrime/Enemies/CPatterned.hpp"
class CWarWasp : public CPatterned {
};
#endif // _CWARWASP

View File

@ -5,7 +5,7 @@ METROIDPRIME :=\
$(BUILD_DIR)/asm/MetroidPrime/main.o\
$(BUILD_DIR)/asm/MetroidPrime/IRenderer.o\
$(BUILD_DIR)/asm/MetroidPrime/Cameras/CCameraManager.o\
$(BUILD_DIR)/asm/MetroidPrime/CControlMapper.o\
$(BUILD_DIR)/src/MetroidPrime/CControlMapper.o\
$(BUILD_DIR)/asm/MetroidPrime/Cameras/CFirstPersonCamera.o\
$(BUILD_DIR)/src/MetroidPrime/CObjectList.o\
$(BUILD_DIR)/asm/MetroidPrime/Player/CPlayer.o\
@ -70,7 +70,7 @@ METROIDPRIME :=\
$(BUILD_DIR)/src/MetroidPrime/ScriptObjects/CScriptCounter.o\
$(BUILD_DIR)/asm/MetroidPrime/CMapWorld.o\
$(BUILD_DIR)/asm/MetroidPrime/Enemies/CAi.o\
$(BUILD_DIR)/asm/MetroidPrime/Enemies/PatternedCastTo.o\
$(BUILD_DIR)/src/MetroidPrime/Enemies/PatternedCastTo.o\
$(BUILD_DIR)/src/MetroidPrime/TCastTo.o\
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptSound.o\
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptPlatform.o\

View File

@ -0,0 +1,111 @@
#include "MetroidPrime/Enemies/CPatterned.hpp"
#include "MetroidPrime/Enemies/CEnergyBall.hpp"
#include "MetroidPrime/Enemies/CFlickerBat.hpp"
#include "MetroidPrime/Enemies/CIceSheegoth.hpp"
#include "MetroidPrime/Enemies/CJellyZap.hpp"
#include "MetroidPrime/Enemies/CMetroid.hpp"
#include "MetroidPrime/Enemies/CMetroidBeta.hpp"
#include "MetroidPrime/Enemies/CMetroidPrimeExo.hpp"
#include "MetroidPrime/Enemies/CParasite.hpp"
#include "MetroidPrime/Enemies/CPuddleToad.hpp"
#include "MetroidPrime/Enemies/CSpacePirate.hpp"
#include "MetroidPrime/Enemies/CThardusRockProjectile.hpp"
#include "MetroidPrime/Enemies/CWarWasp.hpp"
#include "MetroidPrime/TCastTo.hpp"
class CEnergyBall;
CPatterned* CastPatternedCharacter(CPatterned::ECharacter character, CEntity* entity) {
CPatterned* pat = TCastToPtr< CPatterned >(entity);
if (pat && pat->GetCharacterType() == character) {
return pat;
}
return nullptr;
}
template <>
TPatternedCast< CEnergyBall >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CEnergyBall* CPatterned::CastTo< CEnergyBall >(const TPatternedCast< CEnergyBall >& ent) {
return static_cast< CEnergyBall* >(CastPatternedCharacter(CPatterned::kC_EnergyBall, ent.ent));
}
template <>
TPatternedCast< CFlickerBat >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CFlickerBat* CPatterned::CastTo< CFlickerBat >(const TPatternedCast< CFlickerBat >& ent) {
return static_cast< CFlickerBat* >(CastPatternedCharacter(CPatterned::kC_FlickerBat, ent.ent));
}
template <>
TPatternedCast< CIceSheegoth >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CIceSheegoth* CPatterned::CastTo< CIceSheegoth >(const TPatternedCast< CIceSheegoth >& ent) {
return static_cast< CIceSheegoth* >(CastPatternedCharacter(CPatterned::kC_IceSheegoth, ent.ent));
}
template <>
TPatternedCast< CJellyZap >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CJellyZap* CPatterned::CastTo< CJellyZap >(const TPatternedCast< CJellyZap >& ent) {
return static_cast< CJellyZap* >(CastPatternedCharacter(CPatterned::kC_JellyZap, ent.ent));
}
template <>
TPatternedCast< CMetroid >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CMetroid* CPatterned::CastTo< CMetroid >(const TPatternedCast< CMetroid >& ent) {
return static_cast< CMetroid* >(CastPatternedCharacter(CPatterned::kC_Metroid, ent.ent));
}
template <>
TPatternedCast< CMetroidBeta >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CMetroidBeta* CPatterned::CastTo< CMetroidBeta >(const TPatternedCast< CMetroidBeta >& ent) {
return static_cast< CMetroidBeta* >(CastPatternedCharacter(CPatterned::kC_MetroidBeta, ent.ent));
}
template <>
TPatternedCast< CMetroidPrimeExo >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CMetroidPrimeExo* CPatterned::CastTo< CMetroidPrimeExo >(const TPatternedCast< CMetroidPrimeExo >& ent) {
return static_cast< CMetroidPrimeExo* >(CastPatternedCharacter(CPatterned::kC_MetroidPrimeExo, ent.ent));
}
template <>
TPatternedCast< CParasite >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CParasite* CPatterned::CastTo< CParasite >(const TPatternedCast< CParasite >& ent) {
return static_cast< CParasite* >(CastPatternedCharacter(CPatterned::kC_Parasite, ent.ent));
}
template <>
TPatternedCast< CPuddleToad >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CPuddleToad* CPatterned::CastTo< CPuddleToad >(const TPatternedCast< CPuddleToad >& ent) {
return static_cast< CPuddleToad* >(CastPatternedCharacter(CPatterned::kC_PuddleToad, ent.ent));
}
template <>
TPatternedCast< CSpacePirate >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CSpacePirate* CPatterned::CastTo< CSpacePirate >(const TPatternedCast< CSpacePirate >& ent) {
return static_cast< CSpacePirate* >(CastPatternedCharacter(CPatterned::kC_SpacePirate, ent.ent));
}
template <>
TPatternedCast< CThardusRockProjectile >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CThardusRockProjectile* CPatterned::CastTo< CThardusRockProjectile >(const TPatternedCast< CThardusRockProjectile >& ent) {
return static_cast< CThardusRockProjectile* >(CastPatternedCharacter(CPatterned::kC_ThardusRockProjectile, ent.ent));
}
template <>
TPatternedCast< CWarWasp >::TPatternedCast(CEntity* ent) : ent(ent) {}
template <>
CWarWasp* CPatterned::CastTo< CWarWasp >(const TPatternedCast< CWarWasp >& ent) {
return static_cast< CWarWasp* >(CastPatternedCharacter(CPatterned::kC_WarWasp, ent.ent));
}