TGUI for RCD , Radial menu for RLD & Silo Link for RLD & Plumbing RCD (#71710)

This commit is contained in:
SyncIt21
2022-12-12 15:22:32 +05:30
committed by GitHub
parent 7cb7ee497c
commit cfb41eb05c
14 changed files with 800 additions and 560 deletions
+39 -4
View File
@@ -2,8 +2,43 @@
name = "plumbing-tgui"
/datum/asset/spritesheet/plumbing/create_spritesheets()
InsertAll("", 'icons/obj/medical/iv_drip.dmi')
InsertAll("", 'icons/obj/plumbing/plumbers.dmi')
InsertAll("", 'icons/obj/plumbing/fluid_ducts.dmi')
InsertAll("", 'icons/hud/radial.dmi')
//load only what we need from the icon files,format is icon_file_name = list of icon_states we need from this file
var/list/essentials = list(
'icons/obj/medical/iv_drip.dmi' = list("plumb"),
'icons/obj/plumbing/fluid_ducts.dmi' = list("nduct"),
'icons/hud/radial.dmi' = list(
"plumbing_layer1",
"plumbing_layer2",
"plumbing_layer4",
"plumbing_layer8",
"plumbing_layer16",
),
'icons/obj/plumbing/plumbers.dmi' = list(
"synthesizer",
"reaction_chamber",
"grinder_chemical",
"growing_vat",
"fermenter",
"pump",
"disposal",
"buffer",
"manifold",
"pipe_input",
"filter",
"splitter",
"beacon",
"pipe_output",
"tank",
"acclimator",
"bottler",
"pill_press",
"synthesizer_soda",
"synthesizer_booze",
"tap_output",
),
)
for(var/icon_file as anything in essentials)
for(var/icon_state as anything in essentials[icon_file])
Insert(sprite_name = icon_state, I = icon_file, icon_state = icon_state)
+56
View File
@@ -0,0 +1,56 @@
/datum/asset/spritesheet/rcd
name = "rcd-tgui"
/datum/asset/spritesheet/rcd/create_spritesheets()
//We load airlock icons seperatly from other icons cause they need overlays
//load all category essential icon_states. format is icon_file = list of icon states we need from that file
var/list/essentials = list(
'icons/hud/radial.dmi' = list("wallfloor", "windowsize", "windowtype", "cnorth", "csouth", "ceast", "cwest", "chair", "stool", "windoor", "secure_windoor"),
'icons/obj/structures.dmi' = list("window0", "rwindow0", "table", "glass_table"),
'icons/obj/stock_parts.dmi' = list("box_1"),
)
var/icon/icon
for(var/icon_file as anything in essentials)
for(var/icon_state as anything in essentials[icon_file])
icon = icon(icon = icon_file, icon_state = icon_state)
if(icon_state == "window0" || icon_state == "rwindow0")
icon.Blend(icon(icon = 'icons/obj/structures.dmi', icon_state = "grille"), ICON_UNDERLAY)
Insert(sprite_name = sanitize_css_class_name(icon_state), I = icon)
//for each airlock type we create its overlayed version with the suffix Glass in the sprite name
var/list/airlocks = list(
"Standard" = 'icons/obj/doors/airlocks/station/public.dmi',
"Public" = 'icons/obj/doors/airlocks/station2/glass.dmi',
"Engineering" = 'icons/obj/doors/airlocks/station/engineering.dmi',
"Atmospherics" = 'icons/obj/doors/airlocks/station/atmos.dmi',
"Security" = 'icons/obj/doors/airlocks/station/security.dmi',
"Command" = 'icons/obj/doors/airlocks/station/command.dmi',
"Medical" = 'icons/obj/doors/airlocks/station/medical.dmi',
"Research" = 'icons/obj/doors/airlocks/station/research.dmi',
"Freezer" = 'icons/obj/doors/airlocks/station/freezer.dmi',
"Virology" = 'icons/obj/doors/airlocks/station/virology.dmi',
"Mining" = 'icons/obj/doors/airlocks/station/mining.dmi',
"Maintenance" = 'icons/obj/doors/airlocks/station/maintenance.dmi',
"External" = 'icons/obj/doors/airlocks/external/external.dmi',
"External Maintenance" = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi',
"Airtight Hatch" = 'icons/obj/doors/airlocks/hatch/centcom.dmi',
"Maintenance Hatch" = 'icons/obj/doors/airlocks/hatch/maintenance.dmi'
)
//these 3 types dont have glass doors
var/list/exclusion = list("Freezer", "Airtight Hatch", "Maintenance Hatch")
for(var/airlock_name in airlocks)
//solid door with overlay
icon = icon(icon = airlocks[airlock_name] , icon_state = "closed" , dir = SOUTH)
icon.Blend(icon(icon = airlocks[airlock_name], icon_state = "fill_closed", dir = SOUTH), ICON_OVERLAY)
Insert(sprite_name = sanitize_css_class_name(airlock_name), I = icon)
//exclude these glass types
if(airlock_name in exclusion)
continue
//glass door no overlay
icon = icon(airlocks[airlock_name] , "closed" , SOUTH)
Insert(sprite_name = sanitize_css_class_name("[airlock_name]Glass"), I = icon)