From c576574bdea11f57f09179d84d055a17a8f53482 Mon Sep 17 00:00:00 2001 From: Henrique Gemignani Passos Lima Date: Fri, 14 Oct 2022 16:36:01 +0300 Subject: [PATCH] Match(?) CABSFlinch, but hash fails after linking Former-commit-id: 6a7cfb135f823b62f1da94dae52b0e9cd88cfe4b --- asm/MetroidPrime/BodyState/CABSAim.s | 2 +- asm/MetroidPrime/BodyState/CABSFlinch.s | 20 ++-- asm/MetroidPrime/BodyState/CABSReaction.s | 4 +- asm/MetroidPrime/BodyState/CBSAttack.s | 3 +- asm/MetroidPrime/BodyState/CBSCover.s | 9 +- asm/MetroidPrime/BodyState/CBSDie.s | 3 +- asm/MetroidPrime/BodyState/CBSFall.s | 3 +- asm/MetroidPrime/BodyState/CBSGenerate.s | 3 +- asm/MetroidPrime/BodyState/CBSGetup.s | 3 +- asm/MetroidPrime/BodyState/CBSGroundHit.s | 3 +- asm/MetroidPrime/BodyState/CBSHurled.s | 12 +-- asm/MetroidPrime/BodyState/CBSJump.s | 15 ++- asm/MetroidPrime/BodyState/CBSKnockBack.s | 3 +- asm/MetroidPrime/BodyState/CBSLieOnGround.s | 3 +- asm/MetroidPrime/BodyState/CBSLocomotion.s | 4 +- asm/MetroidPrime/BodyState/CBSLoopAttack.s | 11 +-- asm/MetroidPrime/BodyState/CBSLoopReaction.s | 9 +- .../BodyState/CBSProjectileAttack.s | 3 +- asm/MetroidPrime/BodyState/CBSSlide.s | 3 +- asm/MetroidPrime/BodyState/CBSStep.s | 3 +- asm/MetroidPrime/BodyState/CBSTaunt.s | 3 +- asm/MetroidPrime/BodyState/CBSTurn.s | 5 +- asm/MetroidPrime/BodyState/CBSWallHang.s | 25 +++-- asm/MetroidPrime/Enemies/CBabygoth.s | 2 +- asm/MetroidPrime/Enemies/CBeetle.s | 4 +- asm/MetroidPrime/Enemies/CChozoGhost.s | 6 +- asm/MetroidPrime/Enemies/CFlyingPirate.s | 4 +- asm/MetroidPrime/Enemies/CGrenadeLauncher.s | 6 +- asm/MetroidPrime/Enemies/CIceSheegoth.s | 2 +- .../Enemies/CKnockBackController.s | 3 +- asm/MetroidPrime/Enemies/CMetroid.s | 2 +- asm/MetroidPrime/Enemies/CPatterned.s | 6 +- asm/MetroidPrime/Enemies/CRidley.s | 2 +- asm/MetroidPrime/Enemies/CSpacePirate.s | 10 +- .../ScriptObjects/CScriptGunTurret.s | 8 +- .../Weapons/GunController/CGSComboFire.s | 3 +- .../Weapons/GunController/CGSFidget.s | 5 +- .../Weapons/GunController/CGSFreeLook.s | 3 +- .../Weapons/GunController/CGunController.s | 6 +- .../Weapons/GunController/CGunMotion.s | 6 +- include/Kyoto/Animation/CAnimTreeNode.hpp | 12 +++ include/Kyoto/Animation/CPASAnimParmData.hpp | 5 +- include/Kyoto/Animation/IAnimReader.hpp | 95 +++++++++++++++++++ include/MetroidPrime/BodyState/CABSFlinch.hpp | 19 ++++ .../BodyState/CAdditiveBodyState.hpp | 4 +- .../BodyState/CBodyController.hpp | 4 + .../BodyState/CBodyStateCmdMgr.hpp | 16 +++- include/MetroidPrime/CAnimData.hpp | 4 +- include/MetroidPrime/CCharAnimTime.hpp | 3 + src/MetroidPrime/BodyState/CABSFlinch.cpp | 53 +++++++++++ 50 files changed, 313 insertions(+), 132 deletions(-) create mode 100644 include/Kyoto/Animation/CAnimTreeNode.hpp create mode 100644 include/Kyoto/Animation/IAnimReader.hpp create mode 100644 include/MetroidPrime/BodyState/CABSFlinch.hpp create mode 100644 src/MetroidPrime/BodyState/CABSFlinch.cpp diff --git a/asm/MetroidPrime/BodyState/CABSAim.s b/asm/MetroidPrime/BodyState/CABSAim.s index a666edb3..07391b92 100644 --- a/asm/MetroidPrime/BodyState/CABSAim.s +++ b/asm/MetroidPrime/BodyState/CABSAim.s @@ -457,7 +457,7 @@ lbl_801DA288: /* 801DA2E8 001D7248 39 21 00 38 */ addi r9, r1, 0x38 /* 801DA2EC 001D724C 39 41 00 30 */ addi r10, r1, 0x30 /* 801DA2F0 001D7250 38 80 00 16 */ li r4, 0x16 -/* 801DA2F4 001D7254 4B EA 2F D1 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801DA2F4 001D7254 4B EA 2F D1 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801DA2F8 001D7258 7F 43 D3 78 */ mr r3, r26 /* 801DA2FC 001D725C 4B F6 01 59 */ bl GetPASDatabase__15CBodyControllerCFv /* 801DA300 001D7260 80 DB 09 00 */ lwz r6, 0x900(r27) diff --git a/asm/MetroidPrime/BodyState/CABSFlinch.s b/asm/MetroidPrime/BodyState/CABSFlinch.s index 49e6833a..460c8d9f 100644 --- a/asm/MetroidPrime/BodyState/CABSFlinch.s +++ b/asm/MetroidPrime/BodyState/CABSFlinch.s @@ -3,8 +3,8 @@ .section .data .balign 8 -.global lbl_803E5C80 -lbl_803E5C80: +.global __vt__10CABSFlinch +__vt__10CABSFlinch: # ROM: 0x3E2C80 .4byte 0 .4byte 0 @@ -25,8 +25,8 @@ __dt__10CABSFlinchFv: /* 801D9A40 001D69A0 93 E1 00 0C */ stw r31, 0xc(r1) /* 801D9A44 001D69A4 7C 7F 1B 79 */ or. r31, r3, r3 /* 801D9A48 001D69A8 41 82 00 30 */ beq lbl_801D9A78 -/* 801D9A4C 001D69AC 3C 60 80 3E */ lis r3, lbl_803E5C80@ha -/* 801D9A50 001D69B0 38 03 5C 80 */ addi r0, r3, lbl_803E5C80@l +/* 801D9A4C 001D69AC 3C 60 80 3E */ lis r3, __vt__10CABSFlinch@ha +/* 801D9A50 001D69B0 38 03 5C 80 */ addi r0, r3, __vt__10CABSFlinch@l /* 801D9A54 001D69B4 90 1F 00 00 */ stw r0, 0(r31) /* 801D9A58 001D69B8 41 82 00 10 */ beq lbl_801D9A68 /* 801D9A5C 001D69BC 3C 60 80 3E */ lis r3, __vt__18CAdditiveBodyState@ha @@ -45,8 +45,8 @@ lbl_801D9A78: /* 801D9A88 001D69E8 38 21 00 10 */ addi r1, r1, 0x10 /* 801D9A8C 001D69EC 4E 80 00 20 */ blr -.global GetBodyStateTransition__10CABSFlinchFfR15CBodyController -GetBodyStateTransition__10CABSFlinchFfR15CBodyController: +.global GetBodyStateTransition__10CABSFlinchCFfR15CBodyController +GetBodyStateTransition__10CABSFlinchCFfR15CBodyController: /* 801D9A90 001D69F0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801D9A94 001D69F4 7C 08 02 A6 */ mflr r0 /* 801D9A98 001D69F8 38 64 00 04 */ addi r3, r4, 4 @@ -77,7 +77,7 @@ UpdateBody__10CABSFlinchFfR15CBodyControllerR13CStateManager: /* 801D9AE0 001D6A40 7C 9E 23 78 */ mr r30, r4 /* 801D9AE4 001D6A44 93 A1 00 14 */ stw r29, 0x14(r1) /* 801D9AE8 001D6A48 7C 7D 1B 78 */ mr r29, r3 -/* 801D9AEC 001D6A4C 4B FF FF A5 */ bl GetBodyStateTransition__10CABSFlinchFfR15CBodyController +/* 801D9AEC 001D6A4C 4B FF FF A5 */ bl GetBodyStateTransition__10CABSFlinchCFfR15CBodyController /* 801D9AF0 001D6A50 7C 7F 1B 78 */ mr r31, r3 /* 801D9AF4 001D6A54 2C 1F FF FF */ cmpwi r31, -1 /* 801D9AF8 001D6A58 40 82 00 58 */ bne lbl_801D9B50 @@ -161,7 +161,7 @@ Start__10CABSFlinchFR15CBodyControllerR13CStateManager: /* 801D9C20 001D6B80 39 21 00 30 */ addi r9, r1, 0x30 /* 801D9C24 001D6B84 39 41 00 28 */ addi r10, r1, 0x28 /* 801D9C28 001D6B88 38 80 00 17 */ li r4, 0x17 -/* 801D9C2C 001D6B8C 4B EA 36 99 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801D9C2C 001D6B8C 4B EA 36 99 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801D9C30 001D6B90 80 DE 09 00 */ lwz r6, 0x900(r30) /* 801D9C34 001D6B94 7F E4 FB 78 */ mr r4, r31 /* 801D9C38 001D6B98 38 61 00 10 */ addi r3, r1, 0x10 @@ -218,11 +218,11 @@ lbl_801D9CCC: .global __ct__10CABSFlinchFv __ct__10CABSFlinchFv: /* 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, __vt__10CABSFlinch@ha /* 801D9CF4 001D6C54 38 05 13 50 */ addi r0, r5, __vt__18CAdditiveBodyState@l /* 801D9CF8 001D6C58 C0 02 AC A8 */ lfs f0, lbl_805AC9C8@sda21(r2) /* 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, __vt__10CABSFlinch@l /* 801D9D04 001D6C64 38 00 00 00 */ li r0, 0 /* 801D9D08 001D6C68 90 83 00 00 */ stw r4, 0(r3) /* 801D9D0C 001D6C6C D0 03 00 04 */ stfs f0, 4(r3) diff --git a/asm/MetroidPrime/BodyState/CABSReaction.s b/asm/MetroidPrime/BodyState/CABSReaction.s index 5b6c6d78..41531eb5 100644 --- a/asm/MetroidPrime/BodyState/CABSReaction.s +++ b/asm/MetroidPrime/BodyState/CABSReaction.s @@ -127,7 +127,7 @@ HasIceBreakoutState__15CBodyControllerFv: /* 801F16B0 001EE610 39 21 00 30 */ addi r9, r1, 0x30 /* 801F16B4 001EE614 39 41 00 28 */ addi r10, r1, 0x28 /* 801F16B8 001EE618 38 80 00 18 */ li r4, 0x18 -/* 801F16BC 001EE61C 4B E8 BC 09 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801F16BC 001EE61C 4B E8 BC 09 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801F16C0 001EE620 7F E3 FB 78 */ mr r3, r31 /* 801F16C4 001EE624 4B F4 8D 91 */ bl GetPASDatabase__15CBodyControllerCFv /* 801F16C8 001EE628 7C 60 1B 78 */ mr r0, r3 @@ -316,7 +316,7 @@ Start__12CABSReactionFR15CBodyControllerR13CStateManager: /* 801F1958 001EE8B8 39 21 00 30 */ addi r9, r1, 0x30 /* 801F195C 001EE8BC 39 41 00 28 */ addi r10, r1, 0x28 /* 801F1960 001EE8C0 38 80 00 18 */ li r4, 0x18 -/* 801F1964 001EE8C4 4B E8 B9 61 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801F1964 001EE8C4 4B E8 B9 61 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801F1968 001EE8C8 7F C3 F3 78 */ mr r3, r30 /* 801F196C 001EE8CC 4B F4 8A E9 */ bl GetPASDatabase__15CBodyControllerCFv /* 801F1970 001EE8D0 80 DF 09 00 */ lwz r6, 0x900(r31) diff --git a/asm/MetroidPrime/BodyState/CBSAttack.s b/asm/MetroidPrime/BodyState/CBSAttack.s index 3f1e0bf2..7389f3d2 100644 --- a/asm/MetroidPrime/BodyState/CBSAttack.s +++ b/asm/MetroidPrime/BodyState/CBSAttack.s @@ -443,7 +443,7 @@ Start__9CBSAttackFR15CBodyControllerR13CStateManager: /* 8013536C 001322CC 39 21 00 60 */ addi r9, r1, 0x60 /* 80135370 001322D0 39 41 00 58 */ addi r10, r1, 0x58 /* 80135374 001322D4 38 80 00 07 */ li r4, 7 -/* 80135378 001322D8 4B F4 7F 4D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80135378 001322D8 4B F4 7F 4D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013537C 001322DC 80 D9 09 00 */ lwz r6, 0x900(r25) /* 80135380 001322E0 7F 44 D3 78 */ mr r4, r26 /* 80135384 001322E4 38 61 00 40 */ addi r3, r1, 0x40 @@ -656,4 +656,3 @@ lbl_805AB6C8: # ROM: 0x3F7F68 .float -1.0 .4byte 0 - diff --git a/asm/MetroidPrime/BodyState/CBSCover.s b/asm/MetroidPrime/BodyState/CBSCover.s index 1e5e0d65..bb2ef50e 100644 --- a/asm/MetroidPrime/BodyState/CBSCover.s +++ b/asm/MetroidPrime/BodyState/CBSCover.s @@ -183,7 +183,7 @@ lbl_80175E60: /* 80175EE4 00172E44 39 21 00 A8 */ addi r9, r1, 0xa8 /* 80175EE8 00172E48 39 41 00 A0 */ addi r10, r1, 0xa0 /* 80175EEC 00172E4C 38 80 00 13 */ li r4, 0x13 -/* 80175EF0 00172E50 4B F0 73 D5 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80175EF0 00172E50 4B F0 73 D5 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80175EF4 00172E54 80 BE 09 00 */ lwz r5, 0x900(r30) /* 80175EF8 00172E58 7F A3 EB 78 */ mr r3, r29 /* 80175EFC 00172E5C 38 81 01 60 */ addi r4, r1, 0x160 @@ -293,7 +293,7 @@ lbl_80176030: /* 8017606C 00172FCC 39 21 00 68 */ addi r9, r1, 0x68 /* 80176070 00172FD0 39 41 00 60 */ addi r10, r1, 0x60 /* 80176074 00172FD4 38 80 00 13 */ li r4, 0x13 -/* 80176078 00172FD8 4B F0 72 4D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80176078 00172FD8 4B F0 72 4D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8017607C 00172FDC 80 BE 09 00 */ lwz r5, 0x900(r30) /* 80176080 00172FE0 7F A3 EB 78 */ mr r3, r29 /* 80176084 00172FE4 38 81 01 18 */ addi r4, r1, 0x118 @@ -365,7 +365,7 @@ lbl_801760EC: /* 80176178 001730D8 39 21 00 28 */ addi r9, r1, 0x28 /* 8017617C 001730DC 39 41 00 20 */ addi r10, r1, 0x20 /* 80176180 001730E0 38 80 00 13 */ li r4, 0x13 -/* 80176184 001730E4 4B F0 71 41 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80176184 001730E4 4B F0 71 41 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80176188 001730E8 80 BE 09 00 */ lwz r5, 0x900(r30) /* 8017618C 001730EC 7F A3 EB 78 */ mr r3, r29 /* 80176190 001730F0 38 81 00 D0 */ addi r4, r1, 0xd0 @@ -463,7 +463,7 @@ Start__8CBSCoverFR15CBodyControllerR13CStateManager: /* 801762DC 0017323C 39 21 00 34 */ addi r9, r1, 0x34 /* 801762E0 00173240 39 41 00 2C */ addi r10, r1, 0x2c /* 801762E4 00173244 38 80 00 13 */ li r4, 0x13 -/* 801762E8 00173248 4B F0 6F DD */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801762E8 00173248 4B F0 6F DD */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801762EC 0017324C 7F E3 FB 78 */ mr r3, r31 /* 801762F0 00173250 4B FC 41 65 */ bl GetPASDatabase__15CBodyControllerCFv /* 801762F4 00173254 80 DB 09 00 */ lwz r6, 0x900(r27) @@ -618,4 +618,3 @@ lbl_805ABEC8: # ROM: 0x3F8768 .float 1.0 .4byte 0 - diff --git a/asm/MetroidPrime/BodyState/CBSDie.s b/asm/MetroidPrime/BodyState/CBSDie.s index ca8502ee..6223849e 100644 --- a/asm/MetroidPrime/BodyState/CBSDie.s +++ b/asm/MetroidPrime/BodyState/CBSDie.s @@ -142,7 +142,7 @@ Start__6CBSDieFR15CBodyControllerR13CStateManager: /* 801357CC 0013272C 39 21 00 30 */ addi r9, r1, 0x30 /* 801357D0 00132730 39 41 00 28 */ addi r10, r1, 0x28 /* 801357D4 00132734 38 80 00 04 */ li r4, 4 -/* 801357D8 00132738 4B F4 7A ED */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801357D8 00132738 4B F4 7A ED */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801357DC 0013273C 80 DA 09 00 */ lwz r6, 0x900(r26) /* 801357E0 00132740 7F A4 EB 78 */ mr r4, r29 /* 801357E4 00132744 38 61 00 10 */ addi r3, r1, 0x10 @@ -264,4 +264,3 @@ lbl_805AB6D8: lbl_805AB6DC: # ROM: 0x3F7F7C .float 4.0 - diff --git a/asm/MetroidPrime/BodyState/CBSFall.s b/asm/MetroidPrime/BodyState/CBSFall.s index 8f29c1ee..a2060d5e 100644 --- a/asm/MetroidPrime/BodyState/CBSFall.s +++ b/asm/MetroidPrime/BodyState/CBSFall.s @@ -197,7 +197,7 @@ lbl_80135B1C: /* 80135B9C 00132AFC 39 21 00 50 */ addi r9, r1, 0x50 /* 80135BA0 00132B00 39 41 00 48 */ addi r10, r1, 0x48 /* 80135BA4 00132B04 38 80 00 00 */ li r4, 0 -/* 80135BA8 00132B08 4B F4 77 1D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80135BA8 00132B08 4B F4 77 1D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80135BAC 00132B0C 80 DB 09 00 */ lwz r6, 0x900(r27) /* 80135BB0 00132B10 7F 84 E3 78 */ mr r4, r28 /* 80135BB4 00132B14 38 61 00 30 */ addi r3, r1, 0x30 @@ -452,4 +452,3 @@ lbl_805AB700: lbl_805AB708: # ROM: 0x3F7FA8 .double 4.503601774854144E15 - diff --git a/asm/MetroidPrime/BodyState/CBSGenerate.s b/asm/MetroidPrime/BodyState/CBSGenerate.s index 9b1990c0..25556d50 100644 --- a/asm/MetroidPrime/BodyState/CBSGenerate.s +++ b/asm/MetroidPrime/BodyState/CBSGenerate.s @@ -204,7 +204,7 @@ Start__11CBSGenerateFR15CBodyControllerR13CStateManager: /* 80146918 00143878 39 21 00 30 */ addi r9, r1, 0x30 /* 8014691C 0014387C 39 41 00 28 */ addi r10, r1, 0x28 /* 80146920 00143880 38 80 00 0C */ li r4, 0xc -/* 80146924 00143884 4B F3 69 A1 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80146924 00143884 4B F3 69 A1 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80146928 00143888 80 DB 09 00 */ lwz r6, 0x900(r27) /* 8014692C 0014388C 7F 84 E3 78 */ mr r4, r28 /* 80146930 00143890 38 61 00 10 */ addi r3, r1, 0x10 @@ -325,4 +325,3 @@ lbl_805AB9A0: lbl_805AB9A4: # ROM: 0x3F8244 .float 1.0 - diff --git a/asm/MetroidPrime/BodyState/CBSGetup.s b/asm/MetroidPrime/BodyState/CBSGetup.s index e9e783a0..99490313 100644 --- a/asm/MetroidPrime/BodyState/CBSGetup.s +++ b/asm/MetroidPrime/BodyState/CBSGetup.s @@ -174,7 +174,7 @@ Start__8CBSGetupFR15CBodyControllerR13CStateManager: /* 80136088 00132FE8 39 21 00 38 */ addi r9, r1, 0x38 /* 8013608C 00132FEC 39 41 00 30 */ addi r10, r1, 0x30 /* 80136090 00132FF0 38 80 00 01 */ li r4, 1 -/* 80136094 00132FF4 4B F4 72 31 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80136094 00132FF4 4B F4 72 31 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80136098 00132FF8 80 DB 09 00 */ lwz r6, 0x900(r27) /* 8013609C 00132FFC 7F 84 E3 78 */ mr r4, r28 /* 801360A0 00133000 38 61 00 18 */ addi r3, r1, 0x18 @@ -287,4 +287,3 @@ lbl_805AB710: lbl_805AB714: # ROM: 0x3F7FB4 .float 1.0 - diff --git a/asm/MetroidPrime/BodyState/CBSGroundHit.s b/asm/MetroidPrime/BodyState/CBSGroundHit.s index 0c231f01..eac1c08b 100644 --- a/asm/MetroidPrime/BodyState/CBSGroundHit.s +++ b/asm/MetroidPrime/BodyState/CBSGroundHit.s @@ -216,7 +216,7 @@ lbl_8013EF74: /* 8013F004 0013BF64 39 21 00 50 */ addi r9, r1, 0x50 /* 8013F008 0013BF68 39 41 00 48 */ addi r10, r1, 0x48 /* 8013F00C 0013BF6C 38 80 00 0B */ li r4, 0xb -/* 8013F010 0013BF70 4B F3 E2 B5 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013F010 0013BF70 4B F3 E2 B5 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013F014 0013BF74 80 DB 09 00 */ lwz r6, 0x900(r27) /* 8013F018 0013BF78 7F 84 E3 78 */ mr r4, r28 /* 8013F01C 0013BF7C 38 61 00 30 */ addi r3, r1, 0x30 @@ -471,4 +471,3 @@ lbl_805AB868: lbl_805AB870: # ROM: 0x3F8110 .double 4.503601774854144E15 - diff --git a/asm/MetroidPrime/BodyState/CBSHurled.s b/asm/MetroidPrime/BodyState/CBSHurled.s index 5bf5a3c0..1ee63dcc 100644 --- a/asm/MetroidPrime/BodyState/CBSHurled.s +++ b/asm/MetroidPrime/BodyState/CBSHurled.s @@ -158,7 +158,7 @@ Recover__9CBSHurledFR13CStateManagerR15CBodyControllerQ23pas12EHurledState: /* 801445A0 00141500 39 21 00 38 */ addi r9, r1, 0x38 /* 801445A4 00141504 39 41 00 30 */ addi r10, r1, 0x30 /* 801445A8 00141508 38 80 00 0E */ li r4, 0xe -/* 801445AC 0014150C 4B F3 8D 19 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801445AC 0014150C 4B F3 8D 19 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801445B0 00141510 80 DB 09 00 */ lwz r6, 0x900(r27) /* 801445B4 00141514 7F C4 F3 78 */ mr r4, r30 /* 801445B8 00141518 38 61 00 18 */ addi r3, r1, 0x18 @@ -288,7 +288,7 @@ PlayStrikeWallAnimation__9CBSHurledFR15CBodyControllerR13CStateManager: /* 80144784 001416E4 39 21 00 30 */ addi r9, r1, 0x30 /* 80144788 001416E8 39 41 00 28 */ addi r10, r1, 0x28 /* 8014478C 001416EC 38 80 00 0E */ li r4, 0xe -/* 80144790 001416F0 4B F3 8B 35 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80144790 001416F0 4B F3 8B 35 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80144794 001416F4 80 DE 09 00 */ lwz r6, 0x900(r30) /* 80144798 001416F8 7F E4 FB 78 */ mr r4, r31 /* 8014479C 001416FC 38 61 00 10 */ addi r3, r1, 0x10 @@ -406,7 +406,7 @@ PlayLandAnimation__9CBSHurledFR15CBodyControllerR13CStateManager: /* 80144938 00141898 39 21 00 44 */ addi r9, r1, 0x44 /* 8014493C 0014189C 39 41 00 3C */ addi r10, r1, 0x3c /* 80144940 001418A0 38 80 00 0E */ li r4, 0xe -/* 80144944 001418A4 4B F3 89 81 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80144944 001418A4 4B F3 89 81 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80144948 001418A8 80 DD 09 00 */ lwz r6, 0x900(r29) /* 8014494C 001418AC 7F E4 FB 78 */ mr r4, r31 /* 80144950 001418B0 38 61 00 24 */ addi r3, r1, 0x24 @@ -707,7 +707,7 @@ lbl_80144D04: /* 80144D80 00141CE0 39 21 00 7C */ addi r9, r1, 0x7c /* 80144D84 00141CE4 39 41 00 74 */ addi r10, r1, 0x74 /* 80144D88 00141CE8 38 80 00 0E */ li r4, 0xe -/* 80144D8C 00141CEC 4B F3 85 39 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80144D8C 00141CEC 4B F3 85 39 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80144D90 00141CF0 80 BE 09 00 */ lwz r5, 0x900(r30) /* 80144D94 00141CF4 7F A3 EB 78 */ mr r3, r29 /* 80144D98 00141CF8 38 81 01 14 */ addi r4, r1, 0x114 @@ -846,7 +846,7 @@ lbl_80144F00: /* 80144F84 00141EE4 39 21 00 34 */ addi r9, r1, 0x34 /* 80144F88 00141EE8 39 41 00 2C */ addi r10, r1, 0x2c /* 80144F8C 00141EEC 38 80 00 0E */ li r4, 0xe -/* 80144F90 00141EF0 4B F3 83 35 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80144F90 00141EF0 4B F3 83 35 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80144F94 00141EF4 80 BE 09 00 */ lwz r5, 0x900(r30) /* 80144F98 00141EF8 7F A3 EB 78 */ mr r3, r29 /* 80144F9C 00141EFC 38 81 00 CC */ addi r4, r1, 0xcc @@ -1053,7 +1053,7 @@ lbl_801451EC: /* 80145278 001421D8 39 21 00 58 */ addi r9, r1, 0x58 /* 8014527C 001421DC 39 41 00 50 */ addi r10, r1, 0x50 /* 80145280 001421E0 38 80 00 0E */ li r4, 0xe -/* 80145284 001421E4 4B F3 80 41 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80145284 001421E4 4B F3 80 41 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80145288 001421E8 80 DC 09 00 */ lwz r6, 0x900(r28) /* 8014528C 001421EC 7F 24 CB 78 */ mr r4, r25 /* 80145290 001421F0 38 61 00 38 */ addi r3, r1, 0x38 diff --git a/asm/MetroidPrime/BodyState/CBSJump.s b/asm/MetroidPrime/BodyState/CBSJump.s index b9d8e4c4..94054df7 100644 --- a/asm/MetroidPrime/BodyState/CBSJump.s +++ b/asm/MetroidPrime/BodyState/CBSJump.s @@ -203,7 +203,7 @@ lbl_8014580C: /* 8014587C 001427DC 39 21 00 2C */ addi r9, r1, 0x2c /* 80145880 001427E0 39 41 00 24 */ addi r10, r1, 0x24 /* 80145884 001427E4 38 80 00 0D */ li r4, 0xd -/* 80145888 001427E8 4B F3 7A 3D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80145888 001427E8 4B F3 7A 3D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8014588C 001427EC 80 BD 09 00 */ lwz r5, 0x900(r29) /* 80145890 001427F0 7F 83 E3 78 */ mr r3, r28 /* 80145894 001427F4 38 81 00 80 */ addi r4, r1, 0x80 @@ -314,7 +314,7 @@ lbl_801459A0: /* 80145A14 00142974 39 21 00 2C */ addi r9, r1, 0x2c /* 80145A18 00142978 39 41 00 24 */ addi r10, r1, 0x24 /* 80145A1C 0014297C 38 80 00 0D */ li r4, 0xd -/* 80145A20 00142980 4B F3 78 A5 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80145A20 00142980 4B F3 78 A5 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80145A24 00142984 80 BE 09 00 */ lwz r5, 0x900(r30) /* 80145A28 00142988 7F A3 EB 78 */ mr r3, r29 /* 80145A2C 0014298C 38 81 00 5C */ addi r4, r1, 0x5c @@ -490,7 +490,7 @@ lbl_80145C08: /* 80145C88 00142BE8 39 21 00 84 */ addi r9, r1, 0x84 /* 80145C8C 00142BEC 39 41 00 7C */ addi r10, r1, 0x7c /* 80145C90 00142BF0 38 80 00 0D */ li r4, 0xd -/* 80145C94 00142BF4 4B F3 76 31 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80145C94 00142BF4 4B F3 76 31 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80145C98 00142BF8 80 BE 09 00 */ lwz r5, 0x900(r30) /* 80145C9C 00142BFC 7F A3 EB 78 */ mr r3, r29 /* 80145CA0 00142C00 38 81 01 08 */ addi r4, r1, 0x108 @@ -652,7 +652,7 @@ lbl_80145E40: /* 80145EDC 00142E3C 39 21 00 34 */ addi r9, r1, 0x34 /* 80145EE0 00142E40 39 41 00 2C */ addi r10, r1, 0x2c /* 80145EE4 00142E44 38 80 00 0D */ li r4, 0xd -/* 80145EE8 00142E48 4B F3 73 DD */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80145EE8 00142E48 4B F3 73 DD */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80145EEC 00142E4C 80 BE 09 00 */ lwz r5, 0x900(r30) /* 80145EF0 00142E50 7F A3 EB 78 */ mr r3, r29 /* 80145EF4 00142E54 38 81 00 C0 */ addi r4, r1, 0xc0 @@ -783,7 +783,7 @@ PlayJumpLoop__7CBSJumpFR13CStateManagerR15CBodyController: /* 801460C0 00143020 39 21 00 80 */ addi r9, r1, 0x80 /* 801460C4 00143024 39 41 00 78 */ addi r10, r1, 0x78 /* 801460C8 00143028 38 80 00 0D */ li r4, 0xd -/* 801460CC 0014302C 4B F3 71 F9 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801460CC 0014302C 4B F3 71 F9 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801460D0 00143030 7F E3 FB 78 */ mr r3, r31 /* 801460D4 00143034 4B FF 43 81 */ bl GetPASDatabase__15CBodyControllerCFv /* 801460D8 00143038 80 DE 09 00 */ lwz r6, 0x900(r30) @@ -851,7 +851,7 @@ lbl_80146158: /* 801461CC 0014312C 39 21 00 38 */ addi r9, r1, 0x38 /* 801461D0 00143130 39 41 00 30 */ addi r10, r1, 0x30 /* 801461D4 00143134 38 80 00 0D */ li r4, 0xd -/* 801461D8 00143138 4B F3 70 ED */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801461D8 00143138 4B F3 70 ED */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801461DC 0014313C 80 BE 09 00 */ lwz r5, 0x900(r30) /* 801461E0 00143140 7F E3 FB 78 */ mr r3, r31 /* 801461E4 00143144 38 81 00 D0 */ addi r4, r1, 0xd0 @@ -1068,7 +1068,7 @@ lbl_80146474: /* 801464F4 00143454 39 21 00 28 */ addi r9, r1, 0x28 /* 801464F8 00143458 39 41 00 20 */ addi r10, r1, 0x20 /* 801464FC 0014345C 38 80 00 0D */ li r4, 0xd -/* 80146500 00143460 4B F3 6D C5 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80146500 00143460 4B F3 6D C5 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80146504 00143464 80 BF 09 00 */ lwz r5, 0x900(r31) /* 80146508 00143468 7F C3 F3 78 */ mr r3, r30 /* 8014650C 0014346C 38 81 00 50 */ addi r4, r1, 0x50 @@ -1235,4 +1235,3 @@ lbl_805AB998: # ROM: 0x3F8238 .float 1.0 .4byte 0 - diff --git a/asm/MetroidPrime/BodyState/CBSKnockBack.s b/asm/MetroidPrime/BodyState/CBSKnockBack.s index c87eda8f..f6317771 100644 --- a/asm/MetroidPrime/BodyState/CBSKnockBack.s +++ b/asm/MetroidPrime/BodyState/CBSKnockBack.s @@ -249,7 +249,7 @@ lbl_8013648C: /* 8013650C 0013346C 39 21 00 48 */ addi r9, r1, 0x48 /* 80136510 00133470 39 41 00 40 */ addi r10, r1, 0x40 /* 80136514 00133474 38 80 00 06 */ li r4, 6 -/* 80136518 00133478 4B F4 6D AD */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80136518 00133478 4B F4 6D AD */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013651C 0013347C 80 DB 09 00 */ lwz r6, 0x900(r27) /* 80136520 00133480 7F 84 E3 78 */ mr r4, r28 /* 80136524 00133484 38 61 00 28 */ addi r3, r1, 0x28 @@ -497,4 +497,3 @@ lbl_805AB73C: lbl_805AB740: # ROM: 0x3F7FE0 .double 4.503601774854144E15 - diff --git a/asm/MetroidPrime/BodyState/CBSLieOnGround.s b/asm/MetroidPrime/BodyState/CBSLieOnGround.s index 22812839..8061249f 100644 --- a/asm/MetroidPrime/BodyState/CBSLieOnGround.s +++ b/asm/MetroidPrime/BodyState/CBSLieOnGround.s @@ -173,7 +173,7 @@ Start__14CBSLieOnGroundFR15CBodyControllerR13CStateManager: /* 801369C8 00133928 39 21 00 30 */ addi r9, r1, 0x30 /* 801369CC 0013392C 39 41 00 28 */ addi r10, r1, 0x28 /* 801369D0 00133930 38 80 00 02 */ li r4, 2 -/* 801369D4 00133934 4B F4 68 F1 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801369D4 00133934 4B F4 68 F1 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801369D8 00133938 80 DD 09 00 */ lwz r6, 0x900(r29) /* 801369DC 0013393C 7F C4 F3 78 */ mr r4, r30 /* 801369E0 00133940 38 61 00 10 */ addi r3, r1, 0x10 @@ -290,4 +290,3 @@ lbl_805AB748: lbl_805AB74C: # ROM: 0x3F7FEC .float 1.0 - diff --git a/asm/MetroidPrime/BodyState/CBSLocomotion.s b/asm/MetroidPrime/BodyState/CBSLocomotion.s index 85b07c2e..29488c66 100644 --- a/asm/MetroidPrime/BodyState/CBSLocomotion.s +++ b/asm/MetroidPrime/BodyState/CBSLocomotion.s @@ -1132,7 +1132,7 @@ lbl_801376E0: /* 80137744 001346A4 39 21 00 30 */ addi r9, r1, 0x30 /* 80137748 001346A8 39 41 00 28 */ addi r10, r1, 0x28 /* 8013774C 001346AC 38 80 00 05 */ li r4, 5 -/* 80137750 001346B0 4B F4 5B 75 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80137750 001346B0 4B F4 5B 75 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80137754 001346B4 7F 64 DB 78 */ mr r4, r27 /* 80137758 001346B8 38 61 00 10 */ addi r3, r1, 0x10 /* 8013775C 001346BC 38 A1 00 58 */ addi r5, r1, 0x58 @@ -1990,7 +1990,7 @@ lbl_801382D8: /* 8013833C 0013529C 39 21 00 30 */ addi r9, r1, 0x30 /* 80138340 001352A0 39 41 00 28 */ addi r10, r1, 0x28 /* 80138344 001352A4 38 80 00 05 */ li r4, 5 -/* 80138348 001352A8 4B F4 4F 7D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80138348 001352A8 4B F4 4F 7D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013834C 001352AC 7E A4 AB 78 */ mr r4, r21 /* 80138350 001352B0 38 61 00 10 */ addi r3, r1, 0x10 /* 80138354 001352B4 38 A1 00 9C */ addi r5, r1, 0x9c diff --git a/asm/MetroidPrime/BodyState/CBSLoopAttack.s b/asm/MetroidPrime/BodyState/CBSLoopAttack.s index e8eca35e..88bb93fa 100644 --- a/asm/MetroidPrime/BodyState/CBSLoopAttack.s +++ b/asm/MetroidPrime/BodyState/CBSLoopAttack.s @@ -279,7 +279,7 @@ lbl_8013B1B8: /* 8013B230 00138190 39 21 00 68 */ addi r9, r1, 0x68 /* 8013B234 00138194 39 41 00 60 */ addi r10, r1, 0x60 /* 8013B238 00138198 38 80 00 09 */ li r4, 9 -/* 8013B23C 0013819C 4B F4 20 89 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013B23C 0013819C 4B F4 20 89 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013B240 001381A0 80 BD 09 00 */ lwz r5, 0x900(r29) /* 8013B244 001381A4 7F 83 E3 78 */ mr r3, r28 /* 8013B248 001381A8 38 81 00 D8 */ addi r4, r1, 0xd8 @@ -379,7 +379,7 @@ lbl_8013B324: /* 8013B39C 001382FC 39 21 00 28 */ addi r9, r1, 0x28 /* 8013B3A0 00138300 39 41 00 20 */ addi r10, r1, 0x20 /* 8013B3A4 00138304 38 80 00 09 */ li r4, 9 -/* 8013B3A8 00138308 4B F4 1F 1D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013B3A8 00138308 4B F4 1F 1D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013B3AC 0013830C 80 BD 09 00 */ lwz r5, 0x900(r29) /* 8013B3B0 00138310 7F 83 E3 78 */ mr r3, r28 /* 8013B3B4 00138314 38 81 00 90 */ addi r4, r1, 0x90 @@ -497,7 +497,7 @@ Start__13CBSLoopAttackFR15CBodyControllerR13CStateManager: /* 8013B54C 001384AC 39 21 00 B0 */ addi r9, r1, 0xb0 /* 8013B550 001384B0 39 41 00 A8 */ addi r10, r1, 0xa8 /* 8013B554 001384B4 38 80 00 09 */ li r4, 9 -/* 8013B558 001384B8 4B F4 1D 6D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013B558 001384B8 4B F4 1D 6D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013B55C 001384BC 80 BF 09 00 */ lwz r5, 0x900(r31) /* 8013B560 001384C0 7F C3 F3 78 */ mr r3, r30 /* 8013B564 001384C4 38 81 01 90 */ addi r4, r1, 0x190 @@ -562,7 +562,7 @@ lbl_8013B5CC: /* 8013B63C 0013859C 39 21 00 70 */ addi r9, r1, 0x70 /* 8013B640 001385A0 39 41 00 68 */ addi r10, r1, 0x68 /* 8013B644 001385A4 38 80 00 09 */ li r4, 9 -/* 8013B648 001385A8 4B F4 1C 7D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013B648 001385A8 4B F4 1C 7D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013B64C 001385AC 7F C3 F3 78 */ mr r3, r30 /* 8013B650 001385B0 4B FF EE 05 */ bl GetPASDatabase__15CBodyControllerCFv /* 8013B654 001385B4 80 DF 09 00 */ lwz r6, 0x900(r31) @@ -629,7 +629,7 @@ lbl_8013B6D0: /* 8013B744 001386A4 39 21 00 28 */ addi r9, r1, 0x28 /* 8013B748 001386A8 39 41 00 20 */ addi r10, r1, 0x20 /* 8013B74C 001386AC 38 80 00 09 */ li r4, 9 -/* 8013B750 001386B0 4B F4 1B 75 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013B750 001386B0 4B F4 1B 75 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013B754 001386B4 80 BF 09 00 */ lwz r5, 0x900(r31) /* 8013B758 001386B8 7F C3 F3 78 */ mr r3, r30 /* 8013B75C 001386BC 38 81 01 00 */ addi r4, r1, 0x100 @@ -735,4 +735,3 @@ lbl_805AB7B0: # ROM: 0x3F8050 .float 1.0 .4byte 0 - diff --git a/asm/MetroidPrime/BodyState/CBSLoopReaction.s b/asm/MetroidPrime/BodyState/CBSLoopReaction.s index 5d9a9704..96fcf80b 100644 --- a/asm/MetroidPrime/BodyState/CBSLoopReaction.s +++ b/asm/MetroidPrime/BodyState/CBSLoopReaction.s @@ -223,7 +223,7 @@ PlayExitAnimation__15CBSLoopReactionCFR15CBodyControllerR13CStateManager: /* 8013C2F8 00139258 39 21 00 30 */ addi r9, r1, 0x30 /* 8013C2FC 0013925C 39 41 00 28 */ addi r10, r1, 0x28 /* 8013C300 00139260 38 80 00 0A */ li r4, 0xa -/* 8013C304 00139264 4B F4 0F C1 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013C304 00139264 4B F4 0F C1 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013C308 00139268 80 DE 09 00 */ lwz r6, 0x900(r30) /* 8013C30C 0013926C 7F E4 FB 78 */ mr r4, r31 /* 8013C310 00139270 38 61 00 10 */ addi r3, r1, 0x10 @@ -410,7 +410,7 @@ lbl_8013C514: /* 8013C58C 001394EC 39 21 00 28 */ addi r9, r1, 0x28 /* 8013C590 001394F0 39 41 00 20 */ addi r10, r1, 0x20 /* 8013C594 001394F4 38 80 00 0A */ li r4, 0xa -/* 8013C598 001394F8 4B F4 0D 2D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013C598 001394F8 4B F4 0D 2D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013C59C 001394FC 80 BC 09 00 */ lwz r5, 0x900(r28) /* 8013C5A0 00139500 7F 63 DB 78 */ mr r3, r27 /* 8013C5A4 00139504 38 81 00 50 */ addi r4, r1, 0x50 @@ -594,7 +594,7 @@ lbl_8013C7AC: /* 8013C820 00139780 39 21 00 70 */ addi r9, r1, 0x70 /* 8013C824 00139784 39 41 00 68 */ addi r10, r1, 0x68 /* 8013C828 00139788 38 80 00 0A */ li r4, 0xa -/* 8013C82C 0013978C 4B F4 0A 99 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013C82C 0013978C 4B F4 0A 99 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013C830 00139790 7F C3 F3 78 */ mr r3, r30 /* 8013C834 00139794 4B FF DC 21 */ bl GetPASDatabase__15CBodyControllerCFv /* 8013C838 00139798 80 DF 09 00 */ lwz r6, 0x900(r31) @@ -661,7 +661,7 @@ lbl_8013C8B4: /* 8013C928 00139888 39 21 00 28 */ addi r9, r1, 0x28 /* 8013C92C 0013988C 39 41 00 20 */ addi r10, r1, 0x20 /* 8013C930 00139890 38 80 00 0A */ li r4, 0xa -/* 8013C934 00139894 4B F4 09 91 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8013C934 00139894 4B F4 09 91 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013C938 00139898 80 BF 09 00 */ lwz r5, 0x900(r31) /* 8013C93C 0013989C 7F C3 F3 78 */ mr r3, r30 /* 8013C940 001398A0 38 81 01 08 */ addi r4, r1, 0x108 @@ -765,4 +765,3 @@ lbl_805AB7D0: # ROM: 0x3F8070 .float 1.1920929E-7 .4byte 0 - diff --git a/asm/MetroidPrime/BodyState/CBSProjectileAttack.s b/asm/MetroidPrime/BodyState/CBSProjectileAttack.s index 8164e9fc..7886b705 100644 --- a/asm/MetroidPrime/BodyState/CBSProjectileAttack.s +++ b/asm/MetroidPrime/BodyState/CBSProjectileAttack.s @@ -271,7 +271,7 @@ lbl_8014D690: /* 8014D71C 0014A67C 39 21 00 48 */ addi r9, r1, 0x48 /* 8014D720 0014A680 39 41 00 40 */ addi r10, r1, 0x40 /* 8014D724 0014A684 38 80 00 12 */ li r4, 0x12 -/* 8014D728 0014A688 4B F2 FB 9D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8014D728 0014A688 4B F2 FB 9D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8014D72C 0014A68C 80 DA 09 00 */ lwz r6, 0x900(r26) /* 8014D730 0014A690 7F 64 DB 78 */ mr r4, r27 /* 8014D734 0014A694 38 61 00 28 */ addi r3, r1, 0x28 @@ -462,4 +462,3 @@ lbl_805ABA70: lbl_805ABA78: # ROM: 0x3F8318 .double 4.503601774854144E15 - diff --git a/asm/MetroidPrime/BodyState/CBSSlide.s b/asm/MetroidPrime/BodyState/CBSSlide.s index 55ce27df..97f76933 100644 --- a/asm/MetroidPrime/BodyState/CBSSlide.s +++ b/asm/MetroidPrime/BodyState/CBSSlide.s @@ -221,7 +221,7 @@ Start__8CBSSlideFR15CBodyControllerR13CStateManager: /* 80144220 00141180 39 21 00 38 */ addi r9, r1, 0x38 /* 80144224 00141184 39 41 00 30 */ addi r10, r1, 0x30 /* 80144228 00141188 38 80 00 0F */ li r4, 0xf -/* 8014422C 0014118C 4B F3 90 99 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8014422C 0014118C 4B F3 90 99 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80144230 00141190 80 DC 09 00 */ lwz r6, 0x900(r28) /* 80144234 00141194 7F A4 EB 78 */ mr r4, r29 /* 80144238 00141198 38 61 00 18 */ addi r3, r1, 0x18 @@ -400,4 +400,3 @@ lbl_805AB92C: lbl_805AB930: # ROM: 0x3F81D0 .double 4.503601774854144E15 - diff --git a/asm/MetroidPrime/BodyState/CBSStep.s b/asm/MetroidPrime/BodyState/CBSStep.s index 88645937..f20ae646 100644 --- a/asm/MetroidPrime/BodyState/CBSStep.s +++ b/asm/MetroidPrime/BodyState/CBSStep.s @@ -284,7 +284,7 @@ Start__7CBSStepFR15CBodyControllerR13CStateManager: /* 8013910C 0013606C 39 21 00 28 */ addi r9, r1, 0x28 /* 80139110 00136070 39 41 00 20 */ addi r10, r1, 0x20 /* 80139114 00136074 38 80 00 03 */ li r4, 3 -/* 80139118 00136078 4B F4 41 AD */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80139118 00136078 4B F4 41 AD */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8013911C 0013607C 80 BD 09 00 */ lwz r5, 0x900(r29) /* 80139120 00136080 7F 83 E3 78 */ mr r3, r28 /* 80139124 00136084 38 81 00 50 */ addi r4, r1, 0x50 @@ -343,4 +343,3 @@ lbl_805AB778: # ROM: 0x3F8018 .4byte 0 .4byte 0 - diff --git a/asm/MetroidPrime/BodyState/CBSTaunt.s b/asm/MetroidPrime/BodyState/CBSTaunt.s index 315f1b57..79dd8161 100644 --- a/asm/MetroidPrime/BodyState/CBSTaunt.s +++ b/asm/MetroidPrime/BodyState/CBSTaunt.s @@ -207,7 +207,7 @@ Start__8CBSTauntFR15CBodyControllerR13CStateManager: /* 80149520 00146480 39 21 00 28 */ addi r9, r1, 0x28 /* 80149524 00146484 39 41 00 20 */ addi r10, r1, 0x20 /* 80149528 00146488 38 80 00 10 */ li r4, 0x10 -/* 8014952C 0014648C 4B F3 3D 99 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8014952C 0014648C 4B F3 3D 99 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80149530 00146490 80 BE 09 00 */ lwz r5, 0x900(r30) /* 80149534 00146494 7F A3 EB 78 */ mr r3, r29 /* 80149538 00146498 38 81 00 50 */ addi r4, r1, 0x50 @@ -265,4 +265,3 @@ lbl_805AB9F0: # ROM: 0x3F8290 .4byte 0 .4byte 0 - diff --git a/asm/MetroidPrime/BodyState/CBSTurn.s b/asm/MetroidPrime/BodyState/CBSTurn.s index ab0ef98a..dcfdbf9d 100644 --- a/asm/MetroidPrime/BodyState/CBSTurn.s +++ b/asm/MetroidPrime/BodyState/CBSTurn.s @@ -285,7 +285,7 @@ lbl_801394B0: /* 80139524 00136484 39 21 00 30 */ addi r9, r1, 0x30 /* 80139528 00136488 39 41 00 28 */ addi r10, r1, 0x28 /* 8013952C 0013648C 38 80 00 05 */ li r4, 5 -/* 80139530 00136490 4B F4 3D 95 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80139530 00136490 4B F4 3D 95 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80139534 00136494 80 DD 09 00 */ lwz r6, 0x900(r29) /* 80139538 00136498 7F C4 F3 78 */ mr r4, r30 /* 8013953C 0013649C 38 61 00 10 */ addi r3, r1, 0x10 @@ -738,7 +738,7 @@ lbl_80139AE0: /* 80139B64 00136AC4 39 21 00 38 */ addi r9, r1, 0x38 /* 80139B68 00136AC8 39 41 00 30 */ addi r10, r1, 0x30 /* 80139B6C 00136ACC 38 80 00 08 */ li r4, 8 -/* 80139B70 00136AD0 4B F4 37 55 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80139B70 00136AD0 4B F4 37 55 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80139B74 00136AD4 80 DB 09 00 */ lwz r6, 0x900(r27) /* 80139B78 00136AD8 7F 84 E3 78 */ mr r4, r28 /* 80139B7C 00136ADC 38 61 00 18 */ addi r3, r1, 0x18 @@ -888,4 +888,3 @@ lbl_805AB788: lbl_805AB78C: # ROM: 0x3F802C .float 0.017453292 - diff --git a/asm/MetroidPrime/BodyState/CBSWallHang.s b/asm/MetroidPrime/BodyState/CBSWallHang.s index d6446422..72161971 100644 --- a/asm/MetroidPrime/BodyState/CBSWallHang.s +++ b/asm/MetroidPrime/BodyState/CBSWallHang.s @@ -182,7 +182,7 @@ lbl_8018D630: /* 8018D6A0 0018A600 39 21 00 2C */ addi r9, r1, 0x2c /* 8018D6A4 0018A604 39 41 00 24 */ addi r10, r1, 0x24 /* 8018D6A8 0018A608 38 80 00 14 */ li r4, 0x14 -/* 8018D6AC 0018A60C 4B EE FC 19 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018D6AC 0018A60C 4B EE FC 19 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018D6B0 0018A610 80 BD 09 00 */ lwz r5, 0x900(r29) /* 8018D6B4 0018A614 7F 83 E3 78 */ mr r3, r28 /* 8018D6B8 0018A618 38 81 00 5C */ addi r4, r1, 0x5c @@ -318,7 +318,7 @@ lbl_8018D828: /* 8018D898 0018A7F8 39 21 00 40 */ addi r9, r1, 0x40 /* 8018D89C 0018A7FC 39 41 00 38 */ addi r10, r1, 0x38 /* 8018D8A0 0018A800 38 80 00 14 */ li r4, 0x14 -/* 8018D8A4 0018A804 4B EE FA 21 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018D8A4 0018A804 4B EE FA 21 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018D8A8 0018A808 7F A3 EB 78 */ mr r3, r29 /* 8018D8AC 0018A80C 4B FA CB A9 */ bl GetPASDatabase__15CBodyControllerCFv /* 8018D8B0 0018A810 80 DE 09 00 */ lwz r6, 0x900(r30) @@ -505,7 +505,7 @@ lbl_8018DAD4: /* 8018DB48 0018AAA8 39 21 02 7C */ addi r9, r1, 0x27c /* 8018DB4C 0018AAAC 39 41 02 74 */ addi r10, r1, 0x274 /* 8018DB50 0018AAB0 38 80 00 14 */ li r4, 0x14 -/* 8018DB54 0018AAB4 4B EE F7 71 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018DB54 0018AAB4 4B EE F7 71 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018DB58 0018AAB8 7F A3 EB 78 */ mr r3, r29 /* 8018DB5C 0018AABC 4B FA C8 F9 */ bl GetPASDatabase__15CBodyControllerCFv /* 8018DB60 0018AAC0 80 DE 09 00 */ lwz r6, 0x900(r30) @@ -572,7 +572,7 @@ lbl_8018DBE0: /* 8018DC50 0018ABB0 39 21 02 34 */ addi r9, r1, 0x234 /* 8018DC54 0018ABB4 39 41 02 2C */ addi r10, r1, 0x22c /* 8018DC58 0018ABB8 38 80 00 14 */ li r4, 0x14 -/* 8018DC5C 0018ABBC 4B EE F6 69 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018DC5C 0018ABBC 4B EE F6 69 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018DC60 0018ABC0 80 BE 09 00 */ lwz r5, 0x900(r30) /* 8018DC64 0018ABC4 7F A3 EB 78 */ mr r3, r29 /* 8018DC68 0018ABC8 38 81 05 28 */ addi r4, r1, 0x528 @@ -729,7 +729,7 @@ lbl_8018DE0C: /* 8018DE94 0018ADF4 39 21 01 EC */ addi r9, r1, 0x1ec /* 8018DE98 0018ADF8 39 41 01 E4 */ addi r10, r1, 0x1e4 /* 8018DE9C 0018ADFC 38 80 00 14 */ li r4, 0x14 -/* 8018DEA0 0018AE00 4B EE F4 25 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018DEA0 0018AE00 4B EE F4 25 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018DEA4 0018AE04 80 BE 09 00 */ lwz r5, 0x900(r30) /* 8018DEA8 0018AE08 7F A3 EB 78 */ mr r3, r29 /* 8018DEAC 0018AE0C 38 81 04 E0 */ addi r4, r1, 0x4e0 @@ -820,7 +820,7 @@ lbl_8018DF60: /* 8018DFDC 0018AF3C 39 21 01 AC */ addi r9, r1, 0x1ac /* 8018DFE0 0018AF40 39 41 01 A4 */ addi r10, r1, 0x1a4 /* 8018DFE4 0018AF44 38 80 00 14 */ li r4, 0x14 -/* 8018DFE8 0018AF48 4B EE F2 DD */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018DFE8 0018AF48 4B EE F2 DD */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018DFEC 0018AF4C 80 BE 09 00 */ lwz r5, 0x900(r30) /* 8018DFF0 0018AF50 7F A3 EB 78 */ mr r3, r29 /* 8018DFF4 0018AF54 38 81 04 98 */ addi r4, r1, 0x498 @@ -985,7 +985,7 @@ lbl_8018E1D0: /* 8018E240 0018B1A0 39 21 01 64 */ addi r9, r1, 0x164 /* 8018E244 0018B1A4 39 41 01 5C */ addi r10, r1, 0x15c /* 8018E248 0018B1A8 38 80 00 14 */ li r4, 0x14 -/* 8018E24C 0018B1AC 4B EE F0 79 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018E24C 0018B1AC 4B EE F0 79 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018E250 0018B1B0 80 BE 09 00 */ lwz r5, 0x900(r30) /* 8018E254 0018B1B4 7F A3 EB 78 */ mr r3, r29 /* 8018E258 0018B1B8 38 81 04 50 */ addi r4, r1, 0x450 @@ -1058,7 +1058,7 @@ lbl_8018E2CC: /* 8018E348 0018B2A8 39 21 01 24 */ addi r9, r1, 0x124 /* 8018E34C 0018B2AC 39 41 01 1C */ addi r10, r1, 0x11c /* 8018E350 0018B2B0 38 80 00 14 */ li r4, 0x14 -/* 8018E354 0018B2B4 4B EE EF 71 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018E354 0018B2B4 4B EE EF 71 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018E358 0018B2B8 80 BE 09 00 */ lwz r5, 0x900(r30) /* 8018E35C 0018B2BC 7F A3 EB 78 */ mr r3, r29 /* 8018E360 0018B2C0 38 81 04 08 */ addi r4, r1, 0x408 @@ -1129,7 +1129,7 @@ lbl_8018E3D4: /* 8018E448 0018B3A8 39 21 00 E4 */ addi r9, r1, 0xe4 /* 8018E44C 0018B3AC 39 41 00 DC */ addi r10, r1, 0xdc /* 8018E450 0018B3B0 38 80 00 14 */ li r4, 0x14 -/* 8018E454 0018B3B4 4B EE EE 71 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018E454 0018B3B4 4B EE EE 71 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018E458 0018B3B8 7F A3 EB 78 */ mr r3, r29 /* 8018E45C 0018B3BC 4B FA BF F9 */ bl GetPASDatabase__15CBodyControllerCFv /* 8018E460 0018B3C0 80 DE 09 00 */ lwz r6, 0x900(r30) @@ -1197,7 +1197,7 @@ lbl_8018E4E4: /* 8018E554 0018B4B4 39 21 00 9C */ addi r9, r1, 0x9c /* 8018E558 0018B4B8 39 41 00 94 */ addi r10, r1, 0x94 /* 8018E55C 0018B4BC 38 80 00 14 */ li r4, 0x14 -/* 8018E560 0018B4C0 4B EE ED 65 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018E560 0018B4C0 4B EE ED 65 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018E564 0018B4C4 80 BE 09 00 */ lwz r5, 0x900(r30) /* 8018E568 0018B4C8 7F A3 EB 78 */ mr r3, r29 /* 8018E56C 0018B4CC 38 81 03 78 */ addi r4, r1, 0x378 @@ -1358,7 +1358,7 @@ lbl_8018E718: /* 8018E7A0 0018B700 39 21 00 54 */ addi r9, r1, 0x54 /* 8018E7A4 0018B704 39 41 00 4C */ addi r10, r1, 0x4c /* 8018E7A8 0018B708 38 80 00 14 */ li r4, 0x14 -/* 8018E7AC 0018B70C 4B EE EB 19 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018E7AC 0018B70C 4B EE EB 19 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018E7B0 0018B710 80 BE 09 00 */ lwz r5, 0x900(r30) /* 8018E7B4 0018B714 7F A3 EB 78 */ mr r3, r29 /* 8018E7B8 0018B718 38 81 03 30 */ addi r4, r1, 0x330 @@ -1479,7 +1479,7 @@ Start__11CBSWallHangFR15CBodyControllerR13CStateManager: /* 8018E950 0018B8B0 39 21 00 28 */ addi r9, r1, 0x28 /* 8018E954 0018B8B4 39 41 00 20 */ addi r10, r1, 0x20 /* 8018E958 0018B8B8 38 80 00 14 */ li r4, 0x14 -/* 8018E95C 0018B8BC 4B EE E9 69 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8018E95C 0018B8BC 4B EE E9 69 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8018E960 0018B8C0 80 BF 09 00 */ lwz r5, 0x900(r31) /* 8018E964 0018B8C4 7F C3 F3 78 */ mr r3, r30 /* 8018E968 0018B8C8 38 81 00 50 */ addi r4, r1, 0x50 @@ -1708,4 +1708,3 @@ lbl_805AC1A8: # ROM: 0x3F8A48 .4byte 0xC1700000 .4byte 0 - diff --git a/asm/MetroidPrime/Enemies/CBabygoth.s b/asm/MetroidPrime/Enemies/CBabygoth.s index d784d051..b02604d1 100644 --- a/asm/MetroidPrime/Enemies/CBabygoth.s +++ b/asm/MetroidPrime/Enemies/CBabygoth.s @@ -7897,7 +7897,7 @@ lbl_80223F8C: /* 802240F0 00221050 39 21 00 44 */ addi r9, r1, 0x44 /* 802240F4 00221054 39 41 00 3C */ addi r10, r1, 0x3c /* 802240F8 00221058 38 80 00 03 */ li r4, 3 -/* 802240FC 0022105C 4B E5 91 C9 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 802240FC 0022105C 4B E5 91 C9 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80224100 00221060 80 BD 00 64 */ lwz r5, 0x64(r29) /* 80224104 00221064 7F A3 EB 78 */ mr r3, r29 /* 80224108 00221068 38 81 01 68 */ addi r4, r1, 0x168 diff --git a/asm/MetroidPrime/Enemies/CBeetle.s b/asm/MetroidPrime/Enemies/CBeetle.s index a70ec865..b3f2dfa8 100644 --- a/asm/MetroidPrime/Enemies/CBeetle.s +++ b/asm/MetroidPrime/Enemies/CBeetle.s @@ -6067,7 +6067,7 @@ lbl_800E7DB8: /* 800E8050 000E4FB0 39 21 00 7C */ addi r9, r1, 0x7c /* 800E8054 000E4FB4 39 41 00 74 */ addi r10, r1, 0x74 /* 800E8058 000E4FB8 38 80 00 07 */ li r4, 7 -/* 800E805C 000E4FBC 4B F9 52 69 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 800E805C 000E4FBC 4B F9 52 69 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 800E8060 000E4FC0 7F 43 D3 78 */ mr r3, r26 /* 800E8064 000E4FC4 38 81 01 E4 */ addi r4, r1, 0x1e4 /* 800E8068 000E4FC8 4B F9 49 99 */ bl func_8007CA00 @@ -6102,7 +6102,7 @@ lbl_800E7DB8: /* 800E80DC 000E503C 39 21 00 3C */ addi r9, r1, 0x3c /* 800E80E0 000E5040 39 41 00 34 */ addi r10, r1, 0x34 /* 800E80E4 000E5044 38 80 00 03 */ li r4, 3 -/* 800E80E8 000E5048 4B F9 51 DD */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 800E80E8 000E5048 4B F9 51 DD */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 800E80EC 000E504C 80 BA 00 64 */ lwz r5, 0x64(r26) /* 800E80F0 000E5050 7F 43 D3 78 */ mr r3, r26 /* 800E80F4 000E5054 38 81 01 9C */ addi r4, r1, 0x19c diff --git a/asm/MetroidPrime/Enemies/CChozoGhost.s b/asm/MetroidPrime/Enemies/CChozoGhost.s index 8602da81..55044e8f 100644 --- a/asm/MetroidPrime/Enemies/CChozoGhost.s +++ b/asm/MetroidPrime/Enemies/CChozoGhost.s @@ -3664,7 +3664,7 @@ lbl_80142160: /* 80142264 0013F1C4 39 21 00 CC */ addi r9, r1, 0xcc /* 80142268 0013F1C8 39 41 00 C4 */ addi r10, r1, 0xc4 /* 8014226C 0013F1CC 38 80 00 0D */ li r4, 0xd -/* 80142270 0013F1D0 4B F3 B0 55 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80142270 0013F1D0 4B F3 B0 55 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80142274 0013F1D4 80 B8 00 64 */ lwz r5, 0x64(r24) /* 80142278 0013F1D8 7F 03 C3 78 */ mr r3, r24 /* 8014227C 0013F1DC 38 81 01 C4 */ addi r4, r1, 0x1c4 @@ -3708,7 +3708,7 @@ lbl_80142160: /* 80142314 0013F274 39 21 00 8C */ addi r9, r1, 0x8c /* 80142318 0013F278 39 41 00 84 */ addi r10, r1, 0x84 /* 8014231C 0013F27C 38 80 00 0F */ li r4, 0xf -/* 80142320 0013F280 4B F3 AF A5 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80142320 0013F280 4B F3 AF A5 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80142324 0013F284 80 B8 00 64 */ lwz r5, 0x64(r24) /* 80142328 0013F288 7F 03 C3 78 */ mr r3, r24 /* 8014232C 0013F28C 38 81 01 7C */ addi r4, r1, 0x17c @@ -3752,7 +3752,7 @@ lbl_80142160: /* 801423C4 0013F324 39 21 00 4C */ addi r9, r1, 0x4c /* 801423C8 0013F328 39 41 00 44 */ addi r10, r1, 0x44 /* 801423CC 0013F32C 38 80 00 07 */ li r4, 7 -/* 801423D0 0013F330 4B F3 AE F5 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801423D0 0013F330 4B F3 AE F5 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801423D4 0013F334 80 B8 00 64 */ lwz r5, 0x64(r24) /* 801423D8 0013F338 7F 03 C3 78 */ mr r3, r24 /* 801423DC 0013F33C 38 81 01 34 */ addi r4, r1, 0x134 diff --git a/asm/MetroidPrime/Enemies/CFlyingPirate.s b/asm/MetroidPrime/Enemies/CFlyingPirate.s index 7bd28566..e1969b15 100644 --- a/asm/MetroidPrime/Enemies/CFlyingPirate.s +++ b/asm/MetroidPrime/Enemies/CFlyingPirate.s @@ -5963,7 +5963,7 @@ lbl_801F8F24: /* 801F8FA4 001F5F04 39 21 00 40 */ addi r9, r1, 0x40 /* 801F8FA8 001F5F08 39 41 00 38 */ addi r10, r1, 0x38 /* 801F8FAC 001F5F0C 38 80 00 18 */ li r4, 0x18 -/* 801F8FB0 001F5F10 4B E8 43 15 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801F8FB0 001F5F10 4B E8 43 15 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801F8FB4 001F5F14 80 DE 09 00 */ lwz r6, 0x900(r30) /* 801F8FB8 001F5F18 7F 84 E3 78 */ mr r4, r28 /* 801F8FBC 001F5F1C 38 61 00 20 */ addi r3, r1, 0x20 @@ -12111,7 +12111,7 @@ lbl_801FE7FC: /* 801FE87C 001FB7DC 39 21 00 8C */ addi r9, r1, 0x8c /* 801FE880 001FB7E0 39 41 00 84 */ addi r10, r1, 0x84 /* 801FE884 001FB7E4 38 80 00 03 */ li r4, 3 -/* 801FE888 001FB7E8 4B E7 EA 3D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801FE888 001FB7E8 4B E7 EA 3D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801FE88C 001FB7EC 83 1A 00 64 */ lwz r24, 0x64(r26) /* 801FE890 001FB7F0 7F 43 D3 78 */ mr r3, r26 /* 801FE894 001FB7F4 38 81 01 28 */ addi r4, r1, 0x128 diff --git a/asm/MetroidPrime/Enemies/CGrenadeLauncher.s b/asm/MetroidPrime/Enemies/CGrenadeLauncher.s index fc070da8..088b5423 100644 --- a/asm/MetroidPrime/Enemies/CGrenadeLauncher.s +++ b/asm/MetroidPrime/Enemies/CGrenadeLauncher.s @@ -811,7 +811,7 @@ lbl_8022FF54: /* 8022FFC0 0022CF20 39 21 00 68 */ addi r9, r1, 0x68 /* 8022FFC4 0022CF24 39 41 00 60 */ addi r10, r1, 0x60 /* 8022FFC8 0022CF28 38 80 00 17 */ li r4, 0x17 -/* 8022FFCC 0022CF2C 4B E4 D2 F9 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8022FFCC 0022CF2C 4B E4 D2 F9 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8022FFD0 0022CF30 80 9E 00 64 */ lwz r4, 0x64(r30) /* 8022FFD4 0022CF34 38 61 00 48 */ addi r3, r1, 0x48 /* 8022FFD8 0022CF38 80 DF 09 00 */ lwz r6, 0x900(r31) @@ -1166,7 +1166,7 @@ lbl_8023046C: /* 80230500 0022D460 39 21 00 30 */ addi r9, r1, 0x30 /* 80230504 0022D464 39 41 00 28 */ addi r10, r1, 0x28 /* 80230508 0022D468 38 80 00 05 */ li r4, 5 -/* 8023050C 0022D46C 4B E4 CD B9 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8023050C 0022D46C 4B E4 CD B9 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80230510 0022D470 80 9F 00 64 */ lwz r4, 0x64(r31) /* 80230514 0022D474 38 61 00 10 */ addi r3, r1, 0x10 /* 80230518 0022D478 38 A1 00 80 */ addi r5, r1, 0x80 @@ -2245,7 +2245,7 @@ lbl_80231410: /* 80231470 0022E3D0 39 21 00 3C */ addi r9, r1, 0x3c /* 80231474 0022E3D4 39 41 00 34 */ addi r10, r1, 0x34 /* 80231478 0022E3D8 38 80 00 16 */ li r4, 0x16 -/* 8023147C 0022E3DC 4B E4 BE 49 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8023147C 0022E3DC 4B E4 BE 49 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80231480 0022E3E0 80 9A 00 64 */ lwz r4, 0x64(r26) /* 80231484 0022E3E4 38 61 00 1C */ addi r3, r1, 0x1c /* 80231488 0022E3E8 38 A1 00 E0 */ addi r5, r1, 0xe0 diff --git a/asm/MetroidPrime/Enemies/CIceSheegoth.s b/asm/MetroidPrime/Enemies/CIceSheegoth.s index 637a780e..6937d94b 100644 --- a/asm/MetroidPrime/Enemies/CIceSheegoth.s +++ b/asm/MetroidPrime/Enemies/CIceSheegoth.s @@ -9561,7 +9561,7 @@ lbl_801A6520: /* 801A6708 001A3668 39 21 00 3C */ addi r9, r1, 0x3c /* 801A670C 001A366C 39 41 00 34 */ addi r10, r1, 0x34 /* 801A6710 001A3670 38 80 00 03 */ li r4, 3 -/* 801A6714 001A3674 4B ED 6B B1 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801A6714 001A3674 4B ED 6B B1 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801A6718 001A3678 80 BD 00 64 */ lwz r5, 0x64(r29) /* 801A671C 001A367C 7F A3 EB 78 */ mr r3, r29 /* 801A6720 001A3680 38 81 01 50 */ addi r4, r1, 0x150 diff --git a/asm/MetroidPrime/Enemies/CKnockBackController.s b/asm/MetroidPrime/Enemies/CKnockBackController.s index 70351163..1fa498de 100644 --- a/asm/MetroidPrime/Enemies/CKnockBackController.s +++ b/asm/MetroidPrime/Enemies/CKnockBackController.s @@ -310,7 +310,7 @@ lbl_80233020: /* 80233094 0022FFF4 39 21 00 34 */ addi r9, r1, 0x34 /* 80233098 0022FFF8 39 41 00 2C */ addi r10, r1, 0x2c /* 8023309C 0022FFFC 38 80 00 17 */ li r4, 0x17 -/* 802330A0 00230000 4B E4 A2 25 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 802330A0 00230000 4B E4 A2 25 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 802330A4 00230004 80 DC 09 00 */ lwz r6, 0x900(r28) /* 802330A8 00230008 7F E4 FB 78 */ mr r4, r31 /* 802330AC 0023000C 38 61 00 14 */ addi r3, r1, 0x14 @@ -2399,4 +2399,3 @@ lbl_803D42E0: # ROM: 0x3D12E0 .asciz "??(??)" .balign 4 - diff --git a/asm/MetroidPrime/Enemies/CMetroid.s b/asm/MetroidPrime/Enemies/CMetroid.s index 3d635e24..6c7e7b36 100644 --- a/asm/MetroidPrime/Enemies/CMetroid.s +++ b/asm/MetroidPrime/Enemies/CMetroid.s @@ -9357,7 +9357,7 @@ lbl_80171E4C: /* 80172190 0016F0F0 39 21 00 3C */ addi r9, r1, 0x3c /* 80172194 0016F0F4 39 41 00 34 */ addi r10, r1, 0x34 /* 80172198 0016F0F8 38 80 00 09 */ li r4, 9 -/* 8017219C 0016F0FC 4B F0 B1 29 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8017219C 0016F0FC 4B F0 B1 29 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801721A0 0016F100 7F 43 D3 78 */ mr r3, r26 /* 801721A4 0016F104 38 81 00 70 */ addi r4, r1, 0x70 /* 801721A8 0016F108 4B F0 A8 59 */ bl func_8007CA00 diff --git a/asm/MetroidPrime/Enemies/CPatterned.s b/asm/MetroidPrime/Enemies/CPatterned.s index a067df9d..e72d7337 100644 --- a/asm/MetroidPrime/Enemies/CPatterned.s +++ b/asm/MetroidPrime/Enemies/CPatterned.s @@ -7225,7 +7225,7 @@ lbl_8007D198: /* 8007D204 0007A164 39 21 00 30 */ addi r9, r1, 0x30 /* 8007D208 0007A168 39 41 00 28 */ addi r10, r1, 0x28 /* 8007D20C 0007A16C 38 80 00 18 */ li r4, 0x18 -/* 8007D210 0007A170 48 00 00 B5 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8007D210 0007A170 48 00 00 B5 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8007D214 0007A174 80 7D 04 50 */ lwz r3, 0x450(r29) /* 8007D218 0007A178 48 0B D2 3D */ bl GetPASDatabase__15CBodyControllerCFv /* 8007D21C 0007A17C 7C 64 1B 78 */ mr r4, r3 @@ -7276,8 +7276,8 @@ lbl_8007D2A8: /* 8007D2BC 0007A21C 38 21 00 B0 */ addi r1, r1, 0xb0 /* 8007D2C0 0007A220 4E 80 00 20 */ blr -.global __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm -__ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm: +.global __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +__ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm: /* 8007D2C4 0007A224 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8007D2C8 0007A228 39 80 00 00 */ li r12, 0 /* 8007D2CC 0007A22C 38 03 00 08 */ addi r0, r3, 8 diff --git a/asm/MetroidPrime/Enemies/CRidley.s b/asm/MetroidPrime/Enemies/CRidley.s index 60e2ce3a..706771e3 100644 --- a/asm/MetroidPrime/Enemies/CRidley.s +++ b/asm/MetroidPrime/Enemies/CRidley.s @@ -9471,7 +9471,7 @@ lbl_8025A558: /* 8025A5E0 00257540 39 21 00 54 */ addi r9, r1, 0x54 /* 8025A5E4 00257544 39 41 00 4C */ addi r10, r1, 0x4c /* 8025A5E8 00257548 38 80 00 07 */ li r4, 7 -/* 8025A5EC 0025754C 4B E2 2C D9 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8025A5EC 0025754C 4B E2 2C D9 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8025A5F0 00257550 80 BF 00 64 */ lwz r5, 0x64(r31) /* 8025A5F4 00257554 7F E3 FB 78 */ mr r3, r31 /* 8025A5F8 00257558 38 81 01 74 */ addi r4, r1, 0x174 diff --git a/asm/MetroidPrime/Enemies/CSpacePirate.s b/asm/MetroidPrime/Enemies/CSpacePirate.s index da49642e..9b8b60a8 100644 --- a/asm/MetroidPrime/Enemies/CSpacePirate.s +++ b/asm/MetroidPrime/Enemies/CSpacePirate.s @@ -3116,7 +3116,7 @@ lbl_8012254C: /* 801225CC 0011F52C 39 21 00 40 */ addi r9, r1, 0x40 /* 801225D0 0011F530 39 41 00 38 */ addi r10, r1, 0x38 /* 801225D4 0011F534 38 80 00 18 */ li r4, 0x18 -/* 801225D8 0011F538 4B F5 AC ED */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801225D8 0011F538 4B F5 AC ED */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801225DC 0011F53C 80 DE 09 00 */ lwz r6, 0x900(r30) /* 801225E0 0011F540 7F 84 E3 78 */ mr r4, r28 /* 801225E4 0011F544 38 61 00 20 */ addi r3, r1, 0x20 @@ -8360,7 +8360,7 @@ lbl_8012709C: /* 80127134 00124094 39 21 00 40 */ addi r9, r1, 0x40 /* 80127138 00124098 39 41 00 38 */ addi r10, r1, 0x38 /* 8012713C 0012409C 38 80 00 10 */ li r4, 0x10 -/* 80127140 001240A0 4B F5 61 85 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80127140 001240A0 4B F5 61 85 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80127144 001240A4 80 7E 04 50 */ lwz r3, 0x450(r30) /* 80127148 001240A8 48 01 33 0D */ bl GetPASDatabase__15CBodyControllerCFv /* 8012714C 001240AC 80 DF 09 00 */ lwz r6, 0x900(r31) @@ -12307,7 +12307,7 @@ Accept__12CSpacePirateFR8IVisitor: /* 8012AA00 00127960 39 21 01 04 */ addi r9, r1, 0x104 /* 8012AA04 00127964 39 41 00 FC */ addi r10, r1, 0xfc /* 8012AA08 00127968 38 80 00 0D */ li r4, 0xd -/* 8012AA0C 0012796C 4B F5 28 B9 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8012AA0C 0012796C 4B F5 28 B9 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8012AA10 00127970 80 BD 00 64 */ lwz r5, 0x64(r29) /* 8012AA14 00127974 7F A3 EB 78 */ mr r3, r29 /* 8012AA18 00127978 38 81 02 28 */ addi r4, r1, 0x228 @@ -12351,7 +12351,7 @@ Accept__12CSpacePirateFR8IVisitor: /* 8012AAB0 00127A10 39 21 00 C4 */ addi r9, r1, 0xc4 /* 8012AAB4 00127A14 39 41 00 BC */ addi r10, r1, 0xbc /* 8012AAB8 00127A18 38 80 00 03 */ li r4, 3 -/* 8012AABC 00127A1C 4B F5 28 09 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8012AABC 00127A1C 4B F5 28 09 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8012AAC0 00127A20 83 DD 00 64 */ lwz r30, 0x64(r29) /* 8012AAC4 00127A24 7F A3 EB 78 */ mr r3, r29 /* 8012AAC8 00127A28 38 81 01 E0 */ addi r4, r1, 0x1e0 @@ -12389,7 +12389,7 @@ Accept__12CSpacePirateFR8IVisitor: /* 8012AB48 00127AA8 39 21 00 84 */ addi r9, r1, 0x84 /* 8012AB4C 00127AAC 39 41 00 7C */ addi r10, r1, 0x7c /* 8012AB50 00127AB0 38 80 00 03 */ li r4, 3 -/* 8012AB54 00127AB4 4B F5 27 71 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 8012AB54 00127AB4 4B F5 27 71 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 8012AB58 00127AB8 83 DD 00 64 */ lwz r30, 0x64(r29) /* 8012AB5C 00127ABC 7F A3 EB 78 */ mr r3, r29 /* 8012AB60 00127AC0 38 81 01 98 */ addi r4, r1, 0x198 diff --git a/asm/MetroidPrime/ScriptObjects/CScriptGunTurret.s b/asm/MetroidPrime/ScriptObjects/CScriptGunTurret.s index d85e242a..987850e0 100644 --- a/asm/MetroidPrime/ScriptObjects/CScriptGunTurret.s +++ b/asm/MetroidPrime/ScriptObjects/CScriptGunTurret.s @@ -1913,7 +1913,7 @@ PlayAdditiveChargingAnimation__16CScriptGunTurretFR13CStateManager: /* 802171C0 00214120 39 21 00 30 */ addi r9, r1, 0x30 /* 802171C4 00214124 39 41 00 28 */ addi r10, r1, 0x28 /* 802171C8 00214128 38 80 00 18 */ li r4, 0x18 -/* 802171CC 0021412C 4B E6 60 F9 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 802171CC 0021412C 4B E6 60 F9 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 802171D0 00214130 80 9E 00 64 */ lwz r4, 0x64(r30) /* 802171D4 00214134 38 61 00 10 */ addi r3, r1, 0x10 /* 802171D8 00214138 80 DF 09 00 */ lwz r6, 0x900(r31) @@ -2017,7 +2017,7 @@ PlayAdditiveFlinchAnimation__16CScriptGunTurretFR13CStateManager: /* 80217338 00214298 39 21 00 30 */ addi r9, r1, 0x30 /* 8021733C 0021429C 39 41 00 28 */ addi r10, r1, 0x28 /* 80217340 002142A0 38 80 00 17 */ li r4, 0x17 -/* 80217344 002142A4 4B E6 5F 81 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80217344 002142A4 4B E6 5F 81 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80217348 002142A8 80 9E 00 64 */ lwz r4, 0x64(r30) /* 8021734C 002142AC 38 61 00 10 */ addi r3, r1, 0x10 /* 80217350 002142B0 80 DF 09 00 */ lwz r6, 0x900(r31) @@ -2348,7 +2348,7 @@ lbl_80217790: /* 80217824 00214784 39 21 00 78 */ addi r9, r1, 0x78 /* 80217828 00214788 39 41 00 70 */ addi r10, r1, 0x70 /* 8021782C 0021478C 38 80 00 12 */ li r4, 0x12 -/* 80217830 00214790 4B E6 5A 95 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80217830 00214790 4B E6 5A 95 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80217834 00214794 80 9E 00 64 */ lwz r4, 0x64(r30) /* 80217838 00214798 38 61 00 58 */ addi r3, r1, 0x58 /* 8021783C 0021479C 38 A1 02 04 */ addi r5, r1, 0x204 @@ -3623,7 +3623,7 @@ lbl_80218A00: /* 80218A98 002159F8 39 21 00 30 */ addi r9, r1, 0x30 /* 80218A9C 002159FC 39 41 00 28 */ addi r10, r1, 0x28 /* 80218AA0 00215A00 38 80 00 05 */ li r4, 5 -/* 80218AA4 00215A04 4B E6 48 21 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 80218AA4 00215A04 4B E6 48 21 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 80218AA8 00215A08 80 9F 00 64 */ lwz r4, 0x64(r31) /* 80218AAC 00215A0C 38 61 00 10 */ addi r3, r1, 0x10 /* 80218AB0 00215A10 38 A1 00 80 */ addi r5, r1, 0x80 diff --git a/asm/MetroidPrime/Weapons/GunController/CGSComboFire.s b/asm/MetroidPrime/Weapons/GunController/CGSComboFire.s index b4222bdc..c88231fd 100644 --- a/asm/MetroidPrime/Weapons/GunController/CGSComboFire.s +++ b/asm/MetroidPrime/Weapons/GunController/CGSComboFire.s @@ -55,7 +55,7 @@ lbl_801CD0E0: /* 801CD15C 001CA0BC 39 21 00 28 */ addi r9, r1, 0x28 /* 801CD160 001CA0C0 39 41 00 20 */ addi r10, r1, 0x20 /* 801CD164 001CA0C4 38 80 00 04 */ li r4, 4 -/* 801CD168 001CA0C8 4B EB 01 5D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801CD168 001CA0C8 4B EB 01 5D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801CD16C 001CA0CC 80 DF 09 00 */ lwz r6, 0x900(r31) /* 801CD170 001CA0D0 38 61 00 50 */ addi r3, r1, 0x50 /* 801CD174 001CA0D4 38 9D 00 3C */ addi r4, r29, 0x3c @@ -305,4 +305,3 @@ lbl_803D1AC8: .asciz "Whole Body" .balign 4 .4byte 0 - diff --git a/asm/MetroidPrime/Weapons/GunController/CGSFidget.s b/asm/MetroidPrime/Weapons/GunController/CGSFidget.s index 245c1d37..1e23c657 100644 --- a/asm/MetroidPrime/Weapons/GunController/CGSFidget.s +++ b/asm/MetroidPrime/Weapons/GunController/CGSFidget.s @@ -101,7 +101,7 @@ LoadAnimAsync__9CGSFidgetFR9CAnimDataiiiR13CStateManager: /* 801F121C 001EE17C 39 21 00 28 */ addi r9, r1, 0x28 /* 801F1220 001EE180 39 41 00 20 */ addi r10, r1, 0x20 /* 801F1224 001EE184 38 80 00 01 */ li r4, 1 -/* 801F1228 001EE188 4B E8 C0 9D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801F1228 001EE188 4B E8 C0 9D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801F122C 001EE18C 80 DF 09 00 */ lwz r6, 0x900(r31) /* 801F1230 001EE190 38 61 00 50 */ addi r3, r1, 0x50 /* 801F1234 001EE194 38 9B 00 3C */ addi r4, r27, 0x3c @@ -194,7 +194,7 @@ SetAnim__9CGSFidgetFR9CAnimDataiiiR13CStateManager: /* 801F136C 001EE2CC 39 21 00 30 */ addi r9, r1, 0x30 /* 801F1370 001EE2D0 39 41 00 28 */ addi r10, r1, 0x28 /* 801F1374 001EE2D4 38 80 00 01 */ li r4, 1 -/* 801F1378 001EE2D8 4B E8 BF 4D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801F1378 001EE2D8 4B E8 BF 4D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801F137C 001EE2DC 80 DF 09 00 */ lwz r6, 0x900(r31) /* 801F1380 001EE2E0 7F 44 D3 78 */ mr r4, r26 /* 801F1384 001EE2E4 38 61 00 58 */ addi r3, r1, 0x58 @@ -344,4 +344,3 @@ lbl_803D2038: .asciz "?(??)" .balign 4 .4byte 0 - diff --git a/asm/MetroidPrime/Weapons/GunController/CGSFreeLook.s b/asm/MetroidPrime/Weapons/GunController/CGSFreeLook.s index 805af9af..b326d578 100644 --- a/asm/MetroidPrime/Weapons/GunController/CGSFreeLook.s +++ b/asm/MetroidPrime/Weapons/GunController/CGSFreeLook.s @@ -59,7 +59,7 @@ lbl_801CCCF0: /* 801CCD74 001C9CD4 39 21 00 30 */ addi r9, r1, 0x30 /* 801CCD78 001C9CD8 39 41 00 28 */ addi r10, r1, 0x28 /* 801CCD7C 001C9CDC 38 80 00 03 */ li r4, 3 -/* 801CCD80 001C9CE0 4B EB 05 45 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801CCD80 001C9CE0 4B EB 05 45 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801CCD84 001C9CE4 80 DF 09 00 */ lwz r6, 0x900(r31) /* 801CCD88 001C9CE8 7F 24 CB 78 */ mr r4, r25 /* 801CCD8C 001C9CEC 38 61 00 58 */ addi r3, r1, 0x58 @@ -306,4 +306,3 @@ lbl_803D1AB8: .asciz "Whole Body" .balign 4 .4byte 0 - diff --git a/asm/MetroidPrime/Weapons/GunController/CGunController.s b/asm/MetroidPrime/Weapons/GunController/CGunController.s index 568b3808..fb7eb52d 100644 --- a/asm/MetroidPrime/Weapons/GunController/CGunController.s +++ b/asm/MetroidPrime/Weapons/GunController/CGunController.s @@ -57,7 +57,7 @@ ReturnToBasePosition__14CGunControllerFR13CStateManager: /* 801CC1B8 001C9118 39 21 00 28 */ addi r9, r1, 0x28 /* 801CC1BC 001C911C 39 41 00 20 */ addi r10, r1, 0x20 /* 801CC1C0 001C9120 38 80 00 06 */ li r4, 6 -/* 801CC1C4 001C9124 4B EB 11 01 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801CC1C4 001C9124 4B EB 11 01 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801CC1C8 001C9128 80 DD 09 00 */ lwz r6, 0x900(r29) /* 801CC1CC 001C912C 38 61 00 50 */ addi r3, r1, 0x50 /* 801CC1D0 001C9130 38 9E 00 3C */ addi r4, r30, 0x3c @@ -300,7 +300,7 @@ lbl_801CC4BC: /* 801CC520 001C9480 39 21 00 28 */ addi r9, r1, 0x28 /* 801CC524 001C9484 39 41 00 20 */ addi r10, r1, 0x20 /* 801CC528 001C9488 38 80 00 05 */ li r4, 5 -/* 801CC52C 001C948C 4B EB 0D 99 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801CC52C 001C948C 4B EB 0D 99 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801CC530 001C9490 80 DD 09 00 */ lwz r6, 0x900(r29) /* 801CC534 001C9494 38 61 00 48 */ addi r3, r1, 0x48 /* 801CC538 001C9498 38 9E 00 3C */ addi r4, r30, 0x3c @@ -586,7 +586,7 @@ lbl_801CC8B8: /* 801CC930 001C9890 39 21 00 30 */ addi r9, r1, 0x30 /* 801CC934 001C9894 39 41 00 28 */ addi r10, r1, 0x28 /* 801CC938 001C9898 38 80 00 02 */ li r4, 2 -/* 801CC93C 001C989C 4B EB 09 89 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801CC93C 001C989C 4B EB 09 89 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801CC940 001C98A0 80 61 00 80 */ lwz r3, 0x80(r1) /* 801CC944 001C98A4 38 C1 00 84 */ addi r6, r1, 0x84 /* 801CC948 001C98A8 80 01 00 84 */ lwz r0, 0x84(r1) diff --git a/asm/MetroidPrime/Weapons/GunController/CGunMotion.s b/asm/MetroidPrime/Weapons/GunController/CGunMotion.s index 75d02802..3aa37adc 100644 --- a/asm/MetroidPrime/Weapons/GunController/CGunMotion.s +++ b/asm/MetroidPrime/Weapons/GunController/CGunMotion.s @@ -231,7 +231,7 @@ lbl_801D9228: /* 801D928C 001D61EC 39 01 00 C0 */ addi r8, r1, 0xc0 /* 801D9290 001D61F0 39 21 00 B8 */ addi r9, r1, 0xb8 /* 801D9294 001D61F4 39 41 00 B0 */ addi r10, r1, 0xb0 -/* 801D9298 001D61F8 4B EA 40 2D */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801D9298 001D61F8 4B EA 40 2D */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801D929C 001D61FC 80 DA 09 00 */ lwz r6, 0x900(r26) /* 801D92A0 001D6200 7F A4 EB 78 */ mr r4, r29 /* 801D92A4 001D6204 38 61 00 E0 */ addi r3, r1, 0xe0 @@ -299,7 +299,7 @@ lbl_801D931C: /* 801D9384 001D62E4 39 01 00 78 */ addi r8, r1, 0x78 /* 801D9388 001D62E8 39 21 00 70 */ addi r9, r1, 0x70 /* 801D938C 001D62EC 39 41 00 68 */ addi r10, r1, 0x68 -/* 801D9390 001D62F0 4B EA 3F 35 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801D9390 001D62F0 4B EA 3F 35 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801D9394 001D62F4 80 DA 09 00 */ lwz r6, 0x900(r26) /* 801D9398 001D62F8 7F A4 EB 78 */ mr r4, r29 /* 801D939C 001D62FC 38 61 00 98 */ addi r3, r1, 0x98 @@ -370,7 +370,7 @@ lbl_801D9414: /* 801D9488 001D63E8 39 01 00 30 */ addi r8, r1, 0x30 /* 801D948C 001D63EC 39 21 00 28 */ addi r9, r1, 0x28 /* 801D9490 001D63F0 39 41 00 20 */ addi r10, r1, 0x20 -/* 801D9494 001D63F4 4B EA 3E 31 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm +/* 801D9494 001D63F4 4B EA 3E 31 */ bl __ct__16CPASAnimParmDataFQ23pas15EAnimationStateRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm /* 801D9498 001D63F8 80 DA 09 00 */ lwz r6, 0x900(r26) /* 801D949C 001D63FC 7F A4 EB 78 */ mr r4, r29 /* 801D94A0 001D6400 38 61 00 50 */ addi r3, r1, 0x50 diff --git a/include/Kyoto/Animation/CAnimTreeNode.hpp b/include/Kyoto/Animation/CAnimTreeNode.hpp new file mode 100644 index 00000000..ea73dac0 --- /dev/null +++ b/include/Kyoto/Animation/CAnimTreeNode.hpp @@ -0,0 +1,12 @@ +#ifndef _CANIMTREENODE +#define _CANIMTREENODE + +#include "Kyoto/Animation/IAnimReader.hpp" + +class CAnimTreeNode : public IAnimReader { +public: + virtual CCharAnimTime VGetTimeRemaining() const; + +}; + +#endif // _CANIMTREENODE diff --git a/include/Kyoto/Animation/CPASAnimParmData.hpp b/include/Kyoto/Animation/CPASAnimParmData.hpp index 6b27ccd2..a1824df9 100644 --- a/include/Kyoto/Animation/CPASAnimParmData.hpp +++ b/include/Kyoto/Animation/CPASAnimParmData.hpp @@ -16,7 +16,8 @@ public: const CPASAnimParm& parm5 = CPASAnimParm::NoParameter(), const CPASAnimParm& parm6 = CPASAnimParm::NoParameter(), const CPASAnimParm& parm7 = CPASAnimParm::NoParameter(), - const CPASAnimParm& parm8 = CPASAnimParm::NoParameter()) + const CPASAnimParm& parm8 = CPASAnimParm::NoParameter()); + /* : x0_stateId(stateId) { x4_parms.push_back(parm1); x4_parms.push_back(parm2); @@ -27,6 +28,8 @@ public: x4_parms.push_back(parm7); x4_parms.push_back(parm8); } + */ + ~CPASAnimParmData() {} pas::EAnimationState GetStateId() const { return x0_stateId; } const rstl::reserved_vector< CPASAnimParm, 8 >& GetAnimParmData() const { return x4_parms; } diff --git a/include/Kyoto/Animation/IAnimReader.hpp b/include/Kyoto/Animation/IAnimReader.hpp new file mode 100644 index 00000000..6661aab5 --- /dev/null +++ b/include/Kyoto/Animation/IAnimReader.hpp @@ -0,0 +1,95 @@ +#ifndef _IANIMREADER +#define _IANIMREADER + +#include "Kyoto/Math/CVector3f.hpp" +#include "Kyoto/Math/CQuaternion.hpp" + +// TODO: wrong module? +#include "MetroidPrime/CCharAnimTime.hpp" + +#include "rstl/string.hpp" + +struct SAdvancementDeltas { + CVector3f x0_posDelta; + CQuaternion xc_rotDelta; + + static SAdvancementDeltas Interpolate(const SAdvancementDeltas& a, const SAdvancementDeltas& b, float oldWeight, + float newWeight); + static SAdvancementDeltas Blend(const SAdvancementDeltas& a, const SAdvancementDeltas& b, float w); +}; + +struct SAdvancementResults { + CCharAnimTime x0_remTime; + SAdvancementDeltas x8_deltas; +}; + + +class CSteadyStateAnimInfo { + CCharAnimTime x0_duration; + CVector3f x8_offset; + bool x14_looping; + +public: + CSteadyStateAnimInfo(bool looping, const CCharAnimTime& duration, const CVector3f& offset) + : x0_duration(duration), x8_offset(offset), x14_looping(looping) {} + + const CCharAnimTime& GetDuration() const { return x0_duration; } + const CVector3f& GetOffset() const { return x8_offset; } + bool IsLooping() const { return x14_looping; } +}; + +struct CAnimTreeEffectiveContribution { + float x0_contributionWeight; + rstl::string x4_name; + CSteadyStateAnimInfo x14_ssInfo; + CCharAnimTime x2c_remTime; + u32 x34_dbIdx; + +public: + CAnimTreeEffectiveContribution(float cweight, const rstl::string& name, const CSteadyStateAnimInfo& ssInfo, + const CCharAnimTime& remTime, u32 dbIdx) + : x0_contributionWeight(cweight), x4_name(name), x14_ssInfo(ssInfo), x2c_remTime(remTime), x34_dbIdx(dbIdx) {} + float GetContributionWeight() const { return x0_contributionWeight; } + const rstl::string& GetPrimitiveName() const { return x4_name; } + const CSteadyStateAnimInfo& GetSteadyStateAnimInfo() const { return x14_ssInfo; } + const CCharAnimTime& GetTimeRemaining() const { return x2c_remTime; } + u32 GetAnimDatabaseIndex() const { return x34_dbIdx; } +}; + +class CSegId; +class CSegIdList; +class CBoolPOINode; +class CInt32POINode; +class CParticlePOINode; +class CSoundPOINode; +class CSegStatementSet; + +class IAnimReader { +public: + virtual ~IAnimReader(); + virtual bool IsCAnimTreeNode() const { return false; } + virtual SAdvancementResults VAdvanceView(const CCharAnimTime& a) = 0; + virtual CCharAnimTime VGetTimeRemaining() const = 0; + virtual CSteadyStateAnimInfo VGetSteadyStateAnimInfo() const = 0; + virtual bool VHasOffset(const CSegId& seg) const = 0; + virtual CVector3f VGetOffset(const CSegId& seg) const = 0; + virtual CQuaternion VGetRotation(const CSegId& seg) const = 0; + virtual size_t VGetBoolPOIList(const CCharAnimTime& time, CBoolPOINode* listOut, size_t capacity, size_t iterator, + u32) const = 0; + virtual size_t VGetInt32POIList(const CCharAnimTime& time, CInt32POINode* listOut, size_t capacity, size_t iterator, + u32) const = 0; + virtual size_t VGetParticlePOIList(const CCharAnimTime& time, CParticlePOINode* listOut, size_t capacity, + size_t iterator, u32) const = 0; + virtual size_t VGetSoundPOIList(const CCharAnimTime& time, CSoundPOINode* listOut, size_t capacity, size_t iterator, + u32) const = 0; + virtual bool VGetBoolPOIState(const rstl::string& name) const = 0; + virtual s32 VGetInt32POIState(const rstl::string& name) const = 0; + // virtual CParticleData::EParentedMode VGetParticlePOIState(const rstl::string& name) const = 0; + virtual void VGetSegStatementSet(const CSegIdList& list, CSegStatementSet& setOut) const = 0; + virtual void VGetSegStatementSet(const CSegIdList& list, CSegStatementSet& setOut, + const CCharAnimTime& time) const = 0; + // virtual std::unique_ptr VClone() const = 0; +}; + + +#endif // _IANIMREADER diff --git a/include/MetroidPrime/BodyState/CABSFlinch.hpp b/include/MetroidPrime/BodyState/CABSFlinch.hpp new file mode 100644 index 00000000..a42f363e --- /dev/null +++ b/include/MetroidPrime/BodyState/CABSFlinch.hpp @@ -0,0 +1,19 @@ +#ifndef _CABSFLINCH +#define _CABSFLINCH + +#include "MetroidPrime/BodyState/CAdditiveBodyState.hpp" + +class CABSFlinch : public CAdditiveBodyState { + float x4_weight; + uint x8_anim; + pas::EAnimationState GetBodyStateTransition(float dt, CBodyController& bc) const; + +public: + CABSFlinch(); + void Start(CBodyController& bc, CStateManager& mgr) override; + pas::EAnimationState UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) override; + void Shutdown(CBodyController& bc) override; + ~CABSFlinch(); +}; + +#endif // _CABSFLINCH diff --git a/include/MetroidPrime/BodyState/CAdditiveBodyState.hpp b/include/MetroidPrime/BodyState/CAdditiveBodyState.hpp index 1c8cf081..dca8643f 100644 --- a/include/MetroidPrime/BodyState/CAdditiveBodyState.hpp +++ b/include/MetroidPrime/BodyState/CAdditiveBodyState.hpp @@ -9,8 +9,8 @@ class CStateManager; class CAdditiveBodyState { public: virtual ~CAdditiveBodyState() {}; - virtual bool ApplyHeadTracking() const { return true; } - virtual bool CanShoot() const { return true; } + 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; diff --git a/include/MetroidPrime/BodyState/CBodyController.hpp b/include/MetroidPrime/BodyState/CBodyController.hpp index 11c8f453..57cf7623 100644 --- a/include/MetroidPrime/BodyState/CBodyController.hpp +++ b/include/MetroidPrime/BodyState/CBodyController.hpp @@ -4,12 +4,16 @@ #include "MetroidPrime/BodyState/CBodyStateCmdMgr.hpp" class CActor; +class CPASDatabase; class CBodyController { CActor& x0_actor; CBodyStateCmdMgr x4_cmdMgr; public: + const CPASDatabase& GetPASDatabase() const; + + CActor& GetOwner() const { return x0_actor; } CBodyStateCmdMgr& CommandMgr() { return x4_cmdMgr; } }; diff --git a/include/MetroidPrime/BodyState/CBodyStateCmdMgr.hpp b/include/MetroidPrime/BodyState/CBodyStateCmdMgr.hpp index 3587493b..6b5dc1b2 100644 --- a/include/MetroidPrime/BodyState/CBodyStateCmdMgr.hpp +++ b/include/MetroidPrime/BodyState/CBodyStateCmdMgr.hpp @@ -33,7 +33,21 @@ enum EBodyStateCmd { kBSC_StopReaction }; -class CBodyStateCmd; +class CBodyStateCmd { + EBodyStateCmd x4_cmd; + +public: + virtual ~CBodyStateCmd() {}; + explicit CBodyStateCmd(EBodyStateCmd cmd) : x4_cmd(cmd) {} + EBodyStateCmd GetCommandId() const { return x4_cmd; } +}; + +class CBCAdditiveFlinchCmd : public CBodyStateCmd { + float x8_weight; + +public: + float GetWeight() const { return x8_weight; } +}; class CBodyStateCmdMgr { public: diff --git a/include/MetroidPrime/CAnimData.hpp b/include/MetroidPrime/CAnimData.hpp index a71dda0e..a87c250e 100644 --- a/include/MetroidPrime/CAnimData.hpp +++ b/include/MetroidPrime/CAnimData.hpp @@ -107,10 +107,10 @@ public: // InitializeEffects__9CAnimDataFR13CStateManagerRC9CVector3f // SetPhase__9CAnimDataFf -> SetPhase__11IAnimReaderFf void SetPhase(float ph); - // AddAdditiveAnimation__9CAnimDataFUifbb + void AddAdditiveAnimation(uint idx, float weight, bool active, bool fadeOut); // DelAdditiveAnimation__9CAnimDataFUi // IsAdditiveAnimationActive__9CAnimDataCFUi - // GetAdditiveAnimationTree__9CAnimDataCFUi + const rstl::rc_ptr& GetAdditiveAnimationTree(uint idx) const; // GetAnimationTree__9CAnimDataCFv // AnimationTree__9CAnimDataFv // IsAdditiveAnimation__9CAnimDataCFUi diff --git a/include/MetroidPrime/CCharAnimTime.hpp b/include/MetroidPrime/CCharAnimTime.hpp index ce1c8df8..bad42510 100644 --- a/include/MetroidPrime/CCharAnimTime.hpp +++ b/include/MetroidPrime/CCharAnimTime.hpp @@ -12,6 +12,9 @@ public: kT_ZeroDecreasing, kT_Infinity, }; + float GetSeconds() const { return x0_time; } + + CCharAnimTime(const CCharAnimTime& other) : x0_time(other.x0_time), x4_type(other.x4_type) {} private: float x0_time; diff --git a/src/MetroidPrime/BodyState/CABSFlinch.cpp b/src/MetroidPrime/BodyState/CABSFlinch.cpp new file mode 100644 index 00000000..7fea5279 --- /dev/null +++ b/src/MetroidPrime/BodyState/CABSFlinch.cpp @@ -0,0 +1,53 @@ +#include "MetroidPrime/BodyState/CABSFlinch.hpp" + +#include "MetroidPrime/BodyState/CBodyController.hpp" +#include "MetroidPrime/CActor.hpp" +#include "MetroidPrime/CAnimData.hpp" +#include "MetroidPrime/CModelData.hpp" + +#include "Kyoto/Animation/CAnimTreeNode.hpp" +#include "Kyoto/Animation/CPASAnimParmData.hpp" +#include "Kyoto/Math/CloseEnough.hpp" + +#include "math.h" + +CABSFlinch::CABSFlinch() : x4_weight(1.f), x8_anim(0) {} + +void CABSFlinch::Start(CBodyController& bc, CStateManager& mgr) { + const CBCAdditiveFlinchCmd* cmd = + static_cast< const CBCAdditiveFlinchCmd* >(bc.CommandMgr().GetCmd(kBSC_AdditiveFlinch)); + x4_weight = cmd->GetWeight(); + + const CPASDatabase& pasDB = bc.GetPASDatabase(); + + CPASAnimParmData parms(pas::kAS_AdditiveFlinch); + rstl::pair< float, int > best = pasDB.FindBestAnimation(parms, *mgr.GetActiveRandom(), -1); + x8_anim = best.second; + + CAnimData& animData = *bc.GetOwner().ModelData()->AnimationData(); + animData.AddAdditiveAnimation(x8_anim, x4_weight, false, true); +} + +pas::EAnimationState CABSFlinch::UpdateBody(float dt, CBodyController& bc, CStateManager& mgr) { + pas::EAnimationState st = GetBodyStateTransition(dt, bc); + if (st == pas::kAS_Invalid) { + const CAnimData& animData = *bc.GetOwner().GetModelData()->GetAnimationData(); + CCharAnimTime rem = animData.GetAdditiveAnimationTree(x8_anim)->VGetTimeRemaining(); + if (close_enough(rem.GetSeconds(), 0.0f)) { + st = pas::kAS_AdditiveIdle; + } + } + return st; +} + +void CABSFlinch::Shutdown(CBodyController& bc) override {} + +pas::EAnimationState CABSFlinch::GetBodyStateTransition(float dt, CBodyController& bc) const { + CBodyStateCmdMgr& commandMgr = bc.CommandMgr(); + if (commandMgr.GetCmd(kBSC_AdditiveReaction)) + return pas::kAS_AdditiveReaction; + + return pas::kAS_Invalid; +} + +CABSFlinch::~CABSFlinch() {}