Commit Graph

316 Commits (313ee13e5fb5dc29f58136c10a61165515acdb7c)

Author SHA1 Message Date
Patric Stout cafe4eed6e Feature: setting to indicate snow coverage for arctic climate (replaces snow line height)
Setting the snow coverage (in % of the map) makes a lot more sense
to the human, while still allowing the niche player to set (by
finding the correct %) a snow line height they like. This makes for
easier defaults, as it decoupled terrain height from amount of snow.

Maps can never be 100% snow, as we do not have sprites for coastal
tiles.

Internally, this calculates the best snow line height to approach
this coverage as close as possible.
4 years ago
Patric Stout 751434ea63
Fix: placing random trees in SE crashes the game (#8892)
This used to work by accident: originally the code checked if
GenerateWorld was threaded. If not, it would abort the function.
This worked for placing trees, because it was also returning false
when it was not active.

With the recent changes, that check got removed, and this crash
started to happen. So now check if we have a modal window, which
is a very solid indication we are generating the world.
4 years ago
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.
4 years ago
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".
4 years ago
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.
4 years ago
frosch c71d0f5e7f Change: move townname generator selection to mapgen GUI. 4 years ago
frosch d17226910d Codechange: minor rearrangement of settings in random map and heightmap GUI. 4 years ago
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'. 4 years ago
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 4 years ago
Michael Lutz 65f65ad2ad Codechange: Convert some more FIO functions to take std::string. 4 years ago
Charles Pigott 860c270c73 Codechange: Replace assert_compile macro with static_assert 4 years ago
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 5 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 6 years ago
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.
6 years ago
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.
6 years ago
Henry Wilson a0f36a50e6 Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back() 6 years ago
peter1138 317f69c152 Codechange: Use override specifier in Window-derived classes. 6 years ago
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
6 years ago
Niels Martin Hansen 836d25e738 Codechange: Address some MSVC compiler warnings 6 years ago
alberth 597380e099 (svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType. 8 years ago
alberth 9135f7130e (svn r27635) -Codechange: Move FileType and FileToSaveLoad structure definitions. 8 years ago
frosch 4d1843a95e (svn r27627) -Codechange: Deduplicate some cursor magic into SetMouseCursorBusy. 8 years ago
alberth b8414c2884 (svn r27285) -Codechange: Use LG_ORIGINAL instead of a magic 0 to indicate the original landscape generator. 10 years ago
alberth 4b2db6e649 (svn r27140) -Codechange: Fix typo in GenenerateLandscapeWindowMode (chillcore) 10 years ago
frosch 1c181fd460 (svn r27135) -Fix: Misalignment in generate world window in case of small fonts. 10 years ago
alberth 78896895cf (svn r27085) -Fix: Always return a valid window to the world generation gui code. 10 years ago
rubidium dfd57f2616 (svn r27043) -Fix: could not enter third digit of snow line height 10 years ago
rubidium 8d90e86c2c (svn r27009) -Add: extra level of general map heightness (ChillCore) 10 years ago
rubidium 550cd50382 (svn r26926) -Change: limit flat world height to the maximum configured map height 10 years ago
rubidium ed0ee3ffb3 (svn r26911) -Change: increase maximum possible flat land height in scenario editor to be entered directly (ic111) 10 years ago
rubidium f56b8ba69e (svn r26890) -Cleanup: remove unneeded obfuscation via IConsoleSetSetting 10 years ago
rubidium c72d362840 (svn r26885) -Feature-ish: user interface for limiting the maximum height of a map 10 years ago
peter1138 c4311903b7 (svn r26862) -Codechange: Don't shrink widget size in new game window. 10 years ago
frosch 775c96a0d2 (svn r26526) -Remove: Ability to set map generation seed via GUI. If you really need it, use the console. 11 years ago
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 11 years ago
rubidium 83eeba28b7 (svn r26086) -Codechange: use AutoDeleteSmallVector instead std::list for dropdowns 11 years ago
frosch 8157a8afd8 (svn r25290) -Add: Assign string names to notable windows. 12 years ago
frosch 56e4a8c4d6 (svn r25287) -Codechange: Keep a reference to the WindowDesc in the Window after construction. 12 years ago
frosch 579ee7a592 (svn r25089) -Codechange: Move CharSetFilter from QueryString to Textbuf. 12 years ago
frosch 9b7c8cf7a7 (svn r24925) -Fix [FS#5395]: Add a tooltip to the mapsize selection mentioning possible deviations. 12 years ago
frosch 3ce8d2ce70 (svn r24846) -Add: Advanced settings to disable certain sound effects. 12 years ago
frosch b533523258 (svn r24801) -Codechange: Add functions to set integral DParams to suitable values for size computations. 12 years ago
frosch 545b6de900 (svn r24747) -Fix: Some editboxes had a different colour than the rest of the window. 12 years ago
frosch f5d8ba5d7f (svn r24742) -Codechange: Remove QueryStringBaseWindow and store QueryStrings per widget instead. 12 years ago
frosch 6e6d94a2d1 (svn r24740) -Codechange: Remove duplicate members from QueryStringBaseWindow and directly use QueryString. 12 years ago
frosch 6653ac6b36 (svn r24739) -Codechange: Simplify some code by using Textbuf::Assign. 12 years ago
frosch f6d4200f86 (svn r24738) -Codechange: Remove Textbuf::Initialize in favour of a constructor. 12 years ago
frosch 2c22fe98dd (svn r24734) -Codechange: Move QueryStringBaseWindow::OnOSKInput to Window::OnEditboxChanged. 12 years ago
frosch c4d7c8dd42 (svn r24733) -Codechange: Move handling of editbox keys to window class. 12 years ago
frosch 6d1fe626f5 (svn r24729) -Codechange: Unify the handling of HEBR_EDITING. 12 years ago
frosch 1071d51508 (svn r24727) -Fix: In various windows the OSK looked shiny but using it had no effect whatsoever. 12 years ago
frosch 137adb3496 (svn r24726) -Codechange: Move editbox mouseloop handling to Window class. 12 years ago
frosch 17025fa6ea (svn r24724) -Codechange: Move drawing of editboxes to the widget drawing code. 12 years ago
frosch 03736af2ae (svn r24700) -Cleanup: Remove WDF_UNCLICK_BUTTONS and make it the default. 12 years ago
frosch cd55253865 (svn r24699) -Codechange: Proper usage of push and toggle buttons in mapgen and script debug GUI. 12 years ago
frosch 2e368bfb9f (svn r24698) -Codechange: Use PUSH-buttons when buttons can be pushed. 12 years ago
frosch d58eee1e79 (svn r24324) -Codechange: Turn functions dealing with Textbufs into member functions. 13 years ago
rubidium 6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 13 years ago
truebrain 83f2785f54 (svn r23611) -Add: run the begin of the script already while generating, and don't sleep on DoCommand while doing so 13 years ago
frosch 4e4a87bd3c (svn r23579) -Fix (r23525): Most up/down arrows stopped working. 13 years ago
truebrain e9f584ac21 (svn r23531) -Codechange: document and rename widgets to be consistent and understandable 13 years ago
truebrain 2aa774e831 (svn r23528) -Codechange: move widget enums to widgets/NNN_type.h 13 years ago
truebrain df0afdf0dc (svn r23525) -Codechange: make Window::flags4 WindowFlags instead of uint16, with only values known in WindowFlags (and move out 2 timers to their own variable)
-Codechange: rename Window::flags4 to Window::flags
-Codechange: move some non-inline functions from .hpp to .cpp
13 years ago
rubidium 420d358fef (svn r23475) -Codechange: queue critical error messages, so when multiple happen you won't miss any 13 years ago
rubidium b231e80125 (svn r23470) -Codechange: move declaration of SwitchToMode to a header instead of declaring it in 6 other files 13 years ago
frosch 81732114f0 (svn r22902) -Fix: The name of the heightmap glitches in the 'play heightmap' window. 13 years ago
frosch d0a4672cc4 (svn r22901) -Fix (r22767): The river density dropdown was missing in the 'play heightmap' window. 13 years ago
rubidium 38ad276acc (svn r22819) -Fix: include the header where it should be included 13 years ago
rubidium e99aec39ef (svn r22789) -Codechange: rename generation window class to modal progress 13 years ago
rubidium 421053a694 (svn r22788) -Codechange: move modal progress related functions and variables to progress.cpp/h 13 years ago
rubidium a67cf6bae1 (svn r22787) -Codechange: rename genworld redraw constant 13 years ago
rubidium 7b7869fba7 (svn r22786) -Codechange: rename genworld mutices to model_progress mutices 13 years ago
rubidium 37415b9cf7 (svn r22785) -Codechange: rename IsGeneratingWorld to HasModalProgress 13 years ago
rubidium e17d799cb3 (svn r22769) -Fix (r22678): failed patch merging 13 years ago
rubidium 11a4e402c6 (svn r22768) -Add: progress bar updates for river building 13 years ago
rubidium 0041408e4f (svn r22767) -Add: river generation 13 years ago
alberth a0cd04130a (svn r22608) -Fix[FS#4663]: Use rotated heightmap sizes for reporting scaling problems. 13 years ago
rubidium fb5ecb9499 (svn r22411) -Document: another bunch of bits 14 years ago
terkhen 5bb7a48cd2 (svn r22345) -Change: Remove pixel limiter for text buffers. 14 years ago
terkhen 10caf391a1 (svn r22343) -Change: Remove pixel limiter for query strings. 14 years ago
frosch 93272478b7 (svn r22259) -Fix (r9779)[FS#4557]: Remove duplicate and wrong (too early) activation of new game settings. (chillcore) 14 years ago
frosch ec9540a12a (svn r22241) -Codechange: Add additional to-be-used parameter to OnInvalidateData(). 14 years ago
alberth 5f505a69f3 (svn r22211) -Codechange: Unduplicate Off/On strings. 14 years ago
alberth 4364cec392 (svn r22001) -Codechange: Rename difficulty.number_industries to difficulty.industry_density. 14 years ago
alberth d84502c432 (svn r22000) -Codechange: Introduce an enum for the industry density setting. 14 years ago
alberth 7935eab3dc (svn r21972) -Fix: Replace 'None' industries in the generation window with more descriptive label. 14 years ago
alberth bdf5a1c2f7 (svn r21969) -Feature: Introduce 'minimal' number of industries as a replacment for the old 'none' setting in the newgame window. 14 years ago
rubidium 7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 14 years ago
terkhen 679cd3c21b (svn r21803) -Cleanup: Remove unnecessary semicolons. 14 years ago
alberth f5c6fd1a25 (svn r21331) -Codechange: Make drawing the widgets default behaviour in OnPaint(). 14 years ago
terkhen 725cf7d8bb (svn r21080) -Fix: Do not allow to use a custom water level with the original map generator. 14 years ago
terkhen 0568976c78 (svn r21034) -Fix: Add missing default values for the custom town number and custom water level world generation options. 14 years ago
terkhen e90930e572 (svn r20832) -Feature: Allow to select a custom percentage of water in the map generation window (based on patch by CommanderZ). 14 years ago
terkhen b916c5d8c1 (svn r20831) -Add: Show selected number of towns in the map generation window when using a custom amount. 14 years ago
rubidium 30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 14 years ago
alberth 35fec79700 (svn r20499) -Doc: Spelling fixes, and one doxygen comment addition. 14 years ago
rubidium 3da3d131c6 (svn r20411) -Codechange: rename unmovables as quite a lot of them are actually movable; e.g. HQ and owned land are pretty movable. 14 years ago
rubidium e356cb9405 (svn r20281) -Codechange: unify case scope closure + break coding style 14 years ago
terkhen 264bbc3076 (svn r20196) -Fix: Remove autofocus of the edit box in the world generation window. 14 years ago
rubidium b8487afe54 (svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be missed :) 14 years ago