only show available screen resolutions

setdesktopres was replaced by two variables reflecting the desktop
resolution (or zero, if not available): desktopw and desktoph

getdisplayresolutions returns a list of available screen resolutions

DOCREF getdisplayresolutions desktopw desktoph setdesktopres
This commit is contained in:
ac-stef
2016-11-24 00:32:07 +01:00
parent 60a7fa9e17
commit 570e6aba2f
2 changed files with 39 additions and 29 deletions
+21 -16
View File
@@ -52,7 +52,9 @@ menuitemtextinput [Nickname: ] [] [ name $arg1 ]
menuitemcheckbox [Use high-res player skins] "(>= (findlist (zipmodlist active) protox_hq_reskin) 0)" [ if $arg1 [addzipmod protox_hq_reskin] [zipmodremove protox_hq_reskin] ]
menuitemtextinput [Resolution (width): ] "$scr_w" [ scr_w $arg1 ]
menuitemtextinput [Resolution (height): ] "$scr_h" [ scr_h $arg1 ]
menuitem "\f2Set\f5 resolution as in desktop" [ setdesktopres; refreshcurmenudelayed ]
if (&& $desktopw $desktoph) [
menuitem (concatword "\f2Set\f5 resolution as in desktop (" $desktopw "x" $desktoph ")") [ scr_w $desktopw ; scr_h $desktoph ; refreshcurmenudelayed ]
]
menuitemcheckbox [Fullscreen: ] "$fullscreen" [ fullscreen $arg1 ]
menuitemtextinput [Mouse sensitivity: ] "$sensitivity" [ sensitivity $arg1 ]
menuitemcheckbox [Reduced violence mode: ] "$poniesmodeon" [ reducedviolencemode $arg1 ]
@@ -324,7 +326,9 @@ newmenu video
menuitemtextinput [Screen width: ] "$scr_w" [ scr_w $arg1 ] [] 11
menuitemtextinput [Screen height: ] "$scr_h" [ scr_h $arg1 ] [] 11
menuitem "\f2Set\f5 resolution as in desktop" [ setdesktopres; refreshcurmenudelayed ]
if (&& $desktopw $desktoph) [
menuitem (concatword "\f2Set\f5 resolution as in desktop (" $desktopw "x" $desktoph ")") [ scr_w $desktopw ; scr_h $desktoph ; refreshcurmenudelayed ]
]
menuitem [Choose resolution from list...] [ showmenu [Display resolutions] ]
menuitem [] -1
menuitemslider [Graphics detail: ] 1 6 "$gfxqualityalias" 1 [Horrible Low Medium Good High "INSANE! (May perform slowly on older gfx)"] [ new_gfx_quality $arg1 ]
@@ -342,20 +346,21 @@ menuitem [] -1
menuitem "\f2\t\t\t [ Apply now! ]" [ resetgl ]
newmenu [Display resolutions]
menuitem " 640x480\t(4:3)" [ scr_w 640; scr_h 480; closecurmenu ]
menuitem " 800x600\t(4:3)" [ scr_w 800; scr_h 600; closecurmenu ]
menuitem "1024x768\t(4:3)" [ scr_w 1024; scr_h 768; closecurmenu ]
menuitem "1280x720\t(16:9)" [ scr_w 1280; scr_h 720; closecurmenu ]
menuitem "1280x800\t(16:10)" [ scr_w 1280; scr_h 800; closecurmenu ]
menuitem "1280x1024\t(5:4)" [ scr_w 1280; scr_h 1024; closecurmenu ]
menuitem "1360x768\t(~16:9)" [ scr_w 1360; scr_h 768; closecurmenu ]
menuitem "1366x768\t(~16:9)" [ scr_w 1366; scr_h 768; closecurmenu ]
menuitem "1440x900\t(16:10)" [ scr_w 1440; scr_h 900; closecurmenu ]
menuitem "1600x900\t(16:9)" [ scr_w 1600; scr_h 900; closecurmenu ]
menuitem "1680x1050\t(16:10)" [ scr_w 1680; scr_h 1050; closecurmenu ]
menuitem "1920x1080\t(16:9)" [ scr_w 1920; scr_h 1080; closecurmenu ]
menuitem "1920x1200\t(16:10)" [ scr_w 1920; scr_h 1200; closecurmenu ]
looplist (getdisplayresolutions) [w h] [
push desc ""
push r (div (* $w 1000) $h)
looplist [1250 5:4 1333 4:3 1777 16:9 1600 16:10] [nr nd] [
if (= $r $nr) [
desc = $nd
][
if (= (div $r 10) (div $nr 10)) [
desc = (concatword "~" $nd)
]
]
]
if (< $w 1000) [ r = " " ] [ r = "" ]
menuitem (concatword (pop r) $w x $h "\t(" (pop desc) ")") (concat scr_w $w ";" scr_h $h ";" closecurmenu)
]
const fsaa_valuemap [-1 0 2 4 8 16]
const aniso_valuemap [0 2 4 8 16]