Age | Commit message (Collapse) | Author |
|
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.
|
|
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".
|
|
Adding to _realtime_ticks in a random place is a bit of a hack,
and by using modern C++, we can avoid this hack.
|
|
|
|
|
|
window, and give it the same 'basic' visibility as 'in-game tree placement'.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
std::vector::[push|emplace]_back()
|
|
|
|
Normalize type and parsing of generation_seed across all files
Add assert_compile() to ensure correct type
|
|
|
|
DetailedFileType.
|
|
definitions.
|
|
|
|
the original landscape generator.
|
|
|
|
|
|
code.
|
|
|
|
|
|
height
|
|
editor to be entered directly (ic111)
|
|
|
|
a map
|
|
|
|
really need it, use the console.
|
|
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
|
|
dropdowns
|
|
|
|
after construction.
|
|
|
|
mentioning possible deviations.
|
|
|
|
values for size computations.
|
|
the window.
|
|
QueryStrings per widget instead.
|
|
QueryStringBaseWindow and directly use QueryString.
|
|
|
|
|
|
Window::OnEditboxChanged.
|
|
|
|
|
|
no effect whatsoever.
|
|
|