Ports CM's langchat to replace floating chat. (#20818)

Works generally better and will allow for better customization and emote
display.

---------

Co-authored-by: realmattatlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2025-07-07 23:55:26 +00:00
committed by GitHub
co-authored by realmattatlas
parent 2700e9b9ca
commit 1738301ea7
26 changed files with 533 additions and 245 deletions
+4
View File
@@ -100,3 +100,7 @@
/// The DPI scale of the client. 1 is equivalent to 100% window scaling, 2 will be 200% window scaling
var/window_scaling
//screen_text vars
///lazylist of screen_texts for this client, first in this list is the one playing
var/list/atom/movable/screen/text/screen_text/screen_texts
+2
View File
@@ -386,6 +386,8 @@ GLOBAL_LIST_INIT(localhost_addresses, list(
// Forcibly enable hardware-accelerated graphics, as we need them for the lighting overlays.
winset(src, null, "command=\".configure graphics-hwmode on\"")
winset(src, "map", "style=\"[MAP_STYLESHEET]\"")
if(IsGuestKey(key) && GLOB.config.external_auth)
src.authed = FALSE
var/mob/abstract/unauthed/m = new()
@@ -262,7 +262,7 @@
pref.floating_chat_color = new_fc_color
var/mob/living/carbon/human/H = preference_mob()
if(ishuman(H))
H.set_floating_chat_color(new_fc_color)
H.langchat_color = pref.floating_chat_color
return TOPIC_REFRESH
else if(href_list["speech_bubble_type"])
+1 -1
View File
@@ -412,7 +412,7 @@ GLOBAL_LIST_EMPTY_TYPED(preferences_datums, /datum/preferences)
character.set_species(species)
if(character.dna)
character.dna.real_name = character.real_name
character.set_floating_chat_color(floating_chat_color)
character.langchat_color = floating_chat_color
character.flavor_texts["general"] = flavor_texts["general"]
character.flavor_texts[BP_HEAD] = flavor_texts[BP_HEAD]