mirror of https://github.com/PrimeDecomp/prime.git
CPatterned & related headers; almost match CPuffer
Former-commit-id: 7fd19f0c12
This commit is contained in:
parent
8b5b9757f3
commit
f463d79f5d
|
@ -1968,8 +1968,8 @@ lbl_8002ADA8:
|
|||
/* 8002ADB8 00027D18 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8002ADBC 00027D1C 4E 80 00 20 */ blr
|
||||
|
||||
.global SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager:
|
||||
.global "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
"SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager":
|
||||
/* 8002ADC0 00027D20 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 8002ADC4 00027D24 7C 08 02 A6 */ mflr r0
|
||||
/* 8002ADC8 00027D28 90 01 00 44 */ stw r0, 0x44(r1)
|
||||
|
|
|
@ -57,8 +57,8 @@ lbl_805A7634:
|
|||
.section .sdata2, "a"
|
||||
.balign 8
|
||||
|
||||
.global skGravityConstant__13CPhysicsActor
|
||||
skGravityConstant__13CPhysicsActor:
|
||||
.global kGravityAccel__13CPhysicsActor
|
||||
kGravityAccel__13CPhysicsActor:
|
||||
# ROM: 0x3F7C60
|
||||
.float 24.525002
|
||||
|
||||
|
|
|
@ -1045,7 +1045,7 @@ __ct__12CAtomicAlpha:
|
|||
/* 80245730 00242690 90 81 00 1C */ stw r4, 0x1c(r1)
|
||||
/* 80245734 00242694 38 80 00 00 */ li r4, 0
|
||||
/* 80245738 00242698 38 E0 00 00 */ li r7, 0
|
||||
/* 8024573C 0024269C 4B E3 7D 15 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8024573C 0024269C 4B E3 7D 15 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80245740 002426A0 3C 60 80 3F */ lis r3, lbl_803E88A8@ha
|
||||
/* 80245744 002426A4 C0 22 B8 40 */ lfs f1, lbl_805AD560@sda21(r2)
|
||||
/* 80245748 002426A8 38 03 88 A8 */ addi r0, r3, lbl_803E88A8@l
|
||||
|
|
|
@ -1229,7 +1229,7 @@ __ct__11CAtomicBeta:
|
|||
/* 802518FC 0024E85C 38 80 00 01 */ li r4, 1
|
||||
/* 80251900 0024E860 A3 E1 01 06 */ lhz r31, 0x106(r1)
|
||||
/* 80251904 0024E864 38 E0 00 00 */ li r7, 0
|
||||
/* 80251908 0024E868 4B E2 BB 49 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80251908 0024E868 4B E2 BB 49 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8025190C 0024E86C 3C 80 80 3F */ lis r4, lbl_803E8E4C@ha
|
||||
/* 80251910 0024E870 3C 60 45 4C */ lis r3, 0x454C5343@ha
|
||||
/* 80251914 0024E874 38 04 8E 4C */ addi r0, r4, lbl_803E8E4C@l
|
||||
|
|
|
@ -339,7 +339,7 @@ GetCollisionPrimitive__9CBabygothCFv:
|
|||
.global GetGravityConstant__9CBabygothCFv
|
||||
GetGravityConstant__9CBabygothCFv:
|
||||
/* 8021D468 0021A3C8 C0 22 B4 00 */ lfs f1, lbl_805AD120@sda21(r2)
|
||||
/* 8021D46C 0021A3CC C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 8021D46C 0021A3CC C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 8021D470 0021A3D0 EC 21 00 32 */ fmuls f1, f1, f0
|
||||
/* 8021D474 0021A3D4 4E 80 00 20 */ blr
|
||||
|
||||
|
@ -7296,7 +7296,7 @@ lbl_80223764:
|
|||
/* 802237DC 0022073C 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 802237E0 00220740 7D 6A 5B 78 */ mr r10, r11
|
||||
/* 802237E4 00220744 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 802237E8 00220748 4B E5 9C 69 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 802237E8 00220748 4B E5 9C 69 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 802237EC 0022074C 3C 60 80 3E */ lis r3, lbl_803E7350@ha
|
||||
/* 802237F0 00220750 38 A0 FF FF */ li r5, -1
|
||||
/* 802237F4 00220754 38 63 73 50 */ addi r3, r3, lbl_803E7350@l
|
||||
|
|
|
@ -428,7 +428,7 @@ IsListening__7CBeetleCFv:
|
|||
.global GetGravityConstant__7CBeetleCFv
|
||||
GetGravityConstant__7CBeetleCFv:
|
||||
/* 800E2EFC 000DFE5C C0 22 8F CC */ lfs f1, lbl_805AACEC@sda21(r2)
|
||||
/* 800E2F00 000DFE60 C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 800E2F00 000DFE60 C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 800E2F04 000DFE64 EC 21 00 32 */ fmuls f1, f1, f0
|
||||
/* 800E2F08 000DFE68 4E 80 00 20 */ blr
|
||||
|
||||
|
@ -5809,7 +5809,7 @@ lbl_800E7BA4:
|
|||
/* 800E7C64 000E4BC4 38 80 00 03 */ li r4, 3
|
||||
/* 800E7C68 000E4BC8 83 E1 02 A8 */ lwz r31, 0x2a8(r1)
|
||||
/* 800E7C6C 000E4BCC 82 E1 02 B0 */ lwz r23, 0x2b0(r1)
|
||||
/* 800E7C70 000E4BD0 4B F9 57 E1 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 800E7C70 000E4BD0 4B F9 57 E1 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 800E7C74 000E4BD4 3C 60 80 3E */ lis r3, lbl_803DF890@ha
|
||||
/* 800E7C78 000E4BD8 38 00 FF FF */ li r0, -1
|
||||
/* 800E7C7C 000E4BDC 38 63 F8 90 */ addi r3, r3, lbl_803DF890@l
|
||||
|
|
|
@ -581,7 +581,7 @@ sub_80118fec:
|
|||
/* 80119028 00115F88 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 8011902C 00115F8C 38 A0 00 00 */ li r5, 0
|
||||
/* 80119030 00115F90 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 80119034 00115F94 4B F1 1D 8D */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 80119034 00115F94 4B F1 1D 8D */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80119038 00115F98 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 8011903C 00115F9C 48 22 4A A5 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
/* 80119040 00115FA0 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
|
@ -611,7 +611,7 @@ sub_80119058:
|
|||
/* 80119094 00115FF4 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80119098 00115FF8 38 A0 00 01 */ li r5, 1
|
||||
/* 8011909C 00115FFC 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 801190A0 00116000 4B F1 1D 21 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 801190A0 00116000 4B F1 1D 21 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 801190A4 00116004 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 801190A8 00116008 48 22 4A 39 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
/* 801190AC 0011600C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
|
@ -1748,7 +1748,7 @@ Accept__12CBloodFlowerFR8IVisitor:
|
|||
/* 8011A084 00116FE4 83 41 01 98 */ lwz r26, 0x198(r1)
|
||||
/* 8011A088 00116FE8 83 61 01 9C */ lwz r27, 0x19c(r1)
|
||||
/* 8011A08C 00116FEC 83 81 01 A0 */ lwz r28, 0x1a0(r1)
|
||||
/* 8011A090 00116FF0 4B F6 33 C1 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8011A090 00116FF0 4B F6 33 C1 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8011A094 00116FF4 3C 60 80 3E */ lis r3, lbl_803E0350@ha
|
||||
/* 8011A098 00116FF8 3C 80 50 41 */ lis r4, 0x50415254@ha
|
||||
/* 8011A09C 00116FFC 38 03 03 50 */ addi r0, r3, lbl_803E0350@l
|
||||
|
|
|
@ -1281,7 +1281,7 @@ __ct__14CBouncyGrenade:
|
|||
/* 8022F440 0022C3A0 48 00 01 5D */ bl sub_8022f59c
|
||||
/* 8022F444 0022C3A4 90 77 02 AC */ stw r3, 0x2ac(r23)
|
||||
/* 8022F448 0022C3A8 38 A0 00 00 */ li r5, 0
|
||||
/* 8022F44C 0022C3AC C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 8022F44C 0022C3AC C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 8022F450 0022C3B0 7E E3 BB 78 */ mr r3, r23
|
||||
/* 8022F454 0022C3B4 D3 F7 02 B0 */ stfs f31, 0x2b0(r23)
|
||||
/* 8022F458 0022C3B8 38 81 00 28 */ addi r4, r1, 0x28
|
||||
|
|
|
@ -1404,7 +1404,7 @@ __ct__9CBurrower:
|
|||
/* 80270B78 0026DAD8 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 80270B7C 0026DADC 7D 8A 63 78 */ mr r10, r12
|
||||
/* 80270B80 0026DAE0 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 80270B84 0026DAE4 4B E0 C8 CD */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80270B84 0026DAE4 4B E0 C8 CD */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80270B88 0026DAE8 3C 60 80 3F */ lis r3, lbl_803EA7C4@ha
|
||||
/* 80270B8C 0026DAEC C0 22 BB B8 */ lfs f1, lbl_805AD8D8@sda21(r2)
|
||||
/* 80270B90 0026DAF0 38 03 A7 C4 */ addi r0, r3, lbl_803EA7C4@l
|
||||
|
|
|
@ -1643,7 +1643,7 @@ lbl_801404B4:
|
|||
/* 80140544 0013D4A4 7F C6 F3 78 */ mr r6, r30
|
||||
/* 80140548 0013D4A8 80 65 00 10 */ lwz r3, 0x10(r5)
|
||||
/* 8014054C 0013D4AC 38 A0 00 01 */ li r5, 1
|
||||
/* 80140550 0013D4B0 4B EE A8 71 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 80140550 0013D4B0 4B EE A8 71 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80140554 0013D4B4 88 1F 06 65 */ lbz r0, 0x665(r31)
|
||||
/* 80140558 0013D4B8 38 60 00 00 */ li r3, 0
|
||||
/* 8014055C 0013D4BC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
|
||||
|
@ -1704,7 +1704,7 @@ lbl_801405F4:
|
|||
/* 80140634 0013D594 7F C6 F3 78 */ mr r6, r30
|
||||
/* 80140638 0013D598 80 65 00 10 */ lwz r3, 0x10(r5)
|
||||
/* 8014063C 0013D59C 38 A0 00 00 */ li r5, 0
|
||||
/* 80140640 0013D5A0 4B EE A7 81 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 80140640 0013D5A0 4B EE A7 81 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80140644 0013D5A4 38 7F 04 60 */ addi r3, r31, 0x460
|
||||
/* 80140648 0013D5A8 38 80 00 02 */ li r4, 2
|
||||
/* 8014064C 0013D5AC 38 A0 00 01 */ li r5, 1
|
||||
|
@ -3463,7 +3463,7 @@ Accept__11CChozoGhostFR8IVisitor:
|
|||
/* 80141F44 0013EEA4 C3 E1 03 30 */ lfs f31, 0x330(r1)
|
||||
/* 80141F48 0013EEA8 82 E1 03 34 */ lwz r23, 0x334(r1)
|
||||
/* 80141F4C 0013EEAC 81 E1 03 38 */ lwz r15, 0x338(r1)
|
||||
/* 80141F50 0013EEB0 4B F3 B5 01 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80141F50 0013EEB0 4B F3 B5 01 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80141F54 0013EEB4 3C 60 80 3E */ lis r3, lbl_803E1918@ha
|
||||
/* 80141F58 0013EEB8 7F 24 CB 78 */ mr r4, r25
|
||||
/* 80141F5C 0013EEBC 38 03 19 18 */ addi r0, r3, lbl_803E1918@l
|
||||
|
|
|
@ -8957,7 +8957,7 @@ lbl_8016689C:
|
|||
/* 801668D0 00163830 91 61 00 14 */ stw r11, 0x14(r1)
|
||||
/* 801668D4 00163834 92 A1 00 18 */ stw r21, 0x18(r1)
|
||||
/* 801668D8 00163838 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 801668DC 0016383C 4B F1 6B 75 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801668DC 0016383C 4B F1 6B 75 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801668E0 00163840 3C 60 80 3E */ lis r3, lbl_803E36A8@ha
|
||||
/* 801668E4 00163844 3C 80 43 52 */ lis r4, 0x43525343@ha
|
||||
/* 801668E8 00163848 38 03 36 A8 */ addi r0, r3, lbl_803E36A8@l
|
||||
|
|
|
@ -7376,7 +7376,7 @@ lbl_8022D774:
|
|||
/* 8022D7F0 0022A750 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 8022D7F4 0022A754 7D 8A 63 78 */ mr r10, r12
|
||||
/* 8022D7F8 0022A758 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 8022D7FC 0022A75C 4B E4 FC 55 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8022D7FC 0022A75C 4B E4 FC 55 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8022D800 0022A760 3C 60 80 3E */ lis r3, lbl_803E7AE0@ha
|
||||
/* 8022D804 0022A764 38 A0 FF FF */ li r5, -1
|
||||
/* 8022D808 0022A768 38 63 7A E0 */ addi r3, r3, lbl_803E7AE0@l
|
||||
|
|
|
@ -1455,7 +1455,7 @@ Accept__8CEyeBallFR8IVisitor:
|
|||
/* 802257A4 00222704 83 A1 00 BC */ lwz r29, 0xbc(r1)
|
||||
/* 802257A8 00222708 83 C1 00 C0 */ lwz r30, 0xc0(r1)
|
||||
/* 802257AC 0022270C 8B E1 00 C7 */ lbz r31, 0xc7(r1)
|
||||
/* 802257B0 00222710 4B E5 7C A1 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 802257B0 00222710 4B E5 7C A1 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 802257B4 00222714 3C 60 80 3E */ lis r3, lbl_803E774C@ha
|
||||
/* 802257B8 00222718 3C 80 80 3D */ lis r4, lbl_803D3248@ha
|
||||
/* 802257BC 0022271C 38 03 77 4C */ addi r0, r3, lbl_803E774C@l
|
||||
|
|
|
@ -1450,7 +1450,7 @@ Accept__9CFireFleaFR8IVisitor:
|
|||
/* 80143A18 00140978 91 21 00 18 */ stw r9, 0x18(r1)
|
||||
/* 80143A1C 0014097C 7D 69 5B 78 */ mr r9, r11
|
||||
/* 80143A20 00140980 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 80143A24 00140984 4B F3 9A 2D */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80143A24 00140984 4B F3 9A 2D */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80143A28 00140988 3C 60 80 3E */ lis r3, lbl_803E1C88@ha
|
||||
/* 80143A2C 0014098C C0 22 9B CC */ lfs f1, lbl_805AB8EC@sda21(r2)
|
||||
/* 80143A30 00140990 38 03 1C 88 */ addi r0, r3, lbl_803E1C88@l
|
||||
|
|
|
@ -7557,7 +7557,7 @@ lbl_801B39AC:
|
|||
/* 801B3A80 001B09E0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 801B3A84 001B09E4 93 E1 00 18 */ stw r31, 0x18(r1)
|
||||
/* 801B3A88 001B09E8 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 801B3A8C 001B09EC 4B EC 99 C5 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801B3A8C 001B09EC 4B EC 99 C5 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801B3A90 001B09F0 38 61 00 88 */ addi r3, r1, 0x88
|
||||
/* 801B3A94 001B09F4 38 80 FF FF */ li r4, -1
|
||||
/* 801B3A98 001B09F8 4B F6 2F B5 */ bl __dt__10CModelDataFv
|
||||
|
|
|
@ -1383,7 +1383,7 @@ lbl_801F0FA0:
|
|||
/* 801F1010 001EDF70 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 801F1014 001EDF74 7D 8A 63 78 */ mr r10, r12
|
||||
/* 801F1018 001EDF78 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 801F101C 001EDF7C 4B E8 C4 35 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801F101C 001EDF7C 4B E8 C4 35 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801F1020 001EDF80 3C 80 80 3E */ lis r4, lbl_803E6408@ha
|
||||
/* 801F1024 001EDF84 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
|
||||
/* 801F1028 001EDF88 38 84 64 08 */ addi r4, r4, lbl_803E6408@l
|
||||
|
|
|
@ -1393,7 +1393,7 @@ lbl_801312E0:
|
|||
/* 80131378 0012E2D8 38 80 00 0D */ li r4, 0xd
|
||||
/* 8013137C 0012E2DC 91 61 00 18 */ stw r11, 0x18(r1)
|
||||
/* 80131380 0012E2E0 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 80131384 0012E2E4 4B F4 C0 CD */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80131384 0012E2E4 4B F4 C0 CD */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80131388 0012E2E8 3C 60 80 3E */ lis r3, lbl_803E0DE0@ha
|
||||
/* 8013138C 0012E2EC 7F A0 00 34 */ cntlzw r0, r29
|
||||
/* 80131390 0012E2F0 38 63 0D E0 */ addi r3, r3, lbl_803E0DE0@l
|
||||
|
|
|
@ -6253,7 +6253,7 @@ lbl_801F9394:
|
|||
/* 801F93AC 001F630C 7F C6 F3 78 */ mr r6, r30
|
||||
/* 801F93B0 001F6310 80 65 00 10 */ lwz r3, 0x10(r5)
|
||||
/* 801F93B4 001F6314 38 A0 00 00 */ li r5, 0
|
||||
/* 801F93B8 001F6318 4B E3 1A 09 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 801F93B8 001F6318 4B E3 1A 09 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 801F93BC 001F631C A1 1D 00 08 */ lhz r8, 8(r29)
|
||||
/* 801F93C0 001F6320 7F C4 F3 78 */ mr r4, r30
|
||||
/* 801F93C4 001F6324 38 A1 00 10 */ addi r5, r1, 0x10
|
||||
|
@ -11204,7 +11204,7 @@ lbl_801FDB4C:
|
|||
/* 801FDB58 001FAAB8 7F E6 FB 78 */ mr r6, r31
|
||||
/* 801FDB5C 001FAABC 80 65 00 10 */ lwz r3, 0x10(r5)
|
||||
/* 801FDB60 001FAAC0 38 A0 00 01 */ li r5, 1
|
||||
/* 801FDB64 001FAAC4 4B E2 D2 5D */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 801FDB64 001FAAC4 4B E2 D2 5D */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 801FDB68 001FAAC8 48 00 00 58 */ b lbl_801FDBC0
|
||||
lbl_801FDB6C:
|
||||
/* 801FDB6C 001FAACC 3B BE 06 88 */ addi r29, r30, 0x688
|
||||
|
@ -11229,7 +11229,7 @@ lbl_801FDB98:
|
|||
/* 801FDBB0 001FAB10 7F E6 FB 78 */ mr r6, r31
|
||||
/* 801FDBB4 001FAB14 80 65 00 10 */ lwz r3, 0x10(r5)
|
||||
/* 801FDBB8 001FAB18 38 A0 00 00 */ li r5, 0
|
||||
/* 801FDBBC 001FAB1C 4B E2 D2 05 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 801FDBBC 001FAB1C 4B E2 D2 05 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
lbl_801FDBC0:
|
||||
/* 801FDBC0 001FAB20 E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0
|
||||
/* 801FDBC4 001FAB24 80 01 01 04 */ lwz r0, 0x104(r1)
|
||||
|
@ -11273,7 +11273,7 @@ lbl_801FDC34:
|
|||
/* 801FDC4C 001FABAC 7F 64 DB 78 */ mr r4, r27
|
||||
/* 801FDC50 001FABB0 7F C5 F3 78 */ mr r5, r30
|
||||
/* 801FDC54 001FABB4 7F A6 EB 78 */ mr r6, r29
|
||||
/* 801FDC58 001FABB8 4B E2 D1 69 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 801FDC58 001FABB8 4B E2 D1 69 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 801FDC5C 001FABBC 88 1C 06 A0 */ lbz r0, 0x6a0(r28)
|
||||
/* 801FDC60 001FABC0 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
|
||||
/* 801FDC64 001FABC4 41 82 00 1C */ beq lbl_801FDC80
|
||||
|
@ -11282,7 +11282,7 @@ lbl_801FDC34:
|
|||
/* 801FDC70 001FABD0 38 84 20 E8 */ addi r4, r4, lbl_805720E8@l
|
||||
/* 801FDC74 001FABD4 7F C5 F3 78 */ mr r5, r30
|
||||
/* 801FDC78 001FABD8 7F A6 EB 78 */ mr r6, r29
|
||||
/* 801FDC7C 001FABDC 4B E2 D1 45 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 801FDC7C 001FABDC 4B E2 D1 45 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
lbl_801FDC80:
|
||||
/* 801FDC80 001FABE0 88 1C 06 A2 */ lbz r0, 0x6a2(r28)
|
||||
/* 801FDC84 001FABE4 53 C0 2E B4 */ rlwimi r0, r30, 5, 0x1a, 0x1a
|
||||
|
@ -11325,7 +11325,7 @@ lbl_801FDCF4:
|
|||
/* 801FDD0C 001FAC6C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 801FDD10 001FAC70 38 84 20 F8 */ addi r4, r4, lbl_805720F8@l
|
||||
/* 801FDD14 001FAC74 7F A6 EB 78 */ mr r6, r29
|
||||
/* 801FDD18 001FAC78 4B E2 D0 A9 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 801FDD18 001FAC78 4B E2 D0 A9 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 801FDD1C 001FAC7C 88 1C 06 A2 */ lbz r0, 0x6a2(r28)
|
||||
/* 801FDD20 001FAC80 53 C0 26 F6 */ rlwimi r0, r30, 4, 0x1b, 0x1b
|
||||
/* 801FDD24 001FAC84 98 1C 06 A2 */ stb r0, 0x6a2(r28)
|
||||
|
@ -11586,7 +11586,7 @@ lbl_801FE090:
|
|||
/* 801FE0B4 001FB014 7F C6 F3 78 */ mr r6, r30
|
||||
/* 801FE0B8 001FB018 80 65 00 10 */ lwz r3, 0x10(r5)
|
||||
/* 801FE0BC 001FB01C 38 A0 00 01 */ li r5, 1
|
||||
/* 801FE0C0 001FB020 4B E2 CD 01 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 801FE0C0 001FB020 4B E2 CD 01 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 801FE0C4 001FB024 48 00 02 B4 */ b lbl_801FE378
|
||||
.global lbl_801FE0C8
|
||||
lbl_801FE0C8:
|
||||
|
@ -11841,7 +11841,7 @@ Accept__13CFlyingPirateFR8IVisitor:
|
|||
/* 801FE44C 001FB3AC 91 21 00 18 */ stw r9, 0x18(r1)
|
||||
/* 801FE450 001FB3B0 7D 89 63 78 */ mr r9, r12
|
||||
/* 801FE454 001FB3B4 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 801FE458 001FB3B8 4B E7 EF F9 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801FE458 001FB3B8 4B E7 EF F9 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801FE45C 001FB3BC 3C 60 80 3E */ lis r3, __vt__13CFlyingPirate@ha
|
||||
/* 801FE460 001FB3C0 7F 24 CB 78 */ mr r4, r25
|
||||
/* 801FE464 001FB3C4 38 03 68 5C */ addi r0, r3, __vt__13CFlyingPirate@l
|
||||
|
|
|
@ -1309,7 +1309,7 @@ lbl_802306CC:
|
|||
/* 80230710 0022D670 48 0E 39 E5 */ bl Magnitude__9CVector2fCFv
|
||||
/* 80230714 0022D674 C0 42 B6 94 */ lfs f2, lbl_805AD3B4@sda21(r2)
|
||||
/* 80230718 0022D678 FF E0 08 90 */ fmr f31, f1
|
||||
/* 8023071C 0022D67C C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 8023071C 0022D67C C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 80230720 0022D680 C0 3D 00 00 */ lfs f1, 0(r29)
|
||||
/* 80230724 0022D684 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80230728 0022D688 C0 5D 00 04 */ lfs f2, 4(r29)
|
||||
|
|
|
@ -366,7 +366,7 @@ GetCollisionPrimitive__12CIceSheegothCFv:
|
|||
.global GetGravityConstant__12CIceSheegothCFv
|
||||
GetGravityConstant__12CIceSheegothCFv:
|
||||
/* 8019E264 0019B1C4 C0 22 A7 50 */ lfs f1, lbl_805AC470@sda21(r2)
|
||||
/* 8019E268 0019B1C8 C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 8019E268 0019B1C8 C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 8019E26C 0019B1CC EC 21 00 32 */ fmuls f1, f1, f0
|
||||
/* 8019E270 0019B1D0 4E 80 00 20 */ blr
|
||||
|
||||
|
@ -9013,7 +9013,7 @@ lbl_801A5E20:
|
|||
/* 801A5EA8 001A2E08 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 801A5EAC 001A2E0C 7D 8A 63 78 */ mr r10, r12
|
||||
/* 801A5EB0 001A2E10 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 801A5EB4 001A2E14 4B ED 75 9D */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801A5EB4 001A2E14 4B ED 75 9D */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801A5EB8 001A2E18 3C 60 80 3E */ lis r3, lbl_803E4728@ha
|
||||
/* 801A5EBC 001A2E1C 38 00 FF FF */ li r0, -1
|
||||
/* 801A5EC0 001A2E20 38 63 47 28 */ addi r3, r3, lbl_803E4728@l
|
||||
|
|
|
@ -1570,7 +1570,7 @@ Accept__9CJellyZapFR8IVisitor:
|
|||
/* 801D8BB0 001D5B10 38 A1 00 20 */ addi r5, r1, 0x20
|
||||
/* 801D8BB4 001D5B14 38 80 00 10 */ li r4, 0x10
|
||||
/* 801D8BB8 001D5B18 38 E0 00 00 */ li r7, 0
|
||||
/* 801D8BBC 001D5B1C 4B EA 48 95 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801D8BBC 001D5B1C 4B EA 48 95 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801D8BC0 001D5B20 3C 60 80 3E */ lis r3, lbl_803E5954@ha
|
||||
/* 801D8BC4 001D5B24 38 C0 00 00 */ li r6, 0
|
||||
/* 801D8BC8 001D5B28 38 03 59 54 */ addi r0, r3, lbl_803E5954@l
|
||||
|
|
|
@ -3587,7 +3587,7 @@ Accept__10CMagdoliteFR8IVisitor:
|
|||
/* 802374C0 00234420 C3 E1 01 74 */ lfs f31, 0x174(r1)
|
||||
/* 802374C4 00234424 38 80 00 11 */ li r4, 0x11
|
||||
/* 802374C8 00234428 38 E0 00 00 */ li r7, 0
|
||||
/* 802374CC 0023442C 4B E4 5F 85 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 802374CC 0023442C 4B E4 5F 85 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 802374D0 00234430 3C 60 80 3F */ lis r3, lbl_803E8240@ha
|
||||
/* 802374D4 00234434 C0 02 B7 44 */ lfs f0, lbl_805AD464@sda21(r2)
|
||||
/* 802374D8 00234438 38 03 82 40 */ addi r0, r3, lbl_803E8240@l
|
||||
|
|
|
@ -1139,7 +1139,7 @@ Accept__8CMetareeFR8IVisitor:
|
|||
/* 8014EE20 0014BD80 7D 6A 5B 78 */ mr r10, r11
|
||||
/* 8014EE24 0014BD84 38 A1 00 20 */ addi r5, r1, 0x20
|
||||
/* 8014EE28 0014BD88 38 80 00 12 */ li r4, 0x12
|
||||
/* 8014EE2C 0014BD8C 4B F2 E6 25 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8014EE2C 0014BD8C 4B F2 E6 25 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8014EE30 0014BD90 3C 80 80 3E */ lis r4, lbl_803E2878@ha
|
||||
/* 8014EE34 0014BD94 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
|
||||
/* 8014EE38 0014BD98 38 04 28 78 */ addi r0, r4, lbl_803E2878@l
|
||||
|
|
|
@ -9189,7 +9189,7 @@ lbl_80171E4C:
|
|||
/* 80171EF0 0016EE50 83 C1 01 30 */ lwz r30, 0x130(r1)
|
||||
/* 80171EF4 0016EE54 93 A1 00 18 */ stw r29, 0x18(r1)
|
||||
/* 80171EF8 0016EE58 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 80171EFC 0016EE5C 4B F0 B5 55 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80171EFC 0016EE5C 4B F0 B5 55 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80171F00 0016EE60 3C 60 80 3E */ lis r3, lbl_803E3AD8@ha
|
||||
/* 80171F04 0016EE64 38 00 FF FF */ li r0, -1
|
||||
/* 80171F08 0016EE68 38 63 3A D8 */ addi r3, r3, lbl_803E3AD8@l
|
||||
|
|
|
@ -6182,7 +6182,7 @@ lbl_801C6070:
|
|||
/* 801C60F8 001C3058 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 801C60FC 001C305C 7D 8A 63 78 */ mr r10, r12
|
||||
/* 801C6100 001C3060 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 801C6104 001C3064 4B EB 73 4D */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801C6104 001C3064 4B EB 73 4D */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801C6108 001C3068 3C 60 80 3E */ lis r3, lbl_803E5388@ha
|
||||
/* 801C610C 001C306C 38 00 FF FF */ li r0, -1
|
||||
/* 801C6110 001C3070 38 63 53 88 */ addi r3, r3, lbl_803E5388@l
|
||||
|
|
|
@ -1293,7 +1293,7 @@ sub_8027d790:
|
|||
/* 8027D7C8 0027A728 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8027D7CC 0027A72C 7F A6 EB 78 */ mr r6, r29
|
||||
/* 8027D7D0 0027A730 38 81 00 18 */ addi r4, r1, 0x18
|
||||
/* 8027D7D4 0027A734 4B DA D5 ED */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 8027D7D4 0027A734 4B DA D5 ED */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 8027D7D8 0027A738 38 61 00 18 */ addi r3, r1, 0x18
|
||||
/* 8027D7DC 0027A73C 48 0C 03 05 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
/* 8027D7E0 0027A740 80 82 BD 08 */ lwz r4, lbl_805ADA28@sda21(r2)
|
||||
|
@ -1303,7 +1303,7 @@ sub_8027d790:
|
|||
/* 8027D7F0 0027A750 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8027D7F4 0027A754 7F A6 EB 78 */ mr r6, r29
|
||||
/* 8027D7F8 0027A758 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 8027D7FC 0027A75C 4B DA D5 C5 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 8027D7FC 0027A75C 4B DA D5 C5 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 8027D800 0027A760 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 8027D804 0027A764 48 0C 02 DD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
/* 8027D808 0027A768 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
|
@ -4292,7 +4292,7 @@ __ct__20CMetroidPrimeEssence:
|
|||
/* 80280228 0027D188 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 8028022C 0027D18C 7D 8A 63 78 */ mr r10, r12
|
||||
/* 80280230 0027D190 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 80280234 0027D194 4B DF D2 1D */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80280234 0027D194 4B DF D2 1D */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80280238 0027D198 3C 60 80 3F */ lis r3, lbl_803EB244@ha
|
||||
/* 8028023C 0027D19C 3C 80 50 41 */ lis r4, 0x50415254@ha
|
||||
/* 80280240 0027D1A0 38 03 B2 44 */ addi r0, r3, lbl_803EB244@l
|
||||
|
|
|
@ -5422,7 +5422,7 @@ lbl_80275428:
|
|||
lbl_80275438:
|
||||
/* 80275438 00272398 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 8027543C 0027239C C2 F9 00 E8 */ lfs f23, 0xe8(r25)
|
||||
/* 80275440 002723A0 C3 02 96 A0 */ lfs f24, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 80275440 002723A0 C3 02 96 A0 */ lfs f24, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 80275444 002723A4 41 82 00 28 */ beq lbl_8027546C
|
||||
/* 80275448 002723A8 C0 02 BC 9C */ lfs f0, lbl_805AD9BC@sda21(r2)
|
||||
/* 8027544C 002723AC 38 60 00 00 */ li r3, 0
|
||||
|
@ -6547,7 +6547,7 @@ lbl_802763E0:
|
|||
/* 802763F4 00273354 7F 66 DB 78 */ mr r6, r27
|
||||
/* 802763F8 00273358 38 81 00 28 */ addi r4, r1, 0x28
|
||||
/* 802763FC 0027335C 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 80276400 00273360 4B DB 49 C1 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 80276400 00273360 4B DB 49 C1 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80276404 00273364 38 61 00 28 */ addi r3, r1, 0x28
|
||||
/* 80276408 00273368 48 0C 76 D9 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
/* 8027640C 0027336C 3B BD 00 01 */ addi r29, r29, 1
|
||||
|
@ -8573,7 +8573,7 @@ lbl_802780CC:
|
|||
/* 80278100 00275060 38 81 00 10 */ addi r4, r1, 0x10
|
||||
/* 80278104 00275064 38 A0 00 00 */ li r5, 0
|
||||
/* 80278108 00275068 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 8027810C 0027506C 4B DB 2C B5 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 8027810C 0027506C 4B DB 2C B5 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80278110 00275070 38 61 00 10 */ addi r3, r1, 0x10
|
||||
/* 80278114 00275074 48 0C 59 CD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
lbl_80278118:
|
||||
|
@ -8873,7 +8873,7 @@ sub_80278508:
|
|||
/* 80278550 002754B0 38 81 00 20 */ addi r4, r1, 0x20
|
||||
/* 80278554 002754B4 38 A0 00 01 */ li r5, 1
|
||||
/* 80278558 002754B8 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 8027855C 002754BC 4B DB 28 65 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 8027855C 002754BC 4B DB 28 65 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80278560 002754C0 38 61 00 20 */ addi r3, r1, 0x20
|
||||
/* 80278564 002754C4 48 0C 55 7D */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
/* 80278568 002754C8 81 1D 00 04 */ lwz r8, 4(r29)
|
||||
|
@ -9082,7 +9082,7 @@ sub_80278800:
|
|||
/* 80278858 002757B8 7F C6 F3 78 */ mr r6, r30
|
||||
/* 8027885C 002757BC 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80278860 002757C0 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 80278864 002757C4 4B DB 25 5D */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 80278864 002757C4 4B DB 25 5D */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80278868 002757C8 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 8027886C 002757CC 48 0C 52 75 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
/* 80278870 002757D0 57 E0 06 3F */ clrlwi. r0, r31, 0x18
|
||||
|
@ -11761,7 +11761,7 @@ __ct__16CMetroidPrimeExo:
|
|||
/* 8027AFBC 00277F1C 7D CA 73 78 */ mr r10, r14
|
||||
/* 8027AFC0 00277F20 81 C1 02 10 */ lwz r14, 0x210(r1)
|
||||
/* 8027AFC4 00277F24 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 8027AFC8 00277F28 4B E0 24 89 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8027AFC8 00277F28 4B E0 24 89 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8027AFCC 00277F2C 3C 60 80 3F */ lis r3, lbl_803EAD54@ha
|
||||
/* 8027AFD0 00277F30 38 A0 00 00 */ li r5, 0
|
||||
/* 8027AFD4 00277F34 38 03 AD 54 */ addi r0, r3, lbl_803EAD54@l
|
||||
|
|
|
@ -250,7 +250,7 @@ Explode__23CMetroidPrimeProjectileFRC9CVector3fRC9CVector3f29EWeaponCollisionRes
|
|||
/* 802A0650 0029D5B0 93 41 00 1C */ stw r26, 0x1c(r1)
|
||||
/* 802A0654 0029D5B4 93 81 00 40 */ stw r28, 0x40(r1)
|
||||
/* 802A0658 0029D5B8 93 61 00 20 */ stw r27, 0x20(r1)
|
||||
/* 802A065C 0029D5BC 4B FB CB 81 */ bl "__ct__5CFireF25TToken<15CGenDescription>9TUniqueId7TAreaIdb9TUniqueIdRC12CTransform4fRC11CDamageInfoRC6CAABoxRC9CVector3fbUibbbffff"
|
||||
/* 802A065C 0029D5BC 4B FB CB 81 */ bl "__ct__5CFireFRC25TToken<15CGenDescription>9TUniqueId7TAreaIdb9TUniqueIdRC12CTransform4fRC11CDamageInfoRC6CAABoxRC9CVector3fbUibbbffff"
|
||||
/* 802A0660 0029D5C0 7C 64 1B 78 */ mr r4, r3
|
||||
lbl_802A0664:
|
||||
/* 802A0664 0029D5C4 28 04 00 00 */ cmplwi r4, 0
|
||||
|
|
|
@ -2498,7 +2498,7 @@ ProjectileInfo__13CNewIntroBossFv:
|
|||
/* 8018BEFC 00188E5C 38 E0 00 00 */ li r7, 0
|
||||
/* 8018BF00 00188E60 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 8018BF04 00188E64 83 E1 00 8C */ lwz r31, 0x8c(r1)
|
||||
/* 8018BF08 00188E68 4B EF 15 49 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8018BF08 00188E68 4B EF 15 49 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8018BF0C 00188E6C 3C 80 80 3E */ lis r4, lbl_803E4018@ha
|
||||
/* 8018BF10 00188E70 3C 60 80 3D */ lis r3, lbl_803D07E4@ha
|
||||
/* 8018BF14 00188E74 38 04 40 18 */ addi r0, r4, lbl_803E4018@l
|
||||
|
|
|
@ -5003,7 +5003,7 @@ __sinit_CParasite_cpp:
|
|||
/* 8015AD50 00157CB0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8015AD54 00157CB4 7C 08 02 A6 */ mflr r0
|
||||
/* 8015AD58 00157CB8 C0 22 9E 9C */ lfs f1, lbl_805ABBBC@sda21(r2)
|
||||
/* 8015AD5C 00157CBC C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 8015AD5C 00157CBC C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 8015AD60 00157CC0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8015AD64 00157CC4 EC 21 00 24 */ fdivs f1, f1, f0
|
||||
/* 8015AD68 00157CC8 48 1B A7 99 */ bl SqrtF__5CMathFf
|
||||
|
@ -5011,7 +5011,7 @@ __sinit_CParasite_cpp:
|
|||
/* 8015AD70 00157CD0 C0 42 9E 70 */ lfs f2, lbl_805ABB90@sda21(r2)
|
||||
/* 8015AD74 00157CD4 EC 60 00 72 */ fmuls f3, f0, f1
|
||||
/* 8015AD78 00157CD8 C0 22 9E 9C */ lfs f1, lbl_805ABBBC@sda21(r2)
|
||||
/* 8015AD7C 00157CDC C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 8015AD7C 00157CDC C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 8015AD80 00157CE0 EC 42 18 24 */ fdivs f2, f2, f3
|
||||
/* 8015AD84 00157CE4 D0 6D A3 F0 */ stfs f3, lbl_805A8FB0@sda21(r13)
|
||||
/* 8015AD88 00157CE8 EC 21 00 24 */ fdivs f1, f1, f0
|
||||
|
|
|
@ -885,7 +885,7 @@ IsOnGround__10CPatternedCFv:
|
|||
|
||||
.global GetGravityConstant__10CPatternedCFv
|
||||
GetGravityConstant__10CPatternedCFv:
|
||||
/* 80077818 00074778 C0 22 96 A0 */ lfs f1, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 80077818 00074778 C0 22 96 A0 */ lfs f1, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 8007781C 0007477C 4E 80 00 20 */ blr
|
||||
|
||||
.global GetProjectileInfo__10CPatternedFv
|
||||
|
@ -7386,8 +7386,8 @@ lbl_8007D438:
|
|||
/* 8007D448 0007A3A8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8007D44C 0007A3AC 4E 80 00 20 */ blr
|
||||
|
||||
.global "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
"__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi":
|
||||
.global "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
"__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant":
|
||||
/* 8007D450 0007A3B0 94 21 FF 40 */ stwu r1, -0xc0(r1)
|
||||
/* 8007D454 0007A3B4 7C 08 02 A6 */ mflr r0
|
||||
/* 8007D458 0007A3B8 39 8D A2 68 */ addi r12, r13, lbl_805A8E28@sda21
|
||||
|
|
|
@ -1125,7 +1125,7 @@ lbl_802958F8:
|
|||
/* 80295978 002928D8 91 21 00 18 */ stw r9, 0x18(r1)
|
||||
/* 8029597C 002928DC 7D 89 63 78 */ mr r9, r12
|
||||
/* 80295980 002928E0 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 80295984 002928E4 4B DE 7A CD */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80295984 002928E4 4B DE 7A CD */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80295988 002928E8 3C 80 80 3F */ lis r4, lbl_803EBC70@ha
|
||||
/* 8029598C 002928EC 3C 60 45 4C */ lis r3, 0x454C5343@ha
|
||||
/* 80295990 002928F0 38 04 BC 70 */ addi r0, r4, lbl_803EBC70@l
|
||||
|
|
|
@ -2035,7 +2035,7 @@ Accept__12CPuddleSporeFR8IVisitor:
|
|||
/* 8014843C 0014539C 7D 69 5B 78 */ mr r9, r11
|
||||
/* 80148440 001453A0 38 A1 00 20 */ addi r5, r1, 0x20
|
||||
/* 80148444 001453A4 38 80 00 1B */ li r4, 0x1b
|
||||
/* 80148448 001453A8 4B F3 50 09 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80148448 001453A8 4B F3 50 09 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8014844C 001453AC 3C 60 80 3E */ lis r3, lbl_803E20C4@ha
|
||||
/* 80148450 001453B0 C0 42 9C 88 */ lfs f2, lbl_805AB9A8@sda21(r2)
|
||||
/* 80148454 001453B4 38 03 20 C4 */ addi r0, r3, lbl_803E20C4@l
|
||||
|
|
|
@ -1514,7 +1514,7 @@ lbl_8014C5CC:
|
|||
/* 8014C5FC 0014955C 48 1C 5E E1 */ bl Float__9CRandom16Fv
|
||||
/* 8014C600 00149560 C0 62 9D 04 */ lfs f3, lbl_805ABA24@sda21(r2)
|
||||
/* 8014C604 00149564 C0 02 9D 00 */ lfs f0, lbl_805ABA20@sda21(r2)
|
||||
/* 8014C608 00149568 C0 42 96 A0 */ lfs f2, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 8014C608 00149568 C0 42 96 A0 */ lfs f2, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 8014C60C 0014956C EC 23 00 7A */ fmadds f1, f3, f1, f0
|
||||
/* 8014C610 00149570 C0 02 9C F0 */ lfs f0, lbl_805ABA10@sda21(r2)
|
||||
/* 8014C614 00149574 FC 80 10 50 */ fneg f4, f2
|
||||
|
@ -1992,7 +1992,7 @@ lbl_8014CC14:
|
|||
/* 8014CCEC 00149C4C 7D 6A 5B 78 */ mr r10, r11
|
||||
/* 8014CCF0 00149C50 38 A1 00 20 */ addi r5, r1, 0x20
|
||||
/* 8014CCF4 00149C54 38 80 00 1C */ li r4, 0x1c
|
||||
/* 8014CCF8 00149C58 4B F3 07 59 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8014CCF8 00149C58 4B F3 07 59 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8014CCFC 00149C5C 3C 60 80 3E */ lis r3, lbl_803E24E0@ha
|
||||
/* 8014CD00 00149C60 C0 02 9D 14 */ lfs f0, lbl_805ABA34@sda21(r2)
|
||||
/* 8014CD04 00149C64 38 63 24 E0 */ addi r3, r3, lbl_803E24E0@l
|
||||
|
|
|
@ -3,8 +3,44 @@
|
|||
.section .data
|
||||
.balign 8
|
||||
|
||||
.global lbl_803E96C0
|
||||
lbl_803E96C0:
|
||||
.global skGasJetLocators
|
||||
skGasJetLocators:
|
||||
# ROM: 0x3E6650
|
||||
.4byte lbl_803D5100
|
||||
.4byte lbl_803D5109
|
||||
.4byte lbl_803D5112
|
||||
.4byte lbl_803D511B
|
||||
.4byte lbl_803D5124
|
||||
.4byte lbl_803D512D
|
||||
.4byte lbl_803D5136
|
||||
.4byte lbl_803D513F
|
||||
.4byte lbl_803D5148
|
||||
.4byte lbl_803D5151
|
||||
.4byte lbl_803D515A
|
||||
.4byte lbl_803D5163
|
||||
.4byte lbl_803D516C
|
||||
.4byte lbl_803D5175
|
||||
|
||||
.global skGasLocators
|
||||
skGasLocators:
|
||||
# ROM: 0x3E6688
|
||||
.4byte lbl_803D517E
|
||||
.4byte lbl_803D518A
|
||||
.4byte lbl_803D5196
|
||||
.4byte lbl_803D51A2
|
||||
.4byte lbl_803D51AE
|
||||
.4byte lbl_803D51BA
|
||||
.4byte lbl_803D51C6
|
||||
.4byte lbl_803D51D2
|
||||
.4byte lbl_803D51DE
|
||||
.4byte lbl_803D51EA
|
||||
.4byte lbl_803D51F6
|
||||
.4byte lbl_803D5202
|
||||
.4byte lbl_803D520E
|
||||
.4byte lbl_803D521A
|
||||
|
||||
.global __vt__7CPuffer
|
||||
__vt__7CPuffer:
|
||||
# ROM: 0x3E66C0
|
||||
.4byte 0
|
||||
.4byte 0
|
||||
|
@ -23,7 +59,7 @@ lbl_803E96C0:
|
|||
.4byte GetDamageVulnerability__3CAiCFv
|
||||
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
|
||||
.4byte GetTouchBounds__7CPufferCFv
|
||||
.4byte Touch__7CPufferR6CActorR13CStateManager
|
||||
.4byte Touch__7CPufferFR6CActorR13CStateManager
|
||||
.4byte GetOrbitPosition__10CPatternedCFRC13CStateManager
|
||||
.4byte GetAimPosition__10CPatternedCFRC13CStateManagerf
|
||||
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
|
||||
|
@ -39,7 +75,7 @@ lbl_803E96C0:
|
|||
.4byte GetStepDownHeight__13CPhysicsActorCFv
|
||||
.4byte GetStepUpHeight__13CPhysicsActorCFv
|
||||
.4byte GetWeight__13CPhysicsActorCFv
|
||||
.4byte Death__7CPufferFRC9CVector3fR13CStateManager
|
||||
.4byte Death__7CPufferFR13CStateManagerRC9CVector3f18EScriptObjectState
|
||||
.4byte KnockBack__10CPatternedFRC9CVector3fR13CStateManagerRC11CDamageInfo14EKnockBackTypef
|
||||
.4byte GetDamageVulnerability__3CAiFv
|
||||
.4byte TakeDamage__10CPatternedFRC9CVector3ff
|
||||
|
@ -208,8 +244,8 @@ lbl_805A8388:
|
|||
|
||||
.section .text, "ax"
|
||||
|
||||
.global sub_8025bfa4
|
||||
sub_8025bfa4:
|
||||
.global sub8025bfa4__7CPufferFR13CStateManager
|
||||
sub8025bfa4__7CPufferFR13CStateManager:
|
||||
/* 8025BFA4 00258F04 94 21 FE F0 */ stwu r1, -0x110(r1)
|
||||
/* 8025BFA8 00258F08 7C 08 02 A6 */ mflr r0
|
||||
/* 8025BFAC 00258F0C 90 01 01 14 */ stw r0, 0x114(r1)
|
||||
|
@ -238,9 +274,9 @@ sub_8025bfa4:
|
|||
/* 8025C008 00258F68 80 1D 05 D4 */ lwz r0, 0x5d4(r29)
|
||||
/* 8025C00C 00258F6C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8025C010 00258F70 40 82 00 7C */ bne lbl_8025C08C
|
||||
/* 8025C014 00258F74 3C 60 80 3F */ lis r3, lbl_803E9688@ha
|
||||
/* 8025C014 00258F74 3C 60 80 3F */ lis r3, skGasLocators@ha
|
||||
/* 8025C018 00258F78 3B 9D 05 D8 */ addi r28, r29, 0x5d8
|
||||
/* 8025C01C 00258F7C 3B E3 96 88 */ addi r31, r3, lbl_803E9688@l
|
||||
/* 8025C01C 00258F7C 3B E3 96 88 */ addi r31, r3, skGasLocators@l
|
||||
/* 8025C020 00258F80 3B 40 00 00 */ li r26, 0
|
||||
lbl_8025C024:
|
||||
/* 8025C024 00258F84 80 9F 00 00 */ lwz r4, 0(r31)
|
||||
|
@ -279,9 +315,9 @@ lbl_8025C08C:
|
|||
/* 8025C0A0 00259000 38 81 00 50 */ addi r4, r1, 0x50
|
||||
/* 8025C0A4 00259004 48 0B 87 AD */ bl AsNormalized__9CVector3fCFv
|
||||
/* 8025C0A8 00259008 C0 41 00 34 */ lfs f2, 0x34(r1)
|
||||
/* 8025C0AC 0025900C 3C 60 80 3F */ lis r3, lbl_803E9650@ha
|
||||
/* 8025C0AC 0025900C 3C 60 80 3F */ lis r3, skGasJetLocators@ha
|
||||
/* 8025C0B0 00259010 C0 21 00 38 */ lfs f1, 0x38(r1)
|
||||
/* 8025C0B4 00259014 3B 63 96 50 */ addi r27, r3, lbl_803E9650@l
|
||||
/* 8025C0B4 00259014 3B 63 96 50 */ addi r27, r3, skGasJetLocators@l
|
||||
/* 8025C0B8 00259018 C0 01 00 3C */ lfs f0, 0x3c(r1)
|
||||
/* 8025C0BC 0025901C FF E0 10 50 */ fneg f31, f2
|
||||
/* 8025C0C0 00259020 FF C0 08 50 */ fneg f30, f1
|
||||
|
@ -321,7 +357,7 @@ lbl_8025C0D0:
|
|||
/* 8025C144 002590A4 7F C6 F3 78 */ mr r6, r30
|
||||
/* 8025C148 002590A8 38 81 00 18 */ addi r4, r1, 0x18
|
||||
/* 8025C14C 002590AC 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 8025C150 002590B0 4B DC EC 71 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 8025C150 002590B0 4B DC EC 71 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 8025C154 002590B4 38 61 00 18 */ addi r3, r1, 0x18
|
||||
/* 8025C158 002590B8 48 0E 19 89 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
lbl_8025C15C:
|
||||
|
@ -342,9 +378,9 @@ lbl_8025C178:
|
|||
/* 8025C18C 002590EC 41 80 FF 44 */ blt lbl_8025C0D0
|
||||
/* 8025C190 002590F0 48 00 00 68 */ b lbl_8025C1F8
|
||||
lbl_8025C194:
|
||||
/* 8025C194 002590F4 3C 60 80 3F */ lis r3, lbl_803E9650@ha
|
||||
/* 8025C194 002590F4 3C 60 80 3F */ lis r3, skGasJetLocators@ha
|
||||
/* 8025C198 002590F8 3B 20 00 00 */ li r25, 0
|
||||
/* 8025C19C 002590FC 3B 63 96 50 */ addi r27, r3, lbl_803E9650@l
|
||||
/* 8025C19C 002590FC 3B 63 96 50 */ addi r27, r3, skGasJetLocators@l
|
||||
/* 8025C1A0 00259100 3B E0 00 01 */ li r31, 1
|
||||
lbl_8025C1A4:
|
||||
/* 8025C1A4 00259104 80 7D 05 D0 */ lwz r3, 0x5d0(r29)
|
||||
|
@ -359,7 +395,7 @@ lbl_8025C1A4:
|
|||
/* 8025C1C8 00259128 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 8025C1CC 0025912C 38 A0 00 00 */ li r5, 0
|
||||
/* 8025C1D0 00259130 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 8025C1D4 00259134 4B DC EB ED */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 8025C1D4 00259134 4B DC EB ED */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 8025C1D8 00259138 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 8025C1DC 0025913C 48 0E 19 05 */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
|
||||
lbl_8025C1E0:
|
||||
|
@ -403,7 +439,7 @@ Think__7CPufferFfR13CStateManager:
|
|||
/* 8025C264 002591C4 4B E1 D8 B5 */ bl Think__10CPatternedFfR13CStateManager
|
||||
/* 8025C268 002591C8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 8025C26C 002591CC 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8025C270 002591D0 4B FF FD 35 */ bl sub_8025bfa4
|
||||
/* 8025C270 002591D0 4B FF FD 35 */ bl sub8025bfa4__7CPufferFR13CStateManager
|
||||
/* 8025C274 002591D4 80 7E 04 50 */ lwz r3, 0x450(r30)
|
||||
/* 8025C278 002591D8 C0 03 00 04 */ lfs f0, 4(r3)
|
||||
/* 8025C27C 002591DC D0 01 00 30 */ stfs f0, 0x30(r1)
|
||||
|
@ -496,8 +532,8 @@ lbl_8025C3B8:
|
|||
/* 8025C3D0 00259330 38 21 00 70 */ addi r1, r1, 0x70
|
||||
/* 8025C3D4 00259334 4E 80 00 20 */ blr
|
||||
|
||||
.global Death__7CPufferFRC9CVector3fR13CStateManager
|
||||
Death__7CPufferFRC9CVector3fR13CStateManager:
|
||||
.global Death__7CPufferFR13CStateManagerRC9CVector3f18EScriptObjectState
|
||||
Death__7CPufferFR13CStateManagerRC9CVector3f18EScriptObjectState:
|
||||
/* 8025C3D8 00259338 94 21 FE A0 */ stwu r1, -0x160(r1)
|
||||
/* 8025C3DC 0025933C 7C 08 02 A6 */ mflr r0
|
||||
/* 8025C3E0 00259340 90 01 01 64 */ stw r0, 0x164(r1)
|
||||
|
@ -619,7 +655,7 @@ Death__7CPufferFRC9CVector3fR13CStateManager:
|
|||
/* 8025C5B0 00259510 54 00 D7 FE */ rlwinm r0, r0, 0x1a, 0x1f, 0x1f
|
||||
/* 8025C5B4 00259514 90 01 00 20 */ stw r0, 0x20(r1)
|
||||
/* 8025C5B8 00259518 C0 5E 05 B8 */ lfs f2, 0x5b8(r30)
|
||||
/* 8025C5BC 0025951C 48 00 0C 21 */ bl "__ct__5CFireF25TToken<15CGenDescription>9TUniqueId7TAreaIdb9TUniqueIdRC12CTransform4fRC11CDamageInfoRC6CAABoxRC9CVector3fbUibbbffff"
|
||||
/* 8025C5BC 0025951C 48 00 0C 21 */ bl "__ct__5CFireFRC25TToken<15CGenDescription>9TUniqueId7TAreaIdb9TUniqueIdRC12CTransform4fRC11CDamageInfoRC6CAABoxRC9CVector3fbUibbbffff"
|
||||
/* 8025C5C0 00259520 7C 64 1B 78 */ mr r4, r3
|
||||
lbl_8025C5C4:
|
||||
/* 8025C5C4 00259524 7F E3 FB 78 */ mr r3, r31
|
||||
|
@ -745,8 +781,8 @@ lbl_8025C778:
|
|||
/* 8025C784 002596E4 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 8025C788 002596E8 4E 80 00 20 */ blr
|
||||
|
||||
.global Touch__7CPufferR6CActorR13CStateManager
|
||||
Touch__7CPufferR6CActorR13CStateManager:
|
||||
.global Touch__7CPufferFR6CActorR13CStateManager
|
||||
Touch__7CPufferFR6CActorR13CStateManager:
|
||||
/* 8025C78C 002596EC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8025C790 002596F0 7C 08 02 A6 */ mflr r0
|
||||
/* 8025C794 002596F4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
|
@ -867,9 +903,9 @@ __dt__7CPufferFv:
|
|||
/* 8025C92C 0025988C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 8025C930 00259890 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 8025C934 00259894 41 82 00 9C */ beq lbl_8025C9D0
|
||||
/* 8025C938 00259898 3C 60 80 3F */ lis r3, lbl_803E96C0@ha
|
||||
/* 8025C938 00259898 3C 60 80 3F */ lis r3, __vt__7CPuffer@ha
|
||||
/* 8025C93C 0025989C 34 1E 05 D4 */ addic. r0, r30, 0x5d4
|
||||
/* 8025C940 002598A0 38 03 96 C0 */ addi r0, r3, lbl_803E96C0@l
|
||||
/* 8025C940 002598A0 38 03 96 C0 */ addi r0, r3, __vt__7CPuffer@l
|
||||
/* 8025C944 002598A4 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 8025C948 002598A8 41 82 00 58 */ beq lbl_8025C9A0
|
||||
/* 8025C94C 002598AC 80 BE 05 D4 */ lwz r5, 0x5d4(r30)
|
||||
|
@ -920,8 +956,8 @@ lbl_8025C9D0:
|
|||
/* 8025C9E4 00259944 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8025C9E8 00259948 4E 80 00 20 */ blr
|
||||
|
||||
.global __ct__7CPuffer
|
||||
__ct__7CPuffer:
|
||||
.global "__ct__7CPufferF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC16CActorParametersRC14CPatternedInfofUiRC11CDamageInfoUifbbbRC11CDamageInfoUs"
|
||||
"__ct__7CPufferF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC16CActorParametersRC14CPatternedInfofUiRC11CDamageInfoUifbbbRC11CDamageInfoUs":
|
||||
/* 8025C9EC 0025994C 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 8025C9F0 00259950 7C 08 02 A6 */ mflr r0
|
||||
/* 8025C9F4 00259954 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
|
@ -962,10 +998,10 @@ __ct__7CPuffer:
|
|||
/* 8025CA80 002599E0 8B C1 00 9F */ lbz r30, 0x9f(r1)
|
||||
/* 8025CA84 002599E4 83 E1 00 A0 */ lwz r31, 0xa0(r1)
|
||||
/* 8025CA88 002599E8 A2 C1 00 A6 */ lhz r22, 0xa6(r1)
|
||||
/* 8025CA8C 002599EC 4B E2 09 C5 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8025CA90 002599F0 3C 60 80 3F */ lis r3, lbl_803E96C0@ha
|
||||
/* 8025CA8C 002599EC 4B E2 09 C5 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8025CA90 002599F0 3C 60 80 3F */ lis r3, __vt__7CPuffer@ha
|
||||
/* 8025CA94 002599F4 3C 80 50 41 */ lis r4, 0x50415254@ha
|
||||
/* 8025CA98 002599F8 38 03 96 C0 */ addi r0, r3, lbl_803E96C0@l
|
||||
/* 8025CA98 002599F8 38 03 96 C0 */ addi r0, r3, __vt__7CPuffer@l
|
||||
/* 8025CA9C 002599FC 38 61 00 24 */ addi r3, r1, 0x24
|
||||
/* 8025CAA0 00259A00 90 17 00 00 */ stw r0, 0(r23)
|
||||
/* 8025CAA4 00259A04 38 04 52 54 */ addi r0, r4, 0x50415254@l
|
||||
|
@ -1087,3 +1123,200 @@ lbl_805AD710:
|
|||
lbl_805AD714:
|
||||
# ROM: 0x3F9FB4
|
||||
.float -1.0
|
||||
|
||||
.rodata
|
||||
.balign 8
|
||||
|
||||
.global lbl_803D5100
|
||||
lbl_803D5100:
|
||||
|
||||
# ROM: 0x3D2100
|
||||
.asciz "GasJet01"
|
||||
|
||||
.global lbl_803D5109
|
||||
lbl_803D5109:
|
||||
|
||||
# ROM: 0x3D2109
|
||||
.byte 0x47, 0x61, 0x73
|
||||
.asciz "Jet02"
|
||||
|
||||
.global lbl_803D5112
|
||||
lbl_803D5112:
|
||||
|
||||
# ROM: 0x3D2112
|
||||
.byte 0x47, 0x61
|
||||
.asciz "sJet03"
|
||||
|
||||
.global lbl_803D511B
|
||||
lbl_803D511B:
|
||||
|
||||
# ROM: 0x3D211B
|
||||
.byte 0x47
|
||||
.asciz "asJet04"
|
||||
|
||||
.global lbl_803D5124
|
||||
lbl_803D5124:
|
||||
|
||||
# ROM: 0x3D2124
|
||||
.asciz "GasJet05"
|
||||
|
||||
.global lbl_803D512D
|
||||
lbl_803D512D:
|
||||
|
||||
# ROM: 0x3D212D
|
||||
.byte 0x47, 0x61, 0x73
|
||||
.asciz "Jet06"
|
||||
|
||||
.global lbl_803D5136
|
||||
lbl_803D5136:
|
||||
|
||||
# ROM: 0x3D2136
|
||||
.byte 0x47, 0x61
|
||||
.asciz "sJet07"
|
||||
|
||||
.global lbl_803D513F
|
||||
lbl_803D513F:
|
||||
|
||||
# ROM: 0x3D213F
|
||||
.byte 0x47
|
||||
.asciz "asJet08"
|
||||
|
||||
.global lbl_803D5148
|
||||
lbl_803D5148:
|
||||
|
||||
# ROM: 0x3D2148
|
||||
.asciz "GasJet09"
|
||||
|
||||
.global lbl_803D5151
|
||||
lbl_803D5151:
|
||||
|
||||
# ROM: 0x3D2151
|
||||
.byte 0x47, 0x61, 0x73
|
||||
.asciz "Jet10"
|
||||
|
||||
.global lbl_803D515A
|
||||
lbl_803D515A:
|
||||
|
||||
# ROM: 0x3D215A
|
||||
.byte 0x47, 0x61
|
||||
.asciz "sJet11"
|
||||
|
||||
.global lbl_803D5163
|
||||
lbl_803D5163:
|
||||
|
||||
# ROM: 0x3D2163
|
||||
.byte 0x47
|
||||
.asciz "asJet12"
|
||||
|
||||
.global lbl_803D516C
|
||||
lbl_803D516C:
|
||||
|
||||
# ROM: 0x3D216C
|
||||
.asciz "GasJet13"
|
||||
|
||||
.global lbl_803D5175
|
||||
lbl_803D5175:
|
||||
|
||||
# ROM: 0x3D2175
|
||||
.byte 0x47, 0x61, 0x73
|
||||
.asciz "Jet14"
|
||||
|
||||
.global lbl_803D517E
|
||||
lbl_803D517E:
|
||||
|
||||
# ROM: 0x3D217E
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_01_LCTR"
|
||||
|
||||
.global lbl_803D518A
|
||||
lbl_803D518A:
|
||||
|
||||
# ROM: 0x3D218A
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_02_LCTR"
|
||||
|
||||
.global lbl_803D5196
|
||||
lbl_803D5196:
|
||||
|
||||
# ROM: 0x3D2196
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_03_LCTR"
|
||||
|
||||
.global lbl_803D51A2
|
||||
lbl_803D51A2:
|
||||
|
||||
# ROM: 0x3D21A2
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_04_LCTR"
|
||||
|
||||
.global lbl_803D51AE
|
||||
lbl_803D51AE:
|
||||
|
||||
# ROM: 0x3D21AE
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_05_LCTR"
|
||||
|
||||
.global lbl_803D51BA
|
||||
lbl_803D51BA:
|
||||
|
||||
# ROM: 0x3D21BA
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_06_LCTR"
|
||||
|
||||
.global lbl_803D51C6
|
||||
lbl_803D51C6:
|
||||
|
||||
# ROM: 0x3D21C6
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_07_LCTR"
|
||||
|
||||
.global lbl_803D51D2
|
||||
lbl_803D51D2:
|
||||
|
||||
# ROM: 0x3D21D2
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_08_LCTR"
|
||||
|
||||
.global lbl_803D51DE
|
||||
lbl_803D51DE:
|
||||
|
||||
# ROM: 0x3D21DE
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_09_LCTR"
|
||||
|
||||
.global lbl_803D51EA
|
||||
lbl_803D51EA:
|
||||
|
||||
# ROM: 0x3D21EA
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_10_LCTR"
|
||||
|
||||
.global lbl_803D51F6
|
||||
lbl_803D51F6:
|
||||
|
||||
# ROM: 0x3D21F6
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_11_LCTR"
|
||||
|
||||
.global lbl_803D5202
|
||||
lbl_803D5202:
|
||||
|
||||
# ROM: 0x3D2202
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_12_LCTR"
|
||||
|
||||
.global lbl_803D520E
|
||||
lbl_803D520E:
|
||||
|
||||
# ROM: 0x3D220E
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_13_LCTR"
|
||||
|
||||
.global lbl_803D521A
|
||||
lbl_803D521A:
|
||||
|
||||
# ROM: 0x3D221A
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_14_LCTR"
|
||||
.byte 0x3F, 0x3F
|
||||
.asciz "(??)"
|
||||
|
|
|
@ -386,42 +386,6 @@ lbl_803E95A4:
|
|||
.4byte lbl_80259194
|
||||
.4byte lbl_802598FC
|
||||
|
||||
.global lbl_803E9650
|
||||
lbl_803E9650:
|
||||
# ROM: 0x3E6650
|
||||
.4byte lbl_803D5100
|
||||
.4byte lbl_803D5109
|
||||
.4byte lbl_803D5112
|
||||
.4byte lbl_803D511B
|
||||
.4byte lbl_803D5124
|
||||
.4byte lbl_803D512D
|
||||
.4byte lbl_803D5136
|
||||
.4byte lbl_803D513F
|
||||
.4byte lbl_803D5148
|
||||
.4byte lbl_803D5151
|
||||
.4byte lbl_803D515A
|
||||
.4byte lbl_803D5163
|
||||
.4byte lbl_803D516C
|
||||
.4byte lbl_803D5175
|
||||
|
||||
.global lbl_803E9688
|
||||
lbl_803E9688:
|
||||
# ROM: 0x3E6688
|
||||
.4byte lbl_803D517E
|
||||
.4byte lbl_803D518A
|
||||
.4byte lbl_803D5196
|
||||
.4byte lbl_803D51A2
|
||||
.4byte lbl_803D51AE
|
||||
.4byte lbl_803D51BA
|
||||
.4byte lbl_803D51C6
|
||||
.4byte lbl_803D51D2
|
||||
.4byte lbl_803D51DE
|
||||
.4byte lbl_803D51EA
|
||||
.4byte lbl_803D51F6
|
||||
.4byte lbl_803D5202
|
||||
.4byte lbl_803D520E
|
||||
.4byte lbl_803D521A
|
||||
|
||||
.section .sdata
|
||||
.balign 8
|
||||
|
||||
|
@ -2147,7 +2111,7 @@ lbl_80253A6C:
|
|||
/* 80253A74 002509D4 7F A6 EB 78 */ mr r6, r29
|
||||
/* 80253A78 002509D8 38 A0 00 00 */ li r5, 0
|
||||
/* 80253A7C 002509DC 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 80253A80 002509E0 4B DD 73 41 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 80253A80 002509E0 4B DD 73 41 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80253A84 002509E4 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 80253A88 002509E8 3B FF 00 10 */ addi r31, r31, 0x10
|
||||
/* 80253A8C 002509EC 28 1E 00 18 */ cmplwi r30, 0x18
|
||||
|
@ -8208,7 +8172,7 @@ lbl_802592BC:
|
|||
/* 802592C4 00256224 7F C6 F3 78 */ mr r6, r30
|
||||
/* 802592C8 00256228 38 A0 00 01 */ li r5, 1
|
||||
/* 802592CC 0025622C 80 63 00 10 */ lwz r3, 0x10(r3)
|
||||
/* 802592D0 00256230 4B DD 1A F1 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 802592D0 00256230 4B DD 1A F1 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 802592D4 00256234 3B 9C 00 01 */ addi r28, r28, 1
|
||||
/* 802592D8 00256238 3B 5A 00 10 */ addi r26, r26, 0x10
|
||||
/* 802592DC 0025623C 28 1C 00 18 */ cmplwi r28, 0x18
|
||||
|
@ -8934,7 +8898,7 @@ Accept__7CRidleyFR8IVisitor:
|
|||
/* 80259D94 00256CF4 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 80259D98 00256CF8 7F CA F3 78 */ mr r10, r30
|
||||
/* 80259D9C 00256CFC 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 80259DA0 00256D00 4B E2 36 B1 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80259DA0 00256D00 4B E2 36 B1 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80259DA4 00256D04 3C 60 80 3F */ lis r3, lbl_803E9258@ha
|
||||
/* 80259DA8 00256D08 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80259DAC 00256D0C 38 03 92 58 */ addi r0, r3, lbl_803E9258@l
|
||||
|
@ -11732,198 +11696,3 @@ lbl_803D4DD7:
|
|||
.asciz "ingtip_3_LCTR"
|
||||
.balign 4
|
||||
.4byte 0
|
||||
|
||||
.global lbl_803D5100
|
||||
lbl_803D5100:
|
||||
|
||||
# ROM: 0x3D2100
|
||||
.asciz "GasJet01"
|
||||
|
||||
.global lbl_803D5109
|
||||
lbl_803D5109:
|
||||
|
||||
# ROM: 0x3D2109
|
||||
.byte 0x47, 0x61, 0x73
|
||||
.asciz "Jet02"
|
||||
|
||||
.global lbl_803D5112
|
||||
lbl_803D5112:
|
||||
|
||||
# ROM: 0x3D2112
|
||||
.byte 0x47, 0x61
|
||||
.asciz "sJet03"
|
||||
|
||||
.global lbl_803D511B
|
||||
lbl_803D511B:
|
||||
|
||||
# ROM: 0x3D211B
|
||||
.byte 0x47
|
||||
.asciz "asJet04"
|
||||
|
||||
.global lbl_803D5124
|
||||
lbl_803D5124:
|
||||
|
||||
# ROM: 0x3D2124
|
||||
.asciz "GasJet05"
|
||||
|
||||
.global lbl_803D512D
|
||||
lbl_803D512D:
|
||||
|
||||
# ROM: 0x3D212D
|
||||
.byte 0x47, 0x61, 0x73
|
||||
.asciz "Jet06"
|
||||
|
||||
.global lbl_803D5136
|
||||
lbl_803D5136:
|
||||
|
||||
# ROM: 0x3D2136
|
||||
.byte 0x47, 0x61
|
||||
.asciz "sJet07"
|
||||
|
||||
.global lbl_803D513F
|
||||
lbl_803D513F:
|
||||
|
||||
# ROM: 0x3D213F
|
||||
.byte 0x47
|
||||
.asciz "asJet08"
|
||||
|
||||
.global lbl_803D5148
|
||||
lbl_803D5148:
|
||||
|
||||
# ROM: 0x3D2148
|
||||
.asciz "GasJet09"
|
||||
|
||||
.global lbl_803D5151
|
||||
lbl_803D5151:
|
||||
|
||||
# ROM: 0x3D2151
|
||||
.byte 0x47, 0x61, 0x73
|
||||
.asciz "Jet10"
|
||||
|
||||
.global lbl_803D515A
|
||||
lbl_803D515A:
|
||||
|
||||
# ROM: 0x3D215A
|
||||
.byte 0x47, 0x61
|
||||
.asciz "sJet11"
|
||||
|
||||
.global lbl_803D5163
|
||||
lbl_803D5163:
|
||||
|
||||
# ROM: 0x3D2163
|
||||
.byte 0x47
|
||||
.asciz "asJet12"
|
||||
|
||||
.global lbl_803D516C
|
||||
lbl_803D516C:
|
||||
|
||||
# ROM: 0x3D216C
|
||||
.asciz "GasJet13"
|
||||
|
||||
.global lbl_803D5175
|
||||
lbl_803D5175:
|
||||
|
||||
# ROM: 0x3D2175
|
||||
.byte 0x47, 0x61, 0x73
|
||||
.asciz "Jet14"
|
||||
|
||||
.global lbl_803D517E
|
||||
lbl_803D517E:
|
||||
|
||||
# ROM: 0x3D217E
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_01_LCTR"
|
||||
|
||||
.global lbl_803D518A
|
||||
lbl_803D518A:
|
||||
|
||||
# ROM: 0x3D218A
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_02_LCTR"
|
||||
|
||||
.global lbl_803D5196
|
||||
lbl_803D5196:
|
||||
|
||||
# ROM: 0x3D2196
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_03_LCTR"
|
||||
|
||||
.global lbl_803D51A2
|
||||
lbl_803D51A2:
|
||||
|
||||
# ROM: 0x3D21A2
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_04_LCTR"
|
||||
|
||||
.global lbl_803D51AE
|
||||
lbl_803D51AE:
|
||||
|
||||
# ROM: 0x3D21AE
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_05_LCTR"
|
||||
|
||||
.global lbl_803D51BA
|
||||
lbl_803D51BA:
|
||||
|
||||
# ROM: 0x3D21BA
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_06_LCTR"
|
||||
|
||||
.global lbl_803D51C6
|
||||
lbl_803D51C6:
|
||||
|
||||
# ROM: 0x3D21C6
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_07_LCTR"
|
||||
|
||||
.global lbl_803D51D2
|
||||
lbl_803D51D2:
|
||||
|
||||
# ROM: 0x3D21D2
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_08_LCTR"
|
||||
|
||||
.global lbl_803D51DE
|
||||
lbl_803D51DE:
|
||||
|
||||
# ROM: 0x3D21DE
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_09_LCTR"
|
||||
|
||||
.global lbl_803D51EA
|
||||
lbl_803D51EA:
|
||||
|
||||
# ROM: 0x3D21EA
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_10_LCTR"
|
||||
|
||||
.global lbl_803D51F6
|
||||
lbl_803D51F6:
|
||||
|
||||
# ROM: 0x3D21F6
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_11_LCTR"
|
||||
|
||||
.global lbl_803D5202
|
||||
lbl_803D5202:
|
||||
|
||||
# ROM: 0x3D2202
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_12_LCTR"
|
||||
|
||||
.global lbl_803D520E
|
||||
lbl_803D520E:
|
||||
|
||||
# ROM: 0x3D220E
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_13_LCTR"
|
||||
|
||||
.global lbl_803D521A
|
||||
lbl_803D521A:
|
||||
|
||||
# ROM: 0x3D221A
|
||||
.byte 0x47, 0x61
|
||||
.asciz "s_14_LCTR"
|
||||
.byte 0x3F, 0x3F
|
||||
.asciz "(??)"
|
||||
.balign 4
|
||||
|
|
|
@ -912,7 +912,7 @@ lbl_8015C714:
|
|||
/* 8015C794 001596F4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8015C798 001596F8 91 81 00 18 */ stw r12, 0x18(r1)
|
||||
/* 8015C79C 001596FC 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 8015C7A0 00159700 4B F2 0C B1 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8015C7A0 00159700 4B F2 0C B1 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8015C7A4 00159704 3C 60 80 3E */ lis r3, lbl_803E3348@ha
|
||||
/* 8015C7A8 00159708 38 A0 00 00 */ li r5, 0
|
||||
/* 8015C7AC 0015970C 38 03 33 48 */ addi r0, r3, lbl_803E3348@l
|
||||
|
|
|
@ -11231,13 +11231,13 @@ lbl_80129A50:
|
|||
/* 80129A5C 001269BC 3C 80 80 57 */ lis r4, lbl_8056F8A4@ha
|
||||
/* 80129A60 001269C0 7C E3 3B 78 */ mr r3, r7
|
||||
/* 80129A64 001269C4 38 84 F8 A4 */ addi r4, r4, lbl_8056F8A4@l
|
||||
/* 80129A68 001269C8 4B F0 13 59 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 80129A68 001269C8 4B F0 13 59 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
/* 80129A6C 001269CC 48 00 00 14 */ b lbl_80129A80
|
||||
lbl_80129A70:
|
||||
/* 80129A70 001269D0 3C 80 80 57 */ lis r4, lbl_8056F894@ha
|
||||
/* 80129A74 001269D4 7C E3 3B 78 */ mr r3, r7
|
||||
/* 80129A78 001269D8 38 84 F8 94 */ addi r4, r4, lbl_8056F894@l
|
||||
/* 80129A7C 001269DC 4B F0 13 45 */ bl SetParticleEffectState__9CAnimDataFQ24rstl6stringbR13CStateManager
|
||||
/* 80129A7C 001269DC 4B F0 13 45 */ bl "SetParticleEffectState__9CAnimDataFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>bR13CStateManager"
|
||||
lbl_80129A80:
|
||||
/* 80129A80 001269E0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80129A84 001269E4 7C 08 03 A6 */ mtlr r0
|
||||
|
@ -11904,7 +11904,7 @@ Accept__12CSpacePirateFR8IVisitor:
|
|||
/* 8012A3B4 00127314 91 21 00 18 */ stw r9, 0x18(r1)
|
||||
/* 8012A3B8 00127318 7D 69 5B 78 */ mr r9, r11
|
||||
/* 8012A3BC 0012731C 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 8012A3C0 00127320 4B F5 30 91 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8012A3C0 00127320 4B F5 30 91 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8012A3C4 00127324 3C 60 80 3E */ lis r3, lbl_803E0800@ha
|
||||
/* 8012A3C8 00127328 7F 84 E3 78 */ mr r4, r28
|
||||
/* 8012A3CC 0012732C 38 03 08 00 */ addi r0, r3, lbl_803E0800@l
|
||||
|
|
|
@ -1958,7 +1958,7 @@ Accept__10CSpankWeedFR8IVisitor:
|
|||
/* 801564A0 00153400 91 21 00 18 */ stw r9, 0x18(r1)
|
||||
/* 801564A4 00153404 7F 89 E3 78 */ mr r9, r28
|
||||
/* 801564A8 00153408 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 801564AC 0015340C 4B F2 6F A5 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801564AC 0015340C 4B F2 6F A5 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801564B0 00153410 3C 80 80 3E */ lis r4, lbl_803E2D28@ha
|
||||
/* 801564B4 00153414 3C 60 80 5A */ lis r3, sZeroVector__9CVector3f@ha
|
||||
/* 801564B8 00153418 38 04 2D 28 */ addi r0, r4, lbl_803E2D28@l
|
||||
|
|
|
@ -9258,7 +9258,7 @@ Accept__8CThardusFR8IVisitor:
|
|||
/* 801E2304 001DF264 83 C1 01 F4 */ lwz r30, 0x1f4(r1)
|
||||
/* 801E2308 001DF268 83 E1 01 F8 */ lwz r31, 0x1f8(r1)
|
||||
/* 801E230C 001DF26C 81 C1 01 FC */ lwz r14, 0x1fc(r1)
|
||||
/* 801E2310 001DF270 4B E9 B1 41 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 801E2310 001DF270 4B E9 B1 41 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 801E2314 001DF274 3C 60 80 3E */ lis r3, lbl_803E5CE0@ha
|
||||
/* 801E2318 001DF278 38 A0 00 00 */ li r5, 0
|
||||
/* 801E231C 001DF27C 38 63 5C E0 */ addi r3, r3, lbl_803E5CE0@l
|
||||
|
|
|
@ -2798,7 +2798,7 @@ Accept__22CThardusRockProjectileFR8IVisitor:
|
|||
/* 80205BC4 00202B24 91 21 00 18 */ stw r9, 0x18(r1)
|
||||
/* 80205BC8 00202B28 7D 89 63 78 */ mr r9, r12
|
||||
/* 80205BCC 00202B2C 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 80205BD0 00202B30 4B E7 78 81 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80205BD0 00202B30 4B E7 78 81 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80205BD4 00202B34 3C 60 80 3E */ lis r3, lbl_803E6BE0@ha
|
||||
/* 80205BD8 00202B38 C0 02 B0 88 */ lfs f0, lbl_805ACDA8@sda21(r2)
|
||||
/* 80205BDC 00202B3C 38 03 6B E0 */ addi r0, r3, lbl_803E6BE0@l
|
||||
|
|
|
@ -1557,7 +1557,7 @@ sub_8025ece4:
|
|||
/* 8025ED8C 0025BCEC 48 0B 37 51 */ bl Float__9CRandom16Fv
|
||||
/* 8025ED90 0025BCF0 C0 62 BA 44 */ lfs f3, lbl_805AD764@sda21(r2)
|
||||
/* 8025ED94 0025BCF4 C0 02 BA 4C */ lfs f0, lbl_805AD76C@sda21(r2)
|
||||
/* 8025ED98 0025BCF8 C0 42 96 A0 */ lfs f2, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 8025ED98 0025BCF8 C0 42 96 A0 */ lfs f2, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 8025ED9C 0025BCFC EC 23 00 7A */ fmadds f1, f3, f1, f0
|
||||
/* 8025EDA0 0025BD00 C0 02 BA 34 */ lfs f0, lbl_805AD754@sda21(r2)
|
||||
/* 8025EDA4 0025BD04 FC 80 10 50 */ fneg f4, f2
|
||||
|
@ -3812,7 +3812,7 @@ __ct__9CTryclops:
|
|||
/* 80260DF4 0025DD54 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 80260DF8 0025DD58 7D 8A 63 78 */ mr r10, r12
|
||||
/* 80260DFC 0025DD5C 91 61 00 1C */ stw r11, 0x1c(r1)
|
||||
/* 80260E00 0025DD60 4B E1 C6 51 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80260E00 0025DD60 4B E1 C6 51 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80260E04 0025DD64 3C 60 80 3F */ lis r3, lbl_803E9A40@ha
|
||||
/* 80260E08 0025DD68 C0 22 BA 3C */ lfs f1, lbl_805AD75C@sda21(r2)
|
||||
/* 80260E0C 0025DD6C 38 03 9A 40 */ addi r0, r3, lbl_803E9A40@l
|
||||
|
|
|
@ -3484,7 +3484,7 @@ LaunchBoid__17CWallCrawlerSwarmFRQ217CWallCrawlerSwarm5CBoidRC9CVector3f:
|
|||
/* 801EA594 001E74F4 D0 41 00 44 */ stfs f2, 0x44(r1)
|
||||
/* 801EA598 001E74F8 40 82 00 28 */ bne lbl_801EA5C0
|
||||
/* 801EA59C 001E74FC C0 22 AD C8 */ lfs f1, lbl_805ACAE8@sda21(r2)
|
||||
/* 801EA5A0 001E7500 C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 801EA5A0 001E7500 C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 801EA5A4 001E7504 EC 21 00 24 */ fdivs f1, f1, f0
|
||||
/* 801EA5A8 001E7508 48 12 AF 59 */ bl SqrtF__5CMathFf
|
||||
/* 801EA5AC 001E750C C0 02 AD EC */ lfs f0, lbl_805ACB0C@sda21(r2)
|
||||
|
@ -3506,7 +3506,7 @@ lbl_801EA5E4:
|
|||
/* 801EA5E4 001E7544 C0 3D 00 04 */ lfs f1, 4(r29)
|
||||
/* 801EA5E8 001E7548 38 61 00 30 */ addi r3, r1, 0x30
|
||||
/* 801EA5EC 001E754C C0 01 00 40 */ lfs f0, 0x40(r1)
|
||||
/* 801EA5F0 001E7550 C0 62 96 A0 */ lfs f3, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 801EA5F0 001E7550 C0 62 96 A0 */ lfs f3, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 801EA5F4 001E7554 EC 81 00 28 */ fsubs f4, f1, f0
|
||||
/* 801EA5F8 001E7558 C0 02 AD A0 */ lfs f0, lbl_805ACAC0@sda21(r2)
|
||||
/* 801EA5FC 001E755C C0 5D 00 00 */ lfs f2, 0(r29)
|
||||
|
@ -5230,7 +5230,7 @@ lbl_801EBF0C:
|
|||
lbl_801EBF20:
|
||||
/* 801EBF20 001E8E80 57 A0 06 3F */ clrlwi. r0, r29, 0x18
|
||||
/* 801EBF24 001E8E84 40 82 06 30 */ bne lbl_801EC554
|
||||
/* 801EBF28 001E8E88 C0 22 96 A0 */ lfs f1, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 801EBF28 001E8E88 C0 22 96 A0 */ lfs f1, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 801EBF2C 001E8E8C 80 1B 05 58 */ lwz r0, 0x558(r27)
|
||||
/* 801EBF30 001E8E90 FC 00 08 90 */ fmr f0, f1
|
||||
/* 801EBF34 001E8E94 2C 00 00 01 */ cmpwi r0, 1
|
||||
|
|
|
@ -1129,7 +1129,7 @@ ProjectPointToPlane__11CWallWalkerFRC9CVector3fRC9CVector3fRC9CVector3f:
|
|||
/* 802692FC 0026625C 83 C1 00 F0 */ lwz r30, 0xf0(r1)
|
||||
/* 80269300 00266260 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 80269304 00266264 8B E1 00 F7 */ lbz r31, 0xf7(r1)
|
||||
/* 80269308 00266268 4B E1 41 49 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80269308 00266268 4B E1 41 49 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8026930C 0026626C 3C 60 80 3F */ lis r3, lbl_803EA0F0@ha
|
||||
/* 80269310 00266270 3C 80 80 5A */ lis r4, sZeroVector__9CVector3f@ha
|
||||
/* 80269314 00266274 38 03 A0 F0 */ addi r0, r3, lbl_803EA0F0@l
|
||||
|
|
|
@ -7054,7 +7054,7 @@ lbl_80110BE0:
|
|||
/* 80110C78 0010DBD8 91 41 00 18 */ stw r10, 0x18(r1)
|
||||
/* 80110C7C 0010DBDC 7D 6A 5B 78 */ mr r10, r11
|
||||
/* 80110C80 0010DBE0 90 01 00 1C */ stw r0, 0x1c(r1)
|
||||
/* 80110C84 0010DBE4 4B F6 C7 CD */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 80110C84 0010DBE4 4B F6 C7 CD */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 80110C88 0010DBE8 3C 60 80 3E */ lis r3, lbl_803DFF90@ha
|
||||
/* 80110C8C 0010DBEC 3A F8 05 70 */ addi r23, r24, 0x570
|
||||
/* 80110C90 0010DBF0 38 03 FF 90 */ addi r0, r3, lbl_803DFF90@l
|
||||
|
|
|
@ -2995,7 +2995,7 @@ lbl_800C7A14:
|
|||
/* 800C7B74 000C4AD4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 800C7B78 000C4AD8 90 01 00 20 */ stw r0, 0x20(r1)
|
||||
/* 800C7B7C 000C4ADC 93 41 00 24 */ stw r26, 0x24(r1)
|
||||
/* 800C7B80 000C4AE0 48 19 4E 6D */ bl __ct__7CPuffer
|
||||
/* 800C7B80 000C4AE0 48 19 4E 6D */ bl "__ct__7CPufferF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC16CActorParametersRC14CPatternedInfofUiRC11CDamageInfoUifbbbRC11CDamageInfoUs"
|
||||
/* 800C7B84 000C4AE4 7C 77 1B 78 */ mr r23, r3
|
||||
lbl_800C7B88:
|
||||
/* 800C7B88 000C4AE8 7E C0 07 75 */ extsb. r0, r22
|
||||
|
|
|
@ -1001,7 +1001,7 @@ __ct__11CEnergyBall:
|
|||
/* 8029FDC0 0029CD20 A3 A1 01 02 */ lhz r29, 0x102(r1)
|
||||
/* 8029FDC4 0029CD24 83 C1 01 04 */ lwz r30, 0x104(r1)
|
||||
/* 8029FDC8 0029CD28 83 E1 01 08 */ lwz r31, 0x108(r1)
|
||||
/* 8029FDCC 0029CD2C 4B DD D6 85 */ bl "__ct__10CPatternedFUi9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParametersUi"
|
||||
/* 8029FDCC 0029CD2C 4B DD D6 85 */ bl "__ct__10CPatternedFQ210CPatterned10ECharacter9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Q210CPatterned11EFlavorTypeRC11CEntityInfoRC12CTransform4fRC10CModelDataRC14CPatternedInfoQ210CPatterned13EMovementTypeQ210CPatterned13EColliderType9EBodyTypeRC16CActorParameters17EKnockBackVariant"
|
||||
/* 8029FDD0 0029CD30 3C 80 80 3F */ lis r4, lbl_803EC0A0@ha
|
||||
/* 8029FDD4 0029CD34 38 75 05 68 */ addi r3, r21, 0x568
|
||||
/* 8029FDD8 0029CD38 38 04 C0 A0 */ addi r0, r4, lbl_803EC0A0@l
|
||||
|
|
|
@ -458,8 +458,8 @@ lbl_8025D1C0:
|
|||
/* 8025D1D4 0025A134 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8025D1D8 0025A138 4E 80 00 20 */ blr
|
||||
|
||||
.global "__ct__5CFireF25TToken<15CGenDescription>9TUniqueId7TAreaIdb9TUniqueIdRC12CTransform4fRC11CDamageInfoRC6CAABoxRC9CVector3fbUibbbffff"
|
||||
"__ct__5CFireF25TToken<15CGenDescription>9TUniqueId7TAreaIdb9TUniqueIdRC12CTransform4fRC11CDamageInfoRC6CAABoxRC9CVector3fbUibbbffff":
|
||||
.global "__ct__5CFireFRC25TToken<15CGenDescription>9TUniqueId7TAreaIdb9TUniqueIdRC12CTransform4fRC11CDamageInfoRC6CAABoxRC9CVector3fbUibbbffff"
|
||||
"__ct__5CFireFRC25TToken<15CGenDescription>9TUniqueId7TAreaIdb9TUniqueIdRC12CTransform4fRC11CDamageInfoRC6CAABoxRC9CVector3fbUibbbffff":
|
||||
/* 8025D1DC 0025A13C 94 21 FE 50 */ stwu r1, -0x1b0(r1)
|
||||
/* 8025D1E0 0025A140 7C 08 02 A6 */ mflr r0
|
||||
/* 8025D1E4 0025A144 90 01 01 B4 */ stw r0, 0x1b4(r1)
|
||||
|
|
|
@ -2672,7 +2672,7 @@ lbl_800FDC10:
|
|||
/* 800FDC2C 000FAB8C 38 80 00 00 */ li r4, 0
|
||||
/* 800FDC30 000FAB90 48 24 32 11 */ bl __dt__6CTokenFv
|
||||
lbl_800FDC34:
|
||||
/* 800FDC34 000FAB94 C0 02 96 A0 */ lfs f0, skGravityConstant__13CPhysicsActor@sda21(r2)
|
||||
/* 800FDC34 000FAB94 C0 02 96 A0 */ lfs f0, kGravityAccel__13CPhysicsActor@sda21(r2)
|
||||
/* 800FDC38 000FAB98 C0 5D 00 E8 */ lfs f2, 0xe8(r29)
|
||||
/* 800FDC3C 000FAB9C FC 20 00 50 */ fneg f1, f0
|
||||
/* 800FDC40 000FABA0 C0 02 93 64 */ lfs f0, lbl_805AB084@sda21(r2)
|
||||
|
|
|
@ -69,7 +69,7 @@ private:
|
|||
class CPASAnimState {
|
||||
public:
|
||||
CPASAnimParm GetAnimParmData(int, unsigned int) const;
|
||||
|
||||
|
||||
pas::EAnimationState GetStateId() const { return x0_id; }
|
||||
|
||||
private:
|
||||
|
|
|
@ -13,9 +13,6 @@ class CRelAngle;
|
|||
|
||||
class CTransform4f {
|
||||
public:
|
||||
// CTransform4f() {
|
||||
// // TODO
|
||||
// }
|
||||
CTransform4f(const CVector3f& m0, const CVector3f& m1, const CVector3f& m2, const CVector3f& pos)
|
||||
: m0(m0), posX(pos.GetX()), m1(m1), posY(pos.GetY()), m2(m2), posZ(pos.GetZ()) {}
|
||||
CTransform4f(float, float, float, float, float, float, float, float, float, float, float, float);
|
||||
|
@ -70,8 +67,8 @@ public:
|
|||
// RotateX__12CTransform4fFRC9CRelAngle
|
||||
// RotateY__12CTransform4fFRC9CRelAngle
|
||||
static CTransform4f RotateZ(const CRelAngle&);
|
||||
// Scale__12CTransform4fFf
|
||||
// Scale__12CTransform4fFfff
|
||||
static CTransform4f Scale(float);
|
||||
static CTransform4f Scale(float, float, float);
|
||||
static CTransform4f Scale(const CVector3f&);
|
||||
// ScaleBy__12CTransform4fFf
|
||||
// SetRotation__12CTransform4fFRC12CTransform4f
|
||||
|
|
|
@ -45,7 +45,13 @@ public:
|
|||
bool CanBeNormalized() const;
|
||||
static float GetAngleDiff(const CVector3f& a, const CVector3f& b);
|
||||
bool IsEqu(const CVector3f& other, float epsilon = FLT_EPSILON) const;
|
||||
// Lerp__9CVector3fFRC9CVector3fRC9CVector3ff
|
||||
static CVector3f Lerp(const CVector3f& a, const CVector3f& b, float v) {
|
||||
float inv = 1.f - v;
|
||||
float x = inv * a.GetX() + v * b.GetX();
|
||||
float y = inv * a.GetY() + v * b.GetY();
|
||||
float z = inv * a.GetZ() + v * b.GetZ();
|
||||
return CVector3f(x, y, z);
|
||||
}
|
||||
inline float MagSquared() const { return GetX() * GetX() + GetY() * GetY() + GetZ() * GetZ(); }
|
||||
static CVector3f Cross(const CVector3f& lhs, const CVector3f& rhs) {
|
||||
const float x = (lhs.GetY() * rhs.GetZ()) - (rhs.GetY() * lhs.GetZ());
|
||||
|
|
|
@ -14,14 +14,12 @@ class CPASAnimParmData;
|
|||
class CRandom16;
|
||||
|
||||
class CBodyController {
|
||||
|
||||
public:
|
||||
const CPASDatabase& GetPASDatabase() const;
|
||||
|
||||
CActor& GetOwner() const { return x0_actor; }
|
||||
CBodyStateCmdMgr& CommandMgr() { return x4_cmdMgr; }
|
||||
const CBodyStateCmdMgr& GetCommandMgr() const { return x4_cmdMgr; }
|
||||
|
||||
|
||||
const CPASDatabase& GetPASDatabase() const;
|
||||
float GetAnimTimeRemaining() const;
|
||||
void SetDeltaRotation(const CQuaternion& q);
|
||||
void SetCurrentAnimation(const CAnimPlaybackParms& parms, bool loop, bool noTrans);
|
||||
|
@ -29,29 +27,43 @@ public:
|
|||
void EnableAnimation(bool enable);
|
||||
void PlayBestAnimation(const CPASAnimParmData& parms, CRandom16& r);
|
||||
bool HasIceBreakoutState();
|
||||
void Activate(CStateManager& mgr);
|
||||
|
||||
void SetFallState(pas::EFallState state); // { x2f0_fallState = state; }
|
||||
pas::EFallState GetFallState() const; // { return x2f0_fallState; }
|
||||
pas::EFallState GetFallState() const; // { return x2f0_fallState; }
|
||||
int GetCurrentAnimId() const { return x2f8_curAnim; }
|
||||
pas::ELocomotionType GetLocomotionType() const { return x2ec_locomotionType; }
|
||||
bool IsAnimationOver() const { return x300_24_animationOver; }
|
||||
bool ShouldPlayDeathAnims() const { return x300_28_playDeathAnims; }
|
||||
float GetRestrictedFlyerMoveSpeed() const { return x330_restrictedFlyerMoveSpeed; }
|
||||
void SetRestrictedFlyerMoveSpeed(float speed) { x330_restrictedFlyerMoveSpeed = speed; }
|
||||
|
||||
private:
|
||||
CActor& x0_actor;
|
||||
CBodyStateCmdMgr x4_cmdMgr;
|
||||
CBodyStateInfo x2a4_bodyStateInfo;
|
||||
CQuaternion x2dc_rot;
|
||||
pas::ELocomotionType x2ec_locomotionType ;
|
||||
pas::EFallState x2f0_fallState ;
|
||||
pas::ELocomotionType x2ec_locomotionType;
|
||||
pas::EFallState x2f0_fallState;
|
||||
EBodyType x2f4_bodyType;
|
||||
int x2f8_curAnim ;
|
||||
int x2f8_curAnim;
|
||||
float x2fc_turnSpeed;
|
||||
bool x300_24_animationOver : 1;
|
||||
bool x300_25_active : 1;
|
||||
bool x300_26_frozen : 1;
|
||||
bool x300_27_hasBeenFrozen : 1;
|
||||
bool x300_28_playDeathAnims : 1;
|
||||
float x304_intoFreezeDur;
|
||||
float x308_frozenDur;
|
||||
float x30c_breakoutDur;
|
||||
float x310_timeFrozen;
|
||||
CVector3f x314_backedUpForce;
|
||||
float x320_fireDur;
|
||||
float x324_electrocutionDur;
|
||||
float x328_timeOnFire;
|
||||
float x32c_timeElectrocuting;
|
||||
float x330_restrictedFlyerMoveSpeed;
|
||||
};
|
||||
CHECK_SIZEOF(CBodyController, 0x334)
|
||||
|
||||
#endif // _CBODYCONTROLLER
|
||||
|
|
|
@ -1,47 +1,51 @@
|
|||
#ifndef _CBODYSTATECMDMGR
|
||||
#define _CBODYSTATECMDMGR
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "MetroidPrime/TGameTypes.hpp"
|
||||
|
||||
#include "Kyoto/Animation/CharacterCommon.hpp"
|
||||
#include "Kyoto/Math/CVector3f.hpp"
|
||||
|
||||
class CBodyStateCmd {
|
||||
EBodyStateCmd x4_cmd;
|
||||
enum ESteeringBlendMode {
|
||||
kSBM_Normal,
|
||||
kSBM_FullSpeed,
|
||||
kSBM_Clamped,
|
||||
};
|
||||
|
||||
class CBodyStateCmd {
|
||||
public:
|
||||
CBodyStateCmd(EBodyStateCmd cmd) : x4_cmd(cmd) {}
|
||||
virtual ~CBodyStateCmd(){};
|
||||
explicit CBodyStateCmd(EBodyStateCmd cmd) : x4_cmd(cmd) {}
|
||||
|
||||
EBodyStateCmd GetCommandId() const { return x4_cmd; }
|
||||
|
||||
private:
|
||||
EBodyStateCmd x4_cmd;
|
||||
};
|
||||
|
||||
class CBCAdditiveFlinchCmd : public CBodyStateCmd {
|
||||
float x8_weight;
|
||||
|
||||
public:
|
||||
CBCAdditiveFlinchCmd(float f) : CBodyStateCmd(kBSC_AdditiveFlinch), x8_weight(f) {}
|
||||
|
||||
float GetWeight() const { return x8_weight; }
|
||||
|
||||
private:
|
||||
float x8_weight;
|
||||
};
|
||||
|
||||
class CBCGenerateCmd : public CBodyStateCmd {
|
||||
pas::EGenerateType x8_type;
|
||||
CVector3f xc_targetPos;
|
||||
int x18_animId;
|
||||
bool x1c_24_targetTransform : 1;
|
||||
bool x1c_25_overrideAnim : 1;
|
||||
|
||||
public:
|
||||
explicit CBCGenerateCmd() : CBodyStateCmd(kBSC_Generate), xc_targetPos(0.f, 0.f, 0.f) {}
|
||||
|
||||
explicit CBCGenerateCmd(pas::EGenerateType type)
|
||||
: CBodyStateCmd(kBSC_Generate), x8_type(type), xc_targetPos(0.f, 0.f, 0.f) {}
|
||||
|
||||
explicit CBCGenerateCmd(pas::EGenerateType type, int animId)
|
||||
CBCGenerateCmd(pas::EGenerateType type, int animId)
|
||||
: CBodyStateCmd(kBSC_Generate)
|
||||
, x8_type(type)
|
||||
, xc_targetPos(0.f, 0.f, 0.f)
|
||||
, x18_animId(animId)
|
||||
, x1c_25_overrideAnim(animId != -1) {}
|
||||
|
||||
explicit CBCGenerateCmd(pas::EGenerateType type, const CVector3f& vec,
|
||||
bool targetTransform = false, bool overrideAnim = false)
|
||||
CBCGenerateCmd(pas::EGenerateType type, const CVector3f& vec, bool targetTransform = false,
|
||||
bool overrideAnim = false)
|
||||
: CBodyStateCmd(kBSC_Generate)
|
||||
, x8_type(type)
|
||||
, xc_targetPos(vec)
|
||||
|
@ -53,25 +57,20 @@ public:
|
|||
bool HasExitTargetPos() const { return x1c_24_targetTransform; }
|
||||
int GetSpecialAnimId() const { return x18_animId; }
|
||||
bool UseSpecialAnimId() const { return x1c_25_overrideAnim; }
|
||||
|
||||
private:
|
||||
pas::EGenerateType x8_type;
|
||||
CVector3f xc_targetPos;
|
||||
int x18_animId;
|
||||
bool x1c_24_targetTransform : 1;
|
||||
bool x1c_25_overrideAnim : 1;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCScriptedCmd : public CBodyStateCmd {
|
||||
s32 x8_anim;
|
||||
bool xc_24_loopAnim : 1;
|
||||
bool xc_25_timedLoop : 1;
|
||||
float x10_loopDur;
|
||||
|
||||
public:
|
||||
explicit CBCScriptedCmd()
|
||||
: CBodyStateCmd(kBSC_Scripted)
|
||||
, x8_anim(-1)
|
||||
, xc_24_loopAnim(false)
|
||||
, xc_25_timedLoop(false)
|
||||
, x10_loopDur(0.f) {}
|
||||
|
||||
explicit CBCScriptedCmd(int i, bool b1, bool b2, float f)
|
||||
CBCScriptedCmd(int i, bool b1, bool b2, float f)
|
||||
: CBodyStateCmd(kBSC_Scripted)
|
||||
, x8_anim(i)
|
||||
, xc_24_loopAnim(b1)
|
||||
|
@ -82,16 +81,19 @@ public:
|
|||
bool IsLooped() const { return xc_24_loopAnim; }
|
||||
bool GetUseLoopDuration() const { return xc_25_timedLoop; }
|
||||
float GetLoopDuration() const { return x10_loopDur; }
|
||||
|
||||
private:
|
||||
int x8_anim;
|
||||
bool xc_24_loopAnim : 1;
|
||||
bool xc_25_timedLoop : 1;
|
||||
float x10_loopDur;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCStepCmd : public CBodyStateCmd {
|
||||
public:
|
||||
explicit CBCStepCmd()
|
||||
: CBodyStateCmd(kBSC_Step), x8_dir(pas::kSD_Invalid), xc_type(pas::kStep_Normal) {}
|
||||
|
||||
explicit CBCStepCmd(pas::EStepDirection dir, pas::EStepType type)
|
||||
CBCStepCmd(pas::EStepDirection dir, pas::EStepType type)
|
||||
: CBodyStateCmd(kBSC_Step), x8_dir(dir), xc_type(type) {}
|
||||
|
||||
pas::EStepDirection GetStepDirection() const { return x8_dir; }
|
||||
|
@ -106,8 +108,8 @@ private:
|
|||
|
||||
class CBCTauntCmd : public CBodyStateCmd {
|
||||
public:
|
||||
explicit CBCTauntCmd() : CBodyStateCmd(kBSC_Taunt), x8_type(pas::kTT_Invalid) {}
|
||||
explicit CBCTauntCmd(pas::ETauntType type) : CBodyStateCmd(kBSC_Taunt), x8_type(type) {}
|
||||
CBCTauntCmd(pas::ETauntType type) : CBodyStateCmd(kBSC_Taunt), x8_type(type) {}
|
||||
|
||||
pas::ETauntType GetTauntType() const { return x8_type; }
|
||||
|
||||
private:
|
||||
|
@ -118,8 +120,8 @@ private:
|
|||
|
||||
class CBCGetupCmd : public CBodyStateCmd {
|
||||
public:
|
||||
explicit CBCGetupCmd() : CBodyStateCmd(kBSC_Getup), x8_type(pas::kGetup_Invalid) {}
|
||||
explicit CBCGetupCmd(pas::EGetupType type) : CBodyStateCmd(kBSC_Getup), x8_type(type) {}
|
||||
CBCGetupCmd(pas::EGetupType type) : CBodyStateCmd(kBSC_Getup), x8_type(type) {}
|
||||
|
||||
pas::EGetupType GetGetupType() const { return x8_type; }
|
||||
|
||||
private:
|
||||
|
@ -130,13 +132,7 @@ private:
|
|||
|
||||
class CBCAdditiveReactionCmd : public CBodyStateCmd {
|
||||
public:
|
||||
explicit CBCAdditiveReactionCmd()
|
||||
: CBodyStateCmd(kBSC_AdditiveReaction)
|
||||
, x8_weight(1.f)
|
||||
, xc_type(pas::kART_Invalid)
|
||||
, x10_active(false) {}
|
||||
|
||||
explicit CBCAdditiveReactionCmd(pas::EAdditiveReactionType type, float weight, bool active)
|
||||
CBCAdditiveReactionCmd(pas::EAdditiveReactionType type, float weight, bool active)
|
||||
: CBodyStateCmd(kBSC_AdditiveReaction), x8_weight(weight), xc_type(type), x10_active(active) {}
|
||||
|
||||
pas::EAdditiveReactionType GetType() const { return xc_type; }
|
||||
|
@ -153,9 +149,7 @@ private:
|
|||
|
||||
class CBCSlideCmd : public CBodyStateCmd {
|
||||
public:
|
||||
explicit CBCSlideCmd()
|
||||
: CBodyStateCmd(kBSC_Slide), x8_type(pas::kSlide_Invalid), xc_dir(CVector3f::Zero()) {}
|
||||
explicit CBCSlideCmd(pas::ESlideType type, const CVector3f& dir)
|
||||
CBCSlideCmd(pas::ESlideType type, const CVector3f& dir)
|
||||
: CBodyStateCmd(kBSC_Slide), x8_type(type), xc_dir(dir) {}
|
||||
|
||||
pas::ESlideType GetSlideType() const { return x8_type; }
|
||||
|
@ -170,10 +164,7 @@ private:
|
|||
|
||||
class CBCKnockDownCmd : public CBodyStateCmd {
|
||||
public:
|
||||
explicit CBCKnockDownCmd()
|
||||
: CBodyStateCmd(kBSC_KnockDown), x8_dir(0.f, 0.f, 0.f), x14_severity(pas::kS_Invalid) {}
|
||||
|
||||
explicit CBCKnockDownCmd(const CVector3f& vec, pas::ESeverity severity)
|
||||
CBCKnockDownCmd(const CVector3f& vec, pas::ESeverity severity)
|
||||
: CBodyStateCmd(kBSC_KnockDown), x8_dir(vec), x14_severity(severity) {}
|
||||
|
||||
const CVector3f& GetHitDirection() const { return x8_dir; }
|
||||
|
@ -188,10 +179,7 @@ private:
|
|||
|
||||
class CBCKnockBackCmd : public CBodyStateCmd {
|
||||
public:
|
||||
explicit CBCKnockBackCmd()
|
||||
: CBodyStateCmd(kBSC_KnockBack), x8_dir(0.f, 0.f, 0.f), x14_severity(pas::kS_Invalid) {}
|
||||
|
||||
explicit CBCKnockBackCmd(const CVector3f& vec, pas::ESeverity severity)
|
||||
CBCKnockBackCmd(const CVector3f& vec, pas::ESeverity severity)
|
||||
: CBodyStateCmd(kBSC_KnockBack), x8_dir(vec), x14_severity(severity) {}
|
||||
|
||||
const CVector3f& GetHitDirection() const { return x8_dir; }
|
||||
|
@ -204,9 +192,207 @@ private:
|
|||
|
||||
//
|
||||
|
||||
class CBCMeleeAttackCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCMeleeAttackCmd(pas::ESeverity severity)
|
||||
: CBodyStateCmd(kBSC_MeleeAttack)
|
||||
, x8_severity(severity)
|
||||
, xc_targetPos(0.f, 0.f, 0.f)
|
||||
, x18_hasTargetPos(false) {}
|
||||
|
||||
CBCMeleeAttackCmd(pas::ESeverity severity, const CVector3f& target)
|
||||
: CBodyStateCmd(kBSC_MeleeAttack)
|
||||
, x8_severity(severity)
|
||||
, xc_targetPos(target)
|
||||
, x18_hasTargetPos(true) {}
|
||||
|
||||
pas::ESeverity GetAttackSeverity() const { return x8_severity; }
|
||||
bool HasAttackTargetPos() const { return x18_hasTargetPos; }
|
||||
const CVector3f& GetAttackTargetPos() const { return xc_targetPos; }
|
||||
|
||||
private:
|
||||
pas::ESeverity x8_severity;
|
||||
CVector3f xc_targetPos;
|
||||
bool x18_hasTargetPos;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCProjectileAttackCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCProjectileAttackCmd(pas::ESeverity severity, const CVector3f& vec, bool b)
|
||||
: CBodyStateCmd(kBSC_ProjectileAttack)
|
||||
, x8_severity(severity)
|
||||
, xc_target(vec)
|
||||
, x18_blendAnims(b) {}
|
||||
|
||||
pas::ESeverity GetAttackSeverity() const { return x8_severity; }
|
||||
const CVector3f& GetTargetPosition() const { return xc_target; }
|
||||
bool BlendTwoClosest() const { return x18_blendAnims; }
|
||||
|
||||
private:
|
||||
pas::ESeverity x8_severity;
|
||||
CVector3f xc_target;
|
||||
bool x18_blendAnims;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCLoopAttackCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCLoopAttackCmd(pas::ELoopAttackType type, bool waitForAnimOver = false)
|
||||
: CBodyStateCmd(kBSC_LoopAttack), x8_type(type), xc_waitForAnimOver(waitForAnimOver) {}
|
||||
|
||||
pas::ELoopAttackType GetAttackType() const { return x8_type; }
|
||||
bool WaitForAnimOver() const { return xc_waitForAnimOver; }
|
||||
|
||||
private:
|
||||
pas::ELoopAttackType x8_type;
|
||||
bool xc_waitForAnimOver;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCLoopReactionCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCLoopReactionCmd(pas::EReactionType type) : CBodyStateCmd(kBSC_LoopReaction), x8_type(type) {}
|
||||
|
||||
pas::EReactionType GetReactionType() const { return x8_type; }
|
||||
|
||||
private:
|
||||
pas::EReactionType x8_type;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCLoopHitReactionCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCLoopHitReactionCmd(pas::EReactionType type)
|
||||
: CBodyStateCmd(kBSC_LoopHitReaction), x8_type(type) {}
|
||||
|
||||
pas::EReactionType GetReactionType() const { return x8_type; }
|
||||
|
||||
private:
|
||||
pas::EReactionType x8_type;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCHurledCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCHurledCmd(const CVector3f& dir, const CVector3f& launchVel, bool startInLoop = false)
|
||||
: CBodyStateCmd(kBSC_Hurled)
|
||||
, x8_direction(dir)
|
||||
, x14_launchVel(launchVel)
|
||||
, x20_startInKnockLoop(startInLoop) {}
|
||||
|
||||
const CVector3f& GetHitDirection() const { return x8_direction; }
|
||||
const CVector3f& GetLaunchVelocity() const { return x14_launchVel; }
|
||||
bool GetSkipLaunchState() const { return x20_startInKnockLoop; }
|
||||
void SetSkipLaunchState(bool s) { x20_startInKnockLoop = s; }
|
||||
|
||||
private:
|
||||
CVector3f x8_direction;
|
||||
CVector3f x14_launchVel;
|
||||
bool x20_startInKnockLoop;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCJumpCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCJumpCmd(const CVector3f& wp1, pas::EJumpType type, bool startInLoop = false)
|
||||
: CBodyStateCmd(kBSC_Jump)
|
||||
, x8_type(type)
|
||||
, xc_waypoint1(wp1)
|
||||
, x18_waypoint2(0.f, 0.f, 0.f)
|
||||
, x24_24_wallJump(false)
|
||||
, x24_25_startInJumpLoop(startInLoop) {}
|
||||
|
||||
CBCJumpCmd(const CVector3f& wp1, const CVector3f& wp2, pas::EJumpType type)
|
||||
: CBodyStateCmd(kBSC_Jump)
|
||||
, x8_type(type)
|
||||
, xc_waypoint1(wp1)
|
||||
, x18_waypoint2(wp2)
|
||||
, x24_24_wallJump(true)
|
||||
, x24_25_startInJumpLoop(false) {}
|
||||
|
||||
pas::EJumpType GetJumpType() const { return x8_type; }
|
||||
const CVector3f& GetJumpTarget() const { return xc_waypoint1; }
|
||||
const CVector3f& GetSecondJumpTarget() const { return x18_waypoint2; }
|
||||
bool IsWallJump() const { return x24_24_wallJump; }
|
||||
bool StartInJumpLoop() const { return x24_25_startInJumpLoop; }
|
||||
|
||||
private:
|
||||
pas::EJumpType x8_type;
|
||||
CVector3f xc_waypoint1;
|
||||
CVector3f x18_waypoint2;
|
||||
bool x24_24_wallJump : 1;
|
||||
bool x24_25_startInJumpLoop : 1;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCCoverCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCCoverCmd(pas::ECoverDirection dir, const CVector3f& v1, const CVector3f& v2)
|
||||
: CBodyStateCmd(kBSC_Cover), x8_dir(dir), xc_targetPos(v1), x18_alignDir(v2) {}
|
||||
|
||||
pas::ECoverDirection GetDirection() const { return x8_dir; }
|
||||
const CVector3f& GetTarget() const { return xc_targetPos; }
|
||||
const CVector3f& GetAlignDirection() const { return x18_alignDir; }
|
||||
|
||||
private:
|
||||
pas::ECoverDirection x8_dir;
|
||||
CVector3f xc_targetPos;
|
||||
CVector3f x18_alignDir;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCWallHangCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCWallHangCmd(TUniqueId uid) : CBodyStateCmd(kBSC_WallHang), x8_wpId(uid) {}
|
||||
|
||||
TUniqueId GetTarget() const { return x8_wpId; }
|
||||
|
||||
private:
|
||||
TUniqueId x8_wpId;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCAdditiveAimCmd : public CBodyStateCmd {
|
||||
public:
|
||||
CBCAdditiveAimCmd() : CBodyStateCmd(kBSC_AdditiveAim) {}
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBCLocomotionCmd {
|
||||
public:
|
||||
CBCLocomotionCmd(const CVector3f& move, const CVector3f& face, float weight)
|
||||
: x0_move(move), xc_face(face), x18_weight(weight) {}
|
||||
|
||||
const CVector3f& GetMoveVector() const { return x0_move; }
|
||||
const CVector3f& GetFaceVector() const { return xc_face; }
|
||||
float GetWeight() const { return x18_weight; }
|
||||
|
||||
private:
|
||||
CVector3f x0_move;
|
||||
CVector3f xc_face;
|
||||
float x18_weight;
|
||||
};
|
||||
|
||||
//
|
||||
|
||||
class CBodyStateCmdMgr {
|
||||
public:
|
||||
void ClearLocomotionCmds();
|
||||
void DeliverCmd(const CBCLocomotionCmd& cmd);
|
||||
CBodyStateCmd* GetCmd(EBodyStateCmd cmd);
|
||||
|
||||
const CVector3f& GetMoveVector() const { return x0_move; }
|
||||
const CVector3f& GetTargetVector() const { return x18_target; }
|
||||
|
||||
private:
|
||||
|
@ -214,7 +400,41 @@ private:
|
|||
CVector3f xc_face;
|
||||
CVector3f x18_target;
|
||||
CVector3f x24_additiveTarget;
|
||||
uchar x30_pad[0x270];
|
||||
ESteeringBlendMode x30_steeringMode;
|
||||
float x34_steeringSpeedMin;
|
||||
float x38_steeringSpeedMax;
|
||||
float x3c_steeringSpeed;
|
||||
rstl::reserved_vector< CBodyStateCmd*, 28 > x40_commandTable;
|
||||
uint xb4_deliveredCmdMask;
|
||||
CBCGetupCmd xb8_getup;
|
||||
CBCStepCmd xc4_step;
|
||||
CBodyStateCmd xd4_die;
|
||||
CBCKnockDownCmd xdc_knockDown;
|
||||
CBCKnockBackCmd xf4_knockBack;
|
||||
CBCMeleeAttackCmd x10c_meleeAttack;
|
||||
CBCProjectileAttackCmd x128_projectileAttack;
|
||||
CBCLoopAttackCmd x144_loopAttack;
|
||||
CBCLoopReactionCmd x154_loopReaction;
|
||||
CBCLoopHitReactionCmd x160_loopHitReaction;
|
||||
CBodyStateCmd x16c_exitState;
|
||||
CBodyStateCmd x174_leanFromCover;
|
||||
CBodyStateCmd x17c_nextState;
|
||||
CBodyStateCmd x184_maintainVelocity;
|
||||
CBCGenerateCmd x18c_generate;
|
||||
CBCHurledCmd x1ac_hurled;
|
||||
CBCJumpCmd x1d0_jump;
|
||||
CBCSlideCmd x1f8_slide;
|
||||
CBCTauntCmd x210_taunt;
|
||||
CBCScriptedCmd x21c_scripted;
|
||||
CBCCoverCmd x230_cover;
|
||||
CBCWallHangCmd x254_wallHang;
|
||||
CBodyStateCmd x260_locomotion;
|
||||
CBodyStateCmd x268_additiveIdle;
|
||||
CBCAdditiveAimCmd x270_additiveAim;
|
||||
CBCAdditiveFlinchCmd x278_additiveFlinch;
|
||||
CBCAdditiveReactionCmd x284_additiveReaction;
|
||||
CBodyStateCmd x298_stopReaction;
|
||||
};
|
||||
CHECK_SIZEOF(CBodyStateCmdMgr, 0x2a0)
|
||||
|
||||
#endif // _CBODYSTATECMDMGR
|
||||
|
|
|
@ -257,6 +257,7 @@ public:
|
|||
void DrawTouchBounds() const;
|
||||
bool IsModelOpaque(const CStateManager& mgr) const;
|
||||
void RenderInternal(const CStateManager& mgr) const;
|
||||
void CreateShadow(bool);
|
||||
|
||||
const CTransform4f& GetTransform() const { return x34_transform; }
|
||||
void SetTransform(const CTransform4f& xf) {
|
||||
|
|
|
@ -38,9 +38,7 @@ public:
|
|||
x220_24_animating = true;
|
||||
}
|
||||
void SetIsAnimating(bool v) { x220_24_animating = v; }
|
||||
void SetParticleEffectState(const rstl::string& name, bool active, CStateManager& mgr) {
|
||||
x120_particleDB.SetParticleEffectState(name, active, mgr);
|
||||
}
|
||||
void SetParticleEffectState(const rstl::string& name, bool active, CStateManager& mgr);
|
||||
|
||||
int GetCharacterIndex() const { return x204_charIdx; }
|
||||
float GetAverageVelocity(int idx) const;
|
||||
|
|
|
@ -25,6 +25,7 @@ public:
|
|||
, x10_radius(0.f)
|
||||
, x14_knockback(0.f)
|
||||
, x18_24_noImmunity(false) {}
|
||||
|
||||
CDamageInfo(const CWeaponMode& mode, float damage, float radius, float knockback,
|
||||
bool noImmunity = false)
|
||||
: x0_weaponMode(mode)
|
||||
|
@ -33,6 +34,7 @@ public:
|
|||
, x10_radius(radius)
|
||||
, x14_knockback(knockback)
|
||||
, x18_24_noImmunity(noImmunity) {}
|
||||
|
||||
CDamageInfo(CInputStream& in);
|
||||
CDamageInfo(const CDamageInfo&, float);
|
||||
CDamageInfo(const SShotParam& other);
|
||||
|
|
|
@ -18,7 +18,7 @@ public:
|
|||
const CVector3f& scale, const CColor& color);
|
||||
|
||||
// CEntity
|
||||
~CExplosion();
|
||||
~CExplosion() override;
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void Think(float dt, CStateManager& mgr) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
||||
|
|
|
@ -59,7 +59,7 @@ CHECK_SIZEOF(CMotionState, 0x34)
|
|||
class CCollisionInfoList;
|
||||
|
||||
class CPhysicsActor : public CActor {
|
||||
static const float skGravityConstant;
|
||||
static const float kGravityAccel;
|
||||
|
||||
public:
|
||||
CPhysicsActor(TUniqueId uid, bool active, const rstl::string& name, const CEntityInfo& info,
|
||||
|
@ -149,7 +149,7 @@ public:
|
|||
|
||||
CVector3f GetTotalForcesWR() const;
|
||||
|
||||
static float GetGravityConstant() { return skGravityConstant; }
|
||||
static float GravityConstant() { return kGravityAccel; }
|
||||
|
||||
private:
|
||||
float xe8_mass;
|
||||
|
|
|
@ -110,9 +110,8 @@ public:
|
|||
void AddObject(CEntity*);
|
||||
TUniqueId AllocateUniqueId();
|
||||
|
||||
|
||||
void BuildNearList(TEntityList& nearList, const CVector3f& pos, const CVector3f& dir, float mag, const CMaterialFilter&,
|
||||
const CActor*) const;
|
||||
void BuildNearList(TEntityList& nearList, const CVector3f& pos, const CVector3f& dir, float mag,
|
||||
const CMaterialFilter&, const CActor*) const;
|
||||
void BuildNearList(TEntityList& nearList, const CAABox&, const CMaterialFilter&,
|
||||
const CActor*) const;
|
||||
bool RayCollideWorld(const CVector3f& start, const CVector3f& end, const TEntityList& nearList,
|
||||
|
@ -166,10 +165,12 @@ public:
|
|||
const CCameraFilterPass& GetCameraFilterPass(ECameraFilterStage stage) const {
|
||||
return xb84_camFilterPasses[size_t(stage)];
|
||||
}
|
||||
|
||||
|
||||
CCameraBlurPass& CameraBlurPass(ECameraFilterStage idx) { return xd14_camBlurPasses[idx]; }
|
||||
|
||||
const CCameraBlurPass& GetCameraBlurPass(ECameraFilterStage idx) const { return xd14_camBlurPasses[idx]; }
|
||||
|
||||
const CCameraBlurPass& GetCameraBlurPass(ECameraFilterStage idx) const {
|
||||
return xd14_camBlurPasses[idx];
|
||||
}
|
||||
|
||||
float GetThermalColdScale1() const { return xf24_thermColdScale1; }
|
||||
float GetThermalColdScale2() const { return xf28_thermColdScale2; }
|
||||
|
@ -179,7 +180,7 @@ public:
|
|||
void SetIsGeneratingObject(bool gen) { xf94_26_generatingObject = gen; }
|
||||
|
||||
void ApplyDamageToWorld(TUniqueId, const CActor&, const CVector3f&, const CDamageInfo& info,
|
||||
CMaterialFilter&);
|
||||
const CMaterialFilter&);
|
||||
bool ApplyDamage(TUniqueId damagerId, TUniqueId damageeId, TUniqueId radiusSender,
|
||||
const CDamageInfo& info, const CMaterialFilter& filter,
|
||||
const CVector3f& knockbackVec);
|
||||
|
@ -203,7 +204,7 @@ public:
|
|||
bool GetWantsToEnterMessageScreen() const {
|
||||
return xf90_deferredTransition == kSMT_MessageScreen;
|
||||
}
|
||||
|
||||
|
||||
EThermalDrawFlag GetThermalDrawFlag() const { return xf34_thermalFlag; }
|
||||
|
||||
void SetLastTriggerId(TUniqueId uid) { xf74_lastTrigger = uid; }
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
#ifndef _CSTEERINGBEHAVIORS
|
||||
#define _CSTEERINGBEHAVIORS
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class CVector3f;
|
||||
|
||||
class CSteeringBehaviors {
|
||||
public:
|
||||
static bool ProjectLinearIntersection(const CVector3f& v0, float f1, const CVector3f& v1,
|
||||
|
@ -15,6 +18,10 @@ public:
|
|||
static bool ProjectOrbitalIntersection(const CVector3f& v0, float f1, float f2,
|
||||
const CVector3f& v1, const CVector3f& v2,
|
||||
const CVector3f& v3, const CVector3f& v4, CVector3f& v5);
|
||||
|
||||
private:
|
||||
float x0_;
|
||||
};
|
||||
CHECK_SIZEOF(CSteeringBehaviors, 0x4)
|
||||
|
||||
#endif // _CSTEERINGBEHAVIORS
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _CAI
|
||||
#define _CAI
|
||||
|
||||
#include "MetroidPrime/CDamageVulnerability.hpp"
|
||||
#include "MetroidPrime/CHealthInfo.hpp"
|
||||
#include "MetroidPrime/CPhysicsActor.hpp"
|
||||
#include "MetroidPrime/Enemies/CAiFuncMap.hpp"
|
||||
#include "MetroidPrime/Enemies/CKnockBackController.hpp"
|
||||
|
@ -13,6 +15,8 @@ enum EListenNoiseType {
|
|||
|
||||
class CTeamAiRole;
|
||||
class CAiFuncMap;
|
||||
class CStateMachine;
|
||||
|
||||
class CAi : public CPhysicsActor {
|
||||
public:
|
||||
// static void CreateFuncLookup(CAiFuncMap* funcMap);
|
||||
|
@ -165,6 +169,11 @@ public:
|
|||
virtual bool FixedRandom(CStateManager&, float);
|
||||
virtual bool IsDizzy(CStateManager&, float);
|
||||
virtual bool ShouldCallForBackup(CStateManager&, float);
|
||||
|
||||
private:
|
||||
CHealthInfo x258_healthInfo;
|
||||
CDamageVulnerability x260_damageVulnerability;
|
||||
TLockedToken< CStateMachine > x2c8_stateMachine;
|
||||
};
|
||||
|
||||
#endif // _CAI
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#ifndef _CKNOCKBACKCONTROLLER
|
||||
#define _CKNOCKBACKCONTROLLER
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Kyoto/Animation/CPASAnimState.hpp"
|
||||
|
||||
class CDamageInfo;
|
||||
class CPatterned;
|
||||
|
||||
|
@ -8,105 +12,72 @@ enum EKnockBackType {
|
|||
kKBT_Radius,
|
||||
kKBT_Direct,
|
||||
};
|
||||
/*
|
||||
enum class EKnockBackVariant { Small, Medium, Large };
|
||||
|
||||
enum class EKnockBackWeaponType {
|
||||
Invalid = -1,
|
||||
Power,
|
||||
PowerCharged,
|
||||
PowerComboed,
|
||||
PowerComboedDirect,
|
||||
Wave,
|
||||
WaveCharged,
|
||||
WaveComboed,
|
||||
WaveComboedDirect,
|
||||
Ice,
|
||||
IceCharged,
|
||||
IceComboed,
|
||||
IceComboedDirect,
|
||||
Plasma,
|
||||
PlasmaCharged,
|
||||
PlasmaComboed,
|
||||
Missile,
|
||||
Bomb,
|
||||
PowerBomb,
|
||||
Phazon
|
||||
enum EKnockBackVariant {
|
||||
kKBV_Small,
|
||||
kKBV_Medium,
|
||||
kKBV_Large,
|
||||
};
|
||||
|
||||
enum class EKnockBackCharacterState { Alive, Dead, FrozenAlive, FrozenDead };
|
||||
|
||||
enum class EKnockBackAnimationState { Invalid = -1, None, Flinch, KnockBack, Hurled, Fall };
|
||||
|
||||
enum class EKnockBackAnimationFollowUp {
|
||||
Invalid = -1,
|
||||
None,
|
||||
Freeze,
|
||||
Shock,
|
||||
Burn,
|
||||
PhazeOut,
|
||||
Death,
|
||||
ExplodeDeath,
|
||||
IceDeath,
|
||||
BurnDeath,
|
||||
LaggedBurnDeath
|
||||
enum EKnockBackWeaponType {
|
||||
kKBWT_Invalid = -1,
|
||||
kKBWT_Power,
|
||||
kKBWT_PowerCharged,
|
||||
kKBWT_PowerComboed,
|
||||
kKBWT_PowerComboedDirect,
|
||||
kKBWT_Wave,
|
||||
kKBWT_WaveCharged,
|
||||
kKBWT_WaveComboed,
|
||||
kKBWT_WaveComboedDirect,
|
||||
kKBWT_Ice,
|
||||
kKBWT_IceCharged,
|
||||
kKBWT_IceComboed,
|
||||
kKBWT_IceComboedDirect,
|
||||
kKBWT_Plasma,
|
||||
kKBWT_PlasmaCharged,
|
||||
kKBWT_PlasmaComboed,
|
||||
kKBWT_Missile,
|
||||
kKBWT_Bomb,
|
||||
kKBWT_PowerBomb,
|
||||
kKBWT_Phazon,
|
||||
};
|
||||
enum EKnockBackCharacterState {
|
||||
kKBCS_Alive,
|
||||
kKBCS_Dead,
|
||||
kKBCS_FrozenAlive,
|
||||
kKBCS_FrozenDead,
|
||||
};
|
||||
enum EKnockBackAnimationState {
|
||||
kKBAS_Invalid = -1,
|
||||
kKBAS_None,
|
||||
kKBAS_Flinch,
|
||||
kKBAS_KnockBack,
|
||||
kKBAS_Hurled,
|
||||
kKBAS_Fall,
|
||||
};
|
||||
enum EKnockBackAnimationFollowUp {
|
||||
kKBAFU_Invalid = -1,
|
||||
kKBAFU_None,
|
||||
kKBAFU_Freeze,
|
||||
kKBAFU_Shock,
|
||||
kKBAFU_Burn,
|
||||
kKBAFU_PhazeOut,
|
||||
kKBAFU_Death,
|
||||
kKBAFU_ExplodeDeath,
|
||||
kKBAFU_IceDeath,
|
||||
kKBAFU_BurnDeath,
|
||||
kKBAFU_LaggedBurnDeath,
|
||||
};
|
||||
|
||||
class CKnockBackController {
|
||||
friend class CPatterned;
|
||||
|
||||
public:
|
||||
struct KnockBackParms {
|
||||
EKnockBackAnimationState x0_animState = EKnockBackAnimationState::None;
|
||||
EKnockBackAnimationFollowUp x4_animFollowup = EKnockBackAnimationFollowUp::None;
|
||||
float x8_followupDuration = 0.f;
|
||||
float xc_intoFreezeDur = 0.f;
|
||||
EKnockBackAnimationState x0_animState;
|
||||
EKnockBackAnimationFollowUp x4_animFollowup;
|
||||
float x8_followupDuration;
|
||||
float xc_intoFreezeDur;
|
||||
};
|
||||
|
||||
private:
|
||||
friend class CPatterned;
|
||||
EKnockBackVariant x0_variant;
|
||||
KnockBackParms x4_activeParms{};
|
||||
EWeaponType x14_deferWeaponType = EWeaponType::None;
|
||||
EKnockBackAnimationState x18_minAnimState = EKnockBackAnimationState::None;
|
||||
EKnockBackAnimationState x1c_maxAnimState = EKnockBackAnimationState::Fall;
|
||||
u32 x20_impulseDurationIdx = 0;
|
||||
rstl::reserved_vector< std::pair< float, float >, 5 > x24_;
|
||||
zeus::CVector3f x50_impulseDir;
|
||||
float x5c_impulseMag = 0.f;
|
||||
float x60_impulseRemTime = 0.f;
|
||||
float x64_flinchRemTime = 0.f;
|
||||
float x68_deferRemTime = 0.f;
|
||||
u32 x6c_ = 0;
|
||||
u32 x70_ = 0;
|
||||
u32 x74_ = 0;
|
||||
pas::ESeverity x7c_severity = pas::ESeverity::One;
|
||||
std::bitset< 5 > x80_availableStates{0b11111};
|
||||
bool x81_24_autoResetImpulse : 1 = true;
|
||||
bool x81_25_enableFreeze : 1 = true;
|
||||
bool x81_26_enableShock : 1 = false;
|
||||
bool x81_27_enableBurn : 1 = true;
|
||||
bool x81_28_enableBurnDeath : 1 = true;
|
||||
bool x81_29_enableExplodeDeath : 1 = true;
|
||||
bool x81_30_enableLaggedBurnDeath : 1 = true;
|
||||
bool x81_31_ : 1 = true;
|
||||
bool x82_24_ : 1 = true;
|
||||
bool x82_25_inDeferredKnockBack : 1 = false;
|
||||
bool x82_26_locomotionDuringElectrocution : 1 = false;
|
||||
void ApplyImpulse(float dt, CPatterned& parent);
|
||||
bool TickDeferredTimer(float dt);
|
||||
EKnockBackCharacterState GetKnockBackCharacterState(const CPatterned& parent) const;
|
||||
void ValidateState(const CPatterned& parent);
|
||||
float CalculateExtraHurlVelocity(CStateManager& mgr, float magnitude, float kbResistance) const;
|
||||
void DoKnockBackAnimation(const zeus::CVector3f& backVec, CStateManager& mgr, CPatterned& parent,
|
||||
float magnitude);
|
||||
void ResetKnockBackImpulse(const CPatterned& parent, const zeus::CVector3f& backVec,
|
||||
float magnitude);
|
||||
void DoDeferredKnockBack(CStateManager& mgr, CPatterned& parent);
|
||||
EKnockBackWeaponType GetKnockBackWeaponType(const CDamageInfo& info, EWeaponType wType,
|
||||
EKnockBackType type);
|
||||
void SelectDamageState(const CPatterned& parent, const CDamageInfo& info, EWeaponType wType,
|
||||
EKnockBackType type);
|
||||
|
||||
public:
|
||||
explicit CKnockBackController(EKnockBackVariant variant);
|
||||
void SetKnockBackVariant(EKnockBackVariant v) { x0_variant = v; }
|
||||
void DeferKnockBack(EWeaponType tp) {
|
||||
|
@ -115,14 +86,30 @@ public:
|
|||
}
|
||||
void sub80233d40(int i, float f1, float f2);
|
||||
void SetAutoResetImpulse(bool b);
|
||||
void SetImpulseDurationIdx(u32 i) { x20_impulseDurationIdx = i; }
|
||||
void SetImpulseDurationIdx(int i);
|
||||
void SetAnimationStateRange(EKnockBackAnimationState a, EKnockBackAnimationState b) {
|
||||
x18_minAnimState = a;
|
||||
x1c_maxAnimState = b;
|
||||
}
|
||||
void Update(float dt, CStateManager& mgr, CPatterned& parent);
|
||||
void KnockBack(const zeus::CVector3f& backVec, CStateManager& mgr, CPatterned& parent,
|
||||
void KnockBack(const CVector3f& backVec, CStateManager& mgr, CPatterned& parent,
|
||||
const CDamageInfo& info, EKnockBackType type, float magnitude);
|
||||
|
||||
void ApplyImpulse(float dt, CPatterned& parent);
|
||||
bool TickDeferredTimer(float dt);
|
||||
EKnockBackCharacterState GetKnockBackCharacterState(const CPatterned& parent) const;
|
||||
void ValidateState(const CPatterned& parent);
|
||||
float CalculateExtraHurlVelocity(CStateManager& mgr, float magnitude, float kbResistance) const;
|
||||
void DoKnockBackAnimation(const CVector3f& backVec, CStateManager& mgr, CPatterned& parent,
|
||||
float magnitude);
|
||||
void ResetKnockBackImpulse(const CPatterned& parent, const CVector3f& backVec,
|
||||
float magnitude);
|
||||
void DoDeferredKnockBack(CStateManager& mgr, CPatterned& parent);
|
||||
EKnockBackWeaponType GetKnockBackWeaponType(const CDamageInfo& info, EWeaponType wType,
|
||||
EKnockBackType type);
|
||||
void SelectDamageState(const CPatterned& parent, const CDamageInfo& info, EWeaponType wType,
|
||||
EKnockBackType type);
|
||||
|
||||
void SetSeverity(pas::ESeverity v) { x7c_severity = v; }
|
||||
void SetEnableFreeze(bool b) { x81_25_enableFreeze = b; }
|
||||
bool GetEnableFreeze() const { return x81_25_enableFreeze; }
|
||||
|
@ -137,12 +124,44 @@ public:
|
|||
const KnockBackParms& GetActiveParms() const { return x4_activeParms; }
|
||||
EKnockBackVariant GetVariant() const { return x0_variant; }
|
||||
float GetFlinchRemTime() const { return x64_flinchRemTime; }
|
||||
void SetAvailableState(EKnockBackAnimationState s, bool b) {
|
||||
x80_availableStates.set(size_t(s), b);
|
||||
}
|
||||
bool TestAvailableState(EKnockBackAnimationState s) const {
|
||||
return x80_availableStates.test(size_t(s));
|
||||
}
|
||||
// void SetAvailableState(EKnockBackAnimationState s, bool b) {
|
||||
// x80_availableStates.set(size_t(s), b);
|
||||
// }
|
||||
// bool TestAvailableState(EKnockBackAnimationState s) const {
|
||||
// return x80_availableStates.test(size_t(s));
|
||||
// }
|
||||
|
||||
private:
|
||||
EKnockBackVariant x0_variant;
|
||||
KnockBackParms x4_activeParms;
|
||||
EWeaponType x14_deferWeaponType;
|
||||
EKnockBackAnimationState x18_minAnimState;
|
||||
EKnockBackAnimationState x1c_maxAnimState;
|
||||
uint x20_impulseDurationIdx;
|
||||
rstl::reserved_vector< rstl::pair< float, float >, 5 > x24_;
|
||||
CVector3f x50_impulseDir;
|
||||
float x5c_impulseMag;
|
||||
float x60_impulseRemTime;
|
||||
float x64_flinchRemTime;
|
||||
float x68_deferRemTime;
|
||||
uint x6c_;
|
||||
uint x70_;
|
||||
uint x74_;
|
||||
uint x78_;
|
||||
pas::ESeverity x7c_severity;
|
||||
uchar x80_availableStates;
|
||||
bool x81_24_autoResetImpulse : 1;
|
||||
bool x81_25_enableFreeze : 1;
|
||||
bool x81_26_enableShock : 1;
|
||||
bool x81_27_enableBurn : 1;
|
||||
bool x81_28_enableBurnDeath : 1;
|
||||
bool x81_29_enableExplodeDeath : 1;
|
||||
bool x81_30_enableLaggedBurnDeath : 1;
|
||||
bool x81_31_ : 1;
|
||||
bool x82_24_ : 1;
|
||||
bool x82_25_inDeferredKnockBack : 1;
|
||||
bool x82_26_locomotionDuringElectrocution : 1;
|
||||
};
|
||||
*/
|
||||
CHECK_SIZEOF(CKnockBackController, 0x84)
|
||||
|
||||
#endif // _CKNOCKBACKCONTROLLER
|
||||
|
|
|
@ -1,16 +1,27 @@
|
|||
#ifndef _CPATTERNED
|
||||
#define _CPATTERNED
|
||||
|
||||
#include "MetroidPrime/Enemies/CAi.hpp"
|
||||
#include "types.h"
|
||||
|
||||
template <typename T>
|
||||
#include "MetroidPrime/CSteeringBehaviors.hpp"
|
||||
#include "MetroidPrime/Enemies/CAi.hpp"
|
||||
#include "MetroidPrime/Enemies/CPatternedInfo.hpp"
|
||||
#include "MetroidPrime/Enemies/CStateMachine.hpp"
|
||||
|
||||
class CBodyController;
|
||||
class CVertexMorphEffect;
|
||||
class CGenDescription;
|
||||
class CElectricDescription;
|
||||
class CPathFindSearch;
|
||||
class CProjectileInfo;
|
||||
|
||||
template < typename T >
|
||||
struct TPatternedCast {
|
||||
CEntity* ent;
|
||||
TPatternedCast(CEntity* ent);
|
||||
};
|
||||
|
||||
class CPatterned : public CAi {
|
||||
|
||||
public:
|
||||
enum ECharacter {
|
||||
kC_AtomicAlpha = 0,
|
||||
|
@ -53,21 +64,305 @@ public:
|
|||
kC_WarWasp = 39,
|
||||
kC_EnergyBall = 40
|
||||
};
|
||||
~CPatterned();
|
||||
void Accept(IVisitor& visitor);
|
||||
void Death(CStateManager& mgr, const CVector3f& direction, EScriptObjectState state) {}
|
||||
enum EFlavorType {
|
||||
kFT_Zero = 0,
|
||||
kFT_One = 1,
|
||||
kFT_Two = 2,
|
||||
};
|
||||
enum EMovementType {
|
||||
kMT_Ground = 0,
|
||||
kMT_Flyer = 1,
|
||||
};
|
||||
enum EColliderType {
|
||||
kCT_Zero = 0,
|
||||
kCT_One = 1,
|
||||
};
|
||||
enum EPatrolState {
|
||||
kPS_Invalid = -1,
|
||||
kPS_Patrol,
|
||||
kPS_Pause,
|
||||
kPS_Done,
|
||||
};
|
||||
enum EBehaviour {
|
||||
kB_Zero,
|
||||
};
|
||||
enum EBehaviourOrient {
|
||||
kBO_MoveDir,
|
||||
kBO_Constant,
|
||||
kBO_Destination,
|
||||
};
|
||||
enum EBehaviourModifiers {
|
||||
kBM_Zero,
|
||||
};
|
||||
enum EAnimState {
|
||||
kAS_Invalid = -1,
|
||||
kAS_NotReady,
|
||||
kAS_Ready,
|
||||
kAS_Repeat,
|
||||
kAS_Over,
|
||||
};
|
||||
enum EPatternTranslate {
|
||||
kPT_RelativeStart,
|
||||
kPT_RelativePlayerStart,
|
||||
kPT_RelativePlayer,
|
||||
kPT_Absolute,
|
||||
};
|
||||
enum EPatternOrient {
|
||||
kPO_StartToPlayer,
|
||||
kPO_StartToPlayerStart,
|
||||
kPO_ReversePlayerForward,
|
||||
kPO_Forward,
|
||||
};
|
||||
enum EPatternFit {
|
||||
kPF_Zero,
|
||||
kPF_One,
|
||||
};
|
||||
enum EMoveState {
|
||||
kMS_Zero,
|
||||
kMS_One,
|
||||
kMS_Two,
|
||||
kMS_Three,
|
||||
kMS_Four,
|
||||
};
|
||||
|
||||
class CPatternNode {
|
||||
CVector3f x0_pos;
|
||||
CVector3f xc_forward;
|
||||
float x18_speed;
|
||||
uchar x1c_behaviour;
|
||||
uchar x1d_behaviourOrient;
|
||||
ushort x1e_behaviourModifiers;
|
||||
uint x20_animation;
|
||||
|
||||
public:
|
||||
CPatternNode(const CVector3f& pos, const CVector3f& forward, float speed, uint behaviour,
|
||||
uint behaviourOrient, uint behaviourModifiers, uint animation);
|
||||
const CVector3f& GetPos() const { return x0_pos; }
|
||||
const CVector3f& GetForward() const { return xc_forward; }
|
||||
float GetSpeed() const { return x18_speed; }
|
||||
uchar GetBehaviour() const { return x1c_behaviour; }
|
||||
uchar GetBehaviourOrient() const { return x1d_behaviourOrient; }
|
||||
ushort GetBehaviourModifiers() const { return x1e_behaviourModifiers; }
|
||||
};
|
||||
|
||||
CPatterned(ECharacter character, TUniqueId uid, const rstl::string& name, EFlavorType flavor,
|
||||
const CEntityInfo& info, const CTransform4f& xf, const CModelData& mData,
|
||||
const CPatternedInfo& pinfo, EMovementType movement, EColliderType collider,
|
||||
EBodyType body, const CActorParameters& params, EKnockBackVariant kbVariant);
|
||||
|
||||
// CEntity
|
||||
~CPatterned() override;
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void PreThink(float dt, CStateManager& mgr) override;
|
||||
void Think(float dt, CStateManager& mgr) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) override;
|
||||
|
||||
// CActor
|
||||
void PreRender(CStateManager&, const CFrustumPlanes&) override;
|
||||
void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override;
|
||||
void Render(const CStateManager&) const override;
|
||||
bool CanRenderUnsorted(const CStateManager&) const override;
|
||||
rstl::optional_object< CAABox > GetTouchBounds() const override;
|
||||
void Touch(CActor&, CStateManager&) override;
|
||||
CVector3f GetOrbitPosition(const CStateManager&) const override;
|
||||
CVector3f GetAimPosition(const CStateManager&, float) const override;
|
||||
EWeaponCollisionResponseTypes GetCollisionResponseType(const CVector3f&, const CVector3f&,
|
||||
const CWeaponMode&,
|
||||
int /*EProjectileAttrib?*/) const override;
|
||||
void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type,
|
||||
float dt) override;
|
||||
|
||||
// CPhysicsActor
|
||||
void CollidedWith(const TUniqueId& id, const CCollisionInfoList& list,
|
||||
CStateManager& mgr) override;
|
||||
|
||||
// CAi
|
||||
void Death(CStateManager& mgr, const CVector3f& direction, EScriptObjectState state) override;
|
||||
void KnockBack(const CVector3f&, CStateManager&, const CDamageInfo& info, EKnockBackType type,
|
||||
bool inDeferred, float magnitude){};
|
||||
bool inDeferred, float magnitude) override;
|
||||
void TakeDamage(const CVector3f& direction, float magnitude) override;
|
||||
void Patrol(CStateManager&, EStateMsg, float) override;
|
||||
void FollowPattern(CStateManager&, EStateMsg, float) override;
|
||||
void Dead(CStateManager&, EStateMsg, float) override;
|
||||
void PathFind(CStateManager&, EStateMsg, float) override;
|
||||
void Start(CStateManager&, EStateMsg, float) override;
|
||||
void TargetPatrol(CStateManager&, EStateMsg, float) override;
|
||||
void TargetPlayer(CStateManager&, EStateMsg, float) override;
|
||||
bool Leash(CStateManager&, float) override;
|
||||
bool OffLine(CStateManager&, float) override;
|
||||
bool Attacked(CStateManager&, float) override;
|
||||
bool PathShagged(CStateManager&, float) override;
|
||||
bool PathOver(CStateManager&, float) override;
|
||||
bool PathFound(CStateManager&, float) override;
|
||||
bool TooClose(CStateManager&, float) override;
|
||||
bool InRange(CStateManager&, float) override;
|
||||
bool InMaxRange(CStateManager&, float) override;
|
||||
bool InDetectionRange(CStateManager&, float) override;
|
||||
bool SpotPlayer(CStateManager&, float) override;
|
||||
bool PlayerSpot(CStateManager&, float) override;
|
||||
bool PatternOver(CStateManager&, float) override;
|
||||
bool PatternShagged(CStateManager&, float) override;
|
||||
bool HasAttackPattern(CStateManager&, float) override;
|
||||
bool HasPatrolPath(CStateManager&, float) override;
|
||||
bool HasRetreatPattern(CStateManager&, float) override;
|
||||
bool Delay(CStateManager&, float) override;
|
||||
bool RandomDelay(CStateManager&, float) override;
|
||||
bool FixedDelay(CStateManager&, float) override;
|
||||
bool Default(CStateManager&, float) override;
|
||||
bool AnimOver(CStateManager&, float) override;
|
||||
bool InPosition(CStateManager&, float) override;
|
||||
bool Stuck(CStateManager&, float) override;
|
||||
bool NoPathNodes(CStateManager&, float) override;
|
||||
bool Landed(CStateManager&, float) override;
|
||||
bool PatrolPathOver(CStateManager&, float) override;
|
||||
bool CodeTrigger(CStateManager&, float) override;
|
||||
bool Random(CStateManager&, float) override;
|
||||
bool FixedRandom(CStateManager&, float) override;
|
||||
|
||||
// CPatterned
|
||||
virtual void Freeze(CStateManager& mgr, const CVector3f& pos, const CUnitVector3f& dir,
|
||||
float frozenDur);
|
||||
virtual bool KnockbackWhenFrozen() const { return true; }
|
||||
virtual void MassiveDeath(CStateManager& mgr);
|
||||
virtual void MassiveFrozenDeath(CStateManager& mgr);
|
||||
virtual void Burn(float duration, float damage);
|
||||
virtual void Shock(CStateManager& mgr, float duration, float damage);
|
||||
virtual void ThinkAboutMove(float);
|
||||
virtual CPathFindSearch* GetSearchPath() { return nullptr; }
|
||||
virtual CDamageInfo GetContactDamage() const { return x404_contactDamage; }
|
||||
virtual u8 GetModelAlphau8(const CStateManager&) const { return x42c_color.GetAlphau8(); }
|
||||
virtual bool IsOnGround() const { return x328_27_onGround; }
|
||||
virtual float GetGravityConstant() const { return CPhysicsActor::GravityConstant(); }
|
||||
virtual CProjectileInfo* GetProjectileInfo() { return nullptr; }
|
||||
virtual void PhazeOut(CStateManager&);
|
||||
virtual const rstl::optional_object< TLockedToken< CGenDescription > >&
|
||||
GetDeathExplosionParticle() const {
|
||||
return x520_deathExplosionParticle;
|
||||
}
|
||||
|
||||
ECharacter GetCharacterType() const { return x34c_characterType; }
|
||||
CBodyController* GetBodyCtrl() { return x450_bodyController.get(); }
|
||||
const CBodyController* GetBodyCtrl() const { return x450_bodyController.get(); }
|
||||
CKnockBackController& GetKnockBackCtrl() { return x460_knockBackController; }
|
||||
const CKnockBackController& GetKnockBackCtrl() const { return x460_knockBackController; }
|
||||
|
||||
template < class T >
|
||||
static T* CastTo(const TPatternedCast<T>& ent);
|
||||
static T* CastTo(const TPatternedCast< T >& ent);
|
||||
|
||||
private:
|
||||
char data[0xf4];
|
||||
public:
|
||||
EPatrolState x2d8_patrolState;
|
||||
TUniqueId x2dc_destObj;
|
||||
CVector3f x2e0_destPos;
|
||||
CVector3f x2ec_reflectedDestPos;
|
||||
float x2f8_waypointPauseRemTime;
|
||||
float x2fc_minAttackRange;
|
||||
float x300_maxAttackRange;
|
||||
float x304_averageAttackTime;
|
||||
float x308_attackTimeVariation;
|
||||
EBehaviourOrient x30c_behaviourOrient;
|
||||
CVector3f x310_moveVec;
|
||||
CVector3f x31c_faceVec;
|
||||
bool x328_24_inPosition : 1;
|
||||
bool x328_25_verticalMovement : 1;
|
||||
bool x328_26_solidCollision : 1;
|
||||
bool x328_27_onGround : 1;
|
||||
bool x328_28_prevOnGround : 1;
|
||||
bool x328_29_noPatternShagging : 1;
|
||||
bool x328_30_lookAtDeathDir : 1;
|
||||
bool x328_31_energyAttractor : 1;
|
||||
bool x329_24_ : 1;
|
||||
EAnimState x32c_animState;
|
||||
CStateMachineState x330_stateMachineState;
|
||||
ECharacter x34c_characterType;
|
||||
char data2[0x568 - 0x350];
|
||||
CVector3f x350_patternStartPos;
|
||||
CVector3f x35c_patternStartPlayerPos;
|
||||
CVector3f x368_destWPDelta;
|
||||
EPatternTranslate x374_patternTranslate;
|
||||
EPatternOrient x378_patternOrient;
|
||||
EPatternFit x37c_patternFit;
|
||||
EBehaviour x380_behaviour;
|
||||
EBehaviourModifiers x384_behaviourModifiers;
|
||||
int x388_anim;
|
||||
rstl::vector< CPatternNode > x38c_patterns;
|
||||
uint x39c_curPattern;
|
||||
CVector3f x3a0_latestLeashPosition;
|
||||
TUniqueId x3ac_lastPatrolDest;
|
||||
float x3b0_moveSpeed;
|
||||
float x3b4_speed;
|
||||
float x3b8_turnSpeed;
|
||||
float x3bc_detectionRange;
|
||||
float x3c0_detectionHeightRange;
|
||||
float x3c4_detectionAngle;
|
||||
float x3c8_leashRadius;
|
||||
float x3cc_playerLeashRadius;
|
||||
float x3d0_playerLeashTime;
|
||||
float x3d4_curPlayerLeashTime;
|
||||
float x3d8_xDamageThreshold;
|
||||
float x3dc_frozenXDamageThreshold;
|
||||
float x3e0_xDamageDelay;
|
||||
float x3e4_lastHP;
|
||||
float x3e8_alphaDelta;
|
||||
float x3ec_pendingFireDamage;
|
||||
float x3f0_pendingShockDamage;
|
||||
float x3f4_burnThinkRateTimer;
|
||||
EMoveState x3f8_moveState;
|
||||
EFlavorType x3fc_flavor;
|
||||
uint x400_24_hitByPlayerProjectile : 1;
|
||||
uint x400_25_alive : 1;
|
||||
uint x400_26_ : 1;
|
||||
uint x400_27_fadeToDeath : 1;
|
||||
uint x400_28_pendingMassiveDeath : 1;
|
||||
uint x400_29_pendingMassiveFrozenDeath : 1;
|
||||
uint x400_30_patternShagged : 1;
|
||||
uint x400_31_isFlyer : 1;
|
||||
uint x401_24_pathOverCount : 2;
|
||||
uint x401_26_disableMove : 1;
|
||||
uint x401_27_phazingOut : 1;
|
||||
uint x401_28_burning : 1;
|
||||
uint x401_29_laggedBurnDeath : 1;
|
||||
uint x401_30_pendingDeath : 1;
|
||||
uint x401_31_nextPendingShock : 1;
|
||||
uint x402_24_pendingShock : 1;
|
||||
uint x402_25_lostMassiveFrozenHP : 1;
|
||||
uint x402_26_dieIf80PercFrozen : 1;
|
||||
uint x402_27_noXrayModel : 1;
|
||||
uint x402_28_isMakingBigStrike : 1;
|
||||
uint x402_29_drawParticles : 1;
|
||||
uint x402_30_updateThermalFrozenState : 1;
|
||||
uint x402_31_thawed : 1;
|
||||
uint x403_24_keepThermalVisorState : 1;
|
||||
uint x403_25_enableStateMachine : 1;
|
||||
uint x403_26_stateControlledMassiveDeath : 1;
|
||||
CDamageInfo x404_contactDamage;
|
||||
float x420_curDamageRemTime;
|
||||
float x424_damageWaitTime;
|
||||
float x428_damageCooldownTimer;
|
||||
CColor x42c_color;
|
||||
CColor x430_damageColor;
|
||||
CVector3f x434_posDelta;
|
||||
CQuaternion x440_rotDelta;
|
||||
rstl::single_ptr< CBodyController > x450_bodyController;
|
||||
u32 x454_deathSfx;
|
||||
u32 x458_iceShatterSfx;
|
||||
CSteeringBehaviors x45c_steeringBehaviors;
|
||||
CKnockBackController x460_knockBackController;
|
||||
CVector3f x4e4_latestPredictedTranslation;
|
||||
float x4f0_predictedLeashTime;
|
||||
float x4f4_intoFreezeDur;
|
||||
float x4f8_outofFreezeDur;
|
||||
float x4fc_freezeDur;
|
||||
float x500_preThinkDt;
|
||||
float x504_damageDur;
|
||||
EColliderType x508_colliderType;
|
||||
float x50c_baseDamageMag;
|
||||
rstl::single_ptr< CVertexMorphEffect > x510_vertexMorph;
|
||||
CVector3f x514_deathExplosionOffset;
|
||||
rstl::optional_object< TLockedToken< CGenDescription > > x520_deathExplosionParticle;
|
||||
rstl::optional_object< TLockedToken< CElectricDescription > > x530_deathExplosionElectric;
|
||||
CVector3f x540_iceDeathExplosionOffset;
|
||||
rstl::optional_object< TLockedToken< CGenDescription > > x54c_iceDeathExplosionParticle;
|
||||
CVector3f x55c_moveScale;
|
||||
};
|
||||
CHECK_SIZEOF(CPatterned, 0x568)
|
||||
|
||||
#endif // _CPATTERNED
|
||||
|
|
|
@ -13,6 +13,26 @@
|
|||
|
||||
class CPatternedInfo {
|
||||
friend class CPatterned;
|
||||
|
||||
public:
|
||||
CPatternedInfo(CInputStream& in, uint pcount);
|
||||
|
||||
float GetTurnSpeed() const { return x8_turnSpeed; }
|
||||
float GetDetectionHeightRange() const { return x10_detectionHeightRange; }
|
||||
const CHealthInfo& GetHealthInfo() const { return x54_healthInfo; }
|
||||
const CDamageVulnerability& GetDamageVulnerability() const { return x5c_damageVulnerability; }
|
||||
float GetHalfExtent() const { return xc4_halfExtent; }
|
||||
float GetHeight() const { return xc8_height; }
|
||||
CVector3f GetBodyOrigin() const { return xcc_bodyOrigin; }
|
||||
CAnimationParameters& GetAnimationParameters() { return xec_animParams; }
|
||||
const CAnimationParameters& GetAnimationParameters() const { return xec_animParams; }
|
||||
uint GetPathfindingIndex() const { return x10c_pathfindingIndex; }
|
||||
bool GetActive() const { return xf8_active; }
|
||||
void SetActive(bool active) { xf8_active = active; }
|
||||
|
||||
static rstl::pair< bool, uint > HasCorrectParameterCount(CInputStream& in);
|
||||
|
||||
private:
|
||||
float x0_mass;
|
||||
float x4_speed;
|
||||
float x8_turnSpeed;
|
||||
|
@ -44,33 +64,14 @@ class CPatternedInfo {
|
|||
float x100_intoFreezeDur;
|
||||
float x104_outofFreezeDur;
|
||||
float x108_freezeDur;
|
||||
|
||||
uint x10c_pathfindingIndex;
|
||||
|
||||
CVector3f x110_particle1Scale;
|
||||
CAssetId x11c_particle1;
|
||||
CAssetId x120_electric;
|
||||
CVector3f x124_particle2Scale;
|
||||
CAssetId x130_particle2;
|
||||
|
||||
uint x134_iceShatterSfx;
|
||||
|
||||
public:
|
||||
CPatternedInfo(CInputStream& in, uint pcount);
|
||||
static rstl::pair< bool, uint > HasCorrectParameterCount(CInputStream& in);
|
||||
|
||||
float GetTurnSpeed() const { return x8_turnSpeed; }
|
||||
float GetDetectionHeightRange() const { return x10_detectionHeightRange; }
|
||||
const CHealthInfo& GetHealthInfo() const { return x54_healthInfo; }
|
||||
const CDamageVulnerability& GetDamageVulnerability() const { return x5c_damageVulnerability; }
|
||||
float GetHalfExtent() const { return xc4_halfExtent; }
|
||||
float GetHeight() const { return xc8_height; }
|
||||
CVector3f GetBodyOrigin() const { return xcc_bodyOrigin; }
|
||||
CAnimationParameters& GetAnimationParameters() { return xec_animParams; }
|
||||
const CAnimationParameters& GetAnimationParameters() const { return xec_animParams; }
|
||||
u32 GetPathfindingIndex() const { return x10c_pathfindingIndex; }
|
||||
bool GetActive() const { return xf8_active; }
|
||||
void SetActive(bool active) { xf8_active = active; }
|
||||
};
|
||||
CHECK_SIZEOF(CPatternedInfo, 0x138)
|
||||
|
||||
#endif // _CPATTERNEDINFO
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
#ifndef _CPUFFER
|
||||
#define _CPUFFER
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "MetroidPrime/CDamageInfo.hpp"
|
||||
#include "MetroidPrime/Enemies/CPatterned.hpp"
|
||||
|
||||
class CPatternedInfo;
|
||||
class CGenDescription;
|
||||
|
||||
class CPuffer : public CPatterned {
|
||||
public:
|
||||
CPuffer(TUniqueId uid, const rstl::string& name, const CEntityInfo& info, const CTransform4f& xf,
|
||||
const CModelData& modelData, const CActorParameters& actorParameters,
|
||||
const CPatternedInfo& patternedInfo, float hoverSpeed, CAssetId cloudEffect,
|
||||
const CDamageInfo& cloudDamage, CAssetId cloudSteam, float f2, bool b1, bool b2, bool b3,
|
||||
const CDamageInfo& explosionDamage, ushort sfxId);
|
||||
|
||||
~CPuffer() override;
|
||||
void Accept(IVisitor&) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) override;
|
||||
void Think(float, CStateManager&) override;
|
||||
rstl::optional_object< CAABox > GetTouchBounds() const override;
|
||||
void Touch(CActor&, CStateManager&) override;
|
||||
void Death(CStateManager&, const CVector3f&, EScriptObjectState) override;
|
||||
|
||||
private:
|
||||
CVector3f x568_face;
|
||||
TToken< CGenDescription > x574_cloudEffect;
|
||||
CDamageInfo x57c_cloudDamage;
|
||||
bool x598_24_ : 1;
|
||||
bool x598_25_ : 1;
|
||||
bool x598_26_ : 1;
|
||||
ushort x59a_;
|
||||
CDamageInfo x59c_explosionDamage;
|
||||
float x5b8_;
|
||||
CAssetId x5bc_cloudSteam;
|
||||
CVector3f x5c0_move;
|
||||
TUniqueId x5cc_;
|
||||
int x5d0_enabledParticles;
|
||||
rstl::reserved_vector< CVector3f, 14 > x5d4_gasLocators;
|
||||
|
||||
void sub8025bfa4(CStateManager&);
|
||||
};
|
||||
|
||||
#endif // _CPUFFER
|
|
@ -12,12 +12,21 @@
|
|||
|
||||
class CFire : public CActor {
|
||||
public:
|
||||
CFire(TToken< CGenDescription > effect, TUniqueId uid, TAreaId area, bool active, TUniqueId owner,
|
||||
const CTransform4f& xf, const CDamageInfo& dInfo, const CAABox& aabox, const CVector3f& vec,
|
||||
bool b1, CAssetId visorEffect, bool b2, bool b3, bool b4, float f1, float f2, float f3,
|
||||
float f4);
|
||||
CFire(const TToken< CGenDescription >& effect, TUniqueId uid, TAreaId area, bool active,
|
||||
TUniqueId owner, const CTransform4f& xf, const CDamageInfo& dInfo, const CAABox& aabox,
|
||||
const CVector3f& vec, bool b1, CAssetId visorEffect, bool b2, bool b3, bool b4, float f1,
|
||||
float f2, float f3, float f4);
|
||||
|
||||
~CFire();
|
||||
// CEntity
|
||||
~CFire() override;
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void Think(float dt, CStateManager& mgr) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
||||
|
||||
// CActor
|
||||
void Render(const CStateManager&) const override;
|
||||
rstl::optional_object< CAABox > GetTouchBounds() const override;
|
||||
void Touch(CActor&, CStateManager&) override;
|
||||
|
||||
private:
|
||||
rstl::single_ptr< CElementGen > xe8_;
|
||||
|
|
|
@ -18,12 +18,13 @@ public:
|
|||
const CTransform4f& xf,
|
||||
const rstl::reserved_vector< int, int(CPlayerState::kIT_Max) >& itemCounts,
|
||||
bool, bool, bool);
|
||||
~CScriptSpawnPoint();
|
||||
|
||||
~CScriptSpawnPoint() override;
|
||||
void Accept(IVisitor&) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&) override;
|
||||
|
||||
const CTransform4f& GetTransform() const;
|
||||
int GetPowerup(const CPlayerState::EItemType&) const;
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
||||
void Accept(IVisitor&);
|
||||
};
|
||||
|
||||
#endif // _CSCRIPTSPAWNPOINT
|
||||
|
|
|
@ -0,0 +1,159 @@
|
|||
#include "MetroidPrime/Enemies/CPuffer.hpp"
|
||||
|
||||
#include "Kyoto/Audio/CSfxManager.hpp"
|
||||
#include "MetroidPrime/BodyState/CBodyController.hpp"
|
||||
#include "MetroidPrime/CAnimData.hpp"
|
||||
#include "MetroidPrime/Player/CPlayer.hpp"
|
||||
#include "MetroidPrime/ScriptObjects/CFire.hpp"
|
||||
|
||||
static const char* skGasJetLocators[] = {
|
||||
"GasJet01", "GasJet02", "GasJet03", "GasJet04", "GasJet05", "GasJet06", "GasJet07",
|
||||
"GasJet08", "GasJet09", "GasJet10", "GasJet11", "GasJet12", "GasJet13", "GasJet14",
|
||||
};
|
||||
|
||||
static const char* skGasLocators[] = {
|
||||
"Gas_01_LCTR", "Gas_02_LCTR", "Gas_03_LCTR", "Gas_04_LCTR", "Gas_05_LCTR",
|
||||
"Gas_06_LCTR", "Gas_07_LCTR", "Gas_08_LCTR", "Gas_09_LCTR", "Gas_10_LCTR",
|
||||
"Gas_11_LCTR", "Gas_12_LCTR", "Gas_13_LCTR", "Gas_14_LCTR",
|
||||
};
|
||||
|
||||
CPuffer::CPuffer(TUniqueId uid, const rstl::string& name, const CEntityInfo& info,
|
||||
const CTransform4f& xf, const CModelData& modelData,
|
||||
const CActorParameters& actorParameters, const CPatternedInfo& patternedInfo,
|
||||
float hoverSpeed, CAssetId cloudEffect, const CDamageInfo& cloudDamage,
|
||||
CAssetId cloudSteam, float f2, bool b1, bool b2, bool b3,
|
||||
const CDamageInfo& explosionDamage, ushort sfxId)
|
||||
: CPatterned(kC_Puffer, uid, name, kFT_Zero, info, xf, modelData, patternedInfo, kMT_Flyer, kCT_One,
|
||||
kBT_RestrictedFlyer, actorParameters, kKBV_Small)
|
||||
, x568_face(xf.GetColumn(kDY))
|
||||
, x574_cloudEffect(gpSimplePool->GetObj(SObjectTag('PART', cloudEffect)))
|
||||
, x57c_cloudDamage(cloudDamage)
|
||||
, x598_24_(b1)
|
||||
, x598_25_(b3)
|
||||
, x598_26_(b2)
|
||||
, x59a_(CSfxManager::TranslateSFXID(sfxId))
|
||||
, x59c_explosionDamage(explosionDamage)
|
||||
, x5b8_(f2)
|
||||
, x5bc_cloudSteam(cloudSteam)
|
||||
, x5c0_move(CVector3f::Zero())
|
||||
, x5cc_(kInvalidUniqueId)
|
||||
, x5d0_enabledParticles(0) {
|
||||
CreateShadow(false);
|
||||
GetKnockBackCtrl().SetImpulseDurationIdx(1);
|
||||
x574_cloudEffect.Lock();
|
||||
GetBodyCtrl()->SetRestrictedFlyerMoveSpeed(hoverSpeed);
|
||||
}
|
||||
|
||||
CPuffer::~CPuffer() {}
|
||||
|
||||
void CPuffer::Accept(IVisitor& visitor) { visitor.Visit(*this); }
|
||||
|
||||
void CPuffer::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) {
|
||||
CPatterned::AcceptScriptMsg(msg, uid, mgr);
|
||||
|
||||
switch (msg) {
|
||||
case kSM_Registered:
|
||||
GetBodyCtrl()->Activate(mgr);
|
||||
SetMaterialFilter(CMaterialFilter::MakeIncludeExclude(kMT_Player, kMT_NoStaticCollision));
|
||||
break;
|
||||
case kSM_Action:
|
||||
if (GetActive()) {
|
||||
x401_30_pendingDeath = true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void CPuffer::Touch(CActor& act, CStateManager& mgr) {
|
||||
CPatterned::Touch(act, mgr);
|
||||
|
||||
if (x400_25_alive && mgr.GetPlayer()->GetUniqueId() == act.GetUniqueId()) {
|
||||
x401_30_pendingDeath = true;
|
||||
}
|
||||
}
|
||||
|
||||
rstl::optional_object< CAABox > CPuffer::GetTouchBounds() const {
|
||||
rstl::optional_object< CAABox > touchBounds = CPatterned::GetTouchBounds();
|
||||
if (touchBounds.valid()) {
|
||||
CAABox box = *touchBounds;
|
||||
box.AccumulateBounds(box.GetMinPoint() - CVector3f(0.5f, 0.5f, 0.5f));
|
||||
box.AccumulateBounds(box.GetMaxPoint() + CVector3f(0.5f, 0.5f, 0.5f));
|
||||
return box;
|
||||
}
|
||||
return touchBounds;
|
||||
}
|
||||
|
||||
void CPuffer::Death(CStateManager& mgr, const CVector3f& vec, EScriptObjectState state) {
|
||||
CPatterned::Death(mgr, vec, state);
|
||||
|
||||
mgr.ApplyDamageToWorld(
|
||||
GetUniqueId(), *this, GetTranslation(), x59c_explosionDamage,
|
||||
CMaterialFilter::MakeIncludeExclude(CMaterialList(kMT_Solid), CMaterialList()));
|
||||
|
||||
TUniqueId uid = mgr.AllocateUniqueId();
|
||||
CAABox aabb =
|
||||
CAABox(CVector3f(-1.f, -1.f, -1.f), CVector3f(1.f, 1.f, 1.f))
|
||||
.GetTransformedAABox(GetTransform() * CTransform4f::Scale(x57c_cloudDamage.GetRadius()));
|
||||
mgr.AddObject(new CFire(x574_cloudEffect, uid, GetCurrentAreaId(), true, GetUniqueId(),
|
||||
GetTransform(), x57c_cloudDamage, aabb, CVector3f(1.f, 1.f, 1.f), true,
|
||||
x5bc_cloudSteam, x598_24_, x598_26_, x598_25_, 1.f, x5b8_, 1.f, 1.f));
|
||||
}
|
||||
|
||||
void CPuffer::Think(float dt, CStateManager& mgr) {
|
||||
CPatterned::Think(dt, mgr);
|
||||
|
||||
sub8025bfa4(mgr);
|
||||
CVector3f moveVector = x450_bodyController->GetCommandMgr().GetMoveVector();
|
||||
|
||||
if (x5cc_ != x2dc_destObj) {
|
||||
x5cc_ = x2dc_destObj;
|
||||
CSfxManager::AddEmitter(x59a_, GetTranslation(), CVector3f::Zero(), true, false);
|
||||
}
|
||||
|
||||
x450_bodyController->CommandMgr().ClearLocomotionCmds();
|
||||
if (moveVector.CanBeNormalized()) {
|
||||
x5c0_move = CVector3f::Lerp(x5c0_move, moveVector, dt / 0.5f).AsNormalized();
|
||||
x450_bodyController->CommandMgr().DeliverCmd(CBCLocomotionCmd(x5c0_move, x568_face, 1.f));
|
||||
}
|
||||
}
|
||||
|
||||
#define ARRAY_SIZE(arr) int(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
void CPuffer::sub8025bfa4(CStateManager& mgr) {
|
||||
CVector3f moveVector = x450_bodyController->GetCommandMgr().GetMoveVector();
|
||||
|
||||
if (x5d4_gasLocators.empty()) {
|
||||
for (int i = 0; i < ARRAY_SIZE(skGasLocators); ++i) {
|
||||
x5d4_gasLocators.push_back(
|
||||
GetScaledLocatorTransform(rstl::string_l(skGasLocators[i])).GetColumn(kDY));
|
||||
}
|
||||
}
|
||||
|
||||
if (moveVector.CanBeNormalized()) {
|
||||
CVector3f moveNorm = -moveVector.AsNormalized();
|
||||
for (int i = 0; i < ARRAY_SIZE(skGasJetLocators); ++i) {
|
||||
CVector3f tmp = GetTransform().Rotate(x5d4_gasLocators[i]);
|
||||
float ang = CMath::FastCosR(CMath::Deg2Rad(45.f));
|
||||
bool enable = CVector3f::Dot(moveNorm, tmp) > ang;
|
||||
bool enabledCur = bool(x5d0_enabledParticles & (1 << i));
|
||||
|
||||
if (enabledCur != enable) {
|
||||
AnimationData()->SetParticleEffectState(rstl::string_l(skGasJetLocators[i]), enable, mgr);
|
||||
}
|
||||
if (enable) {
|
||||
x5d0_enabledParticles |= (1 << i);
|
||||
} else {
|
||||
x5d0_enabledParticles &= ~(1 << i);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < ARRAY_SIZE(skGasJetLocators); ++i) {
|
||||
if ((x5d0_enabledParticles & (1 << i)) != 0) {
|
||||
AnimationData()->SetParticleEffectState(rstl::string_l(skGasJetLocators[i]), false, mgr);
|
||||
}
|
||||
}
|
||||
x5d0_enabledParticles = 0;
|
||||
}
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
static inline CMaterialList MakeMaterialList() { return CMaterialList(kMT_Projectile); }
|
||||
|
||||
CFire::CFire(TToken< CGenDescription > effect, TUniqueId uid, TAreaId area, bool active,
|
||||
CFire::CFire(const TToken< CGenDescription >& effect, TUniqueId uid, TAreaId area, bool active,
|
||||
TUniqueId owner, const CTransform4f& xf, const CDamageInfo& dInfo, const CAABox& aabox,
|
||||
const CVector3f& vec, bool b1, CAssetId visorEffect, bool b2, bool b3, bool b4,
|
||||
float f1, float f2, float f3, float f4)
|
||||
|
|
Loading…
Reference in New Issue