Commit Graph
1077 Commits
Author SHA1 Message Date
Peter NelsonandGitHub 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 NelsonandGitHub e7845e48dc Codechange: make DisplayOption a scoped enum/enum bitset (#15611) 2026-05-19 06:21:38 +01:00
Peter NelsonandPeter Nelson 2868060660 Codechange: make LiveryScheme a scoped enum 2026-05-18 20:05:19 +01:00
Peter NelsonandPeter Nelson 7d70a7b9e9 Codechange: add LiverySchemes as EnumBitSet 2026-05-18 20:05:19 +01:00
Peter NelsonandGitHub a7a025623e Codechange: make RailVehicleType a scoped enum (#15576) 2026-05-04 22:58:05 +01:00
Jonathan G Rennisonandrubidium42 bbe5dbf230 Cleanup: Correct various spelling errors 2026-04-27 21:05:08 +02:00
Peter NelsonandPeter Nelson 77403627a8 Codechange: make VehicleType a scoped enum 2026-04-26 07:00:13 +01:00
Peter NelsonandPeter 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 NelsonandPeter Nelson c45aa3c9b6 Codechange: use EnumBitSet for CargoTypes 2026-04-21 17:13:31 +01:00
Peter NelsonandGitHub 8341beb345 Codechange: add functions to convert between GrfSpecFeature and VehicleType (#15517)
Removes various different casts.
2026-04-20 19:17:48 +01:00
Peter NelsonandGitHub 2bf84ea78c Codechange: make GrfSpecFeature a scoped enum (#15487) 2026-04-19 19:04:27 +01:00
Peter NelsonandGitHub a5a60c8615 Codechange: make RoadTramType a scoped enum, and use EnumBitSet (#15477) 2026-04-13 18:15:41 +01:00
Peter NelsonandPeter Nelson 636fcf3af3 Codechange: make TownProductionEffect a scoped enum 2026-04-12 14:46:54 +01:00
Peter NelsonandGitHub dd1c5c1a8a Codechange: make GRFTempEngineData::Refittability a scoped enum (#15462) 2026-04-11 20:11:01 +01:00
Peter NelsonandPeter Nelson 5aae8e2d64 Codechange: make Subdirectory a scoped enum 2026-04-05 21:46:07 +01:00
Peter NelsonandGitHub 0b29a2560a Codechange: make GRFStatus, GRFListCompatibility and GRFParameterType scoped enums (#15426) 2026-04-05 16:41:56 +01:00
Peter NelsonandGitHub 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
Rubidiumandrubidium42 3f3ee69d0f Codechange: make GrfLoadingStage a scoped enum and remove unused GLS_END 2026-03-06 17:31:25 +01:00
Cyprian Klimaszewskiandrubidium42 2ac0811ff9 Codechange: Make documentation comments for some functions recognised by doxygen. 2026-02-21 15:05:13 +01:00
Rubidiumandrubidium42 d067bfe577 Codechange: add missing parameter/return documentation to NewGRF code 2026-02-18 18:28:46 +01:00
Peter NelsonandGitHub 2d6fe7d9c6 Codefix: incorrect indentation for GetCargoTranslationTable (#15156) 2026-01-23 22:37:16 +00:00
Cyprian Klimaszewskiandrubidium42 322ce224b4 Codechange: Make Price an enum class. 2026-01-14 22:07:02 +01:00
Rubidiumandrubidium42 2fcd4e189a Codechange: replace 'new PoolItem(...' with 'PoolItem::Create(...' 2026-01-03 16:04:32 +01:00
Cyprian KlimaszewskiandGitHub 99f04f27de Doc: Update information for receiving a copy of GPL. (#14869) 2025-12-07 11:25:08 +00:00
Peter NelsonandGitHub 41837d093b Change: Record and show multiple errors for each NewGRF. (#14658) 2025-09-26 19:00:45 +01:00
Peter NelsonandGitHub 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 RennisonandGitHub 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
Rubidiumandrubidium42 7c0f69a8fe Codefix: typos in comments and strings 2025-08-31 10:30:37 +02:00
Peter NelsonandGitHub 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 RennisonandPeter Nelson 63f1c2aa3a Codechange: Use TypedIndexContainer for typed index containers
Instead of ReferenceThroughBaseContainer
2025-06-12 18:50:49 +01:00
Peter NelsonandPeter Nelson c2d4098afa Add: Configuration of NewGRF badges. 2025-05-25 09:13:05 +01:00
Peter NelsonandGitHub 0aacd7acb3 Codechange: Use GrfSpecFeature type instead of uint8_t. (#14253) 2025-05-12 08:44:39 +01:00
Peter NelsonandGitHub 2c4897c2cd Codechange: Use EnumBitSet for HouseZones. (#14137) 2025-04-28 20:27:43 +01:00
Rubidiumandrubidium42 49ef3eee13 Codechange: replace char* with std::string_view 2025-04-27 20:08:02 +02:00
Peter NelsonandGitHub 2c59838acb Codechange: (re)set multiple bitset flags in one call. (#14017) 2025-04-18 14:07:57 +01:00
Peter NelsonandPeter 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 NelsonandPeter Nelson f9ab492e64 Codechange: Pass HouseSpec by reference to IsHouseSpecValid(). 2025-04-16 19:43:07 +01:00
froschandfrosch 96eee0e8e4 Codechange: Base ByteReader on StringConsumer. 2025-04-13 21:59:10 +02:00
Peter NelsonandGitHub 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
froschandfrosch 1cfad1474a Codechange: Rename _cur to _cur_gps. 2025-04-11 22:11:28 +02:00
Peter NelsonandPeter Nelson f57065dd41 Codefix: Avoid using override keyword as variable names.
Rename variables named `override`.
2025-04-09 22:02:35 +01:00
Peter NelsonandGitHub 981b2a94db Codechange: Store loaded GRFFiles in vector directly. (#13940)
Removes pointer management.
2025-04-06 20:16:57 +01:00
Peter NelsonandGitHub 2ae84f3c9e Codechange: CargoSpec::Iterate already tests cargo validity. (#13941) 2025-04-01 18:23:26 +01:00
Peter NelsonandGitHub 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 NelsonandPeter Nelson 828e808444 Codechange: Split NewGRF loader into separate Action handlers. 2025-03-23 16:59:36 +00:00
Peter NelsonandPeter Nelson 0b7fa11a5b Codechange: Move NewGRF string mapping to own file. 2025-03-23 16:59:36 +00:00
Peter NelsonandPeter Nelson 2cb389946d Codechange: Move GrfProcessingState to separate file.
Allows reuse by other files.
2025-03-23 16:59:36 +00:00
Peter NelsonandPeter Nelson fe9dfa2b08 Codechange: Move NewGRF ByteReader to own file. 2025-03-23 16:59:36 +00:00
Peter NelsonandGitHub 21d2a94809 Codechange: Use EnumBitSet for GrfMiscBits. (#13873) 2025-03-22 21:07:59 +00:00