diff --git a/src/openrct2/entity/Particle.cpp b/src/openrct2/entity/Particle.cpp index 87be21a967..827859e5a0 100644 --- a/src/openrct2/entity/Particle.cpp +++ b/src/openrct2/entity/Particle.cpp @@ -10,6 +10,7 @@ #include "../audio/audio.h" #include "../core/DataSerialiser.h" +#include "../paint/Paint.h" #include "../paint/sprite/Paint.Sprite.h" #include "../scenario/Scenario.h" #include "EntityRegistry.h" @@ -321,6 +322,9 @@ void ExplosionFlare::Serialise(DataSerialiser& stream) stream << frame; } -void ExplosionFlare::Paint() const +void ExplosionFlare::Paint(paint_session* session, int32_t imageDirection) const { + // TODO: Create constant in sprites.h + uint32_t imageId = 22896 + (frame / 256); + PaintAddImageAsParent(session, imageId, { 0, 0, z }, { 1, 1, 0 }); } diff --git a/src/openrct2/entity/Particle.h b/src/openrct2/entity/Particle.h index 390ff6ecb8..710280039a 100644 --- a/src/openrct2/entity/Particle.h +++ b/src/openrct2/entity/Particle.h @@ -14,6 +14,7 @@ class DataSerialiser; struct CoordsXYZ; +struct paint_session; struct VehicleCrashParticle : EntityBase { @@ -51,7 +52,7 @@ struct ExplosionFlare : EntityBase static void Create(const CoordsXYZ& flarePos); void Update(); void Serialise(DataSerialiser& stream); - void Paint() const; + void Paint(paint_session* session, int32_t imageDirection) const; }; struct ExplosionCloud : EntityBase diff --git a/src/openrct2/paint/sprite/Paint.Misc.cpp b/src/openrct2/paint/sprite/Paint.Misc.cpp index 10caf5580b..1b135a59b6 100644 --- a/src/openrct2/paint/sprite/Paint.Misc.cpp +++ b/src/openrct2/paint/sprite/Paint.Misc.cpp @@ -81,12 +81,3 @@ template<> void PaintEntity(paint_session* session, const CrashSplashParticle* c uint32_t imageId = 22927 + (crashSplash->frame / 256); PaintAddImageAsParent(session, imageId, { 0, 0, crashSplash->z }, { 1, 1, 0 }); } - -template<> void PaintEntity(paint_session* session, const ExplosionFlare* flare, int32_t imageDirection) -{ - // Like a flare - if (flare == nullptr) - return; - uint32_t imageId = 22896 + (flare->frame / 256); - PaintAddImageAsParent(session, imageId, { 0, 0, flare->z }, { 1, 1, 0 }); -}