Jonathan G Rennison
9ac7623608
Fix #14951 : Init and save/load TimerGameEconomy::days_since_last_month ( #14962 )
2025-12-24 13:00:09 +00:00
Peter Nelson
f1e831233a
Codefix: Mark destructors override. ( #14925 )
...
Remove some empty destructors.
2025-12-19 18:14:29 +00:00
Peter Nelson
ebdc82ad54
Fix #14921 : Crash during station autorefit if station doesn't accept current cargo type. ( #14924 )
...
Add convenience helpers to correctly retrieve goods entry cargo available/totals.
Avoids having to check if cargo data is available before accessing it, which was missing for autorefit.
2025-12-15 18:06:43 +00:00
Rito12
859b56a066
Doc: Correct file descriptions to match coding style and doxygen.
2025-12-15 17:31:00 +01:00
Kuhnovic
8e35553208
Feature: Configurable sign text colors in scenario editor. ( #14743 )
2025-12-08 17:52:19 +01:00
Michael Lutz
170c29b376
Codechange: We are heading to 16 ( #14882 )
2025-12-07 23:16:08 +01:00
Cyprian Klimaszewski
99f04f27de
Doc: Update information for receiving a copy of GPL. ( #14869 )
2025-12-07 11:25:08 +00:00
Peter Nelson
9adc4bfc0f
Codechange: Make order load/unload flags value types. ( #14861 )
...
Order Load and Unload flags have complex logic to ensure that invalid combinations aren't used. In fact, apart from FullLoad and FullLoadAny, all mixed combinations are invalid.
Simplify logic by removing the use of bit values and treat each option as a value.
2025-12-06 18:30:31 +00:00
Peter Nelson
046b0c6267
Codechange: Use enum class and EnumBitSet for various order flags. ( #14783 )
2025-12-06 12:29:11 +00:00
Peter Nelson
821a496495
Codefix 0455627d16: Don't make temporary copies of order when converting old orders. ( #14808 )
2025-11-21 17:26:12 +00:00
Peter Nelson
98275ee5d3
Codechange: Use enum class for water-related enums. ( #14804 )
2025-11-19 20:35:11 +00:00
Peter Nelson
30955da3ce
Codechange: Use enum class for Roadside.
2025-11-17 20:46:05 +00:00
Peter Nelson
2cd5a241c5
Codechange: Use enum class for RoadTileType.
2025-11-17 20:46:05 +00:00
Peter Nelson
2851c70a59
Codechange: Use enum class for RailGroundType.
2025-11-17 20:46:05 +00:00
Peter Nelson
0f5a4290df
Codechange: Use enum class for RailTileType
2025-11-17 20:46:05 +00:00
Peter Nelson
34bbae05db
Codechange: Use enum/EnumBitSet for livery in use flags. ( #14746 )
...
Replaces magic numbers.
2025-11-01 14:25:24 +00:00
Peter Nelson
813cde3735
Fix: Don't set set town index for depot tiles. ( #14729 )
2025-10-24 21:30:50 +02:00
Peter Nelson
06b830dc07
Codechange: Prefer string equality instead of comparison. ( #14727 )
2025-10-24 21:30:03 +02:00
Peter Nelson
8e055156e3
Codefix: Make sure safeguards.h is the last included non-table header. ( #14687 )
2025-10-11 10:22:50 +01:00
Peter Nelson
42c9f84d74
Fix 3ac1a2f1e4: Game crash due to invalid vehicle type information. ( #14628 )
...
Use std::variant instead of union for vehicle info.
RailVehicleInfo is now non-POD so using in a union causes undefined behaviour.
2025-09-24 22:44:41 +01:00
Peter Nelson
2b164111a9
Codechange: Use EnumBitSet for TownFlags. ( #14651 )
2025-09-22 19:04:55 +00:00
Peter Nelson
70d4182850
Fix #14631 , Fix 1cb0cbcb6c: Waypoint customs spec not allocated properly on initial construction. ( #14633 )
...
Split AllocateSpecToStation/RoadStop into Allocate and Assign functions, allowing command tests to occur separately.
2025-09-21 09:32:25 +01:00
Kuhnovic
faacae2c3f
Change: Removed disable_node_optimization YAPF setting ( #14578 )
2025-09-15 21:59:12 +02:00
Peter Nelson
7240ed5817
Cleanup 3ac1a2f1e4: Don't load/save a train's railtypes property. ( #14618 )
...
A train's railtypes property is always reset by Train::ConsistChanged on load, so storing is not necessary.
2025-09-15 08:21:09 +01:00
Michael Lutz
3ac1a2f1e4
Codechange: Store the rail type of rail engines as a RailTypes bitmask.
2025-09-14 17:11:26 +02:00
Peter Nelson
e10200efa4
Change: Allow bridges over locks. ( #14595 )
...
The bridge must be at least 2 levels higher than the lock.
2025-09-10 18:41:56 +01:00
Peter Nelson
5f84ff5c3f
Change: Allow bridges over docks. ( #14594 )
2025-09-08 21:43:31 +01:00
Rubidium
7c0f69a8fe
Codefix: typos in comments and strings
2025-08-31 10:30:37 +02:00
Peter Nelson
e6323e6760
Fix: File/directory titles not updated if language is changed. ( #14542 )
2025-08-28 17:42:00 +01:00
Peter Nelson
2978cfa5c9
Fix fbd71a9d72: Missing space after old file type identifier. ( #14541 )
2025-08-27 18:06:49 +01:00
Jonathan G Rennison
c4912c94e4
Fix: Incorrect use of GetDescription in town/industry load handler ( #14526 )
...
GetLoadDescription should be used instead such that skipping incoming
table fields works as expected
2025-08-25 15:16:04 +01:00
Peter Nelson
9a294ab2ed
Feature: Allow stations and roadstops under bridges.
...
Bridges above stations will have pillars excluded if they conflict with the station layout.
Partly based on the system implemented in JGRPP.
Co-authored-by: <su@angel-island.zone >
2025-08-20 21:40:41 +01:00
Peter Nelson
1cb0cbcb6c
Codechange: Standardise how AllocateSpecToStation/RoadStop are called. ( #14525 )
...
Replace use of negative value with std::optional and update doxygen.
2025-08-19 18:52:36 +01:00
Peter Nelson
bd57aee3a9
Add: Town cargo history graphs. ( #14461 )
2025-08-02 23:19:43 +01:00
Ian Earle
ec7c8dd095
Codefix: Updating doxygen file documentation string for group_sl.cpp ( #14488 )
2025-07-31 12:39:22 -04:00
Peter Nelson
56942a15c7
Add: Industry accepted and waiting history graphs.
...
Records amount of cargo accepted, and a rolling average of the waiting amount.
Average waiting samples the waiting amount once per day for each industry, spread out over an economy day.
2025-07-20 14:03:54 +01:00
Peter Nelson
290144c5c9
Fix #14396 : Industry production graph showed zero instead of N/A.
...
Record the number of valid history records per industry so that the graph avoids showing values which are not present as zero.
2025-07-09 23:02:58 +01:00
Peter Nelson
a46a3a97f3
Change: New company face definition system and UI. ( #14319 )
...
Bits used by company faces are now defined by a variable system instead of being hardcoded, allowing future expansion.
The four face types covering gender and skin colour are now separate face styles with their own definitions.
2025-06-24 07:59:49 +01:00
Jonathan G Rennison
63f1c2aa3a
Codechange: Use TypedIndexContainer for typed index containers
...
Instead of ReferenceThroughBaseContainer
2025-06-12 18:50:49 +01:00
Peter Nelson
e2d066e5d3
Codefix: Effect vehicles don't use v->tile, so shouldn't be in the vehicle tile hash. ( #14302 )
2025-05-26 21:45:46 +01:00
Peter Nelson
b042e7a439
Codefix: Prefer static inline const keyword order. ( #14301 )
2025-05-25 20:32:56 +01:00
Peter Nelson
0455627d16
Codechange: Move ownership of Orders to OrderList. ( #13948 )
...
Removes the orders pool, and orders are now stored directly in each OrderList.
Iterating orders now no longer needs to traverse a linked-list, all orders in an OrderList are sequential.
2025-05-23 10:36:28 +01:00
Peter Nelson
000a79c093
Codechange: Improve performance of evaluating group hierarchy.
...
Store a list of child groups in each group, to avoid having to iterate the group pool to find its children.
2025-05-21 19:50:07 +01:00
Peter Nelson
ce83f583bc
Codechange: Use EnumBitSet for VehicleRailFlags. ( #14280 )
2025-05-19 18:56:45 +01:00
Peter Nelson
0aacd7acb3
Codechange: Use GrfSpecFeature type instead of uint8_t. ( #14253 )
2025-05-12 08:44:39 +01:00
Rubidium
568b70e556
Codechange: replace memmove with std::move(_backwards)
2025-05-11 21:51:57 +02:00
Rubidium
f8aceb6c37
Codechange: use value initialisation over memset
2025-05-09 17:20:41 +02:00
Rubidium
96873dee63
Codechange: use std::array.fill over memset
2025-05-09 17:20:41 +02:00
Peter Nelson
7c834921b2
Codechange: Use FlatSet for per-industry type industry lists.
2025-05-05 14:00:38 +01:00
Rubidium
3f2b39e3f8
Codechange: replace char* where out-of-date
2025-05-04 10:43:56 +02:00