ID:2262263
 
BYOND Version:511
Operating System:Windows 10 Pro
Web Browser:Chrome 58.0.3029.110
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
A lighting plane with a plane master, keep together lights, and a backdrop have an issue where part of the plane that should be illuminated by the backdrop disappears when walking into a tile from west or south. It only disappears when standing on certain tiles, and only when walking onto certain tiles from the west or south side, and zooming in or out makes the issue disappear. I thought it was something similar to z-fighting since those show up the same way in Byond, though I do not know how a plane could encounter such a problem.

Here is the same area lit up with absolutely zero change in lighting between them, the only difference being the direction the tile was stepped onto from.
https://puu.sh/wu6io/463f4f9a41.jpg
https://puu.sh/wu6qS/0f4383cec8.jpg

Numbered Steps to Reproduce Problem:
I am not sure of a precise way to reproduce the issue. It appears the same as what happens when there is no backdrop, but with a backdrop covering the entire screen (and all other plane objects being blend_mode = blend_add) so I believe this should not occur.

It only occurs when walking onto particular tiles from the tile west or south of it. If a tile triggers it once after walking on it from a particular direction it will ALWAYS do so. They only trigger from a specific direction.

IE
Tile A - always triggers the issue when walking onto the tile from the west, does not trigger when walking on it from the north, south, or east
Tile B - always triggers the issue when walking onto the tile from the south, does not trigger when walking on it from the north, east, or west

I have never found a tile that triggers when walking onto it from the north or east.

Code Snippet (if applicable) to Reproduce Problem:
I believe this is all the relevant code as the existence of the backdrop ideally should prevent this issue in all cases.
/obj/screen/plane
name = ""
screen_loc = "CENTER"
blend_mode = BLEND_MULTIPLY
layer = 1

/obj/screen/plane/New(var/client/C)
..()
if(istype(C)) C.screen += src
verbs.Cut()

/obj/screen/plane/master
icon = 'icons/mob/screen1.dmi'
appearance_flags = NO_CLIENT_COLOR | PLANE_MASTER | RESET_TRANSFORM | RESET_COLOR | RESET_ALPHA
//list(null,null,null,"#0000","#000F")
color = LIGHTING_PLANEMASTER_COLOR // Completely black.
plane = LIGHTING_PLANE_MASTER
mouse_opacity = 0

/obj/backdrop
blend_mode = BLEND_OVERLAY
icon = 'icons/mob/screen1.dmi'
icon_state = "black"
layer = BACKGROUND_LAYER
screen_loc = "CENTER"
plane = LIGHTING_PLANE_MASTER

/obj/backdrop/New(var/client/C)
..()
if(istype(C)) C.screen += src
var/matrix/M = matrix()
M.Scale(world.view*3)
transform = M


Expected Results:
Normally I would expect the backdrop from preventing this kind of non-illuminated plane from occurring. This would be expected if the backdrop could not be seen.

Actual Results:
When moving onto specific tiles, from a specific direction it occurs.

Does the problem occur:
Every time? Or how often? Rarely, only particular tiles
This might be more illustrative, here is a video of the issue in action. Note absolutely no part of the lighting system itself is changing during this entire video, it is completely static.
https://www.dropbox.com/s/jils9pmf3m2xx59/ 2017-06-25%2015-21-28.mp4?dl=0
Also the places that become illuminated and the places that remain dark are different areas, so I imagine areas are part of the z-fighting issue.

The areas here all have no displayable icon and no overlays.

Changing any appearance variable, even text, on the areas causes the problem to be reset. Changing any other variable has no effect. Changing the scene in any other way such as deleting or creating objects has no effect as well.
That DropBox link doesn't work.