From 6e78d8d654fbc2fb12248b8a98aaff9b13fb5678 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sat, 6 Jun 2020 10:37:43 +0100 Subject: [PATCH] Remove AsBalloon --- src/openrct2-ui/interface/ViewportInteraction.cpp | 2 +- src/openrct2/actions/BalloonPressAction.hpp | 2 +- src/openrct2/world/Balloon.cpp | 10 ---------- src/openrct2/world/Sprite.cpp | 4 ++-- src/openrct2/world/Sprite.h | 1 - 5 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/openrct2-ui/interface/ViewportInteraction.cpp b/src/openrct2-ui/interface/ViewportInteraction.cpp index fba5c6dea3..d1ccdd1bbb 100644 --- a/src/openrct2-ui/interface/ViewportInteraction.cpp +++ b/src/openrct2-ui/interface/ViewportInteraction.cpp @@ -170,7 +170,7 @@ int32_t viewport_interaction_left_click(const ScreenCoordsXY& screenCoords) { case SPRITE_MISC_BALLOON: { - auto balloonPress = BalloonPressAction(info.sprite->AsBalloon()->sprite_index); + auto balloonPress = BalloonPressAction(info.sprite->generic.sprite_index); GameActions::Execute(&balloonPress); } break; diff --git a/src/openrct2/actions/BalloonPressAction.hpp b/src/openrct2/actions/BalloonPressAction.hpp index 85c997d2ea..840337c9c1 100644 --- a/src/openrct2/actions/BalloonPressAction.hpp +++ b/src/openrct2/actions/BalloonPressAction.hpp @@ -54,7 +54,7 @@ public: return MakeResult(GA_ERROR::INVALID_PARAMETERS, STR_NONE); } - sprite->AsBalloon()->Press(); + sprite->generic.As()->Press(); return MakeResult(); } diff --git a/src/openrct2/world/Balloon.cpp b/src/openrct2/world/Balloon.cpp index 39d2e27a91..c4e708242b 100644 --- a/src/openrct2/world/Balloon.cpp +++ b/src/openrct2/world/Balloon.cpp @@ -19,16 +19,6 @@ template<> bool SpriteBase::Is() const return sprite_identifier == SPRITE_IDENTIFIER_MISC && type == SPRITE_MISC_BALLOON; } -Balloon* rct_sprite::AsBalloon() -{ - Balloon* result = nullptr; - if (generic.Is()) - { - result = reinterpret_cast(this); - } - return result; -} - void Balloon::Update() { invalidate_sprite_2(this); diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index bcae8909b7..11470b04fd 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -882,7 +882,7 @@ uint16_t remove_floating_sprites() rct_sprite* rctSprite = get_sprite(i); if (rctSprite->generic.Is()) { - sprite_remove(rctSprite->AsBalloon()); + sprite_remove(&rctSprite->generic); sprite_misc_update(rctSprite); removed++; } @@ -897,7 +897,7 @@ uint16_t remove_floating_sprites() } else if (rctSprite->generic.Is()) { - sprite_remove(rctSprite->AsMoneyEffect()); + sprite_remove(&rctSprite->generic); sprite_misc_update(rctSprite); removed++; } diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index 49ad75907f..18b448ed43 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -137,7 +137,6 @@ union rct_sprite CrashSplashParticle crash_splash; SteamParticle steam_particle; - Balloon* AsBalloon(); Duck* AsDuck(); MoneyEffect* AsMoneyEffect(); Peep* AsPeep();