Commit Graph

257 Commits

Author SHA1 Message Date
Jonathan G Rennison
b2ef6c0de8 Add implementation of multi-aspect signalling and GRF support
Requires realistic braking

See: #247
2021-08-28 12:54:18 +01:00
Jonathan G Rennison
4174fe727c Add NewGRF feature: Extra station name strings
These are used when all the default names have been used up,
instead of "Town Station #NNN".
2021-07-17 20:54:10 +01:00
Jonathan G Rennison
1819a4218b Clear signal speed restriction at game shutdown 2021-06-27 04:41:46 +01:00
Jonathan G Rennison
28e39c9045 Fix trailing whitespace 2021-06-27 03:09:24 +01:00
Andreas Schmitt
669770f209 Fix a few issues and reset everything on start of new game 2021-06-20 20:40:33 +02:00
Jonathan G Rennison
011b3b8b8d Avoid data race on map size when clearing link graph jobs in InitializeGame 2021-05-07 00:58:52 +01:00
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
2021-03-01 17:54:15 +00:00
Jonathan G Rennison
2e20da40ed Cache current value of snow line height 2021-02-21 22:34:22 +00:00
Jonathan G Rennison
78b06ddc40 TBTR: Fix palette recolouring of templates
Fix group overrides affecting template image when cloning vehicle
Update template when changing company colours

