1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-21 05:53:02 +01:00

Refactor access to g_sprite_list

Hide g_sprite_list behind accessor function with a check. `assert` is
temporarily disabled, as it breaks nearly every park.
This commit is contained in:
Michał Janiszewski
2016-07-17 22:14:44 +02:00
parent dd25cdc4f4
commit 9f57c82653
30 changed files with 101 additions and 96 deletions

View File

@@ -162,7 +162,7 @@ void viewport_create(rct_window *w, int x, int y, int width, int height, int zoo
if (flags & VIEWPORT_FOCUS_TYPE_SPRITE){
w->viewport_target_sprite = sprite;
rct_sprite* center_sprite = &g_sprite_list[sprite];
rct_sprite* center_sprite = get_sprite(sprite);
center_x = center_sprite->unknown.x;
center_y = center_sprite->unknown.y;
center_z = center_sprite->unknown.z;
@@ -594,7 +594,7 @@ void viewport_update_position(rct_window *window)
void viewport_update_sprite_follow(rct_window *window)
{
if (window->viewport_target_sprite != -1 && window->viewport){
rct_sprite* sprite = &g_sprite_list[window->viewport_target_sprite];
rct_sprite* sprite = get_sprite(window->viewport_target_sprite);
int height = (map_element_height(0xFFFF & sprite->unknown.x, 0xFFFF & sprite->unknown.y) & 0xFFFF) - 16;
int underground = sprite->unknown.z < height;

View File

@@ -1294,7 +1294,7 @@ void window_scroll_to_viewport(rct_window *w)
return;
if (w->viewport_focus_sprite.type & VIEWPORT_FOCUS_TYPE_SPRITE) {
rct_sprite *sprite = &(g_sprite_list[w->viewport_focus_sprite.sprite_id]);
rct_sprite *sprite = get_sprite(w->viewport_focus_sprite.sprite_id);
x = sprite->unknown.x;
y = sprite->unknown.y;
z = sprite->unknown.z;