Peter Nelson and GitHub
7a0d9ba2d7
Codechange: use AutoRestoreBackup when loading NewGRFs ( #15612 )
...
Dates, counters and display options are now automatically restored.
2026-05-19 07:14:23 +01:00
Peter Nelson and GitHub
e7845e48dc
Codechange: make DisplayOption a scoped enum/enum bitset ( #15611 )
2026-05-19 06:21:38 +01:00
Peter Nelson and Peter Nelson
2868060660
Codechange: make LiveryScheme a scoped enum
2026-05-18 20:05:19 +01:00
Peter Nelson and Peter Nelson
7d70a7b9e9
Codechange: add LiverySchemes as EnumBitSet
2026-05-18 20:05:19 +01:00
Peter Nelson and GitHub
a7a025623e
Codechange: make RailVehicleType a scoped enum ( #15576 )
2026-05-04 22:58:05 +01:00
Jonathan G Rennison and rubidium42
bbe5dbf230
Cleanup: Correct various spelling errors
2026-04-27 21:05:08 +02:00
Peter Nelson and Peter Nelson
77403627a8
Codechange: make VehicleType a scoped enum
2026-04-26 07:00:13 +01:00
Peter Nelson and Peter Nelson
174ff5d914
Codechange: add helpers to get original engine count/offset
...
Avoids exposing raw C-style arrays.
2026-04-26 07:00:13 +01:00
Peter Nelson and Peter Nelson
c45aa3c9b6
Codechange: use EnumBitSet for CargoTypes
2026-04-21 17:13:31 +01:00
Peter Nelson and GitHub
8341beb345
Codechange: add functions to convert between GrfSpecFeature and VehicleType ( #15517 )
...
Removes various different casts.
2026-04-20 19:17:48 +01:00
Peter Nelson and GitHub
2bf84ea78c
Codechange: make GrfSpecFeature a scoped enum ( #15487 )
2026-04-19 19:04:27 +01:00
Peter Nelson and GitHub
a5a60c8615
Codechange: make RoadTramType a scoped enum, and use EnumBitSet ( #15477 )
2026-04-13 18:15:41 +01:00
Peter Nelson and Peter Nelson
636fcf3af3
Codechange: make TownProductionEffect a scoped enum
2026-04-12 14:46:54 +01:00
Peter Nelson and GitHub
dd1c5c1a8a
Codechange: make GRFTempEngineData::Refittability a scoped enum ( #15462 )
2026-04-11 20:11:01 +01:00
Peter Nelson and Peter Nelson
5aae8e2d64
Codechange: make Subdirectory a scoped enum
2026-04-05 21:46:07 +01:00
Peter Nelson and GitHub
0b29a2560a
Codechange: make GRFStatus, GRFListCompatibility and GRFParameterType scoped enums ( #15426 )
2026-04-05 16:41:56 +01:00
Peter Nelson and GitHub
cdb548c252
Codechange: make ShoreReplacement and TramDepotReplacement scoped enums ( #15425 )
...
Rename TramReplacement to TramDepotReplacement, as it only affects depots.
2026-04-04 17:53:21 +01:00
Rubidium and rubidium42
3f3ee69d0f
Codechange: make GrfLoadingStage a scoped enum and remove unused GLS_END
2026-03-06 17:31:25 +01:00
Cyprian Klimaszewski and rubidium42
2ac0811ff9
Codechange: Make documentation comments for some functions recognised by doxygen.
2026-02-21 15:05:13 +01:00
Rubidium and rubidium42
d067bfe577
Codechange: add missing parameter/return documentation to NewGRF code
2026-02-18 18:28:46 +01:00
Peter Nelson and GitHub
2d6fe7d9c6
Codefix: incorrect indentation for GetCargoTranslationTable ( #15156 )
2026-01-23 22:37:16 +00:00
Cyprian Klimaszewski and rubidium42
322ce224b4
Codechange: Make Price an enum class.
2026-01-14 22:07:02 +01:00
Rubidium and rubidium42
2fcd4e189a
Codechange: replace 'new PoolItem(...' with 'PoolItem::Create(...'
2026-01-03 16:04:32 +01:00
Cyprian Klimaszewski and GitHub
99f04f27de
Doc: Update information for receiving a copy of GPL. ( #14869 )
2025-12-07 11:25:08 +00:00
Peter Nelson and GitHub
41837d093b
Change: Record and show multiple errors for each NewGRF. ( #14658 )
2025-09-26 19:00:45 +01:00
Peter Nelson and GitHub
42c9f84d74
Fix 3ac1a2f1e4: Game crash due to invalid vehicle type information. ( #14628 )
...
Use std::variant instead of union for vehicle info.
RailVehicleInfo is now non-POD so using in a union causes undefined behaviour.
2025-09-24 22:44:41 +01:00
Jonathan G Rennison and GitHub
d54bf49936
Fix: Variant cycle detection in FinaliseEngineArray ( #14629 )
2025-09-17 22:42:42 +01:00
Michael Lutz
3ac1a2f1e4
Codechange: Store the rail type of rail engines as a RailTypes bitmask.
2025-09-14 17:11:26 +02:00
Rubidium and rubidium42
7c0f69a8fe
Codefix: typos in comments and strings
2025-08-31 10:30:37 +02:00
Peter Nelson and GitHub
a46a3a97f3
Change: New company face definition system and UI. ( #14319 )
...
Bits used by company faces are now defined by a variable system instead of being hardcoded, allowing future expansion.
The four face types covering gender and skin colour are now separate face styles with their own definitions.
2025-06-24 07:59:49 +01:00
Jonathan G Rennison and Peter Nelson
63f1c2aa3a
Codechange: Use TypedIndexContainer for typed index containers
...
Instead of ReferenceThroughBaseContainer
2025-06-12 18:50:49 +01:00
Peter Nelson and Peter Nelson
c2d4098afa
Add: Configuration of NewGRF badges.
2025-05-25 09:13:05 +01:00
Peter Nelson and GitHub
0aacd7acb3
Codechange: Use GrfSpecFeature type instead of uint8_t. ( #14253 )
2025-05-12 08:44:39 +01:00
Peter Nelson and GitHub
2c4897c2cd
Codechange: Use EnumBitSet for HouseZones. ( #14137 )
2025-04-28 20:27:43 +01:00
Rubidium and rubidium42
49ef3eee13
Codechange: replace char* with std::string_view
2025-04-27 20:08:02 +02:00
Peter Nelson and GitHub
2c59838acb
Codechange: (re)set multiple bitset flags in one call. ( #14017 )
2025-04-18 14:07:57 +01:00
Peter Nelson and Peter Nelson
a281ac4674
Codefix: Information for NewGRF specs remained duplicated after loading.
...
After loading airports+tiles, industries+tiles, houses and objects, their specs are copied from the NewGRF's loading storage to the final global storage.
Instead, move the specs to the their new storage, and clear the NewGRF's storage once done. (Stations and RoadStops are different, and the NewGRF's storage is the final storage location.)
2025-04-16 19:43:07 +01:00
Peter Nelson and Peter Nelson
f9ab492e64
Codechange: Pass HouseSpec by reference to IsHouseSpecValid().
2025-04-16 19:43:07 +01:00
frosch and frosch
96eee0e8e4
Codechange: Base ByteReader on StringConsumer.
2025-04-13 21:59:10 +02:00
Peter Nelson and GitHub
34b1f7a992
Fix: Make GrfMsg() behave like Debug() when not loading NewGRFs. ( #13991 )
...
GrfMsg() outputs the currently loading NewGRF and current line/sprite number. This is invalid when not NewGRFs are not actually being loaded.
2025-04-12 13:05:33 +01:00
frosch and frosch
1cfad1474a
Codechange: Rename _cur to _cur_gps.
2025-04-11 22:11:28 +02:00
Peter Nelson and 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 and GitHub
981b2a94db
Codechange: Store loaded GRFFiles in vector directly. ( #13940 )
...
Removes pointer management.
2025-04-06 20:16:57 +01:00
Peter Nelson and GitHub
2ae84f3c9e
Codechange: CargoSpec::Iterate already tests cargo validity. ( #13941 )
2025-04-01 18:23:26 +01:00
Peter Nelson and GitHub
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 and Peter Nelson
828e808444
Codechange: Split NewGRF loader into separate Action handlers.
2025-03-23 16:59:36 +00:00
Peter Nelson and Peter Nelson
0b7fa11a5b
Codechange: Move NewGRF string mapping to own file.
2025-03-23 16:59:36 +00:00
Peter Nelson and Peter Nelson
2cb389946d
Codechange: Move GrfProcessingState to separate file.
...
Allows reuse by other files.
2025-03-23 16:59:36 +00:00
Peter Nelson and Peter Nelson
fe9dfa2b08
Codechange: Move NewGRF ByteReader to own file.
2025-03-23 16:59:36 +00:00
Peter Nelson and GitHub
21d2a94809
Codechange: Use EnumBitSet for GrfMiscBits. ( #13873 )
2025-03-22 21:07:59 +00:00