Update template images on demand instead of at load
2020-12-26 09:37:26 +00:00
Jonathan G Rennison
4763f441f6 On load, use previous local company or first usable company
Instead of always using the first company slot
2020-09-20 17:36:36 +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
81a1094cc8 Merge branch 'master' into jgrpp
# Conflicts:
#	src/console_cmds.cpp
#	src/date.cpp
#	src/economy.cpp
#	src/misc.cpp
#	src/newgrf_house.cpp
2020-01-29 19:32:06 +00:00
Niels Martin Hansen
c8779fb311 Feature: NewGRF callback profiling (#7868)
Adds a console command newgrf_profile to collect some profiling data about NewGRF action 2 callbacks and produce a CSV file.
2020-01-26 13:45:51 +01: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
6562937899 Merge branch 'master' into jgrpp-nrt
# Conflicts:
#	src/console_cmds.cpp
#	src/script/api/script_order.cpp
#	src/station_cmd.cpp
#	src/statusbar_gui.cpp
#	src/town_gui.cpp
2019-08-24 11:00:41 +01:00
Gabda
b870596f15 Add #6887: Option to show zone inside local authority boundary of towns
Can be found at town information > local authority window
Layout for button is same as Graph Keys
Turn on/off for every town individually
2019-08-17 21:45:20 +01:00
Jonathan G Rennison
1d5ba98932 Show time and in game date of game load in desync/crash logs 2019-06-14 21:56:37 +01:00
Jonathan G Rennison
3c2ebc4588 Call UpdateTownCargoBitmap in InitializeGame 2019-05-27 15:58:51 +01:00
Jonathan G Rennison
829c635add Add road layout change counter, add to road veh path caches
Update layout counter when non-leaf road bits are added or removed
2019-05-26 11:35:18 +01:00
Jonathan G Rennison
ec2291fdb4 Store some desync messages in a ring buffer, append to log on desync 2019-05-26 11:35:18 +01:00
Jonathan G Rennison
5a9790a196 Store crash/desync logs in crash/desync savegame
Add console command to dump loaded debug log
2019-05-23 22:53:17 +01:00
Jonathan G Rennison
ec1e848a7f Add log of game events since last load and overall
Add console command
Add to crashlog
2019-05-18 10:17:59 +01:00
Jonathan G Rennison
8196789eeb Maintain map of vehicle order destinations refcounts, by type 2019-05-12 04:24:10 +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
5e6d283463 Merge branch 'master' into jgrpp
Remove the viewport sign cache as this is now superseded by the kd tree
implementation

# Conflicts:
#	src/crashlog.cpp
#	src/lang/english.txt
#	src/misc.cpp
#	src/pathfinder/follow_track.hpp
#	src/pbs.cpp
#	src/rail_cmd.cpp
#	src/saveload/vehicle_sl.cpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/ship_cmd.cpp
#	src/station.cpp
#	src/station_base.h
#	src/station_cmd.cpp
#	src/table/settings.ini
#	src/thread/thread_morphos.cpp
#	src/town_cmd.cpp
#	src/train_cmd.cpp
#	src/viewport.cpp
#	src/waypoint.cpp
2019-03-13 03:38:26 +00:00
Niels Martin Hansen
e8d397e4ee Codechange: Make a merged k-d tree index of all viewport signs 2019-03-09 20:27:11 +01:00
Niels Martin Hansen
d84b67e54d Codechange: Make a k-d tree index of stations 2019-03-09 20:27:11 +01:00
Niels Martin Hansen
7b56be0f3a Codechange: Make a k-d tree index of towns 2019-03-09 20:27:11 +01: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
5e4f76f2f9 Fix #5654: (Re)initialise graph GUI on game (re)start (#7191) 2019-02-07 20:17:32 +00:00
Jonathan G Rennison
e5b61e0b6c Refactor CallVehicleTicks vehicle loop 2019-01-25 20:17:15 +00:00
Jonathan G Rennison
698409381e Cache viewport station/waypoint sign infomation 2019-01-21 19:41:11 +00:00
Jonathan G Rennison
8c0c9274ea Merge branch 'infrastructure_sharing' into jgrpp
# Conflicts:
#	src/economy.cpp
#	src/misc.cpp
#	src/openttd.cpp
#	src/saveload/extended_ver_sl.cpp
2018-01-26 18:47:08 +00:00
Jonathan G Rennison
9000d74f3c Pay all cargo payment incomes when cargo finally delivered 2018-01-26 18:28:57 +00:00
Jonathan G Rennison
38fb8c1b84 Zoning: Cache expensive zoning overlay values 2018-01-22 17:49:53 +00:00
Jonathan G Rennison
2fbeb29277 Merge branch 'crashlog_improvements' into jgrpp
# Conflicts:
#	src/misc.cpp
#	src/openttd.cpp
2017-02-21 21:50:08 +00:00
Jonathan G Rennison
349ddd90b7 Maintain a circular buffer of recent commands, add to crashlog.
Add console command to dump command log.
Increase max crashlog size.
2017-02-21 21:49:56 +00:00
Jonathan G Rennison
f82feb160f Merge branch 'signal_tunnels_bridges' into jgrpp
# Conflicts:
#	projects/openttd_vs100.vcxproj
#	projects/openttd_vs100.vcxproj.filters
#	projects/openttd_vs140.vcxproj
#	projects/openttd_vs140.vcxproj.filters
#	projects/openttd_vs80.vcproj
#	projects/openttd_vs90.vcproj
#	source.list
#	src/misc.cpp
#	src/openttd.cpp
#	src/pbs.cpp
#	src/saveload/extended_ver_sl.cpp
#	src/saveload/saveload.cpp
#	src/signal.cpp
#	src/train_cmd.cpp
#	src/tunnelbridge_map.h
2016-09-18 20:07:48 +01:00
Jonathan G Rennison
556594f2f0 Extend bridge signal simulation to support an unlimited no. of signals.
This is instead of the previous limit of 16, all stored in M2.
2016-09-18 20:06:59 +01:00
Jonathan G Rennison
375b069f82 Replace day length scaled tick macros with global variables.
This is to avoid needing to expensively re-calculate them all the time.
Instead update them by incrementing.
2016-09-10 01:03:48 +01:00
Jonathan G Rennison
f6d374ade4 Merge branch 'house_placing' into jgrpp
This reverts the house picking/placing patch back to v2.
This is to fix house placement/town growth desync issues introduced in v4.

# Conflicts:
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/town_gui.cpp
2016-05-12 22:57:42 +01:00
Jonathan G Rennison
95b65163e3 Revert back to v2 of house picking/placing patch. 2016-05-12 22:35:39 +01:00
Jonathan G Rennison
54b8eb9b4c Merge branch 'polyline_track_tool' into jgrpp
# Conflicts:
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/viewport.cpp
#	src/viewport_func.h
2016-04-13 21:14:47 +01:00
patch-import
01cf154f51 Import polyline rail tool patch v10b
http://www.tt-forums.net/viewtopic.php?f=33&t=57080
2016-04-13 21:03:51 +01:00
Jonathan G Rennison
41a06e698f Merge branch 'house_placing' into jgrpp
# Conflicts:
#	src/settings_gui.cpp
#	src/settings_type.h
#	src/town_gui.cpp
2016-04-08 20:15:08 +01:00
patch-import
0fd34a17a5 Update to v4 of house placing patch. 2016-04-08 19:42:10 +01:00
Jonathan G Rennison
8cc6bddc24 Merge branch 'enhanced_viewport_overlay-sx' into jgrpp
Conflicts:
	src/misc.cpp
2015-11-11 19:20:36 +00:00
Jonathan G Rennison
919057a5e6 Cache tunnel info in viewport map mode, to prevent render flicker.
If we see a tunnel during the usual tile scan, keep it in the cache
until it is explicitly evicted by a clear tunnel tile action, or
the cache is cleared at game init/load/shutdown.
Select colours at the drawing rather than the cache-building stage.
Bridges and tunnels are now stored/handled separately.
The process for bridges is mostly unchanged.
2015-11-11 19:18:32 +00:00