Files
Yogstation/code/controllers/subsystem/title.dm
monster860 8de16779d6 Replays 2.0 (#16211)
* C++ demo

* linuxy shit

* Working linuxy shit

* demo writer is necessary I guess

* use the working one

Co-authored-by: TheGamerdk <5618080+TheGamerdk@users.noreply.github.com>
2022-11-21 23:11:17 +00:00

72 lines
1.9 KiB
Plaintext

SUBSYSTEM_DEF(title)
name = "Title Screen"
flags = SS_NO_FIRE
init_order = INIT_ORDER_TITLE
var/file_path
var/icon/icon
var/icon/previous_icon
var/turf/closed/indestructible/splashscreen/splash_turf
/datum/controller/subsystem/title/Initialize()
if(file_path && icon)
return
if(fexists("data/previous_title.dat"))
var/previous_path = file2text("data/previous_title.dat")
if(istext(previous_path))
previous_icon = new(previous_icon)
fdel("data/previous_title.dat")
var/list/provisional_title_screens = flist("[global.config.directory]/title_screens/images/")
var/list/title_screens = list()
var/use_rare_screens = prob(1)
SSmapping.HACK_LoadMapConfig()
for(var/S in provisional_title_screens)
var/list/L = splittext(S,"+")
if((L.len == 1 && L[1] != "blank.png")|| (L.len > 1 && ((use_rare_screens && lowertext(L[1]) == "rare") || (lowertext(L[1]) == lowertext(SSmapping.config.map_name)))))
title_screens += S
if(length(title_screens))
file_path = "[global.config.directory]/title_screens/images/[pick(title_screens)]"
if(!file_path)
file_path = "icons/default_title.dmi"
ASSERT(fexists(file_path))
icon = new(fcopy_rsc(file_path))
if(splash_turf)
splash_turf.icon = icon
return ..()
/datum/controller/subsystem/title/vv_edit_var(var_name, var_value)
. = ..()
if(.)
switch(var_name)
if("icon")
if(splash_turf)
splash_turf.icon = icon
/datum/controller/subsystem/title/proc/fadeout()
for(var/thing in GLOB.clients)
if(!thing)
continue
var/atom/movable/screen/splash/S = new(thing, FALSE)
S.Fade(FALSE,FALSE)
SSdemo.flush()
/datum/controller/subsystem/title/Shutdown()
if(file_path)
var/F = file("data/previous_title.dat")
WRITE_FILE(F, file_path)
/datum/controller/subsystem/title/Recover()
icon = SStitle.icon
splash_turf = SStitle.splash_turf
file_path = SStitle.file_path
previous_icon = SStitle.previous_icon