mirror of https://github.com/PrimeDecomp/prime.git
CNewIntroBoss progress
This commit is contained in:
parent
280fe91feb
commit
fb4706a250
|
@ -531,7 +531,7 @@ lbl_80245004:
|
|||
/* 80245014 00241F74 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80245018 00241F78 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8024501C 00241F7C 7F E6 FB 78 */ mr r6, r31
|
||||
/* 80245020 00241F80 4B E3 3E 91 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80245020 00241F80 4B E3 3E 91 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80245024:
|
||||
/* 80245024 00241F84 E3 E1 01 28 */ psq_l f31, 296(r1), 0, qr0
|
||||
/* 80245028 00241F88 80 01 01 34 */ lwz r0, 0x134(r1)
|
||||
|
|
|
@ -39,7 +39,7 @@ lbl_803E8E4C:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -6177,7 +6177,7 @@ lbl_80222830:
|
|||
/* 80222840 0021F7A0 7F 84 E3 78 */ mr r4, r28
|
||||
/* 80222844 0021F7A4 7F A5 EB 78 */ mr r5, r29
|
||||
/* 80222848 0021F7A8 7F C6 F3 78 */ mr r6, r30
|
||||
/* 8022284C 0021F7AC 4B E5 66 65 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8022284C 0021F7AC 4B E5 66 65 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80222850:
|
||||
/* 80222850 0021F7B0 E3 E1 01 C8 */ psq_l f31, 456(r1), 0, qr0
|
||||
/* 80222854 0021F7B4 CB E1 01 C0 */ lfd f31, 0x1c0(r1)
|
||||
|
|
|
@ -2326,7 +2326,7 @@ lbl_800E4A5C:
|
|||
/* 800E4A6C 000E19CC 7F A4 EB 78 */ mr r4, r29
|
||||
/* 800E4A70 000E19D0 7F C5 F3 78 */ mr r5, r30
|
||||
/* 800E4A74 000E19D4 7F E6 FB 78 */ mr r6, r31
|
||||
/* 800E4A78 000E19D8 4B F9 44 39 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 800E4A78 000E19D8 4B F9 44 39 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_800E4A7C:
|
||||
/* 800E4A7C 000E19DC E3 E1 01 58 */ psq_l f31, 344(r1), 0, qr0
|
||||
/* 800E4A80 000E19E0 CB E1 01 50 */ lfd f31, 0x150(r1)
|
||||
|
|
|
@ -958,7 +958,7 @@ lbl_80119548:
|
|||
/* 80119558 001164B8 7F 84 E3 78 */ mr r4, r28
|
||||
/* 8011955C 001164BC 7F A5 EB 78 */ mr r5, r29
|
||||
/* 80119560 001164C0 7F C6 F3 78 */ mr r6, r30
|
||||
/* 80119564 001164C4 4B F5 F9 4D */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80119564 001164C4 4B F5 F9 4D */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80119568:
|
||||
/* 80119568 001164C8 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
|
||||
/* 8011956C 001164CC CB E1 00 50 */ lfd f31, 0x50(r1)
|
||||
|
|
|
@ -577,7 +577,7 @@ lbl_8026FFF0:
|
|||
/* 80270000 0026CF60 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80270004 0026CF64 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80270008 0026CF68 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8027000C 0026CF6C 4B E0 8E A5 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8027000C 0026CF6C 4B E0 8E A5 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80270010:
|
||||
/* 80270010 0026CF70 E3 E1 00 D8 */ psq_l f31, 216(r1), 0, qr0
|
||||
/* 80270014 0026CF74 CB E1 00 D0 */ lfd f31, 0xd0(r1)
|
||||
|
|
|
@ -765,7 +765,7 @@ lbl_8013F92C:
|
|||
/* 8013F93C 0013C89C 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8013F940 0013C8A0 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8013F944 0013C8A4 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8013F948 0013C8A8 4B F3 95 69 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8013F948 0013C8A8 4B F3 95 69 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_8013F94C:
|
||||
/* 8013F94C 0013C8AC 2C 1F 00 06 */ cmpwi r31, 6
|
||||
/* 8013F950 0013C8B0 40 82 00 0C */ bne lbl_8013F95C
|
||||
|
|
|
@ -8267,7 +8267,7 @@ lbl_80165EC8:
|
|||
/* 80165ED8 00162E38 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80165EDC 00162E3C 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80165EE0 00162E40 7F E6 FB 78 */ mr r6, r31
|
||||
/* 80165EE4 00162E44 4B F1 2F CD */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80165EE4 00162E44 4B F1 2F CD */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80165EE8:
|
||||
/* 80165EE8 00162E48 CB E1 00 88 */ lfd f31, 0x88(r1)
|
||||
/* 80165EEC 00162E4C BB 61 00 74 */ lmw r27, 0x74(r1)
|
||||
|
|
|
@ -6228,7 +6228,7 @@ lbl_8022C7A8:
|
|||
/* 8022C7B8 00229718 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8022C7BC 0022971C 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8022C7C0 00229720 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8022C7C4 00229724 4B E4 C6 ED */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8022C7C4 00229724 4B E4 C6 ED */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_8022C7C8:
|
||||
/* 8022C7C8 00229728 E3 E1 01 D8 */ psq_l f31, 472(r1), 0, qr0
|
||||
/* 8022C7CC 0022972C CB E1 01 D0 */ lfd f31, 0x1d0(r1)
|
||||
|
|
|
@ -1088,7 +1088,7 @@ lbl_80225258:
|
|||
/* 80225268 002221C8 7F 84 E3 78 */ mr r4, r28
|
||||
/* 8022526C 002221CC 7F A5 EB 78 */ mr r5, r29
|
||||
/* 80225270 002221D0 7F C6 F3 78 */ mr r6, r30
|
||||
/* 80225274 002221D4 4B E5 3C 3D */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80225274 002221D4 4B E5 3C 3D */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80225278:
|
||||
/* 80225278 002221D8 CB E1 00 88 */ lfd f31, 0x88(r1)
|
||||
/* 8022527C 002221DC BB 61 00 74 */ lmw r27, 0x74(r1)
|
||||
|
|
|
@ -36,7 +36,7 @@ lbl_803E1C88:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -6447,7 +6447,7 @@ lbl_801B2AF8:
|
|||
/* 801B2B08 001AFA68 7F 84 E3 78 */ mr r4, r28
|
||||
/* 801B2B0C 001AFA6C 7F A5 EB 78 */ mr r5, r29
|
||||
/* 801B2B10 001AFA70 7F C6 F3 78 */ mr r6, r30
|
||||
/* 801B2B14 001AFA74 4B EC 63 9D */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801B2B14 001AFA74 4B EC 63 9D */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_801B2B18:
|
||||
/* 801B2B18 001AFA78 E3 E1 05 38 */ psq_l f31, 1336(r1), 0, qr0
|
||||
/* 801B2B1C 001AFA7C CB E1 05 30 */ lfd f31, 0x530(r1)
|
||||
|
|
|
@ -32,7 +32,7 @@ lbl_803E6408:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -1230,7 +1230,7 @@ lbl_8013112C:
|
|||
/* 8013113C 0012E09C 7F 84 E3 78 */ mr r4, r28
|
||||
/* 80131140 0012E0A0 7F A5 EB 78 */ mr r5, r29
|
||||
/* 80131144 0012E0A4 7F C6 F3 78 */ mr r6, r30
|
||||
/* 80131148 0012E0A8 4B F4 7D 69 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80131148 0012E0A8 4B F4 7D 69 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_8013114C:
|
||||
/* 8013114C 0012E0AC CB E1 00 28 */ lfd f31, 0x28(r1)
|
||||
/* 80131150 0012E0B0 BB 61 00 14 */ lmw r27, 0x14(r1)
|
||||
|
|
|
@ -5657,7 +5657,7 @@ lbl_801F8AF4:
|
|||
/* 801F8B04 001F5A64 7F 24 CB 78 */ mr r4, r25
|
||||
/* 801F8B08 001F5A68 7F 45 D3 78 */ mr r5, r26
|
||||
/* 801F8B0C 001F5A6C 7F 66 DB 78 */ mr r6, r27
|
||||
/* 801F8B10 001F5A70 4B E8 03 A1 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801F8B10 001F5A70 4B E8 03 A1 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_801F8B14:
|
||||
/* 801F8B14 001F5A74 E3 E1 01 F8 */ psq_l f31, 504(r1), 0, qr0
|
||||
/* 801F8B18 001F5A78 CB E1 01 F0 */ lfd f31, 0x1f0(r1)
|
||||
|
|
|
@ -7481,7 +7481,7 @@ lbl_801A490C:
|
|||
/* 801A491C 001A187C 7F A4 EB 78 */ mr r4, r29
|
||||
/* 801A4920 001A1880 7F C5 F3 78 */ mr r5, r30
|
||||
/* 801A4924 001A1884 7F E6 FB 78 */ mr r6, r31
|
||||
/* 801A4928 001A1888 4B ED 45 89 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801A4928 001A1888 4B ED 45 89 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_801A492C:
|
||||
/* 801A492C 001A188C E3 E1 01 D8 */ psq_l f31, 472(r1), 0, qr0
|
||||
/* 801A4930 001A1890 CB E1 01 D0 */ lfd f31, 0x1d0(r1)
|
||||
|
|
|
@ -1343,7 +1343,7 @@ lbl_801D886C:
|
|||
/* 801D887C 001D57DC 7F A4 EB 78 */ mr r4, r29
|
||||
/* 801D8880 001D57E0 7F C5 F3 78 */ mr r5, r30
|
||||
/* 801D8884 001D57E4 7F E6 FB 78 */ mr r6, r31
|
||||
/* 801D8888 001D57E8 4B EA 06 29 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801D8888 001D57E8 4B EA 06 29 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_801D888C:
|
||||
/* 801D888C 001D57EC E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
|
||||
/* 801D8890 001D57F0 80 01 00 64 */ lwz r0, 0x64(r1)
|
||||
|
|
|
@ -2519,7 +2519,7 @@ lbl_80236524:
|
|||
/* 80236534 00233494 7F 84 E3 78 */ mr r4, r28
|
||||
/* 80236538 00233498 7F A5 EB 78 */ mr r5, r29
|
||||
/* 8023653C 0023349C 7F C6 F3 78 */ mr r6, r30
|
||||
/* 80236540 002334A0 4B E4 29 71 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80236540 002334A0 4B E4 29 71 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80236544:
|
||||
/* 80236544 002334A4 CB E1 00 28 */ lfd f31, 0x28(r1)
|
||||
/* 80236548 002334A8 BB 61 00 14 */ lmw r27, 0x14(r1)
|
||||
|
|
|
@ -32,7 +32,7 @@ __vt__8CMetaree:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__8CMetareeFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -8459,7 +8459,7 @@ lbl_801714B8:
|
|||
/* 801714C8 0016E428 7F A4 EB 78 */ mr r4, r29
|
||||
/* 801714CC 0016E42C 7F C5 F3 78 */ mr r5, r30
|
||||
/* 801714D0 0016E430 7F E6 FB 78 */ mr r6, r31
|
||||
/* 801714D4 0016E434 4B F0 79 DD */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801714D4 0016E434 4B F0 79 DD */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_801714D8:
|
||||
/* 801714D8 0016E438 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 801714DC 0016E43C CB E1 00 18 */ lfd f31, 0x18(r1)
|
||||
|
|
|
@ -5029,7 +5029,7 @@ lbl_801C5070:
|
|||
/* 801C5080 001C1FE0 7F A4 EB 78 */ mr r4, r29
|
||||
/* 801C5084 001C1FE4 7F C5 F3 78 */ mr r5, r30
|
||||
/* 801C5088 001C1FE8 7F E6 FB 78 */ mr r6, r31
|
||||
/* 801C508C 001C1FEC 4B EB 3E 25 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801C508C 001C1FEC 4B EB 3E 25 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_801C5090:
|
||||
/* 801C5090 001C1FF0 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 801C5094 001C1FF4 CB E1 00 18 */ lfd f31, 0x18(r1)
|
||||
|
|
|
@ -2486,7 +2486,7 @@ lbl_8027E814:
|
|||
/* 8027E824 0027B784 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8027E828 0027B788 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8027E82C 0027B78C 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8027E830 0027B790 4B DF A6 81 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8027E830 0027B790 4B DF A6 81 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_8027E834:
|
||||
/* 8027E834 0027B794 E3 E1 01 28 */ psq_l f31, 296(r1), 0, qr0
|
||||
/* 8027E838 0027B798 CB E1 01 20 */ lfd f31, 0x120(r1)
|
||||
|
|
|
@ -11512,7 +11512,7 @@ lbl_8027AC48:
|
|||
/* 8027AC58 00277BB8 7F C4 F3 78 */ mr r4, r30
|
||||
/* 8027AC5C 00277BBC 7F 85 E3 78 */ mr r5, r28
|
||||
/* 8027AC60 00277BC0 7F A6 EB 78 */ mr r6, r29
|
||||
/* 8027AC64 00277BC4 4B DF E2 4D */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8027AC64 00277BC4 4B DF E2 4D */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_8027AC68:
|
||||
/* 8027AC68 00277BC8 E3 E1 06 98 */ psq_l f31, 1688(r1), 0, qr0
|
||||
/* 8027AC6C 00277BCC CB E1 06 90 */ lfd f31, 0x690(r1)
|
||||
|
|
|
@ -32,7 +32,7 @@ lbl_803E4018:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__13CNewIntroBossFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetRenderBounds__13CNewIntroBossCFRC12CTransform4f
|
||||
.4byte DoUserAnimEvent__13CNewIntroBossFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__13CNewIntroBossFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
@ -2169,8 +2169,8 @@ GetTouchBounds__13CNewIntroBossCFv:
|
|||
/* 8018BA38 00188998 98 03 00 18 */ stb r0, 0x18(r3)
|
||||
/* 8018BA3C 0018899C 4E 80 00 20 */ blr
|
||||
|
||||
.global DoUserAnimEvent__13CNewIntroBossFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
DoUserAnimEvent__13CNewIntroBossFR13CStateManagerRC13CInt32POINode14EUserEventType:
|
||||
.global DoUserAnimEvent__13CNewIntroBossFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
DoUserAnimEvent__13CNewIntroBossFR13CStateManagerRC13CInt32POINode14EUserEventTypef:
|
||||
/* 8018BA40 001889A0 94 21 FE F0 */ stwu r1, -0x110(r1)
|
||||
/* 8018BA44 001889A4 7C 08 02 A6 */ mflr r0
|
||||
/* 8018BA48 001889A8 90 01 01 14 */ stw r0, 0x114(r1)
|
||||
|
@ -2336,7 +2336,7 @@ lbl_8018BC94:
|
|||
/* 8018BCA4 00188C04 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8018BCA8 00188C08 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8018BCAC 00188C0C 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8018BCB0 00188C10 4B EE D2 01 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8018BCB0 00188C10 4B EE D2 01 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_8018BCB4:
|
||||
/* 8018BCB4 00188C14 E3 E1 01 08 */ psq_l f31, 264(r1), 0, qr0
|
||||
/* 8018BCB8 00188C18 80 01 01 14 */ lwz r0, 0x114(r1)
|
||||
|
|
|
@ -43,7 +43,7 @@ lbl_803E3004:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__11CWallWalkerCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__9CParasiteFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -36,7 +36,7 @@ lbl_803DA5C8:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
@ -2515,8 +2515,8 @@ lbl_80078E8C:
|
|||
/* 80078EA8 00075E08 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 80078EAC 00075E0C 4E 80 00 20 */ blr
|
||||
|
||||
.global DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType:
|
||||
.global DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef:
|
||||
/* 80078EB0 00075E10 94 21 FD 80 */ stwu r1, -0x280(r1)
|
||||
/* 80078EB4 00075E14 7C 08 02 A6 */ mflr r0
|
||||
/* 80078EB8 00075E18 90 01 02 84 */ stw r0, 0x284(r1)
|
||||
|
|
|
@ -896,7 +896,7 @@ lbl_80295620:
|
|||
/* 80295648 002925A8 48 00 00 0C */ b lbl_80295654
|
||||
lbl_8029564C:
|
||||
/* 8029564C 002925AC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80295650 002925B0 4B DE 38 61 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80295650 002925B0 4B DE 38 61 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80295654:
|
||||
/* 80295654 002925B4 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 80295658 002925B8 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
||||
|
|
|
@ -1494,7 +1494,7 @@ lbl_80147C98:
|
|||
/* 80147CA8 00144C08 7F 84 E3 78 */ mr r4, r28
|
||||
/* 80147CAC 00144C0C 7F A5 EB 78 */ mr r5, r29
|
||||
/* 80147CB0 00144C10 7F C6 F3 78 */ mr r6, r30
|
||||
/* 80147CB4 00144C14 4B F3 11 FD */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80147CB4 00144C14 4B F3 11 FD */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80147CB8:
|
||||
/* 80147CB8 00144C18 E3 E1 01 48 */ psq_l f31, 328(r1), 0, qr0
|
||||
/* 80147CBC 00144C1C CB E1 01 40 */ lfd f31, 0x140(r1)
|
||||
|
|
|
@ -1326,7 +1326,7 @@ lbl_8014C324:
|
|||
/* 8014C334 00149294 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8014C338 00149298 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8014C33C 0014929C 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8014C340 001492A0 4B F2 CB 71 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8014C340 001492A0 4B F2 CB 71 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_8014C344:
|
||||
/* 8014C344 001492A4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
|
||||
/* 8014C348 001492A8 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
|
|
|
@ -68,7 +68,7 @@ __vt__7CPuffer:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -7762,7 +7762,7 @@ lbl_80258CA0:
|
|||
/* 80258CB0 00255C10 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80258CB4 00255C14 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80258CB8 00255C18 7F E6 FB 78 */ mr r6, r31
|
||||
/* 80258CBC 00255C1C 4B E2 01 F5 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80258CBC 00255C1C 4B E2 01 F5 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80258CC0:
|
||||
/* 80258CC0 00255C20 E3 E1 03 A8 */ psq_l f31, 936(r1), 0, qr0
|
||||
/* 80258CC4 00255C24 CB E1 03 A0 */ lfd f31, 0x3a0(r1)
|
||||
|
|
|
@ -32,7 +32,7 @@ lbl_803E3348:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -497,7 +497,7 @@ lbl_80266424:
|
|||
/* 80266434 00263394 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80266438 00263398 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8026643C 0026339C 7F E6 FB 78 */ mr r6, r31
|
||||
/* 80266440 002633A0 4B E1 2A 71 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 80266440 002633A0 4B E1 2A 71 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80266444:
|
||||
/* 80266444 002633A4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80266448 002633A8 CB E1 00 18 */ lfd f31, 0x18(r1)
|
||||
|
|
|
@ -2772,7 +2772,7 @@ lbl_80122084:
|
|||
/* 80122094 0011EFF4 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80122098 0011EFF8 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8012209C 0011EFFC 7F E6 FB 78 */ mr r6, r31
|
||||
/* 801220A0 0011F000 4B F5 6E 11 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801220A0 0011F000 4B F5 6E 11 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_801220A4:
|
||||
/* 801220A4 0011F004 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
|
||||
/* 801220A8 0011F008 80 01 00 94 */ lwz r0, 0x94(r1)
|
||||
|
|
|
@ -32,7 +32,7 @@ lbl_803E2D28:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -7968,11 +7968,11 @@ lbl_801E1060:
|
|||
/* 801E106C 001DDFCC 48 00 00 10 */ b lbl_801E107C
|
||||
.global lbl_801E1070
|
||||
lbl_801E1070:
|
||||
/* 801E1070 001DDFD0 4B E9 7E 41 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801E1070 001DDFD0 4B E9 7E 41 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
/* 801E1074 001DDFD4 48 00 00 08 */ b lbl_801E107C
|
||||
.global lbl_801E1078
|
||||
lbl_801E1078:
|
||||
/* 801E1078 001DDFD8 4B E9 7E 39 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 801E1078 001DDFD8 4B E9 7E 39 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.global lbl_801E107C
|
||||
lbl_801E107C:
|
||||
/* 801E107C 001DDFDC E3 E1 05 68 */ psq_l f31, 1384(r1), 0, qr0
|
||||
|
|
|
@ -32,7 +32,7 @@ lbl_803E6BE0:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -1207,7 +1207,7 @@ lbl_8025E85C:
|
|||
/* 8025E86C 0025B7CC 7F A4 EB 78 */ mr r4, r29
|
||||
/* 8025E870 0025B7D0 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8025E874 0025B7D4 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8025E878 0025B7D8 4B E1 A6 39 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8025E878 0025B7D8 4B E1 A6 39 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_8025E87C:
|
||||
/* 8025E87C 0025B7DC E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
|
||||
/* 8025E880 0025B7E0 CB E1 00 90 */ lfd f31, 0x90(r1)
|
||||
|
|
|
@ -32,7 +32,7 @@ lbl_803EA0F0:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__11CWallWalkerCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -6663,7 +6663,7 @@ lbl_80110710:
|
|||
/* 80110720 0010D680 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80110724 0010D684 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80110728 0010D688 7F E6 FB 78 */ mr r6, r31
|
||||
/* 8011072C 0010D68C 4B F6 87 85 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
/* 8011072C 0010D68C 4B F6 87 85 */ bl DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
lbl_80110730:
|
||||
/* 80110730 0010D690 E3 E1 0A 18 */ psq_l f31, -1512(r1), 0, qr0
|
||||
/* 80110734 0010D694 CB E1 0A 10 */ lfd f31, 0xa10(r1)
|
||||
|
|
|
@ -32,7 +32,7 @@ lbl_803EC0A0:
|
|||
.4byte FluidFXThink__3CAiFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
|
||||
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
|
||||
.4byte GetSortingBounds__6CActorCFRC13CStateManager
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventType
|
||||
.4byte DoUserAnimEvent__10CPatternedFR13CStateManagerRC13CInt32POINode14EUserEventTypef
|
||||
.4byte GetCollisionPrimitive__13CPhysicsActorCFv
|
||||
.4byte GetPrimitiveTransform__13CPhysicsActorCFv
|
||||
.4byte CollidedWith__10CPatternedFRC9TUniqueIdRC18CCollisionInfoListR13CStateManager
|
||||
|
|
|
@ -16,9 +16,11 @@ public:
|
|||
};
|
||||
|
||||
float GetTime() const { return x0_t; }
|
||||
bool IsValid() const { return x20_valid; }
|
||||
bool IsValid() const { return x20_valid == kI_Valid; }
|
||||
// TODO: figure out what's going on here
|
||||
bool IsInvalid() const { return x20_valid == kI_Invalid; }
|
||||
// GetPlane__14CRayCastResultCFv
|
||||
// GetPoint__14CRayCastResultCFv
|
||||
const CVector3f& GetPoint() const { return x4_point; }
|
||||
// GetMaterial__14CRayCastResultCFv
|
||||
// Transform__14CRayCastResultFRC12CTransform4f
|
||||
|
||||
|
|
|
@ -6,7 +6,22 @@
|
|||
#include "Kyoto/Math/CVector3f.hpp"
|
||||
|
||||
#include "rstl/optional_object.hpp"
|
||||
|
||||
enum EBoneTrackingFlags {
|
||||
kBTF_None = 0,
|
||||
kBTF_NoParent = 1,
|
||||
kBTF_NoParentOrigin = 2,
|
||||
kBTF_NoHorizontalAim = 4,
|
||||
kBTF_ParentIk = 8,
|
||||
};
|
||||
|
||||
class CBoneTracking {
|
||||
public:
|
||||
CBoneTracking(const CAnimData& animData, const rstl::string& bone, float maxTrackingAngle,
|
||||
float angSpeed, EBoneTrackingFlags flags);
|
||||
|
||||
void SetActive(bool v);
|
||||
|
||||
private:
|
||||
CQuaternion x0_rotation;
|
||||
float x10_;
|
||||
|
|
|
@ -9,6 +9,7 @@ class CCollisionPrimitive;
|
|||
class CMaterialFilter;
|
||||
class CStateManager;
|
||||
class CTransform4f;
|
||||
class CRayCastResult;
|
||||
|
||||
class CGameCollision {
|
||||
public:
|
||||
|
@ -25,6 +26,8 @@ public:
|
|||
const CCollisionPrimitive&, const CTransform4f&,
|
||||
const CMaterialFilter&, const TEntityList&, CVector3f,
|
||||
TUniqueId&, CCollisionInfo&, double&);
|
||||
static CRayCastResult RayStaticIntersection(const CStateManager&, const CVector3f&,
|
||||
const CVector3f&, float, const CMaterialFilter&);
|
||||
};
|
||||
|
||||
#endif // _CGAMECOLLISION
|
||||
|
|
|
@ -3,12 +3,13 @@
|
|||
|
||||
#include "MetroidPrime/Enemies/CPatterned.hpp"
|
||||
|
||||
#include "Kyoto/Animation/CharacterCommon.hpp"
|
||||
#include "MetroidPrime/CBoneTracking.hpp"
|
||||
#include "MetroidPrime/Weapons/CProjectileInfo.hpp"
|
||||
#include "Kyoto/Animation/CharacterCommon.hpp"
|
||||
|
||||
class CCollisionActorManager;
|
||||
class CPatternedInfo;
|
||||
|
||||
class CNewIntroBoss : public CPatterned {
|
||||
public:
|
||||
CNewIntroBoss(TUniqueId, const rstl::string&, const CEntityInfo& info, const CTransform4f& xf,
|
||||
|
@ -17,6 +18,32 @@ public:
|
|||
const CDamageInfo& dInfo, CAssetId beamContactFxId, CAssetId beamPulseFxId,
|
||||
CAssetId beamTextureId, CAssetId beamGlowTextureId);
|
||||
|
||||
// CEntity
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void Think(float dt, CStateManager& mgr) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
||||
|
||||
// CActor
|
||||
void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override;
|
||||
rstl::optional_object< CAABox > GetTouchBounds() const override;
|
||||
void OnScanStateChange(EScanState, CStateManager&) override;
|
||||
CAABox GetSortingBounds(const CStateManager&) const override;
|
||||
void DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node, EUserEventType type,
|
||||
float dt) override;
|
||||
|
||||
// CAi
|
||||
void Patrol(CStateManager&, EStateMsg, float) override;
|
||||
void Generate(CStateManager& mgr, EStateMsg msg, float arg) override;
|
||||
void Attack(CStateManager&, EStateMsg, float) override;
|
||||
bool InAttackPosition(CStateManager&, float) override;
|
||||
bool AnimOver(CStateManager&, float) override;
|
||||
bool ShouldAttack(CStateManager&, float) override;
|
||||
bool ShouldTurn(CStateManager&, float) override;
|
||||
bool AIStage(CStateManager&, float) override;
|
||||
|
||||
// CPatterned
|
||||
CProjectileInfo* ProjectileInfo() override;
|
||||
|
||||
pas::ELocomotionType GetLocoForHealth(const CStateManager& mgr) const;
|
||||
pas::EGenerateType GetGenerateForHealth(const CStateManager& mgr) const;
|
||||
float GetNextAttackTime(CStateManager& mgr) const;
|
||||
|
@ -26,10 +53,9 @@ public:
|
|||
|
||||
float GetInitialHP() const { return x640_initialHp; }
|
||||
|
||||
void Generate(CStateManager& mgr, EStateMsg msg, float arg);
|
||||
private:
|
||||
pas::ELocomotionType x568_locomotion;
|
||||
u32 x56c_stateProg;
|
||||
uint x56c_stateProg;
|
||||
float x570_minTurnAngle;
|
||||
CBoneTracking x574_boneTracking;
|
||||
CProjectileInfo x5ac_projectileInfo;
|
||||
|
@ -53,7 +79,7 @@ private:
|
|||
float x63c_attackTime;
|
||||
float x640_initialHp;
|
||||
CTransform4f x644_initialXf;
|
||||
s16 x674_rumbleVoice;
|
||||
short x674_rumbleVoice;
|
||||
TUniqueId x676_curProjectile;
|
||||
bool x678_;
|
||||
};
|
||||
|
|
|
@ -233,7 +233,7 @@ public:
|
|||
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 CProjectileInfo* ProjectileInfo() { return nullptr; }
|
||||
virtual void PhazeOut(CStateManager&);
|
||||
virtual const rstl::optional_object< TLockedToken< CGenDescription > >&
|
||||
GetDeathExplosionParticle() const {
|
||||
|
@ -241,6 +241,7 @@ public:
|
|||
}
|
||||
|
||||
void DeathDelete(CStateManager& mgr);
|
||||
CTransform4f GetLctrTransform(const rstl::string&) const;
|
||||
|
||||
TUniqueId GetDestObj() const { return x2dc_destObj; } // TODO: name?
|
||||
CStateMachineState& StateMachineState() { return x330_stateMachineState; }
|
||||
|
|
|
@ -55,6 +55,7 @@ class CPlayer : public CPhysicsActor {
|
|||
float GetAlpha() const { return x20_alpha; }
|
||||
bool AffectsThermal() const { return x28_affectsThermal; }
|
||||
};
|
||||
|
||||
public:
|
||||
enum EPlayerOrbitState {
|
||||
kOS_NoOrbit,
|
||||
|
@ -177,6 +178,7 @@ public:
|
|||
|
||||
CVector3f GetBallPosition() const;
|
||||
CVector3f GetEyePosition() const;
|
||||
float GetEyeHeight() const;
|
||||
CTransform4f CreateTransformFromMovementDirection() const;
|
||||
EPlayerOrbitState GetOrbitState() const { return x304_orbitState; }
|
||||
const CVector3f& GetMovementDirection() const { return x50c_moveDir; }
|
||||
|
@ -215,14 +217,14 @@ public:
|
|||
void Teleport(const CTransform4f& xf, CStateManager& mgr, bool resetBallCam);
|
||||
void SetSpawnedMorphBallState(EPlayerMorphBallState state, CStateManager& mgr);
|
||||
const CVisorSteam& GetVisorSteam() const { return x7a0_visorSteam; }
|
||||
void SetVisorSteam(float targetAlpha, float alphaInDur, float alphaOutDir, CAssetId txtr, bool affectsThermal);
|
||||
void SetVisorSteam(float targetAlpha, float alphaInDur, float alphaOutDir, CAssetId txtr,
|
||||
bool affectsThermal);
|
||||
|
||||
CVector3f GetDampedClampedVelocityWR() const;
|
||||
float GetAverageSpeed() const;
|
||||
float GetGravity() const;
|
||||
|
||||
private:
|
||||
|
||||
NPlayer::EPlayerMovementState x258_movementState;
|
||||
rstl::vector< CToken > x25c_ballTransitionsRes;
|
||||
TUniqueId x26c_attachedActor;
|
||||
|
|
|
@ -8,11 +8,12 @@
|
|||
class CFluidPlaneCPU;
|
||||
|
||||
class CScriptWater {
|
||||
uchar x0_pad[0x1b4];
|
||||
rstl::single_ptr<CFluidPlaneCPU> x1b4_fluidPlane;
|
||||
|
||||
public:
|
||||
CFluidPlaneCPU& FluidPlane() { return *x1b4_fluidPlane; }
|
||||
|
||||
private:
|
||||
uchar x0_pad[0x1b4];
|
||||
rstl::single_ptr< CFluidPlaneCPU > x1b4_fluidPlane;
|
||||
};
|
||||
|
||||
#endif // _CSCRIPTWATER
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include "MetroidPrime/CDamageInfo.hpp"
|
||||
|
||||
#include "Kyoto/TToken.hpp"
|
||||
#include "Kyoto/Math/CVector3f.hpp"
|
||||
#include "Kyoto/TToken.hpp"
|
||||
|
||||
class CPlayer;
|
||||
class CWeaponDescription;
|
||||
|
@ -18,8 +18,12 @@ public:
|
|||
explicit CProjectileInfo(CInputStream&);
|
||||
|
||||
float GetProjectileSpeed() const;
|
||||
CVector3f PredictInterceptPos(const CVector3f& gunPos, const CVector3f& aimPos, const CPlayer& player, bool gravity, float dt);
|
||||
static CVector3f PredictInterceptPos(const CVector3f& gunPos, const CVector3f& aimPos, const CPlayer& player, bool gravity, float speed, float dt);
|
||||
CVector3f PredictInterceptPos(const CVector3f& gunPos, const CVector3f& aimPos,
|
||||
const CPlayer& player, bool gravity, float dt);
|
||||
static CVector3f PredictInterceptPos(const CVector3f& gunPos, const CVector3f& aimPos,
|
||||
const CPlayer& player, bool gravity, float speed, float dt);
|
||||
|
||||
TCachedToken< CWeaponDescription >& Token() { return x0_weaponDescription; }
|
||||
};
|
||||
|
||||
#endif // _CPROJECTILEINFO
|
||||
|
|
|
@ -99,7 +99,10 @@ public:
|
|||
|
||||
size_t size() const { return x8_size; }
|
||||
void assign(const basic_string&);
|
||||
basic_string& operator=(const basic_string&);
|
||||
basic_string& operator=(const basic_string& other) {
|
||||
assign(other);
|
||||
return *this;
|
||||
}
|
||||
basic_string operator+(const basic_string&);
|
||||
basic_string operator+(const _CharTp*);
|
||||
|
||||
|
|
|
@ -1,7 +1,48 @@
|
|||
#include "MetroidPrime/Enemies/CNewIntroBoss.hpp"
|
||||
|
||||
#include "MetroidPrime/CCollisionActorManager.hpp"
|
||||
#include "MetroidPrime/CGameCollision.hpp"
|
||||
#include "MetroidPrime/CHealthInfo.hpp"
|
||||
#include "MetroidPrime/CPOINode.hpp"
|
||||
#include "MetroidPrime/CRumbleManager.hpp"
|
||||
#include "MetroidPrime/Player/CPlayer.hpp"
|
||||
#include "MetroidPrime/Weapons/CBeamProjectile.hpp"
|
||||
|
||||
#include "Collision/CRayCastResult.hpp"
|
||||
|
||||
// TODO move
|
||||
struct SSphereJointInfo {
|
||||
const char* name;
|
||||
float radius;
|
||||
};
|
||||
struct SOBBJointInfo {
|
||||
const char* from;
|
||||
const char* to;
|
||||
float bX;
|
||||
float bY;
|
||||
float bZ;
|
||||
};
|
||||
|
||||
const SOBBJointInfo skOBBJoints[] = {
|
||||
{"Pelvis", "Spine_3", 4.f, 1.f, 4.f},
|
||||
{"Spine_3", "Tail_1", 2.f, 1.f, 2.f},
|
||||
{"Tail_1", "Tail_2", 1.f, 1.f, 1.f},
|
||||
{"Tail_2", "Tail_3", 1.f, 1.f, 1.f},
|
||||
{"Tail_3", "Tail_4", 1.f, 1.f, 1.f},
|
||||
{"R_shoulder_front", "R_elbow_front", .5f, .5f, .5f},
|
||||
{"R_elbow_front", "R_wrist_front", .5f, .5f, .5f},
|
||||
{"L_shoulder_front", "L_elbow_front", .5f, .5f, .5f},
|
||||
{"L_elbow_front", "L_wrist_front", .5f, .5f, .5f},
|
||||
{"R_shoulder_back", "R_elbow_back", .5f, .5f, .5f},
|
||||
{"R_elbow_back", "R_wrist_back", .5f, .5f, .5f},
|
||||
{"L_shoulder_back", "L_elbow_back", .5f, .5f, .5f},
|
||||
{"L_elbow_back", "L_wrist_back", .5f, .5f, .5f},
|
||||
};
|
||||
|
||||
const SSphereJointInfo skSphereJoints[] = {
|
||||
{"Head_1", 1.5f},
|
||||
{"Tail_5", 1.5f},
|
||||
};
|
||||
|
||||
pas::ELocomotionType CNewIntroBoss::GetLocoForHealth(const CStateManager& mgr) const {
|
||||
const CHealthInfo* hInfo = GetHealthInfo(mgr);
|
||||
|
@ -36,6 +77,118 @@ float CNewIntroBoss::GetNextAttackTime(CStateManager& mgr) const {
|
|||
return attackTime - (0.825f * attackTime);
|
||||
}
|
||||
|
||||
CNewIntroBoss::CNewIntroBoss(TUniqueId uid, const rstl::string& name, const CEntityInfo& info,
|
||||
const CTransform4f& xf, const CModelData& mData,
|
||||
const CPatternedInfo& pInfo, const CActorParameters& actParms,
|
||||
float minTurnAngle, CAssetId projectile, const CDamageInfo& dInfo,
|
||||
CAssetId beamContactFxId, CAssetId beamPulseFxId,
|
||||
CAssetId beamTextureId, CAssetId beamGlowTextureId)
|
||||
: CPatterned(kC_NewIntroBoss, uid, name, kFT_Zero, info, xf, mData, pInfo, kMT_Flyer, kCT_One,
|
||||
kBT_Restricted, actParms, kKBV_Medium)
|
||||
, x568_locomotion(pas::kLT_Relaxed)
|
||||
, x56c_stateProg(0)
|
||||
, x570_minTurnAngle(minTurnAngle)
|
||||
, x574_boneTracking(*GetAnimationData(), rstl::string_l("Head_1"), CMath::Deg2Rad(80.f),
|
||||
CMath::Deg2Rad(180.f), kBTF_None)
|
||||
, x5ac_projectileInfo(projectile, dInfo)
|
||||
, x5d4_stage1Projectile(kInvalidUniqueId)
|
||||
, x5d6_stage2Projectile(kInvalidUniqueId)
|
||||
, x5d8_stage3Projectile(kInvalidUniqueId)
|
||||
, x5f0_beamContactFxId(beamContactFxId)
|
||||
, x5f4_beamPulseFxId(beamPulseFxId)
|
||||
, x5f8_beamTextureId(beamTextureId)
|
||||
, x5fc_beamGlowTextureId(beamGlowTextureId)
|
||||
, x600_headActor(kInvalidUniqueId)
|
||||
, x602_pelvisActor(kInvalidUniqueId)
|
||||
, x604_predictedPlayerPos(CVector3f::Zero())
|
||||
, x610_lookPos(CVector3f::Zero())
|
||||
, x61c_startPlayerPos(CVector3f::Zero())
|
||||
, x628_firingTime(0.f)
|
||||
, x62c_targetPos(CVector3f::Zero())
|
||||
, x638_(0.2f)
|
||||
, x63c_attackTime(8.f)
|
||||
, x640_initialHp(0.f)
|
||||
, x644_initialXf(xf)
|
||||
, x674_rumbleVoice(-1)
|
||||
, x676_curProjectile(kInvalidUniqueId)
|
||||
, x678_(false) {
|
||||
x5ac_projectileInfo.Token().Lock();
|
||||
x574_boneTracking.SetActive(true);
|
||||
}
|
||||
|
||||
CProjectileInfo* CNewIntroBoss::ProjectileInfo() { return &x5ac_projectileInfo; }
|
||||
|
||||
CVector3f CNewIntroBoss::PlayerPos(const CStateManager& mgr) const {
|
||||
float z0 = mgr.GetPlayer()->GetEyeHeight() / 2.f;
|
||||
CVector3f pos = mgr.GetPlayer()->GetTranslation() + CVector3f(0.f, 0.f, z0);
|
||||
CRayCastResult result = CGameCollision::RayStaticIntersection(
|
||||
mgr, pos, CVector3f::Down(), 30.f, CMaterialFilter::MakeInclude(kMT_Solid));
|
||||
if (result.IsInvalid()) {
|
||||
float z = mgr.GetPlayer()->GetEyeHeight() / 2.f + 0.2f;
|
||||
return mgr.GetPlayer()->GetTranslation() + CVector3f(0.f, 0.f, z);
|
||||
} else {
|
||||
float z = mgr.GetPlayer()->GetEyeHeight() / 2.f + 0.2f;
|
||||
return result.GetPoint() + CVector3f(0.f, 0.f, z);
|
||||
}
|
||||
}
|
||||
|
||||
void CNewIntroBoss::DoUserAnimEvent(CStateManager& mgr, const CInt32POINode& node,
|
||||
EUserEventType event, float dt) {
|
||||
bool handled = false;
|
||||
switch (event) {
|
||||
case kUE_DamageOn: {
|
||||
x5dc_damageLocator = node.GetLocatorName();
|
||||
CTransform4f xf = GetLctrTransform(x5dc_damageLocator);
|
||||
CVector3f playerPos = PlayerPos(mgr);
|
||||
x62c_targetPos = x610_lookPos = x604_predictedPlayerPos = playerPos;
|
||||
x61c_startPlayerPos = playerPos;
|
||||
x628_firingTime = 0.f;
|
||||
if (GetLocoForHealth(mgr) == pas::kLT_Combat) {
|
||||
x676_curProjectile = x5d8_stage3Projectile;
|
||||
} else if (GetLocoForHealth(mgr) == pas::kLT_Lurk) {
|
||||
x676_curProjectile = x5d6_stage2Projectile;
|
||||
} else {
|
||||
x676_curProjectile = x5d4_stage1Projectile;
|
||||
}
|
||||
|
||||
CTransform4f projXf = CTransform4f::LookAt(xf.GetTranslation(), x610_lookPos);
|
||||
if (CBeamProjectile* projectile =
|
||||
static_cast< CBeamProjectile* >(mgr.ObjectById(x676_curProjectile))) {
|
||||
if (!projectile->GetActive()) {
|
||||
projectile->Fire(projXf, mgr, false);
|
||||
|
||||
if (x674_rumbleVoice == -1)
|
||||
x674_rumbleVoice =
|
||||
mgr.GetRumbleManager()->Rumble(mgr, kRFX_IntroBossProjectile, 1.f, kRP_Two);
|
||||
}
|
||||
}
|
||||
handled = true;
|
||||
break;
|
||||
}
|
||||
case kUE_DamageOff: {
|
||||
if (CBeamProjectile* projectile =
|
||||
static_cast< CBeamProjectile* >(mgr.ObjectById(x676_curProjectile))) {
|
||||
projectile->ResetBeam(mgr, false);
|
||||
}
|
||||
|
||||
StopRumble(mgr);
|
||||
x63c_attackTime = GetNextAttackTime(mgr);
|
||||
SendScriptMsgs(kSS_Attack, mgr, kSM_None);
|
||||
handled = true;
|
||||
break;
|
||||
}
|
||||
case kUE_Projectile:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (!handled) {
|
||||
CPatterned::DoUserAnimEvent(mgr, node, event, dt);
|
||||
}
|
||||
}
|
||||
|
||||
rstl::optional_object< CAABox > CNewIntroBoss::GetTouchBounds() const {
|
||||
return rstl::optional_object_null();
|
||||
}
|
||||
|
||||
void CNewIntroBoss::Generate(CStateManager& mgr, EStateMsg msg, float arg) {
|
||||
/*
|
||||
|
|
|
@ -83,17 +83,18 @@ void CWeapon::FluidFXThink(EFluidState state, CScriptWater& water, CStateManager
|
|||
#if 0
|
||||
if (doRipple) {
|
||||
CVector3f pos = GetTranslation();
|
||||
pos.SetZ(float(water.GetTriggerBoundsWR().GetMax().GetZ()));
|
||||
pos.SetZ(water.GetSurfaceZ()); // <- GetTriggerBoundsWR().GetMax().GetZ()
|
||||
if (True(xe8_projectileAttribs & EProjectileAttrib::ComboShot)) {
|
||||
if (!water.CanRippleAtPoint(pos))
|
||||
if (!water.CanRippleAtPoint(pos)) {
|
||||
doRipple = false;
|
||||
}
|
||||
} else if (state == EFluidState::InFluid) {
|
||||
doRipple = false;
|
||||
}
|
||||
|
||||
if (doRipple) {
|
||||
water.GetFluidPlane().AddRipple(mag, x8_uid, pos, water, mgr);
|
||||
mgr.GetFluidPlaneManager()->CreateSplash(x8_uid, mgr, water, pos, mag,
|
||||
water.FluidPlane().AddRipple(mag, x8_uid, pos, water, mgr);
|
||||
mgr.FluidPlaneManager()->CreateSplash(x8_uid, mgr, water, pos, mag,
|
||||
state == EFluidState::EnteredFluid ||
|
||||
state == EFluidState::LeftFluid);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue