Rubidium
c60378a0eb
Fix #14802 : close NewGRF inspection window when overbuilding with default station/waypoint
2025-12-08 21:36:43 +05:00
Richard Wheeler
18649c800b
Fix: Bridge deck sprites were not toyland aware ( #14821 )
2025-12-08 21:29:33 +05:00
Peter Nelson
f0d0bf4447
Codechange: Use enum class for water-related enums. ( #14804 )
2025-12-08 21:09:43 +05:00
davidxn
05284ba193
Fix 741c431: Miscalculated cargo penalty for poor station rating ( #14712 )
2025-12-08 20:46:54 +05:00
Peter Nelson
0112fa8ce3
Codechange: Use enum class for Roadside.
2025-12-08 20:42:04 +05:00
Rito12
3a7260c2d6
Add: Show height difference in bridge is too low error message. ( #14614 )
2025-12-08 19:58:55 +05:00
Peter Nelson
57e48db628
Codechange: Remove StationIDStack and SmallStack.
...
Use a std::vector or std::span instead.
2025-12-08 19:54:33 +05:00
Rubidium
892c02dc86
Codefix: shadowing of variables
2025-12-08 16:48:23 +05:00
Peter Nelson
2af7a99984
Fix #14607 : Bridge-over-station discrepancy depending on build order. ( #14608 )
...
When building a custom station, the callback-derived tile layout is ignored during the bridge height test. This caused a discrepancy between building a station under a bridge vs building a bridge over the same station.
Test the station tile layout callback during the bridge height test.
2025-12-08 16:41:12 +05:00
Peter Nelson
2c9ac37b62
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-12-08 15:53:20 +05:00
Tyler Trahan
99df8b41e6
Doc: Update station rating comments and doxygen.
2025-12-08 15:53:11 +05:00
Tyler Trahan
415bbb00c4
Codechange: Early continue for cargos not moved by this station
2025-12-08 15:53:06 +05:00
Peter Nelson
5833ac7497
Change: Allow bridges over docks. ( #14594 )
2025-12-08 15:36:15 +05:00
Peter Nelson
676de198bd
Fix #14586 , Fix 069ff846e4: Empty station tile layouts incorrectly substituted with default layouts. ( #14587 )
...
It is no longer possible for a layout to be missing, so the nullptr check should have been removed.
2025-12-08 15:35:59 +05:00
dP
8404c2a7cc
Merge remote-tracking branch 'upstream/master'
2025-09-28 02:33:49 +05:00
Rubidium
4fb749886a
Codefix: typos in variable/constant/function names
2025-08-31 10:30:37 +02:00
Peter Nelson
54f328beeb
Codechange: Remove output pointer from GetTileArea(). ( #14530 )
...
This simplifies things and removes undocumented type `ETileArea`
2025-08-22 21:27:31 +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
f30f808b50
Codechange: Implement tile proc handler to test for building bridge over tile.
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
376b2f42c9
Fix 0878f71051: Incorrect station layout for even platform counts. ( #14515 )
2025-08-13 23:18:26 +01:00
Peter Nelson
0878f71051
Codechange: Add RailStationTileLayout iterator. ( #14510 )
...
This allows iterating a predefined or calculated rail station layout without allocating extra memory and copying.
2025-08-13 17:23:19 +01:00
Peter Nelson
1ccbd735d8
Codechange: Extract function to draw custom rail station foundations. ( #14492 )
2025-08-06 23:46:53 +01:00
Peter Nelson
921d83c324
Codechange: Unify structures with sprite sub-tile bounds and simplify bounding boxes. ( #14424 )
...
Lots of different structs contain variations on sub-tile bounds with different naming. Unify into a single struct that can be inherited and passed directly to AddSortableSpriteToDraw.
At the same time, offsets now work more logically: sub-tile bounds now specify the bounding box, and an offset can be applied to the sprite.
2025-07-22 00:02:00 +01:00
Jonathan G Rennison
f0447d59d4
Codechange: Use StationID as StationIDStack Titem type
2025-07-20 16:06:03 +02:00
Peter Nelson
b2de1ff66f
Fix #14433 : Broken road stop drawing due to incorrect modes conversion. ( #14434 )
...
The mask was treated as a single RoadStopDrawMode instead of a RoadStopDrawModes bitset.
2025-07-14 17:25:53 +01:00
Peter Nelson
5766ba51d7
Codefix: Clean up incorrect indentation for multi-line comments. ( #14383 )
2025-06-20 19:01:44 +01:00
dP
f0f93c68ca
Merge remote-tracking branch 'upstream/master'
2025-06-14 17:01:17 +05: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
7c9393e822
Codechange: Remove terminator from airport tile lists. ( #14306 )
2025-05-27 20:23:59 +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
dP
df3a6e321f
Merge remote-tracking branch 'upstream/master'
2025-05-14 18:41:13 +05:00
Peter Nelson
a7019b859c
Codechange: Use DiagDirections when checking for flat buildable tiles.
2025-05-07 17:31:29 +01:00
frosch
6faa667644
Codechange: Remove global GetRegister(), instead return 100+ registers directly from GetXxxCallback().
2025-05-06 22:24:41 +02:00
frosch
74030a63e6
Codechange: Move SpriteLayoutProcessor's operations closer to the ResolverObject.
2025-05-06 22:24:41 +02:00
frosch
8bbfbd0347
Codechange: Move spritelayout preprocessing to a separate class, which owns the heap allocations involved.
2025-05-06 18:30:42 +02:00
frosch
d9c43e7fda
Codechange: Make TileLayoutSpriteGroup::ProcessRegisters return a DrawTileSpriteSpan on the stack, instead of a reference to a global.
2025-05-06 18:30:42 +02:00
frosch
0d5b3ebd7f
Codechange: Declare all IntervalTimers const, which can be const.
2025-05-06 18:29:41 +02:00
Peter Nelson
b06273f716
Codechange: Use FlatSet when searching tiles around stations.
2025-05-05 14:00:38 +01:00
Peter Nelson
2c4897c2cd
Codechange: Use EnumBitSet for HouseZones. ( #14137 )
2025-04-28 20:27:43 +01:00
frosch
b7e7f08f78
Codechange: Simplify usage of GRFFileProps by adding some common helper methods.
2025-04-28 13:44:46 +02:00
frosch
f62f728187
Codechange: Move usage of ResolverObjects to newgrf_xxx.cpp ( #14116 )
2025-04-26 20:53:50 +02:00
frosch
1ea1dbd19e
Add: [NewGRF] Station/roadstop animation-triggers 'tile loop' (bit 7) and 'path reservation' (bit 8). ( #14080 )
2025-04-26 14:44:55 +02:00
frosch
2bee313642
Codechange: Replace FindVehicleOnPos with 'for' loop.
2025-04-22 22:12:59 +02:00
frosch
d7ddea4032
Codechange: Turn AnimationTrigger enums into enum classes. ( #14067 )
2025-04-21 20:53:31 +02:00
frosch
61a0a520f6
Codechange: Unify random trigger enums and turn them into enum classes. ( #14066 )
2025-04-21 20:03:34 +02:00
frosch
f399b8eb29
Codechange: Unify naming of NewGRF animation callbacks.
2025-04-21 19:06:13 +02:00
Peter Nelson
fc45bb5a2b
Codechange: Replace bitstuffed VehicleEnterTileStatus. ( #14027 )
...
VehicleEnterTileStatus was an bitset-style enum, but bitstuffed with a StationID. However the StationID part was only used by trains, and only in two locations.
Instead, return just the enum bitset. The two places which require the StationID just call GetStationIndex() directly.
2025-04-20 21:10:02 +01:00
frosch
b956af631e
Codechange: Replace CircularTileSearch with SpiralTileSequence.
2025-04-20 12:50:45 +02:00
frosch
cde350dc01
Codechange: Replace macros GENERAL_SPRITE_COLOUR and COMPANY_SPRITE_COLOUR with functions GetColourPalette and GetCompanyPalette.
2025-04-18 23:41:37 +02:00