mirror of https://github.com/OpenRCT2/OpenRCT2.git
Refactor direct access to window list
This commit is contained in:
parent
6493427011
commit
6251577305
|
@ -220,7 +220,7 @@ void X8DrawingEngine::EndDraw()
|
|||
|
||||
void X8DrawingEngine::PaintWindows()
|
||||
{
|
||||
ResetWindowVisbilities();
|
||||
window_reset_visibilities();
|
||||
|
||||
// Redraw dirty regions before updating the viewports, otherwise
|
||||
// when viewports get panned, they copy dirty pixels
|
||||
|
@ -383,16 +383,6 @@ void X8DrawingEngine::ConfigureDirtyGrid()
|
|||
_dirtyGrid.Blocks = new uint8[_dirtyGrid.BlockColumns * _dirtyGrid.BlockRows];
|
||||
}
|
||||
|
||||
void X8DrawingEngine::ResetWindowVisbilities()
|
||||
{
|
||||
// reset window visibility status to unknown
|
||||
for (rct_window *w = g_window_list; w < gWindowNextSlot; w++)
|
||||
{
|
||||
w->visibility = VC_UNKNOWN;
|
||||
if (w->viewport != nullptr) w->viewport->visibility = VC_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
void X8DrawingEngine::DrawAllDirtyBlocks()
|
||||
{
|
||||
uint32 dirtyBlockColumns = _dirtyGrid.BlockColumns;
|
||||
|
|
|
@ -79,10 +79,8 @@ void viewport_init_all()
|
|||
{
|
||||
colours_init_maps();
|
||||
}
|
||||
if (gWindowNextSlot != NULL) {
|
||||
window_close_all();
|
||||
}
|
||||
gWindowNextSlot = g_window_list;
|
||||
|
||||
window_init_all();
|
||||
|
||||
// Setting up viewports
|
||||
for (sint32 i = 0; i < MAX_VIEWPORT_COUNT; i++) {
|
||||
|
|
|
@ -2657,3 +2657,26 @@ rct_viewport * window_get_previous_viewport(rct_viewport * current)
|
|||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void window_reset_visibilities()
|
||||
{
|
||||
// reset window visibility status to unknown
|
||||
for (rct_window * w = g_window_list; w < gWindowNextSlot; w++)
|
||||
{
|
||||
w->visibility = VC_UNKNOWN;
|
||||
if (w->viewport != NULL)
|
||||
{
|
||||
w->viewport->visibility = VC_UNKNOWN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void window_init_all()
|
||||
{
|
||||
if (gWindowNextSlot != NULL)
|
||||
{
|
||||
window_close_all();
|
||||
}
|
||||
|
||||
gWindowNextSlot = g_window_list;
|
||||
}
|
||||
|
|
|
@ -775,6 +775,8 @@ bool window_is_visible(rct_window* w);
|
|||
bool scenery_tool_is_active();
|
||||
|
||||
rct_viewport * window_get_previous_viewport(rct_viewport * current);
|
||||
void window_reset_visibilities();
|
||||
void window_init_all();
|
||||
|
||||
//Cheat: in-game land ownership editor
|
||||
void toggle_ingame_land_ownership_editor();
|
||||
|
|
Loading…
Reference in New Issue