Commit Graph

2374 Commits

Author SHA1 Message Date
Niels Martin Hansen
b7751c483e Feature: Influence industry production changes from GS (#7912) 2020-12-22 14:21:31 +01:00
Patric Stout
d8c8f4e72d Fix: next 67 savegame versions are used in PatchPacks; skip them (#8411)
Various of PatchPacks (Spring 2013, Joker, ChillPP) used versions
slightly higher than ours. Of course, as time went by, this
caught up with us, and we are now almost pushing a new version
that would conflict with them. To avoid users creating unneeded
issues about "why can I not load my savegame", lets be ahead of
the curve and flat-out refuse to load them.

Version-wise, this is totally fine. We have ~32k versions to go
before we run out (0x8000 is masked by JGRPP; we should avoid
using that). At the rate we bump savegames, this is not going to
happen in any sane reality.
2020-12-22 10:44:07 +01:00
Jonathan G Rennison
8ac436f507 Add setting to scale primary industry cargo production 2020-12-21 20:47:44 +00:00
Jonathan G Rennison
f0c3a4b42e Saveload: Store NewGRF name in savegame, include in missing GRF message 2020-12-16 02:06:48 +00:00
Jonathan G Rennison
207c79a736 Saveload: Fix SLE*_CONDSSTR* macros 2020-12-16 01:31:46 +00:00
Patric Stout
d15dc9f40f Add: support for emscripten (play-OpenTTD-in-the-browser)
Emscripten compiles to WASM, which can be loaded via
HTML / JavaScript. This allows you to play OpenTTD inside a
browser.

Co-authored-by: milek7 <me@milek7.pl>
2020-12-15 15:46:39 +01:00
Michael Lutz
79240eab1e Codechange: Make use of the improved C++17 emplace_back function. 2020-12-15 00:29:30 +01:00
Jonathan G Rennison
840e459601 Revert "Fix 63ccb36ef3: Crash trying to load TTO/TTD savegames. (#8356)"
This is not necessary due to 5243cfd6d0.

This reverts commit c558936ec3.
2020-12-07 18:19:54 +00:00
Jonathan G Rennison
4436da7436 Saveload: Skip GetVariableAddress asserts if _DEBUG not defined 2020-12-07 18:12:33 +00:00
Jonathan G Rennison
4da3cfcf56 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/bootstrap_gui.cpp
2020-12-07 17:56:44 +00:00
Patric Stout
731af1f1f3 Codechange: don't do work GetVariableAddress() is already doing 2020-12-06 16:10:58 +01:00
Patric Stout
c98717cb45 Fix: do not add an offset to a nullptr
This is, by specs, undefined behaviour. See
https://reviews.llvm.org/D67122

In cases where this is done, optimizations done by LLVM can
generate code that causes crashes.

GetVariableAddress() had two (legit) ways this could happen:
- For SaveLoad set to global
- For SaveLoad set to SLE_VAR_NULL, where sld->address is always
  a nullptr, and object could or could not be a nullptr.
2020-12-06 16:10:58 +01:00
Michael Lutz
c558936ec3 Fix 63ccb36ef3: Crash trying to load TTO/TTD savegames. (#8356) 2020-12-06 00:29:27 +01:00
Jonathan G Rennison
3e1ab88323 Fix NRT road/tram type conversion on savegame load from JokerPP v1.27 2020-12-01 21:10:49 +00:00
Jonathan G Rennison
270a748b64 Tracerestrict: Add time/date conditional 2020-11-27 18:43:32 +00:00
Jonathan G Rennison
2ad446369d Cache animated tile speed, use btree map for animated tiles 2020-11-26 00:19:51 +00:00
Jonathan G Rennison
1f54c8a018 Send vehicle caches to network clients to prevent desyncs due to bad GRFs 2020-11-22 11:41:50 +00:00
Jonathan G Rennison
9efeb3551a Tunnel/bridge signal simulation spacing is now a company setting 2020-11-21 17:43:55 +00:00
Jonathan G Rennison
0902243ab3 Allow changing the colour of plans 2020-11-06 22:40:02 +00:00
Jonathan G Rennison
57d47b9bae Add support for overtaking inside (non-custom) bridges/tunnels 2020-10-28 17:52:58 +00:00
Jonathan G Rennison
ffe3c769a3 Add road tile cached one way state, one way road section detection 2020-10-28 00:27:48 +00:00
Jonathan G Rennison
3a75f13874 Allow drive-through road stops to be one-way 2020-10-28 00:27:48 +00:00
Jonathan G Rennison
de5fb361ad Fix crash when saving order backups 2020-10-21 00:24:38 +01:00
Jonathan G Rennison
e1aca1ab34 Extend Order::flags to 16 bits, fixes conditional order target field size
Adjust order packing and CmdInsertOrder

See: #198
2020-10-17 17:25:44 +01:00
Jonathan G Rennison
b9f7db9c7e Jump counter is no longer a separate field 2020-10-17 17:25:44 +01:00
Jonathan G Rennison
1716083a30 Use saveload object filtering for order chunks 2020-10-17 11:27:18 +01:00
Jonathan G Rennison
bb862100af Fix operator typo in 6dd7b286 in oldloader_sl.cpp 2020-10-13 21:32:10 +01:00
Jonathan G Rennison
6dd7b2869c Increase per-vehicle order limit to 64k
See: #110
2020-10-12 23:48:54 +01:00
Jonathan G Rennison
cce6d731a1 TBTR: Delete orphaned virtual trains on client disconnection 2020-10-09 19:26:07 +01:00
Jonathan G Rennison
3b47b7b091 Plans: Improve performance of viewport plan rendering 2020-09-29 01:40:12 +01:00
Jonathan G Rennison
84dd35b685 Add drive-through train depot emulation (default off) 2020-09-26 18:08:26 +01: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
2ea3a7d6f4 Add setting for default road/tram types, to match default rail type setting 2020-09-18 23:32:47 +01:00
Jonathan G Rennison
2d350d26db Add rate limit for object construction 2020-09-14 23:06:49 +01:00
Jonathan G Rennison
ff12051ee1 Only show ship is lost messages if lost for a significant time 2020-09-07 18:24:49 +01:00
Jonathan G Rennison
825190db0c Remove programmable pre-signal calls to DebugPrintProgram 2020-09-01 22:00:02 +01:00
Jonathan G Rennison
abb7b69861 Add slot and counter support to programmable pre-signals 2020-09-01 18:37:53 +01:00
Jonathan G Rennison
9ee8091ecc Add conditional order which tests counter value 2020-08-31 22:52:26 +01:00
Jonathan G Rennison
817bc44a3e Initial implementation of tracerestrict counter mechanism 2020-08-31 19:08:35 +01:00
Jonathan G Rennison
d2594ece79 Add routing restrictions action to control news reports about stuck trains 2020-08-29 13:38:19 +01:00
Jonathan G Rennison
beaeda2990 TBTR: Show empty and full train weights in GUI, and weight ratios if enabled 2020-08-28 18:37:50 +01:00
Jonathan G Rennison
e2de103d82 Skip GRF compatibility check when using -K/-q switches 2020-08-27 19:25:07 +01:00
Jonathan G Rennison
5b78090a61 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/saveload/town_sl.cpp
#	src/screenshot.h
#	src/script/api/ai/ai_date.hpp.sq
#	src/script/api/ai/ai_marine.hpp.sq
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_date.hpp.sq
#	src/script/api/game/game_marine.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/game/game_window.hpp.sq
#	src/script/api/script_window.hpp
#	src/script/api/template/template_window.hpp.sq
#	src/signal.cpp
#	src/statusbar_gui.cpp
#	src/toolbar_gui.cpp
#	src/viewport.cpp
#	src/viewport_func.h
2020-08-27 18:31:09 +01:00
Jonathan G Rennison
2b9c633d50 Add leave early if any/all cargoes fully loaded timetable modes 2020-08-19 18:51:47 +01:00
Jonathan G Rennison
1fd9c929ef Increase church/stadium count field size, fix save/load
Fix too many error message
2020-08-03 20:27:12 +01:00
Jonathan G Rennison
b7118b60fe Add setting to enable multiple churches/stadiums in scenario editor
See: #177
2020-08-03 16:39:03 +01:00
dP
452e1e3328 Codechange #8258: Remove unused town cargo caches from the savegame 2020-07-27 17:32:00 +01:00
TechGeekNZ
a10013dd00 Codechange: Spell 'Viewport' consistently
Some places in the codebase misspell 'Viewport' as 'ViewPort' or 'view_port'.
This patch makes everything consistent.
2020-07-27 17:31:29 +01:00
Jonathan G Rennison
1f5de8b82c Auto separation: Remove circular linked list, use new algorithm 2020-07-09 02:15:16 +01:00
Jonathan G Rennison
53f9fa139d Remove redundant year/month date globals 2020-07-07 17:53:54 +01:00