mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-03-10 22:23:19 +00:00
Implements a configurable sun for a sunlight effect using the lighting engine. Abuses Z-lights to illuminate Zs in a semi-realistic way. Kinda slow at setting state, but state changes shouldn't lag & are rare. Also adds the ability to create lights that ignore visibility when calculating range, causing them to shine through objects/walls.
65 lines
4.3 KiB
Plaintext
65 lines
4.3 KiB
Plaintext
#define SS_INIT_JOBS 20
|
|
#define SS_INIT_MISC_FIRST 19
|
|
#define SS_INIT_SEEDS 18 // Plant controller setup.
|
|
#define SS_INIT_ASTEROID 17 // Asteroid generation.
|
|
#define SS_INIT_SHUTTLE 16 // Shuttle setup.
|
|
#define SS_INIT_PARALLAX 15 // Parallax image cache generation. Must run before ghosts are able to join.
|
|
#define SS_INIT_ATOMS 14 // World initialization. Will trigger lighting updates. Observers can join after this loads.
|
|
#define SS_INIT_POWER 13 // Initial powernet build.
|
|
#define SS_INIT_CARGO 12 // Random warehouse generation. Runs after SSatoms because it assumes objects are initialized when it runs.
|
|
#define SS_INIT_PIPENET 11 // Initial pipenet build.
|
|
#define SS_INIT_MACHINERY 10 // Machinery prune and powernet build.
|
|
#define SS_INIT_WIRELESS 9 // Wireless pair queue flush.
|
|
#define SS_INIT_AIR 8 // Air setup and pre-bake.
|
|
#define SS_INIT_NIGHT 7 // Nightmode controller. Will trigger lighting updates.
|
|
#define SS_INIT_SMOOTHING 6 // Object icon smoothing. Creates overlays.
|
|
#define SS_INIT_ICON_UPDATE 5 // Icon update queue flush. Should run before overlays.
|
|
#define SS_INIT_OVERLAY 4 // Overlay flush.
|
|
#define SS_INIT_MISC 3 // Subsystems without an explicitly set initialization order start here.
|
|
#define SS_INIT_LIGHTING 2 // Generation of lighting overlays and pre-bake.
|
|
#define SS_INIT_OPENTURF 1 // Openturf flush. Should run after SSoverlay & SSicon_smooth so it copies the smoothed sprites. Causes lighting updates if starlight is enabled.
|
|
#define SS_INIT_SUNLIGHT 0 // Sunlight setup. Creates lots of lighting & SSopenturf updates, but done after SSlighting inits so it doesn't delay boot.
|
|
#define SS_INIT_LOBBY -1 // Lobby timer starts here.
|
|
|
|
// Something to remember when setting priorities: SS_TICKER runs before Normal, which runs before SS_BACKGROUND.
|
|
// Each group has its own priority bracket.
|
|
// SS_BACKGROUND handles high server load differently than Normal and SS_TICKER do.
|
|
|
|
// SS_TICKER
|
|
#define SS_PRIORITY_OVERLAY 500 // Applies overlays. May cause overlay pop-in if it gets behind.
|
|
#define SS_PRIORITY_SMOOTHING 35 // Smooth turf generation.
|
|
#define SS_PRIORITY_ORBIT 30 // Orbit datum updates.
|
|
#define SS_PRIORITY_ICON_UPDATE 20 // Queued icon updates. Mostly used by APCs and tables.
|
|
|
|
// Normal
|
|
#define SS_PRIORITY_TICKER 200 // Gameticker.
|
|
#define SS_PRIORITY_MOB 150 // Mob Life().
|
|
#define SS_PRIORITY_NANOUI 120 // UI updates.
|
|
#define SS_PRIORITY_VOTE 110
|
|
#define SS_PRIORITY_MACHINERY 95 // Machinery + powernet ticks.
|
|
#define SS_PRIORITY_CHEMISTRY 90 // Multi-tick chemical reactions.
|
|
#define SS_PRIORITY_SHUTTLE 85 // Shuttle movement.
|
|
#define SS_PRIORITY_AIR 80 // ZAS processing.
|
|
#define SS_PRIORITY_CALAMITY 75 // Singularity, Tesla, Nar'sie, blob, etc.
|
|
#define SS_PRIORITY_EVENT 70
|
|
#define SS_PRIORITY_DISEASE 60 // Disease ticks.
|
|
#define SS_PRIORITY_ALARMS 50
|
|
#define SS_PRIORITY_PLANTS 40 // Spreading plant effects.
|
|
#define SS_PRIORITY_EFFECTS 35 // Effect master (Sparks)
|
|
#define SS_PRIORITY_LIGHTING 20 // Queued lighting engine updates.
|
|
#define SS_PRIORITY_AIRFLOW 15 // Handles object movement due to ZAS airflow.
|
|
|
|
// SS_BACKGROUND
|
|
#define SS_PRIORITY_MODIFIER 18
|
|
#define SS_PRIORITY_ARRIVALS 16 // Centcomm arrivals shuttle auto-launch. Usually asleep.
|
|
#define SS_PRIORITY_PROCESSING 15 // Generic datum processor. Replaces objects processor.
|
|
#define SS_PRIORITY_OBJECTS 15 // processing_objects processing.
|
|
#define SS_PRIORITY_EXPLOSIVES 13 // Explosion processor. Doesn't have much effect on explosion tick-checking.
|
|
#define SS_PRIORITY_DISPOSALS 12 // Disposal holder movement.
|
|
#define SS_PRIORITY_WIRELESS 12 // Handles pairing of wireless devices. Usually will be asleep.
|
|
#define SS_PRIORITY_OPENTURF 10 // Open turf icon generation/updates.
|
|
#define SS_PRIORITY_NIGHT 5 // Nightmode.
|
|
#define SS_PRIORITY_STATISTICS 4 // Player population polling & AFK kick.
|
|
#define SS_PRIORITY_SUN 3 // Sun movement & Solar tracking.
|
|
#define SS_PRIORITY_GARBAGE 2 // Garbage collection.
|