Improve SStitle. No delay icon loading (#25541)

This commit is contained in:
Cyberboss
2017-03-28 15:40:37 -03:00
committed by Leo
parent 2552f6ba47
commit 7ad4aa7a19
5 changed files with 49 additions and 42 deletions
-10
View File
@@ -8,7 +8,6 @@ var/datum/controller/subsystem/mapping/SSmapping
var/list/nuke_tiles = list()
var/list/nuke_threats = list()
var/datum/map_config/previous_map_config
var/datum/map_config/config
var/datum/map_config/next_map_config
@@ -23,10 +22,6 @@ var/datum/controller/subsystem/mapping/SSmapping
/datum/controller/subsystem/mapping/New()
NEW_SS_GLOBAL(SSmapping)
if(!previous_map_config)
previous_map_config = new("data/previous_map.json", delete_after = TRUE)
if(previous_map_config.defaulted)
previous_map_config = null
if(!config)
#ifdef FORCE_MAP
config = new(FORCE_MAP)
@@ -97,7 +92,6 @@ var/datum/controller/subsystem/mapping/SSmapping
shuttle_templates = SSmapping.shuttle_templates
shelter_templates = SSmapping.shelter_templates
previous_map_config = SSmapping.previous_map_config
config = SSmapping.config
next_map_config = SSmapping.next_map_config
@@ -194,10 +188,6 @@ var/datum/controller/subsystem/mapping/SSmapping
next_map_config = VM
return TRUE
/datum/controller/subsystem/mapping/Shutdown()
if(config)
config.MakePreviousMap()
/datum/controller/subsystem/mapping/proc/preloadTemplates(path = "_maps/templates/") //see master controller setup
var/list/filelist = flist(path)
for(var/map in filelist)
+39 -24
View File
@@ -2,38 +2,53 @@ var/datum/controller/subsystem/title/SStitle
/datum/controller/subsystem/title
name = "Title Screen"
init_order = 15
flags = SS_NO_FIRE
var/turf/closed/indestructible/splashscreen/title_screen
flags = SS_NO_FIRE|SS_NO_INIT
var/file_path
var/icon/icon
var/icon/previous_icon
var/turf/closed/indestructible/splashscreen/splash_turf
/datum/controller/subsystem/title/New()
NEW_SS_GLOBAL(SStitle)
/datum/controller/subsystem/title/Initialize()
if(file_path && icon)
return
if(fexists("data/previous_title.dat"))
previous_icon = new("data/previous_title.dat")
fdel("data/previous_title.dat") //linger not
var/list/provisional_title_screens = flist("config/title_screens/images/")
var/list/title_screens = list()
var/use_rare_screens = FALSE
var/use_rare_screens = prob(1)
if(title_screen)
if(prob(1))
use_rare_screens = TRUE
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
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(!isemptylist(title_screens))
if(length(title_screens) > 1)
for(var/S in title_screens)
var/list/L = splittext(S,".")
if(L.len != 2 || L[1] != "default")
continue
title_screens -= S
break
if(!isemptylist(title_screens))
if(length(title_screens) > 1)
for(var/S in title_screens)
var/list/L = splittext(S,".")
if(L.len != 2 || L[1] != "default")
continue
title_screens -= S
break
file_path = "config/title_screens/images/[pick(title_screens)]"
icon = new(file_path)
var/path_string = "config/title_screens/images/[pick(title_screens)]"
var/icon/screen_to_use = new(path_string)
if(splash_turf)
splash_turf.icon = icon
title_screen.icon = screen_to_use
..()
/datum/controller/subsystem/title/Shutdown()
if(file_path)
fcopy(file_path, "data/previous_title.dat")
/datum/controller/subsystem/title/Recover()
icon = SStitle.icon
splash_turf = SStitle.splash_turf
file_path = SStitle.file_path
previous_icon = SStitle.previous_icon