mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-08 23:39:32 +00:00
* better glowy lights * phase 2 * some doc comments * working emissive blocking * flag so these rotate correctly * full brightness screens * doc comments and rename * better doc comments * stub overrides * better autodoc format * Update code/game/atoms_movable.dm Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com> * Update code/modules/lighting/emissive_blocker.dm Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com> * render target defines for all planes * update proc for emissive blocker Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
120 lines
5.2 KiB
Plaintext
120 lines
5.2 KiB
Plaintext
//Bay lighting engine shit, not in /code/modules/lighting because BYOND is being shit about it
|
|
/// frequency, in 1/10ths of a second, of the lighting process
|
|
#define LIGHTING_INTERVAL 5
|
|
|
|
#define MINIMUM_USEFUL_LIGHT_RANGE 1.4
|
|
|
|
/// type of falloff to use for lighting; 1 for circular, 2 for square
|
|
#define LIGHTING_FALLOFF 1
|
|
/// use lambertian shading for light sources
|
|
#define LIGHTING_LAMBERTIAN 0
|
|
/// height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone
|
|
#define LIGHTING_HEIGHT 1
|
|
/// 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.
|
|
#define LIGHTING_ROUND_VALUE (1 / 64)
|
|
|
|
/// icon used for lighting shading effects
|
|
#define LIGHTING_ICON 'icons/effects/lighting_object.dmi'
|
|
|
|
/// 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.
|
|
#define LIGHTING_SOFT_THRESHOLD 0
|
|
|
|
/// If I were you I'd leave this alone.
|
|
#define LIGHTING_BASE_MATRIX \
|
|
list \
|
|
( \
|
|
1, 1, 1, 0, \
|
|
1, 1, 1, 0, \
|
|
1, 1, 1, 0, \
|
|
1, 1, 1, 0, \
|
|
0, 0, 0, 1 \
|
|
) \
|
|
|
|
|
|
//Some defines to generalise colours used in lighting.
|
|
//Important note on colors. Colors can end up significantly different from the basic html picture, especially when saturated
|
|
#define LIGHT_COLOR_WHITE "#FFFFFF"
|
|
/// Warm but extremely diluted red. rgb(250, 130, 130)
|
|
#define LIGHT_COLOR_RED "#FA8282"
|
|
/// Bright but quickly dissipating neon green. rgb(100, 200, 100)
|
|
#define LIGHT_COLOR_GREEN "#64C864"
|
|
/// Cold, diluted blue. rgb(100, 150, 250)
|
|
#define LIGHT_COLOR_BLUE "#6496FA"
|
|
/// Light blueish green. rgb(125, 225, 175)
|
|
#define LIGHT_COLOR_BLUEGREEN "#7DE1AF"
|
|
/// Diluted cyan. rgb(125, 225, 225)
|
|
#define LIGHT_COLOR_CYAN "#7DE1E1"
|
|
/// More-saturated cyan. rgb(64, 206, 255)
|
|
#define LIGHT_COLOR_LIGHT_CYAN "#40CEFF"
|
|
/// Saturated blue. rgb(51, 117, 248)
|
|
#define LIGHT_COLOR_DARK_BLUE "#6496FA"
|
|
/// Diluted, mid-warmth pink. rgb(225, 125, 225)
|
|
#define LIGHT_COLOR_PINK "#E17DE1"
|
|
/// Dimmed yellow, leaning kaki. rgb(225, 225, 125)
|
|
#define LIGHT_COLOR_YELLOW "#E1E17D"
|
|
/// Clear brown, mostly dim. rgb(150, 100, 50)
|
|
#define LIGHT_COLOR_BROWN "#966432"
|
|
/// Mostly pure orange. rgb(250, 150, 50)
|
|
#define LIGHT_COLOR_ORANGE "#FA9632"
|
|
/// Light Purple. rgb(149, 44, 244)
|
|
#define LIGHT_COLOR_PURPLE "#952CF4"
|
|
/// Less-saturated light purple. rgb(155, 81, 255)
|
|
#define LIGHT_COLOR_LAVENDER "#9B51FF"
|
|
|
|
///slightly desaturated bright yellow.
|
|
#define LIGHT_COLOR_HOLY_MAGIC "#FFF743"
|
|
/// deep crimson
|
|
#define LIGHT_COLOR_BLOOD_MAGIC "#D00000"
|
|
|
|
//These ones aren't a direct colour like the ones above, because nothing would fit
|
|
/// Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
|
|
#define LIGHT_COLOR_FIRE "#FAA019"
|
|
/// Very warm yellow, leaning slightly towards orange. rgb(196, 138, 24)
|
|
#define LIGHT_COLOR_LAVA "#C48A18"
|
|
/// Bright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)
|
|
#define LIGHT_COLOR_FLARE "#FA644B"
|
|
/// Weird color, between yellow and green, very slimy. rgb(175, 200, 75)
|
|
#define LIGHT_COLOR_SLIME_LAMP "#AFC84B"
|
|
/// Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)
|
|
#define LIGHT_COLOR_TUNGSTEN "#FAE1AF"
|
|
/// Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
|
|
#define LIGHT_COLOR_HALOGEN "#F0FAFA"
|
|
|
|
///How many tiles standard fires glow.
|
|
#define LIGHT_RANGE_FIRE 3
|
|
|
|
#define LIGHTING_PLANE_ALPHA_VISIBLE 255
|
|
#define LIGHTING_PLANE_ALPHA_NV_TRAIT 245
|
|
#define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192
|
|
/// For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell.
|
|
#define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128
|
|
#define LIGHTING_PLANE_ALPHA_INVISIBLE 0
|
|
|
|
//lighting area defines
|
|
/// dynamic lighting disabled (area stays at full brightness)
|
|
#define DYNAMIC_LIGHTING_DISABLED 0
|
|
/// dynamic lighting enabled
|
|
#define DYNAMIC_LIGHTING_ENABLED 1
|
|
/// dynamic lighting enabled even if the area doesn't require power
|
|
#define DYNAMIC_LIGHTING_FORCED 2
|
|
/// dynamic lighting enabled only if starlight is.
|
|
#define DYNAMIC_LIGHTING_IFSTARLIGHT 3
|
|
#define IS_DYNAMIC_LIGHTING(A) A.dynamic_lighting
|
|
|
|
|
|
//code assumes higher numbers override lower numbers.
|
|
#define LIGHTING_NO_UPDATE 0
|
|
#define LIGHTING_VIS_UPDATE 1
|
|
#define LIGHTING_CHECK_UPDATE 2
|
|
#define LIGHTING_FORCE_UPDATE 3
|
|
|
|
#define FLASH_LIGHT_DURATION 2
|
|
#define FLASH_LIGHT_POWER 3
|
|
#define FLASH_LIGHT_RANGE 3.8
|
|
|
|
/// 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.
|
|
#define EMISSIVE_BLOCK_GENERIC 1
|
|
/// 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.
|
|
#define EMISSIVE_BLOCK_UNIQUE 2
|