code/__DEFINES/layers.dm ![code/__DEFINES/layers.dm0](git.png)
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 ![code/__DEFINES/layers.dm 67](git.png)
Things that should render ignoring lighting
BALLOON_CHAT_PLANE ![code/__DEFINES/layers.dm 89](git.png)
Plane for balloon text (text that fades up)
BLOCKS_PLANE_OFFSETTING ![code/__DEFINES/layers.dm 339](git.png)
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 ![code/__DEFINES/layers.dm 77](git.png)
AI Camera Static
CATWALK_LAYER ![code/__DEFINES/layers.dm 156](git.png)
catwalk overlay of /turf/open/floor/plating/catwalk_floor
CINEMATIC_LAYER ![code/__DEFINES/layers.dm 316](git.png)
cinematics are "below" the splash screen
EMISSIVE_LAYER_UNBLOCKABLE ![code/__DEFINES/layers.dm 272](git.png)
The layer you should use if you really don't want an emissive overlay to be blocked.
EMISSIVE_RENDER_PLATE ![code/__DEFINES/layers.dm 51](git.png)
This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
ESCAPE_MENU_PLANE ![code/__DEFINES/layers.dm 113](git.png)
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 ![code/__DEFINES/layers.dm 276](git.png)
--------------- FULLSCREEN IMAGES ------------
HIGH_GAME_PLANE ![code/__DEFINES/layers.dm 80](git.png)
Anything that wants to be part of the game plane, but also wants to draw above literally everything else
LIGHTING_ABOVE_ALL ![code/__DEFINES/layers.dm 265](git.png)
Stuff that needs to draw above everything else on this plane
LIGHTING_MASK_LAYER ![code/__DEFINES/layers.dm 260](git.png)
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 ![code/__DEFINES/layers.dm 43](git.png)
Normal 1 per turf dynamic lighting underlays
LIGHTING_PRIMARY_LAYER ![code/__DEFINES/layers.dm 263](git.png)
Misc things that draw on the turf lighting plane Space, solar beams, etc
LIGHT_DEBUG_LAYER ![code/__DEFINES/layers.dm 304](git.png)
Layer for light overlays
LIGHT_MASK_PLANE ![code/__DEFINES/layers.dm 63](git.png)
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 ![code/__DEFINES/layers.dm 307](git.png)
Layer for lobby menu collapse button
LOBBY_BOTTOM_BUTTON_LAYER ![code/__DEFINES/layers.dm 313](git.png)
Layer for lobby menu buttons that are hanging away from and lower than the main panel
LOBBY_MENU_LAYER ![code/__DEFINES/layers.dm 309](git.png)
Layer for lobby menu background image and main buttons (Join/Ready, Observe, Character Prefs)
LOBBY_SHUTTER_LAYER ![code/__DEFINES/layers.dm 311](git.png)
Layer for lobby menu shutter, which covers up the menu to collapse/expand it
MAX_EXPECTED_Z_DEPTH ![code/__DEFINES/layers.dm 349](git.png)
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 ![code/__DEFINES/layers.dm 345](git.png)
A value of /datum/preference/numeric/multiz_performance that disables the option
OFFSET_RELAYS_MATCH_HIGHEST ![code/__DEFINES/layers.dm 342](git.png)
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 ![code/__DEFINES/layers.dm 46](git.png)
Lighting objects that are "free floating"
PIPECRAWL_IMAGES_PLANE ![code/__DEFINES/layers.dm 74](git.png)
---------------- MISC ----------------------- Pipecrawling images
PLANE_CRITICAL_CUT_RENDER ![code/__DEFINES/layers.dm 331](git.png)
We assume this plane master has a render target starting with *, it'll be removed, forcing it to render in place
PLANE_CRITICAL_DISPLAY ![code/__DEFINES/layers.dm 326](git.png)
This plane master will not go away if its layer is culled. useful for preserving effects
PLANE_CRITICAL_NO_RELAY ![code/__DEFINES/layers.dm 329](git.png)
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 ![code/__DEFINES/layers.dm 319](git.png)
Plane master controller keys
PLANE_RANGE ![code/__DEFINES/layers.dm 123](git.png)
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 ![code/__DEFINES/layers.dm 293](git.png)
1000 is an unimportant number, it's just to normalize copied layers
RENDER_PLANE_GAME_MASKED ![code/__DEFINES/layers.dm 104](git.png)
If fov is enabled we'll draw game to this and do shit to it
RENDER_PLANE_GAME_UNMASKED ![code/__DEFINES/layers.dm 106](git.png)
The bit of the game plane that is let alone is sent here
RUNECHAT_PLANE ![code/__DEFINES/layers.dm 87](git.png)
--------------- FULLSCREEN RUNECHAT BUBBLES ------------ Popup Chat Messages
SCREENTIP_LAYER ![code/__DEFINES/layers.dm 298](git.png)
Layer for screentips
SEETHROUGH_PLANE ![code/__DEFINES/layers.dm 29](git.png)
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 ![code/__DEFINES/layers.dm 97](git.png)
Plane of the "splash" icon used that shows on the lobby screen
TOPDOWN_ABOVE_WATER_LAYER ![code/__DEFINES/layers.dm 166](git.png)
Above this level, objects with topdown layers are unaffected by the immerse element
TOPDOWN_WATER_LEVEL_LAYER ![code/__DEFINES/layers.dm 164](git.png)
Below this level, objects with topdown layers are rendered as if underwater by the immerse element
TUTORIAL_INSTRUCTIONS_LAYER ![code/__DEFINES/layers.dm 301](git.png)
Layer for tutorial instructions
TYPING_LAYER ![code/__DEFINES/layers.dm 289](git.png)
--------------- FULLSCREEN RUNECHAT BUBBLES ------------ Bubble for typing indicators
WATER_LEVEL_LAYER ![code/__DEFINES/layers.dm 193](git.png)
Anything below this layer is to be considered completely (visually) under water by the immerse layer.
WATER_VISUAL_OVERLAY_LAYER ![code/__DEFINES/layers.dm 248](git.png)
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.