Planes Framework (#4545)

* Polaris initial plane upstream merge

* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT

* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.

* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking

Setting stuff like colorblindness variety and things.

* Remove NIF reference, fix lighting layer define

* Handle effects above lighting plane

* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE

* Merge: 3000% human/update_icons() speed improvement

* Merge: Avoid ghosts pointing at things
This commit is contained in:
Arokha Sieyes
2018-01-17 13:45:54 -06:00
committed by Anewbe
parent b2624f5a2e
commit f2fef6f410
86 changed files with 874 additions and 614 deletions
+3 -6
View File
@@ -260,12 +260,9 @@
// for items that can be placed in multiple slots
// note this isn't called during the initial dressing of a player
/obj/item/proc/equipped(var/mob/user, var/slot)
layer = 20
if(user.client)
user.client.screen |= src
if(user.pulling == src)
user.stop_pulling()
appearance_flags |= NO_CLIENT_COLOR
hud_layerise()
if(user.client) user.client.screen |= src
if(user.pulling == src) user.stop_pulling()
return
//Defines which slots correspond to which slot flags
+2 -2
View File
@@ -50,7 +50,7 @@
user.visible_message("<span class='notice'>[user] does their lips with \the [src].</span>", \
"<span class='notice'>You take a moment to apply \the [src]. Perfect!</span>")
H.lip_style = colour
H.update_body()
H.update_icons_body()
else
user.visible_message("<span class='warning'>[user] begins to do [H]'s lips with \the [src].</span>", \
"<span class='notice'>You begin to apply \the [src].</span>")
@@ -58,7 +58,7 @@
user.visible_message("<span class='notice'>[user] does [H]'s lips with \the [src].</span>", \
"<span class='notice'>You apply \the [src].</span>")
H.lip_style = colour
H.update_body()
H.update_icons_body()
else
user << "<span class='notice'>Where are the lips on that?</span>"
@@ -90,7 +90,7 @@
else
if (M.ear_damage >= 5)
M << "<span class='danger'>Your ears start to ring!</span>"
M.update_icons()
M.update_icons() //Forces matrix transform to proc if they are now laying, I guess?
/obj/item/weapon/grenade/flashbang/Destroy()
walk(src, 0) // Because we might have called walk_away, we must stop the walk loop or BYOND keeps an internal reference to us forever.
@@ -174,7 +174,7 @@
src.boxes.screen_loc = "[tx]:,[ty] to [mx],[my]"
for(var/obj/O in src.contents)
O.screen_loc = "[cx],[cy]"
O.layer = 20
O.hud_layerise()
cx++
if (cx > mx)
cx = tx
@@ -192,7 +192,7 @@
for(var/datum/numbered_display/ND in display_contents)
ND.sample_object.screen_loc = "[cx]:16,[cy]:16"
ND.sample_object.maptext = "<font color='white'>[(ND.number > 1)? "[ND.number]" : ""]</font>"
ND.sample_object.layer = 20
ND.sample_object.hud_layerise()
cx++
if (cx > (4+cols))
cx = 4
@@ -201,7 +201,7 @@
for(var/obj/O in contents)
O.screen_loc = "[cx]:16,[cy]:16"
O.maptext = ""
O.layer = 20
O.hud_layerise()
cx++
if (cx > (4+cols))
cx = 4
@@ -252,7 +252,7 @@
O.screen_loc = "4:[round((startpoint+endpoint)/2)+2],2:16"
O.maptext = ""
O.layer = 20
O.hud_layerise()
src.closer.screen_loc = "4:[storage_width+19],2:16"
return
@@ -395,9 +395,9 @@
if(ismob(loc))
W.dropped(usr)
if(ismob(new_location))
W.layer = 20
W.hud_layerise()
else
W.layer = initial(W.layer)
W.reset_plane_and_layer()
W.forceMove(new_location)
else
W.forceMove(get_turf(src))
@@ -546,41 +546,38 @@
src.boxes.master = src
src.boxes.icon_state = "block"
src.boxes.screen_loc = "7,7 to 10,8"
src.boxes.layer = 19
src.storage_start = new /obj/screen/storage( )
src.storage_start.name = "storage"
src.storage_start.master = src
src.storage_start.icon_state = "storage_start"
src.storage_start.screen_loc = "7,7 to 10,8"
src.storage_start.layer = 19
src.storage_continue = new /obj/screen/storage( )
src.storage_continue.name = "storage"
src.storage_continue.master = src
src.storage_continue.icon_state = "storage_continue"
src.storage_continue.screen_loc = "7,7 to 10,8"
src.storage_continue.layer = 19
src.storage_end = new /obj/screen/storage( )
src.storage_end.name = "storage"
src.storage_end.master = src
src.storage_end.icon_state = "storage_end"
src.storage_end.screen_loc = "7,7 to 10,8"
src.storage_end.layer = 19
src.stored_start = new /obj //we just need these to hold the icon
src.stored_start.icon_state = "stored_start"
src.stored_start.layer = 19
src.stored_continue = new /obj
src.stored_continue.icon_state = "stored_continue"
src.stored_continue.layer = 19
src.stored_end = new /obj
src.stored_end.icon_state = "stored_end"
src.stored_end.layer = 19
src.closer = new /obj/screen/close( )
src.closer.master = src
src.closer.icon_state = "storage_close"
src.closer.layer = 20
src.closer.hud_layerise()
orient2hud()
return
-3
View File
@@ -1,6 +1,3 @@
#define SHOWER_OPEN_LAYER OBJ_LAYER + 0.4
#define SHOWER_CLOSED_LAYER MOB_LAYER + 0.2
/obj/structure/curtain
name = "curtain"
icon = 'icons/obj/curtain.dmi'
+3 -2
View File
@@ -198,5 +198,6 @@
/obj/structure/flora/tree/sif/update_icon()
set_light(5, 1, "#33ccff")
overlays.Cut()
overlays.Add(image(icon = 'icons/obj/flora/deadtrees.dmi', icon_state = "[icon_state]_glow", layer = LIGHTING_LAYER + 0.1))
var/image/glow = image(icon = 'icons/obj/flora/deadtrees.dmi', icon_state = "[icon_state]_glow")
glow.plane = PLANE_LIGHTING_ABOVE
overlays = list(glow)
+1 -1
View File
@@ -48,7 +48,7 @@
else
src.icon_state = "morgue3"
if(broadcast)
broadcast_medical_hud_message("[src] was able to establish a mental interface with occupant.", src)
global_announcer.autosay("[src] was able to establish a mental interface with occupant.", "[src]", "Medical")
else
src.icon_state = "morgue1"
return