* sdf

* fsda

* fuck

* fuck2

* toolz

* sdaf

* sdfa

* saf

* sdfa

* sdfa

* sdf

* sdfa

* temp rename

* temp rename

* temp rename

* sdaf

* the pain is immensurable in the land of byond

* the curse of rah

* safd

* sadf

* sadf

* gf

* asf

* fssdfa

* sfd

* sadf

* sfda

* brah

* brah

* it's easier for you to fix this

* ffs

* brah

* brah
This commit is contained in:
Fluffy
2024-01-06 17:03:57 +01:00
committed by GitHub
parent 8c76cfa9ea
commit e867030c2e
331 changed files with 2348 additions and 1643 deletions
+21 -16
View File
@@ -53,14 +53,14 @@
var/shuttle_state = pre_init_shuttles()
//Since SSicon_smooth.add_to_queue() manually wakes the subsystem, we have to use enable/disable.
SSicon_smooth.disable()
SSicon_smooth.can_fire = FALSE
for (var/mappath in mappaths)
var/datum/map_load_metadata/M = maploader.load_map(file(mappath), x, y, no_changeturf = no_changeturf)
if (M)
bounds = extend_bounds_if_needed(bounds, M.bounds)
atoms_to_initialise += M.atoms_to_initialise
else
SSicon_smooth.enable()
SSicon_smooth.can_fire = TRUE
return FALSE
for (var/z_index = bounds[MAP_MINZ]; z_index <= bounds[MAP_MAXZ]; z_index++)
@@ -81,7 +81,7 @@
create_lighting_overlays_zlevel(light_z)
log_game("Z-level [name] loaded at [x], [y], [world.maxz]")
message_admins("Z-level [name] loaded at [x], [y], [world.maxz]")
SSicon_smooth.enable()
SSicon_smooth.can_fire = TRUE
loaded++
return locate(world.maxx/2, world.maxy/2, world.maxz)
@@ -106,27 +106,32 @@
var/list/obj/structure/cable/cables = list()
var/list/obj/machinery/power/apc/apcs = list()
for(var/atom/A in atoms)
for(var/atom/A as anything in atoms)
if(isnull(A) || (A.flags_1 & INITIALIZED_1))
atoms -= A
continue
if(istype(A, /turf))
turfs += A
continue
if(istype(A, /obj/structure/cable))
cables += A
continue
if(istype(A,/obj/effect/landmark/map_load_mark))
LAZYADD(subtemplates_to_spawn, A)
continue
//Not mutually exclusive anymore section, no continue here, keep checking
if(istype(A, /obj/machinery/atmospherics))
atmos_machines += A
if(istype(A, /obj/machinery))
machines += A
if(istype(A,/obj/effect/landmark/map_load_mark))
LAZYADD(subtemplates_to_spawn, A)
if(istype(A, /obj/machinery/power/apc))
apcs += A
if(isnull(A))
atoms -= A
if(A.flags_1 & INITIALIZED_1)
atoms -= A
var/notsuspended
if(!SSmachinery.suspended)
SSmachinery.suspend()
if(!SSmachinery.can_fire)
SSmachinery.can_fire = FALSE
notsuspended = TRUE
SSatoms.InitializeAtoms(atoms) // The atoms should have been getting queued there. This flushes the queue.
@@ -134,7 +139,7 @@
SSmachinery.setup_powernets_for_cables(cables)
SSmachinery.setup_atmos_machinery(atmos_machines)
if(notsuspended)
SSmachinery.wake()
SSmachinery.can_fire = TRUE
for (var/i in apcs)
var/obj/machinery/power/apc/apc = i
@@ -167,20 +172,20 @@
var/shuttle_state = pre_init_shuttles()
//Since SSicon_smooth.add_to_queue() manually wakes the subsystem, we have to use enable/disable.
SSicon_smooth.disable()
SSicon_smooth.can_fire = FALSE
for (var/mappath in mappaths)
var/datum/map_load_metadata/M = maploader.load_map(file(mappath), T.x, T.y, T.z, cropMap=TRUE)
if (M)
atoms_to_initialise += M.atoms_to_initialise
else
SSicon_smooth.enable()
SSicon_smooth.can_fire = TRUE
return FALSE
//initialize things that are normally initialized after map load
init_atoms(atoms_to_initialise)
init_shuttles(shuttle_state)
SSicon_smooth.enable()
SSicon_smooth.can_fire = TRUE
message_admins("[name] loaded at [T.x], [T.y], [T.z]")
log_game("[name] loaded at [T.x], [T.y], [T.z]")
return TRUE
+13 -12
View File
@@ -3,8 +3,8 @@
//////////////////////////////////////////////////////////////
//global datum that will preload variables on atoms instanciation
var/global/use_preloader = FALSE
var/global/dmm_suite/preloader/_preloader = new
GLOBAL_VAR_INIT(use_preloader, FALSE)
GLOBAL_DATUM_INIT(_preloader, /dmm_suite/preloader, new)
/datum/map_load_metadata
var/bounds
@@ -319,15 +319,15 @@ var/global/dmm_suite/preloader/_preloader = new
var/atom/instance = GLOB.areas_by_type[atype]
var/list/attr = members_attributes[index]
if (LAZYLEN(attr))
_preloader.setup(attr)//preloader for assigning set variables on atom creation
GLOB._preloader.setup(attr)//preloader for assigning set variables on atom creation
if(!instance)
instance = new atype(null)
atoms_to_initialise += instance
if(crds)
instance.contents += crds
if(use_preloader && instance)
_preloader.load(instance)
if(GLOB.use_preloader && instance)
GLOB._preloader.load(instance)
//then instance the /turf
@@ -368,7 +368,7 @@ var/global/dmm_suite/preloader/_preloader = new
//Instance an atom at (x,y,z) and gives it the variables in attributes
/dmm_suite/proc/instance_atom(path,list/attributes, turf/crds, no_changeturf)
if (LAZYLEN(attributes))
_preloader.setup(attributes, path)
GLOB._preloader.setup(attributes, path)
if(crds)
if(!no_changeturf && ispath(path, /turf))
@@ -376,8 +376,8 @@ var/global/dmm_suite/preloader/_preloader = new
else
. = create_atom(path, crds)//first preloader pass
if(use_preloader && .)//second preloader pass, for those atoms that don't ..() in New()
_preloader.load(.)
if(GLOB.use_preloader && .)//second preloader pass, for those atoms that don't ..() in New()
GLOB._preloader.load(.)
//custom CHECK_TICK here because we don't want things created while we're sleeping to not initialize
if(TICK_CHECK)
@@ -485,16 +485,17 @@ var/global/dmm_suite/preloader/_preloader = new
//Preloader datum
//////////////////
GLOBAL_LIST_INIT(_preloader_path, null)
/dmm_suite/preloader
parent_type = /datum
var/list/attributes
var/target_path
/dmm_suite/preloader/proc/setup(list/the_attributes, path)
if(LAZYLEN(the_attributes))
use_preloader = TRUE
GLOB.use_preloader = TRUE
attributes = the_attributes
target_path = path
GLOB._preloader_path = path
/dmm_suite/preloader/proc/load(atom/what)
for(var/attribute in attributes)
@@ -502,7 +503,7 @@ var/global/dmm_suite/preloader/_preloader = new
if(islist(value))
value = deepCopyList(value)
what.vars[attribute] = value
use_preloader = FALSE
GLOB.use_preloader = FALSE
/area/template_noop
name = "Area Passthrough"