diff --git a/projects/openrct2.vcxproj.user b/projects/openrct2.vcxproj.user
index 1846f60e7b..42ca88b12a 100644
--- a/projects/openrct2.vcxproj.user
+++ b/projects/openrct2.vcxproj.user
@@ -4,7 +4,7 @@
$(TargetDir)
WindowsLocalDebugger
$(TargetDir)\openrct2.exe
- screenshot "C:\Program Files (x86)\Infogrames\RollerCoaster Tycoon 2\Scenarios\Six Flags Magic Mountain.SC6" "test.png" 1920 1080
+ screenshot "C:\GOG Games\RollerCoaster Tycoon 2 Triple Thrill Pack\Scenarios\Six Flags Magic Mountain.SC6" "test.png" 16000 8000 c c 0 0
false
diff --git a/src/editor.c b/src/editor.c
index b51cd723f2..ada8445aa8 100644
--- a/src/editor.c
+++ b/src/editor.c
@@ -598,7 +598,7 @@ static void editor_finalise_main_view()
w->saved_view_y -= viewport->view_height >> 1;
window_invalidate(w);
- sub_69E9A7();
+ reset_all_sprite_quadrant_placements();
scenery_set_default_placement_configuration();
window_new_ride_init_vars();
RCT2_GLOBAL(0x009DEB7C, uint16) = 0;
diff --git a/src/game.c b/src/game.c
index aa7834491e..7923bcff6d 100644
--- a/src/game.c
+++ b/src/game.c
@@ -705,7 +705,7 @@ int game_load_save(const char *path)
mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1;
window_invalidate(mainWindow);
- sub_69E9A7();
+ reset_all_sprite_quadrant_placements();
scenery_set_default_placement_configuration();
window_new_ride_init_vars();
RCT2_GLOBAL(0x009DEB7C, uint16) = 0;
@@ -722,8 +722,9 @@ int game_load_save(const char *path)
/*
*
* rct2: 0x0069E9A7
+ * Call after a rotation or loading of a save to reset sprite quadrants
*/
-void sub_69E9A7()
+void reset_all_sprite_quadrant_placements()
{
for (rct_sprite* spr = g_sprite_list; spr < (rct_sprite*)RCT2_ADDRESS_SPRITES_NEXT_INDEX; spr++)
if (spr->unknown.sprite_identifier != 0xFF)
diff --git a/src/game.h b/src/game.h
index 2b2e4cf914..9a07a8dcc1 100644
--- a/src/game.h
+++ b/src/game.h
@@ -97,7 +97,7 @@ void game_reduce_game_speed();
void game_create_windows();
void game_update();
void game_logic_update();
-void sub_69E9A7();
+void reset_all_sprite_quadrant_placements();
void update_palette_effects();
int game_do_command(int eax, int ebx, int ecx, int edx, int esi, int edi, int ebp);
diff --git a/src/interface/screenshot.c b/src/interface/screenshot.c
index 7b915c0348..8ac45e77c5 100644
--- a/src/interface/screenshot.c
+++ b/src/interface/screenshot.c
@@ -396,6 +396,8 @@ int cmdline_for_screenshot(const char **argv, int argc)
viewport.zoom = customZoom;
RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint8) = customRotation;
+
+ reset_all_sprite_quadrant_placements();
} else {
viewport.view_x = RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_X, sint16) - (viewport.view_width / 2);
viewport.view_y = RCT2_GLOBAL(RCT2_ADDRESS_SAVED_VIEW_Y, sint16) - (viewport.view_height / 2);
diff --git a/src/interface/window.c b/src/interface/window.c
index 03fac892cb..0c79b4257a 100644
--- a/src/interface/window.c
+++ b/src/interface/window.c
@@ -1220,7 +1220,7 @@ void window_rotate_camera(rct_window *w)
window_invalidate(w);
sub_688956();
- sub_69E9A7();
+ reset_all_sprite_quadrant_placements();
}
/**
diff --git a/src/scenario.c b/src/scenario.c
index 69c7742e6d..4fdae3f241 100644
--- a/src/scenario.c
+++ b/src/scenario.c
@@ -248,7 +248,7 @@ int scenario_load_and_play_from_path(const char *path)
mainWindow->saved_view_y -= mainWindow->viewport->view_height >> 1;
window_invalidate(mainWindow);
- sub_69E9A7();
+ reset_all_sprite_quadrant_placements();
window_new_ride_init_vars();
// Set the scenario pseduo-random seeds
diff --git a/src/title.c b/src/title.c
index a747336f5c..411ff5c612 100644
--- a/src/title.c
+++ b/src/title.c
@@ -203,7 +203,7 @@ static void title_update_showcase()
}
window_invalidate(w);
- sub_69E9A7();
+ reset_all_sprite_quadrant_placements();
window_new_ride_init_vars();
sub_684AC3();
scenery_set_default_placement_configuration();