This commit is contained in:
SandPoot
2023-12-01 14:54:05 -03:00
parent c9b0dedf77
commit f698cbb8a7
51 changed files with 604 additions and 606 deletions

View File

@@ -828,3 +828,11 @@ GLOBAL_LIST_INIT(binary, list("0","1"))
if(prob(15)) if(prob(15))
corrupted_text += pick(corruption_options) corrupted_text += pick(corruption_options)
return corrupted_text return corrupted_text
/proc/format_text(text)
return replacetext(replacetext(text,"\proper ",""),"\improper ","")
/// Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts
/proc/sanitize_css_class_name(name)
var/static/regex/regex = new(@"[^a-zA-Z0-9]","g")
return replacetext(name, regex, "")

View File

@@ -764,9 +764,6 @@ GLOBAL_LIST_INIT(WALLITEMS_INVERSE, typecacheof(list(
return 1 return 1
return 0 return 0
/proc/format_text(text)
return replacetext(replacetext(text,"\proper ",""),"\improper ","")
/proc/check_target_facings(mob/living/initator, mob/living/target) /proc/check_target_facings(mob/living/initator, mob/living/target)
/*This can be used to add additional effects on interactions between mobs depending on how the mobs are facing each other, such as adding a crit damage to blows to the back of a guy's head. /*This can be used to add additional effects on interactions between mobs depending on how the mobs are facing each other, such as adding a crit damage to blows to the back of a guy's head.
Given how click code currently works (Nov '13), the initiating mob will be facing the target mob most of the time Given how click code currently works (Nov '13), the initiating mob will be facing the target mob most of the time

View File

@@ -1,596 +0,0 @@
//DEFINITIONS FOR ASSET DATUMS START HERE.
/datum/asset/simple/tgui
keep_local_name = TRUE
assets = list(
"tgui.bundle.js" = file("tgui/public/tgui.bundle.js"),
"tgui.bundle.css" = file("tgui/public/tgui.bundle.css"),
)
/datum/asset/simple/tgui_panel
keep_local_name = TRUE
assets = list(
"tgui-panel.bundle.js" = file("tgui/public/tgui-panel.bundle.js"),
"tgui-panel.bundle.css" = file("tgui/public/tgui-panel.bundle.css"),
)
/datum/asset/simple/headers
assets = list(
"alarm_green.gif" = 'icons/program_icons/alarm_green.gif',
"alarm_red.gif" = 'icons/program_icons/alarm_red.gif',
"batt_5.gif" = 'icons/program_icons/batt_5.gif',
"batt_20.gif" = 'icons/program_icons/batt_20.gif',
"batt_40.gif" = 'icons/program_icons/batt_40.gif',
"batt_60.gif" = 'icons/program_icons/batt_60.gif',
"batt_80.gif" = 'icons/program_icons/batt_80.gif',
"batt_100.gif" = 'icons/program_icons/batt_100.gif',
"charging.gif" = 'icons/program_icons/charging.gif',
"downloader_finished.gif" = 'icons/program_icons/downloader_finished.gif',
"downloader_running.gif" = 'icons/program_icons/downloader_running.gif',
"ntnrc_idle.gif" = 'icons/program_icons/ntnrc_idle.gif',
"ntnrc_new.gif" = 'icons/program_icons/ntnrc_new.gif',
"power_norm.gif" = 'icons/program_icons/power_norm.gif',
"power_warn.gif" = 'icons/program_icons/power_warn.gif',
"sig_high.gif" = 'icons/program_icons/sig_high.gif',
"sig_low.gif" = 'icons/program_icons/sig_low.gif',
"sig_lan.gif" = 'icons/program_icons/sig_lan.gif',
"sig_none.gif" = 'icons/program_icons/sig_none.gif',
"smmon_0.gif" = 'icons/program_icons/smmon_0.gif',
"smmon_1.gif" = 'icons/program_icons/smmon_1.gif',
"smmon_2.gif" = 'icons/program_icons/smmon_2.gif',
"smmon_3.gif" = 'icons/program_icons/smmon_3.gif',
"smmon_4.gif" = 'icons/program_icons/smmon_4.gif',
"smmon_5.gif" = 'icons/program_icons/smmon_5.gif',
"smmon_6.gif" = 'icons/program_icons/smmon_6.gif',
"borg_mon.gif" = 'icons/program_icons/borg_mon.gif',
"robotact.gif" = 'icons/program_icons/robotact.gif'
)
/datum/asset/simple/radar_assets
assets = list(
"ntosradarbackground.png" = 'icons/ui_icons/tgui/ntosradar_background.png',
"ntosradarpointer.png" = 'icons/ui_icons/tgui/ntosradar_pointer.png',
"ntosradarpointerS.png" = 'icons/ui_icons/tgui/ntosradar_pointer_S.png'
)
/datum/asset/simple/circuit_assets
assets = list(
"grid_background.png" = 'icons/ui_icons/tgui/grid_background.png'
)
/datum/asset/spritesheet/simple/pda
name = "pda"
assets = list(
"atmos" = 'icons/pda_icons/pda_atmos.png',
"back" = 'icons/pda_icons/pda_back.png',
"bell" = 'icons/pda_icons/pda_bell.png',
"blank" = 'icons/pda_icons/pda_blank.png',
"boom" = 'icons/pda_icons/pda_boom.png',
"bucket" = 'icons/pda_icons/pda_bucket.png',
"medbot" = 'icons/pda_icons/pda_medbot.png',
"floorbot" = 'icons/pda_icons/pda_floorbot.png',
"cleanbot" = 'icons/pda_icons/pda_cleanbot.png',
"crate" = 'icons/pda_icons/pda_crate.png',
"cuffs" = 'icons/pda_icons/pda_cuffs.png',
"eject" = 'icons/pda_icons/pda_eject.png',
"flashlight" = 'icons/pda_icons/pda_flashlight.png',
"honk" = 'icons/pda_icons/pda_honk.png',
"mail" = 'icons/pda_icons/pda_mail.png',
"medical" = 'icons/pda_icons/pda_medical.png',
"menu" = 'icons/pda_icons/pda_menu.png',
"mule" = 'icons/pda_icons/pda_mule.png',
"notes" = 'icons/pda_icons/pda_notes.png',
"power" = 'icons/pda_icons/pda_power.png',
"rdoor" = 'icons/pda_icons/pda_rdoor.png',
"reagent" = 'icons/pda_icons/pda_reagent.png',
"refresh" = 'icons/pda_icons/pda_refresh.png',
"scanner" = 'icons/pda_icons/pda_scanner.png',
"signaler" = 'icons/pda_icons/pda_signaler.png',
// "skills" = 'icons/pda_icons/pda_skills.png',
"status" = 'icons/pda_icons/pda_status.png',
"dronephone" = 'icons/pda_icons/pda_dronephone.png',
"emoji" = 'icons/pda_icons/pda_emoji.png'
// "droneblacklist" = 'icons/pda_icons/pda_droneblacklist.png',
)
/datum/asset/spritesheet/simple/paper
name = "paper"
assets = list(
"stamp-clown" = 'icons/stamp_icons/large_stamp-clown.png',
"stamp-deny" = 'icons/stamp_icons/large_stamp-deny.png',
"stamp-ok" = 'icons/stamp_icons/large_stamp-ok.png',
"stamp-hop" = 'icons/stamp_icons/large_stamp-hop.png',
"stamp-cmo" = 'icons/stamp_icons/large_stamp-cmo.png',
"stamp-ce" = 'icons/stamp_icons/large_stamp-ce.png',
"stamp-hos" = 'icons/stamp_icons/large_stamp-hos.png',
"stamp-rd" = 'icons/stamp_icons/large_stamp-rd.png',
"stamp-cap" = 'icons/stamp_icons/large_stamp-cap.png',
"stamp-qm" = 'icons/stamp_icons/large_stamp-qm.png',
"stamp-law" = 'icons/stamp_icons/large_stamp-law.png',
"stamp-chap" = 'icons/stamp_icons/large_stamp-chap.png',
"stamp-mime" = 'icons/stamp_icons/large_stamp-mime.png',
"stamp-centcom" = 'icons/stamp_icons/large_stamp-centcom.png',
"stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png'
)
/datum/asset/simple/irv
assets = list(
"jquery-ui.custom-core-widgit-mouse-sortable-min.js" = 'html/jquery/jquery-ui.custom-core-widgit-mouse-sortable.min.js',
)
/datum/asset/group/irv
children = list(
/datum/asset/simple/jquery,
/datum/asset/simple/irv
)
/datum/asset/simple/jquery
legacy = TRUE
assets = list(
"jquery.min.js" = 'html/jquery/jquery.min.js',
)
/datum/asset/simple/namespaced/fontawesome
assets = list(
"fa-regular-400.eot" = 'html/font-awesome/webfonts/fa-regular-400.eot',
"fa-regular-400.woff" = 'html/font-awesome/webfonts/fa-regular-400.woff',
"fa-solid-900.eot" = 'html/font-awesome/webfonts/fa-solid-900.eot',
"fa-solid-900.woff" = 'html/font-awesome/webfonts/fa-solid-900.woff',
"v4shim.css" = 'html/font-awesome/css/v4-shims.min.css'
)
parents = list("font-awesome.css" = 'html/font-awesome/css/all.min.css')
/datum/asset/simple/namespaced/tgfont
assets = list(
"tgfont.eot" = file("tgui/packages/tgfont/dist/tgfont.eot"),
"tgfont.woff2" = file("tgui/packages/tgfont/dist/tgfont.woff2"),
)
parents = list(
"tgfont.css" = file("tgui/packages/tgfont/dist/tgfont.css"),
)
/datum/asset/spritesheet/chat
name = "chat"
/datum/asset/spritesheet/chat/register()
InsertAll("emoji", 'icons/emoji.dmi')
InsertAll("emoji", 'icons/emoji_32.dmi')
// pre-loading all lanugage icons also helps to avoid meta
InsertAll("language", 'icons/misc/language.dmi')
// catch languages which are pulling icons from another file
for(var/path in typesof(/datum/language))
var/datum/language/L = path
var/icon = initial(L.icon)
if (icon != 'icons/misc/language.dmi')
var/icon_state = initial(L.icon_state)
Insert("language-[icon_state]", icon, icon_state=icon_state)
..()
/datum/asset/simple/lobby
assets = list(
"playeroptions.css" = 'html/browser/playeroptions.css'
)
/datum/asset/simple/namespaced/common
assets = list("padlock.png" = 'html/padlock.png')
parents = list("common.css" = 'html/browser/common.css')
/datum/asset/simple/permissions
assets = list(
"search.js" = 'html/admin/search.js',
"panels.css" = 'html/admin/panels.css'
)
/datum/asset/group/permissions
children = list(
/datum/asset/simple/permissions,
/datum/asset/simple/namespaced/common
)
/datum/asset/simple/notes
assets = list(
"high_button.png" = 'html/high_button.png',
"medium_button.png" = 'html/medium_button.png',
"minor_button.png" = 'html/minor_button.png',
"none_button.png" = 'html/none_button.png',
)
/datum/asset/simple/arcade
assets = list(
"boss1.gif" = 'icons/ui_icons/arcade/boss1.gif',
"boss2.gif" = 'icons/ui_icons/arcade/boss2.gif',
"boss3.gif" = 'icons/ui_icons/arcade/boss3.gif',
"boss4.gif" = 'icons/ui_icons/arcade/boss4.gif',
"boss5.gif" = 'icons/ui_icons/arcade/boss5.gif',
"boss6.gif" = 'icons/ui_icons/arcade/boss6.gif',
)
/datum/asset/spritesheet/simple/achievements
name ="achievements"
assets = list(
"default" = 'icons/ui_icons/achievements/default.png',
"basemisc" = 'icons/ui_icons/achievements/basemisc.png',
"baseboss" = 'icons/ui_icons/achievements/baseboss.png',
"baseskill" = 'icons/ui_icons/achievements/baseskill.png',
"bbgum" = 'icons/ui_icons/achievements/Boss/bbgum.png',
"colossus" = 'icons/ui_icons/achievements/Boss/colossus.png',
"hierophant" = 'icons/ui_icons/achievements/Boss/hierophant.png',
"drake" = 'icons/ui_icons/achievements/Boss/drake.png',
"legion" = 'icons/ui_icons/achievements/Boss/legion.png',
"miner" = 'icons/ui_icons/achievements/Boss/miner.png',
"swarmer" = 'icons/ui_icons/achievements/Boss/swarmer.png',
"tendril" = 'icons/ui_icons/achievements/Boss/tendril.png',
"featofstrength" = 'icons/ui_icons/achievements/Misc/featofstrength.png',
"helbital" = 'icons/ui_icons/achievements/Misc/helbital.png',
"jackpot" = 'icons/ui_icons/achievements/Misc/jackpot.png',
"meteors" = 'icons/ui_icons/achievements/Misc/meteors.png',
"timewaste" = 'icons/ui_icons/achievements/Misc/timewaste.png',
"upgrade" = 'icons/ui_icons/achievements/Misc/upgrade.png',
"clownking" = 'icons/ui_icons/achievements/Misc/clownking.png',
"clownthanks" = 'icons/ui_icons/achievements/Misc/clownthanks.png',
"rule8" = 'icons/ui_icons/achievements/Misc/rule8.png',
"longshift" = 'icons/ui_icons/achievements/Misc/longshift.png',
"snail" = 'icons/ui_icons/achievements/Misc/snail.png',
"ascension" = 'icons/ui_icons/achievements/Misc/ascension.png',
"ashascend" = 'icons/ui_icons/achievements/Misc/ashascend.png',
"fleshascend" = 'icons/ui_icons/achievements/Misc/fleshascend.png',
"rustascend" = 'icons/ui_icons/achievements/Misc/rustascend.png',
"voidascend" = 'icons/ui_icons/achievements/Misc/voidascend.png',
"toolbox_soul" = 'icons/ui_icons/achievements/Misc/toolbox_soul.png',
"chem_tut" = 'icons/ui_icons/achievements/Misc/chem_tut.png',
"mining" = 'icons/ui_icons/achievements/Skills/mining.png',
"mafia" = 'icons/ui_icons/achievements/Mafia/mafia.png',
"town" = 'icons/ui_icons/achievements/Mafia/town.png',
"neutral" = 'icons/ui_icons/achievements/Mafia/neutral.png',
"hated" = 'icons/ui_icons/achievements/Mafia/hated.png',
"basemafia" ='icons/ui_icons/achievements/basemafia.png',
"frenching" = 'icons/ui_icons/achievements/Misc/frenchingthebubble.png'
)
/datum/asset/spritesheet/simple/pills
name = "pills"
assets = list(
"pill1" = 'icons/ui_icons/pills/pill1.png',
"pill2" = 'icons/ui_icons/pills/pill2.png',
"pill3" = 'icons/ui_icons/pills/pill3.png',
"pill4" = 'icons/ui_icons/pills/pill4.png',
"pill5" = 'icons/ui_icons/pills/pill5.png',
"pill6" = 'icons/ui_icons/pills/pill6.png',
"pill7" = 'icons/ui_icons/pills/pill7.png',
"pill8" = 'icons/ui_icons/pills/pill8.png',
"pill9" = 'icons/ui_icons/pills/pill9.png',
"pill10" = 'icons/ui_icons/pills/pill10.png',
"pill11" = 'icons/ui_icons/pills/pill11.png',
"pill12" = 'icons/ui_icons/pills/pill12.png',
"pill13" = 'icons/ui_icons/pills/pill13.png',
"pill14" = 'icons/ui_icons/pills/pill14.png',
"pill15" = 'icons/ui_icons/pills/pill15.png',
"pill16" = 'icons/ui_icons/pills/pill16.png',
"pill17" = 'icons/ui_icons/pills/pill17.png',
"pill18" = 'icons/ui_icons/pills/pill18.png',
"pill19" = 'icons/ui_icons/pills/pill19.png',
"pill20" = 'icons/ui_icons/pills/pill20.png',
"pill21" = 'icons/ui_icons/pills/pill21.png',
"pill22" = 'icons/ui_icons/pills/pill22.png',
)
// /datum/asset/spritesheet/simple/condiments
// name = "condiments"
// assets = list(
// CONDIMASTER_STYLE_FALLBACK = 'icons/ui_icons/condiments/emptycondiment.png',
// "enzyme" = 'icons/ui_icons/condiments/enzyme.png',
// "flour" = 'icons/ui_icons/condiments/flour.png',
// "mayonnaise" = 'icons/ui_icons/condiments/mayonnaise.png',
// "milk" = 'icons/ui_icons/condiments/milk.png',
// "blackpepper" = 'icons/ui_icons/condiments/peppermillsmall.png',
// "rice" = 'icons/ui_icons/condiments/rice.png',
// "sodiumchloride" = 'icons/ui_icons/condiments/saltshakersmall.png',
// "soymilk" = 'icons/ui_icons/condiments/soymilk.png',
// "soysauce" = 'icons/ui_icons/condiments/soysauce.png',
// "sugar" = 'icons/ui_icons/condiments/sugar.png',
// "ketchup" = 'icons/ui_icons/condiments/ketchup.png',
// "capsaicin" = 'icons/ui_icons/condiments/hotsauce.png',
// "frostoil" = 'icons/ui_icons/condiments/coldsauce.png',
// "bbqsauce" = 'icons/ui_icons/condiments/bbqsauce.png',
// "cornoil" = 'icons/ui_icons/condiments/oliveoil.png',
// )
//this exists purely to avoid meta by pre-loading all language icons.
/datum/asset/language/register()
for(var/path in typesof(/datum/language))
set waitfor = FALSE
var/datum/language/L = new path ()
L.get_icon()
/datum/asset/spritesheet/pipes
name = "pipes"
/datum/asset/spritesheet/pipes/register()
for (var/each in list('icons/obj/atmospherics/pipes/pipe_item.dmi', 'icons/obj/atmospherics/pipes/disposal.dmi', 'icons/obj/atmospherics/pipes/transit_tube.dmi', 'icons/obj/plumbing/fluid_ducts.dmi'))
InsertAll("", each, GLOB.alldirs)
..()
/datum/asset/spritesheet/supplypods
name = "supplypods"
/datum/asset/spritesheet/supplypods/register()
for (var/style in 1 to length(GLOB.podstyles))
if (style == STYLE_SEETHROUGH)
Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi' , "seethrough-icon"))
continue
var/base = GLOB.podstyles[style][POD_BASE]
if (!base)
Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi', "invisible-icon"))
continue
var/icon/podIcon = icon('icons/obj/supplypods.dmi', base)
var/door = GLOB.podstyles[style][POD_DOOR]
if (door)
door = "[base]_door"
podIcon.Blend(icon('icons/obj/supplypods.dmi', door), ICON_OVERLAY)
var/shape = GLOB.podstyles[style][POD_SHAPE]
if (shape == POD_SHAPE_NORML)
var/decal = GLOB.podstyles[style][POD_DECAL]
if (decal)
podIcon.Blend(icon('icons/obj/supplypods.dmi', decal), ICON_OVERLAY)
var/glow = GLOB.podstyles[style][POD_GLOW]
if (glow)
glow = "pod_glow_[glow]"
podIcon.Blend(icon('icons/obj/supplypods.dmi', glow), ICON_OVERLAY)
Insert("pod_asset[style]", podIcon)
return ..()
// Representative icons for each research design
/datum/asset/spritesheet/research_designs
name = "design"
/datum/asset/spritesheet/research_designs/register()
for (var/path in subtypesof(/datum/design))
var/datum/design/D = path
var/icon_file
var/icon_state
var/icon/I
if(initial(D.research_icon) && initial(D.research_icon_state)) //If the design has an icon replacement skip the rest
icon_file = initial(D.research_icon)
icon_state = initial(D.research_icon_state)
if(!(icon_state in icon_states(icon_file)))
warning("design [D] with icon '[icon_file]' missing state '[icon_state]'")
continue
I = icon(icon_file, icon_state, SOUTH)
else
// construct the icon and slap it into the resource cache
var/atom/item = initial(D.build_path)
if (!ispath(item, /atom))
// biogenerator outputs to beakers by default
if (initial(D.build_type) & BIOGENERATOR)
item = /obj/item/reagent_containers/glass/beaker/large
else
continue // shouldn't happen, but just in case
// circuit boards become their resulting machines or computers
if (ispath(item, /obj/item/circuitboard))
var/obj/item/circuitboard/C = item
var/machine = initial(C.build_path)
if (machine)
item = machine
// Check for GAGS support where necessary
// var/greyscale_config = initial(item.greyscale_config)
// var/greyscale_colors = initial(item.greyscale_colors)
// if (greyscale_config && greyscale_colors)
// icon_file = SSgreyscale.GetColoredIconByType(greyscale_config, greyscale_colors)
// else
icon_file = initial(item.icon)
icon_state = initial(item.icon_state)
if(!(icon_state in icon_states(icon_file)))
warning("design [D] with icon '[icon_file]' missing state '[icon_state]'")
continue
I = icon(icon_file, icon_state, SOUTH)
// computers (and snowflakes) get their screen and keyboard sprites
if (ispath(item, /obj/machinery/computer) || ispath(item, /obj/machinery/power/solar_control))
var/obj/machinery/computer/C = item
var/screen = initial(C.icon_screen)
var/keyboard = initial(C.icon_keyboard)
var/all_states = icon_states(icon_file)
if (screen && (screen in all_states))
I.Blend(icon(icon_file, screen, SOUTH), ICON_OVERLAY)
if (keyboard && (keyboard in all_states))
I.Blend(icon(icon_file, keyboard, SOUTH), ICON_OVERLAY)
Insert(initial(D.id), I)
return ..()
/datum/asset/spritesheet/vending
name = "vending"
/datum/asset/spritesheet/vending/register()
for (var/k in GLOB.vending_products)
var/atom/item = k
if (!ispath(item, /atom))
continue
var/icon_file
// if (initial(item.greyscale_colors) && initial(item.greyscale_config))
// icon_file = SSgreyscale.GetColoredIconByType(initial(item.greyscale_config), initial(item.greyscale_colors))
// else
icon_file = initial(item.icon)
var/icon_state = initial(item.icon_state)
var/icon/I
var/icon_states_list = icon_states(icon_file)
if(icon_state in icon_states_list)
I = icon(icon_file, icon_state, SOUTH)
var/c = initial(item.color)
if (!isnull(c) && c != "#FFFFFF")
I.Blend(c, ICON_MULTIPLY)
else
var/icon_states_string
for (var/an_icon_state in icon_states_list)
if (!icon_states_string)
icon_states_string = "[json_encode(an_icon_state)](\ref[an_icon_state])"
else
icon_states_string += ", [json_encode(an_icon_state)](\ref[an_icon_state])"
stack_trace("[item] does not have a valid icon state, icon=[icon_file], icon_state=[json_encode(icon_state)](\ref[icon_state]), icon_states=[icon_states_string]")
I = icon('icons/turf/floors.dmi', "", SOUTH)
var/imgid = replacetext(replacetext("[item]", "/obj/item/", ""), "/", "-")
Insert(imgid, I)
return ..()
/datum/asset/simple/genetics
assets = list(
"dna_discovered.gif" = 'html/dna_discovered.gif',
"dna_undiscovered.gif" = 'html/dna_undiscovered.gif',
"dna_extra.gif" = 'html/dna_extra.gif'
)
/datum/asset/simple/orbit
assets = list(
"ghost.png" = 'html/ghost.png'
)
/datum/asset/simple/vv
assets = list(
"view_variables.css" = 'html/admin/view_variables.css'
)
/datum/asset/spritesheet/sheetmaterials
name = "sheetmaterials"
/datum/asset/spritesheet/sheetmaterials/register()
InsertAll("", 'icons/obj/stack_objects.dmi')
// Special case to handle Bluespace Crystals
Insert("polycrystal", 'icons/obj/telescience.dmi', "polycrystal")
..()
/datum/asset/spritesheet/mafia
name = "mafia"
/datum/asset/spritesheet/mafia/register()
InsertAll("", 'icons/obj/mafia.dmi')
..()
/datum/asset/simple/portraits
var/tab = "use subtypes of this please"
assets = list()
/datum/asset/simple/portraits/New()
if(!SSpersistence.paintings || !SSpersistence.paintings[tab] || !length(SSpersistence.paintings[tab]))
return
for(var/p in SSpersistence.paintings[tab])
var/list/portrait = p
var/png = "data/paintings/[tab]/[portrait["md5"]].png"
if(fexists(png))
var/asset_name = "[tab]_[portrait["md5"]]"
assets[asset_name] = png
..() //this is where it registers all these assets we added to the list
/datum/asset/simple/portraits/library
tab = "library"
/datum/asset/simple/portraits/library_secure
tab = "library_secure"
/datum/asset/simple/portraits/library_private
tab = "library_private"
/datum/asset/simple/safe
assets = list(
"safe_dial.png" = 'html/safe_dial.png'
)
// /datum/asset/spritesheet/fish
// name = "fish"
// /datum/asset/spritesheet/fish/register()
// for (var/path in subtypesof(/datum/aquarium_behaviour/fish))
// var/datum/aquarium_behaviour/fish/fish_type = path
// var/fish_icon = initial(fish_type.icon)
// var/fish_icon_state = initial(fish_type.icon_state)
// var/id = sanitize_css_class_name("[fish_icon][fish_icon_state]")
// if(sprites[id]) //no dupes
// continue
// Insert(id, fish_icon, fish_icon_state)
// ..()
/datum/asset/simple/adventure
assets = list(
"default" = 'icons/ui_icons/adventure/default.png',
"grue" = 'icons/ui_icons/adventure/grue.png',
"signal_lost" ='icons/ui_icons/adventure/signal_lost.png',
"trade" = 'icons/ui_icons/adventure/trade.png',
)
/datum/asset/simple/inventory
assets = list(
"inventory-glasses.png" = 'icons/ui_icons/inventory/glasses.png',
"inventory-head.png" = 'icons/ui_icons/inventory/head.png',
"inventory-neck.png" = 'icons/ui_icons/inventory/neck.png',
"inventory-mask.png" = 'icons/ui_icons/inventory/mask.png',
"inventory-ears.png" = 'icons/ui_icons/inventory/ears.png',
"inventory-uniform.png" = 'icons/ui_icons/inventory/uniform.png',
"inventory-suit.png" = 'icons/ui_icons/inventory/suit.png',
"inventory-gloves.png" = 'icons/ui_icons/inventory/gloves.png',
"inventory-hand_l.png" = 'icons/ui_icons/inventory/hand_l.png',
"inventory-hand_r.png" = 'icons/ui_icons/inventory/hand_r.png',
"inventory-shoes.png" = 'icons/ui_icons/inventory/shoes.png',
"inventory-suit_storage.png" = 'icons/ui_icons/inventory/suit_storage.png',
"inventory-id.png" = 'icons/ui_icons/inventory/id.png',
"inventory-belt.png" = 'icons/ui_icons/inventory/belt.png',
"inventory-back.png" = 'icons/ui_icons/inventory/back.png',
"inventory-pocket.png" = 'icons/ui_icons/inventory/pocket.png',
"inventory-collar.png" = 'icons/ui_icons/inventory/collar.png',
)
/// Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts
/proc/sanitize_css_class_name(name)
var/static/regex/regex = new(@"[^a-zA-Z0-9]","g")
return replacetext(name, regex, "")
/datum/asset/simple/tutorial_advisors
assets = list(
"chem_help_advisor.gif" = 'icons/ui_icons/advisors/chem_help_advisor.gif',
)
// /datum/asset/spritesheet/moods
// name = "moods"
// var/iconinserted = 1
// /datum/asset/spritesheet/moods/register()
// for(var/i in 1 to 9)
// var/target_to_insert = "mood"+"[iconinserted]"
// Insert(target_to_insert, 'icons/hud/screen_gen.dmi', target_to_insert)
// iconinserted++
// ..()
// /datum/asset/spritesheet/moods/ModifyInserted(icon/pre_asset)
// var/blended_color
// switch(iconinserted)
// if(1)
// blended_color = "#f15d36"
// if(2 to 3)
// blended_color = "#f38943"
// if(4)
// blended_color = "#dfa65b"
// if(5)
// blended_color = "#4b96c4"
// if(6)
// blended_color = "#86d656"
// else
// blended_color = "#2eeb9a"
// pre_asset.Blend(blended_color, ICON_MULTIPLY)
// return pre_asset
/datum/asset/spritesheet/jobs
name = "jobs"
/datum/asset/spritesheet/jobs/register()
InsertAll("", 'icons/UI_Icons/tgui/jobs.dmi')
..()

View File

@@ -0,0 +1,41 @@
/datum/asset/spritesheet/simple/achievements
name ="achievements"
assets = list(
"default" = 'icons/ui_icons/achievements/default.png',
"basemisc" = 'icons/ui_icons/achievements/basemisc.png',
"baseboss" = 'icons/ui_icons/achievements/baseboss.png',
"baseskill" = 'icons/ui_icons/achievements/baseskill.png',
"bbgum" = 'icons/ui_icons/achievements/Boss/bbgum.png',
"colossus" = 'icons/ui_icons/achievements/Boss/colossus.png',
"hierophant" = 'icons/ui_icons/achievements/Boss/hierophant.png',
"drake" = 'icons/ui_icons/achievements/Boss/drake.png',
"legion" = 'icons/ui_icons/achievements/Boss/legion.png',
"miner" = 'icons/ui_icons/achievements/Boss/miner.png',
"swarmer" = 'icons/ui_icons/achievements/Boss/swarmer.png',
"tendril" = 'icons/ui_icons/achievements/Boss/tendril.png',
"featofstrength" = 'icons/ui_icons/achievements/Misc/featofstrength.png',
"helbital" = 'icons/ui_icons/achievements/Misc/helbital.png',
"jackpot" = 'icons/ui_icons/achievements/Misc/jackpot.png',
"meteors" = 'icons/ui_icons/achievements/Misc/meteors.png',
"timewaste" = 'icons/ui_icons/achievements/Misc/timewaste.png',
"upgrade" = 'icons/ui_icons/achievements/Misc/upgrade.png',
"clownking" = 'icons/ui_icons/achievements/Misc/clownking.png',
"clownthanks" = 'icons/ui_icons/achievements/Misc/clownthanks.png',
"rule8" = 'icons/ui_icons/achievements/Misc/rule8.png',
"longshift" = 'icons/ui_icons/achievements/Misc/longshift.png',
"snail" = 'icons/ui_icons/achievements/Misc/snail.png',
"ascension" = 'icons/ui_icons/achievements/Misc/ascension.png',
"ashascend" = 'icons/ui_icons/achievements/Misc/ashascend.png',
"fleshascend" = 'icons/ui_icons/achievements/Misc/fleshascend.png',
"rustascend" = 'icons/ui_icons/achievements/Misc/rustascend.png',
"voidascend" = 'icons/ui_icons/achievements/Misc/voidascend.png',
"toolbox_soul" = 'icons/ui_icons/achievements/Misc/toolbox_soul.png',
"chem_tut" = 'icons/ui_icons/achievements/Misc/chem_tut.png',
"mining" = 'icons/ui_icons/achievements/Skills/mining.png',
"mafia" = 'icons/ui_icons/achievements/Mafia/mafia.png',
"town" = 'icons/ui_icons/achievements/Mafia/town.png',
"neutral" = 'icons/ui_icons/achievements/Mafia/neutral.png',
"hated" = 'icons/ui_icons/achievements/Mafia/hated.png',
"basemafia" ='icons/ui_icons/achievements/basemafia.png',
"frenching" = 'icons/ui_icons/achievements/Misc/frenchingthebubble.png'
)

View File

@@ -0,0 +1,7 @@
/datum/asset/simple/adventure
assets = list(
"default" = 'icons/ui_icons/adventure/default.png',
"grue" = 'icons/ui_icons/adventure/grue.png',
"signal_lost" ='icons/ui_icons/adventure/signal_lost.png',
"trade" = 'icons/ui_icons/adventure/trade.png',
)

View File

@@ -0,0 +1,9 @@
/datum/asset/simple/arcade
assets = list(
"boss1.gif" = 'icons/ui_icons/arcade/boss1.gif',
"boss2.gif" = 'icons/ui_icons/arcade/boss2.gif',
"boss3.gif" = 'icons/ui_icons/arcade/boss3.gif',
"boss4.gif" = 'icons/ui_icons/arcade/boss4.gif',
"boss5.gif" = 'icons/ui_icons/arcade/boss5.gif',
"boss6.gif" = 'icons/ui_icons/arcade/boss6.gif',
)

View File

@@ -0,0 +1,16 @@
/datum/asset/spritesheet/chat
name = "chat"
/datum/asset/spritesheet/chat/register()
InsertAll("emoji", 'icons/emoji.dmi')
InsertAll("emoji", 'icons/emoji_32.dmi')
// pre-loading all lanugage icons also helps to avoid meta
InsertAll("language", 'icons/misc/language.dmi')
// catch languages which are pulling icons from another file
for(var/path in typesof(/datum/language))
var/datum/language/L = path
var/icon = initial(L.icon)
if (icon != 'icons/misc/language.dmi')
var/icon_state = initial(L.icon_state)
Insert("language-[icon_state]", icon, icon_state=icon_state)
..()

View File

@@ -0,0 +1,4 @@
/datum/asset/simple/circuit_assets
assets = list(
"grid_background.png" = 'icons/ui_icons/tgui/grid_background.png'
)

View File

@@ -0,0 +1,3 @@
/datum/asset/simple/namespaced/common
assets = list("padlock.png" = 'html/padlock.png')
parents = list("common.css" = 'html/browser/common.css')

View File

@@ -0,0 +1,20 @@
// /datum/asset/spritesheet/simple/condiments
// name = "condiments"
// assets = list(
// CONDIMASTER_STYLE_FALLBACK = 'icons/ui_icons/condiments/emptycondiment.png',
// "enzyme" = 'icons/ui_icons/condiments/enzyme.png',
// "flour" = 'icons/ui_icons/condiments/flour.png',
// "mayonnaise" = 'icons/ui_icons/condiments/mayonnaise.png',
// "milk" = 'icons/ui_icons/condiments/milk.png',
// "blackpepper" = 'icons/ui_icons/condiments/peppermillsmall.png',
// "rice" = 'icons/ui_icons/condiments/rice.png',
// "sodiumchloride" = 'icons/ui_icons/condiments/saltshakersmall.png',
// "soymilk" = 'icons/ui_icons/condiments/soymilk.png',
// "soysauce" = 'icons/ui_icons/condiments/soysauce.png',
// "sugar" = 'icons/ui_icons/condiments/sugar.png',
// "ketchup" = 'icons/ui_icons/condiments/ketchup.png',
// "capsaicin" = 'icons/ui_icons/condiments/hotsauce.png',
// "frostoil" = 'icons/ui_icons/condiments/coldsauce.png',
// "bbqsauce" = 'icons/ui_icons/condiments/bbqsauce.png',
// "cornoil" = 'icons/ui_icons/condiments/oliveoil.png',
// )

View File

@@ -0,0 +1,13 @@
// /datum/asset/spritesheet/fish
// name = "fish"
// /datum/asset/spritesheet/fish/register()
// for (var/path in subtypesof(/datum/aquarium_behaviour/fish))
// var/datum/aquarium_behaviour/fish/fish_type = path
// var/fish_icon = initial(fish_type.icon)
// var/fish_icon_state = initial(fish_type.icon_state)
// var/id = sanitize_css_class_name("[fish_icon][fish_icon_state]")
// if(sprites[id]) //no dupes
// continue
// Insert(id, fish_icon, fish_icon_state)
// ..()

View File

@@ -0,0 +1,8 @@
/datum/asset/simple/namespaced/fontawesome
assets = list(
"fa-regular-400.ttf" = 'html/font-awesome/webfonts/fa-regular-400.ttf',
"fa-solid-900.ttf" = 'html/font-awesome/webfonts/fa-solid-900.ttf',
"fa-v4compatibility.ttf" = 'html/font-awesome/webfonts/fa-v4compatibility.ttf',
"v4shim.css" = 'html/font-awesome/css/v4-shims.min.css',
)
parents = list("font-awesome.css" = 'html/font-awesome/css/all.min.css')

View File

@@ -0,0 +1,6 @@
/datum/asset/simple/genetics
assets = list(
"dna_discovered.gif" = 'html/dna_discovered.gif',
"dna_undiscovered.gif" = 'html/dna_undiscovered.gif',
"dna_extra.gif" = 'html/dna_extra.gif'
)

View File

@@ -0,0 +1,31 @@
/datum/asset/simple/headers
assets = list(
"alarm_green.gif" = 'icons/program_icons/alarm_green.gif',
"alarm_red.gif" = 'icons/program_icons/alarm_red.gif',
"batt_5.gif" = 'icons/program_icons/batt_5.gif',
"batt_20.gif" = 'icons/program_icons/batt_20.gif',
"batt_40.gif" = 'icons/program_icons/batt_40.gif',
"batt_60.gif" = 'icons/program_icons/batt_60.gif',
"batt_80.gif" = 'icons/program_icons/batt_80.gif',
"batt_100.gif" = 'icons/program_icons/batt_100.gif',
"charging.gif" = 'icons/program_icons/charging.gif',
"downloader_finished.gif" = 'icons/program_icons/downloader_finished.gif',
"downloader_running.gif" = 'icons/program_icons/downloader_running.gif',
"ntnrc_idle.gif" = 'icons/program_icons/ntnrc_idle.gif',
"ntnrc_new.gif" = 'icons/program_icons/ntnrc_new.gif',
"power_norm.gif" = 'icons/program_icons/power_norm.gif',
"power_warn.gif" = 'icons/program_icons/power_warn.gif',
"sig_high.gif" = 'icons/program_icons/sig_high.gif',
"sig_low.gif" = 'icons/program_icons/sig_low.gif',
"sig_lan.gif" = 'icons/program_icons/sig_lan.gif',
"sig_none.gif" = 'icons/program_icons/sig_none.gif',
"smmon_0.gif" = 'icons/program_icons/smmon_0.gif',
"smmon_1.gif" = 'icons/program_icons/smmon_1.gif',
"smmon_2.gif" = 'icons/program_icons/smmon_2.gif',
"smmon_3.gif" = 'icons/program_icons/smmon_3.gif',
"smmon_4.gif" = 'icons/program_icons/smmon_4.gif',
"smmon_5.gif" = 'icons/program_icons/smmon_5.gif',
"smmon_6.gif" = 'icons/program_icons/smmon_6.gif',
"borg_mon.gif" = 'icons/program_icons/borg_mon.gif',
"robotact.gif" = 'icons/program_icons/robotact.gif'
)

View File

@@ -0,0 +1,20 @@
/datum/asset/simple/inventory
assets = list(
"inventory-glasses.png" = 'icons/ui_icons/inventory/glasses.png',
"inventory-head.png" = 'icons/ui_icons/inventory/head.png',
"inventory-neck.png" = 'icons/ui_icons/inventory/neck.png',
"inventory-mask.png" = 'icons/ui_icons/inventory/mask.png',
"inventory-ears.png" = 'icons/ui_icons/inventory/ears.png',
"inventory-uniform.png" = 'icons/ui_icons/inventory/uniform.png',
"inventory-suit.png" = 'icons/ui_icons/inventory/suit.png',
"inventory-gloves.png" = 'icons/ui_icons/inventory/gloves.png',
"inventory-hand_l.png" = 'icons/ui_icons/inventory/hand_l.png',
"inventory-hand_r.png" = 'icons/ui_icons/inventory/hand_r.png',
"inventory-shoes.png" = 'icons/ui_icons/inventory/shoes.png',
"inventory-suit_storage.png" = 'icons/ui_icons/inventory/suit_storage.png',
"inventory-id.png" = 'icons/ui_icons/inventory/id.png',
"inventory-belt.png" = 'icons/ui_icons/inventory/belt.png',
"inventory-back.png" = 'icons/ui_icons/inventory/back.png',
"inventory-pocket.png" = 'icons/ui_icons/inventory/pocket.png',
"inventory-collar.png" = 'icons/ui_icons/inventory/collar.png',
)

View File

@@ -0,0 +1,10 @@
/datum/asset/simple/irv
assets = list(
"jquery-ui.custom-core-widgit-mouse-sortable-min.js" = 'html/jquery/jquery-ui.custom-core-widgit-mouse-sortable.min.js',
)
/datum/asset/group/irv
children = list(
/datum/asset/simple/jquery,
/datum/asset/simple/irv
)

View File

@@ -0,0 +1,6 @@
/datum/asset/spritesheet/jobs
name = "jobs"
/datum/asset/spritesheet/jobs/register()
InsertAll("", 'icons/UI_Icons/tgui/jobs.dmi')
..()

View File

@@ -0,0 +1,5 @@
/datum/asset/simple/jquery
legacy = TRUE
assets = list(
"jquery.min.js" = 'html/jquery/jquery.min.js',
)

View File

@@ -0,0 +1,6 @@
//this exists purely to avoid meta by pre-loading all language icons.
/datum/asset/language/register()
for(var/path in typesof(/datum/language))
set waitfor = FALSE
var/datum/language/L = new path ()
L.get_icon()

View File

@@ -0,0 +1,4 @@
/datum/asset/simple/lobby
assets = list(
"playeroptions.css" = 'html/browser/playeroptions.css'
)

View File

@@ -0,0 +1,6 @@
/datum/asset/spritesheet/mafia
name = "mafia"
/datum/asset/spritesheet/mafia/register()
InsertAll("", 'icons/obj/mafia.dmi')
..()

View File

@@ -0,0 +1,28 @@
// /datum/asset/spritesheet/moods
// name = "moods"
// var/iconinserted = 1
// /datum/asset/spritesheet/moods/register()
// for(var/i in 1 to 9)
// var/target_to_insert = "mood"+"[iconinserted]"
// Insert(target_to_insert, 'icons/hud/screen_gen.dmi', target_to_insert)
// iconinserted++
// ..()
// /datum/asset/spritesheet/moods/ModifyInserted(icon/pre_asset)
// var/blended_color
// switch(iconinserted)
// if(1)
// blended_color = "#f15d36"
// if(2 to 3)
// blended_color = "#f38943"
// if(4)
// blended_color = "#dfa65b"
// if(5)
// blended_color = "#4b96c4"
// if(6)
// blended_color = "#86d656"
// else
// blended_color = "#2eeb9a"
// pre_asset.Blend(blended_color, ICON_MULTIPLY)
// return pre_asset

View File

@@ -0,0 +1,7 @@
/datum/asset/simple/notes
assets = list(
"high_button.png" = 'html/high_button.png',
"medium_button.png" = 'html/medium_button.png',
"minor_button.png" = 'html/minor_button.png',
"none_button.png" = 'html/none_button.png',
)

View File

@@ -0,0 +1,4 @@
/datum/asset/simple/orbit
assets = list(
"ghost.png" = 'html/ghost.png'
)

View File

@@ -0,0 +1,19 @@
/datum/asset/spritesheet/simple/paper
name = "paper"
assets = list(
"stamp-clown" = 'icons/stamp_icons/large_stamp-clown.png',
"stamp-deny" = 'icons/stamp_icons/large_stamp-deny.png',
"stamp-ok" = 'icons/stamp_icons/large_stamp-ok.png',
"stamp-hop" = 'icons/stamp_icons/large_stamp-hop.png',
"stamp-cmo" = 'icons/stamp_icons/large_stamp-cmo.png',
"stamp-ce" = 'icons/stamp_icons/large_stamp-ce.png',
"stamp-hos" = 'icons/stamp_icons/large_stamp-hos.png',
"stamp-rd" = 'icons/stamp_icons/large_stamp-rd.png',
"stamp-cap" = 'icons/stamp_icons/large_stamp-cap.png',
"stamp-qm" = 'icons/stamp_icons/large_stamp-qm.png',
"stamp-law" = 'icons/stamp_icons/large_stamp-law.png',
"stamp-chap" = 'icons/stamp_icons/large_stamp-chap.png',
"stamp-mime" = 'icons/stamp_icons/large_stamp-mime.png',
"stamp-centcom" = 'icons/stamp_icons/large_stamp-centcom.png',
"stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png'
)

View File

@@ -0,0 +1,34 @@
/datum/asset/spritesheet/simple/pda
name = "pda"
assets = list(
"atmos" = 'icons/pda_icons/pda_atmos.png',
"back" = 'icons/pda_icons/pda_back.png',
"bell" = 'icons/pda_icons/pda_bell.png',
"blank" = 'icons/pda_icons/pda_blank.png',
"boom" = 'icons/pda_icons/pda_boom.png',
"bucket" = 'icons/pda_icons/pda_bucket.png',
"medbot" = 'icons/pda_icons/pda_medbot.png',
"floorbot" = 'icons/pda_icons/pda_floorbot.png',
"cleanbot" = 'icons/pda_icons/pda_cleanbot.png',
"crate" = 'icons/pda_icons/pda_crate.png',
"cuffs" = 'icons/pda_icons/pda_cuffs.png',
"eject" = 'icons/pda_icons/pda_eject.png',
"flashlight" = 'icons/pda_icons/pda_flashlight.png',
"honk" = 'icons/pda_icons/pda_honk.png',
"mail" = 'icons/pda_icons/pda_mail.png',
"medical" = 'icons/pda_icons/pda_medical.png',
"menu" = 'icons/pda_icons/pda_menu.png',
"mule" = 'icons/pda_icons/pda_mule.png',
"notes" = 'icons/pda_icons/pda_notes.png',
"power" = 'icons/pda_icons/pda_power.png',
"rdoor" = 'icons/pda_icons/pda_rdoor.png',
"reagent" = 'icons/pda_icons/pda_reagent.png',
"refresh" = 'icons/pda_icons/pda_refresh.png',
"scanner" = 'icons/pda_icons/pda_scanner.png',
"signaler" = 'icons/pda_icons/pda_signaler.png',
// "skills" = 'icons/pda_icons/pda_skills.png',
"status" = 'icons/pda_icons/pda_status.png',
"dronephone" = 'icons/pda_icons/pda_dronephone.png',
"emoji" = 'icons/pda_icons/pda_emoji.png'
// "droneblacklist" = 'icons/pda_icons/pda_droneblacklist.png',
)

View File

@@ -0,0 +1,11 @@
/datum/asset/simple/permissions
assets = list(
"search.js" = 'html/admin/search.js',
"panels.css" = 'html/admin/panels.css'
)
/datum/asset/group/permissions
children = list(
/datum/asset/simple/permissions,
/datum/asset/simple/namespaced/common
)

View File

@@ -0,0 +1,26 @@
/datum/asset/spritesheet/simple/pills
name = "pills"
assets = list(
"pill1" = 'icons/ui_icons/pills/pill1.png',
"pill2" = 'icons/ui_icons/pills/pill2.png',
"pill3" = 'icons/ui_icons/pills/pill3.png',
"pill4" = 'icons/ui_icons/pills/pill4.png',
"pill5" = 'icons/ui_icons/pills/pill5.png',
"pill6" = 'icons/ui_icons/pills/pill6.png',
"pill7" = 'icons/ui_icons/pills/pill7.png',
"pill8" = 'icons/ui_icons/pills/pill8.png',
"pill9" = 'icons/ui_icons/pills/pill9.png',
"pill10" = 'icons/ui_icons/pills/pill10.png',
"pill11" = 'icons/ui_icons/pills/pill11.png',
"pill12" = 'icons/ui_icons/pills/pill12.png',
"pill13" = 'icons/ui_icons/pills/pill13.png',
"pill14" = 'icons/ui_icons/pills/pill14.png',
"pill15" = 'icons/ui_icons/pills/pill15.png',
"pill16" = 'icons/ui_icons/pills/pill16.png',
"pill17" = 'icons/ui_icons/pills/pill17.png',
"pill18" = 'icons/ui_icons/pills/pill18.png',
"pill19" = 'icons/ui_icons/pills/pill19.png',
"pill20" = 'icons/ui_icons/pills/pill20.png',
"pill21" = 'icons/ui_icons/pills/pill21.png',
"pill22" = 'icons/ui_icons/pills/pill22.png',
)

View File

@@ -0,0 +1,7 @@
/datum/asset/spritesheet/pipes
name = "pipes"
/datum/asset/spritesheet/pipes/register()
for (var/each in list('icons/obj/atmospherics/pipes/pipe_item.dmi', 'icons/obj/atmospherics/pipes/disposal.dmi', 'icons/obj/atmospherics/pipes/transit_tube.dmi', 'icons/obj/plumbing/fluid_ducts.dmi'))
InsertAll("", each, GLOB.alldirs)
..()

View File

@@ -0,0 +1,23 @@
/datum/asset/simple/portraits
var/tab = "use subtypes of this please"
assets = list()
/datum/asset/simple/portraits/New()
if(!SSpersistence.paintings || !SSpersistence.paintings[tab] || !length(SSpersistence.paintings[tab]))
return
for(var/p in SSpersistence.paintings[tab])
var/list/portrait = p
var/png = "data/paintings/[tab]/[portrait["md5"]].png"
if(fexists(png))
var/asset_name = "[tab]_[portrait["md5"]]"
assets[asset_name] = png
..() //this is where it registers all these assets we added to the list
/datum/asset/simple/portraits/library
tab = "library"
/datum/asset/simple/portraits/library_secure
tab = "library_secure"
/datum/asset/simple/portraits/library_private
tab = "library_private"

View File

@@ -0,0 +1,6 @@
/datum/asset/simple/radar_assets
assets = list(
"ntosradarbackground.png" = 'icons/ui_icons/tgui/ntosradar_background.png',
"ntosradarpointer.png" = 'icons/ui_icons/tgui/ntosradar_pointer.png',
"ntosradarpointerS.png" = 'icons/ui_icons/tgui/ntosradar_pointer_S.png'
)

View File

@@ -0,0 +1,64 @@
// Representative icons for each research design
/datum/asset/spritesheet/research_designs
name = "design"
/datum/asset/spritesheet/research_designs/register()
for (var/path in subtypesof(/datum/design))
var/datum/design/D = path
var/icon_file
var/icon_state
var/icon/I
if(initial(D.research_icon) && initial(D.research_icon_state)) //If the design has an icon replacement skip the rest
icon_file = initial(D.research_icon)
icon_state = initial(D.research_icon_state)
if(!(icon_state in icon_states(icon_file)))
warning("design [D] with icon '[icon_file]' missing state '[icon_state]'")
continue
I = icon(icon_file, icon_state, SOUTH)
else
// construct the icon and slap it into the resource cache
var/atom/item = initial(D.build_path)
if (!ispath(item, /atom))
// biogenerator outputs to beakers by default
if (initial(D.build_type) & BIOGENERATOR)
item = /obj/item/reagent_containers/glass/beaker/large
else
continue // shouldn't happen, but just in case
// circuit boards become their resulting machines or computers
if (ispath(item, /obj/item/circuitboard))
var/obj/item/circuitboard/C = item
var/machine = initial(C.build_path)
if (machine)
item = machine
// Check for GAGS support where necessary
// var/greyscale_config = initial(item.greyscale_config)
// var/greyscale_colors = initial(item.greyscale_colors)
// if (greyscale_config && greyscale_colors)
// icon_file = SSgreyscale.GetColoredIconByType(greyscale_config, greyscale_colors)
// else
icon_file = initial(item.icon)
icon_state = initial(item.icon_state)
if(!(icon_state in icon_states(icon_file)))
warning("design [D] with icon '[icon_file]' missing state '[icon_state]'")
continue
I = icon(icon_file, icon_state, SOUTH)
// computers (and snowflakes) get their screen and keyboard sprites
if (ispath(item, /obj/machinery/computer) || ispath(item, /obj/machinery/power/solar_control))
var/obj/machinery/computer/C = item
var/screen = initial(C.icon_screen)
var/keyboard = initial(C.icon_keyboard)
var/all_states = icon_states(icon_file)
if (screen && (screen in all_states))
I.Blend(icon(icon_file, screen, SOUTH), ICON_OVERLAY)
if (keyboard && (keyboard in all_states))
I.Blend(icon(icon_file, keyboard, SOUTH), ICON_OVERLAY)
Insert(initial(D.id), I)
return ..()

View File

@@ -0,0 +1,4 @@
/datum/asset/simple/safe
assets = list(
"safe_dial.png" = 'html/safe_dial.png'
)

View File

@@ -0,0 +1,9 @@
/datum/asset/spritesheet/sheetmaterials
name = "sheetmaterials"
/datum/asset/spritesheet/sheetmaterials/register()
InsertAll("", 'icons/obj/stack_objects.dmi')
// Special case to handle Bluespace Crystals
Insert("polycrystal", 'icons/obj/telescience.dmi', "polycrystal")
..()

View File

@@ -0,0 +1,28 @@
/datum/asset/spritesheet/supplypods
name = "supplypods"
/datum/asset/spritesheet/supplypods/register()
for (var/style in 1 to length(GLOB.podstyles))
if (style == STYLE_SEETHROUGH)
Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi' , "seethrough-icon"))
continue
var/base = GLOB.podstyles[style][POD_BASE]
if (!base)
Insert("pod_asset[style]", icon('icons/obj/supplypods.dmi', "invisible-icon"))
continue
var/icon/podIcon = icon('icons/obj/supplypods.dmi', base)
var/door = GLOB.podstyles[style][POD_DOOR]
if (door)
door = "[base]_door"
podIcon.Blend(icon('icons/obj/supplypods.dmi', door), ICON_OVERLAY)
var/shape = GLOB.podstyles[style][POD_SHAPE]
if (shape == POD_SHAPE_NORML)
var/decal = GLOB.podstyles[style][POD_DECAL]
if (decal)
podIcon.Blend(icon('icons/obj/supplypods.dmi', decal), ICON_OVERLAY)
var/glow = GLOB.podstyles[style][POD_GLOW]
if (glow)
glow = "pod_glow_[glow]"
podIcon.Blend(icon('icons/obj/supplypods.dmi', glow), ICON_OVERLAY)
Insert("pod_asset[style]", podIcon)
return ..()

View File

@@ -0,0 +1,8 @@
/datum/asset/simple/namespaced/tgfont
assets = list(
"tgfont.eot" = file("tgui/packages/tgfont/dist/tgfont.eot"),
"tgfont.woff2" = file("tgui/packages/tgfont/dist/tgfont.woff2"),
)
parents = list(
"tgfont.css" = file("tgui/packages/tgfont/dist/tgfont.css"),
)

View File

@@ -0,0 +1,13 @@
/datum/asset/simple/tgui
keep_local_name = TRUE
assets = list(
"tgui.bundle.js" = file("tgui/public/tgui.bundle.js"),
"tgui.bundle.css" = file("tgui/public/tgui.bundle.css"),
)
/datum/asset/simple/tgui_panel
keep_local_name = TRUE
assets = list(
"tgui-panel.bundle.js" = file("tgui/public/tgui-panel.bundle.js"),
"tgui-panel.bundle.css" = file("tgui/public/tgui-panel.bundle.css"),
)

View File

@@ -0,0 +1,4 @@
/datum/asset/simple/tutorial_advisors
assets = list(
"chem_help_advisor.gif" = 'icons/ui_icons/advisors/chem_help_advisor.gif',
)

View File

@@ -0,0 +1,37 @@
/datum/asset/spritesheet/vending
name = "vending"
/datum/asset/spritesheet/vending/register()
for (var/k in GLOB.vending_products)
var/atom/item = k
if (!ispath(item, /atom))
continue
var/icon_file
// if (initial(item.greyscale_colors) && initial(item.greyscale_config))
// icon_file = SSgreyscale.GetColoredIconByType(initial(item.greyscale_config), initial(item.greyscale_colors))
// else
icon_file = initial(item.icon)
var/icon_state = initial(item.icon_state)
var/icon/I
var/icon_states_list = icon_states(icon_file)
if(icon_state in icon_states_list)
I = icon(icon_file, icon_state, SOUTH)
var/c = initial(item.color)
if (!isnull(c) && c != "#FFFFFF")
I.Blend(c, ICON_MULTIPLY)
else
var/icon_states_string
for (var/an_icon_state in icon_states_list)
if (!icon_states_string)
icon_states_string = "[json_encode(an_icon_state)](\ref[an_icon_state])"
else
icon_states_string += ", [json_encode(an_icon_state)](\ref[an_icon_state])"
stack_trace("[item] does not have a valid icon state, icon=[icon_file], icon_state=[json_encode(icon_state)](\ref[icon_state]), icon_states=[icon_states_string]")
I = icon('icons/turf/floors.dmi', "", SOUTH)
var/imgid = replacetext(replacetext("[item]", "/obj/item/", ""), "/", "-")
Insert(imgid, I)
return ..()

View File

@@ -0,0 +1,4 @@
/datum/asset/simple/vv
assets = list(
"view_variables.css" = 'html/admin/view_variables.css'
)

View File

@@ -1,6 +1,6 @@
Due to the fact browse_rsc can't create subdirectories, every time you update font-awesome you'll need to change relative webfont references in all.min.css Due to the fact browse_rsc can't create subdirectories, every time you update font-awesome you'll need to change relative webfont references in all.min.css
eg ../webfonts/fa-regular-400.ttf => fa-regular-400.ttf (or whatever you call it in asset datum) eg ../webfonts/fa-regular-400.ttf => fa-regular-400.ttf (or whatever you call it in asset datum)
Second change is ripping out file types other than woff and eot(ie8) from the css Second change is ripping out file types other than ~~ woff and eot(ie8)~~ ttf from the css
Finally, removing brand related css. Finally, removing brand related css.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1865,7 +1865,43 @@
#include "code\modules\asset_cache\asset_cache_client.dm" #include "code\modules\asset_cache\asset_cache_client.dm"
#include "code\modules\asset_cache\asset_cache_item.dm" #include "code\modules\asset_cache\asset_cache_item.dm"
#include "code\modules\asset_cache\asset_list.dm" #include "code\modules\asset_cache\asset_list.dm"
#include "code\modules\asset_cache\asset_list_items.dm" #include "code\modules\asset_cache\assets\achievements.dm"
#include "code\modules\asset_cache\assets\adventure.dm"
#include "code\modules\asset_cache\assets\arcade.dm"
#include "code\modules\asset_cache\assets\chat.dm"
#include "code\modules\asset_cache\assets\circuits.dm"
#include "code\modules\asset_cache\assets\common.dm"
#include "code\modules\asset_cache\assets\condiments.dm"
#include "code\modules\asset_cache\assets\fish.dm"
#include "code\modules\asset_cache\assets\fontawesome.dm"
#include "code\modules\asset_cache\assets\genetics.dm"
#include "code\modules\asset_cache\assets\headers.dm"
#include "code\modules\asset_cache\assets\inventory.dm"
#include "code\modules\asset_cache\assets\irv.dm"
#include "code\modules\asset_cache\assets\jobs.dm"
#include "code\modules\asset_cache\assets\jquery.dm"
#include "code\modules\asset_cache\assets\languages.dm"
#include "code\modules\asset_cache\assets\lobby.dm"
#include "code\modules\asset_cache\assets\mafia.dm"
#include "code\modules\asset_cache\assets\moods.dm"
#include "code\modules\asset_cache\assets\notes.dm"
#include "code\modules\asset_cache\assets\orbit.dm"
#include "code\modules\asset_cache\assets\paper.dm"
#include "code\modules\asset_cache\assets\pda.dm"
#include "code\modules\asset_cache\assets\permissions.dm"
#include "code\modules\asset_cache\assets\pills.dm"
#include "code\modules\asset_cache\assets\pipes.dm"
#include "code\modules\asset_cache\assets\portraits.dm"
#include "code\modules\asset_cache\assets\radar.dm"
#include "code\modules\asset_cache\assets\research_designs.dm"
#include "code\modules\asset_cache\assets\safe.dm"
#include "code\modules\asset_cache\assets\sheetmaterials.dm"
#include "code\modules\asset_cache\assets\supplypods.dm"
#include "code\modules\asset_cache\assets\tgfont.dm"
#include "code\modules\asset_cache\assets\tgui.dm"
#include "code\modules\asset_cache\assets\tutorial_advisors.dm"
#include "code\modules\asset_cache\assets\vending.dm"
#include "code\modules\asset_cache\assets\vv.dm"
#include "code\modules\asset_cache\transports\asset_transport.dm" #include "code\modules\asset_cache\transports\asset_transport.dm"
#include "code\modules\asset_cache\transports\webroot_transport.dm" #include "code\modules\asset_cache\transports\webroot_transport.dm"
#include "code\modules\atmospherics\multiz.dm" #include "code\modules\atmospherics\multiz.dm"