From e3eff3cddf028d4e844860c942ddd3e238984c64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Sat, 27 Nov 2021 16:07:53 +0200 Subject: [PATCH] Refactor entity paint setup --- src/openrct2/paint/sprite/Paint.Sprite.cpp | 25 +++++++++++----------- src/openrct2/paint/sprite/Paint.Sprite.h | 4 ---- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/openrct2/paint/sprite/Paint.Sprite.cpp b/src/openrct2/paint/sprite/Paint.Sprite.cpp index 219061b4e0..782d3edbd5 100644 --- a/src/openrct2/paint/sprite/Paint.Sprite.cpp +++ b/src/openrct2/paint/sprite/Paint.Sprite.cpp @@ -22,6 +22,7 @@ #include "../../interface/Viewport.h" #include "../../ride/RideData.h" #include "../../ride/TrackDesign.h" +#include "../../ride/Vehicle.h" #include "../../ride/VehiclePaint.h" #include "../../world/Climate.h" #include "../../world/MapAnimation.h" @@ -112,7 +113,7 @@ void sprite_paint_setup(paint_session* session, const CoordsXY& pos) switch (spr->Type) { case EntityType::Vehicle: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); #ifdef __ENABLE_LIGHTFX__ if (lightfx_for_vehicles_is_available()) { @@ -122,37 +123,37 @@ void sprite_paint_setup(paint_session* session, const CoordsXY& pos) break; case EntityType::Guest: case EntityType::Staff: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::SteamParticle: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::MoneyEffect: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::CrashedVehicleParticle: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::ExplosionCloud: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::CrashSplash: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::ExplosionFlare: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::JumpingFountain: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::Balloon: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::Duck: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; case EntityType::Litter: - PaintEntity(session, spr->As(), image_direction); + spr->As()->Paint(session, image_direction); break; default: assert(false); diff --git a/src/openrct2/paint/sprite/Paint.Sprite.h b/src/openrct2/paint/sprite/Paint.Sprite.h index 68a1d4e8e5..358b4ef53d 100644 --- a/src/openrct2/paint/sprite/Paint.Sprite.h +++ b/src/openrct2/paint/sprite/Paint.Sprite.h @@ -15,7 +15,3 @@ struct paint_session; struct CoordsXY; void sprite_paint_setup(paint_session* session, const CoordsXY& pos); - -template void PaintEntity(paint_session* session, const T* entity, int32_t imageDirection); - -extern const uint32_t vehicle_particle_base_sprites[5];