Peter Nelson
2d7d085e8e
Codechange: Use EncodedString for error messages. ( #13569 )
2025-02-16 10:04:32 +00:00
Tyler Trahan
521b860394
Feature: Prevent towns from upgrading individually-placed houses ( #13270 )
2025-02-09 20:37:06 +00:00
Rubidium
07dd5bf01d
Codechange: support strongly typed pool element IDs in squirrel/saveload
2025-02-09 15:07:29 +01:00
Peter Nelson
dccc6185b9
Codechange: Change internal format of encoded strings to improve robustness and allow expansion. ( #13499 )
2025-02-09 12:45:50 +00:00
Rubidium
83479a4e12
Codechange: add method for reading a string from a savegame given a length
2025-02-07 22:49:17 +01:00
Jonathan G Rennison
3ea4d1d4fc
Fix #12912 : CompanyProperties::inaugurated_year_calendar not saved
2025-02-03 08:09:45 +01:00
Peter Nelson
afc0745aa2
Codechange: Specify underlying type for all enums excluding those exposed to scripts. ( #13383 )
2025-01-28 22:17:34 +00:00
Peter Nelson
c72542431a
Change: Increase house type limit from 512 to 4096. ( #12288 )
...
This moves HouseType from m4+m3[6] to m8 making it 'easier' to access.
2024-12-22 18:14:06 +00:00
Peter Nelson
6a07f28103
Codechange: Store animated tile state in map to improve performance.
...
This allows animated tiles to be added and removed without searching in the animated tile list, providing a performance improvement when there are lots of animated tiles.
Save game version is bumped so that animated tile state can be converted.
2024-12-01 21:19:28 +00:00
Peter Nelson
3a310f1802
Codechange: Store GRFConfig parameters in a vector. ( #13137 )
...
All GRFConfigs have space allocated for parameters, but only configured GRFConfigs need them.
Using a vector instead means that space is only used when parameters are used.
2024-12-01 15:15:21 +00:00
Peter Nelson
177e2ebf80
Codechange: Support saveload of reference vectors.
...
This uses the same data format as reference lists, but for vectors, so allows data structures to be changed without affecting savegame format.
2024-11-27 12:35:27 +00:00
Peter Nelson
c39810ff6a
Codechange: Replace path cache queues with vectors.
...
Ship and RoadVehicle path caches use a std::deque, which is quite memory hungry, especially for RoadVehicle which has two.
std::deque was used to be able to push/pop from either end.
Change to use a single std::vector each, which is now push/popped from the back.
2024-11-18 08:59:41 +00:00
Peter Nelson
d903806e59
Codechange: Add VectorSaveLoadHandler to simplify handlers for vectors. ( #13093 )
...
This reduces the duplication needed for each saved complex vector.
2024-11-17 23:46:32 +00:00
Peter Nelson
8f9836793f
Change: Store water tile flooding state in the map.
...
This allows water tiles which cannot flood any further to not even try to flood.
On a large map with lots of water tiles this can noticeably reduce game loop processing time.
Mostly ported from JGRPP.
2024-11-06 19:44:14 +00:00
Peter Nelson
8bb6572943
Add: Implement missing road type label conversion.
...
This was implemented for rail types but missed for road types.
This lets road type labels to be reordered, allowing for upgrades of NewGRF.
2024-11-06 19:04:44 +00:00
Anatoly Eltsov
3fca0cf3ee
Feature: Industry production graph ( #10541 )
2024-10-31 22:35:04 +00:00
Peter Nelson
4f9c10d35f
Codechange: Simplify storage of WaterTileType in map. ( #13030 )
2024-10-26 10:17:44 +01:00
Rubidium
4a6ac52d8c
Cleanup: remove some unused #defines
2024-10-14 21:37:00 +02:00
Jonathan G Rennison
c277ff121e
Fix #12901 : Savegame format of company allow lists
2024-09-14 15:32:48 +01:00
Peter Nelson
7f5a3eaf83
Codefix: Avoid type-casting function pointer with incorrect type. ( #12929 )
...
Make `AutolengthProc` take `int` instead of `void *`, avoiding pointer parameters.
2024-09-12 06:49:45 +01:00
Jonathan G Rennison
39465d7f5c
Codefix: Move saveload of road stop tile data ( #12883 )
...
So that road stop tile data is also saved/loaded for road waypoints
2024-08-13 19:49:53 +00:00
Kaiden Joy
7a698c7f1c
Fix #12365 : Company Window now displays proper inauguration year and period while in wallclock mode.
2024-08-13 20:13:51 +02:00
Jonathan G Rennison
65c666cb57
Codechange: Remove unused size field from struct SaveLoad ( #12859 )
2024-07-14 14:30:35 -04:00
Jonathan G Rennison
9c84e5df3f
Add: Road waypoint functionality
2024-06-24 22:12:08 +02:00
Jonathan G Rennison
05b65703d3
Codechange: Increase size of StationType field in map array
...
Move can station have wires bit to make room
2024-06-24 22:12:08 +02:00
Peter Nelson
9008d793ab
Change: Use per-company group numbers. ( #12297 )
...
This is used by the default group name, replacing the use of group index.
2024-05-07 19:01:28 +00:00
Rubidium
66354ab9eb
Codechange: introduce allow list infrastructure for companies
2024-05-07 00:03:15 +02:00
Rubidium
1250ce8fdc
Codechange: support storing std::string vectors/deques in the savegame
2024-05-07 00:03:15 +02:00
merni-ns
6f36f3d714
Fix #11055 : Make saveload failure error messages consistent with others ( #12247 )
...
The save/load error messages were combined using string parameters, rather than using the built-in functionality of error dialogs.
2024-04-01 17:57:03 +01:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Tyler Trahan
32b0fb9f6e
Fix #12010 : Use economy timer for vehicle stats minimum age, not calendar ( #12142 )
2024-03-09 09:38:52 -05:00
Rubidium
a4d4301a0c
Codechange: We are heading to 15
2024-02-18 21:48:54 +01:00
Rubidium
e67fc33172
Codechange: Add support for NULL strings in SaveLoadCompat
2024-02-17 14:33:16 +01:00
Loïc Guilloux
3ffa176870
Change: [Script] Store randomizers in savegame ( #12063 )
2024-02-12 01:22:57 +01:00
Loïc Guilloux
977aba73be
Change: Store running AI config inside Company ( #12003 )
2024-02-09 22:55:49 +01:00
Jonathan G Rennison
bed3ef6f6b
Cleanup: Incorrect savegame number for SLV_DEPOT_UNBUNCHING constant ( #12045 )
2024-02-09 17:50:29 +00:00
Rubidium
4b372b6050
Codechange: use std::shared_ptr to manage saveload filters instead of manually trying to avoid double frees
2024-02-03 21:38:33 +01:00
Tyler Trahan
f6dd5053a3
Feature: Order flag to unbunch vehicles at depot ( #11945 )
2024-02-03 08:04:24 -05:00
dP
897b59c158
Add: [GS] Allow to set max loan for each company separately ( #11224 )
2024-01-30 19:15:19 +01:00
Koen Bussemaker
5a55c4a934
Feature: [NewGRF] Allow higher max speeds for ships
2024-01-28 14:54:51 +01:00
Tyler Trahan
21581b6ab3
Feature: Setting for minutes per calendar year ( #11428 )
2024-01-23 18:33:54 -05:00
Tyler Trahan
fd9e72a7e7
Feature: Use real-time "wallclock" timekeeping units ( #11341 )
2024-01-23 11:36:09 -05:00
Tyler Trahan
735abfe111
Codechange: Split dates and timers into Economy and Calendar time ( #10700 )
2024-01-22 09:04:34 -05:00
Kuhnovic
b38d3c2208
Change: simplified water region evaluation, removed savegame data ( #11750 )
2024-01-21 20:56:50 +00:00
Patric Stout
fd073a2810
Remove: replace custom span with std::span
2024-01-17 00:25:08 +01:00
Kuhnovic
f1e999ec59
Feature: Region-based pathfinder for ships ( #10543 )
2024-01-08 20:29:05 +01:00
Rubidium
3a676a5af0
Codechange: replace static inline with static for non-class functions
2024-01-06 13:37:33 +01:00
Tyler Trahan
2a62caa30b
Codechange: Use Ticks for BaseConsist timetable fields
2023-12-11 07:12:45 -05:00
Peter Nelson
9f853c10b0
Codechange: Add compile-time check that variable size matches saveload entry.
2023-12-09 08:13:03 +00:00
Peter Nelson
cb53fed229
Codechange: Move VarType helpers to allow earlier use.
2023-12-09 08:13:03 +00:00