Yogstation 13 - Modules - TypesDefine Details

code/__DEFINES/lighting.dm

NO_LIGHT_SUPPORTObject doesn't use any of the light systems. Should be changed to add a light source to the object.
STATIC_LIGHTLight made with the lighting datums, applying a matrix.
MOVABLE_LIGHTLight made by masking the lighting darkness plane.
MOVABLE_LIGHT_DIRECTIONALLight made by masking the lighting darkness plane, and is directional.
MOVABLE_LIGHT_BEAMLight made by masking the lighting darkness plane, and is a directionally focused beam.
LIGHT_ATTACHEDIs a movable light source attached to another movable (its loc), meaning that the lighting component should go one level deeper.
LIGHT_FROZENFreezes a light in its current state, blocking any attempts at modification
LIGHT_IGNORE_OFFSETDoes this light ignore inherent offsets? (Pixels, transforms, etc)
LIGHTING_INTERVALfrequency, in 1/10ths of a second, of the lighting process
LIGHTING_FALLOFFtype of falloff to use for lighting; 1 for circular, 2 for square
LIGHTING_LAMBERTIANuse lambertian shading for light sources
LIGHTING_HEIGHT_SPACElight UNDER the floor. primarily used for starlight, shouldn't fuck with this
LIGHTING_HEIGHT_FLOORlight ON the floor
LIGHTING_HEIGHTheight off the ground of light sources on the pseudo-z-axis, you should probably leave this alone
LIGHTING_ROUND_VALUEValue used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY.
LIGHTING_ICONicon used for lighting shading effects
LIGHTING_SOFT_THRESHOLDIf the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all.
LIGHTING_TILE_IS_DARKThe amount of lumcount on a tile for it to be considered dark (used to determine reading and nyctophobia)
LIGHTING_BASE_MATRIXIf I were you I'd leave this alone.
LIGHT_RANGE_FIREHow many tiles standard fires glow.
LIGHTING_NIGHTVISION_THRESHOLDWhat counts as being able to see in the dark
EMISSIVE_BLOCK_GENERICUses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all.
EMISSIVE_BLOCK_UNIQUEUses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans.
EMISSIVE_BLOCK_NONEDon't block any emissives. Useful for things like, pieces of paper?
GETREDPARTReturns the red part of a #RRGGBB hex sequence as number
GETGREENPARTReturns the green part of a #RRGGBB hex sequence as number
GETBLUEPARTReturns the blue part of a #RRGGBB hex sequence as number
PARSE_LIGHT_COLORParse the hexadecimal color into lumcounts of each perspective.
EMISSIVE_COLORThe color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with EM_BLOCK_COLOR.
EM_BLOCK_COLORThe color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with EMISSIVE_COLOR.
EMISSIVE_APPEARANCE_FLAGSA set of appearance flags applied to all emissive and emissive blocker overlays. KEEP_APART to prevent parent hooking, KEEP_TOGETHER for children, and we reset the color and alpha of our parent so nothing gets overriden
EM_MASK_MATRIXThe color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of EMISSIVE_COLOR, and be independant of the RGB value of EM_BLOCK_COLOR.

Define Details

EMISSIVE_APPEARANCE_FLAGS

A set of appearance flags applied to all emissive and emissive blocker overlays. KEEP_APART to prevent parent hooking, KEEP_TOGETHER for children, and we reset the color and alpha of our parent so nothing gets overriden

EMISSIVE_BLOCK_GENERIC

Uses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all.

EMISSIVE_BLOCK_NONE

Don't block any emissives. Useful for things like, pieces of paper?

EMISSIVE_BLOCK_UNIQUE

Uses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans.

EMISSIVE_COLOR

The color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with EM_BLOCK_COLOR.

EM_BLOCK_COLOR

The color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with EMISSIVE_COLOR.

EM_MASK_MATRIX

The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of EMISSIVE_COLOR, and be independant of the RGB value of EM_BLOCK_COLOR.

GETBLUEPART

Returns the blue part of a #RRGGBB hex sequence as number

GETGREENPART

Returns the green part of a #RRGGBB hex sequence as number

GETREDPART

Returns the red part of a #RRGGBB hex sequence as number

LIGHTING_BASE_MATRIX

If I were you I'd leave this alone.

LIGHTING_FALLOFF

type of falloff to use for lighting; 1 for circular, 2 for square

LIGHTING_HEIGHT

height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone

LIGHTING_HEIGHT_FLOOR

light ON the floor

LIGHTING_HEIGHT_SPACE

light UNDER the floor. primarily used for starlight, shouldn't fuck with this

LIGHTING_ICON

icon used for lighting shading effects

LIGHTING_INTERVAL

frequency, in 1/10ths of a second, of the lighting process

LIGHTING_LAMBERTIAN

use lambertian shading for light sources

LIGHTING_NIGHTVISION_THRESHOLD

What counts as being able to see in the dark

LIGHTING_ROUND_VALUE

Value used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY.

LIGHTING_SOFT_THRESHOLD

If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all.

LIGHTING_TILE_IS_DARK

The amount of lumcount on a tile for it to be considered dark (used to determine reading and nyctophobia)

LIGHT_ATTACHED

Is a movable light source attached to another movable (its loc), meaning that the lighting component should go one level deeper.

LIGHT_FROZEN

Freezes a light in its current state, blocking any attempts at modification

LIGHT_IGNORE_OFFSET

Does this light ignore inherent offsets? (Pixels, transforms, etc)

LIGHT_RANGE_FIRE

How many tiles standard fires glow.

MOVABLE_LIGHT

Light made by masking the lighting darkness plane.

MOVABLE_LIGHT_BEAM

Light made by masking the lighting darkness plane, and is a directionally focused beam.

MOVABLE_LIGHT_DIRECTIONAL

Light made by masking the lighting darkness plane, and is directional.

NO_LIGHT_SUPPORT

Object doesn't use any of the light systems. Should be changed to add a light source to the object.

PARSE_LIGHT_COLOR

Parse the hexadecimal color into lumcounts of each perspective.

STATIC_LIGHT

Light made with the lighting datums, applying a matrix.