mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
Improve SStitle. No delay icon loading (#25541)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user