mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-18 20:43:04 +01:00
Refactor out unnecessary Is<Guest/Staff> checks
This commit is contained in:
@@ -683,15 +683,12 @@ void viewport_update_smart_sprite_follow(rct_window* window)
|
||||
break;
|
||||
|
||||
case EntityType::Guest:
|
||||
case EntityType::Staff:
|
||||
{
|
||||
Peep* peep = static_cast<Peep*>(entity);
|
||||
if (peep->Is<Guest>())
|
||||
viewport_update_smart_guest_follow(window, peep);
|
||||
else if (peep->Is<Staff>())
|
||||
viewport_update_smart_staff_follow(window, peep);
|
||||
viewport_update_smart_guest_follow(window, entity->As<Guest>());
|
||||
break;
|
||||
|
||||
case EntityType::Staff:
|
||||
viewport_update_smart_staff_follow(window, entity->As<Staff>());
|
||||
break;
|
||||
}
|
||||
|
||||
default: // All other types don't need any "smart" following; steam particle, duck, money effect, etc.
|
||||
window->viewport_focus_sprite.sprite_id = window->viewport_smart_follow_sprite;
|
||||
@@ -700,7 +697,7 @@ void viewport_update_smart_sprite_follow(rct_window* window)
|
||||
}
|
||||
}
|
||||
|
||||
viewport_focus viewport_update_smart_guest_follow(rct_window* window, const Peep* peep)
|
||||
viewport_focus viewport_update_smart_guest_follow(rct_window* window, const Guest* peep)
|
||||
{
|
||||
viewport_focus focus{};
|
||||
focus.type = VIEWPORT_FOCUS_TYPE_SPRITE;
|
||||
@@ -759,7 +756,7 @@ viewport_focus viewport_update_smart_guest_follow(rct_window* window, const Peep
|
||||
return focus;
|
||||
}
|
||||
|
||||
void viewport_update_smart_staff_follow(rct_window* window, const Peep* peep)
|
||||
void viewport_update_smart_staff_follow(rct_window* window, const Staff* peep)
|
||||
{
|
||||
sprite_focus focus = {};
|
||||
|
||||
|
||||
@@ -20,11 +20,12 @@ struct paint_session;
|
||||
struct RecordedPaintSession;
|
||||
struct paint_struct;
|
||||
struct rct_drawpixelinfo;
|
||||
struct Peep;
|
||||
struct TileElement;
|
||||
struct rct_window;
|
||||
union paint_entry;
|
||||
struct EntityBase;
|
||||
struct Guest;
|
||||
struct Staff;
|
||||
union paint_entry;
|
||||
|
||||
enum
|
||||
{
|
||||
@@ -111,8 +112,8 @@ void viewports_invalidate(int32_t left, int32_t top, int32_t right, int32_t bott
|
||||
void viewport_update_position(rct_window* window);
|
||||
void viewport_update_sprite_follow(rct_window* window);
|
||||
void viewport_update_smart_sprite_follow(rct_window* window);
|
||||
viewport_focus viewport_update_smart_guest_follow(rct_window* window, const Peep* peep);
|
||||
void viewport_update_smart_staff_follow(rct_window* window, const Peep* peep);
|
||||
viewport_focus viewport_update_smart_guest_follow(rct_window* window, const Guest* peep);
|
||||
void viewport_update_smart_staff_follow(rct_window* window, const Staff* peep);
|
||||
void viewport_update_smart_vehicle_follow(rct_window* window);
|
||||
void viewport_render(
|
||||
rct_drawpixelinfo* dpi, const rct_viewport* viewport, int32_t left, int32_t top, int32_t right, int32_t bottom,
|
||||
|
||||
@@ -26,8 +26,9 @@ namespace OpenRCT2
|
||||
struct Litter;
|
||||
struct ObjectRepositoryItem;
|
||||
struct RCT12SpriteBase;
|
||||
union rct_sprite;
|
||||
struct EntityBase;
|
||||
struct Peep;
|
||||
union rct_sprite;
|
||||
|
||||
/**
|
||||
* Class to export RollerCoaster Tycoon 2 scenarios (*.SC6) and saved games (*.SV6).
|
||||
|
||||
Reference in New Issue
Block a user