Peter Nelson
f57065dd41
Codefix: Avoid using override keyword as variable names.
...
Rename variables named `override`.
2025-04-09 22:02:35 +01:00
Peter Nelson
981b2a94db
Codechange: Store loaded GRFFiles in vector directly. ( #13940 )
...
Removes pointer management.
2025-04-06 20:16:57 +01:00
Peter Nelson
2ae84f3c9e
Codechange: CargoSpec::Iterate already tests cargo validity. ( #13941 )
2025-04-01 18:23:26 +01:00
Peter Nelson
047497734b
Cleanup: Remove redundant NewGRF clean up functions. ( #13927 )
...
These functions no longer clean up manually managed memory, they simply clear GRFFile's vectors of unique_ptrs. This will happen anyway when the GRFFile is deleted.
2025-03-31 20:33:09 +01:00
Peter Nelson
828e808444
Codechange: Split NewGRF loader into separate Action handlers.
2025-03-23 16:59:36 +00:00
Peter Nelson
0b7fa11a5b
Codechange: Move NewGRF string mapping to own file.
2025-03-23 16:59:36 +00:00
Peter Nelson
2cb389946d
Codechange: Move GrfProcessingState to separate file.
...
Allows reuse by other files.
2025-03-23 16:59:36 +00:00
Peter Nelson
fe9dfa2b08
Codechange: Move NewGRF ByteReader to own file.
2025-03-23 16:59:36 +00:00
Peter Nelson
21d2a94809
Codechange: Use EnumBitSet for GrfMiscBits. ( #13873 )
2025-03-22 21:07:59 +00:00
Peter Nelson
e47082bf7b
Codefix: Don't look up NewGRF Action 6-modified data twice. ( #13863 )
2025-03-21 18:13:31 +00:00
Rubidium
c13226cdf8
Codefix: do not leave pointers to stack allocations in globals
2025-03-15 21:46:43 +01:00
Rubidium
dae788e2e3
Codefix: do not trust allocation sizes coming from a file
2025-03-15 21:44:40 +01:00
Rubidium
cf96a97e95
Codefix: remove unneeded looping logic
2025-03-15 21:42:28 +01:00
Rubidium
754311a779
Codechange: use std::move when appropriate
2025-03-13 13:00:24 +01:00
Peter Nelson
ec71f7a216
Codechange: Use std::array for temporary NewGRF loading data.
...
This allows initialisation without memset.
2025-03-09 18:03:50 +00:00
Peter Nelson
2a05a845df
Feature: Snow-covered rocks are now visible.
2025-03-04 20:39:08 +00:00
Rubidium
8b7c92dfe3
Codechange: explicitly initialise NewGRF-pool-object member variables
2025-02-22 15:34:44 +01:00
Rubidium
b64e8c0aea
Codechange: use std::vector/std::span over MallocT for NewGRF bridge sprites
2025-02-22 15:34:32 +01:00
Rubidium
3e511f2ce7
Codechange: remove ZeroedMemoryAllocator from GRFFile
2025-02-22 14:58:26 +01:00
Jonathan G Rennison
8566030c53
Cleanup: Adjustments to comments to match code changes ( #13636 )
2025-02-22 13:28:35 +00:00
Peter Nelson
9de913dd21
Codechange: Use helper to set grf_prop's grffile and grfid together. ( #13612 )
2025-02-18 22:33:13 +00:00
Peter Nelson
8f14894024
Add: NewGRF Badges.
2025-02-16 22:24:25 +00:00
Peter Nelson
0af5d5a9e6
Codechange: Make non-generic GRF string ids unique per feature.
...
This prevents engine name strings conflicting with generic strings if more than 53,248 engines are defined.
2025-02-16 22:24:25 +00:00
Rubidium
fd4adc55e3
Codechange: replace INVALID_X with XID::Invalid() for PoolIDs
2025-02-16 20:23:00 +01:00
Rubidium
7e04651220
Codechange: strongly type EngineID
2025-02-16 14:50:15 +01:00
Rubidium
9015c3651f
Codechange: make EngineID an enum
2025-02-16 14:50:15 +01:00
Rubidium
a50c953854
Codefix: Clone should make a clone, not copy some data to another instance
2025-02-16 12:31:25 +01:00
Rubidium
faa845398f
Codechange: use std::vector for NewGRFSpriteLayout registers
2025-02-16 12:31:25 +01:00
Rubidium
44506ebc86
Codechange: use span size over terminator object
2025-02-16 11:19:12 +01:00
Peter Nelson
ff7eb996e6
Codechange: Use variable storage for GrfProps with cargo-type groups. ( #13557 )
...
Slots are only allocated when used instead of being reserved.
Array-based GrfProps are still used when the number of options is more limited.
2025-02-14 18:30:17 +00:00
Rubidium
069ff846e4
Codechange: use std::vector/std::span for DrawTileSprites over malloc-ed table
2025-02-14 16:01:45 +01:00
Jonathan G Rennison
d06b371254
Cleanup: Fix various spelling errors
2025-02-12 22:44:51 +01:00
Peter Nelson
1ed685b5c1
Codechange: Use EnumBitSet.Any(). ( #13512 )
2025-02-09 20:16:16 +00:00
Peter Nelson
d61b376998
Codechange: Use EnumBitSet for CargoClasses. ( #13491 )
2025-02-08 08:46:38 +00:00
Peter Nelson
fb70a7fe7e
Codechange: Use EnumBitSet for IndustryTileSpecialFlags.
2025-02-07 12:30:06 +00:00
Peter Nelson
1916454776
Codechange: Use EnumBitSet for IndustryLifeTypes.
2025-02-07 12:30:06 +00:00
Peter Nelson
2bb3f368e3
Codechange: Use EnumBitSet for IndustryBehaviours.
2025-02-07 12:30:06 +00:00
Peter Nelson
17f6da413d
Codechange: Use EnumBitSet for RoadStopSpecFlags.
2025-02-04 18:52:08 +00:00
Peter Nelson
1a6e7f2162
Codechange: Use EnumBitSet for StationSpecFlags.
2025-02-04 18:52:08 +00:00
Peter Nelson
e114ed357d
Codechange: Use EnumBitSet for ObjectFlags. ( #13441 )
2025-02-02 21:15:03 +00:00
Peter Nelson
6f52a977a8
Codechange: Use EnumBitSet for GRFConfigFlags.
...
This is renamed from `GCF_Flag` didn't match convention.
2025-02-02 10:49:45 +00:00
Peter Nelson
59354576d4
Codechange: Use EnumBitSet for LandscapeTypes and remove LandscapeID. ( #13436 )
2025-02-01 23:09:18 +00:00
Peter Nelson
95bd53ddf1
Codechange: Use EnumBitSet for BuildingFlags.
2025-02-01 14:16:25 +00:00
Peter Nelson
113205c540
Codechange: Use EnumBitSet for HouseExtraFlags.
2025-02-01 14:16:25 +00:00
Peter Nelson
6c4ddb242a
Codechange: Use EnumBitSet for EngineMiscFlags.
2025-01-31 18:55:31 +00:00
Peter Nelson
5664b1e2f6
Codechange: Use std::vector for GRFConfig lists. ( #10835 )
...
This replaces the C-style custom managed linked-list and allows use of iterators etc.
2025-01-31 17:09:09 +00:00
Peter Nelson
40aeedeade
Codechange: Use EnumBitSet for callback masks.
2025-01-31 17:08:24 +00:00
Peter Nelson
b9ae833e96
Codechange: Use std::array for water features.
...
Replaces a memset() with fill().
2025-01-31 17:08:24 +00:00
Peter Nelson
917d5cc75d
Codechange: Use EnumBitSet for RoadTypeFlags and RailTypeFlags. ( #13415 )
2025-01-30 22:08:51 +00:00
Peter Nelson
05ac1dd888
Codechange: Use EnumBitSet for TileFlags.
2025-01-29 21:46:39 +00:00