From 47d0b4b70d575a3a98ef9e51e835fd9b645b78f6 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 25 Jun 2024 00:04:50 +0300 Subject: [PATCH] NT Frontier can read files from data disks (#84189) ## About The Pull Request Made the NT Frontier app look for valid experiment files not only on the local file system, but also on the data disk. ## Why It's Good For The Game Less clicks. ## Changelog :cl: qol: NT Frontier app now allows to select experiments from inserted data disks /:cl: --- code/modules/modular_computers/computers/item/computer.dm | 6 ++++++ .../modular_computers/file_system/programs/frontier.dm | 6 +++--- tgui/packages/tgui/interfaces/NtosScipaper.jsx | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 0e2071a84b9..f9d86609012 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -962,6 +962,12 @@ update_appearance(UPDATE_ICON) return TRUE +/// Get all stored files, including external disk files optionaly +/obj/item/modular_computer/proc/get_files(include_disk_files = FALSE) + if(!include_disk_files || !inserted_disk) + return stored_files + return stored_files + inserted_disk.stored_files + /** * Debug ModPC * Used to spawn all programs for Create and Destroy unit test. diff --git a/code/modules/modular_computers/file_system/programs/frontier.dm b/code/modules/modular_computers/file_system/programs/frontier.dm index 7a65513508d..53ce4128729 100644 --- a/code/modules/modular_computers/file_system/programs/frontier.dm +++ b/code/modules/modular_computers/file_system/programs/frontier.dm @@ -33,7 +33,7 @@ return TRUE /datum/computer_file/program/scipaper_program/proc/recheck_file_presence() - if(selected_file in computer.stored_files) + if(selected_file in computer.get_files(include_disk_files = TRUE)) return FALSE UnregisterSignal(selected_file, COMSIG_COMPUTER_FILE_DELETE) selected_file = null @@ -92,7 +92,7 @@ data["allowedTiers"] = list() data["allowedPartners"] = list() // Both the file and experiment list are assoc lists. ID as value, display name as keys. - for(var/datum/computer_file/data/ordnance/ordnance_file in computer.stored_files) + for(var/datum/computer_file/data/ordnance/ordnance_file in computer.get_files(include_disk_files = TRUE)) data["fileList"] += list(ordnance_file.filename = ordnance_file.uid) if(selected_file) for (var/possible_experiment in selected_file.possible_experiments) @@ -189,7 +189,7 @@ if(selected_file) UnregisterSignal(selected_file, COMSIG_COMPUTER_FILE_DELETE) paper_to_be.set_experiment() // Clears the paper info. - for(var/datum/computer_file/data/ordnance/ordnance_data in computer.stored_files) + for(var/datum/computer_file/data/ordnance/ordnance_data in computer.get_files(include_disk_files = TRUE)) if(ordnance_data.uid == params["selected_uid"]) selected_file = ordnance_data RegisterSignal(selected_file, COMSIG_COMPUTER_FILE_DELETE, PROC_REF(recheck_file_presence)) diff --git a/tgui/packages/tgui/interfaces/NtosScipaper.jsx b/tgui/packages/tgui/interfaces/NtosScipaper.jsx index 4d12fdc6389..f6636e0fd67 100644 --- a/tgui/packages/tgui/interfaces/NtosScipaper.jsx +++ b/tgui/packages/tgui/interfaces/NtosScipaper.jsx @@ -50,7 +50,7 @@ const PaperPublishing = (props) => {
{fileList.length === 0 && ( - Use the File Manager app to download files from a disk. + Use data disk to download files from compressor or doppler array. )} @@ -58,7 +58,7 @@ const PaperPublishing = (props) => { label="File (required)" buttons={