diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 27ce7dc0a83..23c28359191 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -58,38 +58,38 @@ #define DECAL_LAYER 2.03 #define RUNE_LAYER 2.04 #define ABOVE_TILE_LAYER 2.05 - #define EXPOSED_PIPE_LAYER 2.06 - #define EXPOSED_WIRE_LAYER 2.07 - #define EXPOSED_WIRE_TERMINAL_LAYER 2.08 - #define CATWALK_LAYER 2.09 - #define ABOVE_CATWALK_LAYER 2.10 - #define BLOOD_LAYER 2.11 - #define MOUSETRAP_LAYER 2.12 - #define PLANT_LAYER 2.13 - #define AO_LAYER 2.14 + #define EXPOSED_DISPOSALS_PIPE_LAYER 2.06 + #define EXPOSED_PIPE_LAYER 2.07 + #define EXPOSED_WIRE_LAYER 2.08 + #define EXPOSED_WIRE_TERMINAL_LAYER 2.09 + #define CATWALK_LAYER 2.10 + #define ABOVE_CATWALK_LAYER 2.11 + #define BLOOD_LAYER 2.12 + #define MOUSETRAP_LAYER 2.13 + #define PLANT_LAYER 2.14 + #define AO_LAYER 2.15 //HIDING MOB - #define HIDING_MOB_LAYER 2.15 - #define SHALLOW_FLUID_LAYER 2.16 + #define HIDING_MOB_LAYER 2.16 + #define SHALLOW_FLUID_LAYER 2.17 // OBJ - #define BELOW_DOOR_LAYER 2.18 - #define OPEN_DOOR_LAYER 2.19 - #define BELOW_TABLE_LAYER 2.20 - #define TABLE_LAYER 2.21 - #define ABOVE_TABLE_LAYER 2.22 - #define BELOW_OBJ_LAYER 2.23 - #define STRUCTURE_LAYER 2.24 + #define BELOW_DOOR_LAYER 2.69 + #define OPEN_DOOR_LAYER 2.70 + #define BELOW_TABLE_LAYER 2.71 + #define TABLE_LAYER 2.72 + #define ABOVE_TABLE_LAYER 2.73 + #define WINDOW_FRAME_LAYER 2.74 + #define BELOW_WINDOW_LAYER 2.75 + #define SIDE_WINDOW_LAYER 2.76 + #define FULL_WINDOW_LAYER 2.77 + #define ABOVE_WINDOW_LAYER 2.78 + #define BELOW_OBJ_LAYER 2.89 + #define STRUCTURE_LAYER 2.9 //OBJ_LAYER 3 #define ABOVE_OBJ_LAYER 3.01 #define MOB_SHADOW_LAYER 3.011 #define MOB_EMISSIVE_LAYER 3.012 #define MOB_SHADOW_UPPER_LAYER 3.013 - #define UNDERDOOR 3.015 //Just barely under a closed door. TODO: Obsolete? - #define CLOSED_DOOR_LAYER 3.02 - #define ABOVE_DOOR_LAYER 3.03 - #define SIDE_WINDOW_LAYER 3.04 - #define FULL_WINDOW_LAYER 3.05 - #define ABOVE_WINDOW_LAYER 3.06 - #define HOLOMAP_OVERLAY_LAYER 3.061 + #define HOLOMAP_OVERLAY_LAYER 3.02 //LYING MOB AND HUMAN #define LYING_MOB_LAYER 3.07 #define LYING_HUMAN_LAYER 3.08 @@ -97,33 +97,37 @@ //HUMAN #define BASE_HUMAN_LAYER 3.10 //MOB_LAYER 4 - #define MECH_BASE_LAYER 4.01 - #define MECH_INTERMEDIATE_LAYER 4.02 - #define MECH_PILOT_LAYER 4.03 - #define MECH_LEG_LAYER 4.04 - #define MECH_COCKPIT_LAYER 4.05 - #define MECH_ARM_LAYER 4.06 - #define MECH_HEAD_LAYER 4.07 - #define MECH_GEAR_LAYER 4.08 - #define MECH_DECAL_LAYER 4.09 - //ABOVE_HUMAN - #define ABOVE_HUMAN_LAYER 4.10 - #define ABOVE_ABOVE_HUMAN_LAYER 4.101 - #define VEHICLE_LOAD_LAYER 4.11 - #define CAMERA_LAYER 4.12 - //BLOB - #define BLOB_SHIELD_LAYER 4.13 - #define BLOB_NODE_LAYER 4.14 - #define BLOB_CORE_LAYER 4.15 - //EFFECTS BELOW LIGHTING - #define BELOW_PROJECTILE_LAYER 4.16 - #define DEEP_FLUID_LAYER 4.17 - #define FIRE_LAYER 4.18 - #define PROJECTILE_LAYER 4.19 - #define ABOVE_PROJECTILE_LAYER 4.20 - #define SINGULARITY_LAYER 4.21 - #define POINTER_LAYER 4.22 - #define MIMICED_LIGHTING_LAYER 4.23 // Z-Mimic-managed lighting + #define UNDERDOOR 4.03 + #define CLOSED_DOOR_LAYER 4.04 + #define ABOVE_DOOR_LAYER 4.05 + #define MECH_BASE_LAYER 4.06 + #define MECH_INTERMEDIATE_LAYER 4.07 + #define MECH_PILOT_LAYER 4.08 + #define MECH_LEG_LAYER 4.09 + #define MECH_COCKPIT_LAYER 4.10 + #define MECH_ARM_LAYER 4.11 + #define MECH_HEAD_LAYER 4.12 + #define MECH_GEAR_LAYER 4.13 + #define MECH_DECAL_LAYER 4.14 + // ABOVE_HUMAN + #define ABOVE_HUMAN_LAYER 4.15 + #define ABOVE_ABOVE_HUMAN_LAYER 4.151 + #define VEHICLE_LOAD_LAYER 4.16 + #define CAMERA_LAYER 4.17 + // BLOB + #define BLOB_SHIELD_LAYER 4.18 + #define BLOB_NODE_LAYER 4.19 + #define BLOB_CORE_LAYER 4.20 + // EFFECTS BELOW LIGHTING + #define BELOW_PROJECTILE_LAYER 4.21 + #define DEEP_FLUID_LAYER 4.22 + #define FIRE_LAYER 4.23 + #define PROJECTILE_LAYER 4.24 + #define ABOVE_PROJECTILE_LAYER 4.25 + #define SINGULARITY_LAYER 4.26 + #define POINTER_LAYER 4.27 + #define MIMICED_LIGHTING_LAYER 4.28 // Z-Mimic-managed lighting + //FLY_LAYER 5 //OBSERVER #define OBSERVER_LAYER 5.1 diff --git a/code/__DEFINES/turfs.dm b/code/__DEFINES/turfs.dm index 250bb462c28..5ca90cbd7fe 100644 --- a/code/__DEFINES/turfs.dm +++ b/code/__DEFINES/turfs.dm @@ -10,11 +10,12 @@ #define TURF_CAN_BREAK BITFLAG(6) #define TURF_CAN_BURN BITFLAG(7) #define TURF_HAS_EDGES BITFLAG(8) -#define TURF_HAS_CORNERS BITFLAG(9) -#define TURF_HAS_INNER_CORNERS BITFLAG(10) -#define TURF_IS_FRAGILE BITFLAG(11) -#define TURF_ACID_IMMUNE BITFLAG(12) -#define TURF_NORUINS BITFLAG(13) +#define TURF_OFFSET_EDGES BITFLAG(9) +#define TURF_HAS_CORNERS BITFLAG(10) +#define TURF_HAS_INNER_CORNERS BITFLAG(11) +#define TURF_IS_FRAGILE BITFLAG(12) +#define TURF_ACID_IMMUNE BITFLAG(13) +#define TURF_NORUINS BITFLAG(14) //Used for floor/wall smoothing #define SMOOTH_NONE 0 //Smooth only with itself diff --git a/code/game/objects/structures/full_window_frame.dm b/code/game/objects/structures/full_window_frame.dm index 43c9703b0c7..d94b033a629 100644 --- a/code/game/objects/structures/full_window_frame.dm +++ b/code/game/objects/structures/full_window_frame.dm @@ -5,7 +5,7 @@ icon_state = "window_frame" color = COLOR_GRAY20 build_amt = 4 - layer = ABOVE_TABLE_LAYER + layer = WINDOW_FRAME_LAYER anchored = TRUE density = TRUE climbable = TRUE diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 1d8885fd3aa..b77a7826b3e 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -10,14 +10,14 @@ anchored = TRUE obj_flags = OBJ_FLAG_CONDUCTABLE | OBJ_FLAG_MOVES_UNSUPPORTED explosion_resistance = 1 - layer = BELOW_OBJ_LAYER + layer = BELOW_WINDOW_LAYER var/health = 10 var/destroyed = 0 /obj/structure/grille/over name = "over-frame grille" icon = 'icons/obj/smooth/window/grille_over.dmi' - layer = BELOW_OBJ_LAYER + layer = BELOW_WINDOW_LAYER smoothing_flags = SMOOTH_MORE canSmoothWith = list( /turf/simulated/wall, diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index 26b632b224d..e80c7496db3 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -8,7 +8,7 @@ density = FALSE anchored = TRUE w_class = ITEMSIZE_NORMAL - layer = LATTICE_LAYER + layer = ABOVE_TILE_LAYER obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED smoothing_flags = SMOOTH_MORE canSmoothWith = list( diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 113c9175e2a..9b2e0f25369 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -5,7 +5,7 @@ icon_state = "plasticflaps_preview" density = 0 anchored = 1 - layer = ABOVE_HUMAN_LAYER + layer = UNDERDOOR explosion_resistance = 5 build_amt = 4 color = COLOR_GRAY20 // ideally this would get_step() the material color from nearby walls but this works for now. diff --git a/code/game/turfs/flooring/flooring_.dm b/code/game/turfs/flooring/flooring_.dm index 7dc67827d55..f4c1a6c90ae 100644 --- a/code/game/turfs/flooring/flooring_.dm +++ b/code/game/turfs/flooring/flooring_.dm @@ -61,7 +61,7 @@ has_damage_range = 0 has_damage_state = TRUE damage_temperature = T0C+80 - flags = TURF_HAS_EDGES | TURF_HAS_CORNERS | TURF_REMOVE_SHOVEL | TURF_CAN_BREAK | TURF_CAN_BURN + flags = TURF_HAS_EDGES | TURF_OFFSET_EDGES | TURF_HAS_CORNERS | TURF_REMOVE_SHOVEL | TURF_CAN_BREAK | TURF_CAN_BURN build_type = /obj/item/stack/tile/grass footstep_sound = /singleton/sound_category/grass_footstep floor_smooth = SMOOTH_NONE @@ -73,7 +73,7 @@ desc = "Gritty and unpleasant." icon = 'icons/turf/flooring/asteroid.dmi' icon_base = "asteroid" - flags = TURF_HAS_EDGES | TURF_REMOVE_SHOVEL + flags = TURF_HAS_EDGES | TURF_OFFSET_EDGES | TURF_REMOVE_SHOVEL build_type = null footstep_sound = /singleton/sound_category/asteroid_footstep @@ -83,7 +83,7 @@ icon = 'icons/turf/flooring/grass.dmi' icon_base = "snow" has_base_range = 2 - flags = TURF_HAS_EDGES | TURF_REMOVE_SHOVEL + flags = TURF_HAS_EDGES | TURF_OFFSET_EDGES | TURF_REMOVE_SHOVEL footstep_sound = /singleton/sound_category/snow_footstep //Carpet @@ -94,7 +94,7 @@ icon_base = "carpet" build_type = /obj/item/stack/tile/carpet damage_temperature = T0C+200 - flags = TURF_HAS_CORNERS | TURF_HAS_INNER_CORNERS | TURF_REMOVE_CROWBAR | TURF_CAN_BREAK | TURF_CAN_BURN + flags = TURF_HAS_CORNERS | TURF_HAS_INNER_CORNERS | TURF_REMOVE_CROWBAR | TURF_CAN_BREAK | TURF_CAN_BURN | TURF_HAS_EDGES footstep_sound = /singleton/sound_category/carpet_footstep floor_smooth = SMOOTH_NONE wall_smooth = SMOOTH_NONE diff --git a/code/game/turfs/simulated/floor_icon.dm b/code/game/turfs/simulated/floor_icon.dm index f8d7d0bac4f..2da247a206b 100644 --- a/code/game/turfs/simulated/floor_icon.dm +++ b/code/game/turfs/simulated/floor_icon.dm @@ -35,7 +35,7 @@ if(flooring.has_damage_state && !isnull(broken) && (flooring.flags & TURF_CAN_BREAK)) AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-broken-edge-[step_dir]", "[flooring.icon_base]_broken_edges", step_dir,(flooring.flags & TURF_HAS_EDGES))) else if(flooring.flags & TURF_HAS_EDGES) - AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[step_dir]", "[flooring.icon_base]_edges", step_dir, (flooring.flags & TURF_HAS_EDGES))) + AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[step_dir]", "[flooring.icon_base]_edges", step_dir, (flooring.flags & TURF_OFFSET_EDGES))) has_smooth = ~(has_border & (NORTH | SOUTH | EAST | WEST)) @@ -57,7 +57,7 @@ if(flooring.has_damage_state && !isnull(broken) && (flooring.flags & TURF_CAN_BREAK)) AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-broken-edge-[direction]", "[flooring.icon_base]_broken_edges", direction,(flooring.flags & TURF_HAS_EDGES))) else - AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[direction]", "[flooring.icon_base]_edges", direction,(flooring.flags & TURF_HAS_EDGES))) + AddOverlays(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[direction]", "[flooring.icon_base]_edges", direction,(flooring.flags & TURF_OFFSET_EDGES))) if(!isnull(broken) && (flooring.flags & TURF_CAN_BREAK)) if(flooring.has_damage_state) @@ -97,7 +97,6 @@ I.pixel_x = -world.icon_size else if (icon_dir & EAST) I.pixel_x = world.icon_size - I.layer = flooring.decal_layer flooring_cache[cache_key] = I return flooring_cache[cache_key] diff --git a/code/modules/atmospherics/components/binary_devices/binary_atmos_base.dm b/code/modules/atmospherics/components/binary_devices/binary_atmos_base.dm index ace3f4c5398..f25131c0d97 100644 --- a/code/modules/atmospherics/components/binary_devices/binary_atmos_base.dm +++ b/code/modules/atmospherics/components/binary_devices/binary_atmos_base.dm @@ -1,7 +1,7 @@ /obj/machinery/atmospherics/binary dir = SOUTH initialize_directions = SOUTH|NORTH - layer = ABOVE_CATWALK_LAYER + layer = EXPOSED_PIPE_LAYER var/datum/gas_mixture/air1 var/datum/gas_mixture/air2 diff --git a/code/modules/effects/map_effects/door_helper.dm b/code/modules/effects/map_effects/door_helper.dm index 68a85d41eaa..e2c2d96913a 100644 --- a/code/modules/effects/map_effects/door_helper.dm +++ b/code/modules/effects/map_effects/door_helper.dm @@ -59,3 +59,14 @@ "red" = list(19,38), "delta" = list(19,38) ) + +/// Locks/bolts any (lockable) door/airlock this marker is placed on. +/obj/effect/map_effect/door_helper/lock + icon_state = "locked" + +/obj/effect/map_effect/door_helper/lock/modify_door(obj/machinery/door/D) + . = ..() + if(isairlock(D)) + var/obj/machinery/door/airlock/A = D + A.locked = TRUE + A.set_airlock_overlays(AIRLOCK_CLOSED) diff --git a/code/modules/mob/abstract/observer/observer.dm b/code/modules/mob/abstract/observer/observer.dm index b1ee4f110a1..71747f6fed1 100644 --- a/code/modules/mob/abstract/observer/observer.dm +++ b/code/modules/mob/abstract/observer/observer.dm @@ -3,7 +3,8 @@ desc = "It's a g-g-g-g-ghooooost!" //jinkies! icon = 'icons/mob/mob.dmi' icon_state = "ghost" - layer = OBSERVER_PLANE + layer = OBSERVER_LAYER + plane = OBSERVER_PLANE stat = DEAD density = 0 canmove = 0 diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index aa5c9b251f4..40ff05a1bd8 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -794,7 +794,7 @@ var/dpdir = 0 // bitmask of pipe directions dir = 0 // dir will contain dominant direction for junction pipes var/health = 10 // health points 0-10 - layer = DISPOSALS_PIPE_LAYER + layer = EXPOSED_DISPOSALS_PIPE_LAYER var/sortType = "" var/subtype = 0 // new pipe, set the icon_state as on map diff --git a/code/modules/tables/presets.dm b/code/modules/tables/presets.dm index 666adf71732..6c51f193a46 100644 --- a/code/modules/tables/presets.dm +++ b/code/modules/tables/presets.dm @@ -17,7 +17,7 @@ table_mat = MATERIAL_MARBLE /obj/structure/table/reinforced - icon_state = "reinf_preview" + icon_state = "reinf_solid_preview" table_mat = DEFAULT_TABLE_MATERIAL table_reinf = DEFAULT_TABLE_REINF_MATERIAL diff --git a/html/changelogs/nauticall-miscfixes.yml b/html/changelogs/nauticall-miscfixes.yml new file mode 100644 index 00000000000..227079b943b --- /dev/null +++ b/html/changelogs/nauticall-miscfixes.yml @@ -0,0 +1,63 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: nauticall + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Carpets now show proper edges again." + - bugfix: "Fixed layering of several map items, like disposal pipes, that were previously buried underneath turfs in the map editor (and were invisible as a result)." + - bugfix: "Fixed other miscellaneous layering issues." + - bugfix: "Fixed observer sprites occasionally going underneath certain objects. Their layering has been fixed." + - bugfix: "Reinforced plastic tables now show up correctly in the map editor." + - rscadd: "Added a special 'lock' door helper that automatically locks doors underneath it so mappers don't have to edit variables/icon states manually." diff --git a/icons/effects/map_effects.dmi b/icons/effects/map_effects.dmi index 6a4123d9b95..53cdb74d9b8 100644 Binary files a/icons/effects/map_effects.dmi and b/icons/effects/map_effects.dmi differ