code/__DEFINES/layers.dm 
SEETHROUGH_PLANE | Slightly above the game plane but does not catch mouse clicks. Useful for certain visuals that should be clicked through, like seethrough trees |
---|---|
LIGHTING_PLANE | Normal 1 per turf dynamic lighting underlays |
O_LIGHTING_VISUAL_PLANE | Lighting objects that are "free floating" |
EMISSIVE_RENDER_PLATE | This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas. |
LIGHT_MASK_PLANE | Masks the lighting plane with turfs, so we never light up the void Failing that, masks emissives and the overlay lighting plane |
ABOVE_LIGHTING_PLANE | Things that should render ignoring lighting |
PIPECRAWL_IMAGES_PLANE | ---------------- MISC ----------------------- Pipecrawling images |
CAMERA_STATIC_PLANE | AI Camera Static |
HIGH_GAME_PLANE | Anything that wants to be part of the game plane, but also wants to draw above literally everything else |
RUNECHAT_PLANE | --------------- FULLSCREEN RUNECHAT BUBBLES ------------ Popup Chat Messages |
BALLOON_CHAT_PLANE | Plane for balloon text (text that fades up) |
SPLASHSCREEN_PLANE | Plane of the "splash" icon used that shows on the lobby screen |
RENDER_PLANE_GAME_MASKED | If fov is enabled we'll draw game to this and do shit to it |
RENDER_PLANE_GAME_UNMASKED | The bit of the game plane that is let alone is sent here |
ESCAPE_MENU_PLANE | Plane related to the menu when pressing Escape. Needed so that we can apply a blur effect to EVERYTHING, and guarantee we are above all UI. |
PLANE_RANGE | The range unique planes can be in Try and keep this to a nice whole number, so it's easy to look at a plane var and know what's going on |
CATWALK_LAYER | catwalk overlay of /turf/open/floor/plating/catwalk_floor |
TOPDOWN_WATER_LEVEL_LAYER | Below this level, objects with topdown layers are rendered as if underwater by the immerse element |
TOPDOWN_ABOVE_WATER_LAYER | Above this level, objects with topdown layers are unaffected by the immerse element |
WATER_LEVEL_LAYER | Anything below this layer is to be considered completely (visually) under water by the immerse layer. |
WATER_VISUAL_OVERLAY_LAYER | The layer of the visual overlay used in the submerge element. The vis overlay inherits the planes of the movables it's attached to (that also have KEEP_TOGETHER added) We just have to make sure the visual overlay is rendered above all the other overlays of those movables. |
LIGHTING_MASK_LAYER | Typically overlays, that "hide" portions of the turf underlay layer I'm allotting 100 z levels before this breaks. That'll never happen --Lemon |
LIGHTING_PRIMARY_LAYER | Misc things that draw on the turf lighting plane Space, solar beams, etc |
LIGHTING_ABOVE_ALL | Stuff that needs to draw above everything else on this plane |
EMISSIVE_LAYER_UNBLOCKABLE | The layer you should use if you really don't want an emissive overlay to be blocked. |
FLASH_LAYER | --------------- FULLSCREEN IMAGES ------------ |
TYPING_LAYER | --------------- FULLSCREEN RUNECHAT BUBBLES ------------ Bubble for typing indicators |
RADIAL_CONTENT_LAYER | 1000 is an unimportant number, it's just to normalize copied layers |
SCREENTIP_LAYER | Layer for screentips |
TUTORIAL_INSTRUCTIONS_LAYER | Layer for tutorial instructions |
LIGHT_DEBUG_LAYER | Layer for light overlays |
LOBBY_BELOW_MENU_LAYER | Layer for lobby menu collapse button |
LOBBY_MENU_LAYER | Layer for lobby menu background image and main buttons (Join/Ready, Observe, Character Prefs) |
LOBBY_SHUTTER_LAYER | Layer for lobby menu shutter, which covers up the menu to collapse/expand it |
LOBBY_BOTTOM_BUTTON_LAYER | Layer for lobby menu buttons that are hanging away from and lower than the main panel |
CINEMATIC_LAYER | cinematics are "below" the splash screen |
PLANE_MASTERS_GAME | Plane master controller keys |
PLANE_CRITICAL_DISPLAY | This plane master will not go away if its layer is culled. useful for preserving effects |
PLANE_CRITICAL_NO_RELAY | This plane master will temporarially remove relays to all other planes Allows us to retain the effects of a plane while cutting off the changes it makes |
PLANE_CRITICAL_CUT_RENDER | We assume this plane master has a render target starting with *, it'll be removed, forcing it to render in place |
BLOCKS_PLANE_OFFSETTING | This plane master will not be offset itself, existing only once with an offset of 0 Mostly used for planes that really don't need to be duplicated, like the hud planes |
OFFSET_RELAYS_MATCH_HIGHEST | This plane master will have its relays offset to match the highest rendering plane that matches the target Required for making things like the blind fullscreen not render over runechat |
MULTIZ_PERFORMANCE_DISABLE | A value of /datum/preference/numeric/multiz_performance that disables the option |
MAX_EXPECTED_Z_DEPTH | We expect at most 3 layers of multiz Increment this define if you make a huge map. We unit test for it too just to make it easy for you If you modify this, you'll need to modify the tsx file too |
Define Details
ABOVE_LIGHTING_PLANE 
Things that should render ignoring lighting
BALLOON_CHAT_PLANE 
Plane for balloon text (text that fades up)
BLOCKS_PLANE_OFFSETTING 
This plane master will not be offset itself, existing only once with an offset of 0 Mostly used for planes that really don't need to be duplicated, like the hud planes
CAMERA_STATIC_PLANE 
AI Camera Static
CATWALK_LAYER 
catwalk overlay of /turf/open/floor/plating/catwalk_floor
CINEMATIC_LAYER 
cinematics are "below" the splash screen
EMISSIVE_LAYER_UNBLOCKABLE 
The layer you should use if you really don't want an emissive overlay to be blocked.
EMISSIVE_RENDER_PLATE 
This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
ESCAPE_MENU_PLANE 
Plane related to the menu when pressing Escape. Needed so that we can apply a blur effect to EVERYTHING, and guarantee we are above all UI.
FLASH_LAYER 
--------------- FULLSCREEN IMAGES ------------
HIGH_GAME_PLANE 
Anything that wants to be part of the game plane, but also wants to draw above literally everything else
LIGHTING_ABOVE_ALL 
Stuff that needs to draw above everything else on this plane
LIGHTING_MASK_LAYER 
Typically overlays, that "hide" portions of the turf underlay layer I'm allotting 100 z levels before this breaks. That'll never happen --Lemon
LIGHTING_PLANE 
Normal 1 per turf dynamic lighting underlays
LIGHTING_PRIMARY_LAYER 
Misc things that draw on the turf lighting plane Space, solar beams, etc
LIGHT_DEBUG_LAYER 
Layer for light overlays
LIGHT_MASK_PLANE 
Masks the lighting plane with turfs, so we never light up the void Failing that, masks emissives and the overlay lighting plane
LOBBY_BELOW_MENU_LAYER 
Layer for lobby menu collapse button
LOBBY_BOTTOM_BUTTON_LAYER 
Layer for lobby menu buttons that are hanging away from and lower than the main panel
LOBBY_MENU_LAYER 
Layer for lobby menu background image and main buttons (Join/Ready, Observe, Character Prefs)
LOBBY_SHUTTER_LAYER 
Layer for lobby menu shutter, which covers up the menu to collapse/expand it
MAX_EXPECTED_Z_DEPTH 
We expect at most 3 layers of multiz Increment this define if you make a huge map. We unit test for it too just to make it easy for you If you modify this, you'll need to modify the tsx file too
MULTIZ_PERFORMANCE_DISABLE 
A value of /datum/preference/numeric/multiz_performance that disables the option
OFFSET_RELAYS_MATCH_HIGHEST 
This plane master will have its relays offset to match the highest rendering plane that matches the target Required for making things like the blind fullscreen not render over runechat
O_LIGHTING_VISUAL_PLANE 
Lighting objects that are "free floating"
PIPECRAWL_IMAGES_PLANE 
---------------- MISC ----------------------- Pipecrawling images
PLANE_CRITICAL_CUT_RENDER 
We assume this plane master has a render target starting with *, it'll be removed, forcing it to render in place
PLANE_CRITICAL_DISPLAY 
This plane master will not go away if its layer is culled. useful for preserving effects
PLANE_CRITICAL_NO_RELAY 
This plane master will temporarially remove relays to all other planes Allows us to retain the effects of a plane while cutting off the changes it makes
PLANE_MASTERS_GAME 
Plane master controller keys
PLANE_RANGE 
The range unique planes can be in Try and keep this to a nice whole number, so it's easy to look at a plane var and know what's going on
RADIAL_CONTENT_LAYER 
1000 is an unimportant number, it's just to normalize copied layers
RENDER_PLANE_GAME_MASKED 
If fov is enabled we'll draw game to this and do shit to it
RENDER_PLANE_GAME_UNMASKED 
The bit of the game plane that is let alone is sent here
RUNECHAT_PLANE 
--------------- FULLSCREEN RUNECHAT BUBBLES ------------ Popup Chat Messages
SCREENTIP_LAYER 
Layer for screentips
SEETHROUGH_PLANE 
Slightly above the game plane but does not catch mouse clicks. Useful for certain visuals that should be clicked through, like seethrough trees
SPLASHSCREEN_PLANE 
Plane of the "splash" icon used that shows on the lobby screen
TOPDOWN_ABOVE_WATER_LAYER 
Above this level, objects with topdown layers are unaffected by the immerse element
TOPDOWN_WATER_LEVEL_LAYER 
Below this level, objects with topdown layers are rendered as if underwater by the immerse element
TUTORIAL_INSTRUCTIONS_LAYER 
Layer for tutorial instructions
TYPING_LAYER 
--------------- FULLSCREEN RUNECHAT BUBBLES ------------ Bubble for typing indicators
WATER_LEVEL_LAYER 
Anything below this layer is to be considered completely (visually) under water by the immerse layer.
WATER_VISUAL_OVERLAY_LAYER 
The layer of the visual overlay used in the submerge element. The vis overlay inherits the planes of the movables it's attached to (that also have KEEP_TOGETHER added) We just have to make sure the visual overlay is rendered above all the other overlays of those movables.