mmtunligit
07177467b3
Feature: Signs, waypoint and station names may be moved ( #14744 )
2025-11-24 14:56:19 -05:00
Peter Nelson
98275ee5d3
Codechange: Use enum class for water-related enums. ( #14804 )
2025-11-19 20:35:11 +00:00
davidxn
4e24c205d6
Fix 741c431: Miscalculated cargo penalty for poor station rating ( #14712 )
2025-11-18 20:18:02 +00:00
Peter Nelson
30955da3ce
Codechange: Use enum class for Roadside.
2025-11-17 20:46:05 +00:00
Rito12
70bf84175f
Add: Show height difference in bridge is too low error message. ( #14614 )
2025-10-24 16:27:11 -04:00
Peter Nelson
fd32d1447e
Codechange: Remove StationIDStack and SmallStack.
...
Use a std::vector or std::span instead.
2025-10-23 21:02:27 +01:00
Rubidium
e58fdb8840
Codefix: shadowing of variables
2025-09-28 01:19:32 +03:00
Peter Nelson
80e58e751a
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-09-24 22:45:18 +01: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
Tyler Trahan
20067d2db5
Doc: Update station rating comments and doxygen.
2025-09-20 19:28:40 -04:00
Tyler Trahan
2ab3b5516f
Codechange: Early continue for cargos not moved by this station
2025-09-20 19:28:40 -04:00
Peter Nelson
5f84ff5c3f
Change: Allow bridges over docks. ( #14594 )
2025-09-08 21:43:31 +01:00
Peter Nelson
6613da5d7e
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-09-04 21:11:02 +00: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
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
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
Peter Nelson
2c59838acb
Codechange: (re)set multiple bitset flags in one call. ( #14017 )
2025-04-18 14:07:57 +01:00
frosch
31e716449d
Codechange: Change StationNameInformation to not use macros. ( #14020 )
2025-04-18 15:06:46 +02:00
frosch
03ed59a004
Codechange: Turn AnimationStatus into an enum class.
2025-04-15 20:42:44 +02:00
Loïc Guilloux
dc3e8a07e6
Fix #13928 , 35e58f6: BuildOilRig did not properly set airport rotation ( #13929 )
2025-03-30 22:33:01 +00:00