mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 02:34:00 +00:00
Rough port of
a8c9bb786a
Unsure if I even did it correctly, but seems to function in the brief tests done, no compile errors.
In preparation of porting the massive number of floor decals for the new map.
This commit is contained in:
@@ -35,42 +35,24 @@ datum/controller/game_controller/New()
|
||||
if(!syndicate_code_response) syndicate_code_response = generate_code_phrase()
|
||||
|
||||
datum/controller/game_controller/proc/setup()
|
||||
spawn(20)
|
||||
createRandomZlevel()
|
||||
|
||||
setup_objects()
|
||||
setupgenetics()
|
||||
SetupXenoarch()
|
||||
|
||||
transfer_controller = new
|
||||
admin_notice("<span class='danger'>Initializations complete.</span>", R_DEBUG)
|
||||
|
||||
#if UNIT_TEST
|
||||
#define CHECK_SLEEP_MASTER // For unit tests we don't care about a smooth lobby screen experience. We care about speed.
|
||||
#else
|
||||
#define CHECK_SLEEP_MASTER if(++initialized_objects > 500) { initialized_objects=0;sleep(world.tick_lag); }
|
||||
#endif
|
||||
|
||||
datum/controller/game_controller/proc/setup_objects()
|
||||
admin_notice("<span class='danger'>Initializing objects</span>", R_DEBUG)
|
||||
sleep(-1)
|
||||
for(var/atom/movable/object in world)
|
||||
if(!QDELETED(object))
|
||||
object.initialize()
|
||||
|
||||
admin_notice("<span class='danger'>Initializing areas</span>", R_DEBUG)
|
||||
sleep(-1)
|
||||
for(var/area/area in all_areas)
|
||||
area.initialize()
|
||||
|
||||
admin_notice("<span class='danger'>Initializing pipe networks</span>", R_DEBUG)
|
||||
sleep(-1)
|
||||
for(var/obj/machinery/atmospherics/machine in machines)
|
||||
machine.build_network()
|
||||
|
||||
admin_notice("<span class='danger'>Initializing atmos machinery.</span>", R_DEBUG)
|
||||
sleep(-1)
|
||||
for(var/obj/machinery/atmospherics/unary/U in machines)
|
||||
if(istype(U, /obj/machinery/atmospherics/unary/vent_pump))
|
||||
var/obj/machinery/atmospherics/unary/vent_pump/T = U
|
||||
T.broadcast_status()
|
||||
else if(istype(U, /obj/machinery/atmospherics/unary/vent_scrubber))
|
||||
var/obj/machinery/atmospherics/unary/vent_scrubber/T = U
|
||||
T.broadcast_status()
|
||||
#if !UNIT_TEST
|
||||
var/initialized_objects = 0
|
||||
#endif
|
||||
|
||||
// Set up antagonists.
|
||||
populate_antag_type_list()
|
||||
@@ -78,12 +60,50 @@ datum/controller/game_controller/proc/setup_objects()
|
||||
//Set up spawn points.
|
||||
populate_spawn_points()
|
||||
|
||||
admin_notice("<span class='danger'>Initializing Floor Decals</span>", R_DEBUG)
|
||||
var/list/turfs_with_decals = list()
|
||||
for(var/obj/effect/floor_decal/D in world)
|
||||
var/T = D.add_to_turf_decals()
|
||||
if(T) turfs_with_decals |= T
|
||||
CHECK_SLEEP_MASTER
|
||||
for(var/item in turfs_with_decals)
|
||||
var/turf/T = item
|
||||
if(T.decals) T.apply_decals()
|
||||
CHECK_SLEEP_MASTER
|
||||
floor_decals_initialized = TRUE
|
||||
sleep(1)
|
||||
|
||||
admin_notice("<span class='danger'>Initializing objects</span>", R_DEBUG)
|
||||
for(var/atom/movable/object in world)
|
||||
if(!QDELETED(object))
|
||||
object.initialize()
|
||||
CHECK_SLEEP_MASTER
|
||||
sleep(1)
|
||||
|
||||
admin_notice("<span class='danger'>Initializing areas</span>", R_DEBUG)
|
||||
for(var/area/area in all_areas)
|
||||
area.initialize()
|
||||
CHECK_SLEEP_MASTER
|
||||
sleep(1)
|
||||
|
||||
admin_notice("<span class='danger'>Initializing pipe networks</span>", R_DEBUG)
|
||||
for(var/obj/machinery/atmospherics/machine in machines)
|
||||
machine.build_network()
|
||||
CHECK_SLEEP_MASTER
|
||||
|
||||
admin_notice("<span class='danger'>Initializing atmos machinery.</span>", R_DEBUG)
|
||||
for(var/obj/machinery/atmospherics/unary/U in machines)
|
||||
if(istype(U, /obj/machinery/atmospherics/unary/vent_pump))
|
||||
var/obj/machinery/atmospherics/unary/vent_pump/T = U
|
||||
T.broadcast_status()
|
||||
else if(istype(U, /obj/machinery/atmospherics/unary/vent_scrubber))
|
||||
var/obj/machinery/atmospherics/unary/vent_scrubber/T = U
|
||||
T.broadcast_status()
|
||||
CHECK_SLEEP_MASTER
|
||||
|
||||
admin_notice("<span class='danger'>Initializing turbolifts</span>", R_DEBUG)
|
||||
for(var/thing in turbolifts)
|
||||
var/obj/turbolift_map_holder/lift = thing
|
||||
if(!QDELETED(lift))
|
||||
lift.initialize()
|
||||
sleep(-1)
|
||||
|
||||
admin_notice("<span class='danger'>Initializations complete.</span>", R_DEBUG)
|
||||
sleep(-1)
|
||||
CHECK_SLEEP_MASTER
|
||||
|
||||
@@ -14,22 +14,16 @@ var/list/floor_decals = list()
|
||||
if(newcolour) color = newcolour
|
||||
..(newloc)
|
||||
|
||||
// VOREStation Edit - Hack to workaround byond crash bug
|
||||
/obj/effect/floor_decal/initialize()
|
||||
if(supplied_dir) set_dir(supplied_dir)
|
||||
if(!floor_decals_initialized || !loc || QDELETED(src))
|
||||
return
|
||||
add_to_turf_decals()
|
||||
var/turf/T = get_turf(src)
|
||||
if(istype(T, /turf/simulated/floor) || istype(T, /turf/unsimulated/floor) || istype(T, /turf/simulated/shuttle/floor))
|
||||
var/cache_key = "[alpha]-[color]-[dir]-[icon_state]-[layer]"
|
||||
if(!floor_decals[cache_key])
|
||||
var/image/I = image(icon = src.icon, icon_state = src.icon_state, dir = src.dir)
|
||||
I.layer = T.layer
|
||||
I.color = src.color
|
||||
I.alpha = src.alpha
|
||||
floor_decals[cache_key] = I
|
||||
if(!T.decals) T.decals = list()
|
||||
T.decals |= floor_decals[cache_key]
|
||||
T.overlays |= floor_decals[cache_key]
|
||||
T.apply_decals()
|
||||
qdel(src)
|
||||
return
|
||||
// VOREStation Edit End
|
||||
|
||||
/obj/effect/floor_decal/reset
|
||||
name = "reset marker"
|
||||
@@ -55,6 +49,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/black/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/black/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/black/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/black/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/black/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/black/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/black/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/blue
|
||||
name = "blue corner"
|
||||
color = COLOR_BLUE_GRAY
|
||||
@@ -65,6 +77,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/blue/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/blue/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/blue/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/blue/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/blue/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/blue/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/blue/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/paleblue
|
||||
name = "pale blue corner"
|
||||
color = COLOR_PALE_BLUE_GRAY
|
||||
@@ -75,6 +105,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/paleblue/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/paleblue/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/paleblue/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/paleblue/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/paleblue/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/paleblue/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/paleblue/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/green
|
||||
name = "green corner"
|
||||
color = COLOR_GREEN_GRAY
|
||||
@@ -85,6 +133,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/green/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/green/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/green/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/green/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/green/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/green/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/green/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/lime
|
||||
name = "lime corner"
|
||||
color = COLOR_PALE_GREEN_GRAY
|
||||
@@ -95,6 +161,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/lime/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/lime/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/lime/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/lime/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/lime/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/lime/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/lime/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/yellow
|
||||
name = "yellow corner"
|
||||
color = COLOR_BROWN
|
||||
@@ -105,6 +189,27 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/yellow/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/yellow/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/yellow/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/yellow/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/yellow/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/yellow/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/yellow/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/yellow/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/beige
|
||||
name = "beige corner"
|
||||
color = COLOR_BEIGE
|
||||
@@ -115,6 +220,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/beige/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/beige/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/beige/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/beige/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/beige/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/beige/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/beige/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/red
|
||||
name = "red corner"
|
||||
color = COLOR_RED_GRAY
|
||||
@@ -125,6 +248,27 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/red/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/red/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/red/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/red/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/red/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/red/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/red/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/red/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/pink
|
||||
name = "pink corner"
|
||||
color = COLOR_PALE_RED_GRAY
|
||||
@@ -135,6 +279,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/pink/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/pink/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/pink/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/pink/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/pink/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/pink/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/pink/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/purple
|
||||
name = "purple corner"
|
||||
color = COLOR_PURPLE_GRAY
|
||||
@@ -145,6 +307,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/purple/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/purple/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/purple/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/purple/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/purple/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/purple/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/purple/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/mauve
|
||||
name = "mauve corner"
|
||||
color = COLOR_PALE_PURPLE_GRAY
|
||||
@@ -155,6 +335,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/mauve/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/mauve/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/mauve/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/mauve/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/mauve/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/mauve/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/mauve/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/orange
|
||||
name = "orange corner"
|
||||
color = COLOR_DARK_ORANGE
|
||||
@@ -165,6 +363,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/orange/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/orange/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/orange/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/orange/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/orange/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/orange/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/orange/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/brown
|
||||
name = "brown corner"
|
||||
color = COLOR_DARK_BROWN
|
||||
@@ -175,6 +391,25 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/brown/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/brown/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/brown/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/brown/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/brown/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/brown/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/brown/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
|
||||
/obj/effect/floor_decal/corner/white
|
||||
name = "white corner"
|
||||
icon_state = "corner_white"
|
||||
@@ -185,6 +420,24 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/white/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/white/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/white/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/white/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/white/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/white/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/white/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/grey
|
||||
name = "grey corner"
|
||||
color = "#8D8C8C"
|
||||
@@ -195,6 +448,49 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/corner/grey/full
|
||||
icon_state = "corner_white_full"
|
||||
|
||||
/obj/effect/floor_decal/corner/grey/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/grey/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/grey/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/grey/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/grey/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/grey/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/corner/lightgrey
|
||||
name = "lightgrey corner"
|
||||
color = "#A8B2B6"
|
||||
|
||||
/obj/effect/floor_decal/corner/lightgrey/diagonal
|
||||
icon_state = "corner_white_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner/lightgrey/three_quarters
|
||||
icon_state = "corner_white_three_quarters"
|
||||
|
||||
/obj/effect/floor_decal/corner/lightgrey/border
|
||||
icon_state = "bordercolor"
|
||||
|
||||
/obj/effect/floor_decal/corner/lightgrey/bordercorner
|
||||
icon_state = "bordercolorcorner"
|
||||
|
||||
/obj/effect/floor_decal/corner/lightgrey/bordercorner2
|
||||
icon_state = "bordercolorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/corner/lightgrey/borderfull
|
||||
icon_state = "bordercolorfull"
|
||||
|
||||
/obj/effect/floor_decal/corner/lightgrey/bordercee
|
||||
icon_state = "bordercolorcee"
|
||||
|
||||
/obj/effect/floor_decal/spline/plain
|
||||
name = "spline - plain"
|
||||
icon_state = "spline_plain"
|
||||
@@ -213,7 +509,7 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/spline/fancy/wood/cee
|
||||
icon_state = "spline_fancy_cee"
|
||||
|
||||
/obj/effect/floor_decal/spline/fancy/wood/full
|
||||
/obj/effect/floor_decal/spline/fancy/wood/three_quarters
|
||||
icon_state = "spline_fancy_full"
|
||||
|
||||
/obj/effect/floor_decal/industrial/warning
|
||||
@@ -229,6 +525,19 @@ var/list/floor_decals = list()
|
||||
/obj/effect/floor_decal/industrial/warning/cee
|
||||
icon_state = "warningcee"
|
||||
|
||||
/obj/effect/floor_decal/industrial/danger
|
||||
name = "hazard stripes"
|
||||
icon_state = "danger"
|
||||
|
||||
/obj/effect/floor_decal/industrial/danger/corner
|
||||
icon_state = "dangercorner"
|
||||
|
||||
/obj/effect/floor_decal/industrial/danger/full
|
||||
icon_state = "dangerfull"
|
||||
|
||||
/obj/effect/floor_decal/industrial/danger/cee
|
||||
icon_state = "dangercee"
|
||||
|
||||
/obj/effect/floor_decal/industrial/warning/dust
|
||||
name = "hazard stripes"
|
||||
icon_state = "warning_dust"
|
||||
@@ -403,4 +712,441 @@ var/list/floor_decals = list()
|
||||
icon_state = "white_d2"
|
||||
|
||||
/obj/effect/floor_decal/sign/dock/three
|
||||
icon_state = "white_d3"
|
||||
icon_state = "white_d3"
|
||||
|
||||
/obj/effect/floor_decal/rust
|
||||
name = "rust"
|
||||
icon_state = "rust"
|
||||
|
||||
/obj/effect/floor_decal/rust/mono_rusted1
|
||||
icon_state = "mono_rusted1"
|
||||
|
||||
/obj/effect/floor_decal/rust/mono_rusted2
|
||||
icon_state = "mono_rusted2"
|
||||
|
||||
/obj/effect/floor_decal/rust/mono_rusted3
|
||||
icon_state = "mono_rusted3"
|
||||
|
||||
/obj/effect/floor_decal/rust/part_rusted1
|
||||
icon_state = "part_rusted1"
|
||||
|
||||
/obj/effect/floor_decal/rust/part_rusted2
|
||||
icon_state = "part_rusted2"
|
||||
|
||||
/obj/effect/floor_decal/rust/part_rusted3
|
||||
icon_state = "part_rusted3"
|
||||
|
||||
/obj/effect/floor_decal/rust/color_rusted
|
||||
icon_state = "color_rusted"
|
||||
|
||||
/obj/effect/floor_decal/rust/color_rustedcorner
|
||||
icon_state = "color_rustedcorner"
|
||||
|
||||
/obj/effect/floor_decal/rust/color_rustedfull
|
||||
icon_state = "color_rustedfull"
|
||||
|
||||
/obj/effect/floor_decal/rust/color_rustedcee
|
||||
icon_state = "color_rustedcee"
|
||||
|
||||
/obj/effect/floor_decal/rust/steel_decals_rusted1
|
||||
icon_state = "steel_decals_rusted1"
|
||||
|
||||
/obj/effect/floor_decal/rust/steel_decals_rusted2
|
||||
icon_state = "steel_decals_rusted2"
|
||||
|
||||
//Old tile
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/white
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
color = "#d9d9d9"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/white/diagonal
|
||||
name = "corner oldtile diagonal"
|
||||
icon_state = "corner_oldtile_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/white/full
|
||||
name = "corner oldtile full"
|
||||
icon_state = "corner_oldtile_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/blue
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
color = "#8ba7ad"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/blue/diagonal
|
||||
name = "corner oldtile diagonal"
|
||||
icon_state = "corner_oldtile_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/blue/full
|
||||
name = "corner oldtile full"
|
||||
icon_state = "corner_oldtile_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/yellow
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
color = "#8c6d46"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/yellow/diagonal
|
||||
name = "corner oldtile diagonal"
|
||||
icon_state = "corner_oldtile_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/yellow/full
|
||||
name = "corner oldtile full"
|
||||
icon_state = "corner_oldtile_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/gray
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
color = "#687172"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/gray/diagonal
|
||||
name = "corner oldtile diagonal"
|
||||
icon_state = "corner_oldtile_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/gray/full
|
||||
name = "corner oldtile full"
|
||||
icon_state = "corner_oldtile_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/beige
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
color = "#385e60"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/beige/diagonal
|
||||
name = "corner oldtile diagonal"
|
||||
icon_state = "corner_oldtile_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/beige/full
|
||||
name = "corner oldtile full"
|
||||
icon_state = "corner_oldtile_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/red
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
color = "#964e51"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/red/diagonal
|
||||
name = "corner oldtile diagonal"
|
||||
icon_state = "corner_oldtile_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/red/full
|
||||
name = "corner oldtile full"
|
||||
icon_state = "corner_oldtile_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/purple
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
color = "#906987"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/purple/diagonal
|
||||
name = "corner oldtile diagonal"
|
||||
icon_state = "corner_oldtile_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/purple/full
|
||||
name = "corner oldtile full"
|
||||
icon_state = "corner_oldtile_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/green
|
||||
name = "corner oldtile"
|
||||
icon_state = "corner_oldtile"
|
||||
color = "#46725c"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/green/diagonal
|
||||
name = "corner oldtile diagonal"
|
||||
icon_state = "corner_oldtile_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_oldtile/green/full
|
||||
name = "corner oldtile full"
|
||||
icon_state = "corner_oldtile_full"
|
||||
|
||||
//Kafel
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/white
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
color = "#d9d9d9"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/white/diagonal
|
||||
name = "corner kafel diagonal"
|
||||
icon_state = "corner_kafel_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/white/full
|
||||
name = "corner kafel full"
|
||||
icon_state = "corner_kafel_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/blue
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
color = "#8ba7ad"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/blue/diagonal
|
||||
name = "corner kafel diagonal"
|
||||
icon_state = "corner_kafel_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/blue/full
|
||||
name = "corner kafel full"
|
||||
icon_state = "corner_kafel_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/yellow
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
color = "#8c6d46"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/yellow/diagonal
|
||||
name = "corner kafel diagonal"
|
||||
icon_state = "corner_kafel_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/yellow/full
|
||||
name = "corner kafel full"
|
||||
icon_state = "corner_kafel_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/gray
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
color = "#687172"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/gray/diagonal
|
||||
name = "corner kafel diagonal"
|
||||
icon_state = "corner_kafel_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/gray/full
|
||||
name = "corner kafel full"
|
||||
icon_state = "corner_kafel_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/beige
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
color = "#385e60"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/beige/diagonal
|
||||
name = "corner kafel diagonal"
|
||||
icon_state = "corner_kafel_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/beige/full
|
||||
name = "corner kafel full"
|
||||
icon_state = "corner_kafel_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/red
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
color = "#964e51"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/red/diagonal
|
||||
name = "corner kafel diagonal"
|
||||
icon_state = "corner_kafel_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/red/full
|
||||
name = "corner kafel full"
|
||||
icon_state = "corner_kafel_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/purple
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
color = "#906987"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/purple/diagonal
|
||||
name = "corner kafel diagonal"
|
||||
icon_state = "corner_kafel_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/purple/full
|
||||
name = "corner kafel full"
|
||||
icon_state = "corner_kafel_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/green
|
||||
name = "corner kafel"
|
||||
icon_state = "corner_kafel"
|
||||
color = "#46725c"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/green/diagonal
|
||||
name = "corner kafel diagonal"
|
||||
icon_state = "corner_kafel_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_kafel/green/full
|
||||
name = "corner kafel full"
|
||||
icon_state = "corner_kafel_full"
|
||||
|
||||
//Techfloor
|
||||
|
||||
/obj/effect/floor_decal/corner_techfloor_gray
|
||||
name = "corner techfloorgray"
|
||||
icon_state = "corner_techfloor_gray"
|
||||
|
||||
/obj/effect/floor_decal/corner_techfloor_gray/diagonal
|
||||
name = "corner techfloorgray diagonal"
|
||||
icon_state = "corner_techfloor_gray_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_techfloor_gray/full
|
||||
name = "corner techfloorgray full"
|
||||
icon_state = "corner_techfloor_gray_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_techfloor_grid
|
||||
name = "corner techfloorgrid"
|
||||
icon_state = "corner_techfloor_grid"
|
||||
|
||||
/obj/effect/floor_decal/corner_techfloor_grid/diagonal
|
||||
name = "corner techfloorgrid diagonal"
|
||||
icon_state = "corner_techfloor_grid_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_techfloor_grid/full
|
||||
name = "corner techfloorgrid full"
|
||||
icon_state = "corner_techfloor_grid_full"
|
||||
|
||||
/obj/effect/floor_decal/corner_steel_grid
|
||||
name = "corner steel_grid"
|
||||
icon_state = "steel_grid"
|
||||
|
||||
/obj/effect/floor_decal/corner_steel_grid/diagonal
|
||||
name = "corner tsteel_grid diagonal"
|
||||
icon_state = "steel_grid_diagonal"
|
||||
|
||||
/obj/effect/floor_decal/corner_steel_grid/full
|
||||
name = "corner steel_grid full"
|
||||
icon_state = "steel_grid_full"
|
||||
|
||||
/obj/effect/floor_decal/borderfloor
|
||||
name = "border floor"
|
||||
icon_state = "borderfloor"
|
||||
|
||||
/obj/effect/floor_decal/borderfloor/corner
|
||||
icon_state = "borderfloorcorner"
|
||||
|
||||
/obj/effect/floor_decal/borderfloor/corner2
|
||||
icon_state = "borderfloorcorner2"
|
||||
|
||||
/obj/effect/floor_decal/borderfloor/full
|
||||
icon_state = "borderfloorfull"
|
||||
|
||||
/obj/effect/floor_decal/borderfloor/cee
|
||||
icon_state = "borderfloorcee"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorblack
|
||||
name = "border floor"
|
||||
icon_state = "borderfloor_black"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorblack/corner
|
||||
icon_state = "borderfloorcorner_black"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorblack/corner2
|
||||
icon_state = "borderfloorcorner2_black"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorblack/full
|
||||
icon_state = "borderfloorfull_black"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorblack/cee
|
||||
icon_state = "borderfloorcee_black"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorwhite
|
||||
name = "border floor"
|
||||
icon_state = "borderfloor_white"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorwhite/corner
|
||||
icon_state = "borderfloorcorner_white"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorwhite/corner2
|
||||
icon_state = "borderfloorcorner2_white"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorwhite/full
|
||||
icon_state = "borderfloorfull_white"
|
||||
|
||||
/obj/effect/floor_decal/borderfloorwhite/cee
|
||||
icon_state = "borderfloorcee_white"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal
|
||||
name = "steel decal"
|
||||
icon_state = "steel_decals1"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals1
|
||||
icon_state = "steel_decals1"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals2
|
||||
icon_state = "steel_decals2"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals3
|
||||
icon_state = "steel_decals3"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals4
|
||||
icon_state = "steel_decals4"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals5
|
||||
icon_state = "steel_decals5"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals6
|
||||
icon_state = "steel_decals6"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals7
|
||||
icon_state = "steel_decals7"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals8
|
||||
icon_state = "steel_decals8"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals9
|
||||
icon_state = "steel_decals9"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals10
|
||||
icon_state = "steel_decals10"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals_central1
|
||||
icon_state = "steel_decals_central1"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals_central2
|
||||
icon_state = "steel_decals_central2"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals_central3
|
||||
icon_state = "steel_decals_central3"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals_central4
|
||||
icon_state = "steel_decals_central4"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals_central5
|
||||
icon_state = "steel_decals_central5"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals_central6
|
||||
icon_state = "steel_decals_central6"
|
||||
|
||||
/obj/effect/floor_decal/steeldecal/steel_decals_central7
|
||||
icon_state = "steel_decals_central7"
|
||||
|
||||
|
||||
/obj/effect/floor_decal/techfloor
|
||||
name = "techfloor edges"
|
||||
icon_state = "techfloor_edges"
|
||||
|
||||
/obj/effect/floor_decal/techfloor/corner
|
||||
name = "techfloor corner"
|
||||
icon_state = "techfloor_corners"
|
||||
|
||||
/obj/effect/floor_decal/techfloor/orange
|
||||
name = "techfloor edges"
|
||||
icon_state = "techfloororange_edges"
|
||||
|
||||
/obj/effect/floor_decal/techfloor/orange/corner
|
||||
name = "techfloor corner"
|
||||
icon_state = "techfloororange_corners"
|
||||
|
||||
/obj/effect/floor_decal/techfloor/hole
|
||||
name = "hole left"
|
||||
icon_state = "techfloor_hole_left"
|
||||
|
||||
/obj/effect/floor_decal/techfloor/hole/right
|
||||
name = "hole right"
|
||||
icon_state = "techfloor_hole_right"
|
||||
|
||||
|
||||
//Grass for ship garden
|
||||
|
||||
/obj/effect/floor_decal/grass_edge
|
||||
name = "grass edge"
|
||||
icon_state = "grass_edge"
|
||||
|
||||
/obj/effect/floor_decal/grass_edge/corner
|
||||
name = "grass edge"
|
||||
icon_state = "grass_edge_corner"
|
||||
|
||||
90
code/game/turfs/flooring/turf_overlay_holder.dm
Normal file
90
code/game/turfs/flooring/turf_overlay_holder.dm
Normal file
@@ -0,0 +1,90 @@
|
||||
//
|
||||
// Initialize floor decals! Woo! This is crazy.
|
||||
//
|
||||
|
||||
var/global/floor_decals_initialized = FALSE
|
||||
|
||||
// The Turf Decal Holder
|
||||
// Since it is unsafe to add overlays to turfs, we hold them here for now.
|
||||
// Since I want this object to basically not exist, I am modeling it in part after lighting_overlay
|
||||
/atom/movable/turf_overlay_holder
|
||||
name = "turf overlay holder"
|
||||
density = 0
|
||||
simulated = 0
|
||||
anchored = 1
|
||||
layer = TURF_LAYER
|
||||
icon = null
|
||||
icon_state = null
|
||||
mouse_opacity = 0
|
||||
auto_init = 0
|
||||
|
||||
/atom/movable/turf_overlay_holder/New(var/atom/newloc)
|
||||
..()
|
||||
verbs.Cut()
|
||||
var/turf/T = loc
|
||||
T.overlay_holder = src
|
||||
|
||||
/atom/movable/turf_overlay_holder/Destroy()
|
||||
if(loc)
|
||||
var/turf/T = loc
|
||||
if(T.overlay_holder == src)
|
||||
T.overlay_holder = null
|
||||
. = ..()
|
||||
|
||||
// Variety of overrides so the overlays don't get affected by weird things.
|
||||
/atom/movable/turf_overlay_holder/ex_act()
|
||||
return
|
||||
|
||||
/atom/movable/turf_overlay_holder/singularity_act()
|
||||
return
|
||||
|
||||
/atom/movable/turf_overlay_holder/singularity_pull()
|
||||
return
|
||||
|
||||
/atom/movable/turf_overlay_holder/forceMove()
|
||||
return 0 //should never move
|
||||
|
||||
/atom/movable/turf_overlay_holder/Move()
|
||||
return 0
|
||||
|
||||
/atom/movable/turf_overlay_holder/throw_at()
|
||||
return 0
|
||||
|
||||
/obj/effect/floor_decal/proc/add_to_turf_decals()
|
||||
if(src.supplied_dir) src.set_dir(src.supplied_dir)
|
||||
var/turf/T = get_turf(src)
|
||||
if(istype(T, /turf/simulated/floor) || istype(T, /turf/unsimulated/floor) || istype(T, /turf/simulated/shuttle/floor))
|
||||
var/cache_key = "[src.alpha]-[src.color]-[src.dir]-[src.icon_state]-[T.layer]"
|
||||
var/image/I = floor_decals[cache_key]
|
||||
if(!I)
|
||||
I = image(icon = src.icon, icon_state = src.icon_state, dir = src.dir)
|
||||
I.layer = T.layer
|
||||
I.color = src.color
|
||||
I.alpha = src.alpha
|
||||
floor_decals[cache_key] = I
|
||||
if(!T.decals) T.decals = list()
|
||||
//world.log << "About to add img:\ref[I] onto decals at turf:\ref[T] ([T.x],[T.y],[T.z]) which has appearance:\ref[T.appearance] and decals.len=[T.decals.len]"
|
||||
T.decals += I
|
||||
return T
|
||||
// qdel(D)
|
||||
src.loc = null
|
||||
src.tag = null
|
||||
|
||||
// Changes to turf to let us do this
|
||||
/turf
|
||||
var/atom/movable/turf_overlay_holder/overlay_holder = null
|
||||
|
||||
// After a turf change, destroy the old overlay holder since we will have lost access to it.
|
||||
/turf/post_change()
|
||||
var/atom/movable/turf_overlay_holder/TOH = locate(/atom/movable/turf_overlay_holder, src)
|
||||
if(TOH)
|
||||
qdel(TOH)
|
||||
..()
|
||||
|
||||
/turf/proc/apply_decals()
|
||||
if(decals)
|
||||
if(!overlay_holder)
|
||||
overlay_holder = new(src)
|
||||
overlay_holder.overlays = src.decals
|
||||
else if(overlay_holder)
|
||||
overlay_holder.overlays.Cut()
|
||||
@@ -60,8 +60,11 @@ var/list/flooring_cache = list()
|
||||
if(!(istype(T) && T.flooring && T.flooring.name == flooring.name))
|
||||
overlays |= get_flooring_overlay("[flooring.icon_base]-corner-[SOUTHWEST]", "[flooring.icon_base]_corners", SOUTHWEST)
|
||||
|
||||
if(decals && decals.len)
|
||||
overlays |= decals
|
||||
// VOREStation Edit - Hack workaround to byond crash bug
|
||||
//if(decals && decals.len)
|
||||
//overlays |= decals
|
||||
apply_decals()
|
||||
// VOREStation Edit End
|
||||
|
||||
if(is_plating() && !(isnull(broken) && isnull(burnt))) //temp, todo
|
||||
icon = 'icons/turf/flooring/plating.dmi'
|
||||
|
||||
@@ -1021,6 +1021,7 @@
|
||||
#include "code\game\turfs\flooring\flooring.dm"
|
||||
#include "code\game\turfs\flooring\flooring_decals.dm"
|
||||
#include "code\game\turfs\flooring\flooring_premade.dm"
|
||||
#include "code\game\turfs\flooring\turf_overlay_holder.dm"
|
||||
#include "code\game\turfs\initialization\init.dm"
|
||||
#include "code\game\turfs\initialization\maintenance.dm"
|
||||
#include "code\game\turfs\simulated\floor.dm"
|
||||
|
||||
Reference in New Issue
Block a user