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
Rubidium
3373128233
Codechange: pass the randomizer directly to the town name generation
2023-01-14 22:00:11 +01:00
PeterN
c8cc61d889
Fix #10150 : Force FS_SMALL for small viewport signs. ( #10283 )
...
* Fix #10150 : Force FS_SMALL for small viewport signs.
This is a workaround for string widths being different with mixed
font-sizes.
* Fix: Flag small sign shadow as small text.
(This method of drawing shadows is hilarious and needs replacing, but
this is a quick fix.)
2022-12-25 13:29:38 +00:00
Joel-Milligan
59645c6733
Change: Remove scrollbar from town authority actions panel ( #9928 )
2022-11-11 23:52:38 +01:00
Tyler Trahan
47a998fb0c
Feature: Towns don't build parallel, redundant bridges
2022-10-18 22:02:45 +02:00
Tyler Trahan
fa562ba041
Fix #9712 : Cap town bridge length at original 11-tile limit ( #9890 )
2022-05-14 16:55:39 +02:00
Tyler Trahan
f92cf38ab5
Feature: Allow disabling local authority control of company actions
2022-04-02 22:50:28 +02:00
J0anJosep
d9a37c915f
Cleanup #9725 : Replace cmd_helper related functions and remove cmd_helper.h.
2022-02-02 21:30:15 +01:00
Joan Josep
e890e7db76
Cleanup #9725 : Clean up Doxygen docs and fix typo. ( #9753 )
2021-12-19 16:51:45 +01:00
Michael Lutz
c521b965bd
Codechange: Don't use a global for the terrforming error tile.
2021-12-16 22:28:32 +01:00
Michael Lutz
2e39637db2
Codechange: Don't use a global for the 'not enough cash' message.
2021-12-16 22:28:32 +01:00
Michael Lutz
57b82e2e99
Codechange: Don't use globals for story/goal/sign/group command proc return values.
2021-12-16 22:28:32 +01:00
Michael Lutz
c6d7b98808
Codechange: Un-bitstuff landscape commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
1a42a8a5d5
Codechange: Un-bitstuff town-related commands.
2021-12-16 22:28:32 +01:00
Michael Lutz
46bd2f1ced
Codechange: Un-bitstuff remaining transport infrastructure 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
Patric Stout
2c05412d72
Fix #9407 : desync when founding a town nearby a station ( #9526 )
...
"stations_near" wasn't updated when founding a town near
a station. As this variable is not saved, any client joining
after the town is founded has a different value for
"stations_near", potentially causing desyncs.
As the intention of this if() statement was to skip an expensive
calculation when there are clearly no stations, better to move
that check inside the function, so other places also enjoy
the speedup.
2021-08-31 14:31:37 +02:00
rubidium42
9a7750f14e
Codechange: use the constructor for CompanyNewsItem to fill the data instead of a separate function
2021-07-01 19:04:38 +02:00
rubidium42
aa9818db90
Codechange: create a type for the "free_data" of NewsItems and (de)allocate it with new and delete
2021-07-01 19:04:38 +02:00
Patric Stout
28e90769f7
Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
...
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
2021-06-03 17:30:00 +02:00
rubidium42
4613ababd3
Fix #9316 , 64eddaeb: at about 250.000 inhabitants the bridge length limit check overflows
2021-05-30 15:09:18 +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
Rubidium
296194ad36
Fix: memory leak due to assigning result of strdup to a std::string
2021-05-10 16:03:31 +02:00
William Davis
881e1da51d
Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )
2021-05-08 11:02:30 +01:00
glx22
9a8756d7ed
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
2021-04-29 21:08:24 +02:00
Charles Pigott
dd798d688b
Fix #8919 : Release builds with asserts enabled ( #8925 )
2021-04-01 23:57:49 +01:00
Patric Stout
fece1c57ca
Codechange: Suppress warnings when asserts are disabled ( #8917 )
2021-04-01 11:16:19 +02:00
frosch
4ce941bbc2
Codechange: turn a constant variable into a real constant.
2021-02-14 23:14:07 +01: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
Tyler Trahan
1dda7d6486
Fix: don't walk out of the map when trying to build tunnels ( #8600 )
2021-01-31 10:04:22 +01:00
SamuXarick
8da5cff210
Fix #8462 : Don't check whether to grow a town road on water ( #8471 )
2021-01-09 12:18:31 +01:00
Patric Stout
8e6574dcdb
Revert 78f92130: "Fix #8506 : Towns shouldn't add junctions to NewGRF roads they cannot build ( #8535 )" ( #8541 )
...
As per https://github.com/OpenTTD/OpenTTD/pull/8535#issuecomment-757122918 ,
jumped the gun here.
2021-01-09 12:14:23 +01:00
Tyler Trahan
b0456669c9
Fix #8506 : Towns shouldn't add junctions to NewGRF roads they cannot build ( #8535 )
2021-01-09 10:06:31 +01:00
Tyler Trahan
b08c66a796
Fix 7bdfb38: Drive-thru road stations can be connected at either end ( #8528 )
2021-01-08 18:56:39 +01:00
Tyler Trahan
9c0da686da
Add: Towns can build tunnels ( #8473 )
2021-01-08 18:32:44 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Patric Stout
c7609e767f
Fix #7604 : prevent houses to wander too far from town center when rebuilding ( #8507 )
...
When a multi-tile house is rebuild, it always used the most northern
tile to build the new house. This can very easily lead to houses
wandering off in the north-ish direction (either NW or NE).
To prevent this, pick the tile closest to town center when rebuilding
on a multi-tile house. This still means a house can be build away
from a road, but it is no longer wandering around finding another
town to call home.
2021-01-07 08:01:23 +01:00
Patric Stout
a4e34e824c
Change: towns can now bridge 4 rails (up from 3)
...
Having 4 rails is a pretty common design, and towns now couldn't
bridge out of this common design.
2021-01-06 21:39:34 +01:00
Didac Perez Parera
64eddaeb49
Feature: Make maximum length of town bridges depend on population.
2021-01-06 21:39:34 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
Tyler Trahan
7bdfb382a8
Change: Towns don't build dead-end road bridges ( #8401 )
2020-12-25 00:37:13 +01:00
dP
7045186594
Change #8159 : Remove now unused town cargo caches without bumping the savegame version
2020-06-28 18:23:59 +02:00
Yexo
a82572d0f5
Codechange: remove has_newhouses global
2020-06-01 22:46:06 +02: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
93d1d8773f
Fix: Desync after house replacement
2020-05-18 09:05:39 +01: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
Jonathan G Rennison
c3223903ed
Codechange: Cache resolved town, station and industry name strings
2020-01-12 19:37:43 +00:00
Jonathan G Rennison
22ba048c89
Change: Only resort town directory window on population change if necessary
2020-01-12 19:37:43 +00:00
glx
39e6247bec
Fix #7899 , 196d5868: don't trigger filter changes more than expected
2020-01-05 22:51:27 +00:00
Niels Martin Hansen
f401622149
Feature: Script API to change town rating of companies
2020-01-04 19:07:13 +01:00
glx
ee7a8eebca
Codechange: Replace FOR_ALL_TOWNS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
514565fad6
Codechange: Replace FOR_ALL_OBJECTS with range-based for loops
2019-12-21 20:13:03 +01:00
glx
00c2a98cf3
Codechange: Replace FOR_ALL_INDUSTRIES with range-based for loops
2019-12-21 20:13:03 +01:00
glx
fa9769f81a
Codechange: Replace FOR_ALL_DEPOTS 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
glx
3a14cea068
Codechange: Replace FOR_ALL_COMPANIES with range-based for loops
2019-12-21 20:13:03 +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
frosch
61dba850af
Revert #7837 , 7e22f243e: OpenTTD tries to replicate the original game mechanics.
...
Making numbers look nice and correlate is no goal, and in this case they actually did not correlate.
2019-11-20 08:01:37 +00:00
Yourself
7e22f243ed
Fix: typo in town growth rates ( #7837 )
2019-11-18 16:20:47 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Gabda
b870596f15
Add #6887 : Option to show zone inside local authority boundary of towns
...
Can be found at town information > local authority window
Layout for button is same as Graph Keys
Turn on/off for every town individually
2019-08-17 21:45:20 +01:00
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
Charles Pigott
5b34c8019f
Codechange: Remove Company/OwnerByte types
2019-04-29 17:40:22 +01:00
Charles Pigott
f20b75d712
Codechange: Remove TownLayoutByte type
2019-04-29 17:40:22 +01:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Niels Martin Hansen
cebdd72146
Fix #7440 : Remove town sign when deleting town, not add it once more
2019-04-02 09:46:33 +02:00
Henry Wilson
cc62f4163f
Cleanup: Remove unused size template parameters from SmallMap and Auto[Free|Delete]SmallVector
2019-03-26 20:15:57 +00:00
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
2019-03-26 20:15:57 +00:00
Gabda
dea7f078f4
Codechange: Update town sign on population change only when population is shown ( #7368 )
2019-03-12 19:12:34 +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
Niels Martin Hansen
7b56be0f3a
Codechange: Make a k-d tree index of towns
2019-03-09 20:27:11 +01:00
Peter Nelson
8b1b3fd0f9
Feature: Non-rectangular sparse station catchment area.
2019-03-09 16:33:47 +00:00
Niels Martin Hansen
52572cafa6
Add: Option for population-linear town cargo generation
...
Introduce a new default algorithm for town cargo generation (passengers and mail), and a game setting to choose between the new and original algorithm.
The original town cargo generation algorithm has the property of the generated amount relating to the square of each building's population, meaning large towns easily produce more cargo than can realistically be transported. The problem is excessive cargo is amplified if playing with cargodist.
The new algorithm introduced instead has a linear relation to the population. The result is that smaller towns will produce slightly more cargo, while the largest towns will produce about a fourth of what they would with the original algorithm.
Existing savegames will use the original algorithm, while new games will default to the new algorithm.
2019-03-04 20:19:44 +01:00
PeterN
ebc3934ee6
Fix #7043 , Fix #7274 : Delete town owned bridge based on adjacent tile ownership, not nearest town. ( #7284 )
...
This only affects failed town generation, as towns do not delete bridges under any other circumstances.
The existing test performed badly with a large number of towns due to having to calculate the
nearest town, and also by its nature assumed a bridge was built by the nearest town, leading
to bridges of nearby large towns be removed incorrectly.
If we gain the ability to quickly retrieve the correct town (which is _not_ the nearest town) from the bridge, this change should be reviewed.
2019-03-03 22:28:55 +00:00
SamuXarick
50a0cf1915
Change: Allow towns to build bridges over rails and one-way roads. ( #7291 )
2019-02-28 17:45:17 +00:00
Niels Martin Hansen
48b334cf97
Add: Houses can accept up to 16 different cargo types via NewGRF.
...
New Action0 property 23 for feature 07, variable length, format B n*(B B). Initial byte is number of structures following. First byte in structure is cargo id, second is acceptance level in 1/8 units.
2019-01-21 16:06:25 +01:00
nikolas
d8ccad91f9
Fix: Some code and comment typos
...
Found with codespell
2019-01-17 22:01:07 +00:00
Joan Josep
9aecbac2b4
Codechange: Define INVALID_TOWN as a TownID ( #7044 )
2019-01-12 23:20:10 +00:00
Charles Pigott
b5028efc1f
Fix: Protect against a few out of bounds or uninitialised usage errors
2018-10-31 12:41:49 +01:00
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
Max Maton
eed0da60a2
Fix #6622 : Fixes empty company name in news when gamescript constructs a town
2018-09-18 18:35:26 +02:00
Pavel Stupnikov
9fc3212679
Feature #6397 : Keep town growth rate in sync with house count
...
Takes some code and ideas from #6378 patch, but doesn't change anything GS-related.
2018-06-24 20:55:48 +02:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
2018-05-21 22:08:39 +01:00
Pavel Stupnikov
fef8b831a9
Change: Switch town growth rate and counter to actual game ticks ( #6763 )
2018-05-02 21:01:30 +02:00
Pavel Stupnikov
8d8b9a026a
Feature #6610 : Allow towns to build houses on road turns ( #6758 )
2018-04-28 23:47:36 +02:00
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
2017-08-13 18:38:42 +00:00
frosch
bcc2c7d06e
(svn r27739) -Cleanup/Revert (r12162): Clearing MP_HOUSE with DC_EXEC always fails, so there is no effect in testing for houses first. (adf88)
2017-01-22 13:13:15 +00:00
frosch
ab7ebdcfd9
(svn r27423) -Fix: When towns expanded single-bit roadtiles using a grid-layout, they used the layout position of the neighbouring tile.
2015-10-30 17:17:54 +00:00
frosch
d626962a38
(svn r27420) -Fix [FS#6362]: GrowTownAtRoad sometimes returned false, even when a house was built. (_dp_)
2015-10-30 16:19:09 +00:00
frosch
ab69952f2a
(svn r27306) -Fix (r27305): Confused tiles.
2015-06-20 12:55:17 +00:00
frosch
0e378747db
(svn r27305) -Fix [FS#6320]: Account for road-bridges and drive-through-stops in CanFollowRoad.
2015-06-20 12:40:04 +00:00