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
truebrain
229e572663
(svn r23298) -Add: track statistics of all incoming and outgoing goods. Incoming based on TownEffect, outgoing based on CargoType (based on patch by Terkhen)
2011-11-23 16:05:19 +00:00
frosch
ed4f806f1d
(svn r20283) -Codechange: Unify start of doygen comments.
2010-08-01 19:22:34 +00:00
rubidium
d2364c32ed
(svn r19790) -Change: use the typed FOR_EACH_SET_BIT for CargoIDs (adf88)
2010-05-11 21:01:01 +00:00
terkhen
869fac9964
(svn r19573) -Fix (r19541): Special cargos did not appear at the refit list.
2010-04-07 14:17:29 +00:00
terkhen
8660890bbb
(svn r19539) -Codechange: Use a macro to loop through the list of sorted cargo specifications.
2010-04-02 12:20:41 +00:00
terkhen
4ec8fed1da
(svn r19534) -Add: Keep a list of cargo specifications sorted by cargo class / name.
2010-04-01 19:48:28 +00:00
alberth
41d2214e7e
(svn r18413) -Doc: Added doxygen strings for cargo-type related enums, structs, and functions.
2009-12-05 21:39:28 +00:00
alberth
c38f3ce380
(svn r18410) -Codechange: Move GetCargoSprite() to CargoSpec::GetCargoIcon().
2009-12-05 16:00:58 +00:00
frosch
79627b4f89
(svn r17976) -Codechange: Move CargoClass to cargotype.h and clean up including of newgrf_cargo.h
2009-11-05 19:46:17 +00:00
rubidium
64bafcbe18
(svn r17534) -Codechange: unify the naming of callback masks/flags
2009-09-14 12:22:57 +00:00
frosch
eb1306110a
(svn r17435) -Codechange: Move _cargo_payment_rates[] to CargoSpec::current_payment.
2009-09-06 20:36:17 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00