diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index fbb9d9b927a67..60da7861716bd 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -6,6 +6,12 @@ #define PLANE_SPACE -95 #define PLANE_SPACE_PARALLAX -90 + +#define OPENSPACE_LAYER 17 //Openspace layer over all +#define OPENSPACE_PLANE -4 //Openspace plane below all turfs +#define OPENSPACE_BACKDROP_PLANE -3 //Black square just over openspace plane to guaranteed cover all in openspace turf + + #define FLOOR_PLANE -2 #define GAME_PLANE -1 #define BLACKNESS_PLANE 0 //To keep from conflicts with SEE_BLACKNESS internals @@ -84,9 +90,6 @@ #define ABOVE_LIGHTING_PLANE 16 #define ABOVE_LIGHTING_LAYER 16 -#define FLOOR_OPENSPACE_PLANE 17 -#define OPENSPACE_LAYER 17 - #define BYOND_LIGHTING_PLANE 18 #define BYOND_LIGHTING_LAYER 18 diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index d8a1281df8243..9ff711f6e4fe4 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -18,7 +18,7 @@ /obj/screen/plane_master/openspace name = "open space plane master" - plane = FLOOR_OPENSPACE_PLANE + plane = OPENSPACE_BACKDROP_PLANE appearance_flags = PLANE_MASTER blend_mode = BLEND_MULTIPLY alpha = 255 diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 1d265123bb200..4cfa348200658 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -33,6 +33,8 @@ var/drag_slowdown // Amont of multiplicative slowdown applied if pulled. >1 makes you slower, <1 makes you faster. + vis_flags = VIS_INHERIT_PLANE //when this be added to vis_contents of something it inherit something.plane, important for visualisation of obj in openspace. + /obj/vv_edit_var(vname, vval) switch(vname) if("anchored") @@ -72,7 +74,6 @@ var/turf/T = loc T.add_blueprints_preround(src) - /obj/Destroy(force=FALSE) if(!ismachinery(src)) STOP_PROCESSING(SSobj, src) // TODO: Have a processing bitflag to reduce on unnecessary loops through the processing lists diff --git a/code/game/turfs/open/openspace.dm b/code/game/turfs/open/openspace.dm index f06a82a314cd6..617d25dcc5998 100644 --- a/code/game/turfs/open/openspace.dm +++ b/code/game/turfs/open/openspace.dm @@ -1,7 +1,20 @@ +GLOBAL_DATUM_INIT(openspace_backdrop_one_for_all, /atom/movable/openspace_backdrop, new) + +/atom/movable/openspace_backdrop + name = "openspace_backdrop" + + anchored = TRUE + + icon = 'icons/turf/floors.dmi' + icon_state = "grey" + plane = OPENSPACE_BACKDROP_PLANE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + layer = SPLASHSCREEN_LAYER + /turf/open/openspace name = "open space" desc = "Watch your step!" - icon_state = "grey" + icon_state = "transparent" baseturfs = /turf/open/openspace CanAtmosPassVertical = ATMOS_PASS_YES //mouse_opacity = MOUSE_OPACITY_TRANSPARENT @@ -14,8 +27,11 @@ /turf/open/openspace/Initialize() // handle plane and layer here so that they don't cover other obs/turfs in Dream Maker . = ..() - plane = FLOOR_OPENSPACE_PLANE + plane = OPENSPACE_PLANE layer = OPENSPACE_LAYER + + vis_contents += GLOB.openspace_backdrop_one_for_all //Special grey square for projecting backdrop darkness filter on it. + return INITIALIZE_HINT_LATELOAD /turf/open/openspace/LateInitialize() diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 2ef3282b99c9e..17fc4670a8e43 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -33,6 +33,8 @@ var/tiled_dirt = FALSE // use smooth tiled dirt decal + vis_flags = VIS_INHERIT_PLANE|VIS_INHERIT_ID //when this be added to vis_contents of something it inherit something.plane and be associatet with something on clicking, important for visualisation of turf in openspace and interraction with openspace that show you turf. + /turf/vv_edit_var(var_name, new_value) var/static/list/banned_edits = list("x", "y", "z") if(var_name in banned_edits) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 8befdae13a4df..a844756e9069b 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -208,3 +208,5 @@ /// Used for tracking last uses of emotes for cooldown purposes var/list/emotes_used + + vis_flags = VIS_INHERIT_PLANE //when this be added to vis_contents of something it inherit something.plane, important for visualisation of mob in openspace.