summaryrefslogtreecommitdiff
path: root/src/town_cmd.cpp
AgeCommit message (Collapse)Author
2019-03-09Codechange: Make a merged k-d tree index of all viewport signsNiels Martin Hansen
2019-03-09Codechange: Make a k-d tree index of stationsNiels Martin Hansen
2019-03-09Codechange: Make a k-d tree index of townsNiels Martin Hansen
2019-03-09Feature: Non-rectangular sparse station catchment area.Peter Nelson
2019-03-04Add: Option for population-linear town cargo generationNiels Martin Hansen
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-03Fix #7043, Fix #7274: Delete town owned bridge based on adjacent tile ↵PeterN
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-02-28Change: Allow towns to build bridges over rails and one-way roads. (#7291)SamuXarick
2019-01-21Add: Houses can accept up to 16 different cargo types via NewGRF.Niels Martin Hansen
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-17Fix: Some code and comment typosnikolas
Found with codespell
2019-01-12Codechange: Define INVALID_TOWN as a TownID (#7044)Joan Josep
2018-10-31Fix: Protect against a few out of bounds or uninitialised usage errorsCharles Pigott
2018-10-31Doc: Lots and lots of doxymentation fixesCharles Pigott
2018-09-18Fix #6622: Fixes empty company name in news when gamescript constructs a townMax Maton
2018-06-24Feature #6397: Keep town growth rate in sync with house countPavel Stupnikov
Takes some code and ideas from #6378 patch, but doesn't change anything GS-related.
2018-05-21Change: Add CargoTypes type for cargo masks. (#6790)PeterN
2018-05-02Change: Switch town growth rate and counter to actual game ticks (#6763)Pavel Stupnikov
2018-04-28Feature #6610: Allow towns to build houses on road turns (#6758)Pavel Stupnikov
2017-08-13(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)frosch
2017-01-22(svn r27739) -Cleanup/Revert (r12162): Clearing MP_HOUSE with DC_EXEC always ↵frosch
fails, so there is no effect in testing for houses first. (adf88)
2015-10-30(svn r27423) -Fix: When towns expanded single-bit roadtiles using a ↵frosch
grid-layout, they used the layout position of the neighbouring tile.
2015-10-30(svn r27420) -Fix [FS#6362]: GrowTownAtRoad sometimes returned false, even ↵frosch
when a house was built. (_dp_)
2015-06-20(svn r27306) -Fix (r27305): Confused tiles.frosch
2015-06-20(svn r27305) -Fix [FS#6320]: Account for road-bridges and ↵frosch
drive-through-stops in CanFollowRoad.
2015-04-28(svn r27260) -Fix (r27244): economy.allow_town_roads should not affect town ↵frosch
placement during world generation.
2015-04-27(svn r27259) -Fix (r27244): Incorrect merge. (_dp_)frosch
2015-04-25(svn r27249) -Fix [FS#6240]: In some cases town growth failure was ↵frosch
considered as success. (_dp_)
2015-04-25(svn r27248) -Fix [FS#6257]: Town labels on smallmap and zoomed-out ↵frosch
viewports were not centered. (_dp_)
2015-04-25(svn r27247) -Cleanup: Make GrowTownAtRoad return a bool.frosch
2015-04-25(svn r27244) -Change [FS#6245]: Do not consider road junctions with trivial ↵frosch
dead ends as branch points during town growth. (_dp_)
2015-01-01(svn r27105) -Fix [FS#6195]: grow_counter was not properly bounded by ↵rubidium
growth_rate, but by some other value used to calculate growth_rate.
2014-10-15(svn r27020) -Cleanup: some coding style consistency improvements (mostly ↵rubidium
spaces)
2014-09-21(svn r26879) -Codechange: remove most MayHaveBridgeAbove calls since the ↵rubidium
data is now always accessible
2014-04-25(svn r26509) -Codechange: replace strdup with stredup (the latter ensures ↵rubidium
the return is not NULL)
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-02-16(svn r26346) -Fix [FS#5870]: Call Layouter::ReduceLineCache from ↵frosch
GenerateTownName in all cases.
2014-02-16(svn r26345) -Cleanup (r26310): Spawning towns does not touch persistent ↵frosch
NewGRF storage. ClearPersistentStorageChanges is a dangerous/magic function which should not be called without reason.
2014-02-06(svn r26313) -Codechange: use a set for finding unique town names instead of ↵rubidium
iterating all just created town names (MJP)
2014-02-06(svn r26311) -Codechange: use a different method for finding whether there ↵rubidium
is a nearby town when the map has thousands of towns (MJP)
2014-02-06(svn r26310) -Codechange: clean up some caches during town generation to ↵rubidium
keep memory usage significantly lower (MJP)
2014-02-06(svn r26308) -Fix-ish: do not try to build more towns/industries than the ↵rubidium
pool can hold (MJP)
2013-11-25(svn r26104) -Fix: do not attempt to do stuff with an invalid direction, ↵rubidium
especially using it as index into a table
2013-11-22(svn r26051) -Fix: out of bounds access in CmdTownCargoGoalrubidium
2013-11-12(svn r25968) -Add: [Script] ScriptTown::TOWN_GROWTH_NONE to indicate no town ↵frosch
growth via ScriptTown::SetGrowthRate and GetGrowthRate.
2013-10-30(svn r25931) -Fix [FS#5786-ish]: [NoGo] Preserve the relative town growth ↵frosch
progress when changing the town growth rate.
2013-10-28(svn r25922) -Codechange: Rename TOWN_IS_FUNDED to TOWN_IS_GROWING. It is ↵frosch
not tied to funding a town.
2013-10-12(svn r25849) -Codechange: Introduce IsTileFlat to not compute full slope ↵zuu
information for situations when we only want to know if a tile is flat or not (cirdan, LordAro)
2013-10-12(svn r25838) -Codechange: Rename HOUSE_MAX to NUM_HOUSES.frosch
2013-10-12(svn r25833) -Codechange: Move ObjectType from map array into pool item.frosch
2013-09-21(svn r25789) -Fix (r25783): Calling GSTown.FoundTown in world gen caused ↵zuu
world gen to terminate and start the game
2013-09-19(svn r25785) -Feature: [Script] Allow AIs and GS to found towns. Allow GS to ↵zuu
rename towns