Tyler Trahan
0fc21b5686
Fix: Engine age is in months, not days ( #10773 )
2023-05-06 11:54:38 -04:00
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
2023-05-04 13:14:12 +00:00
Tyler Trahan
930f0a16d8
Codechange: Define Date/Year/Month/Day within TimerGameCalendar class
2023-04-26 07:14:03 -04:00
PeterN
1697dff744
Change: Hide all variants from UI when (display) parent is hidden. ( #10708 )
2023-04-25 20:34:10 +01:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
aeonofdiscord
36f5fe19fe
Fix #10665 : CheckEngines should ignore wagons when determining available vehicles at the start date. ( #10673 )
2023-04-19 05:41:12 -04:00
Patric Stout
3ebc7ad16e
Codechange: migrate all game-time-related timers to the new framework
2023-04-15 13:58:55 +02:00
Peter Nelson
65e0b0dcb7
Codechange: Be consistent with how company masks are set to all.
2023-04-07 22:09:55 +01:00
Michael Lutz
05ed9f56fd
Feature: [NewGRF] Engine name callback.
2023-01-30 22:00:56 +01:00
glx22
012fd2be0d
Codechange: Suppress warnings when asserts are disabled
2022-12-30 02:17:38 +01:00
Peter Nelson
cbf48c4dd9
Change: Add extra random seed to StartupEngines().
...
This means that calling reset_engines will rerandomise introduction dates
and reliability.
Probably not necessary.
2022-12-25 16:41:58 +00:00
Peter Nelson
74180efe7f
Change: Attempt to improve randomisation of reliability
2022-12-25 16:41:58 +00:00
Peter Nelson
3485709f53
Add: Additional vehicle flags to control variants.
2022-12-25 16:41:58 +00:00
Peter Nelson
898dadadb2
Change: Mark build/autoreplace windows dirty less often in monthy loop.
...
These window classes were marked dirty for every engine that had
reliability calculated every month.
2022-12-25 16:41:58 +00:00
Peter Nelson
c11db7d593
Change: Clear last variant when engine becomes unavailable.
2022-12-25 16:41:58 +00:00
peter1138
d7f561a400
Change: Add variant property to engines.
2022-12-25 16:41:58 +00:00
frosch
acf9d786f1
Fix: [NewGRF] Default value of RailVehicleInfo::railveh_type was inconsistent with other default properties. ( #9967 )
...
If a NewGRF assigned neither "power" nor "dual-headed" properties,
then "railveh_type" defaulted to "singlehead-engine", while "power=0" said "it's a wagon".
2022-08-26 20:50:33 +02:00
Michael Lutz
21675ec7e2
Codechange: Un-bitstuff vehicle/engine commands.
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
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
rubidium42
661728558e
Codechange: let IsUnique.* functions accept std::string
2021-05-29 19:02:18 +02:00
PeterN
3dbd6475fe
Codechange: Use C++ features for train wagon overrides. ( #9141 )
...
This removes the need for C-style array management and allows use of iterators to perform wagon override lookups.
2021-04-30 12:03:07 +01:00
dP
7c7c6cde03
Fix: Do not unlock railtypes when enabling wagons with GameScript
2021-04-17 22:26:11 +02:00
Patric Stout
fece1c57ca
Codechange: Suppress warnings when asserts are disabled ( #8917 )
2021-04-01 11:16:19 +02:00
dP
d8dfa1613f
Fix: Recompute road/railtype availability after disabling the engine
2021-03-20 17:55:23 +00:00
Patric Stout
5f591c86fe
Fix 85a49a0d: invalidate airport toolbar when new planes become available ( #8532 )
...
Otherwise if the airport button is disabled, it will remain disabled
until you close/open the toolbar again.
2021-01-08 22:34:21 +01:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
frosch
b08d8c7edb
Cleanup 9f42358: Make also reliability_start randomised independent of introduction date.
2021-01-03 14:56:43 +00:00
frosch
d24a9a9df5
Cleanup 8139b14: Move a comment back to the line it belongs to, and add a comment for new code.
2021-01-03 14:56:43 +00:00
SamuXarick
9f423586ad
Change #8325 : Make engine reliability independent of introduction date ( #8470 )
2020-12-31 17:06:48 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
Michael Lutz
79240eab1e
Codechange: Make use of the improved C++17 emplace_back function.
2020-12-15 00:29:30 +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
Pavel Stupnikov
d7a928a08b
Feature: GS method to control engine availability for a specific company ( #7791 )
...
* Feature: GS method to allow company to use an engine before its introduction date
* Feature: GS method to retire an engine early for a specific company
2020-01-15 18:46:26 +01:00
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL with range-based for loops
2019-12-21 20:13:03 +01:00
glx
1f6b3a37f9
Codechange: Replace FOR_ALL_ENGINES 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
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
2019-05-01 21:36:27 +02:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
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
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
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
Eddi-z
8139b14e9c
Change: Synchronize introduction date and reliability randomness across vehicles with the same base introduction date ( #7147 )
2019-03-02 21:28:22 +00:00
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
Johannes E. Krause
662dcc3c31
Fix #6920 : Make 9.8m/s^2 a common constant for TE-calculation
2018-09-30 20:45:41 +02:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
2018-05-21 22:08:39 +01:00
alberth
ad88588481
(svn r27797) -Add: Display aircraft type in its vehicle window (patch by Samu)
2017-03-18 20:43:43 +00:00
frosch
4b8b9e1cb1
(svn r27700) -Codechange: Simplify railtype date introduction. A check that is safe to run every day before the last railtype has been introduced, is also safe to run after the last railtype has been introduced.
2016-12-20 12:35:36 +00:00
frosch
ee9a54c0a0
(svn r27598) -Fix: Company 0 could accept engine previews before they were offered.
2016-06-09 19:04:53 +00:00
frosch
ebb6e38075
(svn r27578) -Fix [FS#6454]: Vehicles could not be hidden from the purchase list when they were in exclusive preview.
2016-05-22 11:04:34 +00:00
alberth
f72ad87540
(svn r26802) -Add: Command to set visibility of an engine for a company (based on patch by Juanjo).
2014-09-07 16:12:58 +00:00
rubidium
9ed12b0f07
(svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL)
2014-04-25 15:40:32 +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
alberth
24d3594723
(svn r25640) -Fix: Do not suggest a start date for the game when there will be no vehicles available at all.
2013-07-31 07:30:18 +00:00
alberth
46901b73b2
(svn r25639) -Codechange: Rename both 'STR_ERROR_NO_VEHICLES_AVAILABLE*' strings.
2013-07-31 07:25:58 +00:00
rubidium
1efc64fa7d
(svn r25553) -Fix [FS#5530]: provide a warning when no vehicles are available, and tell what to do in that case
2013-07-02 18:57:26 +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
f93602aec9
(svn r24813) -Change: Offer engine previews only to companies which actually use the particular vehicle-type/cargo-type combination.
2012-12-09 16:55:57 +00:00
frosch
51fca5eec7
(svn r24812) -Fix: Close pending preview windows when the engine is introduced to everyone.
2012-12-09 16:55:38 +00:00
frosch
5c358c4173
(svn r24811) -Add: Close engine preview window when another client accepts it.
2012-12-09 16:55:21 +00:00
frosch
0e4b212c45
(svn r24810) -Fix: Make engine preview offers more robust wrt. changes in the company ranking.
2012-12-09 16:55:03 +00:00
yexo
3439769fef
(svn r24660) -Feature: do not display the preview window for disabled vehicle types (Eagle_rainbow)
2012-11-01 22:42:29 +00:00
alberth
0849fb8d36
(svn r24535) -Doc: Two additions, lots of small spelling fixes, and some Doxygen improvements.
2012-09-21 09:47:21 +00:00
frosch
9f9cad1ac9
(svn r24492) -Add: [NoGo] Useful behaviour for GSEngine::IsValidEngine and GSEngine::IsBuildable when outside GSCompanyMode scope.
2012-08-21 19:53:08 +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
fb63991851
(svn r24200) -Fix [FS#5149]: Invalidate build vehicle windows every month, in case they need resorting due to changed reliabilities.
2012-05-05 19:25:20 +00:00
frosch
1777809e14
(svn r23861) -Feature: [NewGRF] New algorithm (activated via an engine flag) to determine the capacity of vehicles. This allows vehicles to better control the capacity for cargotypes which they know; and let cargo NewGRFs influence the capacity for cargos the vehicle NewGRF does not know, but which the vehicle is refittable to due to cargo classes.
2012-01-28 12:11:23 +00:00
frosch
90c53046c7
(svn r23860) -Feature: [NewGRF] Add cargo property 1D to set the capacity multipliers when refitting vehicles, which do not use callback 15.
2012-01-28 12:08:03 +00:00
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
2012-01-03 21:32:51 +00:00
truebrain
9359c6fc47
(svn r23615) -Add: more API functions exposed to NoGo (part 2)
2011-12-19 20:57:34 +00:00
rubidium
3d88c74389
(svn r23526) -Codechange: unify cargos vs cargoes
2011-12-15 21:56:00 +00:00
michi_cc
def8e7215b
(svn r23504) -Feature: Aircraft range.
2011-12-13 00:43:35 +00:00
truebrain
98103121d4
(svn r23355) -Codechange: rename all AI* to Script* (Rubidium)
2011-11-29 23:15:35 +00:00
frosch
0fbad47371
(svn r23176) -Codechange: Deduplicate code between Engine::DetermineCapacity() and Engine::GetDisplayDefaultCapacity().
2011-11-09 16:41:36 +00:00
frosch
88b2e687c2
(svn r23175) -Codechange: Refactor Engine::DetermineCapacity().
2011-11-09 16:40:36 +00:00
frosch
50b480b959
(svn r23174) -Codechange: Deduplicate code between GetEngineProperty() and GetVehicleProperty().
2011-11-09 16:39:34 +00:00
frosch
026317bb44
(svn r23173) -Codechange: Rename GetVehicleCapacity() to Engine::DetermineCapacity().
2011-11-09 16:38:50 +00:00
yexo
e98be8ed24
(svn r23083) -Fix: run StartupEngines() if NewGRFs changed during loading a savegame, just like it's running when NewGRFs are changed during a game
2011-11-03 12:54:02 +00:00
frosch
acc3c75951
(svn r23075) -Codechange: Add GetGRF() and GetGRFID() methods to Engine and Vehicle to simplify code.
2011-11-01 00:23:41 +00:00
frosch
b78a459613
(svn r22977) -Codechange: Rename SetCachedEngineCounts() to GroupStatistics::UpdateAfterLoad().
2011-10-03 17:20:56 +00:00
frosch
b6766c2ed5
(svn r22976) -Codechange: Split group statistics into separate struct.
2011-10-03 17:20:26 +00:00
frosch
7133887ed6
(svn r22975) -Codechange: Do not store Group::num_vehicle in the savegame, but compute it like num_engines on load.
2011-10-03 17:19:54 +00:00
michi_cc
08b7981f37
(svn r22713) -Feature: [NewGRF] Per vehicle custom cargo ageing period.
2011-08-03 20:55:08 +00:00
frosch
5e0bf4ada8
(svn r22690) -Fix: [NewGRF] Aircrafts defined with IDs above the default aircrafts always defaulted to passenger cargo.
2011-07-27 19:38:43 +00:00
rubidium
fb5ecb9499
(svn r22411) -Document: another bunch of bits
2011-05-02 17:42:12 +00:00
frosch
d12c2dfa24
(svn r22250) -Cleanup (r16378): Engines poolitems do not need a flag for validness anymore. The pool knows that on its own.
2011-03-13 22:05:29 +00:00
alberth
bb4d832146
(svn r22239) -Doc: Further engine doxyment additions.
2011-03-13 16:43:00 +00:00
smatz
887a7724dc
(svn r22025) -Fix: verify there is enough space in the pool when creating new pool items while loading old savegames
2011-02-08 18:34:13 +00:00
frosch
ef3ec0f8c8
(svn r21987) -Fix: Make news items, engine previews and AI preview events deal with no longer existing Engine items after resetting the pool.
2011-02-05 20:41:13 +00:00
frosch
faa2a26ae1
(svn r21986) -Codechange: Add helper function to test whether an engine is still associated to a GRF.
2011-02-05 20:37:00 +00:00
frosch
915e339d0f
(svn r21975) -Add: console command to reset the engine pool. It removes the traces of engines which are no longer associated to a NewGRF, and can be used to e.g. 'fix' scenarios which were screwed up by the author. You can only use it when there are no vehicles in the game though.
2011-02-05 16:07:23 +00:00
rubidium
b8c9988d9f
(svn r21842) -Feature [FS#4393]: [NewGRF] Introduction dates/required types for rail types; e.g. introduce a particular rail type in 1960 (or when a vehicle using it is introduced), but also allow limiting its introduction to only happen when the required railtypes are available
2011-01-18 21:30:59 +00:00
rubidium
6371b75bcc
(svn r21841) -Feature: [NewGRF] Allow to define other railtypes that should be introduced if a particular rail type is introduced, e.g. to make sure slow rail is introduced when fast rail gets introduced
2011-01-18 21:28:07 +00:00
smatz
aa4f269f3e
(svn r21652) -Cleanup: one semicolon is enough
2010-12-28 14:22:51 +00:00
rubidium
ab9cc74ba5
(svn r21410) -Codechange: limit engine name by amount of characters, not bytes
2010-12-05 22:24:20 +00:00