SS1984 - Modules - TypesDefine Details

code/__DEFINES/layers.dm

SEETHROUGH_PLANESlightly above the game plane but does not catch mouse clicks. Useful for certain visuals that should be clicked through, like seethrough trees
LIGHTING_PLANENormal 1 per turf dynamic lighting underlays
O_LIGHTING_VISUAL_PLANELighting objects that are "free floating"
BYOND_LIGHTING_PLANEUsed in camerachunks to keep some turfs hidden on photo
EMISSIVE_PLANEThis plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
EMISSIVE_RENDER_TARGETThe render target used by the emissive.
EMISSIVE_MASK_PLANEMasks the emissive plane
ABOVE_LIGHTING_PLANEThings that should render ignoring lighting
PIPECRAWL_IMAGES_PLANEPipecrawling images
CAMERA_STATIC_PLANEAI Camera Static
HIGH_GAME_PLANEAnything that wants to be part of the game plane, but also wants to draw above literally everything else
RUNECHAT_PLANEPopup Chat Messages
BALLOON_CHAT_PLANEPlane for balloon text (text that fades up)
SPLASHSCREEN_PLANEPlane of the "splash" icon used that shows on the lobby screen. only render plate planes should be above this
HUD_PLANE_BUILDMODEBuildmode HUD that in top-left corner
HUD_PLANE_DEBUGVIEWDebug View. This should always be on top. No exceptions.
PLANE_RANGEThe range unique planes can be in
PLANE_MASTERS_GAMEPlane master controller keys
PLANE_CRITICAL_DISPLAYThis plane master will not go away if its layer is culled. useful for preserving effects
PLANE_CRITICAL_NO_EMPTY_RELAYThis plane master will temporarially remove relays to non critical planes if it's layer is culled (and it's critical) This is VERY hacky, but needed to ensure that some instances of BLEND_MULITPLY work as expected (fuck you god damn parallax) It also implies that the critical plane has a *'d render target, making it mask itself
BLOCKS_PLANE_OFFSETTINGThis 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_HIGHESTThis 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_DISABLEA value of /datum/preference/numeric/multiz_performance that disables the option
MAX_EXPECTED_Z_DEPTHWe expect at most 3 layers of multiz Increment this define if you make a huge map. We game test for it too just to make it easy for you If you modify this, you'll need to modify the tsx file too
MAP_EDITOR_TURF_LAYERWhich layer turfs appear on by default in the map editor. Should be unique!
RADIAL_CONTENT_LAYER1000 is an unimportant number, it's just to normalize copied layers

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

BYOND_LIGHTING_PLANE

Used in camerachunks to keep some turfs hidden on photo

CAMERA_STATIC_PLANE

AI Camera Static

EMISSIVE_MASK_PLANE

Masks the emissive plane

EMISSIVE_PLANE

This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.

EMISSIVE_RENDER_TARGET

The render target used by the emissive.

HIGH_GAME_PLANE

Anything that wants to be part of the game plane, but also wants to draw above literally everything else

HUD_PLANE_BUILDMODE

Buildmode HUD that in top-left corner

HUD_PLANE_DEBUGVIEW

Debug View. This should always be on top. No exceptions.

LIGHTING_PLANE

Normal 1 per turf dynamic lighting underlays

MAP_EDITOR_TURF_LAYER

Which layer turfs appear on by default in the map editor. Should be unique!

MAX_EXPECTED_Z_DEPTH

We expect at most 3 layers of multiz Increment this define if you make a huge map. We game 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

Pipecrawling images

PLANE_CRITICAL_DISPLAY

This plane master will not go away if its layer is culled. useful for preserving effects

PLANE_CRITICAL_NO_EMPTY_RELAY

This plane master will temporarially remove relays to non critical planes if it's layer is culled (and it's critical) This is VERY hacky, but needed to ensure that some instances of BLEND_MULITPLY work as expected (fuck you god damn parallax) It also implies that the critical plane has a *'d render target, making it mask itself

PLANE_MASTERS_GAME

Plane master controller keys

PLANE_RANGE

The range unique planes can be in

RADIAL_CONTENT_LAYER

1000 is an unimportant number, it's just to normalize copied layers

RUNECHAT_PLANE

Popup Chat Messages

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. only render plate planes should be above this