Jonathan G Rennison
d06b371254
Cleanup: Fix various spelling errors
2025-02-12 22:44:51 +01:00
Peter Nelson
d61b376998
Codechange: Use EnumBitSet for CargoClasses. ( #13491 )
2025-02-08 08:46:38 +00:00
Rubidium
04d53ed6f5
Codechange: remove operator!=s that are synthesized
2025-02-08 06:37:36 +01:00
Peter Nelson
59354576d4
Codechange: Use EnumBitSet for LandscapeTypes and remove LandscapeID. ( #13436 )
2025-02-01 23:09:18 +00:00
Peter Nelson
40aeedeade
Codechange: Use EnumBitSet for callback masks.
2025-01-31 17:08:24 +00:00
Rubidium
e894a5880c
Codechange: rename CargoID to CargoType and amend related variables/comments
2025-01-26 18:07:10 +01:00
Peter Nelson
041b9181f9
Codechange: Extract code to build cargo acceptance string for re-use.
2024-12-02 00:48:46 +00:00
Peter Nelson
46176a81e3
Add #12975 : Cargo class bits 13 and 14 now define potable and non-potable. ( #12979 )
2024-12-01 13:48:18 +00:00
Peter Nelson
51bd344f10
Change: Use default NewGRF cargo translation table. ( #12646 )
...
Instead of falling back to bitnum lookup or climate-dependent cargo types, install a default cargo translation table that performs either of these functions instead.
This allows better mapping of climate-dependent or bitnum cargo slots, falling back to INVALID_CARGO if they are not defined, and reduces special-casing.
2024-09-23 23:48:03 +01:00
Peter Nelson
3176de3f1d
Codefix: cargo_(dis)allowed for default refit masks are cargo classes, not CargoTypes. ( #12884 )
...
Use an alias for CargoClasses to avoid ambiguity.
2024-07-29 20:58:53 +01:00
Peter Nelson
3ad143c43a
Codechange: Use `x = y` instead of `x{y}` for value-type member initialisation. ( #12501 )
...
This is easier to read and less likely to look like an array definition.
2024-04-15 23:07:36 +01:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Peter Nelson
2fd9096070
Change: Decouple and remove landscape-dependent cargo types. ( #11719 )
...
Cargo types of default engines, industries and houses are now specified in terms of label.
2024-02-04 10:16:08 +00:00
Peter Nelson
17d02ed45f
Feature: NewGRF properties to set town production effect and multiplier. ( #11947 )
...
Town production effect is modelled on town acceptance (growth) effect, and so takes an original cargo slot for behaviour instead of a direct value.
NewGRF feature 0x0B, property 0x1E, takes 1 byte.
Valid values are:
- 0x00 to behave like passengers
- 0x02 to behave like mail
- 0xFF to behave like other cargo (i.e. not produced.)
If not set, town production effect is set based on the cargo label ('PASS' or 'MAIL').
Town production multiplier allows adjusting the amount of cargo produces when Town Production Effect is set, without needing to use callbacks.
NewGRF feature 0x0B (cargo), property 0x1F, accepts a 2 byte (word) value, similar to the cargo capacity multiplier property. The default value is 256 which means 100%, i.e. normal rate.
2024-02-03 13:58:31 +00:00
Peter Nelson
8d69d0549d
Codechange: Add town production effect type and assign to cargo types.
2024-02-02 20:37:49 +00:00
Peter Nelson
60dcf3b5e2
Codechange: Rename TownEffect to TownAcceptanceEffect.
...
This makes it clearer that TownEffect only affects acceptance behaviour.
2024-02-02 20:37:49 +00:00
Peter Nelson
903119115b
Fix 9602de4: FinaliseCargoArray did nothing. ( #11839 )
...
`CargoSpec::Iterate()` deliberately skips invalid cargo types, but `FinaliseCargoCarry()` is only interested in them.
2024-01-19 20:07:47 +00:00
Patric Stout
fd073a2810
Remove: replace custom span with std::span
2024-01-17 00:25:08 +01:00
Rubidium
3a676a5af0
Codechange: replace static inline with static for non-class functions
2024-01-06 13:37:33 +01:00
Peter Nelson
76701c4622
Add: Function to get largest cargo icon size.
2023-12-02 15:23:05 +00:00
Peter Nelson
e4f94747f3
Codechange: Use comparator struct to sort cargo ID by predefined sort order.
...
This allows reuse of the comparator where a typename is used instead.
2023-10-20 18:39:32 +01:00
Peter Nelson
6fb89b189f
Fix #11315 : Sort industries and cargoes by name* in industry chain window.
...
*Cargo types are sorted by the normal method so it's not strictly alphabetical.
2023-09-19 12:25:20 +01:00
Peter Nelson
280dce9543
Codechange: Reorder CargoSpec to reduce alignment padding.
2023-09-17 21:26:01 +01:00
Peter Nelson
e8cbc3c2c7
Codechange: Simplify initialization of default cargoes.
2023-09-17 21:26:01 +01:00
Peter Nelson
14bcfff6f5
Codechange: Rename INVALID_CARGO to INVALID_CARGO_BITNUM
...
... to avoid future ambiguity.
2023-09-17 16:56:07 +01:00
Rubidium
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
9f6fec01cd
Codechange: rename cargo aging days to periods, as they are not really days ( #11112 )
2023-07-12 13:20:02 -04:00
Rubidium
68ff3fd062
Change: include fmt.h C++ headers in stdafx.h
...
This to prevent compilation issues between runs with and without precompiled
headers. Also remove the headers from the rest of the code base as they are
not needed there anymore, although they do relatively little harm.
2023-05-08 16:49:23 +02:00
Henry Wilson
89cf0d5da8
Codechange: Factor cargotype weight conversion magic numbers
2022-11-08 21:02:08 +01:00
Michael Lutz
1a42a8a5d5
Codechange: Un-bitstuff town-related commands.
2021-12-16 22:28:32 +01:00
Jonathan G Rennison
fc58ed9987
Codechange: Remove CargoSpec::multipliertowngrowth which is unused ( #9701 )
...
This is set by cargo property 19.
This property is only implemented in TTDPatch.
2021-11-16 22:48:21 +00:00
Rubidium
d83647f9a7
Fix #9440 : negative cargo payments not being handled right
...
Cargo payments were stored as unsigned integer, but cast to int64 during
application of inflation. However, then being multiplied with a uint64
making the result uint64. So in the end the payment that should have been
negative becomes hugely positive.
2021-08-02 20:44:53 +02:00
glx22
a543a4b7bb
Codechange: Remove FOR_EACH_SET_CARGO_ID
2021-07-09 21:36:09 +02:00
glx22
5844027eb8
Codechange: Remove FOR_ALL_SORTED_STANDARD_CARGOSPECS
2021-07-09 21:36:09 +02:00
frosch
9f8d0b1bee
Fix: Resolve cargo-types of default vehicles via their cargo label.
...
Default vehicles now behave as if they had a cargo translation table. This fixes default vehicles carrying seemingly random cargos, if NewGRF industry sets are present.
This behavior is disabled, when a NewGRF touches any of the cargo-type or refitting properties. In that case it's up to the NewGRF to define its own cargo translation table.
2021-05-13 23:28:43 +02:00
glx22
9a8756d7ed
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
2021-04-29 21:08:24 +02:00
Peter Nelson
20ac0b4148
Cleanup: Replace FOR_ALL_SORTED_CARGOSPECS macro with range iterator.
2021-04-28 23:54:31 +01:00
PeterN
fbc232569c
Fix #9097 : Upper 16 bits of cargo base payment rate were discarded. ( #9098 )
...
NewGRF spec says that base payment rate is 32 bits, but it was loaded into a 16 bit variable. This value is loaded into Money variable after inflation is applied.
2021-04-24 22:27:47 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
glx
0797de06be
Codechange: use std::vector for _sorted_cargo_specs
2019-04-18 21:49:34 +02:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
2018-05-21 22:08:39 +01:00
smatz
3a3162865b
(svn r24915) -Fix: Several out-of-bounds reads
2013-01-14 21:16:56 +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
59951051a0
(svn r24848) -Fix [FS#5386]: Consider regearing-like cargos as no-cargo in cargo filters.
2012-12-23 22:12:52 +00:00
alberth
732e073261
(svn r24776) -Doc: Typo fixes, additions, and additional dots collected from various sources (including Eagle_rainbow, MinchinWeb)
2012-12-01 13:12:39 +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
truebrain
1c9bec1999
(svn r23640) -Fix: stop using FORCEINLINE (1/3rd of the instances were, the others were still regular inline), but make sure inline is always a 'forced' inline (I am looking at you MSVC)
2011-12-20 17:57:56 +00:00
rubidium
df16ebd730
(svn r23595) -Codechange: add comma after last enum to get a more uniform coding style
2011-12-19 17:48:04 +00:00
rubidium
3d88c74389
(svn r23526) -Codechange: unify cargos vs cargoes
2011-12-15 21:56:00 +00:00