From b11015107c4589be68ab7ae218d60c58f7353f43 Mon Sep 17 00:00:00 2001 From: Heroman Date: Fri, 5 Apr 2019 13:30:32 +1000 Subject: [PATCH] REVERT of nanoui/chemistry becoming subsystems (temp) --- .../binary_devices/algae_generator_vr.dm | 2 +- .../components/binary_devices/passive_gate.dm | 2 +- .../components/binary_devices/pump.dm | 2 +- .../components/omni_devices/filter.dm | 4 +- .../components/omni_devices/mixer.dm | 4 +- .../components/unary/cold_sink.dm | 2 +- .../components/unary/heat_source.dm | 2 +- code/_helpers/global_lists.dm | 2 + code/controllers/Processes/chemistry.dm | 33 +++++++++++ code/controllers/Processes/nanoui.dm | 19 +++++++ code/controllers/subsystems/nanoui.dm | 42 -------------- .../subsystems/processing/chemistry.dm | 43 -------------- code/controllers/verbs.dm | 2 + code/datums/datum.dm | 2 +- code/datums/mind.dm | 2 +- code/datums/wires/radio.dm | 4 +- code/game/dna/dna_modifier.dm | 12 ++-- code/game/machinery/Sleeper.dm | 2 +- code/game/machinery/adv_med.dm | 2 +- code/game/machinery/alarm.dm | 2 +- code/game/machinery/atmo_control.dm | 8 +-- code/game/machinery/atmoalter/canister.dm | 4 +- code/game/machinery/atmoalter/pump.dm | 2 +- code/game/machinery/atmoalter/scrubber.dm | 4 +- code/game/machinery/computer/Operating.dm | 4 +- code/game/machinery/computer/arcade.dm | 4 +- code/game/machinery/computer/atmos_alert.dm | 2 +- code/game/machinery/computer/camera.dm | 4 +- code/game/machinery/computer/card.dm | 10 ++-- code/game/machinery/computer/cloning.dm | 4 +- code/game/machinery/computer/guestpass.dm | 6 +- code/game/machinery/computer/robot.dm | 2 +- code/game/machinery/computer/supply.dm | 2 +- code/game/machinery/computer/timeclock_vr.dm | 4 +- code/game/machinery/computer3/lapvend.dm | 10 ++-- code/game/machinery/cryo.dm | 4 +- code/game/machinery/doors/airlock.dm | 2 +- .../airlock_controllers.dm | 6 +- .../airlock_docking_controller.dm | 2 +- .../airlock_docking_controller_multi.dm | 4 +- .../simple_docking_controller.dm | 2 +- code/game/machinery/exonet_node.dm | 4 +- code/game/machinery/jukebox.dm | 2 +- code/game/machinery/oxygen_pump.dm | 2 +- code/game/machinery/partslathe_vr.dm | 2 +- code/game/machinery/portable_turret.dm | 2 +- code/game/machinery/requests_console.dm | 2 +- code/game/machinery/turret_control.dm | 2 +- code/game/machinery/vending.dm | 16 +++--- code/game/mecha/mech_fabricator.dm | 2 +- code/game/mecha/mech_prosthetics.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 16 +++--- code/game/objects/items/devices/aicard.dm | 2 +- .../objects/items/devices/communicator/UI.dm | 6 +- .../devices/communicator/communicator.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 8 +-- .../objects/items/devices/transfer_valve.dm | 6 +- code/game/objects/items/devices/uplink.dm | 6 +- .../items/weapons/id cards/syndicate_ids.dm | 4 +- .../game/objects/items/weapons/tanks/tanks.dm | 2 +- code/game/objects/structures/janicart.dm | 2 +- code/global_init.dm | 2 + code/modules/admin/view_variables/topic.dm | 2 +- code/modules/client/client procs.dm | 4 +- code/modules/clothing/glasses/hud_vr.dm | 2 +- code/modules/clothing/spacesuits/rig/rig.dm | 2 +- .../detectivework/microscope/dnascanner.dm | 2 +- code/modules/economy/Accounts_DB.dm | 6 +- code/modules/events/supply_demand.dm | 4 +- code/modules/food/kitchen/smartfridge.dm | 10 ++-- code/modules/food/recipe_dump.dm | 4 +- code/modules/holodeck/HolodeckControl.dm | 4 +- code/modules/hydroponics/seed.dm | 2 +- code/modules/hydroponics/seed_machines.dm | 4 +- code/modules/mob/living/silicon/pai/pai.dm | 2 +- .../mob/living/silicon/pai/software.dm | 2 +- .../living/silicon/pai/software_modules.dm | 18 +++--- .../silicon/robot/dogborg/dog_sleeper_vr.dm | 6 +- code/modules/mob/logout.dm | 2 +- code/modules/nano/interaction/remote.dm | 2 +- code/modules/nano/modules/alarm_monitor.dm | 2 +- code/modules/nano/modules/atmos_control.dm | 2 +- code/modules/nano/modules/crew_monitor.dm | 2 +- code/modules/nano/modules/human_appearance.dm | 2 +- code/modules/nano/modules/law_manager.dm | 2 +- code/modules/nano/modules/power_monitor.dm | 2 +- code/modules/nano/modules/rcon.dm | 2 +- code/modules/nano/nanomanager.dm | 57 +++++++++++++++---- code/modules/nano/nanoui.dm | 6 +- code/modules/nifsoft/nif_softshop.dm | 6 +- .../overmap/ships/computers/engine_control.dm | 2 +- code/modules/overmap/ships/computers/helm.dm | 2 +- .../overmap/ships/computers/shuttle.dm | 2 +- code/modules/paperwork/faxmachine.dm | 4 +- code/modules/paperwork/photocopier.dm | 4 +- code/modules/power/apc.dm | 2 +- code/modules/power/generator.dm | 2 +- code/modules/power/port_gen.dm | 2 +- code/modules/power/smes.dm | 2 +- code/modules/power/supermatter/supermatter.dm | 2 +- code/modules/power/turbine.dm | 2 +- code/modules/reagents/Chemistry-Holder.dm | 29 +++++----- code/modules/reagents/Chemistry-Machinery.dm | 4 +- code/modules/reagents/Chemistry-Reagents.dm | 9 +++ code/modules/reagents/Chemistry-Recipes.dm | 19 +++++++ code/modules/reagents/dispenser/cartridge.dm | 2 +- .../reagents/dispenser/cartridge_spawn.dm | 4 +- code/modules/reagents/dispenser/dispenser2.dm | 8 +-- .../reagents/dispenser/dispenser2_energy.dm | 4 +- .../reagents/reagent_containers/borghydro.dm | 6 +- code/modules/resleeving/computers.dm | 4 +- code/modules/resleeving/designer.dm | 2 +- code/modules/resleeving/infomorph.dm | 4 +- code/modules/resleeving/infomorph_software.dm | 12 ++-- code/modules/rogueminer_vr/zone_console.dm | 4 +- code/modules/shuttles/escape_pods.dm | 4 +- code/modules/shuttles/shuttle_console.dm | 2 +- code/modules/shuttles/shuttle_emergency.dm | 2 +- code/modules/shuttles/shuttles_web.dm | 2 +- code/modules/telesci/telesci_computer.dm | 2 +- code/modules/virus2/centrifuge.dm | 10 ++-- code/modules/virus2/diseasesplicer.dm | 10 ++-- code/modules/virus2/dishincubator.dm | 22 +++---- code/modules/virus2/effect.dm | 2 +- code/modules/virus2/isolator.dm | 8 +-- .../tools/geosample_scanner.dm | 2 +- code/unit_tests/research_tests.dm | 2 +- maps/tether/tether_phoronlock.dm | 2 +- vorestation.dme | 4 +- 129 files changed, 389 insertions(+), 350 deletions(-) create mode 100644 code/controllers/Processes/chemistry.dm create mode 100644 code/controllers/Processes/nanoui.dm delete mode 100644 code/controllers/subsystems/nanoui.dm delete mode 100644 code/controllers/subsystems/processing/chemistry.dm diff --git a/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm b/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm index 391f10bc6e..454d04ff44 100644 --- a/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm +++ b/code/ATMOSPHERICS/components/binary_devices/algae_generator_vr.dm @@ -200,7 +200,7 @@ "moles" = round(air2.gas[output_gas], 0.01)) // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "algae_farm_vr.tmpl", "Algae Farm Control Panel", 500, 600) ui.set_initial_data(data) diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index 5abaa00c60..accedb543d 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -197,7 +197,7 @@ ) // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index 1f1c4ff1ae..cacdf5240b 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -140,7 +140,7 @@ Thus, the two variables affect pump operation are set in New(): ) // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/ATMOSPHERICS/components/omni_devices/filter.dm b/code/ATMOSPHERICS/components/omni_devices/filter.dm index 6fbd91f861..428f37fcfa 100644 --- a/code/ATMOSPHERICS/components/omni_devices/filter.dm +++ b/code/ATMOSPHERICS/components/omni_devices/filter.dm @@ -93,7 +93,7 @@ data = build_uidata() - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "omni_filter.tmpl", "Omni Filter Control", 330, 330) @@ -181,7 +181,7 @@ switch_filter(dir_flag(href_list["dir"]), mode_return_switch(new_filter)) update_icon() - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) return /obj/machinery/atmospherics/omni/atmos_filter/proc/mode_return_switch(var/mode) diff --git a/code/ATMOSPHERICS/components/omni_devices/mixer.dm b/code/ATMOSPHERICS/components/omni_devices/mixer.dm index 47c78427f0..fc00be6ba4 100644 --- a/code/ATMOSPHERICS/components/omni_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/omni_devices/mixer.dm @@ -131,7 +131,7 @@ data = build_uidata() - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "omni_mixer.tmpl", "Omni Mixer Control", 360, 330) @@ -200,7 +200,7 @@ con_lock(dir_flag(href_list["dir"])) update_icon() - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) return /obj/machinery/atmospherics/omni/mixer/proc/switch_mode(var/port = NORTH, var/mode = ATM_NONE) diff --git a/code/ATMOSPHERICS/components/unary/cold_sink.dm b/code/ATMOSPHERICS/components/unary/cold_sink.dm index d4bfb73311..8ff0aa7479 100644 --- a/code/ATMOSPHERICS/components/unary/cold_sink.dm +++ b/code/ATMOSPHERICS/components/unary/cold_sink.dm @@ -83,7 +83,7 @@ data["gasTemperatureClass"] = temp_class // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm index 9729e1d387..69e638bc22 100644 --- a/code/ATMOSPHERICS/components/unary/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary/heat_source.dm @@ -103,7 +103,7 @@ data["gasTemperatureClass"] = temp_class // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/_helpers/global_lists.dm b/code/_helpers/global_lists.dm index a3687b9b99..057e468bb4 100644 --- a/code/_helpers/global_lists.dm +++ b/code/_helpers/global_lists.dm @@ -13,6 +13,8 @@ var/global/list/dead_mob_list = list() //List of all dead mobs, including cli var/global/list/listening_objects = list() //List of all objects which care about receiving messages (communicators, radios, etc) var/global/list/cable_list = list() //Index for all cables, so that powernets don't have to look through the entire world all the time +var/global/list/chemical_reactions_list //list of all /datum/chemical_reaction datums. Used during chemical reactions +var/global/list/chemical_reagents_list //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff var/global/list/landmarks_list = list() //list of all landmarks created var/global/list/surgery_steps = list() //list of all surgery steps |BS12 var/global/list/side_effects = list() //list of all medical sideeffects types by thier names |BS12 diff --git a/code/controllers/Processes/chemistry.dm b/code/controllers/Processes/chemistry.dm new file mode 100644 index 0000000000..89d3cc01be --- /dev/null +++ b/code/controllers/Processes/chemistry.dm @@ -0,0 +1,33 @@ +var/datum/controller/process/chemistry/chemistryProcess + +/datum/controller/process/chemistry + var/list/active_holders + var/list/chemical_reactions + var/list/chemical_reagents + +/datum/controller/process/chemistry/setup() + name = "chemistry" + schedule_interval = 20 // every 2 seconds + chemistryProcess = src + active_holders = list() + chemical_reactions = chemical_reactions_list + chemical_reagents = chemical_reagents_list + +/datum/controller/process/chemistry/statProcess() + ..() + stat(null, "[active_holders.len] reagent holder\s") + +/datum/controller/process/chemistry/doWork() + for(last_object in active_holders) + var/datum/reagents/holder = last_object + if(!holder.process_reactions()) + active_holders -= holder + SCHECK + +/datum/controller/process/chemistry/proc/mark_for_update(var/datum/reagents/holder) + if(holder in active_holders) + return + + //Process once, right away. If we still need to continue then add to the active_holders list and continue later + if(holder.process_reactions()) + active_holders += holder \ No newline at end of file diff --git a/code/controllers/Processes/nanoui.dm b/code/controllers/Processes/nanoui.dm new file mode 100644 index 0000000000..0f720600bc --- /dev/null +++ b/code/controllers/Processes/nanoui.dm @@ -0,0 +1,19 @@ +/datum/controller/process/nanoui/setup() + name = "nanoui" + schedule_interval = 20 // every 2 seconds + +/datum/controller/process/nanoui/statProcess() + ..() + stat(null, "[GLOB.nanomanager.processing_uis.len] UIs") + +/datum/controller/process/nanoui/doWork() + for(last_object in GLOB.nanomanager.processing_uis) + var/datum/nanoui/NUI = last_object + if(istype(NUI) && !QDELETED(NUI)) + try + NUI.process() + catch(var/exception/e) + catchException(e, NUI) + else + catchBadType(NUI) + GLOB.nanomanager.processing_uis -= NUI \ No newline at end of file diff --git a/code/controllers/subsystems/nanoui.dm b/code/controllers/subsystems/nanoui.dm deleted file mode 100644 index c31449addc..0000000000 --- a/code/controllers/subsystems/nanoui.dm +++ /dev/null @@ -1,42 +0,0 @@ -SUBSYSTEM_DEF(nanoui) - name = "NanoUI" - wait = 20 - // a list of current open /nanoui UIs, grouped by src_object and ui_key - var/list/open_uis = list() - // a list of current open /nanoui UIs, not grouped, for use in processing - var/list/processing_uis = list() - // a list of asset filenames which are to be sent to the client on user logon - var/list/asset_files = list() - -/datum/controller/subsystem/nanoui/Initialize() - var/list/nano_asset_dirs = list(\ - "nano/css/",\ - "nano/images/",\ - "nano/js/",\ - "nano/templates/"\ - ) - - var/list/filenames = null - for (var/path in nano_asset_dirs) - filenames = flist(path) - for(var/filename in filenames) - if(copytext(filename, length(filename)) != "/") // filenames which end in "/" are actually directories, which we want to ignore - if(fexists(path + filename)) - asset_files.Add(fcopy_rsc(path + filename)) // add this file to asset_files for sending to clients when they connect - return ..() - -/datum/controller/subsystem/nanoui/Recover() - if(SSnanoui.open_uis) - open_uis |= SSnanoui.open_uis - if(SSnanoui.processing_uis) - processing_uis |= SSnanoui.processing_uis - if(SSnanoui.asset_files) - asset_files |= SSnanoui.asset_files - -/datum/controller/subsystem/nanoui/stat_entry() - return ..("[processing_uis.len] UIs") - -/datum/controller/subsystem/nanoui/fire(resumed) - for(var/thing in processing_uis) - var/datum/nanoui/UI = thing - UI.process() diff --git a/code/controllers/subsystems/processing/chemistry.dm b/code/controllers/subsystems/processing/chemistry.dm deleted file mode 100644 index 67b74d3ab6..0000000000 --- a/code/controllers/subsystems/processing/chemistry.dm +++ /dev/null @@ -1,43 +0,0 @@ -PROCESSING_SUBSYSTEM_DEF(chemistry) - name = "Chemistry" - wait = 20 - flags = SS_BACKGROUND|SS_POST_FIRE_TIMING - init_order = INIT_ORDER_CHEMISTRY - var/list/chemical_reactions = list() - var/list/chemical_reagents = list() - -/datum/controller/subsystem/processing/chemistry/Recover() - chemical_reactions = SSchemistry.chemical_reactions - chemical_reagents = SSchemistry.chemical_reagents - -/datum/controller/subsystem/processing/chemistry/Initialize() - initialize_chemical_reactions() - initialize_chemical_reagents() - -//Chemical Reactions - Initialises all /datum/chemical_reaction into a list -// It is filtered into multiple lists within a list. -// For example: -// chemical_reaction_list["phoron"] is a list of all reactions relating to phoron -// Note that entries in the list are NOT duplicated. So if a reaction pertains to -// more than one chemical it will still only appear in only one of the sublists. -/datum/controller/subsystem/processing/chemistry/proc/initialize_chemical_reactions() - var/paths = typesof(/datum/chemical_reaction) - /datum/chemical_reaction - SSchemistry.chemical_reactions = list() - - for(var/path in paths) - var/datum/chemical_reaction/D = new path() - if(D.required_reagents && D.required_reagents.len) - var/reagent_id = D.required_reagents[1] - if(!chemical_reactions[reagent_id]) - chemical_reactions[reagent_id] = list() - chemical_reactions[reagent_id] += D - -//Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id -/datum/controller/subsystem/processing/chemistry/proc/initialize_chemical_reagents() - var/paths = typesof(/datum/reagent) - /datum/reagent - chemical_reagents = list() - for(var/path in paths) - var/datum/reagent/D = new path() - if(!D.name) - continue - chemical_reagents[D.id] = D diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index 7e2e1a42e3..4153900657 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -102,6 +102,8 @@ options["LEGACY: gas_data"] = gas_data options["LEGACY: plant_controller"] = plant_controller options["LEGACY: alarm_manager"] = alarm_manager + options["LEGACY: nanomanager"] = GLOB.nanomanager + options["LEGACY: chemistryProcess"] = chemistryProcess var/pick = input(mob, "Choose a controller to debug/view variables of.", "VV controller:") as null|anything in options if(!pick) diff --git a/code/datums/datum.dm b/code/datums/datum.dm index 61eb4c6953..2ec99d81d4 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -31,5 +31,5 @@ weakref = null // Clear this reference to ensure it's kept for as brief duration as possible. tag = null - SSnanoui.close_uis(src) + GLOB.nanomanager.close_uis(src) return QDEL_HINT_QUEUE diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 67cf23a3cb..fdca613460 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -85,7 +85,7 @@ current.verbs -= /datum/changeling/proc/EvolutionMenu current.mind = null - SSnanoui.user_transferred(current, new_character) // transfer active NanoUI instances to new user + GLOB.nanomanager.user_transferred(current, new_character) // transfer active NanoUI instances to new user if(new_character.mind) //remove any mind currently in our new body's mind variable new_character.mind.current = null diff --git a/code/datums/wires/radio.dm b/code/datums/wires/radio.dm index d059a0b091..dcd708c5f6 100644 --- a/code/datums/wires/radio.dm +++ b/code/datums/wires/radio.dm @@ -24,7 +24,7 @@ var/const/WIRE_TRANSMIT = 4 if(WIRE_TRANSMIT) R.broadcasting = !R.broadcasting && !IsIndexCut(WIRE_SIGNAL) - SSnanoui.update_uis(holder) + GLOB.nanomanager.update_uis(holder) /datum/wires/radio/UpdateCut(var/index, var/mended) var/obj/item/device/radio/R = holder @@ -38,4 +38,4 @@ var/const/WIRE_TRANSMIT = 4 if(WIRE_TRANSMIT) R.broadcasting = mended && !IsIndexCut(WIRE_SIGNAL) - SSnanoui.update_uis(holder) + GLOB.nanomanager.update_uis(holder) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 998b712828..623ccc11a3 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -270,7 +270,7 @@ I.loc = src src.disk = I user << "You insert [I]." - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src return else ..() @@ -428,7 +428,7 @@ data["beakerVolume"] += R.volume // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm @@ -465,7 +465,7 @@ irradiating = src.radiation_duration var/lock_state = src.connected.locked src.connected.locked = 1//lock it - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src sleep(10*src.radiation_duration) // sleep for radiation_duration seconds @@ -566,7 +566,7 @@ irradiating = src.radiation_duration var/lock_state = src.connected.locked src.connected.locked = 1//lock it - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src sleep(10*src.radiation_duration) // sleep for radiation_duration seconds @@ -624,7 +624,7 @@ irradiating = src.radiation_duration var/lock_state = src.connected.locked src.connected.locked = 1 //lock it - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src sleep(10*src.radiation_duration) // sleep for radiation_duration seconds @@ -751,7 +751,7 @@ irradiating = 2 var/lock_state = src.connected.locked src.connected.locked = 1//lock it - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src sleep(10*2) // sleep for 2 seconds diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 57b05a8346..49a4b342ef 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -109,7 +109,7 @@ break data["stasis"] = stasis_level_name - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "sleeper.tmpl", "Sleeper UI", 600, 600, state = state) ui.set_initial_data(data) diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index c101202b38..2062f92db4 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -389,7 +389,7 @@ occupantData = attempt_vr(scanner,"get_occupant_data_vr",list(occupantData,H)) //VOREStation Insert data["occupant"] = occupantData - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "adv_med.tmpl", "Body Scanner", 690, 800) ui.set_initial_data(data) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index e74174d921..1ce64f4aed 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -497,7 +497,7 @@ if(!(locked && !remote_connection) || remote_access || issilicon(user)) populate_controls(data) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "air_alarm.tmpl", name, 325, 625, master_ui = master_ui, state = state) ui.set_initial_data(data) diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index c18d2b9e93..839470f356 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -117,7 +117,7 @@ obj/machinery/computer/general_air_control/Destroy() data["sensors"] = sensors_ui - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "atmo_control.tmpl", name, 525, 600) ui.set_initial_data(data) @@ -174,7 +174,7 @@ obj/machinery/computer/general_air_control/Destroy() data["input_flow_setting"] = round(input_flow_setting, 0.1) data["pressure_setting"] = pressure_setting - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "atmo_control.tmpl", name, 660, 500) ui.set_initial_data(data) @@ -284,7 +284,7 @@ obj/machinery/computer/general_air_control/Destroy() data["input_flow_setting"] = round(input_flow_setting, 0.1) data["pressure_setting"] = pressure_setting - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "atmo_control.tmpl", name, 650, 500) ui.set_initial_data(data) @@ -416,7 +416,7 @@ obj/machinery/computer/general_air_control/Destroy() else data["device_info"] = null - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "atmo_control.tmpl", name, 650, 500) ui.set_initial_data(data) diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index ed23884103..21d3e81591 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -260,7 +260,7 @@ update_flag ..() - SSnanoui.update_uis(src) // Update all NanoUIs attached to src + GLOB.nanomanager.update_uis(src) // Update all NanoUIs attached to src /obj/machinery/portable_atmospherics/canister/attack_ai(var/mob/user as mob) return src.attack_hand(user) @@ -288,7 +288,7 @@ update_flag data["holdingTank"] = list("name" = holding.name, "tankPressure" = round(holding.air_contents.return_pressure())) // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/game/machinery/atmoalter/pump.dm b/code/game/machinery/atmoalter/pump.dm index 758c2a57cb..7e2c786734 100644 --- a/code/game/machinery/atmoalter/pump.dm +++ b/code/game/machinery/atmoalter/pump.dm @@ -138,7 +138,7 @@ if (holding) data["holdingTank"] = list("name" = holding.name, "tankPressure" = round(holding.air_contents.return_pressure() > 0 ? holding.air_contents.return_pressure() : 0)) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "portpump.tmpl", "Portable Pump", 480, 410, state = physical_state) ui.set_initial_data(data) diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 55afd7f35f..0a47342086 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -114,7 +114,7 @@ if (holding) data["holdingTank"] = list("name" = holding.name, "tankPressure" = round(holding.air_contents.return_pressure() > 0 ? holding.air_contents.return_pressure() : 0)) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "portscrubber.tmpl", "Portable Scrubber", 480, 400, state = physical_state) ui.set_initial_data(data) @@ -195,7 +195,7 @@ update_use_power(new_use_power) if(!on) return - + var/power_draw = -1 var/datum/gas_mixture/environment = loc.return_air() diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index d81070e1f2..ef1beeaac0 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -55,7 +55,7 @@ data["table"] = table data["victim"] = victim_ui - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "operating.tmpl", src.name, 380, 400) ui.set_initial_data(data) @@ -69,4 +69,4 @@ usr.set_machine(src) src.add_fingerprint(usr) - SSnanoui.update_uis(src) \ No newline at end of file + GLOB.nanomanager.update_uis(src) \ No newline at end of file diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 00d1623e5b..a1f9f227fc 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -140,7 +140,7 @@ data["enemyHP"] = enemy_hp data["gameOver"] = gameover - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "arcade_battle.tmpl", src.name, 400, 300) ui.set_initial_data(data) @@ -202,7 +202,7 @@ emagged = 0 src.add_fingerprint(usr) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) return /obj/machinery/computer/arcade/battle/proc/arcade_action() diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index e2b3fc4638..d757ae777d 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -37,7 +37,7 @@ var/global/list/minor_air_alarms = list() data["priority_alarms"] = major_alarms data["minor_alarms"] = minor_alarms - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "atmos_alert.tmpl", src.name, 500, 500) ui.set_initial_data(data) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 4ac34cf157..c05a886046 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -49,7 +49,7 @@ switch_to_camera(user, current_camera) data["map_levels"] = using_map.get_map_levels(src.z) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "sec_camera.tmpl", "Camera Console", 900, 800) @@ -152,7 +152,7 @@ /obj/machinery/computer/security/process() if(cache_id != camera_repository.camera_cache_id) cache_id = camera_repository.camera_cache_id - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/computer/security/proc/can_access_camera(var/obj/machinery/camera/C) var/list/shared_networks = src.network & C.network diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 42a418c7ad..9f43bd077e 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -68,7 +68,7 @@ id_card.forceMove(src) modify = id_card - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) attack_hand(user) /obj/machinery/computer/card/attack_ai(var/mob/user as mob) @@ -139,7 +139,7 @@ data["regions"] = regions - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "identification_computer.tmpl", src.name, 600, 700) ui.set_initial_data(data) @@ -235,7 +235,7 @@ modify.registered_name = temp_name else src.visible_message("[src] buzzes rudely.") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if ("account") if (is_authenticated()) @@ -243,7 +243,7 @@ if ((modify == t2 && (in_range(src, usr) || (istype(usr, /mob/living/silicon))) && istype(loc, /turf))) var/account_num = text2num(href_list["account"]) modify.associated_account_number = account_num - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if ("mode") mode = text2num(href_list["mode_target"]) @@ -253,7 +253,7 @@ printing = 1 spawn(50) printing = null - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) var/obj/item/weapon/paper/P = new(loc) if (mode) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 96e6f6b5f9..44a1f69945 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -146,7 +146,7 @@ data["diskette"] = diskette data["temp"] = temp - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "cloning.tmpl", src.name, 400, 450) ui.set_initial_data(data) @@ -284,7 +284,7 @@ temp = "" scantemp = "" - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) add_fingerprint(usr) /obj/machinery/computer/cloning/proc/scan_mob(mob/living/carbon/human/subject as mob) diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index a1fd7199b2..eaea426c07 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -104,7 +104,7 @@ if(!giver && user.unEquip(I)) I.forceMove(src) giver = I - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) else if(giver) user << "There is already ID card inside." return @@ -150,7 +150,7 @@ data["log"] = internal_log data["uid"] = uid - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "guest_pass.tmpl", src.name, 400, 520) ui.set_initial_data(data) @@ -242,4 +242,4 @@ usr << "Cannot issue pass without issuing ID." src.add_fingerprint(usr) - SSnanoui.update_uis(src) \ No newline at end of file + GLOB.nanomanager.update_uis(src) \ No newline at end of file diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 3e06e19e52..c6c2c94a9e 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -19,7 +19,7 @@ data["is_ai"] = issilicon(user) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "robot_control.tmpl", "Robotic Control Console", 400, 500) ui.set_initial_data(data) diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index 6170b302a2..f4a68b12d5 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -171,7 +171,7 @@ data["contraband"] = can_order_contraband || (authorization & SUP_CONTRABAND) // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/game/machinery/computer/timeclock_vr.dm b/code/game/machinery/computer/timeclock_vr.dm index caeecb2e27..8e49a138e3 100644 --- a/code/game/machinery/computer/timeclock_vr.dm +++ b/code/game/machinery/computer/timeclock_vr.dm @@ -48,7 +48,7 @@ if(!card && user.unEquip(I)) I.forceMove(src) card = I - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) update_icon() else if(card) to_chat(user, "There is already ID card inside.") @@ -88,7 +88,7 @@ // if(job && job.timeoff_factor < 0) // Currently are Off Duty, so gotta lookup what on-duty jobs are open // data["job_choices"] = getOpenOnDutyJobs(user, job.department) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "timeclock_vr.tmpl", capitalize(src.name), 500, 520) ui.set_initial_data(data) diff --git a/code/game/machinery/computer3/lapvend.dm b/code/game/machinery/computer3/lapvend.dm index 7c4e458832..79f297157c 100644 --- a/code/game/machinery/computer3/lapvend.dm +++ b/code/game/machinery/computer3/lapvend.dm @@ -34,11 +34,11 @@ if(vendmode == 1 && I) scan_id(I, W) vendmode = 0 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(vendmode == 2 && I) if(reimburse_id(I, W)) vendmode = 0 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(vendmode == 0) if(istype(W, /obj/item/device/laptop)) var/obj/item/device/laptop/L = W @@ -48,7 +48,7 @@ L.loc = src vendmode = 2 to_chat(user, "You slot your [L.name] into \The [src.name]") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) else ..() @@ -77,7 +77,7 @@ data["power"] = power data["total"] = total() - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "laptop_vendor.tmpl", src.name, 480, 425) ui.set_initial_data(data) @@ -136,7 +136,7 @@ vendmode = 0 src.add_fingerprint(usr) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/lapvend/proc/vend() if(cardreader > 0) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index b4927f441c..31942366a9 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -141,7 +141,7 @@ data["beakerVolume"] += R.volume // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm @@ -205,7 +205,7 @@ var/mob/M = grab.affecting qdel(grab) put_mob(M) - + return /obj/machinery/atmospherics/unary/cryo_cell/MouseDrop_T(var/mob/target, var/mob/user) //Allows borgs to put people into cryo without external assistance diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index c31c8f650b..0dff930291 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -746,7 +746,7 @@ About the new airlock wires panel: data["commands"] = commands - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "door_control.tmpl", "Door Controls", 450, 350, state = state) ui.set_initial_data(data) diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm index 0f8b797289..11893fa5ca 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers.dm @@ -33,7 +33,7 @@ "secure" = program.memory["secure"] ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "advanced_airlock_console.tmpl", name, 470, 290) @@ -89,7 +89,7 @@ "processing" = program.memory["processing"], ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "simple_airlock_console.tmpl", name, 470, 290) @@ -153,7 +153,7 @@ "processing" = program.memory["processing"] ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "door_access_console.tmpl", name, 330, 220) diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller.dm b/code/game/machinery/embedded_controller/airlock_docking_controller.dm index e88b046c10..fa7d5dfa04 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller.dm @@ -24,7 +24,7 @@ "override_enabled" = docking_program.override_enabled, ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "docking_airlock_console.tmpl", name, 470, 290) diff --git a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm index 5614d0be63..bdce39de14 100644 --- a/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm +++ b/code/game/machinery/embedded_controller/airlock_docking_controller_multi.dm @@ -35,7 +35,7 @@ "airlocks" = airlocks, ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "multi_docking_console.tmpl", name, 470, 290) @@ -73,7 +73,7 @@ "override_enabled" = airlock_program.override_enabled, ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "docking_airlock_console.tmpl", name, 470, 290) diff --git a/code/game/machinery/embedded_controller/simple_docking_controller.dm b/code/game/machinery/embedded_controller/simple_docking_controller.dm index 14b27b2512..8e5c941bbf 100644 --- a/code/game/machinery/embedded_controller/simple_docking_controller.dm +++ b/code/game/machinery/embedded_controller/simple_docking_controller.dm @@ -19,7 +19,7 @@ "door_lock" = docking_program.memory["door_status"]["lock"], ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "simple_docking_console.tmpl", name, 470, 290) diff --git a/code/game/machinery/exonet_node.dm b/code/game/machinery/exonet_node.dm index fbfbc04abf..fee3fbd0ec 100644 --- a/code/game/machinery/exonet_node.dm +++ b/code/game/machinery/exonet_node.dm @@ -123,7 +123,7 @@ // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm @@ -167,7 +167,7 @@ log_game(msg) update_icon() - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) add_fingerprint(usr) // Proc: get_exonet_node() diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index 475f22a7d7..b952f678bb 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -265,7 +265,7 @@ data["tracks"] = nano_tracks // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "jukebox.tmpl", title, 450, 600) ui.set_initial_data(data) diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm index 74cc399beb..0720b03b26 100644 --- a/code/game/machinery/oxygen_pump.dm +++ b/code/game/machinery/oxygen_pump.dm @@ -202,7 +202,7 @@ // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/game/machinery/partslathe_vr.dm b/code/game/machinery/partslathe_vr.dm index d2d9079ab1..736474f453 100644 --- a/code/game/machinery/partslathe_vr.dm +++ b/code/game/machinery/partslathe_vr.dm @@ -280,7 +280,7 @@ recipies_ui[++recipies_ui.len] = list("name" = R.name, "type" = "[T]") data["recipies"] = recipies_ui - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "partslathe.tmpl", "Parts Lathe UI", 500, 450) ui.set_initial_data(data) diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 948ef595c8..b044cc4c90 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -327,7 +327,7 @@ settings[++settings.len] = list("category" = "Neutralize All Entities", "setting" = "check_all", "value" = check_all) data["settings"] = settings - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "turret_control.tmpl", "Turret Controls", 500, 300) ui.set_initial_data(data) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 42c2cda3f9..5c81cfe31f 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -127,7 +127,7 @@ var/list/obj/machinery/requests_console/allConsoles = list() data["msgVerified"] = msgVerified data["announceAuth"] = announceAuth - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "request_console.tmpl", "[department] Request Console", 520, 410) ui.set_initial_data(data) diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 4319e11127..c1911d6a05 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -137,7 +137,7 @@ data["settings"] = settings - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "turret_control.tmpl", "Turret Controls", 500, 300) ui.set_initial_data(data) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index eb42741da6..9b67c1ba85 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -169,7 +169,7 @@ vend(currently_vending, usr) return else if(handled) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) return // don't smack that machine with your 2 thalers if(I || istype(W, /obj/item/weapon/spacecash)) @@ -183,7 +183,7 @@ if(panel_open) overlays += image(icon, "[initial(icon_state)]-panel") - SSnanoui.update_uis(src) // Speaker switch is on the main UI, not wires UI + GLOB.nanomanager.update_uis(src) // Speaker switch is on the main UI, not wires UI return else if(istype(W, /obj/item/device/multitool) || W.is_wirecutter()) if(panel_open) @@ -195,7 +195,7 @@ coin = W categories |= CAT_COIN to_chat(user, "You insert \the [W] into \the [src].") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) return else if(W.is_wrench()) playsound(src, W.usesound, 100, 1) @@ -399,7 +399,7 @@ else data["panel"] = 0 - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "vending_machine.tmpl", name, 440, 600) ui.set_initial_data(data) @@ -459,7 +459,7 @@ shut_up = !shut_up add_fingerprint(usr) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/vending/proc/vend(datum/stored_item/vending_product/R, mob/user) if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH @@ -470,7 +470,7 @@ vend_ready = 0 //One thing at a time!! status_message = "Vending..." status_error = 0 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(R.category & CAT_COIN) if(!coin) @@ -512,7 +512,7 @@ status_error = 0 vend_ready = 1 currently_vending = null - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) return 1 @@ -568,7 +568,7 @@ if(has_logs) do_logging(R, user) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/vending/process() if(stat & (BROKEN|NOPOWER)) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index e4818d0c79..5a80ed7cc3 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -103,7 +103,7 @@ if(current) data["builtperc"] = round((progress / current.time) * 100) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "mechfab.tmpl", "Exosuit Fabricator UI", 800, 600) ui.set_initial_data(data) diff --git a/code/game/mecha/mech_prosthetics.dm b/code/game/mecha/mech_prosthetics.dm index e40db24878..c77bf27a92 100644 --- a/code/game/mecha/mech_prosthetics.dm +++ b/code/game/mecha/mech_prosthetics.dm @@ -113,7 +113,7 @@ if(current) data["builtperc"] = round((progress / current.time) * 100) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "mechfab.tmpl", "Prosthetics Fab UI", 800, 600) ui.set_initial_data(data) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index c2a77936c4..14c341ce34 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -467,7 +467,7 @@ var/global/list/obj/item/device/pda/PDAs = list() /obj/item/device/pda/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) ui_tick++ - var/datum/nanoui/old_ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/old_ui = GLOB.nanomanager.get_open_ui(user, src, "main") var/auto_update = 1 if(mode in no_auto_update) auto_update = 0 @@ -647,7 +647,7 @@ var/global/list/obj/item/device/pda/PDAs = list() nanoUI = data // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one @@ -685,7 +685,7 @@ var/global/list/obj/item/device/pda/PDAs = list() ..() var/mob/user = usr - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(user, src, "main") var/mob/living/U = usr //Looking for master was kind of pointless since PDAs don't appear to have one. //if ((src in U.contents) || ( istype(loc, /turf) && in_range(src, U) ) ) @@ -1130,7 +1130,7 @@ var/global/list/obj/item/device/pda/PDAs = list() ai.show_message("Intercepted message from [who]: [t]") P.new_message_from_pda(src, t) - SSnanoui.update_user_uis(U, src) // Update the sending user's PDA UI so that they can see the new message + GLOB.nanomanager.update_user_uis(U, src) // Update the sending user's PDA UI so that they can see the new message else to_chat(U, "ERROR: Messaging server is not responding.") @@ -1150,7 +1150,7 @@ var/global/list/obj/item/device/pda/PDAs = list() if(L) if(reception_message) L << reception_message - SSnanoui.update_user_uis(L, src) // Update the receiving user's PDA UI so that they can see the new message + GLOB.nanomanager.update_user_uis(L, src) // Update the receiving user's PDA UI so that they can see the new message /obj/item/device/pda/proc/new_news(var/message) new_info(news_silent, newstone, news_silent ? "" : "\icon[src] [message]") @@ -1196,7 +1196,7 @@ var/global/list/obj/item/device/pda/PDAs = list() if(can_use(usr)) mode = 0 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) to_chat(usr, "You press the reset button on \the [src].") else to_chat(usr, "You cannot do this while restrained.") @@ -1297,7 +1297,7 @@ var/global/list/obj/item/device/pda/PDAs = list() user.drop_item() cartridge.loc = src to_chat(usr, "You insert [cartridge] into [src].") - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src if(cartridge.radio) cartridge.radio.hostpda = src @@ -1325,7 +1325,7 @@ var/global/list/obj/item/device/pda/PDAs = list() C.loc = src pai = C to_chat(user, "You slot \the [C] into \the [src].") - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src else if(istype(C, /obj/item/weapon/pen)) var/obj/item/weapon/pen/O = locate() in src if(O) diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 181764d126..d700008220 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -43,7 +43,7 @@ data["laws"] = laws data["has_laws"] = laws.len - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "aicard.tmpl", "[name]", 600, 400, state = state) ui.set_initial_data(data) diff --git a/code/game/objects/items/devices/communicator/UI.dm b/code/game/objects/items/devices/communicator/UI.dm index 69f5bd0d4b..d414232a80 100644 --- a/code/game/objects/items/devices/communicator/UI.dm +++ b/code/game/objects/items/devices/communicator/UI.dm @@ -125,7 +125,7 @@ // The value element is the actual data, and can take any form necessary for the template // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm @@ -261,7 +261,7 @@ notehtml = note if(href_list["switch_template"]) - var/datum/nanoui/ui = SSnanoui.get_open_ui(usr, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(usr, src, "main") if(ui) ui.add_template("Body", href_list["switch_template"]) @@ -276,5 +276,5 @@ if(href_list["cartridge_topic"] && cartridge) // Has to have a cartridge to perform these functions cartridge.Topic(href, href_list) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) add_fingerprint(usr) diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm index b9a8eff8a4..6324af7fb5 100644 --- a/code/game/objects/items/devices/communicator/communicator.dm +++ b/code/game/objects/items/devices/communicator/communicator.dm @@ -234,7 +234,7 @@ var/global/list/obj/item/device/communicator/all_communicators = list() cartridge.forceMove(src) to_chat(usr, "You slot \the [cartridge] into \the [src].") modules[++modules.len] = list("module" = "External Device", "icon" = "external64", "number" = EXTRTAB) - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src return // Proc: attack_self() diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 971eb26a46..579e65787b 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -121,7 +121,7 @@ var/global/list/default_medbay_channels = list( if(syndie) data["useSyndMode"] = 1 - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "radio_basic.tmpl", "[name]", 400, 430) ui.set_initial_data(data) @@ -232,7 +232,7 @@ var/global/list/default_medbay_channels = list( return 1 if(.) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/item/device/radio/proc/autosay(var/message, var/from, var/channel) //BS12 EDIT var/datum/radio_frequency/connection = null @@ -724,7 +724,7 @@ var/global/list/default_medbay_channels = list( . = 1 if(.) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/item/device/radio/borg/interact(mob/user as mob) if(!on) @@ -753,7 +753,7 @@ var/global/list/default_medbay_channels = list( data["has_subspace"] = 1 data["subspace"] = subspace_transmission - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "radio_basic.tmpl", "[name]", 400, 430) ui.set_initial_data(data) diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm index ccd339e180..8abc2eabc2 100644 --- a/code/game/objects/items/devices/transfer_valve.dm +++ b/code/game/objects/items/devices/transfer_valve.dm @@ -37,7 +37,7 @@ log_game("[key_name_admin(user)] attached both tanks to a transfer valve.") update_icon() - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src //TODO: Have this take an assemblyholder else if(isassembly(item)) var/obj/item/device/assembly/A = item @@ -58,7 +58,7 @@ message_admins("[key_name_admin(user)] attached a [item] to a transfer valve. (JMP)") log_game("[key_name_admin(user)] attached a [item] to a transfer valve.") attacher = user - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src return @@ -81,7 +81,7 @@ data["valveOpen"] = valve_open ? 1 : 0 // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm index ea7006a73b..0bdb5a6b72 100644 --- a/code/game/objects/items/devices/uplink.dm +++ b/code/game/objects/items/devices/uplink.dm @@ -72,7 +72,7 @@ discount_amount = pick(90;0.9, 80;0.8, 70;0.7, 60;0.6, 50;0.5, 40;0.4, 30;0.3, 20;0.2, 10;0.1) next_offer_time = world.time + offer_time update_nano_data() - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) // Toggles the uplink on and off. Normally this will bypass the item's normal functions and go to the uplink menu, if activated. /obj/item/device/uplink/hidden/proc/toggle() @@ -110,7 +110,7 @@ data += nanoui_data // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // No auto-refresh ui = new(user, src, ui_key, "uplink.tmpl", title, 450, 600, state = inventory_state) data["menu"] = 0 @@ -138,7 +138,7 @@ UI.buy(src, usr) else if(href_list["lock"]) toggle() - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(user, src, "main") ui.close() else if(href_list["return"]) nanoui_menu = round(nanoui_menu/10) diff --git a/code/game/objects/items/weapons/id cards/syndicate_ids.dm b/code/game/objects/items/weapons/id cards/syndicate_ids.dm index bbf05718fc..e1ceb489dd 100644 --- a/code/game/objects/items/weapons/id cards/syndicate_ids.dm +++ b/code/game/objects/items/weapons/id cards/syndicate_ids.dm @@ -58,7 +58,7 @@ data["electronic_warfare"] = electronic_warfare data["entries"] = entries - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "agent_id_card.tmpl", "Fake ID", 600, 400) ui.set_initial_data(data) @@ -185,7 +185,7 @@ . = 1 // Always update the UI, or buttons will spin indefinitely - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /var/global/list/id_card_states /proc/id_card_states() diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index fb7a9accd4..0962eef6f3 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -263,7 +263,7 @@ var/list/global/tank_gauge_cache = list() data["maskConnected"] = 1 // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 8ff7ee844f..5f051a4e78 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -102,7 +102,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart) data["replacer"] = myreplacer ? capitalize(myreplacer.name) : null data["signs"] = signs ? "[signs] sign\s" : null - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "janitorcart.tmpl", "Janitorial cart", 240, 160) ui.set_initial_data(data) diff --git a/code/global_init.dm b/code/global_init.dm index c562209183..6e3f13d506 100644 --- a/code/global_init.dm +++ b/code/global_init.dm @@ -18,6 +18,8 @@ var/global/datum/global_init/init = new () makeDatumRefLists() load_configuration() + initialize_chemical_reagents() + initialize_chemical_reactions() initialize_integrated_circuits_list() qdel(src) //we're done diff --git a/code/modules/admin/view_variables/topic.dm b/code/modules/admin/view_variables/topic.dm index ce2c684c09..35cff902d8 100644 --- a/code/modules/admin/view_variables/topic.dm +++ b/code/modules/admin/view_variables/topic.dm @@ -448,7 +448,7 @@ usr << "This can only be done on mobs with clients" return - SSnanoui.send_resources(H.client) + GLOB.nanomanager.send_resources(H.client) usr << "Resource files sent" H << "Your NanoUI Resource files have been refreshed" diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index e13573e305..1ccf0d5c53 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -152,7 +152,7 @@ log_client_to_db() send_resources() - SSnanoui.send_resources(src) + GLOB.nanomanager.send_resources(src) if(!void) void = new() @@ -166,7 +166,7 @@ src.changes() hook_vr("client_new",list(src)) //VOREStation Code - + if(config.paranoia_logging) if(isnum(player_age) && player_age == 0) log_and_message_admins("PARANOIA: [key_name(src)] has connected here for the first time.") diff --git a/code/modules/clothing/glasses/hud_vr.dm b/code/modules/clothing/glasses/hud_vr.dm index dfdd02c461..1863ec3c14 100644 --- a/code/modules/clothing/glasses/hud_vr.dm +++ b/code/modules/clothing/glasses/hud_vr.dm @@ -23,7 +23,7 @@ /obj/item/clothing/glasses/omnihud/dropped() if(arscreen) - SSnanoui.close_uis(src) + GLOB.nanomanager.close_uis(src) ..() /obj/item/clothing/glasses/omnihud/emp_act(var/severity) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index a7c3287133..1130e1e19d 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -616,7 +616,7 @@ if(module_list.len) data["modules"] = module_list - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, ((src.loc != user) ? ai_interface_path : interface_path), interface_title, 480, 550, state = nano_state) ui.set_initial_data(data) diff --git a/code/modules/detectivework/microscope/dnascanner.dm b/code/modules/detectivework/microscope/dnascanner.dm index 413fe14d01..d45555f40d 100644 --- a/code/modules/detectivework/microscope/dnascanner.dm +++ b/code/modules/detectivework/microscope/dnascanner.dm @@ -61,7 +61,7 @@ data["bloodsamp_desc"] = (bloodsamp ? (bloodsamp.desc ? bloodsamp.desc : "No information on record.") : "") data["lidstate"] = closed - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data) if (!ui) ui = new(user, src, ui_key, "dnaforensics.tmpl", "QuikScan DNA Analyzer", 540, 326) ui.set_initial_data(data) diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index a293226d48..2d6676adec 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -53,7 +53,7 @@ O.loc = src held_card = O - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) attack_hand(user) @@ -107,7 +107,7 @@ if (accounts.len > 0) data["accounts"] = accounts - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "accounts_terminal.tmpl", src.name, 400, 640) ui.set_initial_data(data) @@ -117,7 +117,7 @@ if(..()) return 1 - var/datum/nanoui/ui = SSnanoui.get_open_ui(usr, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(usr, src, "main") if(href_list["choice"]) switch(href_list["choice"]) diff --git a/code/modules/events/supply_demand.dm b/code/modules/events/supply_demand.dm index 2d38c1f491..becec3b192 100644 --- a/code/modules/events/supply_demand.dm +++ b/code/modules/events/supply_demand.dm @@ -284,7 +284,7 @@ var/list/medicineReagents = list() for(var/path in typesof(/datum/chemical_reaction) - /datum/chemical_reaction) var/datum/chemical_reaction/CR = path // Stupid casting required for reading - var/datum/reagent/R = SSchemistry.chemical_reagents[initial(CR.result)] + var/datum/reagent/R = chemical_reagents_list[initial(CR.result)] if(R && R.scannable) medicineReagents += R for(var/i in 1 to differentTypes) @@ -298,7 +298,7 @@ var/list/drinkReagents = list() for(var/path in typesof(/datum/chemical_reaction) - /datum/chemical_reaction) var/datum/chemical_reaction/CR = path // Stupid casting required for reading - var/datum/reagent/R = SSchemistry.chemical_reagents[initial(CR.result)] + var/datum/reagent/R = chemical_reagents_list[initial(CR.result)] if(istype(R, /datum/reagent/drink) || istype(R, /datum/reagent/ethanol)) drinkReagents += R for(var/i in 1 to differentTypes) diff --git a/code/modules/food/kitchen/smartfridge.dm b/code/modules/food/kitchen/smartfridge.dm index 0213ef089b..d1b9381216 100644 --- a/code/modules/food/kitchen/smartfridge.dm +++ b/code/modules/food/kitchen/smartfridge.dm @@ -216,7 +216,7 @@ overlays.Cut() if(panel_open) overlays += image(icon, icon_panel) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) return if(wrenchable && default_unfasten_wrench(user, O, 20)) @@ -282,11 +282,11 @@ var/datum/stored_item/item = new/datum/stored_item(src, O.type, O.name) item.add_product(O) item_records.Add(item) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/smartfridge/proc/vend(datum/stored_item/I) I.get_product(get_turf(src)) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/smartfridge/attack_ai(mob/user as mob) attack_hand(user) @@ -321,7 +321,7 @@ if(items.len > 0) data["contents"] = items - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "smartfridge.tmpl", src.name, 400, 500) ui.set_initial_data(data) @@ -331,7 +331,7 @@ if(..()) return 0 var/mob/user = usr - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(user, src, "main") src.add_fingerprint(user) diff --git a/code/modules/food/recipe_dump.dm b/code/modules/food/recipe_dump.dm index a458a568cf..19f7988826 100644 --- a/code/modules/food/recipe_dump.dm +++ b/code/modules/food/recipe_dump.dm @@ -68,14 +68,14 @@ //Reagents can be resolved to nicer names as well for(var/Rp in food_recipes) for(var/rid in food_recipes[Rp]["Reagents"]) - var/datum/reagent/Rd = SSchemistry.chemical_reagents[rid] + var/datum/reagent/Rd = chemical_reagents_list[rid] var/R_name = Rd.name var/amt = food_recipes[Rp]["Reagents"][rid] food_recipes[Rp]["Reagents"] -= rid food_recipes[Rp]["Reagents"][R_name] = amt for(var/Rp in drink_recipes) for(var/rid in drink_recipes[Rp]["Reagents"]) - var/datum/reagent/Rd = SSchemistry.chemical_reagents[rid] + var/datum/reagent/Rd = chemical_reagents_list[rid] var/R_name = Rd.name var/amt = drink_recipes[Rp]["Reagents"][rid] drink_recipes[Rp]["Reagents"] -= rid diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index 4cce81a2a6..ee33b66cba 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -112,7 +112,7 @@ else data["gravity"] = null - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "holodeck.tmpl", src.name, 400, 550) ui.set_initial_data(data) @@ -152,7 +152,7 @@ src.add_fingerprint(usr) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/computer/HolodeckControl/emag_act(var/remaining_charges, var/mob/user as mob) playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 9ed2d836a6..0118088b27 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -437,7 +437,7 @@ for(var/x=1;x<=additional_chems;x++) - var/new_chem = pick(SSchemistry.chemical_reagents) + var/new_chem = pick(chemical_reagents_list) if(new_chem in banned_chems) continue banned_chems += new_chem diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm index 4601f23484..8d7ebdf314 100644 --- a/code/modules/hydroponics/seed_machines.dm +++ b/code/modules/hydroponics/seed_machines.dm @@ -162,7 +162,7 @@ data["hasGenetics"] = 0 data["sourceName"] = 0 - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "botany_isolator.tmpl", "Lysis-isolation Centrifuge UI", 470, 450) ui.set_initial_data(data) @@ -292,7 +292,7 @@ else data["loaded"] = 0 - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "botany_editor.tmpl", "Bioballistic Delivery UI", 470, 450) ui.set_initial_data(data) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index ac2417a077..1b3720dc33 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -201,7 +201,7 @@ medicalActive1 = null medicalActive2 = null medical_cannotfind = 0 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) usr << "You reset your record-viewing software." /mob/living/silicon/pai/cancel_camera() diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm index 85d98c1663..bef2c93403 100644 --- a/code/modules/mob/living/silicon/pai/software.dm +++ b/code/modules/mob/living/silicon/pai/software.dm @@ -90,7 +90,7 @@ var/global/list/default_pai_software = list() data["emotions"] = emotions data["current_emotion"] = card.current_emotion - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "pai_interface.tmpl", "pAI Software Interface", 450, 600) ui.set_initial_data(data) diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index dad52893cf..480c3b63bb 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -36,7 +36,7 @@ data["prime"] = user.pai_law0 data["supplemental"] = user.pai_laws - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_directives.tmpl", "pAI Directives", 450, 600) @@ -102,7 +102,7 @@ data["channels"] = channels - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) ui = new(user, user, id, "pai_radio.tmpl", "Radio Configuration", 300, 150) ui.set_initial_data(data) @@ -128,7 +128,7 @@ // This is dumb, but NanoUI breaks if it has no data to send data["manifest"] = PDA_Manifest - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "crew_manifest.tmpl", "Crew Manifest", 450, 600) @@ -178,7 +178,7 @@ data["messages"] = messages - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_messenger.tmpl", "Digital Messenger", 450, 600) @@ -236,7 +236,7 @@ data["medical"] = M ? M.fields : null data["could_not_find"] = user.medical_cannotfind - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_medrecords.tmpl", "Medical Records", 450, 600) @@ -290,7 +290,7 @@ data["security"] = S ? S.fields : null data["could_not_find"] = user.security_cannotfind - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_secrecords.tmpl", "Security Records", 450, 600) @@ -340,7 +340,7 @@ data["progress_b"] = user.hackprogress % 10 data["aborted"] = user.hack_aborted - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_doorjack.tmpl", "Door Jack", 300, 150) @@ -431,7 +431,7 @@ gases[++gases.len] = gas data["gas"] = gases - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_atmosphere.tmpl", "Atmosphere Sensor", 350, 300) @@ -505,7 +505,7 @@ data["frequency"] = format_frequency(user.sradio.frequency) data["code"] = user.sradio.code - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_signaller.tmpl", "Signaller", 320, 150) diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm index 750f043f33..419ec99a26 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm @@ -184,12 +184,12 @@ dat += "

