Rubidium
8cbf1be9d6
Codechange: split large function into smaller functions with self-explanatory names
2023-02-25 23:57:36 +01:00
Jonathan G Rennison
9c915f05ec
Fix: Water infrastructure accounting when building docks
2023-01-29 23:15:53 +01:00
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
2023-01-21 17:11:40 +01:00
Patric Stout
1fb101eabb
Codechange: address CodeQL issue "Multiplication result converted to larger type" ( #10306 )
...
Most are very unlikely to ever be triggered in our codebase; two
stand out: linkgraph and money cheat. Those, potentially, could
wrap earlier than expected.
2023-01-02 20:30:02 +00:00
Peter Nelson
138198e971
Change: Separate ground sprite from foundation sprite offsets.
2022-12-23 15:43:11 +00:00
SamuXarick
a8a7f95665
Change: Allow to build dock on clearable watered object tiles ( #8514 )
2022-11-08 21:04:14 +01:00
Jonathan G Rennison
4dc741a8a0
Fix #10011 : Incorrect infrastructure totals when overbuilding bay road stop ( #10143 )
...
Fix https://github.com/OpenTTD/OpenTTD/issues/10011
2022-11-06 16:46:11 +01:00
PeterN
f59f0195e3
Fix: Wrong string used to determine size of zoomed out station sign. ( #10036 )
2022-09-20 20:54:42 +01:00
Patric Stout
100aca1848
Fix: CmdRemoveRoadStop didn't validate the height property properly ( #9945 )
...
Height was a unsigned 32bit integer, where TileAddWrap uses a
signed 32bit integer for the height. In result, there was an
implicit cast from unsigned to signed, messing things up.
But looking at it from a functional perspective, allowing such
large values is not sensible. In fact, width is restricted to
just a 8bit integer. By changing height to a 8bit integer too,
the implicit cast will never make a positive value negative anymore.
2022-07-09 12:27:58 +02:00
Jonathan G Rennison
19af139631
Fix #9937 : Station industries_near incorrect after removing part moved sign
...
RecomputeCatchment was being called before moving the sign tile
instead of afterwards
2022-06-29 12:49:55 +02:00
Tyler Trahan
f92cf38ab5
Feature: Allow disabling local authority control of company actions
2022-04-02 22:50:28 +02:00
Tyler Trahan
fbbc80f79e
Fix #9020 : Update station coverage highlight when adding/removing tiles
2022-03-10 20:54:45 +01:00
J0anJosep
d9a37c915f
Cleanup #9725 : Replace cmd_helper related functions and remove cmd_helper.h.
2022-02-02 21:30:15 +01:00
Jonathan G Rennison
4844268d1c
Fix #9774 : CmdBuildRoadStop updated station acceptance in estimate mode
2021-12-30 20:39:10 +01:00
Michael Lutz
c6d7b98808
Codechange: Un-bitstuff landscape commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
55170ae703
Codechange: Un-bitstuff rail commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
6fe445e6c0
Codechange: Un-bitstuff station/depot/waypoint commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
e740c24eb7
Codechange: Template DoCommand to automagically reflect the parameters of the command proc.
...
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
2021-12-16 22:28:32 +01:00
Michael Lutz
7048e1522f
Codechange: Move flags in CommandProc in front of the command arguments.
2021-12-16 22:28:32 +01:00
Michael Lutz
33ca4f2b99
Codechange: Let the compile generate the master command table out of templated command traits.
...
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.
2021-12-16 22:28:32 +01:00
Michael Lutz
b6933a2ebd
Codechange: Move command arguments to the back of the DoCommand function call.
2021-12-16 22:28:32 +01:00
Loïc Guilloux
38a64eb2aa
Change: Allow all tiles around docks to be docking tiles ( #9578 )
2021-09-26 19:31:55 +02:00
SamuXarick
18247bb3b8
Fix #9521 : Don't load at just removed docks that were part of a multi-dock station ( #9524 )
2021-09-18 13:25:07 +02:00
Nicolas Chappe
b83820e723
Change: [Linkgraph] Delete links only served by vehicles stopped in depot
...
A stale link is not deleted if the link refresher finds a vehicle that still serves it.
This commit excludes vehicles stopped in depot for a very long time from the link refresher,
so that their stale links can be deleted.
2021-08-20 22:37:03 +02:00
Joan Josep
cc38a42b07
Fix 659989af45: Set appropriate town window dirty when building/removing airports. ( #9497 )
2021-08-18 14:33:32 +02:00
Nicolas Chappe
977604ef08
Feature: [Linkgraph] Prioritize faster routes for passengers, mail and express cargo
...
Passengers usually prefer fast paths to short paths.
Average travel times of links are updated in real-time for use in Dijkstra's algorithm,
and newer travel times weigh more, just like capacities.
2021-08-17 14:57:59 +02:00
dP
c1d79398d5
Fix: Use of unstable sort when distributing cargo production can cause desyncs
2021-08-01 07:43:49 +02:00
glx22
89ab8b79a5
Codechange: Remove FOR_EACH_SET_BIT
2021-07-09 21:36:09 +02:00
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +02:00
glx22
5799402f7a
Codechange: Rename window related DeleteXXX to match new behaviour
2021-05-29 21:08:25 +02:00
rubidium42
2e136285e1
Codechange: move from C-string to std::string for DoCommand
2021-05-29 19:02:18 +02:00
rubidium42
661728558e
Codechange: let IsUnique.* functions accept std::string
2021-05-29 19:02:18 +02:00
rubidium42
b791ffc6de
Fix: do not hide parameter by local variable with the same name
2021-05-27 18:30:56 +02:00
rubidium42
44ca7d9377
Change: Use gender-neutral pronouns
2021-05-15 10:16:48 +02:00
glx22
38c97e1492
Codechange: Replace TILE_AREA_LOOP with range-based for loops
2021-05-13 00:13:54 +02:00
glx22
2feb801e56
Codechange: Replace FOR_ALL_ROADTRAMTYPES with range-based for loops
2021-05-03 19:46:57 +02:00
Jonathan G Rennison
ece9a356dc
Fix #9113 : Assertion failure when removing airport with order backup ( #9182 )
2021-05-03 15:03:25 +01:00
Peter Nelson
a3e49178d1
Codechange: Use std::vector for NewGRF station tile sprite layouts.
2021-05-02 17:15:27 +01:00
Peter Nelson
bd1a20f6ee
Codechange: Use std::vector for NewGRF station platform layouts.
...
This avoids the need to custom memory management and additional members.
This also resolves use-after-free if modifying copied layouts, so presumably nobody has ever done that.
2021-05-02 17:15:27 +01:00
glx22
9a8756d7ed
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
2021-04-29 21:08:24 +02:00
Jonathan G Rennison
25909b06d2
Fix #8809 : Crash when removing airport when hangar window open
2021-03-07 17:59:38 +00:00
SamuXarick
a4035af337
Codechange: Apply coding style ( #8640 )
...
* Fix: Missing or needed spaces
* Codechange: Remove space
* Codechange: Remove space
* Codechange: More missing spaces
* Codechange: Missing spaces
* Codechange: Remove space
* Codechange: Remove space
2021-02-05 11:00:36 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
SamuXarick
79d938b957
Fix 0125892: Warning about unsigned unary minus
2021-01-07 21:42:10 +00:00
SamuXarick
f84a466ca5
Fix #7945 : Add cost of clearing the sloped tile when placing a dock ( #7947 )
2021-01-07 10:35:09 +01:00
gooball
0125892f04
Fix #8297 : Infrastructure counters for road tunnels, bridges, depots … ( #8454 )
...
The previous fix 887e9481ff0e70df6bf93ce15a3899a03f124c50 only worked for roads and failed to consider a multiplier used for the infrastructure totals for tunnels/bridges.
Also, depots and bus/truck stops are counted as 2 road pieces on creation but were only counted as 1 road piece on conversion because the function DiagDirToRoadBits() was used, which only ever returns single-piece road segments.
Co-authored-by: A. S <admin-git@sotai.tk>
2020-12-28 22:54:28 +01:00
glx22
d8605ad18d
Codechange: Replace FOR_VEHICLE_ORDERS with range-based for loops
2020-12-27 10:28:46 +00:00
Pavel Stupnikov
9a45a0f535
Feature: Set exclusive access to industry from GS ( #8115 )
2020-12-22 14:29:48 +01:00
Michael Lutz
63ccb36ef3
Codechange: Use std::string for most of the user-settable custom names.
2020-05-21 20:02:34 +02:00
dP
f2a9a1e2a5
Fix #8137 : New clients can't join (desync) after funding an industry
2020-05-13 08:43:01 +01:00
dP
7bd52970a1
Codechange: Refactor FindStationsAroundTiles to avoid code duplication
2020-05-13 08:43:01 +01:00
glx
9339e4dcad
Fix #8081 : Check for waypoints when removing docking tiles
2020-04-12 08:46:55 +02:00
SamuXarick
ea7044a74b
Fix f5381798: Station::GetTileArea reduced docks to a single tile ( #8014 )
2020-02-22 15:51:58 +01:00
Niels Martin Hansen
3fcb240f8e
Fix d84b67e5: Station rating effects affecting too large area
2020-02-06 16:39:25 +01:00
Jonathan G Rennison
c3223903ed
Codechange: Cache resolved town, station and industry name strings
2020-01-12 19:37:43 +00:00
dP
1225693b9c
Feature: Improved logic of sharing industry production between 3 or more stations
2020-01-12 14:01:12 +00:00
SamuXarick
40605efd1c
Codechange: Use KDTree for AirportGetNearestTown ( #7424 )
2019-12-24 17:37:30 +00:00
glx
ee7a8eebca
Codechange: Replace FOR_ALL_TOWNS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
9892d90b26
Codechange: Replace order related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
ddabfed1cd
Codechange: Replace station related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
Jonathan G Rennison
35dc377a58
Fix: Infrastructure total update when removing tram road stop
...
The wrong road owner was used when updating the tram infrastructure total.
This could result in desyncs, negative infrastructure totals, etc.
2019-12-08 15:12:56 +01:00
Niels Martin Hansen
9900af38f5
Fix #7847 : Use ViewportSign coordinates for sign Kdtree coordinates ( #7849 )
...
Ensure the same coordinates are used for station/town/player signs regardless of how the landscape changes below it after the coordinates were first determined.
By keeping track of whether each ViewportSign is valid for Kdtree use (and only ever registering the viewport sign when the object is valid) a lot of code can be simplified and become more robust at the same time.
2019-12-01 23:17:33 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Jonathan G Rennison
2be619ea88
Fix #7820 : Heap use after free when removing oil rig
2019-11-03 00:39:38 +01:00
Charles Pigott
2f4de0a0fe
Fix #7733 : Crash when removing a dock next to an industry without a station
2019-10-26 00:35:01 +01:00
JMcKiern
04f659e768
Fix: Some typos found using codespell
2019-09-29 21:27:32 +01:00
Daniel Lee
2d9eb1c417
Fix #7626 : Allow building drive-through stops over one-way/blocked roads owned by towns (instead of crashing).
2019-09-06 23:21:40 +02:00
Juriy Petrochenkov
f0aea2d246
Fix: RemoveAirport function now returns with 'Aircraft in the way' error message as it should be.
2019-08-13 16:42:22 +01:00
peter1138
ec2656ab7e
Codechange: Restrict docking points of docks.
2019-06-30 16:46:32 +02:00
peter1138
f538179878
Feature: Multi-tile docks and docking points.
2019-06-30 16:46:32 +02:00
peter1138
402e18b460
Change: Allow building road stops over self-owned one-way/blocked road.
2019-05-04 22:39:29 +01:00
Niels Martin Hansen
d1ef13fc04
Fix #7481 : Just remove oil rig stations right away, don't clean them first
2019-05-03 09:50:01 +02:00
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
PeterN
abe8cf4985
Codechange: Replace duplicated code with TileArea::Expand() ( #7467 )
2019-04-13 14:12:34 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
kiwitreekor
bc9b47d2e5
Fix #6222 : Advanced sprite layout sometimes showed incorrect railtype ground tile
2019-04-08 18:41:07 +01:00
PeterN
e1069eee05
Codechange: Check airport layout would fit within map bounds before iterating tiles. ( #7429 )
2019-03-30 22:20:26 +00:00
PeterN
b6e3e30d86
Codechange: Distance between town and airport has already just been found, so use it. ( #7427 )
...
Previously the distance was thrown away, only to be expensively recalculated again.
2019-03-29 17:43:06 +00:00
PeterN
7fb77ff35a
Fix: Incorrect display of industry production around tiles. ( #7426 )
...
Display of industry production around tiles (as shown when placing a station)
did not take account of the station catchment changes, so still showed production
from an industry even if it was not covered by a tile.
This is fixed by making a set of nearby industries that are covered, instead of
looping over all possible industries.
2019-03-27 23:10:02 +00:00
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
2019-03-26 20:15:57 +00:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
297fd3dda3
Codechange: Replaced SmallVector::Include() with include()
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
ca2f33c6d0
Codechange: Replaced SmallVector::Erase() with std::vector::erase()
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Niels Martin Hansen
ce10d9be3f
Fix #7374 : Ensure k-d trees are always updated when station sign moves
2019-03-24 19:26:13 +01:00
peter1138
b00a861467
Codechange: Make FindStationsAroundTile() out-parameter stations const to prevent incorrect modification.
2019-03-13 08:40:25 +00:00
peter1138
6b92b83128
Fix #7372 : FindStationsAroundTiles() with caching returns no result for industry tiles.
...
Currently this can only be triggered by NewGRF house tiles querying for cargo acceptance history
of nearby stations (var 0x64) with a tile offset, and providing an offset that happens to point
to an industry tile. This serves no useful purpose.
2019-03-13 08:40:25 +00:00
Johannes E. Krause
ba3d7122df
Cleanup: Remove questionable syntax in station rating calculation
2019-03-13 07:47:32 +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
Peter Nelson
943c58e468
Fix: Show industry name in Land Area Information window for oil-rig type stations instead of just 'Oil Rig'
2019-03-09 18:16:33 +00:00
Peter Nelson
8b1b3fd0f9
Feature: Non-rectangular sparse station catchment area.
2019-03-09 16:33:47 +00:00
peter1138
ed6084523d
Codechange: Convert StationList from SmallVector to std::set.
2019-03-09 16:33:47 +00:00
PeterN
dd20ccee88
Feature: Industries with neutral stations (e.g. Oil Rig) only supply/accept cargo to/from their neutral station. ( #7234 )
...
This change is a controlled by a game setting, located under Environment ->
Industries which allows toggling the behaviour. It defaults to enabled.
"Company stations can serve industries with attached neutral stations"
When enabled, industries with attached neutral station (such as Oil Rigs) may
also be served by company-owned stations built nearby. This is the traditional
behaviour.
When disabled, these industries may only be served by their neutral station.
Any nearby company-owned stations won't be able to serve them, nor will the
neutral station serve anything else other than the industry.
2019-03-08 18:30:44 +00:00
SamuXarick
456e67ac1c
Change: Owner of vehicle with exclusive transport rights may now load cargo from neutral stations ( #7256 )
2019-02-21 21:23:37 +00:00
Juanjo
45ce517105
Codechange: Move some common code after adding/removing tiles to a station to its own function.
2019-02-18 22:57:43 +01:00
Peter Nelson
81330b8d6e
Change: Add path cache for ships.
2019-01-19 23:11:17 +00:00