Commit Graph

73 Commits

Author SHA1 Message Date
Jonathan G Rennison
47156122fa Settings: Add a guiproc callback for general settings GUI operations 2021-09-29 19:32:32 +01:00
Jonathan G Rennison
ba418f9d0d Merge branch 'master' into jgrpp
# Conflicts:
#	src/lang/simplified_chinese.txt
#	src/network/core/tcp_content.cpp
#	src/network/core/udp.cpp
#	src/network/network_server.cpp
#	src/saveload/linkgraph_sl.cpp
#	src/table/gameopt_settings.ini
2021-04-25 01:23:52 +01:00
Patric Stout
05612d60ae Remove: "language" field from server/client
The original idea was that people could find a server they could
talk in their native language on. This isn't really used in that
way. There are several reasons for removing this:

- the client also sends his "language" to the server, but nothing
  is doing anything with this.
- flags are a bad way to represent languages, and over the years
  we had several (rightfully) complaints about this.
- most servers have their language set to "All", and prefix the
  servername with the language it is about. This is a much more
  efficient way to do the same.

All in all, this feature should go back to the drawing board.
Maybe it could work in another form, but this form is not it.
2021-04-20 17:24:38 +02:00
Jonathan G Rennison
84a7ab180e Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_cmd.cpp
#	src/lang/greek.txt
#	src/table/settings.ini
2021-03-02 13:46:42 +00:00
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.
2021-03-01 23:17:47 +01:00
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.
2021-03-01 23:17:47 +01:00
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
2021-02-19 15:38:34 +00:00
Michael Lutz
00c66e7096 Codechange: Allow early-load settings that are not misc settings. 2021-02-17 21:01:21 +01:00
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.
2021-02-13 20:08:53 +01:00
jostephd
3088d41ac8 Feature: new velocity unit "tiles/day" (#8278)
(cherry picked from commit b1cf79da5b)
2020-12-27 20:33:24 +00:00
jostephd
b1cf79da5b Feature: new velocity unit "tiles/day" (#8278) 2020-12-15 00:39:57 +01:00
Jonathan G Rennison
223d542bf1 ChillPP: Remove unnecessary additions to gameopt_settings.ini 2020-01-02 22:11:43 +00:00
Jonathan G Rennison
5dc1027c6b Add initial support for loading ChillPP v14.7 savegames 2020-01-01 23:14:00 +00:00
Jonathan G Rennison
d56d4ea51f Add initial support for loading JokerPP savegames
See #123
2019-12-28 13:10:32 +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
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
2019-10-05 21:45:54 +01:00
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01: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
Charles Pigott
644f4c3547 Codechange: Set size of SettingGuiFlag & SettingDescType enums, and use them properly 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
peter1138
c0836bccef Codechange: NULL -> nullptr in settings files. 2019-04-11 13:00:55 +01:00
Jonathan G Rennison
ba34ec7ade Merge branch 'master' into jgrpp
Replace build and refit, and group collapse implementations
Fix template creation build and refit

# Conflicts:
#	Makefile.bundle.in
#	config.lib
#	src/animated_tile.cpp
#	src/blitter/32bpp_anim.hpp
#	src/blitter/32bpp_base.hpp
#	src/blitter/8bpp_base.hpp
#	src/blitter/null.hpp
#	src/build_vehicle_gui.cpp
#	src/command.cpp
#	src/command_func.h
#	src/console_gui.cpp
#	src/core/smallstack_type.hpp
#	src/date.cpp
#	src/debug.cpp
#	src/genworld_gui.cpp
#	src/ground_vehicle.hpp
#	src/group_gui.cpp
#	src/lang/korean.txt
#	src/linkgraph/linkgraph_gui.h
#	src/main_gui.cpp
#	src/misc_gui.cpp
#	src/network/core/game.h
#	src/network/core/packet.cpp
#	src/network/core/udp.cpp
#	src/network/core/udp.h
#	src/network/network_content.cpp
#	src/network/network_type.h
#	src/network/network_udp.cpp
#	src/newgrf_house.h
#	src/openttd.cpp
#	src/order_cmd.cpp
#	src/order_gui.cpp
#	src/os/unix/crashlog_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/osk_gui.cpp
#	src/pathfinder/opf/opf_ship.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/saveload/saveload.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/smallmap_gui.h
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/gameopt_settings.ini
#	src/table/newgrf_debug_data.h
#	src/table/settings.ini
#	src/timetable_gui.cpp
#	src/toolbar_gui.cpp
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_gui.cpp
#	src/vehiclelist.cpp
#	src/viewport.cpp
#	src/widgets/dropdown.cpp
#	src/window_gui.h
2019-03-27 18:12:04 +00:00
Patric Stout
e3c639a09f Remove: ENABLE_NETWORK switch
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.

Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.

A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.

With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.

All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
2019-03-20 19:24:55 +01:00
Jonathan G Rennison
2142452305 Merge branch 'save_ext' into jgrpp
# Conflicts:
#	Makefile.src.in
#	findversion.sh
#	projects/determineversion.vbs
#	src/gamelog.cpp
#	src/gamelog_internal.h
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/network/core/config.h
#	src/network/network.cpp
#	src/network/network_udp.cpp
#	src/rev.h
#	src/saveload/afterload.cpp
#	src/saveload/company_sl.cpp
#	src/saveload/depot_sl.cpp
#	src/saveload/gamelog_sl.cpp
#	src/saveload/misc_sl.cpp
#	src/saveload/order_sl.cpp
#	src/saveload/saveload.cpp
#	src/saveload/station_sl.cpp
#	src/saveload/town_sl.cpp
#	src/saveload/vehicle_sl.cpp
#	src/table/settings.ini
#	src/viewport.cpp
2019-02-04 18:32:44 +00:00
Jonathan G Rennison
46b5b0155c Merge branch 'cpp-11' into save_ext
# Conflicts:
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
2019-02-04 18:24:38 +00:00
Peter Nelson
9de12521ec Codechange: Convert saveload numbers to enum values.
(This was mostly achieved with a few in-place regexes)
2019-02-02 21:39:06 +00:00
Peter Nelson
ea4ea62816 Codechange: Make saveload version upper bound exclusive, i.e. version object was removed instead of version object last appeared. 2019-02-02 21:39:06 +00:00
Jonathan G Rennison
3a77f75bf6 Add GUI setting to control savegame overwrite confirmation dialog
Adjust game ID indications in save window UI
2019-02-02 02:09:40 +00:00
Jonathan G Rennison
a3d1585826 Add settings callback field to re-order setting options in GUI 2017-08-20 10:37:45 +01:00
Jonathan G Rennison
a8cc81d054 Initialiser list fixes for legacy compilers. 2015-08-16 14:36:07 +01:00
Jonathan G Rennison
c57ffc64bc Settings update: add PATX chunk to store additional settings
in an unordered format which is tolerant of extra, missing or reordered
settings.
2015-08-01 12:58:53 +01:00
Jonathan G Rennison
17e8693e62 Initial stubs for extending the save/load version checking/upgrade code,
with support for tests on individually versioned features as well as
savegame versions.
This is mainly for improved handling of features added to patchpacks.
The current status-quo of picking a random number for the savegame
version when releasing a patch breaks loading of savegames from newer
trunk savegame versions, with or without the same patch applied, as
savegame upgrade code is not run, which can also lead to crashes on load.
Instead don't change the savegame version (but set the high bit to
keep trunk versions away), but instead include the versions of individual
features using a separate mechanism.
2015-08-01 12:26:22 +01:00
frosch
e6f83028f6 (svn r26206) -Fix [FS#5829]: Run everything from ini, obg, obs, obs, ... files through str_validate. 2014-01-02 17:55:57 +00:00
frosch
7247ecf172 (svn r26206) -Fix [FS#5829]: Run everything from ini, obg, obs, obs, ... files through str_validate. 2014-01-02 17:55:57 +00:00
rubidium
1cf6dad8f2 (svn r25508) -Change: split unit localisation choice into a choice per type of unit, and move it to the advanced settings
-Feature [FS#5482]: have tractive effort in imperial (lbf) and metric (kgf) units
-Feature: have weights and volumes in imperial units (short tons, gallons)
2013-06-29 09:47:18 +00:00
rubidium
f9c9ff6ec3 (svn r25508) -Change: split unit localisation choice into a choice per type of unit, and move it to the advanced settings
-Feature [FS#5482]: have tractive effort in imperial (lbf) and metric (kgf) units
-Feature: have weights and volumes in imperial units (short tons, gallons)
2013-06-29 09:47:18 +00:00
planetmaker
7aa0712644 (svn r25072) -Codechange: Don't require the custom currency to be the last defined one 2013-03-09 16:16:17 +00:00
planetmaker
c22bbf5293 (svn r25072) -Codechange: Don't require the custom currency to be the last defined one 2013-03-09 16:16:17 +00:00
frosch
11bb1086bd (svn r24843) -Codechange: Move news display options into the general settings framework. (based on patch by eagle_rainbow) 2012-12-23 21:07:12 +00:00
frosch
21b43b63f5 (svn r24843) -Codechange: Move news display options into the general settings framework. (based on patch by eagle_rainbow) 2012-12-23 21:07:12 +00:00
frosch
76fef0843c (svn r24790) -Remove: Classic difficulty profiles. 2012-12-05 19:36:41 +00:00
frosch
d1ab0f03bc (svn r24790) -Remove: Classic difficulty profiles. 2012-12-05 19:36:41 +00:00
frosch
9ef1c5f4c3 (svn r24789) -Add: Separate setting to control the default settings of newly added scripts and random AIs. 2012-12-05 19:36:04 +00:00
frosch
812ae4140a (svn r24789) -Add: Separate setting to control the default settings of newly added scripts and random AIs. 2012-12-05 19:36:04 +00:00
frosch
903294f2bb (svn r24786) -Codechange: Add SettingsProfile enum for difficulty profiles and highscore tables. 2012-12-05 19:34:45 +00:00
frosch
a499435351 (svn r24786) -Codechange: Add SettingsProfile enum for difficulty profiles and highscore tables. 2012-12-05 19:34:45 +00:00
frosch
18b97fa062 (svn r24785) -Add: Various methods to open the OSK. (based on patch by Eagle_rainbow) 2012-12-05 19:34:25 +00:00
frosch
5b2da98ca3 (svn r24785) -Add: Various methods to open the OSK. (based on patch by Eagle_rainbow) 2012-12-05 19:34:25 +00:00
frosch
b4c70a51da (svn r24671) -Feature [FS#5355]: Add basic/advanced/expert filters to adv. settings GUI. (Eagle_rainbow) 2012-11-08 10:04:00 +00:00