diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm index 6bdcdccf5c..68c569c04e 100644 --- a/code/modules/client/preference_setup/global/01_ui.dm +++ b/code/modules/client/preference_setup/global/01_ui.dm @@ -3,28 +3,30 @@ sort_order = 1 /datum/category_item/player_setup_item/player_global/ui/load_preferences(var/savefile/S) - S["UI_style"] >> pref.UI_style - S["UI_style_color"] >> pref.UI_style_color - S["UI_style_alpha"] >> pref.UI_style_alpha - S["ooccolor"] >> pref.ooccolor - S["tooltipstyle"] >> pref.tooltipstyle - S["client_fps"] >> pref.client_fps - S["ambience_freq"] >> pref.ambience_freq - S["ambience_chance"] >> pref.ambience_chance - S["tgui_fancy"] >> pref.tgui_fancy - S["tgui_lock"] >> pref.tgui_lock + S["UI_style"] >> pref.UI_style + S["UI_style_color"] >> pref.UI_style_color + S["UI_style_alpha"] >> pref.UI_style_alpha + S["ooccolor"] >> pref.ooccolor + S["tooltipstyle"] >> pref.tooltipstyle + S["client_fps"] >> pref.client_fps + S["ambience_freq"] >> pref.ambience_freq + S["ambience_chance"] >> pref.ambience_chance + S["tgui_fancy"] >> pref.tgui_fancy + S["tgui_lock"] >> pref.tgui_lock + S["tgui_input_mode"] >> pref.tgui_input_mode /datum/category_item/player_setup_item/player_global/ui/save_preferences(var/savefile/S) - S["UI_style"] << pref.UI_style - S["UI_style_color"] << pref.UI_style_color - S["UI_style_alpha"] << pref.UI_style_alpha - S["ooccolor"] << pref.ooccolor - S["tooltipstyle"] << pref.tooltipstyle - S["client_fps"] << pref.client_fps - S["ambience_freq"] << pref.ambience_freq - S["ambience_chance"] << pref.ambience_chance - S["tgui_fancy"] << pref.tgui_fancy - S["tgui_lock"] << pref.tgui_lock + S["UI_style"] << pref.UI_style + S["UI_style_color"] << pref.UI_style_color + S["UI_style_alpha"] << pref.UI_style_alpha + S["ooccolor"] << pref.ooccolor + S["tooltipstyle"] << pref.tooltipstyle + S["client_fps"] << pref.client_fps + S["ambience_freq"] << pref.ambience_freq + S["ambience_chance"] << pref.ambience_chance + S["tgui_fancy"] << pref.tgui_fancy + S["tgui_lock"] << pref.tgui_lock + S["tgui_input_mode"] << pref.tgui_input_mode /datum/category_item/player_setup_item/player_global/ui/sanitize_preferences() pref.UI_style = sanitize_inlist(pref.UI_style, all_ui_styles, initial(pref.UI_style)) @@ -35,8 +37,9 @@ pref.client_fps = sanitize_integer(pref.client_fps, 0, MAX_CLIENT_FPS, initial(pref.client_fps)) pref.ambience_freq = sanitize_integer(pref.ambience_freq, 0, 60, initial(pref.ambience_freq)) // No more than once per hour. pref.ambience_chance = sanitize_integer(pref.ambience_chance, 0, 100, initial(pref.ambience_chance)) // 0-100 range. - pref.tgui_fancy = sanitize_integer(pref.tgui_fancy, 0, 1, initial(pref.tgui_fancy)) - pref.tgui_lock = sanitize_integer(pref.tgui_lock, 0, 1, initial(pref.tgui_lock)) + pref.tgui_fancy = sanitize_integer(pref.tgui_fancy, 0, 1, initial(pref.tgui_fancy)) + pref.tgui_lock = sanitize_integer(pref.tgui_lock, 0, 1, initial(pref.tgui_lock)) + pref.tgui_input_mode = sanitize_integer(pref.tgui_input_mode, 0, 1, initial(pref.tgui_input_mode)) /datum/category_item/player_setup_item/player_global/ui/content(var/mob/user) . = "UI Style: [pref.UI_style]
" @@ -49,6 +52,7 @@ . += "Ambience Chance: [pref.ambience_chance]
" . += "tgui Window Mode: [(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]
" . += "tgui Window Placement: [(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]
" + . += "Input Mode (Say, Me, Whisper, Subtle): [(pref.tgui_input_mode) ? "TGUI" : "BYOND (default)"]
" if(can_select_ooc_color(user)) . += "OOC Color:" if(pref.ooccolor == initial(pref.ooccolor)) @@ -118,6 +122,10 @@ pref.tgui_lock = !pref.tgui_lock return TOPIC_REFRESH + else if(href_list["tgui_input_mode"]) + pref.tgui_input_mode = !pref.tgui_input_mode + return TOPIC_REFRESH + else if(href_list["reset"]) switch(href_list["reset"]) if("ui") diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index e4b7c74dcf..d95a3350fa 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -28,6 +28,7 @@ var/list/preferences_datums = list() var/tgui_fancy = TRUE var/tgui_lock = FALSE + var/tgui_input_mode = FALSE // Say, Me, Whisper, Subtle Input Mode; Disabled by default; FALSE = BYOND, TRUE = TGUI //character preferences var/real_name //our character's name diff --git a/code/modules/mob/typing_indicator.dm b/code/modules/mob/typing_indicator.dm index 35fe2d8bbb..7ab6de6fe5 100644 --- a/code/modules/mob/typing_indicator.dm +++ b/code/modules/mob/typing_indicator.dm @@ -40,7 +40,11 @@ set hidden = 1 set_typing_indicator(TRUE) - var/message = tgui_input_text(usr, "Type your message:", "Say") + var/message + if(usr.client.prefs.tgui_input_mode) + message = tgui_input_text(usr, "Type your message:", "Say") + else + message = input(usr, "Type your message:", "Say") as text set_typing_indicator(FALSE) if(message) @@ -51,7 +55,11 @@ set hidden = 1 set_typing_indicator(TRUE) - var/message = tgui_input_message(usr, "Type your message:", "Emote") + var/message + if(usr.client.prefs.tgui_input_mode) + message = tgui_input_message(usr, "Type your message:", "Emote") + else + message = input(usr, "Type your message:", "Emote") as message set_typing_indicator(FALSE) if(message) @@ -62,7 +70,12 @@ set name = ".Whisper" set hidden = 1 - var/message = tgui_input_text(usr, "Type your message:", "Whisper") + var/message + if(usr.client.prefs.tgui_input_mode) + message = tgui_input_text(usr, "Type your message:", "Whisper") + else + message = input(usr, "Type your message:", "Whisper") as text + if(message) whisper(message) @@ -70,6 +83,11 @@ set name = ".Subtle" set hidden = 1 - var/message = tgui_input_message(usr, "Type your message:", "Subtle") + var/message + if(usr.client.prefs.tgui_input_mode) + message = tgui_input_message(usr, "Type your message:", "Subtle") + else + message = input(usr, "Type your message:", "Subtle") as message + if(message) me_verb_subtle(message)