diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index 132af470ecd..cb76c6fd08e 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -1070,7 +1070,7 @@ /obj/structure/flora/ausbushes/ppflowers, /obj/structure/flora/ausbushes/stalkybush, /obj/structure/window/full/shuttle, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/shuttle/arrival/station) "aiH" = ( /obj/structure/chair{ @@ -67389,10 +67389,6 @@ icon_state = "neutralcorner" }, /area/medical/medbay3) -"cWk" = ( -/obj/structure/lattice, -/turf/simulated/wall/r_wall, -/area/maintenance/port) "cWl" = ( /obj/machinery/shieldgen, /obj/effect/decal/warning_stripes/east, @@ -89566,7 +89562,7 @@ /obj/structure/window/basic{ dir = 1 }, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/exit) "dTe" = ( /obj/machinery/door/firedoor, @@ -89857,7 +89853,7 @@ /obj/structure/window/basic{ dir = 8 }, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/exit) "dTH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -92424,7 +92420,7 @@ /obj/structure/window/basic{ dir = 1 }, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/exit) "frI" = ( /obj/structure/cable{ @@ -117900,7 +117896,7 @@ abj abj abj abj -cWk +dmq dmq cHA cHA diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 2e19e9e2641..35016837db3 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -17950,13 +17950,13 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) "aPj" = ( /mob/living/simple_animal/chicken/featherbottom, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) @@ -18659,12 +18659,12 @@ name = "Animal Pen A"; opacity = 1 }, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) "aQQ" = ( -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) @@ -19187,13 +19187,13 @@ }, /obj/structure/window/reinforced, /mob/living/simple_animal/chicken/kentucky, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) "aSe" = ( /obj/structure/window/reinforced, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) @@ -20332,7 +20332,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) @@ -20344,7 +20344,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) @@ -20968,13 +20968,13 @@ name = "Animal Pen B"; opacity = 1 }, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) "aWe" = ( /mob/living/simple_animal/cow/betsy, -/turf/simulated/floor/grass, +/turf/simulated/floor/grass/no_creep, /area/hallway/secondary/construction{ name = "\improper Garden" }) @@ -90233,7 +90233,7 @@ aaa aaa aaa aaa -aWD +aaa aWD aWD aWD @@ -91261,7 +91261,7 @@ aaa abq aaa aaa -aWD +aaa aWD aWD aXS @@ -119496,7 +119496,7 @@ aaa aaa abq aaa -afb +abq afH ajD afH @@ -119753,7 +119753,7 @@ aaa aaa abq abq -abe +abq afH agk afH @@ -120010,7 +120010,7 @@ aaa aaa aaa aaa -abf +abq aaa aaa aaa @@ -120267,7 +120267,7 @@ aaa aaa aaa aaa -abe +abq abq abe abq @@ -127476,11 +127476,11 @@ aaa aaa aaa aaa -aoG +aaa avN awD avN -aoG +aaa aoG asJ axh diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index e0a93fca71b..efe6aa2f643 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -79325,9 +79325,6 @@ /obj/structure/grille, /turf/simulated/floor/plating, /area/toxins/mixing) -"ejU" = ( -/turf/space, -/area/space/nearstation) "ema" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 @@ -91035,7 +91032,7 @@ aaa aaa aaa aaa -aLd +aaa aMs aMs aMs @@ -92063,7 +92060,7 @@ aaa aaa aaa aaa -aLd +aaa aMs aMs aMs @@ -93091,7 +93088,7 @@ aab aab aab aab -aLd +aab aMs aNw aNw @@ -114786,11 +114783,11 @@ dfC dgb dcq aaa -dcq +aaa dou doM dou -dcq +aaa aaa aaa aaa @@ -115043,11 +115040,11 @@ dfA dfT dcq aaa -dcq +aaa dou doz dou -dcq +aaa aaa aaa aaa @@ -115302,7 +115299,7 @@ dgc aaa aaa aaa -ejU +aaa aaa aaa aaa @@ -121607,7 +121604,7 @@ axh auq avu auq -atG +aaa aaa aaa aOI diff --git a/code/__DEFINES/icon_smoothing.dm b/code/__DEFINES/icon_smoothing.dm index 63b63d92387..ceb64f47f4b 100644 --- a/code/__DEFINES/icon_smoothing.dm +++ b/code/__DEFINES/icon_smoothing.dm @@ -123,4 +123,6 @@ DEFINE_BITFIELD(smoothing_flags, list( #define SMOOTH_GROUP_CLEANABLE_DIRT S_OBJ(67) ///obj/effect/decal/cleanable/dirt -#define SMOOTH_GROUP_RIPPLE S_OBJ(68) ///obj/effect/temp_visual/ripple +#define SMOOTH_GROUP_RIPPLE S_OBJ(68) ///obj/effect/temp_visual/ripple + +#define SMOOTH_GROUP_CATWALK S_OBJ(69) ///obj/structure/lattice/catwalk diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 8ee7bfc0e2f..7de5d2eee0e 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -312,10 +312,10 @@ DEFINE_BITFIELD(smoothing_junction, list( * * Returns the previous smoothing_junction state so the previous state can be compared with the new one after the proc ends, and see the changes, if any. * + * Objects override this to prevent unanchored objects from smoothing, see /obj/bitmask_smooth() */ /atom/proc/bitmask_smooth() var/new_junction = NONE - for(var/direction in GLOB.cardinal) //Cardinal case first. SET_ADJ_IN_DIR(src, new_junction, direction, direction) @@ -339,6 +339,12 @@ DEFINE_BITFIELD(smoothing_junction, list( set_smoothed_icon_state(new_junction) +///Object override to prevent unanchored objects from smoothing +/obj/bitmask_smooth() + if(!anchored) + set_smoothed_icon_state(0) + return + return ..() ///Changes the icon state based on the new junction bitmask. Returns the old junction value. /atom/proc/set_smoothed_icon_state(new_junction) @@ -367,11 +373,11 @@ DEFINE_BITFIELD(smoothing_junction, list( var/turned_adjacency = reverse_direction(junction_dir) var/turf/neighbor_turf = get_step(src, turned_adjacency & (NORTH|SOUTH)) var/mutable_appearance/underlay_appearance = mutable_appearance(layer = TURF_LAYER, plane = FLOOR_PLANE) - if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) + if(neighbor_turf && (!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency) || neighbor_turf.density)) //dense turfs are unwanted for underlays neighbor_turf = get_step(src, turned_adjacency & (EAST|WEST)) - if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) + if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency) || neighbor_turf.density) neighbor_turf = get_step(src, turned_adjacency) - if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) + if(!neighbor_turf.get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency) || neighbor_turf.density) if(!get_smooth_underlay_icon(underlay_appearance, src, turned_adjacency)) //if all else fails, ask our own turf underlay_appearance.icon = DEFAULT_UNDERLAY_ICON underlay_appearance.icon_state = DEFAULT_UNDERLAY_ICON_STATE diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index 7ee548d2d39..2ef27067573 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -120,7 +120,7 @@ layer = ABOVE_OPEN_TURF_LAYER plane = FLOOR_PLANE icon = 'icons/obj/smooth_structures/alien/weeds1.dmi' - icon_state = "weeds1-0" + icon_state = "weeds1" base_icon_state = "weeds1" max_integrity = 15 smoothing_flags = SMOOTH_BITMASK @@ -175,7 +175,7 @@ name = "glowing resin" desc = "Blue bioluminescence shines from beneath the surface." icon = 'icons/obj/smooth_structures/alien/weednode.dmi' - icon_state = "weednode-0" + icon_state = "weednode" base_icon_state = "weednode" light_range = 1 var/node_range = NODERANGE diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 3fcadd33a17..e7814966263 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -64,44 +64,42 @@ /obj/structure/falsewall/proc/toggle(mob/user) if(opening) return - - opening = 1 + opening = TRUE if(density) flick("fwall_opening", src) - density = 0 - set_opacity(0) - update_icon() + density = FALSE + set_opacity(FALSE) + clear_smooth_overlays() + icon_state = "fwall_opening" else var/srcturf = get_turf(src) for(var/mob/living/obstacle in srcturf) //Stop people from using this as a shield - opening = 0 + opening = FALSE return flick("fwall_closing", src) - density = 1 - set_opacity(1) - update_icon() - air_update_turf(1) - opening = 0 + density = TRUE + set_opacity(TRUE) + icon_state = "fwall_closing" + air_update_turf(TRUE) + opening = FALSE update_icon() - /obj/structure/falsewall/update_icon() if(opening) + smoothing_flags = NONE + clear_smooth_overlays() if(density) icon_state = "fwall_opening" - smoothing_flags = NONE - clear_smooth_overlays() - else - icon_state = "fwall_closing" - else - if(density) - icon_state = initial(icon_state) - smoothing_flags = SMOOTH_CORNERS - icon_state = "[base_icon_state]-[smoothing_junction]" - smoothing_flags = SMOOTH_BITMASK - QUEUE_SMOOTH(src) - else - icon_state = "fwall_open" + return + icon_state = "fwall_closing" + return + if(!density) + icon_state = "fwall_open" + return + smoothing_flags = SMOOTH_BITMASK + icon_state = initial(icon_state) + icon_state = "[base_icon_state]-[smoothing_junction]" + QUEUE_SMOOTH(src) /obj/structure/falsewall/proc/ChangeToWall(delete = TRUE) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index ff4b8c98132..5020fda9c87 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -73,8 +73,8 @@ base_icon_state = "catwalk" number_of_rods = 2 smoothing_flags = SMOOTH_BITMASK - smoothing_groups = list(SMOOTH_GROUP_LATTICE, SMOOTH_GROUP_FLOOR) - canSmoothWith = list(SMOOTH_GROUP_LATTICE) + smoothing_groups = list(SMOOTH_GROUP_CATWALK, SMOOTH_GROUP_LATTICE, SMOOTH_GROUP_FLOOR) + canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_CATWALK) /obj/structure/lattice/catwalk/deconstruction_hints(mob/user) to_chat(user, "The supporting rods look like they could be cut.") diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index 58f9052db92..ab4f2edc249 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -45,7 +45,7 @@ /turf/simulated/floor/grass name = "grass patch" icon = 'icons/turf/floors/grass.dmi' - icon_state = "grass-0" + icon_state = "grass" base_icon_state = "grass" smoothing_flags = SMOOTH_BITMASK smoothing_groups = list(SMOOTH_GROUP_TURF, SMOOTH_GROUP_GRASS) @@ -71,7 +71,7 @@ /turf/simulated/floor/grass/jungle name = "jungle grass" icon = 'icons/turf/floors/junglegrass.dmi' - icon_state = "junglegrass-0" + icon_state = "junglegrass-255" base_icon_state = "junglegrass" smoothing_groups = list(SMOOTH_GROUP_TURF, SMOOTH_GROUP_GRASS, SMOOTH_GROUP_JUNGLE_GRASS) diff --git a/code/game/turfs/simulated/floor/plasteel_floor.dm b/code/game/turfs/simulated/floor/plasteel_floor.dm index 1b69d502abd..59701bb7738 100644 --- a/code/game/turfs/simulated/floor/plasteel_floor.dm +++ b/code/game/turfs/simulated/floor/plasteel_floor.dm @@ -15,6 +15,7 @@ oxygen = 0 nitrogen = 0 temperature = TCMB + smoothing_groups = list(SMOOTH_GROUP_TURF, SMOOTH_GROUP_LATTICE) /turf/simulated/floor/plasteel/airless/Initialize(mapload) . = ..() diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 812ad0976dc..17a1ca6345c 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -189,6 +189,7 @@ /turf/simulated/mineral/gibtonite = 2, /turf/simulated/mineral/bscrystal = 1) /turf/simulated/mineral/random/volcanic + icon_state = "smoothrocks" environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface diff --git a/code/modules/shuttle/ripple.dm b/code/modules/shuttle/ripple.dm index 30bf49594ad..078cc9aa9fa 100644 --- a/code/modules/shuttle/ripple.dm +++ b/code/modules/shuttle/ripple.dm @@ -10,6 +10,7 @@ density = FALSE smoothing_flags = SMOOTH_BITMASK smoothing_groups = list(SMOOTH_GROUP_RIPPLE) + canSmoothWith = list(SMOOTH_GROUP_RIPPLE) layer = RIPPLE_LAYER alpha = 0 duration = 3 * SHUTTLE_RIPPLE_TIME diff --git a/icons/obj/smooth_structures/alien/weednode.dmi b/icons/obj/smooth_structures/alien/weednode.dmi index e8a0e000e1b..888fce62ad1 100644 Binary files a/icons/obj/smooth_structures/alien/weednode.dmi and b/icons/obj/smooth_structures/alien/weednode.dmi differ diff --git a/icons/obj/smooth_structures/alien/weeds1.dmi b/icons/obj/smooth_structures/alien/weeds1.dmi index 0809848b55f..e9022e89414 100644 Binary files a/icons/obj/smooth_structures/alien/weeds1.dmi and b/icons/obj/smooth_structures/alien/weeds1.dmi differ diff --git a/icons/obj/smooth_structures/alien/weeds2.dmi b/icons/obj/smooth_structures/alien/weeds2.dmi index 567e9bfb715..13207496e1c 100644 Binary files a/icons/obj/smooth_structures/alien/weeds2.dmi and b/icons/obj/smooth_structures/alien/weeds2.dmi differ diff --git a/icons/obj/smooth_structures/alien/weeds3.dmi b/icons/obj/smooth_structures/alien/weeds3.dmi index 1903262a371..2ed86420b4d 100644 Binary files a/icons/obj/smooth_structures/alien/weeds3.dmi and b/icons/obj/smooth_structures/alien/weeds3.dmi differ diff --git a/icons/turf/floors/grass.dmi b/icons/turf/floors/grass.dmi index e3dc219bc4f..579d4e6b961 100644 Binary files a/icons/turf/floors/grass.dmi and b/icons/turf/floors/grass.dmi differ diff --git a/icons/turf/floors/junglegrass.dmi b/icons/turf/floors/junglegrass.dmi index f2944d18cf6..0a90623aa6d 100644 Binary files a/icons/turf/floors/junglegrass.dmi and b/icons/turf/floors/junglegrass.dmi differ diff --git a/icons/turf/smoothrocks.dmi b/icons/turf/smoothrocks.dmi index 0948aaaaa3b..495eb4ab1cf 100644 Binary files a/icons/turf/smoothrocks.dmi and b/icons/turf/smoothrocks.dmi differ