mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-11 10:11:09 +00:00
[MIRROR] Fix Transparent Floors Multi Z clipping [MDB IGNORE] (#10523)
* Fix Transparent Floors Multi Z clipping (#63878)
Fixes #63770 (Objects on Lower Z level appearing on top Z level when under glass tiles)
This fixes some MultiZ issues that were discovered after I made #62875 (566b9ee1d8). I never setup a new plane for the transparent turfs and because of this any objects, icons, or sprites that were offset from the boundary of the turf would make any bottom Z level stuff appear on the current Z level.
We want stuff to look normal.
* Fix Transparent Floors Multi Z clipping
Co-authored-by: Tim <timothymtorres@gmail.com>
This commit is contained in:
@@ -16,6 +16,8 @@
|
|||||||
#define GRAVITY_PULSE_RENDER_TARGET "*GRAVPULSE_RENDER_TARGET"
|
#define GRAVITY_PULSE_RENDER_TARGET "*GRAVPULSE_RENDER_TARGET"
|
||||||
|
|
||||||
#define OPENSPACE_LAYER 600 //Openspace layer over all
|
#define OPENSPACE_LAYER 600 //Openspace layer over all
|
||||||
|
|
||||||
|
#define TRANSPARENT_FLOOR_PLANE -10 //Transparent plane that shows openspace underneath the floor
|
||||||
#define OPENSPACE_PLANE -9 //Openspace plane below all turfs
|
#define OPENSPACE_PLANE -9 //Openspace plane below all turfs
|
||||||
#define OPENSPACE_BACKDROP_PLANE -8 //Black square just over openspace plane to guaranteed cover all in openspace turf
|
#define OPENSPACE_BACKDROP_PLANE -8 //Black square just over openspace plane to guaranteed cover all in openspace turf
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,13 @@
|
|||||||
add_filter("second_stage_openspace", 2, drop_shadow_filter(color = "#04080FAA", size = -15))
|
add_filter("second_stage_openspace", 2, drop_shadow_filter(color = "#04080FAA", size = -15))
|
||||||
add_filter("third_stage_openspace", 3, drop_shadow_filter(color = "#04080FAA", size = -20))
|
add_filter("third_stage_openspace", 3, drop_shadow_filter(color = "#04080FAA", size = -20))
|
||||||
|
|
||||||
|
///For any transparent multi-z tiles we want to render
|
||||||
|
/atom/movable/screen/plane_master/transparent
|
||||||
|
name = "transparent plane master"
|
||||||
|
plane = TRANSPARENT_FLOOR_PLANE
|
||||||
|
appearance_flags = PLANE_MASTER
|
||||||
|
render_relay_plane = RENDER_PLANE_GAME
|
||||||
|
|
||||||
///Contains just the floor
|
///Contains just the floor
|
||||||
/atom/movable/screen/plane_master/floor
|
/atom/movable/screen/plane_master/floor
|
||||||
name = "floor plane master"
|
name = "floor plane master"
|
||||||
|
|||||||
@@ -14,6 +14,8 @@
|
|||||||
our_turf.layer = OPENSPACE_LAYER
|
our_turf.layer = OPENSPACE_LAYER
|
||||||
if(is_openspace)
|
if(is_openspace)
|
||||||
our_turf.plane = OPENSPACE_PLANE
|
our_turf.plane = OPENSPACE_PLANE
|
||||||
|
else
|
||||||
|
our_turf.plane = TRANSPARENT_FLOOR_PLANE
|
||||||
|
|
||||||
RegisterSignal(target, COMSIG_TURF_MULTIZ_DEL, .proc/on_multiz_turf_del)
|
RegisterSignal(target, COMSIG_TURF_MULTIZ_DEL, .proc/on_multiz_turf_del)
|
||||||
RegisterSignal(target, COMSIG_TURF_MULTIZ_NEW, .proc/on_multiz_turf_new)
|
RegisterSignal(target, COMSIG_TURF_MULTIZ_NEW, .proc/on_multiz_turf_new)
|
||||||
|
|||||||
Reference in New Issue
Block a user