diff --git a/code/controllers/subsystems/initialization/atlas.dm b/code/controllers/subsystems/initialization/atlas.dm index 830249b7683..77aa5a5eb5b 100644 --- a/code/controllers/subsystems/initialization/atlas.dm +++ b/code/controllers/subsystems/initialization/atlas.dm @@ -23,6 +23,11 @@ var/datum/controller/subsystem/atlas/SSatlas NEW_SS_GLOBAL(SSatlas) /datum/controller/subsystem/atlas/Initialize(timeofday) + // Quick sanity check. + if (world.maxx != WORLD_MIN_SIZE || world.maxy != WORLD_MIN_SIZE || world.maxz != 1) + world << "WARNING: Suspected pre-compiled map: things may break horribly!" + log_ss("atlas", "-- WARNING: Suspected pre-compiled map! --") + maploader = new var/datum/map/M diff --git a/code/controllers/subsystems/initialization/misc_early.dm b/code/controllers/subsystems/initialization/misc_early.dm index 250f576c63d..14c50a7f15c 100644 --- a/code/controllers/subsystems/initialization/misc_early.dm +++ b/code/controllers/subsystems/initialization/misc_early.dm @@ -44,4 +44,9 @@ global_initialize_webhooks() + // Setup ore. + for(var/oretype in subtypesof(/ore)) + var/ore/OD = new oretype() + ore_data[OD.name] = OD + ..() diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 1d285ba1690..b7f9492cd83 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -177,12 +177,9 @@ for(var/alloytype in typesof(/datum/alloy)-/datum/alloy) alloy_data += new alloytype() - if(!ore_data || !ore_data.len) - for(var/oretype in typesof(/ore)-/ore) - var/ore/OD = new oretype() - ore_data[OD.name] = OD - ores_processing[OD.name] = 0 - ores_stored[OD.name] = 0 + for (var/O in ore_data) + ores_processing[O] = 0 + ores_stored[O] = 0 //Locate our output and input machinery. for (var/dir in cardinal) diff --git a/code/world.dm b/code/world.dm index 0086dd2fd75..d8c8029c731 100644 --- a/code/world.dm +++ b/code/world.dm @@ -1,5 +1,6 @@ #define WORLD_ICON_SIZE 32 #define PIXEL_MULTIPLIER WORLD_ICON_SIZE/32 +#define WORLD_MIN_SIZE 32 /* The initialization of the game happens roughly like this: @@ -56,8 +57,8 @@ var/global/datum/global_init/init = new () area = /area/space view = "15x15" cache_lifespan = 0 //stops player uploaded stuff from being kept in the rsc past the current session - maxx = 32 // So that we don't get map-window-popin at boot. DMMS will expand this. - maxy = 32 + maxx = WORLD_MIN_SIZE // So that we don't get map-window-popin at boot. DMMS will expand this. + maxy = WORLD_MIN_SIZE #define RECOMMENDED_VERSION 510