Injector

" if(patient)// && patient.health > min_health) //Not necessary, leave the buttons on, but the feedback during injection will give more information. for(var/re in injection_chems) - var/datum/reagent/C = SSchemistry.chemical_reagents[re] + var/datum/reagent/C = chemical_reagents_list[re] if(C) dat += "Inject [C.name]
" else for(var/re in injection_chems) - var/datum/reagent/C = SSchemistry.chemical_reagents[re] + var/datum/reagent/C = chemical_reagents_list[re] if(C) dat += "Inject [C.name]
" @@ -393,7 +393,7 @@ patient.reagents.add_reagent(chem, inject_amount) drain(750) //-750 charge per injection var/units = round(patient.reagents.get_reagent_amount(chem)) - to_chat(hound, "Injecting [units] unit\s of [SSchemistry.chemical_reagents[chem]] into occupant.") //If they were immersed, the reagents wouldn't leave with them. + to_chat(hound, "Injecting [units] unit\s of [chemical_reagents_list[chem]] into occupant.") //If they were immersed, the reagents wouldn't leave with them. //For if the dogborg's existing patient uh, doesn't make it. /obj/item/device/dogborg/sleeper/proc/update_patient() diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index 6ad5f542a3..6f26f5f519 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -1,5 +1,5 @@ /mob/Logout() - SSnanoui.user_logout(src) // this is used to clean up (remove) this user's Nano UIs + GLOB.nanomanager.user_logout(src) // this is used to clean up (remove) this user's Nano UIs player_list -= src update_client_z(null) log_access_out(src) diff --git a/code/modules/nano/interaction/remote.dm b/code/modules/nano/interaction/remote.dm index 8e6ded6c84..2e18386bde 100644 --- a/code/modules/nano/interaction/remote.dm +++ b/code/modules/nano/interaction/remote.dm @@ -18,7 +18,7 @@ src.remoter_state = null // Force an UI update before we go, ensuring that any windows we may have opened for the remote target closes. - SSnanoui.update_uis(remote_target.nano_container()) + GLOB.nanomanager.update_uis(remote_target.nano_container()) remote_target = null return ..() diff --git a/code/modules/nano/modules/alarm_monitor.dm b/code/modules/nano/modules/alarm_monitor.dm index ec43035ed8..c5a851bacc 100644 --- a/code/modules/nano/modules/alarm_monitor.dm +++ b/code/modules/nano/modules/alarm_monitor.dm @@ -80,7 +80,7 @@ "lost_sources" = lost_sources.len ? sanitize(english_list(lost_sources, nothing_text = "", and_text = ", ")) : "")) data["categories"] = categories - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "alarm_monitor.tmpl", "Alarm Monitoring Console", 800, 800, state = state) ui.set_initial_data(data) diff --git a/code/modules/nano/modules/atmos_control.dm b/code/modules/nano/modules/atmos_control.dm index 3924f65af7..c8c5e8b613 100644 --- a/code/modules/nano/modules/atmos_control.dm +++ b/code/modules/nano/modules/atmos_control.dm @@ -48,7 +48,7 @@ data["alarms"] = alarms data["map_levels"] = using_map.get_map_levels(T.z) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "atmos_control.tmpl", src.name, 625, 625, state = state) // adding a template with the key "mapContent" enables the map ui functionality diff --git a/code/modules/nano/modules/crew_monitor.dm b/code/modules/nano/modules/crew_monitor.dm index 319da90715..4a721ab709 100644 --- a/code/modules/nano/modules/crew_monitor.dm +++ b/code/modules/nano/modules/crew_monitor.dm @@ -25,7 +25,7 @@ for(var/z in (data["map_levels"] | T.z)) // Always show crew from the current Z even if we can't show a map data["crewmembers"] += crew_repository.health_data(z) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "crew_monitor.tmpl", "Crew Monitoring Computer", 900, 800, state = state) diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm index 3d790b1194..33203944a1 100644 --- a/code/modules/nano/modules/human_appearance.dm +++ b/code/modules/nano/modules/human_appearance.dm @@ -145,7 +145,7 @@ data["change_hair_color"] = can_change(APPEARANCE_HAIR_COLOR) data["change_facial_hair_color"] = can_change(APPEARANCE_FACIAL_HAIR_COLOR) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "appearance_changer.tmpl", "[src]", 800, 450, state = state) ui.set_initial_data(data) diff --git a/code/modules/nano/modules/law_manager.dm b/code/modules/nano/modules/law_manager.dm index da971a0f87..ae8473c8ce 100644 --- a/code/modules/nano/modules/law_manager.dm +++ b/code/modules/nano/modules/law_manager.dm @@ -176,7 +176,7 @@ data["channels"] = channels data["law_sets"] = package_multiple_laws(data["isAdmin"] ? admin_laws : player_laws) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "law_manager.tmpl", sanitize("[src] - [owner]"), 800, is_malf(user) ? 600 : 400, state = state) ui.set_initial_data(data) diff --git a/code/modules/nano/modules/power_monitor.dm b/code/modules/nano/modules/power_monitor.dm index ae5dc44f29..af1e155530 100644 --- a/code/modules/nano/modules/power_monitor.dm +++ b/code/modules/nano/modules/power_monitor.dm @@ -28,7 +28,7 @@ data["focus"] = focus.return_reading_data() data["map_levels"] = using_map.get_map_levels(T.z) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "power_monitor.tmpl", "Power Monitoring Console", 800, 500, state = state) // adding a template with the key "mapContent" enables the map ui functionality diff --git a/code/modules/nano/modules/rcon.dm b/code/modules/nano/modules/rcon.dm index 65c1acfe36..98a73964a4 100644 --- a/code/modules/nano/modules/rcon.dm +++ b/code/modules/nano/modules/rcon.dm @@ -38,7 +38,7 @@ data["hide_smes_details"] = hide_SMES_details data["hide_breakers"] = hide_breakers - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "rcon.tmpl", "RCON Console", 600, 400, state = state) ui.set_initial_data(data) diff --git a/code/modules/nano/nanomanager.dm b/code/modules/nano/nanomanager.dm index afa779895a..b1639f9194 100644 --- a/code/modules/nano/nanomanager.dm +++ b/code/modules/nano/nanomanager.dm @@ -1,3 +1,38 @@ +GLOBAL_DATUM_INIT(nanomanager, /datum/nanomanager, new) // NanoManager, the manager for Nano UIs. + +// This is the window/UI manager for Nano UI +// There should only ever be one (global) instance of nanomanger +/datum/nanomanager + // a list of current open /nanoui UIs, grouped by src_object and ui_key + var/open_uis[0] + // a list of current open /nanoui UIs, not grouped, for use in processing + var/list/processing_uis = list() + // a list of asset filenames which are to be sent to the client on user logon + var/list/asset_files = list() + + /** + * Create a new nanomanager instance. + * This proc generates a list of assets which are to be sent to each client on connect + * + * @return /nanomanager new nanomanager object + */ +/datum/nanomanager/New() + var/list/nano_asset_dirs = list(\ + "nano/css/",\ + "nano/images/",\ + "nano/js/",\ + "nano/templates/"\ + ) + + var/list/filenames = null + for (var/path in nano_asset_dirs) + filenames = flist(path) + for(var/filename in filenames) + if(copytext(filename, length(filename)) != "/") // filenames which end in "/" are actually directories, which we want to ignore + if(fexists(path + filename)) + asset_files.Add(fcopy_rsc(path + filename)) // add this file to asset_files for sending to clients when they connect + + return /** * Get an open /nanoui ui for the current user, src_object and ui_key and try to update it with data @@ -11,7 +46,7 @@ * * @return /nanoui Returns the found ui, for null if none exists */ -/datum/controller/subsystem/nanoui/proc/try_update_ui(var/mob/user, src_object, ui_key, var/datum/nanoui/ui, data, var/force_open = 0) +/datum/nanomanager/proc/try_update_ui(var/mob/user, src_object, ui_key, var/datum/nanoui/ui, data, var/force_open = 0) if (isnull(ui)) // no ui has been passed, so we'll search for one { ui = get_open_ui(user, src_object, ui_key) @@ -36,7 +71,7 @@ * * @return /nanoui Returns the found ui, or null if none exists */ -/datum/controller/subsystem/nanoui/proc/get_open_ui(var/mob/user, src_object, ui_key) +/datum/nanomanager/proc/get_open_ui(var/mob/user, src_object, ui_key) var/src_object_key = "\ref[src_object]" if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) //testing("nanomanager/get_open_ui mob [user.name] [src_object:name] [ui_key] - there are no uis open") @@ -59,7 +94,7 @@ * * @return int The number of uis updated */ -/datum/controller/subsystem/nanoui/proc/update_uis(src_object) +/datum/nanomanager/proc/update_uis(src_object) var/src_object_key = "\ref[src_object]" if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 @@ -79,7 +114,7 @@ * * @return int The number of uis close */ -/datum/controller/subsystem/nanoui/proc/close_uis(src_object) +/datum/nanomanager/proc/close_uis(src_object) var/src_object_key = "\ref[src_object]" if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 @@ -101,7 +136,7 @@ * * @return int The number of uis updated */ -/datum/controller/subsystem/nanoui/proc/update_user_uis(var/mob/user, src_object = null, ui_key = null) +/datum/nanomanager/proc/update_user_uis(var/mob/user, src_object = null, ui_key = null) if (isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) return 0 // has no open uis @@ -122,7 +157,7 @@ * * @return int The number of uis closed */ -/datum/controller/subsystem/nanoui/proc/close_user_uis(var/mob/user, src_object = null, ui_key = null) +/datum/nanomanager/proc/close_user_uis(var/mob/user, src_object = null, ui_key = null) if (isnull(user.open_uis) || !istype(user.open_uis, /list) || open_uis.len == 0) //testing("nanomanager/close_user_uis mob [user.name] has no open uis") return 0 // has no open uis @@ -145,7 +180,7 @@ * * @return nothing */ -/datum/controller/subsystem/nanoui/proc/ui_opened(var/datum/nanoui/ui) +/datum/nanomanager/proc/ui_opened(var/datum/nanoui/ui) var/src_object_key = "\ref[ui.src_object]" if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) open_uis[src_object_key] = list(ui.ui_key = list()) @@ -166,7 +201,7 @@ * * @return int 0 if no ui was removed, 1 if removed successfully */ -/datum/controller/subsystem/nanoui/proc/ui_closed(var/datum/nanoui/ui) +/datum/nanomanager/proc/ui_closed(var/datum/nanoui/ui) var/src_object_key = "\ref[ui.src_object]" if (isnull(open_uis[src_object_key]) || !istype(open_uis[src_object_key], /list)) return 0 // wasn't open @@ -193,7 +228,7 @@ */ // -/datum/controller/subsystem/nanoui/proc/user_logout(var/mob/user) +/datum/nanomanager/proc/user_logout(var/mob/user) //testing("nanomanager/user_logout user [user.name]") return close_user_uis(user) @@ -206,7 +241,7 @@ * * @return nothing */ -/datum/controller/subsystem/nanoui/proc/user_transferred(var/mob/oldMob, var/mob/newMob) +/datum/nanomanager/proc/user_transferred(var/mob/oldMob, var/mob/newMob) //testing("nanomanager/user_transferred from mob [oldMob.name] to mob [newMob.name]") if (!oldMob || isnull(oldMob.open_uis) || !istype(oldMob.open_uis, /list) || open_uis.len == 0) //testing("nanomanager/user_transferred mob [oldMob.name] has no open uis") @@ -232,7 +267,7 @@ * @return nothing */ -/datum/controller/subsystem/nanoui/proc/send_resources(client) +/datum/nanomanager/proc/send_resources(client) for(var/file in asset_files) client << browse_rsc(file) // send the file to the client diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm index 43f98e3361..4e4dd6af5b 100644 --- a/code/modules/nano/nanoui.dm +++ b/code/modules/nano/nanoui.dm @@ -412,7 +412,7 @@ nanoui is used to open and update nano browser uis winset(user, "mapwindow.map", "focus=true") // return keyboard focus to map on_close_winset() //onclose(user, window_id) - SSnanoui.ui_opened(src) + GLOB.nanomanager.ui_opened(src) /** * Reinitialise this UI, potentially with a different template and/or initial data @@ -433,7 +433,7 @@ nanoui is used to open and update nano browser uis */ /datum/nanoui/proc/close() is_auto_updating = 0 - SSnanoui.ui_closed(src) + GLOB.nanomanager.ui_closed(src) user << browse(null, "window=[window_id]") for(var/datum/nanoui/child in children) child.close() @@ -492,7 +492,7 @@ nanoui is used to open and update nano browser uis map_update = 1 if ((src_object && src_object.Topic(href, href_list, state)) || map_update) - SSnanoui.update_uis(src_object) // update all UIs attached to src_object + GLOB.nanomanager.update_uis(src_object) // update all UIs attached to src_object /** * Process this UI, updating the entire UI or just the status (aka visibility) diff --git a/code/modules/nifsoft/nif_softshop.dm b/code/modules/nifsoft/nif_softshop.dm index 818a53d38c..7c2990395d 100644 --- a/code/modules/nifsoft/nif_softshop.dm +++ b/code/modules/nifsoft/nif_softshop.dm @@ -167,7 +167,7 @@ shut_up = !shut_up add_fingerprint(usr) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) // Also special treatment! /obj/machinery/vending/nifsoft_shop/vend(datum/stored_item/vending_product/R, mob/user) @@ -179,7 +179,7 @@ vend_ready = 0 //One thing at a time!! status_message = "Installing..." status_error = 0 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(R.category & CAT_COIN) if(!coin) @@ -215,5 +215,5 @@ status_error = 0 vend_ready = 1 currently_vending = null - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) return 1 diff --git a/code/modules/overmap/ships/computers/engine_control.dm b/code/modules/overmap/ships/computers/engine_control.dm index 01920ee2e0..4316762671 100644 --- a/code/modules/overmap/ships/computers/engine_control.dm +++ b/code/modules/overmap/ships/computers/engine_control.dm @@ -52,7 +52,7 @@ data["engines_info"] = enginfo - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "engines_control.tmpl", "[linked.name] Engines Control", 380, 530) ui.set_initial_data(data) diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm index 0249fae482..e31560f9e3 100644 --- a/code/modules/overmap/ships/computers/helm.dm +++ b/code/modules/overmap/ships/computers/helm.dm @@ -104,7 +104,7 @@ data["locations"] = locations - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "helm.tmpl", "[linked.name] Helm Control", 380, 530) ui.set_initial_data(data) diff --git a/code/modules/overmap/ships/computers/shuttle.dm b/code/modules/overmap/ships/computers/shuttle.dm index 09bf47512d..8d6ecefcc7 100644 --- a/code/modules/overmap/ships/computers/shuttle.dm +++ b/code/modules/overmap/ships/computers/shuttle.dm @@ -103,7 +103,7 @@ "can_force" = can_go && shuttle.can_force(), ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "shuttle_control_console_exploration.tmpl", "[shuttle_tag] Shuttle Control", 470, 310) diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index add0d03d22..8a2940b90d 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -57,7 +57,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins data["cooldown"] = sendcooldown data["destination"] = destination - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "fax.tmpl", src.name, 500, 500) ui.set_initial_data(data) @@ -116,7 +116,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins if(href_list["logout"]) authenticated = 0 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/photocopier/faxmachine/proc/sendfax(var/destination) if(stat & (BROKEN|NOPOWER)) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 24ad752845..c5c087f7d8 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -50,7 +50,7 @@ else data["isSilicon"] = null - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "photocopier.tmpl", src.name, 300, 250) ui.set_initial_data(data) @@ -118,7 +118,7 @@ toner -= 5 sleep(15) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/photocopier/attackby(obj/item/O as obj, mob/user as mob) if(istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo) || istype(O, /obj/item/weapon/paper_bundle)) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 7b464f6f50..7aa085c198 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -822,7 +822,7 @@ ) // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 2eadfc520a..bb808a49e2 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -211,7 +211,7 @@ // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 5e4c2e6207..6563cb7fdb 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -327,7 +327,7 @@ - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "pacman.tmpl", src.name, 500, 560) ui.set_initial_data(data) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index ad76cb061f..2e97d735ba 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -328,7 +328,7 @@ data["outputting"] = 0 // smes is not outputting // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index e436497fc5..ebf59a2d40 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -333,7 +333,7 @@ data["ambient_pressure"] = round(env.return_pressure()) data["detonating"] = grav_pulling - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "supermatter_crystal.tmpl", "Supermatter Crystal", 500, 300) ui.set_initial_data(data) diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index 29a1db0e16..3b3de0b436 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -363,7 +363,7 @@ data["temp"] = compressor.gas_contained.temperature // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 2d906381d1..317bc9a3b5 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -12,24 +12,27 @@ my_atom = A //I dislike having these here but map-objects are initialised before world/New() is called. >_> - if(!SSchemistry.chemical_reagents) + if(!chemical_reagents_list) //Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id var/paths = typesof(/datum/reagent) - /datum/reagent - SSchemistry.chemical_reagents = list() + chemical_reagents_list = list() for(var/path in paths) var/datum/reagent/D = new path() if(!D.name) continue - SSchemistry.chemical_reagents[D.id] = D + chemical_reagents_list[D.id] = D /datum/reagents/Destroy() - STOP_PROCESSING(SSchemistry, src) + . = ..() + if(chemistryProcess) + chemistryProcess.active_holders -= src + for(var/datum/reagent/R in reagent_list) qdel(R) + reagent_list.Cut() reagent_list = null if(my_atom && my_atom.reagents == src) my_atom.reagents = null - return ..() /* Internal procs */ @@ -77,14 +80,15 @@ return /datum/reagents/proc/handle_reactions() - START_PROCESSING(SSchemistry, src) + if(chemistryProcess) + chemistryProcess.mark_for_update(src) //returns 1 if the holder should continue reactiong, 0 otherwise. -/datum/reagents/process() +/datum/reagents/proc/process_reactions() if(QDELETED(my_atom)) //No container, no reaction. - return PROCESS_KILL + return 0 if(my_atom.flags & NOREACT) // No reactions here - return PROCESS_KILL + return 0 var/reaction_occured var/list/effect_reactions = list() @@ -94,7 +98,7 @@ //need to rebuild this to account for chain reactions for(var/datum/reagent/R in reagent_list) - eligible_reactions |= SSchemistry.chemical_reactions[R.id] + eligible_reactions |= chemical_reactions_list[R.id] for(var/datum/chemical_reaction/C in eligible_reactions) if(C.can_happen(src) && C.process(src)) @@ -110,8 +114,7 @@ C.post_reaction(src) update_total() - if(!reaction_occured) - return PROCESS_KILL + return reaction_occured /* Holder-to-chemical */ @@ -133,7 +136,7 @@ if(my_atom) my_atom.on_reagent_change() return 1 - var/datum/reagent/D = SSchemistry.chemical_reagents[id] + var/datum/reagent/D = chemical_reagents_list[id] if(D) var/datum/reagent/R = new D.type() reagent_list += R diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index ee77c5e79e..825fd95fd4 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -134,7 +134,7 @@ data["bottleSpritesAmount"] = list(1, 2, 3, 4) //how many bottle sprites there are. Sprites are taken from chemical.dmi and can be found in nano/images/pill.png - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "chem_master.tmpl", src.name, 575, 400) ui.set_initial_data(data) @@ -282,7 +282,7 @@ else if(href_list["bottle_sprite"]) bottlesprite = href_list["bottle_sprite"] - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/chem_master/attack_ai(mob/user as mob) return src.attack_hand(user) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 21775ea17e..0def6cd614 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1,3 +1,12 @@ +//Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id +/proc/initialize_chemical_reagents() + var/paths = typesof(/datum/reagent) - /datum/reagent + chemical_reagents_list = list() + for(var/path in paths) + var/datum/reagent/D = new path() + if(!D.name) + continue + chemical_reagents_list[D.id] = D diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index c3a973402a..3c3bf869d7 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1,3 +1,22 @@ + +//Chemical Reactions - Initialises all /datum/chemical_reaction into a list +// It is filtered into multiple lists within a list. +// For example: +// chemical_reaction_list["phoron"] is a list of all reactions relating to phoron +// Note that entries in the list are NOT duplicated. So if a reaction pertains to +// more than one chemical it will still only appear in only one of the sublists. +/proc/initialize_chemical_reactions() + var/paths = typesof(/datum/chemical_reaction) - /datum/chemical_reaction + chemical_reactions_list = list() + + for(var/path in paths) + var/datum/chemical_reaction/D = new path() + if(D.required_reagents && D.required_reagents.len) + var/reagent_id = D.required_reagents[1] + if(!chemical_reactions_list[reagent_id]) + chemical_reactions_list[reagent_id] = list() + chemical_reactions_list[reagent_id] += D + //helper that ensures the reaction rate holds after iterating //Ex. REACTION_RATE(0.3) means that 30% of the reagents will react each chemistry tick (~2 seconds by default). #define REACTION_RATE(rate) (1.0 - (1.0-rate)**(1.0/PROCESS_REACTION_ITER)) diff --git a/code/modules/reagents/dispenser/cartridge.dm b/code/modules/reagents/dispenser/cartridge.dm index 70142fabd8..f73f6e4a71 100644 --- a/code/modules/reagents/dispenser/cartridge.dm +++ b/code/modules/reagents/dispenser/cartridge.dm @@ -18,7 +18,7 @@ . = ..() if(spawn_reagent) reagents.add_reagent(spawn_reagent, volume) - var/datum/reagent/R = SSchemistry.chemical_reagents[spawn_reagent] + var/datum/reagent/R = chemical_reagents_list[spawn_reagent] setLabel(R.name) /obj/item/weapon/reagent_containers/chem_disp_cartridge/examine(mob/user) diff --git a/code/modules/reagents/dispenser/cartridge_spawn.dm b/code/modules/reagents/dispenser/cartridge_spawn.dm index ba9b727047..730e191891 100644 --- a/code/modules/reagents/dispenser/cartridge_spawn.dm +++ b/code/modules/reagents/dispenser/cartridge_spawn.dm @@ -1,4 +1,4 @@ -/client/proc/spawn_chemdisp_cartridge(size in list("small", "medium", "large"), reagent in SSchemistry.chemical_reagents) +/client/proc/spawn_chemdisp_cartridge(size in list("small", "medium", "large"), reagent in chemical_reagents_list) set name = "Spawn Chemical Dispenser Cartridge" set category = "Admin" @@ -8,6 +8,6 @@ if("medium") C = new /obj/item/weapon/reagent_containers/chem_disp_cartridge/medium(usr.loc) if("large") C = new /obj/item/weapon/reagent_containers/chem_disp_cartridge(usr.loc) C.reagents.add_reagent(reagent, C.volume) - var/datum/reagent/R = SSchemistry.chemical_reagents[reagent] + var/datum/reagent/R = chemical_reagents_list[reagent] C.setLabel(R.name) log_admin("[key_name(usr)] spawned a [size] reagent container containing [reagent] at ([usr.x],[usr.y],[usr.z])") diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm index 38c6cf39da..a04db7d53b 100644 --- a/code/modules/reagents/dispenser/dispenser2.dm +++ b/code/modules/reagents/dispenser/dispenser2.dm @@ -55,12 +55,12 @@ C.loc = src cartridges[C.label] = C cartridges = sortAssoc(cartridges) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/chemical_dispenser/proc/remove_cartridge(label) . = cartridges[label] cartridges -= label - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/chemical_dispenser/attackby(obj/item/weapon/W, mob/user) if(W.is_wrench()) @@ -106,7 +106,7 @@ user.drop_from_inventory(RC) RC.loc = src to_chat(user, "You set \the [RC] on \the [src].") - SSnanoui.update_uis(src) // update all UIs attached to src + GLOB.nanomanager.update_uis(src) // update all UIs attached to src else return ..() @@ -140,7 +140,7 @@ data["chemicals"] = chemicals // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "chem_disp.tmpl", ui_title, 390, 680) ui.set_initial_data(data) diff --git a/code/modules/reagents/dispenser/dispenser2_energy.dm b/code/modules/reagents/dispenser/dispenser2_energy.dm index c889b2fe9d..f540811c11 100644 --- a/code/modules/reagents/dispenser/dispenser2_energy.dm +++ b/code/modules/reagents/dispenser/dispenser2_energy.dm @@ -13,7 +13,7 @@ process_tick = 15 . = 0 for(var/id in dispense_reagents) - var/datum/reagent/R = SSchemistry.chemical_reagents[id] + var/datum/reagent/R = chemical_reagents_list[id] if(!R) crash_with("[src] at [x],[y],[z] failed to find reagent '[id]'!") dispense_reagents -= id @@ -25,7 +25,7 @@ C.reagents.add_reagent(id, to_restore) . = 1 if(.) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/chemical_dispenser dispense_reagents = list( diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index df99bca9e1..a050478c4b 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -39,7 +39,7 @@ for(var/T in reagent_ids) reagent_volumes[T] = volume - var/datum/reagent/R = SSchemistry.chemical_reagents[T] + var/datum/reagent/R = chemical_reagents_list[T] reagent_names += R.name START_PROCESSING(SSobj, src) @@ -112,14 +112,14 @@ if(t) playsound(loc, 'sound/effects/pop.ogg', 50, 0) mode = t - var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]] + var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]] usr << "Synthesizer is now producing '[R.name]'." /obj/item/weapon/reagent_containers/borghypo/examine(mob/user) if(!..(user, 2)) return - var/datum/reagent/R = SSchemistry.chemical_reagents[reagent_ids[mode]] + var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]] user << "It is currently producing [R.name] and has [reagent_volumes[reagent_ids[mode]]] out of [volume] units left." diff --git a/code/modules/resleeving/computers.dm b/code/modules/resleeving/computers.dm index 854b9dd097..f4445682dc 100644 --- a/code/modules/resleeving/computers.dm +++ b/code/modules/resleeving/computers.dm @@ -198,7 +198,7 @@ data["coredumped"] = SStranscore.core_dumped data["emergency"] = disk ? 1 : 0 - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "sleever.tmpl", "Resleeving Control Console", 400, 450) ui.set_initial_data(data) @@ -375,7 +375,7 @@ menu = href_list["menu"] temp = "" - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) add_fingerprint(usr) // In here because only relevant to computer diff --git a/code/modules/resleeving/designer.dm b/code/modules/resleeving/designer.dm index d4dadb2945..7e545b35fa 100644 --- a/code/modules/resleeving/designer.dm +++ b/code/modules/resleeving/designer.dm @@ -141,7 +141,7 @@ data["disk"] = disk ? 1 : 0 data["diskStored"] = disk && disk.stored ? 1 : 0 - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "body_designer.tmpl", "Body Design Console", 400, 600) ui.set_initial_data(data) diff --git a/code/modules/resleeving/infomorph.dm b/code/modules/resleeving/infomorph.dm index 6166bb6456..906873408d 100644 --- a/code/modules/resleeving/infomorph.dm +++ b/code/modules/resleeving/infomorph.dm @@ -187,7 +187,7 @@ var/list/infomorph_emotions = list( medicalActive1 = null medicalActive2 = null medical_cannotfind = 0 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) usr << "You reset your record-viewing software." /* @@ -509,7 +509,7 @@ var/global/list/default_infomorph_software = list() data["emotions"] = emotions data["current_emotion"] = card.current_emotion - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open, key_state) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open, key_state) if (!ui) ui = new(user, src, ui_key, "pai_interface.tmpl", "Card Software Interface", 450, 600, state = key_state) ui.set_initial_data(data) diff --git a/code/modules/resleeving/infomorph_software.dm b/code/modules/resleeving/infomorph_software.dm index bb5b7fc870..21a51d91e3 100644 --- a/code/modules/resleeving/infomorph_software.dm +++ b/code/modules/resleeving/infomorph_software.dm @@ -34,7 +34,7 @@ // This is dumb, but NanoUI breaks if it has no data to send data["manifest"] = PDA_Manifest - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_manifest.tmpl", "Crew Manifest", 450, 600) @@ -66,7 +66,7 @@ data["medical"] = M ? M.fields : null data["could_not_find"] = user.medical_cannotfind - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_medrecords.tmpl", "Medical Records", 450, 600) @@ -120,7 +120,7 @@ data["security"] = S ? S.fields : null data["could_not_find"] = user.security_cannotfind - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_secrecords.tmpl", "Security Records", 450, 600) @@ -170,7 +170,7 @@ data["progress_b"] = user.hackprogress % 10 data["aborted"] = user.hack_aborted - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_doorjack.tmpl", "Door Jack", 300, 150) @@ -270,7 +270,7 @@ gases[++gases.len] = gas data["gas"] = gases - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_atmosphere.tmpl", "Atmosphere Sensor", 350, 300) @@ -314,7 +314,7 @@ data["frequency"] = format_frequency(user.sradio.frequency) data["code"] = user.sradio.code - ui = SSnanoui.try_update_ui(user, user, id, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, user, id, ui, data, force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! ui = new(user, user, id, "pai_signaller.tmpl", "Signaller", 320, 150) diff --git a/code/modules/rogueminer_vr/zone_console.dm b/code/modules/rogueminer_vr/zone_console.dm index 17ea54c564..75c5d6625c 100644 --- a/code/modules/rogueminer_vr/zone_console.dm +++ b/code/modules/rogueminer_vr/zone_console.dm @@ -79,7 +79,7 @@ // Permit emergency recall of the shuttle if its stranded in a zone with just dead people. data["can_recall_shuttle"] = (shuttle_control && shuttle_control.z == BELT_Z && !curZoneOccupied) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "zone_console.tmpl", src.name, 600, 400) ui.set_initial_data(data) @@ -100,7 +100,7 @@ failsafe_shuttle_recall() src.add_fingerprint(usr) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/computer/roguezones/proc/scan_for_new_zone() if(scanning) return diff --git a/code/modules/shuttles/escape_pods.dm b/code/modules/shuttles/escape_pods.dm index 60c1e4bd0d..e79f5d9b20 100644 --- a/code/modules/shuttles/escape_pods.dm +++ b/code/modules/shuttles/escape_pods.dm @@ -55,7 +55,7 @@ "is_armed" = pod.arming_controller.armed, ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "escape_pod_console.tmpl", name, 470, 290) @@ -102,7 +102,7 @@ "armed" = armed, ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "escape_pod_berth_console.tmpl", name, 470, 290) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 3d5422f4f1..01924be412 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -57,7 +57,7 @@ "can_force" = shuttle.can_force(), ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "shuttle_control_console.tmpl", "[shuttle_tag] Shuttle Control", 470, 310) diff --git a/code/modules/shuttles/shuttle_emergency.dm b/code/modules/shuttles/shuttle_emergency.dm index 86b8e29809..7db9ae2b62 100644 --- a/code/modules/shuttles/shuttle_emergency.dm +++ b/code/modules/shuttles/shuttle_emergency.dm @@ -233,7 +233,7 @@ "user" = debug? user : null, ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "escape_shuttle_control_console.tmpl", "Shuttle Control", 470, 420) diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 3726ce23cd..c717e51adc 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -350,7 +350,7 @@ "sensors" = sensors ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) ui = new(user, src, ui_key, "flight.tmpl", "[shuttle.visible_name] Flight Computer", 500, 500) diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index b2cc345b8c..277463bddc 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -116,7 +116,7 @@ data["lastTeleData"]["distance"] = last_tele_data.distance data["lastTeleData"]["time"] = last_tele_data.time - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "telescience_console.tmpl", src.name, 400, 450) ui.set_initial_data(data) diff --git a/code/modules/virus2/centrifuge.dm b/code/modules/virus2/centrifuge.dm index 433a26977b..73e43be704 100644 --- a/code/modules/virus2/centrifuge.dm +++ b/code/modules/virus2/centrifuge.dm @@ -26,7 +26,7 @@ O.loc = src user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) src.attack_hand(user) @@ -74,7 +74,7 @@ data["antibodies"] = antigens2string(A.data["antibodies"], none=null) data["is_antibody_sample"] = 1 - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "isolation_centrifuge.tmpl", src.name, 400, 500) ui.set_initial_data(data) @@ -98,7 +98,7 @@ if (..()) return 1 var/mob/user = usr - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(user, src, "main") src.add_fingerprint(user) @@ -160,7 +160,7 @@ sample.reagents.remove_reagent("blood", amt) sample.reagents.add_reagent("antibodies", amt, data) - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) update_icon() ping("\The [src] pings, \"Antibody isolated.\"") @@ -170,7 +170,7 @@ dish.virus2 = virus2 virus2 = null - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) update_icon() ping("\The [src] pings, \"Pathogen isolated.\"") diff --git a/code/modules/virus2/diseasesplicer.dm b/code/modules/virus2/diseasesplicer.dm index 95657498a0..b5db3fa96a 100644 --- a/code/modules/virus2/diseasesplicer.dm +++ b/code/modules/virus2/diseasesplicer.dm @@ -81,7 +81,7 @@ else data["info"] = "No dish loaded." - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "disease_splicer.tmpl", src.name, 400, 600) ui.set_initial_data(data) @@ -95,12 +95,12 @@ scanning -= 1 if(!scanning) ping("\The [src] pings, \"Analysis complete.\"") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(splicing) splicing -= 1 if(!splicing) ping("\The [src] pings, \"Splicing operation complete.\"") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(burning) burning -= 1 if(!burning) @@ -122,13 +122,13 @@ d.species = species_buffer ping("\The [src] pings, \"Backup disk saved.\"") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/computer/diseasesplicer/Topic(href, href_list) if(..()) return 1 var/mob/user = usr - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(user, src, "main") src.add_fingerprint(user) diff --git a/code/modules/virus2/dishincubator.dm b/code/modules/virus2/dishincubator.dm index 379d7ef533..3ecad1d691 100644 --- a/code/modules/virus2/dishincubator.dm +++ b/code/modules/virus2/dishincubator.dm @@ -29,7 +29,7 @@ O.loc = src user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) src.attack_hand(user) return @@ -45,7 +45,7 @@ O.loc = src user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) src.attack_hand(user) @@ -85,7 +85,7 @@ for (var/ID in virus) data["blood_already_infected"] = virus[ID] - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "dish_incubator.tmpl", src.name, 400, 600) ui.set_initial_data(data) @@ -104,7 +104,7 @@ foodsupply -= 1 dish.growth += 3 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(radiation) if(radiation > 50 & prob(5)) @@ -117,24 +117,24 @@ else if(prob(5)) dish.virus2.minormutate() radiation -= 1 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(toxins && prob(5)) dish.virus2.infectionchance -= 1 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(toxins > 50) dish.growth = 0 dish.virus2 = null - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) else if(!dish) on = 0 icon_state = "incubator" - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if(beaker) if(foodsupply < 100 && beaker.reagents.remove_reagent("virusfood",5)) if(foodsupply + 10 <= 100) foodsupply += 10 - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) if (locate(/datum/reagent/toxin) in beaker.reagents.reagent_list && toxins < 100) for(var/datum/reagent/toxin/T in beaker.reagents.reagent_list) @@ -143,13 +143,13 @@ if(toxins > 100) toxins = 100 break - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) /obj/machinery/disease2/incubator/Topic(href, href_list) if (..()) return 1 var/mob/user = usr - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(user, src, "main") src.add_fingerprint(user) diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index c4ea02b873..d7db2633ad 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -354,7 +354,7 @@ data = pick("bicaridine", "kelotane", "anti_toxin", "inaprovaline", "space_drugs", "sugar", "tramadol", "dexalin", "cryptobiolin", "impedrezene", "hyperzine", "ethylredoxrazine", "mindbreaker", "glucose") - var/datum/reagent/R = SSchemistry.chemical_reagents[data] + var/datum/reagent/R = chemical_reagents_list[data] name = "[initial(name)] ([initial(R.name)])" /datum/disease2/effect/chem_synthesis/activate(var/mob/living/carbon/mob,var/multiplier) diff --git a/code/modules/virus2/isolator.dm b/code/modules/virus2/isolator.dm index da2c543fc8..8fa61e173b 100644 --- a/code/modules/virus2/isolator.dm +++ b/code/modules/virus2/isolator.dm @@ -43,7 +43,7 @@ S.loc = src user.visible_message("[user] adds \a [O] to \the [src]!", "You add \a [O] to \the [src]!") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) update_icon() src.attack_hand(user) @@ -103,7 +103,7 @@ "name" = entry.fields["name"], \ "description" = replacetext(desc, "\n", "")) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "pathogenic_isolator.tmpl", src.name, 400, 500) ui.set_initial_data(data) @@ -119,14 +119,14 @@ virus2 = null ping("\The [src] pings, \"Viral strain isolated.\"") - SSnanoui.update_uis(src) + GLOB.nanomanager.update_uis(src) update_icon() /obj/machinery/disease2/isolator/Topic(href, href_list) if (..()) return 1 var/mob/user = usr - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, "main") + var/datum/nanoui/ui = GLOB.nanomanager.get_open_ui(user, src, "main") src.add_fingerprint(user) diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm index b97a34e48f..003a5639da 100644 --- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm +++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm @@ -150,7 +150,7 @@ data["rad_shield_on"] = rad_shield // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) // the ui does not exist, so we'll create a new() one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm diff --git a/code/unit_tests/research_tests.dm b/code/unit_tests/research_tests.dm index 24d307c5e6..93bf79a0da 100644 --- a/code/unit_tests/research_tests.dm +++ b/code/unit_tests/research_tests.dm @@ -60,7 +60,7 @@ number_of_issues++ for(var/reagent_name in design.chemicals) - if(!(reagent_name in SSchemistry.chemical_reagents)) + if(!(reagent_name in chemical_reagents_list)) log_unit_test("The entry [design_type] has invalid chemical type [reagent_name]") number_of_issues++ diff --git a/maps/tether/tether_phoronlock.dm b/maps/tether/tether_phoronlock.dm index 44f5fd04cb..ead834fb70 100644 --- a/maps/tether/tether_phoronlock.dm +++ b/maps/tether/tether_phoronlock.dm @@ -116,7 +116,7 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior "processing" = program.memory["processing"] ) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + ui = GLOB.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) ui = new(user, src, ui_key, "phoron_airlock_console.tmpl", name, 470, 290) ui.set_initial_data(data) diff --git a/vorestation.dme b/vorestation.dme index a8d88f36ca..2d5e18e5af 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -205,8 +205,10 @@ #include "code\controllers\verbs.dm" #include "code\controllers\observer_listener\atom\observer.dm" #include "code\controllers\Processes\alarm.dm" +#include "code\controllers\Processes\chemistry.dm" #include "code\controllers\Processes\emergencyShuttle.dm" #include "code\controllers\Processes\game_master.dm" +#include "code\controllers\Processes\nanoui.dm" #include "code\controllers\Processes\radiation.dm" #include "code\controllers\Processes\supply.dm" #include "code\controllers\Processes\ticker.dm" @@ -226,7 +228,6 @@ #include "code\controllers\subsystems\machines.dm" #include "code\controllers\subsystems\mapping_vr.dm" #include "code\controllers\subsystems\mobs.dm" -#include "code\controllers\subsystems\nanoui.dm" #include "code\controllers\subsystems\orbits.dm" #include "code\controllers\subsystems\overlays.dm" #include "code\controllers\subsystems\persist_vr.dm" @@ -238,7 +239,6 @@ #include "code\controllers\subsystems\transcore_vr.dm" #include "code\controllers\subsystems\vote.dm" #include "code\controllers\subsystems\xenoarch.dm" -#include "code\controllers\subsystems\processing\chemistry.dm" #include "code\controllers\subsystems\processing\fastprocess.dm" #include "code\controllers\subsystems\processing\obj.dm" #include "code\controllers\subsystems\processing\processing.dm"