From a1b52467ea6ce8f8bd3721698acb2488631c7a79 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Tue, 18 Oct 2022 21:47:26 -0400 Subject: [PATCH] Link CEffect --- asm/MetroidPrime/CEffect.s | 36 -------------------------------- asm/MetroidPrime/CExplosion.s | 36 ++++++++++++++++++++++++++++++++ configure.py | 2 +- include/MetroidPrime/CEffect.hpp | 6 +++--- obj_files.mk | 2 +- src/MetroidPrime/CEffect.cpp | 6 +++--- 6 files changed, 44 insertions(+), 44 deletions(-) diff --git a/asm/MetroidPrime/CEffect.s b/asm/MetroidPrime/CEffect.s index 1b52b4b5..66305aa9 100644 --- a/asm/MetroidPrime/CEffect.s +++ b/asm/MetroidPrime/CEffect.s @@ -47,42 +47,6 @@ lbl_805A6E78: .section .text, "ax" -.global __dt__12CParticleGenFv -__dt__12CParticleGenFv: -/* 8005ACD0 00057C30 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8005ACD4 00057C34 7C 08 02 A6 */ mflr r0 -/* 8005ACD8 00057C38 90 01 00 24 */ stw r0, 0x24(r1) -/* 8005ACDC 00057C3C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8005ACE0 00057C40 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8005ACE4 00057C44 7C 9E 23 78 */ mr r30, r4 -/* 8005ACE8 00057C48 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8005ACEC 00057C4C 7C 7D 1B 79 */ or. r29, r3, r3 -/* 8005ACF0 00057C50 41 82 00 38 */ beq lbl_8005AD28 -/* 8005ACF4 00057C54 83 FD 00 04 */ lwz r31, 4(r29) -/* 8005ACF8 00057C58 48 00 00 14 */ b lbl_8005AD0C -lbl_8005ACFC: -/* 8005ACFC 00057C5C 7F E3 FB 79 */ or. r3, r31, r31 -/* 8005AD00 00057C60 83 FF 00 04 */ lwz r31, 4(r31) -/* 8005AD04 00057C64 41 82 00 08 */ beq lbl_8005AD0C -/* 8005AD08 00057C68 48 2B AC 29 */ bl Free__7CMemoryFPCv -lbl_8005AD0C: -/* 8005AD0C 00057C6C 80 1D 00 08 */ lwz r0, 8(r29) -/* 8005AD10 00057C70 7C 1F 00 40 */ cmplw r31, r0 -/* 8005AD14 00057C74 40 82 FF E8 */ bne lbl_8005ACFC -/* 8005AD18 00057C78 7F C0 07 35 */ extsh. r0, r30 -/* 8005AD1C 00057C7C 40 81 00 0C */ ble lbl_8005AD28 -/* 8005AD20 00057C80 7F A3 EB 78 */ mr r3, r29 -/* 8005AD24 00057C84 48 2B AC 0D */ bl Free__7CMemoryFPCv -lbl_8005AD28: -/* 8005AD28 00057C88 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8005AD2C 00057C8C 7F A3 EB 78 */ mr r3, r29 -/* 8005AD30 00057C90 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8005AD34 00057C94 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8005AD38 00057C98 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8005AD3C 00057C9C 7C 08 03 A6 */ mtlr r0 -/* 8005AD40 00057CA0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8005AD44 00057CA4 4E 80 00 20 */ blr - .global AddToRenderer__7CEffectCFRC14CFrustumPlanesRC13CStateManager AddToRenderer__7CEffectCFRC14CFrustumPlanesRC13CStateManager: /* 8005AD48 00057CA8 4E 80 00 20 */ blr diff --git a/asm/MetroidPrime/CExplosion.s b/asm/MetroidPrime/CExplosion.s index e9df51a3..e257e8e5 100644 --- a/asm/MetroidPrime/CExplosion.s +++ b/asm/MetroidPrime/CExplosion.s @@ -873,6 +873,42 @@ lbl_8005AC20: /* 8005ACC8 00057C28 38 21 00 80 */ addi r1, r1, 0x80 /* 8005ACCC 00057C2C 4E 80 00 20 */ blr +.global __dt__12CParticleGenFv +__dt__12CParticleGenFv: +/* 8005ACD0 00057C30 94 21 FF E0 */ stwu r1, -0x20(r1) +/* 8005ACD4 00057C34 7C 08 02 A6 */ mflr r0 +/* 8005ACD8 00057C38 90 01 00 24 */ stw r0, 0x24(r1) +/* 8005ACDC 00057C3C 93 E1 00 1C */ stw r31, 0x1c(r1) +/* 8005ACE0 00057C40 93 C1 00 18 */ stw r30, 0x18(r1) +/* 8005ACE4 00057C44 7C 9E 23 78 */ mr r30, r4 +/* 8005ACE8 00057C48 93 A1 00 14 */ stw r29, 0x14(r1) +/* 8005ACEC 00057C4C 7C 7D 1B 79 */ or. r29, r3, r3 +/* 8005ACF0 00057C50 41 82 00 38 */ beq lbl_8005AD28 +/* 8005ACF4 00057C54 83 FD 00 04 */ lwz r31, 4(r29) +/* 8005ACF8 00057C58 48 00 00 14 */ b lbl_8005AD0C +lbl_8005ACFC: +/* 8005ACFC 00057C5C 7F E3 FB 79 */ or. r3, r31, r31 +/* 8005AD00 00057C60 83 FF 00 04 */ lwz r31, 4(r31) +/* 8005AD04 00057C64 41 82 00 08 */ beq lbl_8005AD0C +/* 8005AD08 00057C68 48 2B AC 29 */ bl Free__7CMemoryFPCv +lbl_8005AD0C: +/* 8005AD0C 00057C6C 80 1D 00 08 */ lwz r0, 8(r29) +/* 8005AD10 00057C70 7C 1F 00 40 */ cmplw r31, r0 +/* 8005AD14 00057C74 40 82 FF E8 */ bne lbl_8005ACFC +/* 8005AD18 00057C78 7F C0 07 35 */ extsh. r0, r30 +/* 8005AD1C 00057C7C 40 81 00 0C */ ble lbl_8005AD28 +/* 8005AD20 00057C80 7F A3 EB 78 */ mr r3, r29 +/* 8005AD24 00057C84 48 2B AC 0D */ bl Free__7CMemoryFPCv +lbl_8005AD28: +/* 8005AD28 00057C88 80 01 00 24 */ lwz r0, 0x24(r1) +/* 8005AD2C 00057C8C 7F A3 EB 78 */ mr r3, r29 +/* 8005AD30 00057C90 83 E1 00 1C */ lwz r31, 0x1c(r1) +/* 8005AD34 00057C94 83 C1 00 18 */ lwz r30, 0x18(r1) +/* 8005AD38 00057C98 83 A1 00 14 */ lwz r29, 0x14(r1) +/* 8005AD3C 00057C9C 7C 08 03 A6 */ mtlr r0 +/* 8005AD40 00057CA0 38 21 00 20 */ addi r1, r1, 0x20 +/* 8005AD44 00057CA4 4E 80 00 20 */ blr + .section .rodata .balign 8 .global lbl_803CCF78 diff --git a/configure.py b/configure.py index c5977292..2381911d 100755 --- a/configure.py +++ b/configure.py @@ -75,7 +75,7 @@ LIBS = [ "MetroidPrime/Clamp_int", ["MetroidPrime/CArchMsgParmControllerStatus", True], "MetroidPrime/CExplosion", - "MetroidPrime/CEffect", + ["MetroidPrime/CEffect", True], "MetroidPrime/Cameras/CGameCamera", "MetroidPrime/CGameArea", "MetroidPrime/HUD/CSamusHud", diff --git a/include/MetroidPrime/CEffect.hpp b/include/MetroidPrime/CEffect.hpp index eaec2278..225f1610 100644 --- a/include/MetroidPrime/CEffect.hpp +++ b/include/MetroidPrime/CEffect.hpp @@ -11,11 +11,11 @@ public: const CTransform4f& xf); // CEntity - ~CEffect() {} + ~CEffect() override {} // CActor - virtual void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const; - virtual void Render(const CStateManager&) const; + void AddToRenderer(const CFrustumPlanes&, const CStateManager&) const override; + void Render(const CStateManager&) const override; }; CHECK_SIZEOF(CEffect, 0xe8) diff --git a/obj_files.mk b/obj_files.mk index fc852406..62759ce1 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -42,7 +42,7 @@ METROIDPRIME :=\ $(BUILD_DIR)/asm/MetroidPrime/Clamp_int.o\ $(BUILD_DIR)/src/MetroidPrime/CArchMsgParmControllerStatus.o\ $(BUILD_DIR)/asm/MetroidPrime/CExplosion.o\ - $(BUILD_DIR)/asm/MetroidPrime/CEffect.o\ + $(BUILD_DIR)/src/MetroidPrime/CEffect.o\ $(BUILD_DIR)/asm/MetroidPrime/Cameras/CGameCamera.o\ $(BUILD_DIR)/asm/MetroidPrime/CGameArea.o\ $(BUILD_DIR)/asm/MetroidPrime/HUD/CSamusHud.o\ diff --git a/src/MetroidPrime/CEffect.cpp b/src/MetroidPrime/CEffect.cpp index e7ade404..c34f7593 100644 --- a/src/MetroidPrime/CEffect.cpp +++ b/src/MetroidPrime/CEffect.cpp @@ -3,10 +3,10 @@ #include "MetroidPrime/CActorParameters.hpp" CEffect::CEffect(TUniqueId uid, const CEntityInfo& info, bool active, const rstl::string& name, - const CTransform4f& xf) + const CTransform4f& xf) : CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(kMT_NoStepLogic), CActorParameters::None(), kInvalidUniqueId) {} -void CEffect::AddToRenderer(const CFrustumPlanes&, const CStateManager&) const {} - void CEffect::Render(const CStateManager&) const {} + +void CEffect::AddToRenderer(const CFrustumPlanes&, const CStateManager&) const {}