Peter Nelson
09408e8e46
Codechange: Add IsCargoAccepted/Produced() helpers.
2023-05-24 17:34:11 +01:00
Peter Nelson
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
2023-05-22 20:43:40 +01:00
Henry Wilson
3a03a12a9c
Feature: Show the number of industries already built in the Fund New Industry window.
2023-05-12 20:48:11 +02:00
Rubidium
fb856e16c1
Codechange: replace some min/clamp constructs to ClampTo
2023-05-06 21:26:13 +02:00
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
2023-05-04 13:14:12 +00:00
Tyler Trahan
6830e5f5f7
Cleanup: Don't use a magic number when closing processing industries ( #10710 )
2023-04-24 19:58:48 +00:00
Patric Stout
31ad990831
Codechange: move tick-counter into TimerGameTick ( #10712 )
2023-04-24 16:55:40 +00:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
Peter Nelson
087654501b
Codechange: Initialise specs with std::fill/std::copy instead of memset/memcpy.
2023-04-23 15:58:27 +01:00
PeterN
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
2023-04-16 20:00:55 +01:00
Patric Stout
3ebc7ad16e
Codechange: migrate all game-time-related timers to the new framework
2023-04-15 13:58:55 +02:00
Rubidium
e8af8daa68
Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
...
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
2023-04-09 19:00:26 +02:00
Rubidium
580d0a6343
Codechange: make use of Tile in for all direct map accesses
2023-02-28 07:11:48 +01:00
Rubidium
8cbf1be9d6
Codechange: split large function into smaller functions with self-explanatory names
2023-02-25 23:57:36 +01:00
dP
fe2c8a1240
Codechange: Decouple INDUSTRY_CTRL into separate commands ( #10475 )
2023-02-14 11:29:11 +01:00
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
Rubidium
de6bc8e692
Codechange: move TILE_MASK to Map::WrapToMap
2023-01-21 17:11:40 +01:00
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
2023-01-21 17:11:40 +01:00
PeterN
5801442780
Fix: Switch to OWNER_TOWN prevented OWNER_DEITY test during industry prospecting. ( #10360 )
2023-01-17 17:33:03 -05:00
Tyler Trahan
2206c73156
Feature: Set a custom number of industries in map generation window ( #10340 )
2023-01-14 05:12:29 -05:00
Tyler Trahan
dced2d8c30
Fix #10333 , c53f29d: Only show industry prospecting errors to local company ( #10338 )
2023-01-12 14:03:39 -05:00
Daniel Robinson
c53f29df53
Fix #10181 : Show error message on failed industry prospecting ( #10202 )
2022-12-25 23:12:06 +01:00
frosch
9529703cab
Codechange: When checking industry placement conditions, perform cheap checks first. ( #9987 )
...
1. Built-in checks on industry level.
2. Built-in checks on industry tiles.
3. NewGRF-defined checks on industry level.
4. NewGRF-defined checks on industry tiles.
2022-09-01 18:13:43 +02:00
Jonathan G Rennison
b3893878bb
Fix #9867 : Industry::stations_near not filled at industry creation
2022-04-25 19:32:22 +02:00
dP
36bee83864
Change: Deliver cargo to the closest industry first ( #9536 )
2022-02-19 19:08:23 +01:00
J0anJosep
d9a37c915f
Cleanup #9725 : Replace cmd_helper related functions and remove cmd_helper.h.
2022-02-02 21:30:15 +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
58cff7b081
Codechange: Un-bitstuff the remaining on-map commands.
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
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
Michael Lutz
20a30825a0
Fix: Insufficient input validation for CmdIndustryCtrl. ( #9711 )
2021-11-20 23:27:45 +01: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
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
glx22
38c97e1492
Codechange: Replace TILE_AREA_LOOP with range-based for loops
2021-05-13 00:13:54 +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
Patric Stout
fece1c57ca
Codechange: Suppress warnings when asserts are disabled ( #8917 )
2021-04-01 11:16:19 +02:00
frosch
d9b4413bc9
Codechange: rename sound ids to make more sense. ( #8701 )
2021-02-20 19:01:04 +01:00
dP
bab7de6cf2
Feature: Allow GameScripts to add additional text to Industry view window
2021-01-22 09:50:53 +00:00
frosch
b3d048dfcf
Change: [NewGRF] industry special flag 19 now specifically targets only passenger production, instead of the second cargo of any water-based industry. ( #8590 )
...
This behavior is less surprising to NewGRF authors, and may even be intentional behavior for some industries.
2021-01-18 22:42:10 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +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
Niels Martin Hansen
b7751c483e
Feature: Influence industry production changes from GS ( #7912 )
2020-12-22 14:21:31 +01:00
Pavel Stupnikov
c9fd85528a
Add: new economy "frozen" that stops production changes and industry closures ( #8282 )
2020-12-14 23:35:07 +01:00
frosch
df5362a008
Fix #8311 , b98c7763de4: Industry probability at map generation was scaled differently when set via property or callback.
2020-09-24 19:29:52 +02:00
Michael Lutz
6d3c2edc59
Add: [NewGRF] Industry behaviour flag to override second cargo production clamping for water industries when using smooth economy.
...
Smooth economy is only used when the corresponding setting is enabled and the industries does not use the production callback.
2020-06-28 15:33:37 +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
Jonathan G Rennison
c3223903ed
Codechange: Cache resolved town, station and industry name strings
2020-01-12 19:37:43 +00:00
Jonathan G Rennison
f1734e7815
Change: Only resort industry directory window on production change if necessary
2020-01-12 19:37:43 +00:00
Niels Martin Hansen
86107028a4
Fix: Allow old NewGRF industries to blank out in/out cargo slots ( #7882 )
2019-12-29 14:36:45 +01:00
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL 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
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
glx22
880680304d
Fix 53f8d0b81: signed/unsigned warnings ( #7803 )
2019-10-26 01:34:19 +02:00
Niels Martin Hansen
53f8d0b815
Codechange: Use std::vector for industry tile layouts
2019-10-19 17:16:25 +01:00
abmyii
ac21118736
Fix #7703 : Prevent sounds being produced by inactive industries ( #7752 )
2019-10-12 10:16:16 +02:00
Niels Martin Hansen
5feb06e3f3
Add: Scale oil refinery edge distance up by map size
...
Also scales oil rig distance up, since they use the same algorithm.
2019-08-17 22:02:22 +01:00
peter1138
f538179878
Feature: Multi-tile docks and docking points.
2019-06-30 16:46:32 +02:00
Charles Pigott
5b34c8019f
Codechange: Remove Company/OwnerByte types
2019-04-29 17:40:22 +01: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
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
2019-03-26 20:15:57 +00:00
PeterN
a4073895ae
Fix #7411 : Use industry production callback (if used) on initial industry cargo generation. ( #7412 )
2019-03-25 19:30:23 +00:00
Peter Nelson
8b1b3fd0f9
Feature: Non-rectangular sparse station catchment area.
2019-03-09 16:33:47 +00:00
peter1138
94b40fd530
Codechange: Convert IndustryVector to a std::set.
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
Niels Martin Hansen
e66cec8f86
Add: NewGRF support for 16-in-16-out industries
2018-11-03 21:43:54 +01:00
Niels Martin Hansen
8859381d30
Add: Industries can produce and accept up to 16 different cargoes
2018-11-03 21:43:54 +01:00
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
2018-05-21 22:08:39 +01:00
frosch
6347e5f11e
(svn r27932) -Fix (r0) [FS#6639]: Forest, candyfloss forest and battery farm skipped the first animation frame.
2017-11-25 16:50:28 +00:00
peter1138
27033a2231
(svn r27841) -Fix: Don't consider locks or ship depots as clear water when placing industries.
2017-04-02 17:36:53 +00:00
rubidium
9daf7e749c
(svn r26879) -Codechange: remove most MayHaveBridgeAbove calls since the data is now always accessible
2014-09-21 11:24:51 +00:00
alberth
87dd209784
(svn r26729) -Feature: Warn about missing industries after generating a map.
2014-08-13 19:31:45 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
planetmaker
2aa545a842
(svn r26457) -Codechange: Remove unused parameter from SetIndustryCompleted
2014-04-12 11:43:04 +00:00
frosch
03169121c2
(svn r26328) -Fix: Warnings and compilation failures.
2014-02-10 17:13:54 +00:00
rubidium
c7629735a3
(svn r26312) -Codechange: iterate the nearby tiles instead of the industry list for a conflicting industry when the number of industries is really large (MJP)
2014-02-06 21:05:00 +00:00
rubidium
30a95966ec
(svn r26308) -Fix-ish: do not try to build more towns/industries than the pool can hold (MJP)
2014-02-06 20:42:09 +00:00
zuu
e50478c053
(svn r25853) -Codechange: Simplify SetupFarmFieldFence by replacing the Axis and north parameter with a direction parameter and taking adventage of the new unified SetFence function (cirdan, LordAro)
2013-10-12 22:28:38 +00:00
zuu
fb5dc7762b
(svn r25852) -Codechange: Merge GetFenceXX/SetFenceXX into one common GetFonce/SetFence for all directions that take an extra direction parameter (cirdan, LordAro)
2013-10-12 22:23:43 +00:00
zuu
e7c6786016
(svn r25850) -Codechange: Merge IsBadFarmFieldTile and IsValidFarmFieldTile into IsSuitableForFarmField (cirdan, LordAro)
2013-10-12 22:17:11 +00:00
zuu
dfb5663313
(svn r25849) -Codechange: Introduce IsTileFlat to not compute full slope information for situations when we only want to know if a tile is flat or not (cirdan, LordAro)
2013-10-12 22:07:58 +00:00
alberth
1b5b4db690
(svn r25238) -Feature: Display imminent closure of an industry in its view window.
2013-05-12 19:38:30 +00:00
planetmaker
c24374f99c
(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow)
2013-01-08 22:46:42 +00:00
frosch
3ce8d2ce70
(svn r24846) -Add: Advanced settings to disable certain sound effects.
2012-12-23 21:09:09 +00:00
zuu
0826994821
(svn r24623) -Feature: Allow GameScripts to construct and prospect industries without having a sponsor
2012-10-22 18:56:21 +00:00
frosch
bcac3d16b6
(svn r24513) -Add: [Script] ScriptIndustryType::IsProcessingIndustry.
2012-09-08 12:14:00 +00:00
frosch
a8c88f43b6
(svn r24284) -Codechange: Remove NewsSubtypes and directly use NewsTypes and NewsFlag instead.
2012-05-26 14:16:03 +00:00
frosch
a0be398da9
(svn r24283) -Codechange: Add AddTileNewsItem function to preemptively deduplicate code.
2012-05-26 14:15:57 +00:00
frosch
16b310d8ce
(svn r24186) -Feature: [NewGRF] Callback to set industry production level on construction. (andythenorth)
2012-04-28 16:44:01 +00:00
frosch
789c95d4b8
(svn r24185) -Codechange: Deduplicate some only partly deduplicated code.
2012-04-28 16:07:28 +00:00
rubidium
41e5c839e0
(svn r24179) -Codechange: move some variables of Town to TownCache
2012-04-25 20:50:13 +00:00