Peter Nelson and GitHub
8f2266f0ed
Codechange: Use range-for when validating and finalising industries. ( #11744 )
2024-01-09 22:36:09 +00:00
Peter Nelson and Peter Nelson
97e2bc612c
Codechange: Rename and move SpriteGroup-specific cargo types into a namespace.
...
These 'cargo types' have special defined uses and must not be used elsewhere. This makes it clearer that they are special.
2024-01-09 18:56:05 +00:00
Peter Nelson and Peter Nelson
952d111b94
Codechange: Split CT_INVALID into CT_INVALID and INVALID_CARGO.
...
INVALID_CARGO is a CargoID and should be used for most purposes in game.
CT_INVALID is a CargoType used for defining default properties.
2024-01-09 18:56:05 +00:00
Peter Nelson and GitHub
33ff64ef74
Codechange: Simplify ConvertDateToYMD by returning YearMonthDay instead of outputting to a pointer. ( #11637 )
2023-12-28 21:34:08 +00:00
Peter Nelson and GitHub
e5aed24395
Codechange: Use std::array for industry tile cargo acceptance. ( #11498 )
...
This avoids use of memcpy/memset to copy or fill.
2023-11-27 23:17:55 +00:00
Tyler Trahan and GitHub
235ac0bceb
Codechange: Reword rail/road type label constants ( #11451 )
2023-11-10 17:37:22 -05:00
Peter Nelson and GitHub
ab535c0a86
Codechange: Add base() method to StrongType to allow access to the base type without casting. ( #11445 )
...
This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit.
2023-11-06 20:29:35 +00:00
Rubidium and rubidium42
c6411168d8
Cleanup: missing spaces before continuation * in some comments
2023-11-01 22:56:11 +01:00
Rubidium and rubidium42
37f84b7372
Codechange: replace x.size() != 0 with !x.empty()
2023-10-20 23:05:43 +02:00
Rubidium and rubidium42
f16399f4c9
Codechange: replace x.size() > 0 with !x.empty()
2023-10-20 23:05:43 +02:00
Rubidium and rubidium42
c9276c2959
Codechange: replace x.size() == 0 with x.empty()
2023-10-20 23:05:43 +02:00
Peter Nelson and GitHub
bc8e26f4e7
Codechange: Simplify usage of GRFFile cargo_map. ( #11349 )
2023-10-20 18:38:54 +01:00
Peter Nelson and Peter Nelson
9602de474d
Codechange: Use iterators and/or range-for on cargo related loops.
2023-10-19 17:03:25 +01:00
Peter Nelson and GitHub
5869f790d8
Fix: Check for engine variant loops during NewGRF initialization. ( #11343 )
...
Invalid NewGRFs could set up an engine variant loop that never ends. This
was checked for in some places that evaluated variants, but not all. In
most cases this would result in the engines not appearing, but could
potentially cause an infinite loop and crash.
Instead, during NewGRF initialization detect loops and remove invalid
variants before setting display flags.
2023-10-03 12:14:32 +01:00
frosch and frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
2023-09-19 22:49:59 +02:00
PeterN and GitHub
acd7d3c913
Codechange: Rename *Railtype* to *RailType* for consistency. ( #11287 )
2023-09-11 08:55:12 +00:00
Tyler Trahan
77173a6a10
Codechange: Move date consts and functions to CalendarTime and TimerGameCalendar classes
2023-09-10 08:40:25 -04:00
Patric Stout and GitHub
299570b2c1
Codechange: make TimerGameCalendar Date and Year types strongly typed ( #10761 )
2023-08-12 18:14:21 +00:00
Patric Stout and GitHub
b7acf9e50e
Codechange: use TimerGameCalendar::Year and friends when working with years ( #11188 )
2023-08-12 16:02:31 +02:00
Tyler Trahan and GitHub
c7b51a8c3a
Codechange: Use proper date types in various places ( #11177 )
2023-08-11 13:32:42 +00:00
Jonathan G Rennison and GitHub
f31a25cd59
Change: Do not allow mixing road/tram types in powered road type list ( #11148 )
...
Road/tram property 0F
2023-07-19 19:51:21 +02:00
Rubidium and rubidium42
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
rubidium42 and GitHub
9f6fec01cd
Codechange: rename cargo aging days to periods, as they are not really days ( #11112 )
2023-07-12 13:20:02 -04:00
Rubidium and rubidium42
18a31cca7c
Codechange: do not make a string valid in place, to then copy it
2023-07-06 19:59:50 +02:00
PeterN and GitHub
509471f7f8
Codechange: Use std::optional for GRFConfig::GRFError ( #11066 )
...
This changes the semantics from "object pointer ownership" to "optional object", and simplifies copies.
2023-06-25 11:57:58 +01:00
Peter Nelson and PeterN
9dd9b8ec74
Fix #11054 : Prevent translation of currency codes.
...
Most languages stick with the 3-letter latin currency codes in the name
string, however some translations are... clever... and use the currency
symbol instead. Whilst this may look nice, it can cause issues with fonts
as some scripts have a specific limited set of fonts which do not include
these symbols.
Instead, hard code the currency code list and add it when drawing the
currency name.
2023-06-23 16:47:32 +01:00
Rubidium and rubidium42
d4c2043294
Codechange: remove a number of unneeded c_str() calls
2023-06-15 22:14:45 +02:00
PeterN and GitHub
0b663f709d
Codechange: Sprite mapping for objects doesn't involve cargo types. ( #10905 )
...
Objects have a default sprite group and an optional purchase list sprite
group. There is no need to pretend that these are cargo IDs.
2023-06-02 08:25:13 +00:00
Peter Nelson and PeterN
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
2023-05-22 20:43:40 +01:00
Rubidium and rubidium42
3323402aaa
Codechange: rename smallvec_type to container_func and use only when needed
2023-05-20 16:53:10 +02:00
Peter Nelson and PeterN
6b87fe6540
Codechange: Use std::array for GRF(File|Config) parameters.
...
This simplifies comparison, copying and assignment operations.
2023-05-19 16:53:56 +01:00
Peter Nelson and PeterN
c23aae96a2
Codechange: Use std::array instead of C array for automatic deep-copies.
2023-05-19 16:53:56 +01:00
Peter Nelson and PeterN
f14479d27d
Codechange: Use std::optional for GRF Parameter list.
2023-05-18 20:48:37 +01:00
Peter Nelson and PeterN
c38df2d589
Codechange: Use std::map instead of custom SmallMap.
2023-05-18 12:18:30 +01:00
Peter Nelson and PeterN
83f2ad500e
Codechange: stdarg.h include not needed as cstdarg is included.
2023-05-17 10:14:41 +01:00
Peter Nelson and PeterN
56085be9bd
Codechange: Move includes for common STL headers to stdafx.
2023-05-17 10:14:41 +01:00
Peter Nelson and PeterN
0b72297d57
Feature: Increase number of stations/roadstops per NewGRF.
2023-05-05 07:08:40 +01:00
Peter Nelson and PeterN
bc7dfd7b46
Add: Station property 1C/1D to set name/classname.
...
These are an alternative to the original "generic" C4xx/C5xx method,
which can only assign strings to IDs up to 256.
2023-05-05 07:08:40 +01:00
Peter Nelson and PeterN
d6f35a9fd6
Change: Add placeholders for unimplemented NewGRF station properties.
2023-05-05 07:08:40 +01:00
Peter Nelson and PeterN
e5c9a3e527
Change: Read Action 3 IDs as extended-bytes for all features.
...
This can be done because previous the value 0xFF (which indicates an
extended byte) was reserved for this purpose. Other features which may
not have mentioned reserving 0xFF do not allow this many IDs anyway.
This makes Action 3 consistent across all features. The allowable limits
for each feature do not change.
2023-05-05 07:08:40 +01:00
Peter Nelson and PeterN
10baecd81f
Change: Make Action 3 debug messages more consistent.
2023-05-05 07:08:40 +01:00
Rubidium and rubidium42
3901ef9760
Codechange: use std::string for the GRF filenames
2023-05-04 23:23:32 +02:00
Rubidium and rubidium42
f78aa1e720
Codechange: use std::unique_ptr to manager GRFErrors in GRFConfig
2023-05-04 23:23:32 +02:00
Tyler Trahan and GitHub
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
Peter Nelson and PeterN
20d2558f1b
Fix: Clear church/stadium flags when copying house substitute specs.
2023-04-26 06:46:07 +01:00
Peter Nelson and PeterN
64782cf005
Fix #10627 : Houses subsitute specs should only be copied on first definition.
...
Before #10627 , substitue specs were always copied despite redefinition.
2023-04-26 06:46:07 +01:00
PeterN and GitHub
7535eb65e2
Codechange: Use vector instead of mallloc/free for Action 6 data. ( #10713 )
2023-04-26 06:45:11 +01:00
Rubidium and rubidium42
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Patric Stout and GitHub
31ad990831
Codechange: move tick-counter into TimerGameTick ( #10712 )
2023-04-24 16:55:40 +00:00