mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-06 14:25:24 +00:00
(svn r11742) -Codechange [FS#1319]: Run window tick events when paused, so that news pop-ups and the about window still progress. For other windows the events are ignored when paused.
This commit is contained in:
parent
47082fec5c
commit
fa83291a76
@ -1102,6 +1102,8 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
|
||||
}
|
||||
|
||||
case WE_TICK:
|
||||
if (_pause_game != 0) break;
|
||||
|
||||
/* Update the player score every 5 days */
|
||||
if (--w->custom[0] == 0) {
|
||||
w->custom[0] = DAY_TICKS;
|
||||
|
@ -752,6 +752,7 @@ static void GroupWndProc(Window *w, WindowEvent *e)
|
||||
|
||||
|
||||
case WE_TICK: // resort the lists every 20 seconds orso (10 days)
|
||||
if (_pause_game != 0) break;
|
||||
if (--gv->l.resort_timer == 0) {
|
||||
gv->l.resort_timer = DAY_TICKS * PERIODIC_RESORT_DAYS;
|
||||
gv->l.flags |= VL_RESORT;
|
||||
@ -763,7 +764,7 @@ static void GroupWndProc(Window *w, WindowEvent *e)
|
||||
SetWindowDirty(w);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -297,6 +297,7 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
|
||||
} break;
|
||||
|
||||
case WE_TICK:
|
||||
if (_pause_game != 0) break;
|
||||
if (!WP(w, fnd_d).timer_enabled) break;
|
||||
if (--WP(w, fnd_d).callback_timer == 0) {
|
||||
/* We have just passed another day.
|
||||
|
@ -962,7 +962,10 @@ void StateGameLoop()
|
||||
ClearStorageChanges(false);
|
||||
|
||||
/* dont execute the state loop during pause */
|
||||
if (_pause_game) return;
|
||||
if (_pause_game) {
|
||||
CallWindowTickEvent();
|
||||
return;
|
||||
}
|
||||
if (IsGeneratingWorld()) return;
|
||||
|
||||
if (_game_mode == GM_EDITOR) {
|
||||
|
@ -544,6 +544,7 @@ static void PlayerStationsWndProc(Window *w, WindowEvent *e)
|
||||
break;
|
||||
|
||||
case WE_TICK:
|
||||
if (_pause_game != 0) break;
|
||||
if (--sl->resort_timer == 0) {
|
||||
DEBUG(misc, 3, "Periodic rebuild station list player %d", owner);
|
||||
sl->resort_timer = DAY_TICKS * PERIODIC_RESORT_DAYS;
|
||||
|
@ -1157,6 +1157,7 @@ void PlayerVehWndProc(Window *w, WindowEvent *e)
|
||||
break;
|
||||
|
||||
case WE_TICK: /* resort the list every 20 seconds orso (10 days) */
|
||||
if (_pause_game != 0) break;
|
||||
if (--vl->l.resort_timer == 0) {
|
||||
StationID station = ((w->window_number & VLW_MASK) == VLW_STATION_LIST) ? GB(w->window_number, 16, 16) : INVALID_STATION;
|
||||
PlayerID owner = (PlayerID)w->caption_color;
|
||||
|
Loading…
Reference in New Issue
Block a user