diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index 5727a024149..83cb1c1703d 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -65,6 +65,7 @@ #define PARALLAX_IS_STATIC 0x8 #define FLOATING_MESSAGES 0x10 #define HOTKEY_DEFAULT 0x20 +#define FULLSCREEN_MODE 0x40 #define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_ATTACKLOGS|CHAT_LOOC|CHAT_GHOSTLOOC) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 1dc4969e71c..de1da32853c 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -391,6 +391,9 @@ var/list/localhost_addresses = list( if (byond_version >= 511 && prefs.clientfps) fps = prefs.clientfps + if(prefs.toggles_secondary & FULLSCREEN_MODE) + toggle_fullscreen(TRUE) + /client/proc/InitClient() to_chat(src, "If the title screen is black, resources are still downloading. Please be patient until the title screen appears.") @@ -598,6 +601,24 @@ var/list/localhost_addresses = list( if(prefs) prefs.ShowChoices(usr) +/client/verb/toggle_fullscreen_preference() + set name = "Toggle Fullscreen Preference" + set category = "Preferences" + set desc = "Toggles whether the game window will be true fullscreen or normal." + + prefs.toggles_secondary ^= FULLSCREEN_MODE + prefs.save_preferences() + toggle_fullscreen(prefs.toggles_secondary & FULLSCREEN_MODE) + +/client/proc/toggle_fullscreen(new_value) + if(new_value) + winset(src, "mainwindow", "is-maximized=false;can-resize=false;titlebar=false;menu=menu") + winset(src, "mainwindow.mainvsplit", "pos=0x0") + else + winset(src, "mainwindow", "is-maximized=false;can-resize=true;titlebar=true;menu=menu") + winset(src, "mainwindow.mainvsplit", "pos=3x0") + winset(src, "mainwindow", "is-maximized=true") + /client/proc/apply_fps(var/client_fps) if(world.byond_version >= 511 && byond_version >= 511 && client_fps >= 0 && client_fps <= 1000) vars["fps"] = prefs.clientfps diff --git a/html/changelogs/geeves-fullscreen_mode.yml b/html/changelogs/geeves-fullscreen_mode.yml new file mode 100644 index 00000000000..e36e898c737 --- /dev/null +++ b/html/changelogs/geeves-fullscreen_mode.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added a fullscreen mode. Head to the Preferences tab and hit Toggle Fullscreen Preference to enable it." \ No newline at end of file diff --git a/interface/skin.dmf b/interface/skin.dmf index a66221efd95..08966790d7c 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -803,6 +803,11 @@ menu "menu" command = ".screenshot auto" category = "&File" saved-params = "is-checked" + elem + name = "&Options and Messages" + command = ".options" + category = "&File" + saved-params = "is-checked" elem name = "&Save screenshot as...\tShift+F2" command = ".screenshot"