Commit Graph

2258 Commits (7ff885fc96ae000db10ccb7146273c86ee50e514)

Author SHA1 Message Date
Jonathan G Rennison d484c32d44 Reduce sensitivity of train overheated breakdown 3 years ago
Patric Stout f0f2073006 Feature: allow a toggle to enable/disable vsync
Vsync should be off by default, as for most players it will be
better to play without vsync. Exception exist, mainly people who
play in fullscreen mode.
3 years ago
Jonathan G Rennison 227041008f Merge branch 'master' into jgrpp
# Conflicts:
#	src/debug.cpp
#	src/lang/russian.txt
#	src/misc_gui.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/font_win32.cpp
#	src/os/windows/win32.cpp
#	src/rail_cmd.cpp
#	src/window_gui.h
3 years ago
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
3 years ago
frosch c6781cbd44
Fix d4c3d01d: add plural form 14 to strgen. (#8999) 3 years ago
Niels Martin Hansen 49d370185b Change: Default music and sound effects volume to be lower 3 years ago
Jonathan G Rennison 6b0dfff39d Enable showing vehicle routes in the viewport by default 3 years ago
Jonathan G Rennison 5e14b54a0c Merge branch 'master' into jgrpp 3 years ago
Jonathan G Rennison 26a123b708 Realistic braking: Cache offset of centre of mass of train 3 years ago
reldred 213b6fe6ef Add PR #231: More river configuration options 3 years ago
Jonathan G Rennison 7e728fe9d6 Merge branch 'pr-230' into jgrpp 3 years ago
reldred 86e7cb6d18 Allow tile height to also play a part in determining the density of rocky patches. 3 years ago
Jonathan G Rennison 912c62d749 Add timetable lateness/earliness conditional order 3 years ago
Patric Stout 13a5264438 Fix: store the recent new game_creation settings in savegames
This allows us to later on see what someone did, and makes sure
that "restart" command still knows how the game was created.
3 years ago
Patric Stout f05e2e0d40 Feature: allow setting a custom terrain type to define highest peak
At least, TGP will try to reach it. It heavily depends on the map
if it is reachable at all. But for sure it will do its atmost to
get there!
3 years ago
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.
3 years ago
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.
3 years ago
Patric Stout 1a1049bc0d Change: rename setting "max_heightlevel" to "map_height_limit"
This better reflects what it is, and hopefully removes a bit of
the confusion people are having what this setting actually does.

Additionally, update the text on the setting to better inform
users what it is doing exactly, so they can make an educated
decision on how to change it.

Next commit will introduce an "auto" value, which should be the
new default. The rename has as added benefit that everyone will
start out on the "auto" value.
3 years ago
Patric Stout 70bc55cfd6 Feature: setting to indicate desert coverage for tropic climate
This is an indication value; the game tries to get as close as it
can, but due to the complex tropic rules, that is unlikely to be
exact.

In the end, it picks a height-level to base the desert/tropic
line on. This is strictly seen not needed, as we can convert any
tile to either. But it is the simplest way to get started with
this without redoing all related functions.
3 years ago
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.
3 years ago
reldred 67c256f437 Add PR #228: New configure town zone multipliers 3 years ago
reldred 59631c1899 Hopefully fix the issues with the settings menu not showing up correctly. 3 years ago
reldred 7c6d73abfa Create new branch. Goals: Make rocks size patches and frequency configruable. Optional but highly desired: Make rocks denser/more frequent the higher the altitude (make that an optional bool?)
Also the number display is screwed in the settings gui. Same problem as my other patch. Need to compare it to what I did for the other var I did recently (tiles width around rivers to make desert go away) and fix this. This will do to start with.
3 years ago
Jonathan G Rennison abf8505c69 Add rainforest line height setting to map generation windows
See: #227
3 years ago
Jonathan G Rennison c45b4414df Merge branch 'pr-227' into jgrpp
Adjust settings patxname and guiflags
3 years ago
reldred 07397783f8 Allows configuring the height at which rainforests start, which by default was controlled by dividing the map maxheight by 4 in landscape.cpp. Default setting is 8 which matches and should provide default behavior in new map creation. 3 years ago
Jonathan G Rennison a670e369db Add setting for no vehicles introduced after given year 3 years ago
Jonathan G Rennison 3f4333bcc8 Add setting to enable non-admin multiplayer clients to rename towns 3 years ago
Matt Kimber bcb3313e13
Feature: allow setting maximum zoom level at which sprites are drawn (#8604) 3 years ago
frosch 28589db664 Fix: front/back sprites of action5 tram catenary were swapped. 3 years ago
Patric Stout b93d7dd3cb
Add: Option to (dis-)allow accelerated video drivers. (#8819)
The video drivers using the OpenGL backend are currently our only
accelerated drivers. The options defaults to off for macOS builds and
to on everywhere else.

Co-authored-by: Michael Lutz <michi@icosahedron.de>
3 years ago
Jonathan G Rennison 70f3993a55 CMake: Fix host strgen/settingsgen importing 3 years ago
Jonathan G Rennison 865cf79915 Fix missing override keywords 3 years ago
Jonathan G Rennison 59741b9f3c CMake: Fix HOST_BINARY_DIR cross compiling 3 years ago
Jonathan G Rennison 84a7ab180e Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_cmd.cpp
#	src/lang/greek.txt
#	src/table/settings.ini
3 years ago
Jonathan G Rennison f4e29071be Merge tag '1.11.0-beta2' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release.yml
#	CMakeLists.txt
#	src/blitter/32bpp_optimized.cpp
#	src/debug.cpp
#	src/gfx.cpp
#	src/gfx_func.h
#	src/lang/czech.txt
#	src/lang/english.txt
#	src/lang/italian.txt
#	src/lang/swedish.txt
#	src/lang/ukrainian.txt
#	src/network/network_server.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/win32.cpp
#	src/pathfinder/follow_track.hpp
#	src/screenshot.cpp
#	src/settings_type.h
#	src/spritecache.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/video_driver.cpp
#	src/video/video_driver.hpp
#	src/video/win32_v.cpp
3 years ago
Patric Stout 74aa934441 Codechange: validate that "max" value of settings fit in their storage
This is an easy mistake to make, so protect us against making such
mistakes, by validating it doesn't happen.
3 years ago
Patric Stout d7a70c67ba Fix: old snow_line_height had a higher maximum value than could be stored
So any old game made with this setting was overflowing anyway;
not really a lot we can do about that now.
3 years ago
Patric Stout a0c298a539 Fix: three max-values for settings could exceed their storage size 3 years ago
Patric Stout f183ded9fe Add: settings to limit your fast-forward game speed
By default this setting is set to 2500% normal game speed.

(cherry picked from commit c3dc27e37e)

# Conflicts:
#	src/gfx.cpp
#	src/gfx_func.h
#	src/settings_type.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/video_driver.cpp
#	src/video/win32_v.cpp
3 years ago
Patric Stout 8bc0089fc4
Fix c3dc27e3: put the max-value of fast-forward-speed-limit to within the storage size (#8769) 3 years ago
Patric Stout c3dc27e37e Add: settings to limit your fast-forward game speed
By default this setting is set to 2500% normal game speed.
3 years ago
Jonathan G Rennison 93f2d5e056 Add GUI setting for shading trees on slopes in viewports
Deafult on, only for non-map mode
(Slope shading is always on in map mode)
3 years ago
Jonathan G Rennison 4ef363422a Add 32bpp blitter support for adjusting brightness of drawn sprites 3 years ago
Michael Lutz e1e8cc3851
Fix #8734: [OpenGL] Apply palette remap to cursor sprites. (#8742) 3 years ago
Michael Lutz 6bcc4884c2 Add: [OpenGL] Accelerated mouse cursor drawing. 3 years ago
Michael Lutz e8fc050b6e Add: [OpenGL] Support for 8bpp blitters. 3 years ago
Michael Lutz 320072c8dc Codechange: [OpenGL] Explicitly assign which framebuffer target receives the colour values. 3 years ago
Michael Lutz 821f30f735 Codechange: [OpenGL] Use GLSL version 1.50 if available. 3 years ago
Michael Lutz 90fd8f8cda Codechange: [OpenGL] Use generic vertex attributes in the shader program. 3 years ago
Michael Lutz acf59f6b68 Codechange: [OpenGL] Use shaders to display the video buffer on screen. 3 years ago
Jonathan G Rennison dfecdf3afb Merge branch 'master' into jgrpp
# Conflicts:
#	src/dock_gui.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/terraform_gui.cpp
#	src/vehicle.cpp
#	src/video/allegro_v.cpp
#	src/video/cocoa/cocoa_v.mm
#	src/video/dedicated_v.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
3 years ago
frosch d9b4413bc9
Codechange: rename sound ids to make more sense. (#8701) 3 years ago
Patric Stout 7996fadb91 Change: [Win32] Remove force_full_redraw and display_hz settings
These were special settings only for the win32-drivers, and
introduced in the very first version we track.

Time kinda had caught up with those variables, so it is time to
say farewell.

force_full_redraw was most likely a debug functionality "in case
our dirty-rect fails". This should no longer be needed.

display_hz was cute, as it had a max of 120. That is kinda
out-dated information, but I also doubt anyone was really using
this.
3 years ago
Jonathan G Rennison e95216b59d Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_cmd.cpp
#	src/core/geometry_func.cpp
#	src/date.cpp
#	src/genworld_gui.cpp
#	src/gfx.cpp
#	src/object_gui.cpp
#	src/openttd.cpp
#	src/settings_type.h
#	src/video/allegro_v.cpp
#	src/video/dedicated_v.cpp
#	src/video/null_v.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
3 years ago
Patric Stout fa170b9ace Feature: configurable refresh-rate and change default to 60fps
Most modern games run on 60 fps, and for good reason. This gives
a much smoother experiences.

As some people have monitors that can do 144Hz or even 240Hz, allow
people to configure the refresh rate. Of course, the higher you
set the value, the more time the game spends on drawing pixels
instead of simulating the game, which has an effect on simulation
speed.

The simulation will still always run at 33.33 fps, and is not
influences by this setting.
3 years ago
Tyler Trahan fa88cb62e1
Fix cc39fa9: New orders are non-stop by default (#8689) 3 years ago
Michael Lutz 8bd2349ab6 Fix #8676, a2c3197f: GUI-visible settings may not be part of misc settings. 3 years ago
Michael Lutz 00c66e7096 Codechange: Allow early-load settings that are not misc settings. 3 years ago
Yourself 310bb876a2 Add: new town council "indifferent" attitude
Closes: #184
3 years ago
Jonathan G Rennison ed9410aba9 Debug: Add house population and mail generation to debug window 3 years ago
frosch 5a1fa18509 Change: move the 'road drive side' selection to settings tree, and give it the same 'basic' visibilty as 'signal side'. 3 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'. 3 years ago
Michael Lutz 22f5aeab07 Feature: Automatic UI and font zoom levels when supported by the OS. 3 years ago
Michael Lutz a2c3197f42 Codechange: Make the settings for min/max zoom early load settings. 3 years ago
Michael Lutz e5c3253642 Add: [OSX] Setting to disable HiDPI graphics rendering. 3 years ago
Michael Lutz 84636fc2af Codechange: Remove all remaining uses of cpp_offset. 3 years ago
Michael Lutz 7845434270 Codechange: Don't use cpp_offsetof in the save/load code.
Many of the member variables that are used in save/load are inside types
that are not standard layout types. Using pointer arithmetics to determine
addresses of members inside types that are not standard layout is generally
undefined behaviour. If we'd use C++17, it is conditionally supported, which means
each compiler may or may not support it. And even then using it for individual
array elements is syntactically not supported the the standard offsetof function.

Unfortunately, the trickery employed for saving linkgraph settings causes quite some
clutter in the settings ini files.
3 years ago
SamuXarick 36ab9c64ef Fix: Desert/rainforest data coordinate 'y' is off by 1 when their 'x' coordinate is negative 3 years ago
Jonathan G Rennison 7154f8859d Merge tag '1.11.0-beta1' into jgrpp
# Conflicts:
#	src/console_cmds.cpp
#	src/gfx_func.h
#	src/industry.h
#	src/lang/czech.txt
#	src/lang/estonian.txt
#	src/lang/german.txt
#	src/lang/indonesian.txt
#	src/lang/japanese.txt
#	src/lang/norwegian_bokmal.txt
#	src/lang/russian.txt
#	src/lang/slovak.txt
#	src/saveload/saveload.h
#	src/station_gui.cpp
#	src/town_gui.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/waypoint_gui.cpp
3 years ago
Jonathan G Rennison b7ddd486cf Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/aircraft_cmd.cpp
#	src/blitter/32bpp_anim.cpp
#	src/cargopacket.cpp
#	src/cheat_gui.cpp
#	src/company_cmd.cpp
#	src/company_gui.cpp
#	src/core/pool_func.hpp
#	src/date.cpp
#	src/economy.cpp
#	src/error_gui.cpp
#	src/ground_vehicle.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/industry_cmd.cpp
#	src/lang/dutch.txt
#	src/lang/french.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/linkgraph/mcf.cpp
#	src/network/network_content.cpp
#	src/network/network_server.cpp
#	src/network/network_udp.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_station.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/yapf/yapf_common.hpp
#	src/saveload/saveload.cpp
#	src/settings_gui.cpp
#	src/station_cmd.cpp
#	src/station_kdtree.h
#	src/string_func.h
#	src/table/settings.ini
#	src/tgp.cpp
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/tree_gui.cpp
#	src/tunnelbridge_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
#	src/viewport.cpp
#	src/viewport_sprite_sorter_sse4.cpp
#	src/window.cpp
3 years ago
Jonathan G Rennison f9956d88c3 Merge branch 'master' into jgrpp
# Conflicts:
#	src/aircraft_cmd.cpp
#	src/company_gui.cpp
#	src/lang/arabic_egypt.txt
#	src/lang/czech.txt
#	src/lang/esperanto.txt
#	src/lang/faroese.txt
#	src/lang/finnish.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/lang/latvian.txt
#	src/lang/malay.txt
#	src/lang/polish.txt
#	src/lang/spanish.txt
#	src/lang/spanish_MX.txt
#	src/lang/unfinished/urdu.txt
#	src/main_gui.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/road_cmd.cpp
#	src/settings_type.h
#	src/station_cmd.cpp
#	src/table/settings.ini
3 years ago
Jonathan G Rennison 6c3e5642f8 Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/crashlog.cpp
#	src/fileio.cpp
#	src/fileio_func.h
#	src/fios_gui.cpp
#	src/ini_load.cpp
#	src/ini_type.h
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/network/network_client.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/os/windows/win32.cpp
#	src/road_cmd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/settings.ini
#	src/tree_cmd.cpp
#	src/tree_gui.cpp
#	src/vehicle_base.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/cocoa/event.mm
#	src/video/cocoa/wnd_quartz.mm
#	src/viewport.cpp
#	src/widgets/tree_widget.h
3 years ago
Jonathan G Rennison 33d9e48bcf Add setting for inflation dates mode 3 years ago
Jonathan G Rennison 39df1c49a1 Merge branch 'master' into jgrpp
# Conflicts:
#	src/fileio.cpp
#	src/group_gui.cpp
#	src/industry.h
#	src/lang/korean.txt
#	src/linkgraph/linkgraphjob.cpp
#	src/linkgraph/linkgraphjob.h
#	src/linkgraph/linkgraphschedule.cpp
#	src/linkgraph/linkgraphschedule.h
#	src/openttd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/town_cmd.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
3 years ago
Jonathan G Rennison 09dc33022c Add client setting for vehicle naming scheme 3 years ago
Jonathan G Rennison 43980639de Merge branch 'master' into jgrpp
# Conflicts:
#	.gitignore
#	CMakeLists.txt
#	src/3rdparty/optional/optional.hpp
#	src/group_cmd.cpp
#	src/industry_cmd.cpp
#	src/misc_gui.cpp
#	src/video/sdl2_v.cpp
3 years ago
Jonathan G Rennison ed0ffb6220 Add feature: realistic train braking
Add setting to select train braking model.
3 years ago
Michael Lutz fa60c1f8b9
Feature: Choose a sensible window size on a fresh OTTD config file. (#8536) 4 years ago
frosch 8dda0ec4ff Add: [NewGRF] new GUI sprites for 'rename' and 'go to location'. 4 years ago
frosch f6abc81cf1 Fix: add missing variables to NewGRF inspect window. 4 years ago
frosch 868d84bbfc Add: [NewGRF] vehicle variable 63 to test the tracktype of the current tile against a given tracktype. 4 years ago
Charles Pigott 188bf0fbc9 Change: Remove disable_unsuitable_building setting
This setting is no longer useful, as you can now always build roads,
canals, etc.
4 years ago
Patric Stout ef6b17baf7 Fix 2fd871e2af5: load correct ending-year for old (pre 0.7) savegames
Despite what it looked like, you could never really change the
ending-year (it was always reset to 2050 on start-up). See commit
683b65ee1 for details. As a side-effect, the variable that was
suppose to store the ending-year was just zero, never containing
a real ending-year.
4 years ago
Patric Stout d9ec8053d7 Fix #8050: ending-year of 5000000 allows you to get to year 5000001 and beyond
MAX_YEAR is set to 5000000, but having an ending-year set to the
same meant you could bypass this, and play till the uint32 wrapped.

The game can either show highscore or wrap year, not both. When
you would do both, every year you get the highscore dialog.

By changing the maximum value of ending-year to 4999999 we prevent
this issue.
4 years ago
Kuhnovic a3a7928372
Feature: option to auto remove signals when in the way during rail construction (#8274) 4 years ago
Jonathan G Rennison bf313338c0 Debug: Show cached sprite bounds in vehicle debug window 4 years ago
2TallTyler fe51051b7c Change: Default settings improved for new players 4 years ago
Jonathan G Rennison 77bf073939 Debug: Show all town persistent storage registers, not just the caller GRFID 4 years ago
Pavel Stupnikov b623d6f2ee Change: extend the allowed range for max loan setting (#8386)
(cherry picked from commit b2895dfcd0)
4 years ago
Tyler Trahan 4714fea258 Change: set the default setting for autorenew to on for new games (#8352)
(cherry picked from commit f2a93dba0d)
4 years ago
jostephd 3088d41ac8 Feature: new velocity unit "tiles/day" (#8278)
(cherry picked from commit b1cf79da5b)
4 years ago
Pavel Stupnikov ba4626d450 Add: new economy "frozen" that stops production changes and industry closures (#8282)
(cherry picked from commit c9fd85528a)
4 years ago
Michael Lutz 024a3f6259 Codechange: Use automatic memory management for language pack reading. 4 years ago
Charles Pigott 860c270c73 Codechange: Replace assert_compile macro with static_assert 4 years ago
Michael Lutz 5a5d613ee3 Change: Disable changing the inflation setting in network games. 4 years ago
Jonathan G Rennison 9906916b7b Debug: Include aircraft fields and station XY in debug window 4 years ago
Jonathan G Rennison 7b445cd436 Debug: Show vehicle cargo subtype in debug window 4 years ago
frosch 2bb691f50e Change: Remove the LAN/Internet combobox from the server list in favour of adding two separate search buttons. 4 years ago
Pavel Stupnikov 22b9dec960
Feature: Add an option to disable tree growth completely (#8415) 4 years ago
Jonathan G Rennison c82f31bf03 Fix industry production scaling of periodic production callback 4 years ago
Jonathan G Rennison 5665d88067 Debug: Industries are now always inspectable in the debug window 4 years ago
Jonathan G Rennison 7b75fcf487 Show industry production callback mask values in industry debug window 4 years ago
Xaroth Brook d05be2cff5 Cleanup: Rework the CargoSpec macro for improved readability. 4 years ago
Jonathan G Rennison 8ac436f507 Add setting to scale primary industry cargo production 4 years ago
Jonathan G Rennison 93e7899c7f Debug: Show cargo in/out values in industry debug window 4 years ago
Pavel Stupnikov b2895dfcd0
Change: extend the allowed range for max loan setting (#8386) 4 years ago
Jonathan G Rennison d818630c34 Debug: Show company ratings in town debug window 4 years ago
Tyler Trahan f2a93dba0d
Change: set the default setting for autorenew to on for new games (#8352) 4 years ago
jostephd b1cf79da5b
Feature: new velocity unit "tiles/day" (#8278) 4 years ago
Pavel Stupnikov c9fd85528a
Add: new economy "frozen" that stops production changes and industry closures (#8282) 4 years ago
Patric Stout 68f9925cd4
Codechange: use \u to indicate unicode chars in strings (#8379)
With \x, we sometimes had to do the "" trick, as the length is not
predefined. With C++11 bringing \u to the specs, which has a preset
length, we no longer need the "" trick.

We set the strings to u8, to ensure all compilers use UTF-8 encoding
for the \u characters.

This was triggered by newer CLangs, which start to warn if you
use "" in the middle of a string, wondering if that was your
intention. It is a good question. And this is our answer :)
4 years ago
Jonathan G Rennison 4da3cfcf56 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/bootstrap_gui.cpp
4 years ago
glx22 a06fe8e8a7 Fix: [CMake] cross-compiling requires native tools 4 years ago
Jonathan G Rennison 141e52658b Debug: Add road types to RV debug window 4 years ago
Jonathan G Rennison 270a748b64 Tracerestrict: Add time/date conditional 4 years ago
Jonathan G Rennison 320a8da283 Show tile animation info in debug window 4 years ago
Jonathan G Rennison 9efeb3551a Tunnel/bridge signal simulation spacing is now a company setting 4 years ago
Jonathan G Rennison 99b2698658 Update vehicle image on demand when image is continuously updated by GRF
This is for trains/RVs only (to avoid issues with variable sprite bounds)

This largely fixes the performance issues of continuously updating
vehicle images
4 years ago
Jonathan G Rennison cde5e8c79d Add setting to disable continuously updating NewGRF vehicle image 4 years ago
Jonathan G Rennison 2fe5d4339b Add 3 more zoning highlight colours 4 years ago
Jonathan G Rennison 3fa92f5d8e Debug: Add RV path cache length 4 years ago
Jonathan G Rennison 42e7d796aa Debug: Add vehicle position and road veh vars to vehicle debug window 4 years ago
Jonathan G Rennison 63d3f33fd2 Add display setting for income/cost text effects 4 years ago
Jonathan G Rennison 327c088f29 Show road/rail type labels in debug window 4 years ago
Jonathan G Rennison 946442ab6b GRF: Add extra road/tram type flag: towns cannot modify tiles 4 years ago
Jonathan G Rennison 75a964acb0 GRF: Add extra road/tram type flag: not available to AI/GS 4 years ago
Jonathan G Rennison 6c9988f28b Debug: Add road/tram type support to NewGRF debug window 4 years ago
Jonathan G Rennison 0d61ae9567 Debug: Add compatible railtype info to railtype debug window 4 years ago
Jonathan G Rennison 92ca965ef7 Fix PBS rail type handling with incorrect GRF rail type compatibility 4 years ago
Jonathan G Rennison ca726d79f5 Add company setting for whether to add vehicle to group on copy-clone 4 years ago
Jonathan G Rennison cbbea0c8f4 Allow several settings to be changed in multiplayer
* construction.command_pause_level
* economy.allow_town_level_crossings
* vehicle.improved_breakdowns
* vehicle.adjacent_crossings
4 years ago
Jonathan G Rennison a474e71243 Viewport: Cache landscape pixels in map mode
Avoid invalidating landscape pixels for non-landscape updates
(vehicles, overlays, etc.)
4 years ago
Jonathan G Rennison 84dd35b685 Add drive-through train depot emulation (default off) 4 years ago
Jonathan G Rennison b6f583a799 GRF: Add railtype custom signal sprite restricted flag, and control flag 4 years ago
Jonathan G Rennison d32672a325 GRF: Allow railtype custom signal sprites for programmable pre-signals 4 years ago
Jonathan G Rennison 481710f95b Show engine rail type info in vehicle debug window 4 years ago
Jonathan G Rennison 2ea3a7d6f4 Add setting for default road/tram types, to match default rail type setting 4 years ago
Jonathan G Rennison f44d75eaf5 Allow building objects by area (1x1 objects only)
Add setting (default on)
4 years ago
Jonathan G Rennison 2d350d26db Add rate limit for object construction 4 years ago
Jonathan G Rennison 45386efcd0 Script: Allow changing ops limit and memory limit settings in game 4 years ago
Jonathan G Rennison ff12051ee1 Only show ship is lost messages if lost for a significant time 4 years ago
Jonathan G Rennison 817bc44a3e Initial implementation of tracerestrict counter mechanism 4 years ago
Jonathan G Rennison cc6be16422 Add news setting for trains waiting due to routing restrictions 4 years ago
Jonathan G Rennison a63bc23f04 Debug: Add various train fields to the vehicle debug window 4 years ago
Jonathan G Rennison 810bfd276e Add several NewGRF variables to vehicle image callback whitelist
Add vehicle flags to control cached image invalidation

Various refactorings
4 years ago
Jonathan G Rennison 8bf41a6f1d Add setting to show unlisted console commands 4 years ago
Jonathan G Rennison cc45a99a4d Fix #181: Set max bridge/tunnel length setting max to 4096 (same as trunk) 4 years ago
Jonathan G Rennison f26143f063 Add setting for alternative linkgraph overlay colour schemes 4 years ago
Jonathan G Rennison 4a21fafd5c Debug: Add stadium and church count to town debug window 4 years ago
Jonathan G Rennison ce6cdc551f Add anywhere mode to ignore house zone scenario editor setting
See: #177
4 years ago
Jonathan G Rennison 157beb05ed Add settings to ignore date/zone/GRF when placing houses in scenario editor
See: #177
4 years ago
Jonathan G Rennison b7118b60fe Add setting to enable multiple churches/stadiums in scenario editor
See: #177
4 years ago
Yourself 087cae82fc Add: zero tree growth setting 4 years ago
Jonathan G Rennison 002e99ac34 Debug: Show tile info on separate lines in vehicle debug window 4 years ago
Jonathan G Rennison 1f5de8b82c Auto separation: Remove circular linked list, use new algorithm 4 years ago
Jonathan G Rennison 2219a1a5b7 Debug: Add ahead/behind separation vehicles to vehicle debug window 4 years ago
Jonathan G Rennison d5ada6a14b Add setting to control RV re-routing on road layout change
Default to road removal only
This is due to poor performance with many RVs when town growth is
continually adding to the road layout
4 years ago
Jonathan G Rennison 38d42795c8 Add setting to disable vehicle expiry after a given year 4 years ago
Jonathan G Rennison 7ccbb6cf16 Debug: Show engine date properties in vehicle debug window 4 years ago
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
4 years ago
glx22 909c9656ce Fix: [CMake] cross-compiling requires native tools
(cherry picked from commit fdaf0d0b2f82701c8ea1e9a1125415351cf49e57)
4 years ago
TechGeekNZ cf8ea74733 Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake 4 years ago
dP a2e1102b15 Feature: Increase max possible distance from border for oil refineries and rigs 4 years ago
Jonathan G Rennison f5e9805b10 Store time display settings both in savegame and client, add setting 4 years ago
Jonathan G Rennison 12c25be778 Debug: Add station delete counter to NewGRF debug 4 years ago
Jonathan G Rennison 271fac01a7 Add setting to scale station cargo capacity and rating tolerance by size 4 years ago
Jonathan G Rennison 1917a3e0f8 Station: Add field for number of station tiles 4 years ago
Patric Stout 56d54cf60e Add: introduce CMake for project management
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.

Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.

This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.

Addtiionally, this heavily improves our detection of libraries, etc.
4 years ago
Jonathan G Rennison 43c538fa7d Merge branch 'master' into jgrpp
# Conflicts:
#	src/town_cmd.cpp
4 years ago
TechGeekNZ 012fea301d Cleanup: Add note explaining how settings.h is generated from source. 4 years ago
TechGeekNZ f246f8faef Cleanup: Fix typo in settings.h.preamble. 4 years ago
Jonathan G Rennison 42acbbb936 Debug: Show rail type flags in debug window 4 years ago
Jonathan G Rennison f8d6e781ba Merge branch 'master' into jgrpp
# Conflicts:
#	projects/openttd_vs140.vcxproj.filters
#	projects/openttd_vs141.vcxproj.filters
#	projects/openttd_vs142.vcxproj.filters
#	src/base_consist.h
#	src/company_base.h
#	src/newgrf_config.cpp
#	src/newgrf_config.h
#	src/openttd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/station_sl.cpp
#	src/settings.cpp
#	src/signs_base.h
#	src/string.cpp
#	src/string_func.h
#	src/table/misc_settings.ini
#	src/table/settings.h.preamble
#	src/town_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_cmd.cpp
#	src/video/cocoa/cocoa_v.mm
#	src/video/null_v.cpp
4 years ago
Michael Lutz 37bc2f8064 Codechange: Use std::string in the driver and blitter selection code. 4 years ago
Michael Lutz a49fdb7ebb Codechange: Store base set related texts in std::strings. 4 years ago
Jonathan G Rennison ad72fad68e Fix #148: Rename STR_MONEY_CHEAT_MULTIPLAYER* strings 4 years ago
Jonathan G Rennison ab99c16601 Add support for money cheat in multiplayer
Add a setting for whether this is permitted by multiplayer clients
4 years ago
Jonathan G Rennison 8956b1ab02 Improve performance of tunnel rendering in viewport map mode 4 years ago
Jonathan G Rennison babe98cdb1 Merge branch 'master' into jgrpp
# Conflicts:
#	src/network/network_server.h
#	src/pathfinder/yapf/yapf_road.cpp
#	src/viewport.cpp
4 years ago
Niels Martin Hansen 9e632355f1 Fix #7525: Move autorenew setting to Basic category 4 years ago
kiwitreekor 5df01bf95e
Add: [NewGRF] Station variable 6A, querying GRFID of nearby station tiles (#7956) 4 years ago
Jonathan G Rennison 81a1094cc8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_cmds.cpp
#	src/date.cpp
#	src/economy.cpp
#	src/misc.cpp
#	src/newgrf_house.cpp
4 years ago
Jonathan G Rennison 4ee8215987 Fix #129: Move route step markers to correct part of sprite ID space
This is to avoid moving sprite IDs shared with trunk/NewGRFs
4 years ago
Jonathan G Rennison bb363695fc YAPF: Prevent user for configuring signal penalties to negative values
Warn if signal penalty polynomial goes negative, and clamp to non-negative
5 years ago
Jonathan G Rennison 7960db35f2 Merge branch 'master' into jgrpp
# Conflicts:
#	config.lib
#	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/aircraft_cmd.cpp
#	src/base_station_base.h
#	src/core/pool_type.hpp
#	src/disaster_vehicle.cpp
#	src/economy.cpp
#	src/engine.cpp
#	src/group.h
#	src/group_cmd.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/lang/german.txt
#	src/linkgraph/linkgraph_gui.cpp
#	src/network/network_command.cpp
#	src/network/network_server.cpp
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/road_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/cargopacket_sl.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/station_sl.cpp
#	src/saveload/town_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/screenshot.cpp
#	src/screenshot.h
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/smallmap_gui.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/toolbar_gui.cpp
#	src/town_cmd.cpp
#	src/train.h
#	src/train_cmd.cpp
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehiclelist.cpp
#	src/window_type.h
5 years ago
stormcone b524f1ae21 Feature: Show the name of the NewGRF in the build vehicle window. 5 years ago
Jonathan G Rennison 6f75d9119d ChillPP: Add support for loading compatible linkgraph settings 5 years ago
Jonathan G Rennison 8176da3f62 Saveload: Add value conversion support to settings xref 5 years ago
Jonathan G Rennison c9a5b30d39 ChillPP: Fix loading of timetable seperation setting 5 years ago
Jonathan G Rennison 4936b3ba51 Add support for loading ChillPP v8 savegames 5 years ago
Jonathan G Rennison 223d542bf1 ChillPP: Remove unnecessary additions to gameopt_settings.ini 5 years ago
Jonathan G Rennison 5dc1027c6b Add initial support for loading ChillPP v14.7 savegames 5 years ago
Jonathan G Rennison 71db9ebc3b NewGRF debug window: Add vehicle cargo and last station lines 5 years ago
Jonathan G Rennison d56d4ea51f Add initial support for loading JokerPP savegames
See #123
5 years ago
Niels Martin Hansen 2fd871e2af Feature: Configurable game ending year
Functionally reverts 683b65ee1
5 years ago
Samu f0ff7003fd Fix: Snowline height interval is now 1, in both World Generation and Settings windows
- Previously, it was 1 in World Gen window, but 5 in Settings window
5 years ago
Samu 96f8c13543 Fix: Custom sea level default value is now equal to minimum value, not lower
Custom sea level default value was lower than the minimum
5 years ago
Jonathan G Rennison fd25596311 Merge upstream PR #7852 into jgrpp
Feature: Show the name of the NewGRF in the build vehicle window

Author: stormcone

# Conflicts:
#	src/lang/english.txt
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/table/settings.ini
5 years ago
Jonathan G Rennison 030e8bf762 Rename programmable signals to programmable pre-signals
This is to make it less unclear what they actually are and do
5 years ago
stormcone 4def6cf70f Feature: Show the name of the NewGRF in the build vehicle window. 5 years ago
Jonathan G Rennison 2b0c1a5930 Separate allow stations under bridges into settings for: rail, road, docks 5 years ago
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
5 years ago
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 5 years ago
Jonathan G Rennison ca3c72438e Merge branch 'master' into jgrpp
# Conflicts:
#	Makefile.bundle.in
#	src/os/macosx/string_osx.cpp
#	src/station_cmd.cpp
5 years ago
Jonathan G Rennison e1783be6d1 NewGRF debug window: Add a subset of house properties 5 years ago
Jack McKiernan f52e605b51 Fix: Solved helicopter takeoff issue with international airports
Helicopters can now take off from just outside the hangars.
5 years ago
Jack McKiernan 9479f45d1a Codechange: Replaced 255's with an enum entry TERMGROUP 5 years ago
Jack McKiernan d39f889775 Codechange: Replaced 0's in heading field with TO_ALL 5 years ago
Jack McKiernan d843b73280 Fix #6219: Allow taking off from hangar in commuter airport
Previously, a helicopter in the hangar of a commuter airport would have to wait until HELIPAD2 was free before it could takeoff. Now, a helicopter in the hangar can takeoff from just outside the hangar.
5 years ago
Jack Baron f159d91572 Fix: add savegame version to trading age setting 5 years ago
Jack Baron 7c9dedb94f Feature: Configure minimum share trading years 5 years ago
Niels Martin Hansen 53f8d0b815 Codechange: Use std::vector for industry tile layouts 5 years ago
Jonathan G Rennison edfd378e93 Merge branch 'master' into jgrpp
# Conflicts:
#	source.list
#	src/blitter/32bpp_anim.cpp
#	src/linkgraph/linkgraphjob.cpp
#	src/order_cmd.cpp
#	src/vehicle.cpp
#	src/vehicle_type.h
5 years ago
JMcKiern 04f659e768 Fix: Some typos found using codespell 5 years ago
Jonathan G Rennison a30638bc4a Merge branch 'jgrpp' into jgrpp-nrt 5 years ago
Jonathan G Rennison d77c2d380f Add VehicleCache fields to vehicle debug inspect window 5 years ago
Jonathan G Rennison f681e98f0f Debug: Show order indices in vehicle debug/inspection GUI 5 years ago
Jonathan G Rennison ba9d1a0390 Merge branch 'jgrpp' into jgrpp-nrt
# Conflicts:
#	.ottdrev-vc
#	README.md
#	jgrpp-changelog.md
5 years ago
Jonathan G Rennison 9a05ea67d5 Add chicken bits setting
2 bits so far
5 years ago
Jonathan G Rennison 04ef407ddf Merge branch 'jgrpp' into jgrpp-nrt
# Conflicts:
#	.ottdrev-vc
#	README.md
#	jgrpp-changelog.md
#	src/ship_cmd.cpp
5 years ago
Jonathan G Rennison ec892879f4 Add passworded mechanism to change server game settings from client 5 years ago
Jonathan G Rennison 515187058f Add nearby stations to town debug window 5 years ago
Jonathan G Rennison dbc5f1baed Merge branch 'master' into jgrpp-nrt
# Conflicts:
#	src/fontcache.cpp
#	src/game/game_text.cpp
#	src/lang/korean.txt
#	src/os/macosx/crashlog_osx.cpp
#	src/os/windows/crashlog_win.cpp
#	src/station_cmd.cpp
#	src/viewport.cpp
5 years ago
Jonathan G Rennison ba8ed880c1 Merge branch 'master' into jgrpp-nrt
Merge NRT feature

# Conflicts:
#	docs/landscape.html
#	docs/landscape_grid.html
#	src/bridge_map.h
#	src/build_vehicle_gui.cpp
#	src/company_base.h
#	src/company_cmd.cpp
#	src/misc_gui.cpp
#	src/newgrf.cpp
#	src/newgrf_engine.cpp
#	src/pathfinder/follow_track.hpp
#	src/pathfinder/npf/npf.cpp
#	src/road_cmd.cpp
#	src/road_func.h
#	src/road_gui.cpp
#	src/road_map.h
#	src/road_type.h
#	src/roadveh_cmd.cpp
#	src/saveload/afterload.cpp
#	src/saveload/company_sl.cpp
#	src/script/api/script_bridge.cpp
#	src/table/newgrf_debug_data.h
#	src/tile_cmd.h
#	src/town_cmd.cpp
#	src/tunnel_map.h
#	src/tunnelbridge_cmd.cpp
5 years ago
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
5 years ago
Jonathan G Rennison c13ee0979f Add industry and station rect coords to NewGRF debug window info 5 years ago
Jonathan G Rennison 601afc56dc Add NewGRF debug window info for stations and industries 5 years ago
Jonathan G Rennison 8a3dcfb1c5 Add town cargo production/acceptance cache to town GRF debug window 5 years ago
Michael Lutz a8b6e9f23c Codechange: Refactor the Freetype font cache into a generic part that does not depend on Freetype and into one that does.
This makes it easier to add other TrueType font rendering engines.
5 years ago
Jonathan G Rennison af64b5dc18 Add news/advice setting to warn if no depot order in vehicle schedule 5 years ago
Niels Martin Hansen 140a96b3a0 Change: Limit memory allocations for each Squirrel instance
This can avoid out-of-memory situations due to single scripts using up the entire address space.
Instead, scripts that go above the maximum are killed.
The maximum is default 1 GB per script, but can be configured by a setting.
5 years ago
Michael Lutz 0344e7a0a1 Fix #7463: Promote scroll mode setting to basic category. 5 years ago
peter1138 51dd751f4a Fix #7565: Incorrect cursor used for placing road/tram tunnels. 5 years ago
Corns McGowan 4d0ee65b51 Change: Set default setting in server browser of "Advertised" to "Yes". (#7568) 5 years ago
Jonathan G Rennison 1ee33c46ef Linkgraph: Allow overriding distribution mode on a per-cargo basis, in game 5 years ago
Jonathan G Rennison e7a916d2ce Linkgraph: Add asymmetric: equal and nearest demand distribution modes 5 years ago
peter1138 c02ef3e456 Feature: Add NotRoadTypes (NRT) 5 years ago
Jonathan G Rennison 8b1ee39ace Setting: Add support for enum type settings 5 years ago
Charles Pigott 644f4c3547 Codechange: Set size of SettingGuiFlag & SettingDescType enums, and use them properly 5 years ago
Charles Pigott 96097b34a5 Codechange: Remove Direction*Byte types 5 years ago
Charles Pigott 931d32f414 Codechange: Remove RailTypeByte type 5 years ago
Jonathan G Rennison 24458e9990 Add various missing override specifiers 5 years ago
Jonathan G Rennison a6ea1ea408 Allow articulated road vehicles to overtake other vehicles
Add setting
5 years ago
Jonathan G Rennison c84a8c14b4 Add ground vehicle cache info to vehicle debug window 5 years ago
Jonathan G Rennison 0d93ecb6bf Merge branch 'master' into jgrpp
# Conflicts:
#	src/core/alloc_type.hpp
#	src/group_gui.cpp
#	src/newgrf.cpp
#	src/saveload/economy_sl.cpp
#	src/saveload/map_sl.cpp
#	src/station_cmd.cpp
5 years ago
stormcone 79343762a4 Fix: Typos. (#7517) 5 years ago
Jonathan G Rennison 674732cd68 Merge: Codechange: Use null pointer literal instead of the NULL macro 5 years ago
peter1138 c0836bccef Codechange: NULL -> nullptr in settings files. 5 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 5 years ago