[MDB IGNORE] [IDB IGNORE] The Floorening (#30568)

* New floors and decalized floor tiles.

* satisfy linter

* Add command decals, remove old "blue tile" decal

* update script number

* have ATMs put their decals on last

* add engineering decals

* update spritesheets

* lots of tile coloring fixes

* more engi tile fixes

* more tile fixes

* linters

* fixes conflict?

* fix layering issue

* fix merge conflicts

* merge conflict fix?

* box bridge fix

* holodeck fix, layering fix, chemistry is no longer yellow

chemistry is intended to be a 'light orange' to be placed atop white tiles, just as medical decals are to command decals

* rebuild tgui

* merge master into floorening

* Update 30511_turfdecalsfix.txt

* merge master into floorening

* rebuild tgui

* holodeck fix, null plating fix

* Delete 30511_turfdecalsfix.txt

* updatepaths

* rebuild tgui

* null icon fix

* Update meatpackers.dmm

---------

Co-authored-by: Alexios <skillpointHD@Gmail.com>
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
This commit is contained in:
Ahzpy
2025-10-19 19:05:58 +00:00
committed by GitHub
co-authored by Alexios warriorstar-orion
parent 5db33d455c
commit 428d34980e
84 changed files with 62161 additions and 84556 deletions
@@ -75,3 +75,6 @@
var/scale = (rand(2, 10) / 10) + (rand(0, 5) / 100)
transform = matrix(transform, scale, scale, MATRIX_SCALE)
setDir(pick(NORTH, SOUTH, EAST, WEST))
/obj/effect/decal/station_sign
icon = 'icons/turf/station_signs.dmi'
@@ -3,6 +3,7 @@
icon_state = "warningline"
layer = TURF_DECAL_LAYER
var/decal_description
var/painter_category = DECAL_PAINTER_CATEGORY_STANDARD
/obj/effect/turf_decal/Initialize(mapload, _dir)
@@ -12,7 +13,7 @@
if(!istype(T)) //you know this will happen somehow
CRASH("Turf decal initialized in an object/nullspace")
T.AddElement(/datum/element/decal, icon, icon_state, _dir || dir, layer, alpha, color, FALSE, null)
T.AddElement(/datum/element/decal, icon, icon_state, _dir || dir, layer, alpha, color, FALSE, decal_description)
/obj/effect/turf_decal/trimline
icon = 'icons/turf/trimline.dmi'
@@ -0,0 +1,48 @@
/obj/effect/turf_decal/tiles
icon_state = "blank"
// these plane and layer settings are primarily for visual readability
// in map editors; they are not the ones used when decals are applied
plane = FLOOR_PLANE
layer = LATTICE_LAYER
painter_category = DECAL_PAINTER_CATEGORY_TILES
/obj/effect/turf_decal/tiles/Initialize(mapload, _dir)
layer = TURF_LAYER
plane = GAME_PLANE
. = ..()
#define TILES_DECAL_HELPER(name, icon_path) \
/obj/effect/turf_decal/tiles/##name { \
icon = icon_path; \
icon_state = "tile_full" \
} \
/obj/effect/turf_decal/tiles/##name/side { \
icon_state = "tile_directional" \
} \
/obj/effect/turf_decal/tiles/##name/corner { \
icon_state = "tile_corner" \
} \
/obj/effect/turf_decal/tiles/##name/checker { \
icon_state = "tile_opposing_corners" \
} \
/obj/effect/turf_decal/tiles/##name/mono { \
icon_state = "tile_mono" \
} \
/obj/effect/turf_decal/tiles/##name/half { \
icon_state = "tile_half" \
}
TILES_DECAL_HELPER(department/command, 'icons/turf/decals/floormarkings/departmental/command_decals.dmi')
TILES_DECAL_HELPER(department/security, 'icons/turf/decals/floormarkings/departmental/security_decals.dmi')
TILES_DECAL_HELPER(department/medical, 'icons/turf/decals/floormarkings/departmental/medical_decals.dmi')
TILES_DECAL_HELPER(department/virology, 'icons/turf/decals/floormarkings/departmental/virology_decals.dmi')
TILES_DECAL_HELPER(department/chemistry, 'icons/turf/decals/floormarkings/departmental/chemistry_decals.dmi')
TILES_DECAL_HELPER(department/engineering, 'icons/turf/decals/floormarkings/departmental/engineering_decals.dmi')
TILES_DECAL_HELPER(department/science, 'icons/turf/decals/floormarkings/departmental/science_decals.dmi')
TILES_DECAL_HELPER(department/cargo, 'icons/turf/decals/floormarkings/departmental/cargo_decals.dmi')
TILES_DECAL_HELPER(jobs/bar, 'icons/turf/decals/floormarkings/jobs/bar_decals.dmi')
TILES_DECAL_HELPER(dark, 'icons/turf/decals/floormarkings/departmental/dark_decals.dmi')
TILES_DECAL_HELPER(neutral, 'icons/turf/decals/floormarkings/departmental/neutral_decals.dmi')
TILES_DECAL_HELPER(white, 'icons/turf/decals/floormarkings/departmental/white_decals.dmi')
#undef TILES_DECAL_HELPER
@@ -178,9 +178,6 @@
/obj/effect/turf_decal/box/red/corners
icon_state = "box_corners_red"
/obj/effect/turf_decal/plaque
icon_state = "plaque"
/obj/effect/turf_decal/woodsiding
icon_state = "woodsidingline"
@@ -226,5 +223,8 @@
/obj/effect/turf_decal/raven/nine
icon_state = "RAVEN9"
/obj/effect/turf_decal/blue_corner
icon_state = "darkbluecorners"
/obj/effect/turf_decal/yellow_siding
icon_state = "yellowsiding"
/obj/effect/turf_decal/yellow_siding/corner
icon_state = "yellowcornersiding"
@@ -0,0 +1,27 @@
/obj/effect/turf_decal/plaque
icon_state = "plaque"
/obj/effect/turf_decal/plaque/goonplaque
name = "Commemorative Plaque"
decal_description = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."
/obj/effect/turf_decal/plaque/memorial
name = "Memorial Plaque"
decal_description = "\"This is a plaque in honour of those who died in the great space lube airlock incident.\" Scratched in beneath that is a crude image of a clown and a spaceman. The spaceman is slipping. The clown is laughing."
/obj/effect/turf_decal/plaque/commission
name = "Commission Plaque"
decal_description = "Epsilon Eridani Sector - 'Meta' Class Outpost - Commissioned 11/03/2557 - NSS Cerebron."
/obj/effect/turf_decal/plaque/nosey
name = "Nosey little bastard aren't you?"
decal_description = "Nosey little bastard aren't you?"
/obj/effect/turf_decal/plaque/violence
name = "Violence Free Area"
decal_description = "Violence Free Area."
/obj/effect/turf_decal/plaque/cerestation
name = "Farragus Commission Plaque"
decal_description = "\"AMS Farragus, Commissioned on 13 April 2472 by the Althland Mining Company. Acquired and recommissioned as NSS Farragus by Nanotrasen on 3 January 2485.\"<br><br>\
Scratched in beneath is a crude image of a mime and a security officer. The security officer is hitting an invisible wall with a baton. The mime is silently laughing."
@@ -1,39 +0,0 @@
/obj/effect/turf_decal/tile
name = "tile decal"
icon_state = "tile_corner"
layer = TURF_PLATING_DECAL_LAYER
alpha = 110
/obj/effect/turf_decal/tile/blue
name = "blue corner"
color = "#52B4E9"
/obj/effect/turf_decal/tile/green
name = "green corner"
color = "#9FED58"
/obj/effect/turf_decal/tile/yellow
name = "yellow corner"
color = "#EFB341"
/obj/effect/turf_decal/tile/red
name = "red corner"
color = "#DE3A3A"
/obj/effect/turf_decal/tile/bar
name = "bar corner"
color = "#791500"
alpha = 130
/obj/effect/turf_decal/tile/purple
name = "purple corner"
color = "#D381C9"
/obj/effect/turf_decal/tile/brown
name = "brown corner"
color = "#A46106"
/obj/effect/turf_decal/tile/neutral
name = "neutral corner"
color = "#D4D4D4"
alpha = 50
@@ -37,14 +37,14 @@
var/selected_category = DECAL_PAINTER_CATEGORY_STANDARD
/// When removal_mode is TRUE the decal painter will remove decals instead
var/removal_mode = FALSE
var/max_decals = 3
var/max_decals = 4
var/static/list/decal_blacklist = typecacheof(
list(
/obj/effect/turf_decal/raven,
/obj/effect/turf_decal/weather,
/obj/effect/turf_decal/stripes/asteroid,
/obj/effect/turf_decal/tile,
/obj/effect/turf_decal/sand
/obj/effect/turf_decal/sand,
/obj/effect/turf_decal/plaque,
)
)
/// List of typepaths of turf decals exposed by the painter.
@@ -112,6 +112,7 @@
DECAL_PAINTER_CATEGORY_THICK,
DECAL_PAINTER_CATEGORY_SQUARE,
DECAL_PAINTER_CATEGORY_ALPHANUM,
DECAL_PAINTER_CATEGORY_TILES,
)
data["icon"] = decal_icon
var/list/availableStyles = list()
@@ -9,18 +9,35 @@
var/floor_dir = SOUTH
var/wide_mode = FALSE
var/static/list/allowed_states = list("arrival", "arrivalcorner", "bar", "barber", "bcircuit", "black", "blackcorner", "blue", "bluecorner",
"bluefull", "bluered", "blueyellow", "blueyellowfull", "bot", "brown", "browncorner", "browncornerold", "brownfull", "cafeteria", "caution",
"cautioncorner", "cautionfull", "chapel", "cmo", "dark", "delivery", "escape", "escapecorner", "floor", "floorgrime", "freezerfloor", "gcircuit",
"green", "greenblue", "greenbluefull", "greencorner", "greenfull", "greenyellow", "greenyellowfull", "grimy", "hydrofloor", "loadingarea", "neutral",
"neutralcorner", "neutralfull", "orange", "orangecorner", "orangefull", "purple", "purplecorner", "purplefull", "rcircuit", "rampbottom", "ramptop", "red",
"redblue", "redbluefull", "darkredblue", "darkredbluefull", "redcorner", "redfull", "redgreen", "redgreenfull", "darkredgreen", "darkredgreenfull",
"redyellow", "redyellowfull", "darkredyellow", "darkredyellowfull", "warning", "warningcorner", "warnwhite", "warnwhitecorner", "white",
"whiteblue", "whitebluecorner", "whitebluefull", "whitebot", "whitecorner", "whitedelivery", "whitegreen", "whitegreencorner", "whitegreenfull", "whitehall",
"whitepurple", "whitepurplecorner", "whitepurplefull", "whitered", "whiteredcorner", "whiteredfull", "whiteyellow", "whiteyellowcorner", "whiteyellowfull",
"yellow", "yellowcorner", "yellowcornersiding", "yellowsiding", "darkpurple", "darkpurplecorners", "darkpurplefull",
"darkred", "darkredcorners", "darkredfull", "darkblue", "darkbluecorners", "darkbluefull", "darkgreen", "darkgreencorners",
"darkgreenfull", "darkyellow", "darkyellowcorners", "darkyellowfull", "darkbrown", "darkbrowncorners", "darkbrownfull")
var/static/list/allowed_states = list(
"gcircuit",
"bcircuit",
"rcircuit",
"floorgrime",
"freezerfloor",
"grimy",
"loadingarea",
"rampbottom",
"ramptop",
"tile_standard",
"tile_edge",
"tile_half",
"tile_full",
"tile_corner",
"tile_grid",
"tile_dark_standard",
"tile_dark_edge",
"tile_dark_half",
"tile_dark_full",
"tile_dark_corner",
"tile_dark_grid",
"tile_white_standard",
"tile_white_edge",
"tile_white_half",
"tile_white_full",
"tile_white_corner",
"tile_white_grid",
)
/datum/painter/floor/paint_atom(atom/target, mob/user)
if(!istype(target, /turf/simulated/floor/plasteel))