From 41e656a4d29bbc497ebb8816762fcc641d4cdfa6 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Fri, 6 Oct 2023 00:07:04 -0400 Subject: [PATCH] Fix particle headers, d_a_am matching --- configure.py | 2 +- include/JSystem/JParticle/JPAEmitter.h | 23 ++++++++++++++++------- include/d/d_particle.h | 2 +- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/configure.py b/configure.py index f1d5f536d..b2d6ef876 100644 --- a/configure.py +++ b/configure.py @@ -1325,7 +1325,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_wbird"), ActorRel(NonMatching, "d_a_ykgr"), ActorRel(Matching, "d_a_alldie"), - ActorRel(NonMatching, "d_a_am"), + ActorRel(Matching, "d_a_am", extra_cflags=["-sym off"]), ActorRel(NonMatching, "d_a_am2"), ActorRel(NonMatching, "d_a_amiprop"), ActorRel(NonMatching, "d_a_arrow_iceeff"), diff --git a/include/JSystem/JParticle/JPAEmitter.h b/include/JSystem/JParticle/JPAEmitter.h index cc50bc6d7..366b9aba1 100644 --- a/include/JSystem/JParticle/JPAEmitter.h +++ b/include/JSystem/JParticle/JPAEmitter.h @@ -30,10 +30,10 @@ public: JPACallBackBase() {} virtual ~JPACallBackBase() {} - virtual void init(T) {} - virtual void execute(T) {} - virtual void executeAfter(T) {} - virtual void draw(T) {} + inline virtual void init(T); + inline virtual void execute(T); + inline virtual void executeAfter(T); + inline virtual void draw(T); }; template @@ -42,9 +42,9 @@ public: JPACallBackBase2() {} virtual ~JPACallBackBase2() {} - virtual void init(T, U) {} - virtual void execute(T, U) {} - virtual void draw(T, U) {} + inline virtual void init(T, U); + inline virtual void execute(T, U); + inline virtual void draw(T, U); }; class JPABaseEmitter { @@ -166,4 +166,13 @@ public: /* 0x216 */ u8 field_0x216[0x218 - 0x216]; }; +void JPACallBackBase::init(JPABaseEmitter*) {} +void JPACallBackBase::execute(JPABaseEmitter*) {} +void JPACallBackBase::executeAfter(JPABaseEmitter*) {} +void JPACallBackBase::draw(JPABaseEmitter*) {} + +void JPACallBackBase2::init(JPABaseEmitter*, JPABaseParticle*) {} +void JPACallBackBase2::execute(JPABaseEmitter*, JPABaseParticle*) {} +void JPACallBackBase2::draw(JPABaseEmitter*, JPABaseParticle*) {} + #endif /* JPAEMITTER_H */ diff --git a/include/d/d_particle.h b/include/d/d_particle.h index b7545af79..8fb51a661 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -34,7 +34,7 @@ public: class dPa_levelEcallBack : public JPACallBackBase { public: virtual ~dPa_levelEcallBack() {} - virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8) {} + virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8) = 0; }; class dPa_followEcallBack : public dPa_levelEcallBack {