Commit Graph

179 Commits

Author SHA1 Message Date
Patric Stout
b136e65cf9
Change: reworked the debug levels for network facility (#9251)
It now follows very simple rules:
0 - Fatal, user should know about this
1 - Error, but we are recovering
2 - Warning, wrong but okay if you don't know
3 - Info, information you might care about
4 -
5 - Debug #1 - High level debug messages
6 - Debug #2 - Low level debug messages
7 - Trace information
2021-05-12 16:34:02 +02:00
Jonathan G Rennison
f39b6f4ba3 Merge branch 'master' into jgrpp
# Conflicts:
#	src/cheat_gui.cpp
#	src/genworld_gui.cpp
#	src/landscape.cpp
#	src/lang/english.txt
#	src/saveload/afterload.cpp
#	src/screenshot.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_type.h
#	src/table/settings.ini
#	src/tile_type.h
#	src/widgets/genworld_widget.h
2021-04-10 18:29:36 +01:00
Jonathan G Rennison
5e14b54a0c Merge branch 'master' into jgrpp 2021-04-05 17:51:45 +01:00
Patric Stout
45c2c29c35 Add: allow setting the highest mountain for heightmaps
It will add some slack to the map height limit if that was set
to auto.
2021-03-26 12:22:32 +01:00
Patric Stout
422e132845 Feature: auto-detect map height limit based on generated map
This opens up the true power of the TGP terrain generator, as it
is no longer constrainted by an arbitrary low map height limit,
especially for extreme terrain types.

In other words: on a 1kx1k map with "Alpinist" terrain type, the
map is now really hilly with default settings.

People can still manually limit the map height if they so wish,
and after the terrain generation the limit is stored in the
savegame as if the user set it.

Cheats still allow you to change this value.
2021-03-26 12:22:32 +01:00
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.
2021-03-26 12:22:32 +01:00
Patric Stout
afadae6d50 Fix: abort world generation on exiting the game as soon as possible
This prevents the window from "freezing" when you close it during
world generation, as it first would continue the action.
2021-03-10 13:41:18 +01:00
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
Jonathan G Rennison
edeced8fce Zstd: Enable zstd for autosaves
See also: https://github.com/OpenTTD/OpenTTD/pull/8773
2021-03-01 18:59:03 +00:00
Jonathan G Rennison
15fc3f5ba3 Fix generate world NewGRF error window being created without lock held 2020-09-12 17:03:14 +01:00
Jonathan G Rennison
3adeff1883 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	cmake/CompileFlags.cmake
#	src/bridge_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/town_sl.cpp
#	src/screenshot.cpp
#	src/screenshot.h
#	src/toolbar_gui.cpp
#	src/town.h
#	src/town_cmd.cpp
2020-06-30 21:43:04 +01:00
Jonathan G Rennison
ab3a373c73 Merge branch 'master' into jgrpp 2019-11-16 19:54:31 +00:00
glx22
ddffe32f15 Fix #7646: Incomplete cleanup for non-threaded world generation failure (#7805) 2019-11-14 20:13:15 +00:00
Jonathan G Rennison
cbdd9f84d8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_gui.cpp
#	src/lang/korean.txt
#	src/video/sdl2_v.cpp
#	src/video/sdl2_v.h
#	src/window.cpp
#	src/window_gui.h
2019-11-12 18:43:10 +00:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Jonathan G Rennison
36eb4165b8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/bridge_map.h
#	src/crashlog.cpp
#	src/industry.h
#	src/linkgraph/linkgraph_type.h
#	src/order_type.h
#	src/saveload/afterload.cpp
#	src/settings.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/spritecache.cpp
#	src/stdafx.h
#	src/table/settings.h.preamble
#	src/train.h
#	src/vehicle.cpp
#	src/viewport.cpp
#	src/viewport_func.h
#	src/widgets/station_widget.h
#	src/zoom_func.h
#	src/zoom_type.h
2019-07-08 16:19:07 +01:00
Jonathan G Rennison
9519c5c1fb Ensure town cargo bitmap correctly set after town creation 2019-06-09 20:47:27 +01:00
Charles Pigott
5b34c8019f Codechange: Remove Company/OwnerByte types 2019-04-29 17:40:22 +01:00
Jonathan G Rennison
674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 2019-04-11 18:14:13 +01:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
Jonathan G Rennison
361758b516 Merge branches 'crashlog_improvements', 'save_ext' into jgrpp
# Conflicts:
#	Makefile.src.in
#	projects/openttd_vs140.vcxproj
#	projects/openttd_vs140.vcxproj.filters
#	projects/openttd_vs141.vcxproj
#	projects/openttd_vs141.vcxproj.filters
#	projects/openttd_vs142.vcxproj
#	projects/openttd_vs142.vcxproj.filters
#	src/core/smallstack_type.hpp
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/linkgraphjob.h
#	src/misc.cpp
#	src/network/network_udp.cpp
#	src/openttd.cpp
#	src/saveload/saveload.cpp
2019-04-09 19:06:26 +01:00
Michael Lutz
05bc2ed7cb Codechange: Replace custom thread code with C++11 thread objects.
We assume a conforming C++11 compiler environment that has a valid <thread>-header.
Failure to run a real thread is handled gracefully.
2019-04-06 11:27:39 +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
Jonathan G Rennison
2fdcc52321 Merge branch 'save_ext' into jgrpp
# Conflicts:
#	Makefile.src.in
#	findversion.sh
#	projects/determineversion.vbs
#	src/lang/dutch.txt
#	src/lang/korean.txt
#	src/network/network.cpp
#	src/network/network_client.cpp
#	src/rail.cpp
#	src/rail_cmd.cpp
#	src/saveload/afterload.cpp
#	src/ship_cmd.cpp
#	src/toolbar_gui.cpp
#	src/vehicle.cpp
2019-02-13 19:09:06 +00:00
Gabda
37bb2c9308 Codechange: Make the style of MakeVoid calls uniform (#7192) 2019-02-08 23:05:25 +00:00
damfr
5f6858c379 Add: Setting to save a unique id for each savegame 2018-11-26 10:30:49 +01:00
frosch
31f046bd9b (svn r27670) -Add: [FS#6471] Assign descriptive names to (GNU pthread) threads. (JGR) 2016-10-30 17:29:33 +00:00
alberth
0adfb1ac6f (svn r27653) -Fix(r27647): Rename FileOperation enum and values to SaveLoadOperation to avoid nameclash with windows compiler toolkit. 2016-09-04 16:06:50 +00:00
alberth
597380e099 (svn r27650) -Codechange: Replace SaveOrLoadMode by FileOperation and DetailedFileType. 2016-09-04 12:57:43 +00:00
frosch
4d1843a95e (svn r27627) -Codechange: Deduplicate some cursor magic into SetMouseCursorBusy. 2016-08-15 18:32:48 +00:00
rubidium
b476086c39 (svn r26538) -Codechange: remove double accounting of the drivers 2014-04-28 21:06:51 +00:00
rubidium
aa5a570b0d (svn r26518) -Change: make genworld messages on the dedicated server disable-able by using -dnet=0 2014-04-26 16:55:30 +00:00
rubidium
5b82822c12 (svn r26486) -Codechange: replace a number of snprintfs with seprintf 2014-04-23 21:12:09 +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
frosch
a32d18cbb9 (svn r26371) -Fix [FS#5831]: Calling DoCommandP during the gameloop cleared pending persistent storage changes. 2014-02-23 22:03:08 +00:00
frosch
eca86d1baf (svn r26174) -Codechange: Rename BaseStorageArray to BasePersistentStorageArray 2013-12-23 18:09:03 +00:00
michi_cc
6f9668330e (svn r24132) -Change [FS#4713]: Improve randomness of tile order in the tile loop. (monoid) 2012-04-17 19:43:43 +00:00
rubidium
6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
truebrain
83f2785f54 (svn r23611) -Add: run the begin of the script already while generating, and don't sleep on DoCommand while doing so 2011-12-19 20:56:50 +00:00
truebrain
f239a61406 (svn r23609) -Add: save/load all GameScript related material 2011-12-19 20:56:34 +00:00
truebrain
561b25d031 (svn r23601) -Fix: fix the conflict in window number 2011-12-19 20:50:21 +00:00
rubidium
0ca25fb3af (svn r23480) -Fix [FS#4594]: replace OS error messages with internal error messages when that's possible 2011-12-10 16:05:26 +00:00
rubidium
b231e80125 (svn r23470) -Codechange: move declaration of SwitchToMode to a header instead of declaring it in 6 other files 2011-12-10 08:31:14 +00:00
truebrain
160bfd8851 (svn r23376) -Remove: on popular demand, remove my (revoked) name from comments in the code. It was silly to name me like that to begin with ;) (based on patch by HackaLittleBit) 2011-11-30 01:22:18 +00:00
rubidium
38ad276acc (svn r22819) -Fix: include the header where it should be included 2011-08-24 12:12:36 +00:00
rubidium
9fe4b959ac (svn r22818) -Fix [FS#4742] (r22796, rlongago): don't spawn threads for world generation and NewGRF scanning when using the dedicated or null video driver regardless of the used blitter 2011-08-24 12:11:10 +00:00
rubidium
e99aec39ef (svn r22789) -Codechange: rename generation window class to modal progress 2011-08-21 12:49:14 +00:00
rubidium
421053a694 (svn r22788) -Codechange: move modal progress related functions and variables to progress.cpp/h 2011-08-21 12:48:46 +00:00
rubidium
7b7869fba7 (svn r22786) -Codechange: rename genworld mutices to model_progress mutices 2011-08-21 12:47:24 +00:00
rubidium
7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +00:00
rubidium
6a17bf91e3 (svn r21833) -Fix [FS#4427]: desync debug savegames might not be actually saved in case threading is enabled, which is enabled by default 2011-01-18 18:14:14 +00:00
yexo
410d48cbb8 (svn r20822) -Fix [FS#3707]: deadlock when aborting map generation on windows 2010-09-17 16:07:31 +00:00
rubidium
30f2afac9b (svn r20632) -Cleanup: remove "a few" unneeded includes, and add them to some headers 2010-08-26 22:01:16 +00:00
rubidium
56a263070f (svn r20591) -Codechange: make sure _date_fract is set when SetDate is called. Some places wouldn't reset _date_fract correctly at all 2010-08-22 09:18:01 +00:00
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. 2010-08-08 10:59:30 +00:00
alberth
0e900039f3 (svn r20320) -Doc: Small Doxygen and normal comment fixes, and an missed addition. 2010-08-02 20:47:27 +00:00
rubidium
b8487afe54 (svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be missed :) 2010-07-19 17:28:27 +00:00
rubidium
73527b7b45 (svn r20190) -Codechange: unVARDEF _generate_world and move it to genworld 2010-07-19 17:17:36 +00:00
frosch
c5921a91ea (svn r19934) -Fix [FS#3857]: When 'pause on new game' is set, pause the game before CleanupGeneration() to avoid conflicts with concurrent GUI code. 2010-06-05 15:22:46 +00:00
frosch
9e53f1e004 (svn r19933) -Fix [FS#3804]: Keep _current_company and _local_company in sync during GUI operation. 2010-06-05 13:32:42 +00:00
rubidium
d8baa1342c (svn r19589) -Change: add some more useful information to the desync log and unify the formatting 2010-04-08 21:14:49 +00:00
smatz
a39a446e8f (svn r18861) -Doc: more doxygen documentation in genworld files 2010-01-18 14:58:32 +00:00
smatz
11e3a00a23 (svn r18853) -Codechange: apply coding style to GenWorld's enums, structs and typedefs 2010-01-17 22:59:24 +00:00
rubidium
82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 2010-01-15 16:41:15 +00:00
rubidium
3e6c530e1e (svn r18506) -Fix [FS#3368]: no error message was created for the first fatal NewGRF error. 2009-12-15 00:00:51 +00:00
rubidium
a274cc6a60 (svn r18207) -Fix [FS#3324] (r11961): [NewGRF] When starting a new game the values of action D variable 13 were incorrect 2009-11-21 16:39:36 +00:00
rubidium
d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 2009-10-04 17:16:41 +00:00
rubidium
e8ddf001c8 (svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos 2009-09-19 09:51:14 +00:00
rubidium
07d2af338e (svn r17339) -Codechange: move thread related files to their own directory (like done for video, music, sound, etc) 2009-09-01 10:07:22 +00:00
rubidium
7fbc33dae1 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium
ba4fd897b8 (svn r17097) -Fix [FS#3092] (r13256): make restart command work again and make the help show how it works and how it doesn't work 2009-08-06 22:00:32 +00:00
rubidium
2664f2a2d9 (svn r16242) -Codechange: rework pausing
-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-05-06 15:06:57 +00:00
rubidium
d685ca0619 (svn r16220) -Fix [FS#2862]: possible crashes when quiting OpenTTD or forcing resizes/redraws of the screen during map generation 2009-05-03 15:44:05 +00:00
rubidium
329cabab4f (svn r16088) -Codechange: merge HighLightStyle and ViewportHighlightMode as they are basically the same thing 2009-04-19 10:31:30 +00:00
rubidium
d5a2dc1d0b (svn r15689) -Fix [FS#2720]: do not crash when the generate map doesn't contain a suitable location for a town. 2009-03-12 15:14:22 +00:00
rubidium
9dbf8a163f (svn r15688) -Codechange: unifiy cleaning up the map generation (normal and abort) 2009-03-12 14:28:55 +00:00
yexo
1f9ec758aa (svn r15495) -Revert (r15383,r15422): Loading NewGRFs depends on correct settings, but the economy can only be started after loading NewGRFs. In short: r15383 causes more problems then it's worth. 2009-02-14 23:17:32 +00:00
rubidium
c0a8d09ca7 (svn r15428) -Codechange: consistently use colour instead of having both color and colour. 2009-02-09 02:57:15 +00:00
rubidium
7b8c13fa5c (svn r15422) -Fix [FS#2623] (r15383): loading NewGRFs before copying the settings. 2009-02-08 23:06:56 +00:00
rubidium
377ce6c5bf (svn r15410) -Cleanup: get rid of most of the references to the 'patches' except where it's used for backward compatability. 2009-02-08 12:25:13 +00:00
smatz
df2a387fc3 (svn r15342) -Feature: allow changing town layout in the 'Found new town' window 2009-02-04 22:52:34 +00:00
smatz
0d3f5e6e74 (svn r15299) -Cleanup: remove many redundant includes 2009-01-31 20:16:06 +00:00
Yexo
db3ee34b44 (svn r15190) -Feature: Allow terraforming of the tiles at the edges of the map. 2009-01-21 02:31:55 +00:00
rubidium
bb77071749 (svn r15158) -Cleanup: remove some unused/unneeded cruft from the thread generalisation. 2009-01-20 03:12:46 +00:00
truebrain
a3dd7506d3 (svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.
NoAI is an API (a framework) to build your own AIs in. See:
   http://wiki.openttd.org/wiki/index.php/AI:Main_Page
 With many thanks to:
  - glx and Rubidium for their syncing, feedback and hard work
  - Yexo for his feedback, patches, and AIs which tested the system very deep
  - Morloth for his feedback and patches
  - TJIP for hosting a challenge which kept NoAI on track
  - All AI authors for testing our AI API, and all other people who helped in one way or another
-Remove: all old AIs and their cheats/hacks
2009-01-12 17:11:45 +00:00
smatz
7368c740a6 (svn r14828) -Codechange: move most of save/load-specific code to separate files 2009-01-04 15:32:25 +00:00
rubidium
3c6add5293 (svn r14772) -Codechange: make the "dump log of game to reproduce" desync debug stuff a runtime configurable debug option instead of a compile time option. 2008-12-29 21:50:25 +00:00
rubidium
87e5a8b52b (svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter. 2008-12-28 14:37:19 +00:00
rubidium
b650a86e58 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 2008-09-30 20:51:04 +00:00
rubidium
3b798599b6 (svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with. 2008-09-30 20:39:50 +00:00
rubidium
3a799389eb (svn r13731) -Codechange: make a pool of the array of players. 2008-07-18 16:40:29 +00:00
rubidium
e43d050730 (svn r13417) -Fix (r12945, r13413): freeing the ThreadObjects in a manner that hopefully doesn't cause crashes. 2008-06-08 15:27:57 +00:00
truebrain
b95042b05c (svn r13412) -Add: OTTDThreadTerminateFunc, for all thread systems, which is called when a thread is terminated. Now GenWorld- and SaveLoad-thread cleanup theirselves correctly, while Fibers don't (as that causes access-violations) 2008-06-08 12:06:27 +00:00
rubidium
96d7f87cc9 (svn r13411) -Codechange: remove the return value from the thread procs because it is never used. 2008-06-08 10:51:36 +00:00
rubidium
923e21129c (svn r13325) -Codechange: split the client-side only settings from the settings stored in the savegame so there is no need to have a duplicate copy of it for new games. 2008-05-29 15:13:28 +00:00
rubidium
34e2d8f1e1 (svn r13320) -Codechange: move some enums from openttd.h to more logical locations. 2008-05-29 09:54:47 +00:00
rubidium
4625695653 (svn r13251) -Codechange: rename _patches to _settings as that is more logic.
-Codechange: move all Settings into substructs of _settings in a way that they are logically grouped.
2008-05-25 19:17:03 +00:00
rubidium
3d5567ccf7 (svn r12987) -Codechange: split viewport and tile selection. 2008-05-07 13:10:15 +00:00
rubidium
d03994098b (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description. 2008-05-06 15:11:33 +00:00
glx
a2884f0a3c (svn r12755) -Fix (r12706): aborting map generation was not properly handled 2008-04-17 19:53:13 +00:00