mirror of https://github.com/PrimeDecomp/prime.git
Match and link CABSIdle
This commit is contained in:
parent
1f5290572d
commit
c4045da4b3
|
@ -53,8 +53,8 @@ __dt__7CABSAimFv:
|
||||||
/* 801D9D34 001D6C94 38 03 5C A0 */ addi r0, r3, lbl_803E5CA0@l
|
/* 801D9D34 001D6C94 38 03 5C A0 */ addi r0, r3, lbl_803E5CA0@l
|
||||||
/* 801D9D38 001D6C98 90 1F 00 00 */ stw r0, 0(r31)
|
/* 801D9D38 001D6C98 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
/* 801D9D3C 001D6C9C 41 82 00 10 */ beq lbl_801D9D4C
|
/* 801D9D3C 001D6C9C 41 82 00 10 */ beq lbl_801D9D4C
|
||||||
/* 801D9D40 001D6CA0 3C 60 80 3E */ lis r3, lbl_803E1350@ha
|
/* 801D9D40 001D6CA0 3C 60 80 3E */ lis r3, __vt__18CAdditiveBodyState@ha
|
||||||
/* 801D9D44 001D6CA4 38 03 13 50 */ addi r0, r3, lbl_803E1350@l
|
/* 801D9D44 001D6CA4 38 03 13 50 */ addi r0, r3, __vt__18CAdditiveBodyState@l
|
||||||
/* 801D9D48 001D6CA8 90 1F 00 00 */ stw r0, 0(r31)
|
/* 801D9D48 001D6CA8 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
lbl_801D9D4C:
|
lbl_801D9D4C:
|
||||||
/* 801D9D4C 001D6CAC 7C 80 07 35 */ extsh. r0, r4
|
/* 801D9D4C 001D6CAC 7C 80 07 35 */ extsh. r0, r4
|
||||||
|
@ -559,9 +559,9 @@ lbl_801DA44C:
|
||||||
|
|
||||||
.global __ct__7CABSAimFv
|
.global __ct__7CABSAimFv
|
||||||
__ct__7CABSAimFv:
|
__ct__7CABSAimFv:
|
||||||
/* 801DA468 001D73C8 3C A0 80 3E */ lis r5, lbl_803E1350@ha
|
/* 801DA468 001D73C8 3C A0 80 3E */ lis r5, __vt__18CAdditiveBodyState@ha
|
||||||
/* 801DA46C 001D73CC 3C 80 80 3E */ lis r4, lbl_803E5CA0@ha
|
/* 801DA46C 001D73CC 3C 80 80 3E */ lis r4, lbl_803E5CA0@ha
|
||||||
/* 801DA470 001D73D0 38 A5 13 50 */ addi r5, r5, lbl_803E1350@l
|
/* 801DA470 001D73D0 38 A5 13 50 */ addi r5, r5, __vt__18CAdditiveBodyState@l
|
||||||
/* 801DA474 001D73D4 38 00 00 00 */ li r0, 0
|
/* 801DA474 001D73D4 38 00 00 00 */ li r0, 0
|
||||||
/* 801DA478 001D73D8 90 A3 00 00 */ stw r5, 0(r3)
|
/* 801DA478 001D73D8 90 A3 00 00 */ stw r5, 0(r3)
|
||||||
/* 801DA47C 001D73DC 38 84 5C A0 */ addi r4, r4, lbl_803E5CA0@l
|
/* 801DA47C 001D73DC 38 84 5C A0 */ addi r4, r4, lbl_803E5CA0@l
|
||||||
|
@ -605,4 +605,3 @@ lbl_805AC9E0:
|
||||||
lbl_805AC9E4:
|
lbl_805AC9E4:
|
||||||
# ROM: 0x3F9284
|
# ROM: 0x3F9284
|
||||||
.float 0.017453292
|
.float 0.017453292
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,8 @@ __dt__10CABSFlinchFv:
|
||||||
/* 801D9A50 001D69B0 38 03 5C 80 */ addi r0, r3, lbl_803E5C80@l
|
/* 801D9A50 001D69B0 38 03 5C 80 */ addi r0, r3, lbl_803E5C80@l
|
||||||
/* 801D9A54 001D69B4 90 1F 00 00 */ stw r0, 0(r31)
|
/* 801D9A54 001D69B4 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
/* 801D9A58 001D69B8 41 82 00 10 */ beq lbl_801D9A68
|
/* 801D9A58 001D69B8 41 82 00 10 */ beq lbl_801D9A68
|
||||||
/* 801D9A5C 001D69BC 3C 60 80 3E */ lis r3, lbl_803E1350@ha
|
/* 801D9A5C 001D69BC 3C 60 80 3E */ lis r3, __vt__18CAdditiveBodyState@ha
|
||||||
/* 801D9A60 001D69C0 38 03 13 50 */ addi r0, r3, lbl_803E1350@l
|
/* 801D9A60 001D69C0 38 03 13 50 */ addi r0, r3, __vt__18CAdditiveBodyState@l
|
||||||
/* 801D9A64 001D69C4 90 1F 00 00 */ stw r0, 0(r31)
|
/* 801D9A64 001D69C4 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
lbl_801D9A68:
|
lbl_801D9A68:
|
||||||
/* 801D9A68 001D69C8 7C 80 07 35 */ extsh. r0, r4
|
/* 801D9A68 001D69C8 7C 80 07 35 */ extsh. r0, r4
|
||||||
|
@ -217,9 +217,9 @@ lbl_801D9CCC:
|
||||||
|
|
||||||
.global __ct__10CABSFlinchFv
|
.global __ct__10CABSFlinchFv
|
||||||
__ct__10CABSFlinchFv:
|
__ct__10CABSFlinchFv:
|
||||||
/* 801D9CEC 001D6C4C 3C A0 80 3E */ lis r5, lbl_803E1350@ha
|
/* 801D9CEC 001D6C4C 3C A0 80 3E */ lis r5, __vt__18CAdditiveBodyState@ha
|
||||||
/* 801D9CF0 001D6C50 3C 80 80 3E */ lis r4, lbl_803E5C80@ha
|
/* 801D9CF0 001D6C50 3C 80 80 3E */ lis r4, lbl_803E5C80@ha
|
||||||
/* 801D9CF4 001D6C54 38 05 13 50 */ addi r0, r5, lbl_803E1350@l
|
/* 801D9CF4 001D6C54 38 05 13 50 */ addi r0, r5, __vt__18CAdditiveBodyState@l
|
||||||
/* 801D9CF8 001D6C58 C0 02 AC A8 */ lfs f0, lbl_805AC9C8@sda21(r2)
|
/* 801D9CF8 001D6C58 C0 02 AC A8 */ lfs f0, lbl_805AC9C8@sda21(r2)
|
||||||
/* 801D9CFC 001D6C5C 90 03 00 00 */ stw r0, 0(r3)
|
/* 801D9CFC 001D6C5C 90 03 00 00 */ stw r0, 0(r3)
|
||||||
/* 801D9D00 001D6C60 38 84 5C 80 */ addi r4, r4, lbl_803E5C80@l
|
/* 801D9D00 001D6C60 38 84 5C 80 */ addi r4, r4, lbl_803E5C80@l
|
||||||
|
@ -246,4 +246,3 @@ lbl_805AC9C8:
|
||||||
# ROM: 0x3F9268
|
# ROM: 0x3F9268
|
||||||
.float 1.0
|
.float 1.0
|
||||||
.4byte 0
|
.4byte 0
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
.section .data
|
.section .data
|
||||||
.balign 8
|
.balign 8
|
||||||
|
|
||||||
.global lbl_803E5C60
|
.global __vt__8CABSIdle
|
||||||
lbl_803E5C60:
|
__vt__8CABSIdle:
|
||||||
# ROM: 0x3E2C60
|
# ROM: 0x3E2C60
|
||||||
.4byte 0
|
.4byte 0
|
||||||
.4byte 0
|
.4byte 0
|
||||||
|
@ -25,12 +25,12 @@ __dt__8CABSIdleFv:
|
||||||
/* 801D9940 001D68A0 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 801D9940 001D68A0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 801D9944 001D68A4 7C 7F 1B 79 */ or. r31, r3, r3
|
/* 801D9944 001D68A4 7C 7F 1B 79 */ or. r31, r3, r3
|
||||||
/* 801D9948 001D68A8 41 82 00 30 */ beq lbl_801D9978
|
/* 801D9948 001D68A8 41 82 00 30 */ beq lbl_801D9978
|
||||||
/* 801D994C 001D68AC 3C 60 80 3E */ lis r3, lbl_803E5C60@ha
|
/* 801D994C 001D68AC 3C 60 80 3E */ lis r3, __vt__8CABSIdle@ha
|
||||||
/* 801D9950 001D68B0 38 03 5C 60 */ addi r0, r3, lbl_803E5C60@l
|
/* 801D9950 001D68B0 38 03 5C 60 */ addi r0, r3, __vt__8CABSIdle@l
|
||||||
/* 801D9954 001D68B4 90 1F 00 00 */ stw r0, 0(r31)
|
/* 801D9954 001D68B4 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
/* 801D9958 001D68B8 41 82 00 10 */ beq lbl_801D9968
|
/* 801D9958 001D68B8 41 82 00 10 */ beq lbl_801D9968
|
||||||
/* 801D995C 001D68BC 3C 60 80 3E */ lis r3, lbl_803E1350@ha
|
/* 801D995C 001D68BC 3C 60 80 3E */ lis r3, __vt__18CAdditiveBodyState@ha
|
||||||
/* 801D9960 001D68C0 38 03 13 50 */ addi r0, r3, lbl_803E1350@l
|
/* 801D9960 001D68C0 38 03 13 50 */ addi r0, r3, __vt__18CAdditiveBodyState@l
|
||||||
/* 801D9964 001D68C4 90 1F 00 00 */ stw r0, 0(r31)
|
/* 801D9964 001D68C4 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
lbl_801D9968:
|
lbl_801D9968:
|
||||||
/* 801D9968 001D68C8 7C 80 07 35 */ extsh. r0, r4
|
/* 801D9968 001D68C8 7C 80 07 35 */ extsh. r0, r4
|
||||||
|
@ -53,8 +53,8 @@ Start__8CABSIdleFR15CBodyControllerR13CStateManager:
|
||||||
Shutdown__8CABSIdleFR15CBodyController:
|
Shutdown__8CABSIdleFR15CBodyController:
|
||||||
/* 801D9994 001D68F4 4E 80 00 20 */ blr
|
/* 801D9994 001D68F4 4E 80 00 20 */ blr
|
||||||
|
|
||||||
.global GetBodyStateTransition__8CABSIdleFfR15CBodyController
|
.global GetBodyStateTransition__8CABSIdleCFfR15CBodyController
|
||||||
GetBodyStateTransition__8CABSIdleFfR15CBodyController:
|
GetBodyStateTransition__8CABSIdleCFfR15CBodyController:
|
||||||
/* 801D9998 001D68F8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 801D9998 001D68F8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 801D999C 001D68FC 7C 08 02 A6 */ mflr r0
|
/* 801D999C 001D68FC 7C 08 02 A6 */ mflr r0
|
||||||
/* 801D99A0 001D6900 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 801D99A0 001D6900 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
|
@ -95,7 +95,7 @@ UpdateBody__8CABSIdleFfR15CBodyControllerR13CStateManager:
|
||||||
/* 801D9A14 001D6974 94 21 FF F0 */ stwu r1, -0x10(r1)
|
/* 801D9A14 001D6974 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
/* 801D9A18 001D6978 7C 08 02 A6 */ mflr r0
|
/* 801D9A18 001D6978 7C 08 02 A6 */ mflr r0
|
||||||
/* 801D9A1C 001D697C 90 01 00 14 */ stw r0, 0x14(r1)
|
/* 801D9A1C 001D697C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
/* 801D9A20 001D6980 4B FF FF 79 */ bl GetBodyStateTransition__8CABSIdleFfR15CBodyController
|
/* 801D9A20 001D6980 4B FF FF 79 */ bl GetBodyStateTransition__8CABSIdleCFfR15CBodyController
|
||||||
/* 801D9A24 001D6984 80 01 00 14 */ lwz r0, 0x14(r1)
|
/* 801D9A24 001D6984 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||||
/* 801D9A28 001D6988 7C 08 03 A6 */ mtlr r0
|
/* 801D9A28 001D6988 7C 08 03 A6 */ mtlr r0
|
||||||
/* 801D9A2C 001D698C 38 21 00 10 */ addi r1, r1, 0x10
|
/* 801D9A2C 001D698C 38 21 00 10 */ addi r1, r1, 0x10
|
||||||
|
|
|
@ -28,8 +28,8 @@ __dt__12CABSReactionFv:
|
||||||
/* 801F155C 001EE4BC 38 03 67 58 */ addi r0, r3, lbl_803E6758@l
|
/* 801F155C 001EE4BC 38 03 67 58 */ addi r0, r3, lbl_803E6758@l
|
||||||
/* 801F1560 001EE4C0 90 1F 00 00 */ stw r0, 0(r31)
|
/* 801F1560 001EE4C0 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
/* 801F1564 001EE4C4 41 82 00 10 */ beq lbl_801F1574
|
/* 801F1564 001EE4C4 41 82 00 10 */ beq lbl_801F1574
|
||||||
/* 801F1568 001EE4C8 3C 60 80 3E */ lis r3, lbl_803E1350@ha
|
/* 801F1568 001EE4C8 3C 60 80 3E */ lis r3, __vt__18CAdditiveBodyState@ha
|
||||||
/* 801F156C 001EE4CC 38 03 13 50 */ addi r0, r3, lbl_803E1350@l
|
/* 801F156C 001EE4CC 38 03 13 50 */ addi r0, r3, __vt__18CAdditiveBodyState@l
|
||||||
/* 801F1570 001EE4D0 90 1F 00 00 */ stw r0, 0(r31)
|
/* 801F1570 001EE4D0 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
lbl_801F1574:
|
lbl_801F1574:
|
||||||
/* 801F1574 001EE4D4 7C 80 07 35 */ extsh. r0, r4
|
/* 801F1574 001EE4D4 7C 80 07 35 */ extsh. r0, r4
|
||||||
|
@ -376,9 +376,9 @@ lbl_801F1A14:
|
||||||
|
|
||||||
.global __ct__12CABSReactionFv
|
.global __ct__12CABSReactionFv
|
||||||
__ct__12CABSReactionFv:
|
__ct__12CABSReactionFv:
|
||||||
/* 801F1A30 001EE990 3C A0 80 3E */ lis r5, lbl_803E1350@ha
|
/* 801F1A30 001EE990 3C A0 80 3E */ lis r5, __vt__18CAdditiveBodyState@ha
|
||||||
/* 801F1A34 001EE994 3C 80 80 3E */ lis r4, lbl_803E6758@ha
|
/* 801F1A34 001EE994 3C 80 80 3E */ lis r4, lbl_803E6758@ha
|
||||||
/* 801F1A38 001EE998 38 05 13 50 */ addi r0, r5, lbl_803E1350@l
|
/* 801F1A38 001EE998 38 05 13 50 */ addi r0, r5, __vt__18CAdditiveBodyState@l
|
||||||
/* 801F1A3C 001EE99C C0 02 AE D8 */ lfs f0, lbl_805ACBF8@sda21(r2)
|
/* 801F1A3C 001EE99C C0 02 AE D8 */ lfs f0, lbl_805ACBF8@sda21(r2)
|
||||||
/* 801F1A40 001EE9A0 90 03 00 00 */ stw r0, 0(r3)
|
/* 801F1A40 001EE9A0 90 03 00 00 */ stw r0, 0(r3)
|
||||||
/* 801F1A44 001EE9A4 38 A4 67 58 */ addi r5, r4, lbl_803E6758@l
|
/* 801F1A44 001EE9A4 38 A4 67 58 */ addi r5, r4, lbl_803E6758@l
|
||||||
|
@ -408,4 +408,3 @@ lbl_805ACBF8:
|
||||||
# ROM: 0x3F9498
|
# ROM: 0x3F9498
|
||||||
.float 1.0
|
.float 1.0
|
||||||
.4byte 0
|
.4byte 0
|
||||||
|
|
||||||
|
|
|
@ -198,8 +198,8 @@ lbl_803E1318:
|
||||||
.4byte 0
|
.4byte 0
|
||||||
.4byte 0
|
.4byte 0
|
||||||
|
|
||||||
.global lbl_803E1350
|
.global __vt__18CAdditiveBodyState
|
||||||
lbl_803E1350:
|
__vt__18CAdditiveBodyState:
|
||||||
# ROM: 0x3DE350
|
# ROM: 0x3DE350
|
||||||
.4byte 0
|
.4byte 0
|
||||||
.4byte 0
|
.4byte 0
|
||||||
|
@ -2773,9 +2773,9 @@ __dt__18CAdditiveBodyStateFv:
|
||||||
/* 80134348 001312A8 93 E1 00 0C */ stw r31, 0xc(r1)
|
/* 80134348 001312A8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
/* 8013434C 001312AC 7C 7F 1B 79 */ or. r31, r3, r3
|
/* 8013434C 001312AC 7C 7F 1B 79 */ or. r31, r3, r3
|
||||||
/* 80134350 001312B0 41 82 00 1C */ beq lbl_8013436C
|
/* 80134350 001312B0 41 82 00 1C */ beq lbl_8013436C
|
||||||
/* 80134354 001312B4 3C A0 80 3E */ lis r5, lbl_803E1350@ha
|
/* 80134354 001312B4 3C A0 80 3E */ lis r5, __vt__18CAdditiveBodyState@ha
|
||||||
/* 80134358 001312B8 7C 80 07 35 */ extsh. r0, r4
|
/* 80134358 001312B8 7C 80 07 35 */ extsh. r0, r4
|
||||||
/* 8013435C 001312BC 38 05 13 50 */ addi r0, r5, lbl_803E1350@l
|
/* 8013435C 001312BC 38 05 13 50 */ addi r0, r5, __vt__18CAdditiveBodyState@l
|
||||||
/* 80134360 001312C0 90 1F 00 00 */ stw r0, 0(r31)
|
/* 80134360 001312C0 90 1F 00 00 */ stw r0, 0(r31)
|
||||||
/* 80134364 001312C4 40 81 00 08 */ ble lbl_8013436C
|
/* 80134364 001312C4 40 81 00 08 */ ble lbl_8013436C
|
||||||
/* 80134368 001312C8 48 1E 15 C9 */ bl Free__7CMemoryFPCv
|
/* 80134368 001312C8 48 1E 15 C9 */ bl Free__7CMemoryFPCv
|
||||||
|
@ -2927,11 +2927,11 @@ lbl_80134524:
|
||||||
/* 80134550 001314B0 48 1E 13 1D */ bl __nw__FUlPCcPCc
|
/* 80134550 001314B0 48 1E 13 1D */ bl __nw__FUlPCcPCc
|
||||||
/* 80134554 001314B4 28 03 00 00 */ cmplwi r3, 0
|
/* 80134554 001314B4 28 03 00 00 */ cmplwi r3, 0
|
||||||
/* 80134558 001314B8 41 82 00 1C */ beq lbl_80134574
|
/* 80134558 001314B8 41 82 00 1C */ beq lbl_80134574
|
||||||
/* 8013455C 001314BC 3C A0 80 3E */ lis r5, lbl_803E1350@ha
|
/* 8013455C 001314BC 3C A0 80 3E */ lis r5, __vt__18CAdditiveBodyState@ha
|
||||||
/* 80134560 001314C0 3C 80 80 3E */ lis r4, lbl_803E5C60@ha
|
/* 80134560 001314C0 3C 80 80 3E */ lis r4, __vt__8CABSIdle@ha
|
||||||
/* 80134564 001314C4 38 05 13 50 */ addi r0, r5, lbl_803E1350@l
|
/* 80134564 001314C4 38 05 13 50 */ addi r0, r5, __vt__18CAdditiveBodyState@l
|
||||||
/* 80134568 001314C8 90 03 00 00 */ stw r0, 0(r3)
|
/* 80134568 001314C8 90 03 00 00 */ stw r0, 0(r3)
|
||||||
/* 8013456C 001314CC 38 04 5C 60 */ addi r0, r4, lbl_803E5C60@l
|
/* 8013456C 001314CC 38 04 5C 60 */ addi r0, r4, __vt__8CABSIdle@l
|
||||||
/* 80134570 001314D0 90 03 00 00 */ stw r0, 0(r3)
|
/* 80134570 001314D0 90 03 00 00 */ stw r0, 0(r3)
|
||||||
lbl_80134574:
|
lbl_80134574:
|
||||||
/* 80134574 001314D4 7C 83 00 D0 */ neg r4, r3
|
/* 80134574 001314D4 7C 83 00 D0 */ neg r4, r3
|
||||||
|
@ -3562,4 +3562,3 @@ lbl_803D0058:
|
||||||
# ROM: 0x3CD058
|
# ROM: 0x3CD058
|
||||||
.asciz "??(??)"
|
.asciz "??(??)"
|
||||||
.balign 4
|
.balign 4
|
||||||
|
|
||||||
|
|
|
@ -289,7 +289,7 @@ LIBS = [
|
||||||
"MetroidPrime/ScriptObjects/CScriptControllerAction",
|
"MetroidPrime/ScriptObjects/CScriptControllerAction",
|
||||||
"MetroidPrime/Weapons/GunController/CGunMotion",
|
"MetroidPrime/Weapons/GunController/CGunMotion",
|
||||||
["MetroidPrime/ScriptObjects/CScriptSwitch", True],
|
["MetroidPrime/ScriptObjects/CScriptSwitch", True],
|
||||||
"MetroidPrime/BodyState/CABSIdle",
|
["MetroidPrime/BodyState/CABSIdle", True],
|
||||||
"MetroidPrime/BodyState/CABSFlinch",
|
"MetroidPrime/BodyState/CABSFlinch",
|
||||||
"MetroidPrime/BodyState/CABSAim",
|
"MetroidPrime/BodyState/CABSAim",
|
||||||
"MetroidPrime/ScriptObjects/CScriptPlayerStateChange",
|
"MetroidPrime/ScriptObjects/CScriptPlayerStateChange",
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
#ifndef _CABSIDLE
|
||||||
|
#define _CABSIDLE
|
||||||
|
|
||||||
|
#include "MetroidPrime/BodyState/CAdditiveBodyState.hpp"
|
||||||
|
|
||||||
|
class CABSIdle : public CAdditiveBodyState {
|
||||||
|
pas::EAnimationState GetBodyStateTransition(float dt, CBodyController& bc) const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
void Start(CBodyController& bc, CStateManager& mgr) override {}
|
||||||
|
pas::EAnimationState UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) override;
|
||||||
|
void Shutdown(CBodyController& bc) override {}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _CABSIDLE
|
|
@ -0,0 +1,19 @@
|
||||||
|
#ifndef _CADDITIVEBODYSTATE
|
||||||
|
#define _CADDITIVEBODYSTATE
|
||||||
|
|
||||||
|
#include "Kyoto/Animation/CPASAnimState.hpp"
|
||||||
|
|
||||||
|
class CBodyController;
|
||||||
|
class CStateManager;
|
||||||
|
|
||||||
|
class CAdditiveBodyState {
|
||||||
|
public:
|
||||||
|
virtual ~CAdditiveBodyState() {};
|
||||||
|
virtual bool ApplyHeadTracking() const { return true; }
|
||||||
|
virtual bool CanShoot() const { return true; }
|
||||||
|
virtual void Start(CBodyController& bc, CStateManager& mgr) = 0;
|
||||||
|
virtual pas::EAnimationState UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) = 0;
|
||||||
|
virtual void Shutdown(CBodyController& bc) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _CADDITIVEBODYSTATE
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef _CBODYCONTROLLER
|
||||||
|
#define _CBODYCONTROLLER
|
||||||
|
|
||||||
|
#include "MetroidPrime/BodyState/CBodyStateCmdMgr.hpp"
|
||||||
|
|
||||||
|
class CActor;
|
||||||
|
|
||||||
|
class CBodyController {
|
||||||
|
CActor& x0_actor;
|
||||||
|
CBodyStateCmdMgr x4_cmdMgr;
|
||||||
|
|
||||||
|
public:
|
||||||
|
CBodyStateCmdMgr& CommandMgr() { return x4_cmdMgr; }
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _CBODYCONTROLLER
|
|
@ -0,0 +1,43 @@
|
||||||
|
#ifndef _CBODYSTATECMDMGR
|
||||||
|
#define _CBODYSTATECMDMGR
|
||||||
|
|
||||||
|
// TODO: CharacterCommon
|
||||||
|
enum EBodyStateCmd {
|
||||||
|
kBSC_Getup,
|
||||||
|
kBSC_Step,
|
||||||
|
kBSC_Die,
|
||||||
|
kBSC_KnockDown,
|
||||||
|
kBSC_KnockBack,
|
||||||
|
kBSC_MeleeAttack,
|
||||||
|
kBSC_ProjectileAttack,
|
||||||
|
kBSC_LoopAttack,
|
||||||
|
kBSC_LoopReaction,
|
||||||
|
kBSC_LoopHitReaction,
|
||||||
|
kBSC_ExitState,
|
||||||
|
kBSC_LeanFromCover,
|
||||||
|
kBSC_NextState,
|
||||||
|
kBSC_MaintainVelocity,
|
||||||
|
kBSC_Generate,
|
||||||
|
kBSC_Hurled,
|
||||||
|
kBSC_Jump,
|
||||||
|
kBSC_Slide,
|
||||||
|
kBSC_Taunt,
|
||||||
|
kBSC_Scripted,
|
||||||
|
kBSC_Cover,
|
||||||
|
kBSC_WallHang,
|
||||||
|
kBSC_Locomotion,
|
||||||
|
kBSC_AdditiveIdle,
|
||||||
|
kBSC_AdditiveAim,
|
||||||
|
kBSC_AdditiveFlinch,
|
||||||
|
kBSC_AdditiveReaction,
|
||||||
|
kBSC_StopReaction
|
||||||
|
};
|
||||||
|
|
||||||
|
class CBodyStateCmd;
|
||||||
|
|
||||||
|
class CBodyStateCmdMgr {
|
||||||
|
public:
|
||||||
|
CBodyStateCmd* GetCmd(EBodyStateCmd cmd);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _CBODYSTATECMDMGR
|
|
@ -256,7 +256,7 @@ METROIDPRIME :=\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptControllerAction.o\
|
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptControllerAction.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/Weapons/GunController/CGunMotion.o\
|
$(BUILD_DIR)/asm/MetroidPrime/Weapons/GunController/CGunMotion.o\
|
||||||
$(BUILD_DIR)/src/MetroidPrime/ScriptObjects/CScriptSwitch.o\
|
$(BUILD_DIR)/src/MetroidPrime/ScriptObjects/CScriptSwitch.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSIdle.o\
|
$(BUILD_DIR)/src/MetroidPrime/BodyState/CABSIdle.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSFlinch.o\
|
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSFlinch.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSAim.o\
|
$(BUILD_DIR)/asm/MetroidPrime/BodyState/CABSAim.o\
|
||||||
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptPlayerStateChange.o\
|
$(BUILD_DIR)/asm/MetroidPrime/ScriptObjects/CScriptPlayerStateChange.o\
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
#include "MetroidPrime/BodyState/CABSIdle.hpp"
|
||||||
|
|
||||||
|
#include "MetroidPrime/BodyState/CBodyController.hpp"
|
||||||
|
|
||||||
|
pas::EAnimationState CABSIdle::UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) {
|
||||||
|
return GetBodyStateTransition(dt, bc);
|
||||||
|
}
|
||||||
|
|
||||||
|
pas::EAnimationState CABSIdle::GetBodyStateTransition(float dt, CBodyController& bc) const {
|
||||||
|
CBodyStateCmdMgr& commandMgr = bc.CommandMgr();
|
||||||
|
if (commandMgr.GetCmd(kBSC_AdditiveReaction))
|
||||||
|
return pas::kAS_AdditiveReaction;
|
||||||
|
if (commandMgr.GetCmd(kBSC_AdditiveFlinch))
|
||||||
|
return pas::kAS_AdditiveFlinch;
|
||||||
|
if (commandMgr.GetCmd(kBSC_AdditiveAim))
|
||||||
|
return pas::kAS_AdditiveAim;
|
||||||
|
return pas::kAS_Invalid;
|
||||||
|
}
|
Loading…
Reference in New Issue