Cataclysm-DDA
Cataclysm-DDA copied to clipboard
[Experimental] some "Rural Roads" replaced with "% nether-chewed field"
Describe the bug
Updated the game and reloaded my save. Noticed some rural roads near rural houses have been replaced with an % called "nether-chewed field" after an error related to "rural roads".
Attach save file
N/A
Steps to reproduce
Use 4 or 5 day old build.
Start a new game with a new character.
Reveal Map and ensure you have a few good amount of rural roads and rural houses within sight. (Teleport to several of them so they register in your map memory too I guess?)
Save and Quit.
Update to "experimental build 2024-03-24-0121"
Reload the game
Enjoy the several error screens related to rural roads before you can get into the world.
Open map and observe the rural roads and spot "%"s near them.
Expected behavior
Random Nether Terrain should not replace existing terrain.
Screenshots
Versions and configuration
Linux
Experimental Build cf9267f (Refer to Screenshot)
Additional context
///I didn't test this but I wouldn't be surprised if even generating a new playthrough using the specified build would already lead to this by default. ////
Just did the above out of sheer curiosity and it seems the bug only occurs with saves from different builds and only with specific rural roads.
Having random black spots of terrain is an eyesore tbh.
Very likely caused by https://github.com/CleverRaven/Cataclysm-DDA/pull/72431, as this PR changed rural connections. I didn't try to reproduce before/after as I didn't have a prior backup from my current save.
/confirmed I have updated the game after not updating it for a bit and now I get errors when loading a save created in the previous version:
ERROR : src/generic_factory.h:513 [int_id<T> generic_factory<T>::convert(const string_id<T>&, const int_id<T>&, bool) const [with T = oter_t]] invalid overmap terrain id "dirt_road_3way_east"
ERROR : src/savegame.cpp:445 [void overmap::unserialize(const JsonObject&)] Loaded invalid oter_id 'cabin_liam_driveway_north'
ERROR : src/savegame.cpp:445 [void overmap::unserialize(const JsonObject&)] Loaded invalid oter_id 'dirt_road_3way_forest_east'
ERROR : src/savegame.cpp:445 [void overmap::unserialize(const JsonObject&)] Loaded invalid oter_id 'dirt_road_3way_forest_north'
ERROR : src/savegame.cpp:445 [void overmap::unserialize(const JsonObject&)] Loaded invalid oter_id 'dirt_road_3way_forest_south'
ERROR : src/savegame.cpp:445 [void overmap::unserialize(const JsonObject&)] Loaded invalid oter_id 'dirt_road_3way_forest_west'
I think I spotted some mistakes in obsolete_overmap_terrain.json https://github.com/CleverRaven/Cataclysm-DDA/pull/72431. Will fix