mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-14 04:02:31 +00:00
[MIRROR] CMSS Lobby Screen (#10774)
Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> Co-authored-by: tacoguy7765093 <karokaromaro@gmail.com>
This commit is contained in:
committed by
GitHub
parent
1a2848f1b2
commit
66a437de08
@@ -279,7 +279,7 @@ SUBSYSTEM_DEF(tgui)
|
||||
if(length(user?.tgui_open_uis) == 0)
|
||||
return count
|
||||
for(var/datum/tgui/ui in user.tgui_open_uis)
|
||||
if(isnull(src_object) || ui.src_object == src_object)
|
||||
if((isnull(src_object) || ui.src_object == src_object) && ui.closeable)
|
||||
ui.close(logout = logout)
|
||||
count++
|
||||
return count
|
||||
|
||||
@@ -421,8 +421,6 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
if(new_char)
|
||||
qdel(player)
|
||||
if(new_char.client)
|
||||
var/obj/screen/splash/S = new(new_char.client, TRUE)
|
||||
S.Fade(TRUE)
|
||||
new_char.client.init_verbs()
|
||||
|
||||
// If they're a carbon, they can get manifested
|
||||
|
||||
@@ -1,96 +0,0 @@
|
||||
SUBSYSTEM_DEF(title)
|
||||
name = "Title Screen"
|
||||
flags = SS_NO_FIRE
|
||||
init_order = INIT_ORDER_TITLE
|
||||
// init_stage = INITSTAGE_EARLY
|
||||
|
||||
var/file_path
|
||||
var/icon/icon
|
||||
var/icon_state
|
||||
var/icon/previous_icon
|
||||
var/turf/closed/indestructible/splashscreen/splash_turf
|
||||
|
||||
/datum/controller/subsystem/title/Initialize()
|
||||
if(file_path && icon)
|
||||
return SS_INIT_SUCCESS
|
||||
/*
|
||||
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)
|
||||
|
||||
for(var/S in provisional_title_screens)
|
||||
var/list/L = splittext(S,"+")
|
||||
if((L.len == 1 && (L[1] != "exclude" && L[1] != "blank.png")) || (L.len > 1 && ((use_rare_screens && LOWER_TEXT(L[1]) == "rare") || (LOWER_TEXT(L[1]) == LOWER_TEXT(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/runtime/default_title.dmi"
|
||||
|
||||
ASSERT(fexists(file_path))
|
||||
|
||||
icon = new(fcopy_rsc(file_path))
|
||||
*/
|
||||
icon = new(using_map.lobby_icon)
|
||||
var/known_icon_states = cached_icon_states(icon)
|
||||
for(var/lobby_screen in using_map.lobby_screens)
|
||||
if(!(lobby_screen in known_icon_states))
|
||||
error("Lobby screen '[lobby_screen]' did not exist in the icon set [icon].")
|
||||
using_map.lobby_screens -= lobby_screen
|
||||
|
||||
if(using_map.lobby_screens.len)
|
||||
icon_state = pick(using_map.lobby_screens)
|
||||
else
|
||||
icon_state = known_icon_states[1]
|
||||
|
||||
if(splash_turf)
|
||||
splash_turf.icon = icon
|
||||
splash_turf.icon_state = icon_state
|
||||
splash_turf.handle_generic_titlescreen_sizes()
|
||||
|
||||
return SS_INIT_SUCCESS
|
||||
|
||||
/datum/controller/subsystem/title/vv_edit_var(var_name, var_value)
|
||||
. = ..()
|
||||
if(.)
|
||||
switch(var_name)
|
||||
if(NAMEOF(src, icon))
|
||||
if(splash_turf)
|
||||
splash_turf.icon = icon
|
||||
|
||||
/datum/controller/subsystem/title/Shutdown()
|
||||
/*if(file_path)
|
||||
var/F = file("data/previous_title.dat")
|
||||
WRITE_FILE(F, file_path)*/
|
||||
|
||||
/*for(var/thing in GLOB.clients)
|
||||
if(!thing)
|
||||
continue
|
||||
var/atom/movable/screen/splash/S = new(thing, FALSE)
|
||||
S.Fade(FALSE,FALSE)*/
|
||||
|
||||
/datum/controller/subsystem/title/Recover()
|
||||
icon = SStitle.icon
|
||||
splash_turf = SStitle.splash_turf
|
||||
file_path = SStitle.file_path
|
||||
previous_icon = SStitle.previous_icon
|
||||
|
||||
// Must be immediate because players will
|
||||
// join before SSatom initializes everything.
|
||||
INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player)
|
||||
|
||||
/obj/effect/landmark/start/new_player
|
||||
name = "New Player"
|
||||
|
||||
/obj/effect/landmark/start/new_player/Initialize(mapload)
|
||||
..()
|
||||
GLOB.newplayer_start += loc
|
||||
return INITIALIZE_HINT_QDEL
|
||||
Reference in New Issue
Block a user