mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-19 20:06:28 +01:00
Modular computer programs preset support unit test (#20069)
Added some modular computer program preset tests. Fixed some modular computer program preset that had duplicate programs. Refactored how the computer program presets generate the list of programs to install. Turned some comments into DMDocs, some cleanup around. Tests disabled reasons are now enclosed in the group correctly.
This commit is contained in:
@@ -1,34 +1,84 @@
|
||||
// /program/ files are executable programs that do things.
|
||||
/datum/computer_file/program
|
||||
ABSTRACT_TYPE(/datum/computer_file/program)
|
||||
filetype = "PRG"
|
||||
filename = "UnknownProgram" // File name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!
|
||||
filedesc = "Unknown Program" // User-friendly name of this program.
|
||||
var/program_type = PROGRAM_NORMAL // Program type, used to determine if program runs in background or not.
|
||||
var/required_access_run // List of required accesses to run the program.
|
||||
var/required_access_download // List of required accesses to download the program.
|
||||
var/requires_access_to_run = PROGRAM_ACCESS_ONE // Whether the program checks for required_access when run. (1 = requires single access, 2 = requires single access from list, 3 = requires all access from list)
|
||||
var/requires_access_to_download = PROGRAM_ACCESS_ONE // Whether the program checks for required_access when downloading. (1 = requires single access, 2 = requires single access from list, 3 = requires all access from list)
|
||||
var/program_state = PROGRAM_STATE_KILLED // PROGRAM_STATE_KILLED or PROGRAM_STATE_BACKGROUND or PROGRAM_STATE_ACTIVE - specifies whether this program is running.
|
||||
var/obj/item/modular_computer/computer // Device that runs this program.
|
||||
var/extended_desc = "N/A" // Short description of this program's function.
|
||||
var/program_icon_state // Program-specific screen icon state
|
||||
var/program_key_icon_state // Program-specific keyboard icon state (really only applies to consoles but can be used for other purposes like having mix-n-match screens)
|
||||
var/requires_ntnet = FALSE // Set to TRUE for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.
|
||||
var/requires_ntnet_feature = FALSE // Optional, if above is set to TRUE checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)
|
||||
var/ntnet_status = TRUE // NTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.
|
||||
var/usage_flags = PROGRAM_ALL // Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL
|
||||
var/network_destination // Optional string that describes what NTNet server/system this program connects to. Used in default logging.
|
||||
var/available_on_ntnet = TRUE // Whether the program can be downloaded from NTNet. Set to 0 to disable.
|
||||
var/available_on_syndinet = FALSE // Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to 1 to enable.
|
||||
var/computer_emagged = FALSE // Set to TRUE if computer that's running us was emagged. Computer updates this every Process() tick
|
||||
var/ui_header // Example: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /nano/images/status_icons. Be careful not to use too large images!
|
||||
var/color = "#FFFFFF" // The color of light the computer should emit when this program is open.
|
||||
var/service_state = PROGRAM_STATE_DISABLED // PROGRAM_STATE_KILLED or PROGRAM_STATE_ACTIVE - specifies whether this program's service is running.
|
||||
|
||||
/// File name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!
|
||||
filename = "UnknownProgram"
|
||||
|
||||
/// User-friendly name of this program.
|
||||
filedesc = "Unknown Program"
|
||||
|
||||
/// Program type, used to determine if program runs in background or not.
|
||||
var/program_type = PROGRAM_NORMAL
|
||||
|
||||
/// List of required accesses to run the program.
|
||||
var/required_access_run
|
||||
|
||||
/// List of required accesses to download the program.
|
||||
var/required_access_download
|
||||
|
||||
/// Whether the program checks for required_access when run. (1 = requires single access, 2 = requires single access from list, 3 = requires all access from list)
|
||||
var/requires_access_to_run = PROGRAM_ACCESS_ONE
|
||||
|
||||
/// Whether the program checks for required_access when downloading. (1 = requires single access, 2 = requires single access from list, 3 = requires all access from list)
|
||||
var/requires_access_to_download = PROGRAM_ACCESS_ONE
|
||||
|
||||
/// PROGRAM_STATE_KILLED or PROGRAM_STATE_BACKGROUND or PROGRAM_STATE_ACTIVE - specifies whether this program is running.
|
||||
var/program_state = PROGRAM_STATE_KILLED
|
||||
|
||||
/// Device that runs this program.
|
||||
var/obj/item/modular_computer/computer
|
||||
|
||||
/// Short description of this program's function.
|
||||
var/extended_desc = "N/A"
|
||||
|
||||
/// Program-specific screen icon state
|
||||
var/program_icon_state
|
||||
|
||||
/// Program-specific keyboard icon state (really only applies to consoles but can be used for other purposes like having mix-n-match screens)
|
||||
var/program_key_icon_state
|
||||
|
||||
/// Set to TRUE for program to require nonstop NTNet connection to run. If NTNet connection is lost program crashes.
|
||||
var/requires_ntnet = FALSE
|
||||
|
||||
/// Optional, if above is set to TRUE checks for specific function of NTNet (currently NTNET_SOFTWAREDOWNLOAD, NTNET_PEERTOPEER, NTNET_SYSTEMCONTROL and NTNET_COMMUNICATION)
|
||||
var/requires_ntnet_feature = FALSE
|
||||
|
||||
/// NTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.
|
||||
var/ntnet_status = TRUE
|
||||
|
||||
/// Bitflags (PROGRAM_CONSOLE, PROGRAM_LAPTOP, PROGRAM_TABLET combination) or PROGRAM_ALL
|
||||
var/usage_flags = PROGRAM_ALL
|
||||
|
||||
/// Optional string that describes what NTNet server/system this program connects to. Used in default logging.
|
||||
var/network_destination
|
||||
|
||||
/// Whether the program can be downloaded from NTNet. Set to 0 to disable.
|
||||
var/available_on_ntnet = TRUE
|
||||
|
||||
/// Whether the program can be downloaded from SyndiNet (accessible via emagging the computer). Set to 1 to enable.
|
||||
var/available_on_syndinet = FALSE
|
||||
|
||||
/// Set to TRUE if computer that's running us was emagged. Computer updates this every Process() tick
|
||||
var/computer_emagged = FALSE
|
||||
|
||||
/// Example: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images are taken from /nano/images/status_icons. Be careful not to use too large images!
|
||||
var/ui_header
|
||||
|
||||
/// The color of light the computer should emit when this program is open.
|
||||
var/color = "#FFFFFF"
|
||||
|
||||
/// PROGRAM_STATE_KILLED or PROGRAM_STATE_ACTIVE - specifies whether this program's service is running.
|
||||
var/service_state = PROGRAM_STATE_DISABLED
|
||||
|
||||
var/silent = FALSE
|
||||
|
||||
/// Name of the TGUI Interface
|
||||
var/tgui_id
|
||||
|
||||
/// Theme of this TGUI interface
|
||||
var/tgui_theme = "scc"
|
||||
|
||||
/// If this TGUI should autoupdate or not.
|
||||
var/ui_auto_update = TRUE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user