Rubidium
38c9eb76a0
Codechange: add and use TileOffsByAxis(...) over TileOffsByDir(DiagDirToAxis(...))
2024-10-23 18:19:17 +02:00
Peter Nelson
9623c28f4d
Change: [NewGRF] Place all 8 bits of station tile layout in var 40/41. ( #12890 )
2024-09-14 21:37:40 +01:00
Peter Nelson
70a2ed062d
Codechange: Rename CBID_STATION_SPRITE_LAYOUT and CBID_STATION_TILE_LAYOUT.
...
These callbacks both select rail station tile layouts, the difference is one happens when drawing, the other happens when building. Change the names to make this clearer.
2024-08-03 14:57:34 +01:00
Loïc Guilloux
29ce013eda
Codechange: Pass avail(able) as reference instead of pointer since they are never nullptr ( #12696 )
2024-05-18 17:04:16 +02:00
Peter Nelson
9f8c9724be
Codechange: Add station/roadstop class labels for DFLT/WAYP.
...
This avoids repeating the same multichar literal value.
2024-05-11 02:12:41 +01:00
Peter Nelson
a6d401debf
Fix: Properly test for presence of waypoint in NewGRF resolver. ( #12579 )
...
Test whether the BaseStation itself a Station or Waypoint, instead of by the station class ID assigned to it.
2024-04-26 17:47:53 +01:00
Peter Nelson
774f811217
Codechange: Use std::optional for town parent scope resolver. ( #12530 )
...
When resolving NewGRF, the parent town_scope is lazily initialised as it does not always need to be used.
Replace the manually managed pointer with std::optional to simplify. Using std::optional avoids extra memory allocation.
2024-04-18 22:14:16 +01:00
Peter Nelson
668186ca5b
Codechange: Remove macros involved with NewGRFClass. ( #12363 )
...
Use direct class instantiation instead.
2024-03-23 21:55:50 +00:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Rubidium
27eadc13ec
Codechange: rename TILE_ADD(XY) to TileAdd(XY)
2024-03-10 15:50:24 +01:00
Peter Nelson
8172e25273
Codechange: Use range-for when iterating station speclists. ( #12212 )
...
This replaces indexed access.
2024-03-03 16:41:02 +00:00
Peter Nelson
278c3a7db1
Codechange: Use reference instead of copy of NewGRF speclist item.
2024-03-02 21:16:15 +00:00
kiwitreekor
8d62a8f0f0
Add: Station variable 6B to get extended station id of nearby tiles ( #10953 )
2024-02-03 11:17:49 +01:00
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
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
9602de474d
Codechange: Use iterators and/or range-for on cargo related loops.
2023-10-19 17:03:25 +01:00
Peter Nelson
b5dc9328f2
Change: Store station blocked/wires/pylons flags in map. ( #11337 )
...
This stores three flags in unused map bits, and avoids having to look up
station graphics and custom station specs to determine blocked/wires/pylons
status.
This potentially affects rail pathfinding performance.
Savegame version is not bumped, as the flags can just be updated every
time.
2023-09-30 12:30:25 +01:00
Peter Nelson
398c7e5f9d
Codechange: Use new function to get a bitmask of empty cargo types.
2023-09-21 18:29:02 +01:00
Peter Nelson
69ee38bd43
Codechange: Use GetAcceptanceMask() instead of duplicating it.
2023-09-21 18:29:02 +01:00
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
2023-09-19 22:49:59 +02:00
PeterN
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
30172fc037
Codechange: cleanup CargoPacket in terms of variable/function names ( #11278 )
...
Over the years, things got reused and changed, making the current
names somewhat unclear in what they actually mean and do.
2023-09-09 23:21:21 +02:00
Patric Stout
07730584d7
Codechange: make explicit when a TileIndex is cast to its basetype ( #11190 )
...
This prevents people accidentially assigning a TileIndex to a Date
or any other type they shouldn't.
2023-08-15 18:12:05 +02: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
Peter Nelson
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
2023-05-22 20:43:40 +01:00
PeterN
bc6a4b1d08
Fix: Set up default station/waypoint classes properly. ( #10789 )
2023-05-08 16:42:01 +01:00
kiwitreekor
3375f25b70
Fix: Var68 for station and roadstop was broken ( #10784 )
2023-05-07 19:04:34 +01:00
Rubidium
fb856e16c1
Codechange: replace some min/clamp constructs to ClampTo
2023-05-06 21:26:13 +02:00
Peter Nelson
912eb68981
Change: Extend entity override manager and station spec lists to support 16 bit IDs.
2023-05-05 07:08:40 +01:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
Jonathan G Rennison
4c1406a4b5
Add: NewGRF road stops
2023-02-26 21:28:30 +01:00
Peter Nelson
22803f997b
Codechange: Use std::vector for station speclist
...
This removes manual memory allocation, although we still manage the list
size in roughly the same way.
2022-11-06 16:50:42 +01:00
frosch
5c66de860d
Fix: [NewGRF] Result bit 0 of callback 14 was not ignored in the GUI.
2022-09-11 21:26:06 +02:00
frosch
f7022925d3
Cleanup: [NewGRF] Callback 14 used a weird value for var10 in the GUI.
...
The value 0x2110000 probably originated from a mixup between callback 14 (sprite layout) and 24 (tile layout).
The latter does indeed use a var10 value like that.
2022-09-11 21:26:06 +02:00
frosch
54ac304828
Fix: [NewGRF] Upper 16 random bits should be the same for all station tiles in callback 140. ( #9992 )
2022-09-03 22:37:03 +02:00
glx22
89ab8b79a5
Codechange: Remove FOR_EACH_SET_BIT
2021-07-09 21:36:09 +02:00
rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +02:00
rubidium42
b791ffc6de
Fix: do not hide parameter by local variable with the same name
2021-05-27 18:30:56 +02:00
glx22
38c97e1492
Codechange: Replace TILE_AREA_LOOP with range-based for loops
2021-05-13 00:13:54 +02:00
Peter Nelson
a3e49178d1
Codechange: Use std::vector for NewGRF station tile sprite layouts.
2021-05-02 17:15:27 +01:00
Peter Nelson
f785a70a2b
Cleanup: Use std::vector in RealSpriteGroup.
2021-05-02 09:41:01 +01:00
glx22
9a8756d7ed
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
2021-04-29 21:08:24 +02:00
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
2020-12-27 10:55:42 +00:00
kiwitreekor
5df01bf95e
Add: [NewGRF] Station variable 6A, querying GRFID of nearby station tiles ( #7956 )
2020-01-29 21:23:23 +01:00
Niels Martin Hansen
c8779fb311
Feature: NewGRF callback profiling ( #7868 )
...
Adds a console command newgrf_profile to collect some profiling data about NewGRF action 2 callbacks and produce a CSV file.
2020-01-26 13:45:51 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
2019-04-10 23:22:20 +02: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
d9d669dcf8
(svn r27984) -Codechange: Make ScopeResolver constructors/destructors inlineable. Speedup sprite resolving by about 8 percent.
2018-03-11 13:19:41 +00:00
frosch
82ae414e8d
(svn r27928) -Fix: [NewGRF] While executing random triggers, var 5F should include the new triggers.
...
-Fix: [NewGRF] Reset used random triggers only after all A123 chains have been resolved, so that all RA2 in all chains can test the shard triggers. This also includes multiple RA2 in the same A123 chain.
-Fix: [NewGRF] Industry random triggers are stored per tile, even when randomising the shared random bits of the parent industry.
2017-10-25 15:38:14 +00:00
rubidium
89c25b955e
(svn r26580) -Codechange: s/GES_PICKUP/GES_RATING/ (it has nothing to do with actual pickup), s/acceptance_pickup/status/ (the enum isn't called GoodEntryStatus for a reason; it's not only acceptance and pickup anymore)
2014-05-11 18:02:11 +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
rubidium
295076155c
(svn r26474) -Cleanup: remove unneeded check for NULL
2014-04-20 15:10:26 +00:00
frosch
6b61c4608f
(svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor.
2014-03-03 20:02:31 +00:00
frosch
b935cb8415
(svn r26387) -Cleanup (r26173): No need to manually clear registers before resolving.
2014-03-03 19:32:53 +00:00
frosch
73c6565cf2
(svn r26240) -Codechange: Pass the GRFFile to GetErrorMessageFromLocationCallbackResult instead of the GRFID.
2014-01-12 18:00:19 +00:00
frosch
db894b0b3f
(svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL.
2013-11-24 14:41:19 +00:00
rubidium
9e216a688f
(svn r26068) -Fix: unneeded NULL check
2013-11-23 18:08:48 +00:00
frosch
29f5eab56c
(svn r25843) -Codechange: Rename MAX_SPECLIST to NUM_STATIONSSPECS_PER_STATION.
2013-10-12 16:35:32 +00:00
frosch
b9528c3aa0
(svn r25221) -Fix: IsCompatibleTrainStationTile() is not a symmetric function. Clarify the parameters and fix the cases were they were swapped.
2013-05-06 13:05:04 +00:00
frosch
5eddbb338b
(svn r25185) -Fix [FS#5508]: Remove ambivalent functions CargoList::Empty() and Count(), and replace them with VehicleCargoList::StoredCount(), TotalCount(), StationCargoList::AvailableCount() and TotalCount(). (fonsinchen)
2013-04-13 13:42:08 +00:00
rubidium
b2292122b6
(svn r25149) -Codechange: replace 'magic' 'has rating' bitcheck by descriptive function
2013-04-06 12:10:16 +00:00
peter1138
c00a400cc7
(svn r24905) -Feature(ish): Implement station randomisation triggers.
2013-01-11 07:39:25 +00:00
peter1138
b935e01513
(svn r24903) -Fix: Cached station animation triggers were only set when removing parts of a station.
2013-01-10 18:58:22 +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
peter1138
fb58c42aa0
(svn r24840) -Fix: Draw NewGRF railtypes in NewGRF station previews.
2012-12-23 15:38:54 +00:00
frosch
883f9bec9b
(svn r24718) -Codechange: Rename GoodsEntry::days_since_pickup to GoodsEntry::time_since_pickup.
2012-11-12 21:59:02 +00:00
frosch
f3be01c26f
(svn r24714) -Fix [FS#5337]: [NewGRF] Draw default foundations if resolving of custom station foundation sprites fails.
2012-11-12 20:13:17 +00:00
frosch
160aa435da
(svn r24712) -Fix [FS#5303]: [NewGRF] Station variables 61 and 62 returned incorrect values, if no vehicle ever tried loading.
2012-11-12 20:12:45 +00:00
frosch
f7fdcc00e5
(svn r24706) -Fix (r10981): [NewGRF] Station var 48 should report acceptance, not supply.
2012-11-12 18:10:42 +00:00
alberth
33ff55a8f1
(svn r24693) -Doc: Add some doxymentation into the newgrf code.
2012-11-10 20:46:39 +00:00
alberth
c417efc962
(svn r24684) -Codechange: Add resolver classes for stations.
2012-11-10 20:41:08 +00:00
alberth
438495b433
(svn r24678) -Codechange: Introduce scope resolver base class and prepare for adding derived classes.
2012-11-10 20:37:31 +00:00
frosch
6bc5d57fdd
(svn r24506) -Fix: Airport variables 60 to 65 an 69 used the wrong CTT for translations. (Alberth)
2012-09-01 19:36:15 +00:00
frosch
c8cb096533
(svn r24402) -Fix [FS#5243]: Station properties 11 and 14 were combined incorrectly.
2012-07-15 16:17:22 +00:00
frosch
5a34b744b1
(svn r24273) -Fix: [NewGRF] GetReverseCargoTranslation() was unnecessary complicated and also returned the wrong thing for cargos not present in the translation table.
2012-05-25 17:23:19 +00:00
frosch
34969178db
(svn r24169) -Add: Make NewGRFClass distinguish between defined specs and specs visible for the user.
2012-04-22 16:28:27 +00:00
frosch
6d9a0ff723
(svn r24168) -Codechange: Simplify default station class instantiation.
2012-04-22 16:28:23 +00:00
frosch
0f0e7e43cf
(svn r24166) -Codechange: Turn NewGRFClass::Get(Tid, uint) and GetCount(Tid) into non-static members GetSpec(uint) and GetSpecCount().
2012-04-22 16:28:14 +00:00
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
2012-01-03 21:32:51 +00:00
frosch
8f4c6d42f9
(svn r23154) -Change: [NewGRF v8] Use heightlevel units in nearby tile info variables. (rubidium)
2011-11-08 17:29:01 +00:00
frosch
cd029465e1
(svn r23141) -Change: [NewGRF v8] Invert result bit 10 of callbacks 149 and 157 to make them consistent with other slope check callbacks. (michi_cc)
2011-11-08 17:24:31 +00:00
frosch
1ad7239247
(svn r23138) -Feature: [NewGRF] Allow passing 32bit parameters to 60+x variables (using var 7B). Currently most useful for vehicle var 60.
2011-11-08 17:23:30 +00:00
rubidium
2ed0f93bfb
(svn r23093) -Codechange: add a default NULL for the Z of GetTileSlope and use it
2011-11-04 10:22:27 +00:00
rubidium
7757a2ed40
(svn r23091) -Codechange: rename some Get*Z functions to Get*PixelZ functions if they return the Z in pixels (like TilePixelHeight)
2011-11-04 10:18:13 +00:00
michi_cc
f66cd97776
(svn r23071) -Codechange: [NewGRF] Allow passing custom extra data through the generic NewGRF animation helper class.
2011-10-31 22:31:35 +00:00
frosch
7f228d6909
(svn r22924) -Codechange: Enhance NewGRFSpriteLayout for drawing construction stages in spritelayouts with inconsistent number of sprites per spriteset.
2011-09-11 15:10:09 +00:00
frosch
c6e29a5b89
(svn r22848) -Add: The missing bits in station variable 43.
2011-08-27 08:42:24 +00:00
frosch
7ec119a574
(svn r22661) -Fix (r22659): Silence a gcc warning.
2011-07-12 16:36:53 +00:00
michi_cc
d579af11e8
(svn r22659) -Add: [NewGRF] Support for the land slope check callback for stations.
2011-07-11 16:32:35 +00:00
frosch
8b18292a2e
(svn r22634) -Codechange: Deduplicate some code. Note that zeroing 'count' is intentionally removed, it is only used together with 'scope'.
2011-07-04 20:31:57 +00:00
terkhen
a619ad3789
(svn r22569) -Feature: [NewGRF] Persistent storage for towns.
2011-06-12 20:50:03 +00:00
terkhen
dd8a436cbb
(svn r22562) -Codechange: Remove constness from TownGetVariable.
2011-06-12 20:37:26 +00:00
terkhen
c98a8308cc
(svn r22558) -Codechange: Remove constness from BaseStation in ResolverObject.
2011-06-12 20:34:03 +00:00
terkhen
e127fca384
(svn r22557) -Codechange: Remove constness from AnimationBase callbacks.
2011-06-12 20:32:52 +00:00
terkhen
05f2a0f391
(svn r22543) -Feature: [NewGRF] Support for station variable 0x69.
2011-06-04 21:24:23 +00:00