Normalizes subsystem definitions

This commit is contained in:
Cyberboss
2017-03-22 11:50:46 -04:00
parent b1e4681c23
commit 7e14ec75fc
48 changed files with 85 additions and 273 deletions
+8 -2
View File
@@ -1,5 +1,4 @@
/datum/controller/subsystem
// Metadata; you should define these.
name = "fire coderbus" //name of the subsystem
@@ -29,8 +28,15 @@
var/datum/controller/subsystem/queue_next
var/datum/controller/subsystem/queue_prev
// Used to initialize the subsystem BEFORE the map has loaded
//Do not override
/datum/controller/subsystem/New()
..()
PreInit()
// Used to initialize the subsystem BEFORE the map has loaded
// Prefer to use Initialize if possible
/datum/controller/subsystem/proc/PreInit()
return
//This is used so the mc knows when the subsystem sleeps. do not override.
/datum/controller/subsystem/proc/ignite(resumed = 0)
+1 -7
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/acid/SSacid
/datum/controller/subsystem/acid
SUBSYSTEM(acid)
name = "Acid"
priority = 40
flags = SS_NO_INIT|SS_BACKGROUND
@@ -8,10 +6,6 @@ var/datum/controller/subsystem/acid/SSacid
var/list/currentrun = list()
var/list/processing = list()
/datum/controller/subsystem/acid/New()
NEW_SS_GLOBAL(SSacid)
/datum/controller/subsystem/acid/stat_entry()
..("P:[processing.len]")
+1 -5
View File
@@ -5,9 +5,8 @@
#define SSAIR_HIGHPRESSURE 5
#define SSAIR_HOTSPOTS 6
#define SSAIR_SUPERCONDUCTIVITY 7
var/datum/controller/subsystem/air/SSair
/datum/controller/subsystem/air
SUBSYSTEM(air)
name = "Air"
init_order = -1
priority = 20
@@ -41,9 +40,6 @@ var/datum/controller/subsystem/air/SSair
var/map_loading = TRUE
var/list/queued_for_activation
/datum/controller/subsystem/air/New()
NEW_SS_GLOBAL(SSair)
/datum/controller/subsystem/air/stat_entry(msg)
msg += "C:{"
msg += "AT:[round(cost_turfs,1)]|"
+1 -6
View File
@@ -1,14 +1,9 @@
var/datum/controller/subsystem/assets/SSassets
/datum/controller/subsystem/assets
SUBSYSTEM(assets)
name = "Assets"
init_order = -3
flags = SS_NO_FIRE
var/list/cache = list()
/datum/controller/subsystem/assets/New()
NEW_SS_GLOBAL(SSassets)
/datum/controller/subsystem/assets/Initialize(timeofday)
for(var/type in typesof(/datum/asset) - list(/datum/asset, /datum/asset/simple))
var/datum/asset/A = new type()
+1 -6
View File
@@ -1,10 +1,8 @@
var/datum/controller/subsystem/atoms/SSatoms
#define INITIALIZATION_INSSATOMS 0 //New should not call Initialize
#define INITIALIZATION_INNEW_MAPLOAD 1 //New should call Initialize(TRUE)
#define INITIALIZATION_INNEW_REGULAR 2 //New should call Initialize(FALSE)
/datum/controller/subsystem/atoms
SUBSYSTEM(atoms)
name = "Atoms"
init_order = 11
flags = SS_NO_FIRE
@@ -12,9 +10,6 @@ var/datum/controller/subsystem/atoms/SSatoms
var/initialized = INITIALIZATION_INSSATOMS
var/old_initialized
/datum/controller/subsystem/atoms/New()
NEW_SS_GLOBAL(SSatoms)
/datum/controller/subsystem/atoms/Initialize(timeofday)
fire_overlay.appearance_flags = RESET_COLOR
setupGenetics() //to set the mutations' place in structural enzymes, so monkey.initialize() knows where to put the monkey mutation.
+1 -3
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/augury/SSaugury
/datum/controller/subsystem/augury
SUBSYSTEM(augury)
name = "Augury"
flags = SS_NO_INIT
+1 -3
View File
@@ -1,9 +1,7 @@
#define COMMUNICATION_COOLDOWN 600
#define COMMUNICATION_COOLDOWN_AI 600
var/datum/controller/subsystem/communications/SScommunications
/datum/controller/subsystem/communications
SUBSYSTEM(communications)
name = "Communications"
flags = SS_NO_INIT | SS_NO_FIRE
@@ -1,19 +1,14 @@
var/datum/controller/subsystem/diseases/SSdisease
/datum/controller/subsystem/diseases
name = "Diseases"
SUBSYSTEM(disease)
name = "Disease"
flags = SS_KEEP_TIMING|SS_NO_INIT
var/list/currentrun = list()
var/list/processing = list()
/datum/controller/subsystem/diseases/New()
NEW_SS_GLOBAL(SSdisease)
/datum/controller/subsystem/diseases/stat_entry(msg)
/datum/controller/subsystem/disease/stat_entry(msg)
..("P:[processing.len]")
/datum/controller/subsystem/diseases/fire(resumed = 0)
/datum/controller/subsystem/disease/fire(resumed = 0)
if(!resumed)
src.currentrun = processing.Copy()
//cache for sanic speed (lists are references anyways)
+1 -8
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/events/SSevents
/datum/controller/subsystem/events
SUBSYSTEM(events)
name = "Events"
init_order = 6
@@ -15,11 +13,6 @@ var/datum/controller/subsystem/events/SSevents
var/list/holidays //List of all holidays occuring today or null if no holidays
var/wizardmode = 0
/datum/controller/subsystem/events/New()
NEW_SS_GLOBAL(SSevents)
/datum/controller/subsystem/events/Initialize(time, zlevel)
for(var/type in typesof(/datum/round_event_control))
var/datum/round_event_control/E = new type()
+1 -3
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/fire_burning/SSfire_burning
/datum/controller/subsystem/fire_burning
SUBSYSTEM(fire_burning)
name = "Fire Burning"
priority = 40
flags = SS_NO_INIT|SS_BACKGROUND
+1 -3
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/garbage/SSgarbage
/datum/controller/subsystem/garbage
SUBSYSTEM(garbage)
name = "Garbage"
priority = 15
wait = 5
+1 -3
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/icon_smooth/SSicon_smooth
/datum/controller/subsystem/icon_smooth
SUBSYSTEM(icon_smooth)
name = "Icon Smoothing"
init_order = -5
wait = 1
+1 -2
View File
@@ -1,5 +1,4 @@
var/datum/controller/subsystem/inbounds/SSinbounds
/datum/controller/subsystem/inbounds
SUBSYSTEM(inbounds)
name = "Inbounds"
priority = 40
flags = SS_NO_INIT
+1 -3
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/ipintel/SSipintel
/datum/controller/subsystem/ipintel
SUBSYSTEM(ipintel)
name = "XKeyScore"
init_order = -10
flags = SS_NO_FIRE
+1 -7
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/job/SSjob
/datum/controller/subsystem/job
SUBSYSTEM(job)
name = "Jobs"
init_order = 14
flags = SS_NO_FIRE
@@ -14,10 +12,6 @@ var/datum/controller/subsystem/job/SSjob
var/list/prioritized_jobs = list()
/datum/controller/subsystem/job/New()
NEW_SS_GLOBAL(SSjob)
/datum/controller/subsystem/job/Initialize(timeofday)
if(!occupations.len)
SetupOccupations()
+1 -9
View File
@@ -1,11 +1,8 @@
var/datum/controller/subsystem/lighting/SSlighting
var/list/lighting_update_lights = list() // List of lighting sources queued for update.
var/list/lighting_update_corners = list() // List of lighting corners queued for update.
var/list/lighting_update_objects = list() // List of lighting objects queued for update.
/datum/controller/subsystem/lighting
SUBSYSTEM(lighting)
name = "Lighting"
wait = 2
init_order = -20
@@ -13,11 +10,6 @@ var/list/lighting_update_objects = list() // List of lighting objects queued fo
var/initialized = FALSE
/datum/controller/subsystem/lighting/New()
NEW_SS_GLOBAL(SSlighting)
/datum/controller/subsystem/lighting/stat_entry()
..("L:[lighting_update_lights.len]|C:[lighting_update_corners.len]|O:[lighting_update_objects.len]")
+1 -8
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/machines/SSmachines
/datum/controller/subsystem/machines
SUBSYSTEM(machines)
name = "Machines"
init_order = 9
flags = SS_KEEP_TIMING
@@ -8,7 +6,6 @@ var/datum/controller/subsystem/machines/SSmachines
var/list/currentrun = list()
var/list/powernets = list()
/datum/controller/subsystem/machines/Initialize()
makepowernets()
fire()
@@ -25,10 +22,6 @@ var/datum/controller/subsystem/machines/SSmachines
NewPN.add_cable(PC)
propagate_network(PC,PC.powernet)
/datum/controller/subsystem/machines/New()
NEW_SS_GLOBAL(SSmachines)
/datum/controller/subsystem/machines/stat_entry()
..("M:[processing.len]|PN:[powernets.len]")
+2 -5
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/mapping/SSmapping
/datum/controller/subsystem/mapping
SUBSYSTEM(mapping)
name = "Mapping"
init_order = 12
flags = SS_NO_FIRE
@@ -21,8 +19,7 @@ var/datum/controller/subsystem/mapping/SSmapping
var/list/shuttle_templates = list()
var/list/shelter_templates = list()
/datum/controller/subsystem/mapping/New()
NEW_SS_GLOBAL(SSmapping)
/datum/controller/subsystem/mapping/PreInit()
if(!previous_map_config)
previous_map_config = new("data/previous_map.json", delete_after = TRUE)
if(previous_map_config.defaulted)
+1 -6
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/minimap/SSminimap
/datum/controller/subsystem/minimap
SUBSYSTEM(minimap)
name = "Minimap"
init_order = -2
flags = SS_NO_FIRE
@@ -9,9 +7,6 @@ var/datum/controller/subsystem/minimap/SSminimap
var/list/z_levels = list(ZLEVEL_STATION)
/datum/controller/subsystem/minimap/New()
NEW_SS_GLOBAL(SSminimap)
/datum/controller/subsystem/minimap/Initialize(timeofday)
var/hash = md5(SSmapping.config.GetFullMapPath())
if(config.generate_minimaps)
+1 -7
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/mobs/SSmobs
/datum/controller/subsystem/mobs
SUBSYSTEM(mobs)
name = "Mobs"
init_order = 4
priority = 100
@@ -8,10 +6,6 @@ var/datum/controller/subsystem/mobs/SSmobs
var/list/currentrun = list()
/datum/controller/subsystem/mobs/New()
NEW_SS_GLOBAL(SSmobs)
/datum/controller/subsystem/mobs/stat_entry()
..("P:[mob_list.len]")
+1 -6
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/npcpool/SSnpcpool
/datum/controller/subsystem/npcpool
SUBSYSTEM(npcpool)
name = "NPC Pool"
init_order = 17
flags = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_NO_TICK_CHECK
@@ -18,9 +16,6 @@ var/datum/controller/subsystem/npcpool/SSnpcpool
if(istype(toInsert,/mob/living/carbon/human/interactive))
botPool_l |= toInsert
/datum/controller/subsystem/npcpool/New()
NEW_SS_GLOBAL(SSnpcpool)
/datum/controller/subsystem/npcpool/stat_entry()
..("T:[botPool_l.len + botPool_l_non.len]|D:[needsDelegate.len]|A:[needsAssistant.len + needsHelp_non.len]|U:[canBeUsed.len + canBeUsed_non.len]")
+1 -7
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/orbit/SSorbit
/datum/controller/subsystem/orbit
SUBSYSTEM(orbit)
name = "Orbits"
priority = 35
wait = 2
@@ -9,10 +7,6 @@ var/datum/controller/subsystem/orbit/SSorbit
var/list/currentrun = list()
var/list/processing = list()
/datum/controller/subsystem/orbit/New()
NEW_SS_GLOBAL(SSorbit)
/datum/controller/subsystem/orbit/stat_entry()
..("P:[processing.len]")
+1 -6
View File
@@ -1,7 +1,5 @@
var/datum/controller/subsystem/pai/SSpai
var/list/obj/item/device/paicard/pai_card_list = list()
/datum/controller/subsystem/pai
SUBSYSTEM(pai)
name = "pAI"
flags = SS_NO_INIT|SS_NO_FIRE
@@ -10,9 +8,6 @@ var/list/obj/item/device/paicard/pai_card_list = list()
var/ghost_spam = FALSE
var/spam_delay = 100
/datum/controller/subsystem/pai/New()
NEW_SS_GLOBAL(SSpai)
/datum/controller/subsystem/pai/Topic(href, href_list[])
if(href_list["download"])
var/datum/paiCandidate/candidate = locate(href_list["candidate"])
+1 -7
View File
@@ -1,16 +1,10 @@
var/datum/controller/subsystem/parallax/SSparallax
/datum/controller/subsystem/parallax
SUBSYSTEM(parallax)
name = "Parallax"
wait = 2
flags = SS_POST_FIRE_TIMING | SS_FIRE_IN_LOBBY | SS_BACKGROUND | SS_NO_INIT
priority = 65
var/list/currentrun
/datum/controller/subsystem/parallax/New()
NEW_SS_GLOBAL(SSparallax)
return ..()
/datum/controller/subsystem/parallax/fire(resumed = 0)
if (!resumed)
src.currentrun = clients.Copy()
+1 -6
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/persistence/SSpersistence
/datum/controller/subsystem/persistence
SUBSYSTEM(persistence)
name = "Persistence"
init_order = -100
flags = SS_NO_FIRE
@@ -13,9 +11,6 @@ var/datum/controller/subsystem/persistence/SSpersistence
var/list/saved_messages = list()
var/savefile/chisel_messages_sav
/datum/controller/subsystem/persistence/New()
NEW_SS_GLOBAL(SSpersistence)
/datum/controller/subsystem/persistence/Initialize()
LoadSatchels()
LoadPoly()
+1 -6
View File
@@ -1,17 +1,12 @@
#define PING_BUFFER_TIME 25
var/datum/controller/subsystem/ping/SSping
/datum/controller/subsystem/ping
SUBSYSTEM(ping)
name = "Ping"
wait = 6
flags = SS_NO_INIT|SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY
priority = 10
var/list/currentrun
/datum/controller/subsystem/ping/New()
NEW_SS_GLOBAL(SSping)
/datum/controller/subsystem/ping/fire(resumed = FALSE)
if (!resumed)
src.currentrun = clients.Copy()
@@ -1,10 +1,6 @@
//Fires five times every second.
var/datum/controller/subsystem/processing/fastprocess/SSfastprocess
/datum/controller/subsystem/processing/fastprocess
PROCESSING_SUBSYTEM(fastprocess)
name = "Fast Processing"
wait = 2
stat_tag = "FP"
/datum/controller/subsystem/processing/fastprocess/New()
NEW_SS_GLOBAL(SSfastprocess)
@@ -1,11 +1,7 @@
var/datum/controller/subsystem/processing/flightpacks/SSflightpacks
/datum/controller/subsystem/processing/flightpacks
PROCESSING_SUBSYTEM(flightpacks)
name = "Flightpack Movement"
priority = 30
wait = 2
stat_tag = "FM"
flags = SS_NO_INIT|SS_TICKER|SS_KEEP_TIMING
/datum/controller/subsystem/processing/flightpacks/New()
NEW_SS_GLOBAL(SSflightpacks)
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/processing/overlays/SSoverlays
/datum/controller/subsystem/processing/overlays
PROCESSING_SUBSYSTEM(overlays)
name = "Overlay"
flags = SS_TICKER|SS_FIRE_IN_LOBBY
wait = 1
@@ -13,8 +11,7 @@ var/datum/controller/subsystem/processing/overlays/SSoverlays
var/list/overlay_icon_cache
var/initialized = FALSE
/datum/controller/subsystem/processing/overlays/New()
NEW_SS_GLOBAL(SSoverlays)
/datum/controller/subsystem/processing/overlays/PreInit()
LAZYINITLIST(overlay_icon_state_caches)
LAZYINITLIST(overlay_icon_cache)
@@ -1,7 +1,6 @@
//Used to process objects. Fires once every second.
var/datum/controller/subsystem/processing/SSprocessing
/datum/controller/subsystem/processing
SUBSYSTEM(processing)
name = "Processing"
priority = 25
flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT
@@ -11,9 +10,6 @@ var/datum/controller/subsystem/processing/SSprocessing
var/list/processing = list()
var/list/currentrun = list()
/datum/controller/subsystem/processing/New()
NEW_SS_GLOBAL(SSprocessing)
/datum/controller/subsystem/processing/stat_entry()
..("[stat_tag]:[processing.len]")
+1 -6
View File
@@ -1,15 +1,10 @@
var/datum/controller/subsystem/radio/SSradio
/datum/controller/subsystem/radio
SUBSYSTEM(radio)
name = "Radio"
init_order = 18
flags = SS_NO_FIRE|SS_NO_INIT
var/list/datum/radio_frequency/frequencies = list()
/datum/controller/subsystem/radio/New()
NEW_SS_GLOBAL(SSradio)
/datum/controller/subsystem/radio/proc/add_object(obj/device, new_frequency as num, filter = null as text|null)
var/f_text = num2text(new_frequency)
var/datum/radio_frequency/frequency = frequencies[f_text]
+1 -6
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/religion/SSreligion
/datum/controller/subsystem/religion
SUBSYSTEM(religion)
name = "Religion"
init_order = 19
flags = SS_NO_FIRE|SS_NO_INIT
@@ -12,6 +10,3 @@ var/datum/controller/subsystem/religion/SSreligion
var/Bible_deity_name
var/holy_weapon
/datum/controller/subsystem/religion/New()
NEW_SS_GLOBAL(SSreligion)
+1 -3
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/server_maint/SSserver
/datum/controller/subsystem/server_maint
SUBSYSTEM(server_maint)
name = "Server Tasks"
wait = 6000
flags = SS_NO_TICK_CHECK
+2 -7
View File
@@ -1,9 +1,7 @@
#define HIGHLIGHT_DYNAMIC_TRANSIT 1
var/datum/controller/subsystem/shuttle/SSshuttle
/datum/controller/subsystem/shuttle
name = "Shuttles"
SUBSYSTEM(shuttle)
name = "Shuttle"
wait = 10
init_order = 3
flags = SS_KEEP_TIMING|SS_NO_TICK_CHECK
@@ -47,9 +45,6 @@ var/datum/controller/subsystem/shuttle/SSshuttle
var/lockdown = FALSE //disallow transit after nuke goes off
/datum/controller/subsystem/shuttle/New()
NEW_SS_GLOBAL(SSshuttle)
/datum/controller/subsystem/shuttle/Initialize(timeofday)
if(!emergency)
WARNING("No /obj/docking_port/mobile/arrivals placed on the map!")
+1 -7
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/spacedrift/SSspacedrift
/datum/controller/subsystem/spacedrift
SUBSYSTEM(spacedrift)
name = "Space Drift"
priority = 30
wait = 5
@@ -9,10 +7,6 @@ var/datum/controller/subsystem/spacedrift/SSspacedrift
var/list/currentrun = list()
var/list/processing = list()
/datum/controller/subsystem/spacedrift/New()
NEW_SS_GLOBAL(SSspacedrift)
/datum/controller/subsystem/spacedrift/stat_entry()
..("P:[processing.len]")
+1 -6
View File
@@ -1,19 +1,14 @@
var/datum/controller/subsystem/squeak/SSsqueak
// The Squeak
// because this is about placement of mice mobs, and nothing to do with
// mice - the computer peripheral
/datum/controller/subsystem/squeak
SUBSYSTEM(squeak)
name = "Squeak"
priority = 40
flags = SS_NO_FIRE
var/list/exposed_wires = list()
/datum/controller/subsystem/squeak/New()
NEW_SS_GLOBAL(SSsqueak)
/datum/controller/subsystem/squeak/Initialize(timeofday)
trigger_migration()
+1 -6
View File
@@ -1,15 +1,10 @@
var/datum/controller/subsystem/stickyban/SSstickyban
/datum/controller/subsystem/stickyban
SUBSYSTEM(stickyban)
name = "Sticky Ban"
init_order = -10
flags = SS_NO_FIRE
var/list/cache = list()
/datum/controller/subsystem/stickyban/New()
NEW_SS_GLOBAL(SSstickyban)
/datum/controller/subsystem/stickyban/Initialize(timeofday)
var/list/bannedkeys = world.GetConfig("ban")
//sanitize the sticky ban list
+2 -6
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/sun/SSsun
/datum/controller/subsystem/sun
SUBSYTEM(sun)
name = "Sun"
wait = 600
init_order = 2
@@ -11,9 +9,7 @@ var/datum/controller/subsystem/sun/SSsun
var/rate
var/list/solars = list()
/datum/controller/subsystem/sun/New()
NEW_SS_GLOBAL(SSsun)
/datum/controller/subsystem/sun/PreInit()
angle = rand (0,360) // the station position to the sun is randomised at round start
rate = rand(50,200)/100 // 50% - 200% of standard rotation
if(prob(50)) // same chance to rotate clockwise than counter-clockwise
+2 -6
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/tgui/SStgui
/datum/controller/subsystem/tgui
SUBSYSTEM(tgui)
name = "tgui"
wait = 9
init_order = 16
@@ -12,11 +10,9 @@ var/datum/controller/subsystem/tgui/SStgui
var/list/processing_uis = list() // A list of processing UIs, ungrouped.
var/basehtml // The HTML base used for all UIs.
/datum/controller/subsystem/tgui/New()
/datum/controller/subsystem/tgui/PreInit()
basehtml = file2text('tgui/tgui.html') // Read the HTML from disk.
NEW_SS_GLOBAL(SStgui)
/datum/controller/subsystem/tgui/Shutdown()
close_all_uis()
+2 -8
View File
@@ -1,20 +1,14 @@
#define MAX_THROWING_DIST 512 // 2 z-levels on default width
#define MAX_TICKS_TO_MAKE_UP 3 //how many missed ticks will we attempt to make up for this run.
var/datum/controller/subsystem/throwing/SSthrowing
/datum/controller/subsystem/throwing
SUBSYSTEM(throwing)
name = "Throwing"
priority = 25
wait = 1
flags = SS_NO_INIT|SS_KEEP_TIMING|SS_TICKER
var/list/currentrun
var/list/processing
/datum/controller/subsystem/throwing/New()
NEW_SS_GLOBAL(SSthrowing)
processing = list()
var/list/processing = list()
/datum/controller/subsystem/throwing/stat_entry()
..("P:[processing.len]")
+1 -6
View File
@@ -2,9 +2,7 @@
var/round_start_time = 0
var/datum/controller/subsystem/ticker/SSticker
/datum/controller/subsystem/ticker
SUBSYSTEM(ticker)
name = "Ticker"
init_order = 13
@@ -58,9 +56,6 @@ var/datum/controller/subsystem/ticker/SSticker
var/late_join_disabled
/datum/controller/subsystem/ticker/New()
NEW_SS_GLOBAL(SSticker)
/datum/controller/subsystem/ticker/Initialize(timeofday)
var/list/music = file2list(ROUND_START_MUSIC_LIST, "\n")
login_music = pick(music)
+1 -6
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/time_track/SStime_track
/datum/controller/subsystem/time_track
SUBSYSTEM(time_track)
name = "Time Tracking"
wait = 600
flags = SS_NO_INIT|SS_FIRE_IN_LOBBY
@@ -17,9 +15,6 @@ var/datum/controller/subsystem/time_track/SStime_track
var/last_tick_byond_time = 0
var/last_tick_tickcount = 0
/datum/controller/subsystem/time_track/New()
NEW_SS_GLOBAL(SStime_track)
/datum/controller/subsystem/time_track/fire()
var/current_realtime = REALTIMEOFDAY
+6 -19
View File
@@ -1,39 +1,26 @@
#define BUCKET_LEN (world.fps*1*60) //how many ticks should we keep in the bucket. (1 minutes worth)
#define BUCKET_POS(timer) (round((timer.timeToRun - SStimer.head_offset) / world.tick_lag) + 1)
var/datum/controller/subsystem/timer/SStimer
/datum/controller/subsystem/timer
SUBSYSTEM(timer)
name = "Timer"
wait = 1 //SS_TICKER subsystem, so wait is in ticks
init_order = 1
flags = SS_FIRE_IN_LOBBY|SS_TICKER|SS_NO_INIT
var/list/datum/timedevent/processing
var/list/hashes
var/list/datum/timedevent/processing = list()
var/list/hashes = list()
var/head_offset = 0 //world.time of the first entry in the the bucket.
var/practical_offset = 0 //index of the first non-empty item in the bucket.
var/bucket_resolution = 0 //world.tick_lag the bucket was designed for
var/bucket_count = 0 //how many timers are in the buckets
var/list/bucket_list //list of buckets, each bucket holds every timer that has to run that byond tick.
var/list/bucket_list = list() //list of buckets, each bucket holds every timer that has to run that byond tick.
var/list/timer_id_dict //list of all active timers assoicated to their timer id (for easy lookup)
var/list/clienttime_timers //special snowflake timers that run on fancy pansy "client time"
/datum/controller/subsystem/timer/New()
processing = list()
hashes = list()
bucket_list = list()
timer_id_dict = list()
clienttime_timers = list()
NEW_SS_GLOBAL(SStimer)
var/list/timer_id_dict = list() //list of all active timers assoicated to their timer id (for easy lookup)
var/list/clienttime_timers = list() //special snowflake timers that run on fancy pansy "client time"
/datum/controller/subsystem/timer/stat_entry(msg)
..("B:[bucket_count] P:[length(processing)] H:[length(hashes)] C:[length(clienttime_timers)]")
+1 -6
View File
@@ -1,14 +1,9 @@
var/datum/controller/subsystem/title/SStitle
/datum/controller/subsystem/title
SUBSYSTEM(title)
name = "Title Screen"
init_order = 15
flags = SS_NO_FIRE
var/turf/closed/indestructible/splashscreen/title_screen
/datum/controller/subsystem/title/New()
NEW_SS_GLOBAL(SStitle)
/datum/controller/subsystem/title/Initialize()
var/list/provisional_title_screens = flist("config/title_screens/images/")
var/list/title_screens = list()
+1 -3
View File
@@ -1,6 +1,4 @@
var/datum/controller/subsystem/vote/SSvote
/datum/controller/subsystem/vote
SUBSYSTEM(vote)
name = "Vote"
wait = 10
+1 -5
View File
@@ -1,7 +1,6 @@
//Used for all kinds of weather, ex. lavaland ash storms.
var/datum/controller/subsystem/weather/SSweather
/datum/controller/subsystem/weather
SUBSYSTEM(weather)
name = "Weather"
flags = SS_BACKGROUND
wait = 10
@@ -9,9 +8,6 @@ var/datum/controller/subsystem/weather/SSweather
var/list/existing_weather = list()
var/list/eligible_zlevels = list(ZLEVEL_LAVALAND)
/datum/controller/subsystem/weather/New()
NEW_SS_GLOBAL(SSweather)
/datum/controller/subsystem/weather/fire()
for(var/V in processing)
var/datum/weather/W = V