summaryrefslogtreecommitdiff
path: root/src/openttd.h
AgeCommit message (Collapse)Author
2021-06-17Fix: thread safety issue during exiting the game (#9380)Patric Stout
_exit_game is read by the draw-thread to know when to exit, but most of the time written by the game-thread.
2021-05-01Fix #6598: Prevent invalid memory accesses when abandoning a join from ↵rubidium42
within a network game One could join a network game from within an already running network game. This would call a NetworkDisconnect, but keeps the UI alive. If, during that process the join is aborted, e.g. by cancelling on a password dialog, you would still be in your network game but also get shown the server list. Solve all the underlying problems by falling back to the main UI when (re)connecting to a(nother) server.
2021-04-12Fix #8874: show a warning when a NewGRF scan is requested multiple times ↵rubidium42
from the console (#9022)
2021-03-10Add: make modal windows update more smoothPatric Stout
Basically, modal windows had their own thread-locking for what drawing was possible. This is a bit nonsense now we have a game-thread. And it makes much more sense to do things like NewGRFScan and GenerateWorld in the game-thread, and not in a thread next to the game-thread. This commit changes that: it removes the threads for NewGRFScan and GenerateWorld, and just runs the code in the game-thread. On regular intervals it allows the draw-thread to do a tick, which gives a much smoother look and feel. It does slow down NewGRFScan and GenerateWorld ever so slightly as it spends more time on drawing. But the slowdown is not measureable on my machines (with 700+ NewGRFs / 4kx4k map and a Debug build). Running without a game-thread means NewGRFScan and GenerateWorld are now blocking.
2021-01-11Change: change console command "restart" and add "reload"Patric Stout
The current "restart" command is now called "reload", as that is what it does. The old "restart" command is now called "restart", as that is what it did. As this has not been in any official release yet, this shouldn't harm any kitten.
2020-12-22Change: [Linkgraph] Pause the game when linkgraph jobs lag (#6470)Jonathan G Rennison
Check if the job is still running two date fract ticks before it is due to join, and if so pause the game until its done. When loading a game, check if the game would block immediately due to a job which is scheduled to be joined within two date fract ticks, and if so pause the game until its done. This avoids the main thread being blocked on a thread join, which appears to the user as if the game is unresponsive, as the UI does not repaint and cannot be interacted with. Show if pause is due to link graph job in status bar, update network messages. This does not apply for network clients.
2020-12-13Add: save openttd.cfg immediately on changing a setting (#8358)Patric Stout
Formally it was only done on exit. This means that if it crashes changes in settings were not stored. This is often rather frustrating. Additionally, targets (like emscripten) where people are unlike to use "Exit Game", will never see their configuration stored. The drawback is that on every setting change there is some minor I/O of writing the ini file to disk again.
2020-09-24Feature: Improve restart commandBerbe
When the restart command is issued, a normal map is always spawned. This improvement takes into account the current state of _file_to_saveload to check if a savegame/scenario/heightmap was previously loaded, and loads the same resource again.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-04-29Codechange: Remove PauseModeByteCharles Pigott
2013-06-28(svn r25506) -Document: a function, and name it slightly betterrubidium
2011-12-19(svn r23618) -Add: ScriptGame::Pause, ScriptGame::Unpause, and ↵truebrain
ScriptGame::GetLandscape (GameScript only)
2011-12-10(svn r23470) -Codechange: move declaration of SwitchToMode to a header ↵rubidium
instead of declaring it in 6 other files
2011-11-17(svn r23244) -Feature: if the installation is ananas, try to get the b ↵rubidium
without b installed
2011-08-01(svn r22708) -Feature [FS#4701]: Display option to hide competitors' signs ↵planetmaker
and station names (Zuu)
2011-05-28(svn r22512) -Add: Save heightmap.alberth
2011-05-28(svn r22507) -Doc: Document SwitchMode.alberth
2011-05-14(svn r22460) -Doc: Semantic documentation fixes, and doxygen additions ↵alberth
(partly by planetmaker).
2011-02-14(svn r22080) -Doc: Add doxygen comments to a few functions and improve a few ↵planetmaker
existing comments
2011-02-07(svn r22014) -Codechange: move some more functions out of functions.hrubidium
2011-01-22(svn r21894) -Cleanup: get rid of the unused SM_START_SCENARIOrubidium
2010-05-13(svn r19812) -Codechange: give some unnamed enums a name or, in case they ↵rubidium
consisted of unrelated values use static const (u)int
2010-03-23(svn r19507) -Codechange: remove semicolon after DECLARE_POSTFIX_INCREMENT ↵smatz
and DECLARE_ENUM_AS_BIT_SET
2009-11-17(svn r18141) -Fix (r18051): one couldn't (easily) continue a game in single ↵rubidium
player that was 'not enough players'/'waiting on join'-paused
2009-11-12(svn r18051) -Codechange: make the active clients pause use a separate bit ↵rubidium
in the pause mode
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-08-06(svn r17097) -Fix [FS#3092] (r13256): make restart command work again and ↵rubidium
make the help show how it works and how it doesn't work
2009-07-25(svn r16949) -Codechange: unify the way the DisplayOption enums are writtenrubidium
2009-05-06(svn r16242) -Codechange: rework pausingrubidium
-Fix [FS#2864]: autopause and manual pausing conflict with eachother -Fix: new game + pause on new game + autopause make the game not unpause on the first join
2009-02-25(svn r15576) -Codechange: rename SwitchModes to SwitchMode and don't ↵yexo
hardcode the values for that enum.
2009-02-25(svn r15575) -Codechange: Rename GameModes to GameMode and store _game_mode ↵yexo
as GameMode instead of as byte.
2008-06-03(svn r13370) -Codechange: move the VARDEF stuff from openttd.h to ↵rubidium
variables.h so one doesn't need to include openttd.h before variables.h.
2008-05-29(svn r13322) -Codechange: _no_scroll belongs more with the window code.rubidium
2008-05-29(svn r13320) -Codechange: move some enums from openttd.h to more logical ↵rubidium
locations.
2008-05-07(svn r12989) -Codechange: move ViewportSign to viewport_type.h.rubidium
2008-05-07(svn r12986) -Codechange: move the landscape and transport related types ↵rubidium
from openttd.h to their own headers.
2008-05-06(svn r12971) -Documentation: add @file in files that missed them and add ↵rubidium
something more than whitespace as description of files that don't have a description.
2008-05-04(svn r12939) -Codechange: do not use the window proc to determine whether a ↵rubidium
toolbar is a rail toolbar, but use the window number.
2008-04-19(svn r12784) -Codechange: handle the asynchronious save 'handlers' in ↵rubidium
saveload.cpp instead of openttd.cpp.
2008-04-18(svn r12779) -Codechange: remove a few constants from openttd.h.rubidium
2008-03-28(svn r12476) -Codechange: split type engine related types from engine.h (and ↵rubidium
openttd.h) to engine_type.h.
2008-03-28(svn r12474) -Codechange: split type related stuff from waypoints from ↵rubidium
waypoint.h (and openttd.h) to waypoint_type.h.
2008-03-28(svn r12473) -Codechange: move EngineList to a more logical location.rubidium
2008-03-28(svn r12472) -Codechange: remove unneeded declaration of ViewPort and ↵rubidium
DrawPixelInfo.
2008-03-28(svn r12471) -Codechange: move SignID to a more logical location.rubidium
2008-03-28(svn r12470) -Codechange: split order related types from order.h (and ↵rubidium
openttd.h) to order_type.h.
2008-03-28(svn r12469) -Codechange: split type related stuff from group.h (and ↵rubidium
openttd.h) to group_type.h.
2008-03-28(svn r12468) -Codechange: move some type related stuff from station.h (and ↵rubidium
openttd.h) to station_type.h.
2008-03-28(svn r12467) -Codechange: move DepotID to a more logical location.rubidium
2008-03-28(svn r12466) -Codechange: move DestinationID to a more logical location.rubidium