diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index bce1a852783..333d7447396 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -184,6 +184,7 @@ var/grey_assistants = 0 var/lavaland_budget = 60 + var/space_budget = 16 var/aggressive_changelog = 0 @@ -620,6 +621,8 @@ config.grey_assistants = 1 if("lavaland_budget") config.lavaland_budget = text2num(value) + if("space_budget") + config.space_budget = text2num(value) if("no_summon_guns") config.no_summon_guns = 1 if("no_summon_magic") diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index b39fca4a6e1..f86153f34f0 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -34,7 +34,7 @@ var/datum/subsystem/mapping/SSmapping else space_zlevels += i - seedRuins(space_zlevels, rand(8,16), /area/space, space_ruins_templates) + seedRuins(space_zlevels, config.space_budget, /area/space, space_ruins_templates) // Set up Z-level transistions. setup_map_transitions() diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index 421d9ba312d..4cab5475475 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -13,25 +13,44 @@ var/datum/subsystem/minimap/SSminimap NEW_SS_GLOBAL(SSminimap) /datum/subsystem/minimap/Initialize(timeofday) - if(!config.generate_minimaps) - world << "Minimap generation disabled... Skipping" - return var/hash = md5(file2text("_maps/[MAP_PATH]/[MAP_FILE]")) - if(hash == trim(file2text(hash_path()))) - return ..() - - for(var/z in z_levels) - generate(z) - register_asset("minimap_[z].png", fcopy_rsc(map_path(z))) - fdel(hash_path()) - text2file(hash, hash_path()) + if(config.generate_minimaps) + if(hash == trim(file2text(hash_path()))) + world.log << "Hash check [hash]" + for(var/z in z_levels) //We have these files cached, let's register them + register_asset("minimap_[z].png", fcopy_rsc(map_path(z))) + return ..() + for(var/z in z_levels) + generate(z) + register_asset("minimap_[z].png", fcopy_rsc(map_path(z))) + fdel(hash_path()) + text2file(hash, hash_path()) + else + world << "Minimap generation disabled. Loading from cache..." + var/fileloc = 0 + if(hash == trim(file2text(hash_path())))//Let's see if we have a map cached that we can use + fileloc = 0 + else + for(var/z in z_levels) + if(!isfile(file(map_path(z,1)))) //Let's make sure we have a backup file for this map. + world << "Failed to load backup minimap file on zlevel [z]. Aborting" //We couldn't find something. Bail to prevent issues with null files + return + fileloc = 1 //No map image cached with the current map, and we have a backup. Let's fall back to it. + for(var/z in z_levels) + register_asset("minimap_[z].png", fcopy_rsc(map_path(z,fileloc))) ..() -/datum/subsystem/minimap/proc/hash_path() - return "data/minimaps/[MAP_NAME].md5" +/datum/subsystem/minimap/proc/hash_path(backup) + if(backup) + return "icons/minimaps/[MAP_NAME].md5" + else + return "data/minimaps/[MAP_NAME].md5" -/datum/subsystem/minimap/proc/map_path(z) - return "data/minimaps/[MAP_NAME]_[z].png" +/datum/subsystem/minimap/proc/map_path(z,backup) + if(backup) + return "icons/minimaps/[MAP_NAME]_[z].png" + else + return "data/minimaps/[MAP_NAME]_[z].png" /datum/subsystem/minimap/proc/send(client/client) for(var/z in z_levels) diff --git a/config/game_options.txt b/config/game_options.txt index 9f7e778833d..6a4c773117c 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -355,3 +355,6 @@ BOMBCAP 20 # spawn, while the converse is true. Alter this number to affect the amount # of ruins. LAVALAND_BUDGET 60 + +## Space Ruin Budged +Space_Budget 16 diff --git a/icons/minimaps/BirdboatStation_1.png b/icons/minimaps/BirdboatStation_1.png new file mode 100644 index 00000000000..a6c1a4dd932 Binary files /dev/null and b/icons/minimaps/BirdboatStation_1.png differ diff --git a/icons/minimaps/Box Station_1.png b/icons/minimaps/Box Station_1.png new file mode 100644 index 00000000000..d14145b5604 Binary files /dev/null and b/icons/minimaps/Box Station_1.png differ diff --git a/icons/minimaps/DreamStation_1.png b/icons/minimaps/DreamStation_1.png new file mode 100644 index 00000000000..75ac12fec85 Binary files /dev/null and b/icons/minimaps/DreamStation_1.png differ diff --git a/icons/minimaps/Efficiency Station_1.png b/icons/minimaps/Efficiency Station_1.png new file mode 100644 index 00000000000..3c952a21493 Binary files /dev/null and b/icons/minimaps/Efficiency Station_1.png differ diff --git a/icons/minimaps/MetaStation_1.png b/icons/minimaps/MetaStation_1.png new file mode 100644 index 00000000000..bf8a6ed430a Binary files /dev/null and b/icons/minimaps/MetaStation_1.png differ diff --git a/icons/minimaps/MiniStation_1.png b/icons/minimaps/MiniStation_1.png new file mode 100644 index 00000000000..52689a1a576 Binary files /dev/null and b/icons/minimaps/MiniStation_1.png differ