Patric Stout
970fedd78c
Add: make modal windows update more smooth
...
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-03-10 13:41:18 +01:00
Patric Stout
8bf8c0f251
Fix d437445c: also use std::chrono for the GRFFileScanner modal window
...
For some reason I only converted one of the two modal windows we
have, and completely forgot the other.
While at it, synchronize the way those two modal windows work
in terms of "next_update".
2021-02-19 19:56:40 +01:00
Patric Stout
d437445c67
Codechange: use std::chrono to track time in modal windows
...
Adding to _realtime_ticks in a random place is a bit of a hack,
and by using modern C++, we can avoid this hack.
2021-02-19 10:43:15 +01:00
frosch
c71d0f5e7f
Change: move townname generator selection to mapgen GUI.
2021-02-14 23:14:07 +01:00
frosch
d17226910d
Codechange: minor rearrangement of settings in random map and heightmap GUI.
2021-02-14 23:14:07 +01:00
frosch
81e47277e7
Change: move the 'tree placer algorithm' selection to the settings tree window, and give it the same 'basic' visibility as 'in-game tree placement'.
2021-02-14 23:14:07 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Michael Lutz
65f65ad2ad
Codechange: Convert some more FIO functions to take std::string.
2020-12-27 13:19:25 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Michael Lutz
c7b9987d08
Codechange: Switch DropDownList to directly use std::vector, thus making AutoDeleteSmallVector obsolete.
...
DropDownListItem are strongly managed using std::unique_ptr to ensure leak-free handling. Appropriate use
of move-semantics make intent a lot clearer than parameter comments and allows the compiler to generate
copy-free code for most situations.
2019-04-09 22:45:15 +02:00
Michael Lutz
05f4e73608
Codechange: Replace custom mutex code with C++11 mutex'es.
...
A conforming compiler with a valid <mutex>-header is expected.
Most parts of the code assume that locking a mutex will never fail unexpectedly,
which is generally true on all common platforms that don't just pretend to
be C++11. The use of condition variables in driver code is checked.
2019-04-06 11:27:39 +02:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
peter1138
317f69c152
Codechange: Use override specifier in Window-derived classes.
2019-03-24 16:10:04 +01:00
Miguel Horta
e00908f5e9
Fix #6898 : Replace atoi() with strtoul()
...
Normalize type and parsing of generation_seed across all files
Add assert_compile() to ensure correct type
2018-10-11 20:22:31 +01:00
Niels Martin Hansen
836d25e738
Codechange: Address some MSVC compiler warnings
2018-06-15 22:36:55 +02:00
alberth
597380e099
(svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType.
2016-09-04 12:57:43 +00:00
alberth
9135f7130e
(svn r27635) -Codechange: Move FileType and FileToSaveLoad structure definitions.
2016-09-04 12:45:40 +00:00
frosch
4d1843a95e
(svn r27627) -Codechange: Deduplicate some cursor magic into SetMouseCursorBusy.
2016-08-15 18:32:48 +00:00
alberth
b8414c2884
(svn r27285) -Codechange: Use LG_ORIGINAL instead of a magic 0 to indicate the original landscape generator.
2015-05-16 12:01:19 +00:00
alberth
4b2db6e649
(svn r27140) -Codechange: Fix typo in GenenerateLandscapeWindowMode (chillcore)
2015-02-08 21:05:48 +00:00
frosch
1c181fd460
(svn r27135) -Fix: Misalignment in generate world window in case of small fonts.
2015-02-01 22:04:50 +00:00
alberth
78896895cf
(svn r27085) -Fix: Always return a valid window to the world generation gui code.
2014-12-18 18:20:59 +00:00
rubidium
dfd57f2616
(svn r27043) -Fix: could not enter third digit of snow line height
2014-10-25 21:02:59 +00:00
rubidium
8d90e86c2c
(svn r27009) -Add: extra level of general map heightness (ChillCore)
2014-10-13 14:22:48 +00:00
rubidium
550cd50382
(svn r26926) -Change: limit flat world height to the maximum configured map height
2014-09-27 09:53:48 +00:00
rubidium
ed0ee3ffb3
(svn r26911) -Change: increase maximum possible flat land height in scenario editor to be entered directly (ic111)
2014-09-22 19:21:37 +00:00
rubidium
f56b8ba69e
(svn r26890) -Cleanup: remove unneeded obfuscation via IConsoleSetSetting
2014-09-21 14:45:35 +00:00
rubidium
c72d362840
(svn r26885) -Feature-ish: user interface for limiting the maximum height of a map
2014-09-21 12:25:04 +00:00
peter1138
c4311903b7
(svn r26862) -Codechange: Don't shrink widget size in new game window.
2014-09-20 12:27:09 +00:00
frosch
775c96a0d2
(svn r26526) -Remove: Ability to set map generation seed via GUI. If you really need it, use the console.
2014-04-27 15:15:28 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
rubidium
83eeba28b7
(svn r26086) -Codechange: use AutoDeleteSmallVector instead std::list for dropdowns
2013-11-24 14:46:26 +00:00
frosch
8157a8afd8
(svn r25290) -Add: Assign string names to notable windows.
2013-05-26 19:25:01 +00:00
frosch
56e4a8c4d6
(svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction.
2013-05-26 19:23:42 +00:00
frosch
579ee7a592
(svn r25089) -Codechange: Move CharSetFilter from QueryString to Textbuf.
2013-03-17 13:04:10 +00:00
frosch
9b7c8cf7a7
(svn r24925) -Fix [FS#5395]: Add a tooltip to the mapsize selection mentioning possible deviations.
2013-01-20 14:51:50 +00:00
frosch
3ce8d2ce70
(svn r24846) -Add: Advanced settings to disable certain sound effects.
2012-12-23 21:09:09 +00:00
frosch
b533523258
(svn r24801) -Codechange: Add functions to set integral DParams to suitable values for size computations.
2012-12-08 17:18:51 +00:00
frosch
545b6de900
(svn r24747) -Fix: Some editboxes had a different colour than the rest of the window.
2012-11-14 22:50:53 +00:00
frosch
f5d8ba5d7f
(svn r24742) -Codechange: Remove QueryStringBaseWindow and store QueryStrings per widget instead.
2012-11-14 22:50:35 +00:00
frosch
6e6d94a2d1
(svn r24740) -Codechange: Remove duplicate members from QueryStringBaseWindow and directly use QueryString.
2012-11-14 22:50:26 +00:00
frosch
6653ac6b36
(svn r24739) -Codechange: Simplify some code by using Textbuf::Assign.
2012-11-14 22:50:21 +00:00
frosch
f6d4200f86
(svn r24738) -Codechange: Remove Textbuf::Initialize in favour of a constructor.
2012-11-14 22:50:17 +00:00
frosch
2c22fe98dd
(svn r24734) -Codechange: Move QueryStringBaseWindow::OnOSKInput to Window::OnEditboxChanged.
2012-11-13 21:47:07 +00:00
frosch
c4d7c8dd42
(svn r24733) -Codechange: Move handling of editbox keys to window class.
2012-11-13 21:47:02 +00:00
frosch
6d1fe626f5
(svn r24729) -Codechange: Unify the handling of HEBR_EDITING.
2012-11-13 21:46:46 +00:00
frosch
1071d51508
(svn r24727) -Fix: In various windows the OSK looked shiny but using it had no effect whatsoever.
2012-11-13 21:46:37 +00:00
frosch
137adb3496
(svn r24726) -Codechange: Move editbox mouseloop handling to Window class.
2012-11-13 21:46:33 +00:00