Holo-decals and fixes.

Adds more holodeck decals.
Allows overlays to be glued unto unsimulated turfs.
Ensures holo-stools use an existing icon state.
This commit is contained in:
PsiOmegaDelta
2015-08-04 14:09:26 +02:00
committed by Zuhayr
parent de6e878411
commit c1eba26d8a
5 changed files with 43 additions and 18 deletions

View File

@@ -127,11 +127,6 @@
T.ChangeTurf(/turf/simulated/wall/cult)
..()
/obj/structure/stool/cultify()
var/obj/structure/bed/chair/wood/wings/I = new(loc)
I.dir = dir
..()
/obj/structure/table/cultify()
// Make it a wood-reinforced wooden table.
// There are cult materials available, but it'd make the table non-deconstructable with how holotables work.

View File

@@ -9,18 +9,18 @@ var/list/floor_decals = list()
layer = TURF_LAYER + 0.01
/obj/effect/floor_decal/initialize()
var/turf/simulated/floor/F = get_turf(src)
if(istype(F))
var/turf/T = get_turf(src)
if(istype(T, /turf/simulated/floor) || istype(T, /turf/unsimulated/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 = F.layer + 0.01
I.layer = T.layer + 0.01
I.color = src.color
I.alpha = src.alpha
floor_decals[cache_key] = I
if(!F.decals) F.decals = list()
F.decals |= floor_decals[cache_key]
F.overlays |= floor_decals[cache_key]
if(!T.decals) T.decals = list()
T.decals |= floor_decals[cache_key]
T.overlays |= floor_decals[cache_key]
qdel(src)
return

View File

@@ -17,7 +17,6 @@
var/flooring_override
var/initial_flooring
var/decl/flooring/flooring
var/list/decals
var/mineral = DEFAULT_WALL_MATERIAL
thermal_conductivity = 0.040

View File

@@ -24,6 +24,8 @@
var/blessed = 0 // Has the turf been blessed?
var/dynamic_lighting = 1 // Does the turf use dynamic lighting?
var/list/decals
/turf/New()
..()
for(var/atom/movable/AM as mob|obj in src)

View File

@@ -13,12 +13,29 @@
/turf/simulated/floor/holofloor/set_flooring()
return
/turf/simulated/floor/holofloor/carpet
name = "carpet"
icon = 'icons/turf/flooring/carpet.dmi'
icon_state = "carpet"
initial_flooring = /decl/flooring/carpet
/turf/simulated/floor/holofloor/tiled
name = "floor"
icon = 'icons/turf/flooring/tiles.dmi'
icon_state = "steel"
initial_flooring = /decl/flooring/tiling
/turf/simulated/floor/holofloor/tiled/dark
name = "dark floor"
icon_state = "dark"
initial_flooring = /decl/flooring/tiling/dark
/turf/simulated/floor/holofloor/lino
name = "lino"
icon = 'icons/turf/flooring/linoleum.dmi'
icon_state = "lino"
initial_flooring = /decl/flooring/linoleum
/turf/simulated/floor/holofloor/wood
name = "wooden floor"
icon = 'icons/turf/flooring/wood.dmi'
@@ -54,16 +71,28 @@
icon_state = "[((x + y) ^ ~(x * y) + z) % 25]"
/turf/simulated/floor/holofloor/beach
name = "sand"
base_name = "sand"
desc = "Uncomfortably gritty for a hologram."
base_desc = "Uncomfortably gritty for a hologram."
icon_state = "asteroid"
base_icon_state = "asteroid"
icon = 'icons/turf/flooring/asteroid.dmi'
base_icon = 'icons/turf/flooring/asteroid.dmi'
icon = 'icons/misc/beach.dmi'
base_icon = 'icons/misc/beach.dmi'
initial_flooring = null
/turf/simulated/floor/holofloor/beach/sand
name = "sand"
icon_state = "desert"
base_icon_state = "desert"
/turf/simulated/floor/holofloor/beach/coastline
name = "coastline"
icon = 'icons/misc/beach2.dmi'
icon_state = "sandwater"
base_icon_state = "sandwater"
/turf/simulated/floor/holofloor/beach/water
name = "water"
icon_state = "seashallow"
base_icon_state = "seashallow"
/turf/simulated/floor/holofloor/desert
name = "desert sand"
base_name = "desert sand"