From b942a64fc285688a83e55a4966d9d085d3a1d2cc Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 25 Nov 2022 18:01:08 +0000 Subject: [PATCH] Comfort Vignette (@MuadDib) + haptic intensity menu control --- .../Android/jni/JKVR/JKVR_SurfaceView.cpp | 6 + Projects/Android/jni/JKVR/VrClientInfo.h | 2 + Projects/Android/jni/JKVR/VrCvars.h | 1 + Projects/Android/jni/JKVR/VrInputCommon.cpp | 1 + .../jni/OpenJK/codeJK2/cgame/cg_draw.cpp | 78 ++ .../jni/OpenJK/codeJK2/cgame/cg_main.cpp | 2 + .../jni/OpenJK/codeJK2/cgame/cg_media.h | 2 + assets/z_vr_assets.pk3 | Bin 1368624 -> 1406430 bytes z_vr_assets/gfx/vignette.tga | Bin 0 -> 378379 bytes z_vr_assets/strip/menus_vr.sp | 28 +- z_vr_assets/ui/controls.menu | 934 +++++++++-------- z_vr_assets/ui/ingamecontrols.menu | 947 ++++++++++-------- 12 files changed, 1196 insertions(+), 805 deletions(-) create mode 100644 z_vr_assets/gfx/vignette.tga diff --git a/Projects/Android/jni/JKVR/JKVR_SurfaceView.cpp b/Projects/Android/jni/JKVR/JKVR_SurfaceView.cpp index c50725b..9f8ea23 100644 --- a/Projects/Android/jni/JKVR/JKVR_SurfaceView.cpp +++ b/Projects/Android/jni/JKVR/JKVR_SurfaceView.cpp @@ -818,6 +818,11 @@ void updateHMDOrientation() { VectorCopy(vr.weaponangles, vr.weaponangles_first); } + + // View yaw delta + float clientview_yaw = vr.clientviewangles[YAW] - vr.hmdorientation[YAW]; + vr.clientview_yaw_delta = vr.clientview_yaw_last - clientview_yaw; + vr.clientview_yaw_last = clientview_yaw; } void setHMDPosition( float x, float y, float z ) @@ -1345,6 +1350,7 @@ void JKVR_Init() vr_irl_crouch_to_stand_ratio = Cvar_Get ("vr_irl_crouch_to_stand_ratio", "0.65", CVAR_ARCHIVE); vr_saber_block_debounce_time = Cvar_Get ("vr_saber_block_debounce_time", "200", CVAR_ARCHIVE); vr_haptic_intensity = Cvar_Get ("vr_haptic_intensity", "1.0", CVAR_ARCHIVE); + vr_comfort_vignette = Cvar_Get ("vr_comfort_vignette", "0.0", CVAR_ARCHIVE); cvar_t *expanded_menu_enabled = Cvar_Get ("expanded_menu_enabled", "0", CVAR_ARCHIVE); if (FS_FileExists("expanded_menu.pk3")) { diff --git a/Projects/Android/jni/JKVR/VrClientInfo.h b/Projects/Android/jni/JKVR/VrClientInfo.h index 5e5c163..6532723 100644 --- a/Projects/Android/jni/JKVR/VrClientInfo.h +++ b/Projects/Android/jni/JKVR/VrClientInfo.h @@ -44,6 +44,8 @@ typedef struct { vec3_t clientviewangles; //orientation in the client - we use this in the cgame float snapTurn; // how much turn has been applied to the yaw by joystick + float clientview_yaw_last; // Don't use this, it is just for calculating delta! + float clientview_yaw_delta; vec3_t weaponposition; vec3_t weaponoffset; diff --git a/Projects/Android/jni/JKVR/VrCvars.h b/Projects/Android/jni/JKVR/VrCvars.h index 068311d..24b1d8d 100644 --- a/Projects/Android/jni/JKVR/VrCvars.h +++ b/Projects/Android/jni/JKVR/VrCvars.h @@ -18,4 +18,5 @@ extern cvar_t *vr_irl_crouch_enabled; extern cvar_t *vr_irl_crouch_to_stand_ratio; extern cvar_t *vr_saber_block_debounce_time; extern cvar_t *vr_haptic_intensity; +extern cvar_t *vr_comfort_vignette; diff --git a/Projects/Android/jni/JKVR/VrInputCommon.cpp b/Projects/Android/jni/JKVR/VrInputCommon.cpp index d7eb4e7..deec170 100644 --- a/Projects/Android/jni/JKVR/VrInputCommon.cpp +++ b/Projects/Android/jni/JKVR/VrInputCommon.cpp @@ -38,6 +38,7 @@ cvar_t *vr_irl_crouch_enabled; cvar_t *vr_irl_crouch_to_stand_ratio; cvar_t *vr_saber_block_debounce_time; cvar_t *vr_haptic_intensity; +cvar_t *vr_comfort_vignette; ovrInputStateTrackedRemote leftTrackedRemoteState_old; ovrInputStateTrackedRemote leftTrackedRemoteState_new; diff --git a/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_draw.cpp b/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_draw.cpp index a39f094..7a5532f 100644 --- a/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_draw.cpp +++ b/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_draw.cpp @@ -2571,6 +2571,82 @@ static void CG_DrawZoomBorders( void ) CG_FillRect( 0, 480 - 80, 640, bar_height, modulate ); } + +/* +============== +CG_DrawVignette +============== +*/ +float currentComfortVignetteValue = 0.0f; +float filteredViewYawDelta = 0.0f; + +static void CG_DrawVignette( void ) +{ + playerState_t *ps; + ps = &cg.snap->ps; + + cvar_t *vr_comfort_vignette = gi.cvar("vr_comfort_vignette", "0.0", CVAR_ARCHIVE); // defined in VrCvars.h + if (vr_comfort_vignette->value <= 0.0f || vr_comfort_vignette->value > 1.0f || !cg.zoomMode == 0) + { + return; + } + + bool isMoving = VectorLength(cg.predicted_player_state.velocity) > 30.0; + // When player is in the air, apply vignette (to prevent throbbing on top of jump) + bool isInAir = ps->groundEntityNum == ENTITYNUM_NONE; + cvar_t *vr_turn_mode = gi.cvar("vr_turn_mode", "0", CVAR_ARCHIVE); // defined in VrCvars.h + // Apply only for smooth turn + bool isTurning = (vr_turn_mode->integer == 2 || (vr_turn_mode->integer == 1 && vr->third_person)); + if (isTurning) { + float yawDelta = fabsf(vr->clientview_yaw_delta); + if (yawDelta > 180) + { + yawDelta = fabs(yawDelta - 360); + } + filteredViewYawDelta = filteredViewYawDelta * 0.75f + yawDelta * 0.25f; + isTurning = filteredViewYawDelta > 1; + } + + if (isMoving || isInAir || isTurning) + { + if (currentComfortVignetteValue < vr_comfort_vignette->value) + { + currentComfortVignetteValue += vr_comfort_vignette->value * 0.05; + if (currentComfortVignetteValue > 1.0f) + currentComfortVignetteValue = 1.0f; + } + } else{ + if (currentComfortVignetteValue > 0.0f) + currentComfortVignetteValue -= vr_comfort_vignette->value * 0.05; + } + + if (currentComfortVignetteValue > 0.0f && currentComfortVignetteValue <= 1.0f) + { + int screenWidth = 640; //cg.refdef.width; + int screenHeight = 480; //cg.refdef.height; + + int x = (int)(0 + currentComfortVignetteValue * screenWidth / 3.5f); + int w = (int)(screenWidth - 2 * x); + int y = (int)(0 + currentComfortVignetteValue * screenHeight / 3.5f); + int h = (int)(screenHeight - 2 * y); + + vec4_t black = {0.0, 0.0, 0.0, 1}; + cgi_R_SetColor( black ); + + // sides + cgi_R_DrawStretchPic( 0, 0, x, screenHeight, 0, 0, 1, 1, cgs.media.whiteShader ); + cgi_R_DrawStretchPic( screenWidth - x, 0, x, screenHeight, 0, 0, 1, 1, cgs.media.whiteShader ); + // top/bottom + cgi_R_DrawStretchPic( x, 0, screenWidth - x, y, 0, 0, 1, 1, cgs.media.whiteShader ); + cgi_R_DrawStretchPic( x, screenHeight - y, screenWidth - x, y, 0, 0, 1, 1, cgs.media.whiteShader ); + // vignette + cgi_R_DrawStretchPic( x, y, w, h, 0, 0, 1, 1, cgs.media.vignetteShader ); + + cgi_R_SetColor( NULL ); + } +} + + /* ================= CG_Draw2D @@ -2662,6 +2738,8 @@ static void CG_Draw2D( void ) // don't draw any status if dead if ( cg.snap->ps.stats[STAT_HEALTH] > 0 ) { + CG_DrawVignette(); + if ( !(cent->gent && cent->gent->s.eFlags & (EF_LOCKED_TO_WEAPON |EF_IN_ATST))) { CG_DrawIconBackground(); diff --git a/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_main.cpp b/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_main.cpp index f2f765f..1d8b839 100644 --- a/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_main.cpp +++ b/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_main.cpp @@ -1313,6 +1313,8 @@ static void CG_RegisterGraphics( void ) { cgs.media.reticleShader = cgi_R_RegisterShader( "gfx/weapon/scope" ); + cgs.media.vignetteShader = cgi_R_RegisterShaderNoMip( "gfx/vignette" ); + // FIXME: do these conditionally cgi_R_RegisterShader( "gfx/2d/workingCamera" ); diff --git a/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_media.h b/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_media.h index 53ed614..f191c8b 100644 --- a/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_media.h +++ b/Projects/Android/jni/OpenJK/codeJK2/cgame/cg_media.h @@ -151,6 +151,8 @@ typedef struct { qhandle_t reticleShader; + qhandle_t vignetteShader; + // Disruptor zoom graphics qhandle_t disruptorMask; qhandle_t disruptorInsert; diff --git a/assets/z_vr_assets.pk3 b/assets/z_vr_assets.pk3 index 73e227c680f111c093a70f9d4915481c38b1dc62..ef5827a3e01fa7489e7cafa99b7c3bc4e39d4374 100644 GIT binary patch delta 49428 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 xT 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 z zrgf%Y;t9c|i6;bAA8z5Tj;bG2iMM(d>E#BU=@QNy8XBmE7^id+Q^)#hDb;ZEY8IK} z8~iGf&vKw-U3G)IxN|(rNfMN#!P5sNsfN>{MXlGem&LDe7e8YzWmEv0&RX4bcJIBL3K~RlrA^s?ZPnC8k)pVY7E#x_+f~tA@m@Afq6@)jG&s6f? zZ3fkN!|t-M?i>$G=Xrdiglb$%tH!lN{82s4q#^z&onk>JSx_C~)QWr!T3I@aSm!S8 z%mfzO6ZpsoaTVXFg;G$6QpiwB35BR8GL)GwVJ>4rhFS=}!|~07|E4>w5Hf}LapnsO zQS$M6p3*r?IzzeEhH1rkxy_WCFpaDrD8%&jEaMd4J)ac$I=*74bJY#*!iWYB^91o! zo;0YzwQych3Ry-eywOtfaud%5=DX|-Vmhy?@rA14k7fMn#0{w|V{FfAaJLRG0~6wf z5eYS@Heni>`81}1P1lS3DSi-bN$TC;F7E7MOd57hH4z8#Eq(KXJ7+{94wyNy^DkBP zpIRq=mgz2*iLnl!#Ll^vhyzxT*g4fUFA~#&X=bV>CT--PJzXZ#a7CuxC0}!^`*}n> z*7`ZF&J@}z{Sr>58n)`ydmla&_?Dr2nvDNJkFeFNPA;@nrb>i7)o>_y8C1_;!d97} zg}XH~X%nAyiRt|58jP!Ma2I!GY->D0VsBhaxRGiIU`pw|c?;efUnKZX(hKg5TPED- zNio5Vl)~O9wbME5jpeqYUkg9};7OTpx`c7n4er9Qws=^(BO;#k9HsM^#6G+rOgOl` z400>v9ankT>Ea%p?(AVqWg#wlQcuqEK$}2a9ZD`c}NqBJ$0rFs{16 zT^Qy~dzdE(UhwqsjeN^XUIr$t-i!2di*?O^t{uE^b@gn)Cvflr^M%zji^WN-p3d#8 z>I|vTwoRs$aB6YM*WBuUOc0jKr03%KF2wf;%k>H{omZDTQ`LMi#xZ0sFmtCnGgVkF zrHdF(dY+PRbe4V{3~T2h#}SrqBeC0Db%VPw!k!7i;HfYPIekmt+{^HSO4P-FZyVO< zg{RiXEZ$&PAJy|rbq;fu5gmA@UF6T4!?@}OcX4MA!(704s)TC3rEl(4m8whLOLG-} zbfs3sq+wN*E?~~n& zStO5-FtdZ?ZjN+^J-!$&dy7|=2rLf2#;N)*6_C-bm_*mVJae#<1b8gnKRHMhFoQg!hk z6#DhDn}w5jVOZx6lzffg>Rv{RM@*y21c}b9pwrjfx?I)JnOk=A&XDMg?47>mR(JOF z#dIbE5}h4zzUI~yY7M_m&Me*3+_`HXC0|>~#R32CfA`&U|L-2S<=$KFyyL$=`1@OK J``ted_`k9>j`#oo literal 0 HcmV?d00001 diff --git a/z_vr_assets/strip/menus_vr.sp b/z_vr_assets/strip/menus_vr.sp index af926df..1b7b62d 100644 --- a/z_vr_assets/strip/menus_vr.sp +++ b/z_vr_assets/strip/menus_vr.sp @@ -3,16 +3,16 @@ CONFIG W:\bin\striped.cfg ID 100 REFERENCE MENUS_VR DESCRIPTION "VR Menu Localizations" -COUNT 119 +COUNT 123 INDEX 0 { REFERENCE COMMON_CONTROLS_ITEM - TEXT_LANGUAGE1 "OBSOLETE Common" + TEXT_LANGUAGE1 "Common" } INDEX 1 { REFERENCE COMMON_CONTROLS_DESC - TEXT_LANGUAGE1 "OBSOLETE Common controls configuration." + TEXT_LANGUAGE1 "Common controls configuration." } INDEX 2 { @@ -37,7 +37,7 @@ INDEX 5 INDEX 6 { REFERENCE COMFORT_CONTROLS_DESC - TEXT_LANGUAGE1 "Configure common controls and comfort options." + TEXT_LANGUAGE1 "Configure comfort options." } INDEX 7 { @@ -599,3 +599,23 @@ INDEX 118 REFERENCE AUTO_USE_BACTA_DESC TEXT_LANGUAGE1 "When enabled, automatically uses bacta canister before dying." } +INDEX 119 +{ + REFERENCE HAPTIC_INTENSITY_ITEM + TEXT_LANGUAGE1 "Haptic Intensity:" +} +INDEX 120 +{ + REFERENCE HAPTIC_INTENSITY_DESC + TEXT_LANGUAGE1 "Adjust intensity of haptic feedback." +} +INDEX 121 +{ + REFERENCE COMFORT_VIGNETTE_ITEM + TEXT_LANGUAGE1 "Comfort Vignette:" +} +INDEX 122 +{ + REFERENCE COMFORT_VIGNETTE_DESC + TEXT_LANGUAGE1 "Adjust size of comfort vignette." +} diff --git a/z_vr_assets/ui/controls.menu b/z_vr_assets/ui/controls.menu index 90cb38c..7808233 100644 --- a/z_vr_assets/ui/controls.menu +++ b/z_vr_assets/ui/controls.menu @@ -4,10 +4,10 @@ // //-------------------------------------------------------------- { - menuDef + menuDef { name "controlsMenu" - fullScreen 1 // MENU_TRUE + fullScreen 1 // MENU_TRUE rect 0 0 640 480 // Size and position of the menu visible 1 // Visible on open focusColor 1 1 1 1 // Focus color for text and items @@ -15,28 +15,30 @@ descY 425 descScale .8 descColor .235 .882 .847 1 // Focus color for text and items - descAlignment ITEM_ALIGN_CENTER + descAlignment ITEM_ALIGN_CENTER - onOpen + onOpen { show setup_background - show comfortcontrols + show commoncontrols hide weaponcontrols hide forcecontrols hide invcontrols - setitemcolor comfortcontrolbutton forecolor 1 1 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 1 1 1 1 setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } - onClose + onClose { uiScript saveControls } - - onESC - { + + onESC + { play sound/interface/menuroam hide highlights close controlsMenu @@ -48,7 +50,7 @@ // MENU BACKGROUND // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name frame_pic group none @@ -61,7 +63,7 @@ } // The saber glow on the left - itemDef + itemDef { name saberglow group none @@ -77,7 +79,7 @@ // The starwars logo on the top - itemDef + itemDef { name starwars group none @@ -92,7 +94,7 @@ } // The saber halo on the left - itemDef + itemDef { name saberhalo group none @@ -125,7 +127,7 @@ } // The saber halo on the left - itemDef + itemDef { name saberhalo2 group none @@ -220,7 +222,7 @@ //---------------------------------------------------------------------------------------------- // Big button "NEW" - itemDef + itemDef { name newgamebutton_glow group mods @@ -234,7 +236,7 @@ hideCvar { 1 } } - itemDef + itemDef { name newgamebutton group toprow @@ -254,24 +256,24 @@ cvarTest expanded_menu_enabled hideCvar { 1 } - mouseEnter + mouseEnter { show newgamebutton_glow } - mouseExit + mouseExit { hide newgamebutton_glow - } - action - { - play sound/interface/button1 - close all - open newgameMenu + } + action + { + play sound/interface/button1 + close all + open newgameMenu } } // Big button "LOAD" - itemDef + itemDef { name loadgamebutton_glow group mods @@ -285,7 +287,7 @@ hideCvar { 1 } } - itemDef + itemDef { name loadgamebutton group toprow @@ -305,24 +307,24 @@ cvarTest expanded_menu_enabled hideCvar { 1 } - mouseEnter + mouseEnter { show loadgamebutton_glow } - mouseExit + mouseExit { hide loadgamebutton_glow - } - action + } + action { - play sound/interface/button1 - close all + play sound/interface/button1 + close all open loadgameMenu } } // Big button "CONTROLS" - itemDef + itemDef { name controlsbutton_glow group mods @@ -356,24 +358,24 @@ decoration cvarTest expanded_menu_enabled hideCvar { 1 } - - action + + action { - play sound/interface/button1 + play sound/interface/button1 } - mouseEnter + mouseEnter { - show controlsbutton_glow + show controlsbutton_glow } - mouseExit + mouseExit { - hide controlsbutton_glow + hide controlsbutton_glow } } // Big button "SETUP" - itemDef + itemDef { name setupbutton_glow group mods @@ -407,23 +409,23 @@ cvarTest expanded_menu_enabled hideCvar { 1 } - mouseEnter + mouseEnter { - show setupbutton_glow + show setupbutton_glow } - mouseExit + mouseExit { - hide setupbutton_glow - } - action + hide setupbutton_glow + } + action { - play sound/interface/button1 - close all - open setupMenu + play sound/interface/button1 + close all + open setupMenu } } - itemDef + itemDef { name header_line group toprow @@ -444,7 +446,7 @@ // //---------------------------------------------------------------------------------------------- // Credits hidden button - itemDef + itemDef { name creditsbutton group othermain @@ -465,22 +467,22 @@ mouseEnter { setitemcolor saberhalo2 forecolor 0.7 0.7 0.7 1 - } + } mouseExit { setitemcolor saberhalo2 forecolor 0.25 0.25 0.25 1 - } + } action { - play sound/interface/button1 - close all - open creditsMenu + play sound/interface/button1 + close all + open creditsMenu } } // EXIT button in lower left corner // Big button "SETUP" - itemDef + itemDef { name exitgamebutton_glow group mods @@ -494,7 +496,7 @@ hideCvar { 1 } } - itemDef + itemDef { name exitgamebutton group othermain @@ -514,19 +516,19 @@ cvarTest expanded_menu_enabled hideCvar { 1 } - mouseEnter + mouseEnter { - show exitgamebutton_glow + show exitgamebutton_glow } - mouseExit + mouseExit { - hide exitgamebutton_glow - } - action - { - play "sound/weapons/saber/saberoff.mp3" - close all - open quitMenu + hide exitgamebutton_glow + } + action + { + play "sound/weapons/saber/saberoff.mp3" + close all + open quitMenu } } @@ -592,7 +594,7 @@ // //---------------------------------------------------------------------------------------------- // Configure Controls title - itemDef + itemDef { name control_title group none @@ -602,7 +604,7 @@ rect 150 145 450 16 font 3 textscale 0.7 - textalign ITEM_ALIGN_CENTER + textalign ITEM_ALIGN_CENTER textalignx 225 textaligny -2 forecolor 1 1 1 1 @@ -611,7 +613,7 @@ cvarTest expanded_menu_enabled hideCvar { 1 } } - itemDef + itemDef { name control_title group none @@ -621,7 +623,7 @@ rect 120 145 486 16 font 3 textscale 0.7 - textalign ITEM_ALIGN_CENTER + textalign ITEM_ALIGN_CENTER textalignx 241 textaligny -1 forecolor 1 1 1 1 @@ -631,10 +633,10 @@ showCvar { 1 } } - // Comfort button - itemDef + // Common button + itemDef { - name comfortbutton_glow + name commonbutton_glow group mods style WINDOW_STYLE_SHADER rect 120 173 170 30 @@ -644,11 +646,11 @@ decoration } - itemDef + itemDef { - name comfortcontrolbutton + name commoncontrolbutton group none - text @MENUS_VR_COMFORT_CONTROLS_ITEM + text @MENUS_VR_COMMON_CONTROLS_ITEM type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY rect 120 173 170 30 @@ -660,33 +662,35 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText @MENUS_VR_COMFORT_CONTROLS_DESC + descText @MENUS_VR_COMMON_CONTROLS_DESC - mouseEnter + mouseEnter { - show comfortbutton_glow + show commonbutton_glow } - mouseExit + mouseExit { - hide comfortbutton_glow - } - action - { - play sound/interface/button1 + hide commonbutton_glow + } + action + { + play sound/interface/button1 show setup_background - show comfortcontrols + show commoncontrols hide weaponcontrols hide forcecontrols hide invcontrols - setitemcolor comfortcontrolbutton forecolor 1 1 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 1 1 1 1 setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } } // Weapons button - itemDef + itemDef { name weaponscontrolbutton_glow group mods @@ -698,7 +702,7 @@ decoration } - itemDef + itemDef { name weaponscontrolbutton group none @@ -716,31 +720,33 @@ visible 1 descText @MENUS_VR_WEAPON_CONTROLS_DESC - mouseEnter + mouseEnter { show weaponscontrolbutton_glow } - mouseExit + mouseExit { hide weaponscontrolbutton_glow - } - action + } + action { - play sound/interface/button1 + play sound/interface/button1 show setup_background - hide comfortcontrols + hide commoncontrols show weaponcontrols hide forcecontrols hide invcontrols - setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 0.64 0.65 1 1 setitemcolor weaponscontrolbutton forecolor 1 1 1 1 setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } } // Force Powers button - itemDef + itemDef { name forcecontrolbutton_glow group mods @@ -752,7 +758,7 @@ decoration } - itemDef + itemDef { name forcecontrolbutton group none @@ -770,31 +776,33 @@ visible 1 descText @MENUS_VR_POWER_CONTROLS_DESC - mouseEnter + mouseEnter { show forcecontrolbutton_glow } mouseExit { hide forcecontrolbutton_glow - } - action + } + action { play sound/interface/button1 show setup_background - hide comfortcontrols - hide weaponcontrols + hide commoncontrols + hide weaponcontrols show forcecontrols hide invcontrols - setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 0.64 0.65 1 1 setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 setitemcolor forcecontrolbutton forecolor 1 1 1 1 setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } } - // inventory button - itemDef + // inventory button + itemDef { name inventorycontrolbutton_glow group mods @@ -806,7 +814,7 @@ decoration } - itemDef + itemDef { name inventorycontrolbutton group none @@ -824,30 +832,88 @@ visible 1 descText @MENUS_VR_INVENTORY_CONTROLS_DESC - mouseEnter + mouseEnter { show inventorycontrolbutton_glow } - mouseExit + mouseExit { hide inventorycontrolbutton_glow - } + } action { play sound/interface/button1 show setup_background - hide comfortcontrols + hide commoncontrols hide weaponcontrols hide forcecontrols show invcontrols - setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 0.64 0.65 1 1 setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 setitemcolor inventorycontrolbutton forecolor 1 1 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } } - itemDef + // comfort button + itemDef + { + name comfortcontrolbutton_glow + group mods + style WINDOW_STYLE_SHADER + rect 120 293 170 30 + background "gfx/menus/menu_blendbox2" // Frame around button + forecolor 1 1 1 1 + visible 0 + decoration + } + + itemDef + { + name comfortcontrolbutton + group none + text @MENUS_VR_COMFORT_CONTROLS_ITEM + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect 120 293 170 30 + font 3 + textscale 0.9 + textalignx 170 + textaligny 5 + textalign ITEM_ALIGN_RIGHT + textstyle 3 + forecolor 0.65 0.65 1 1 + visible 1 + descText @MENUS_VR_COMFORT_CONTROLS_DESC + + mouseEnter + { + show comfortcontrolbutton_glow + } + mouseExit + { + hide comfortcontrolbutton_glow + } + action + { + play sound/interface/button1 + show setup_background + hide commoncontrols + hide weaponcontrols + hide forcecontrols + hide invcontrols + show comfortcontrols + setitemcolor commoncontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 1 1 1 1 + } + } + + itemDef { name setup_background group none @@ -861,7 +927,7 @@ hideCvar { 1 } } - itemDef + itemDef { name setup_background group none @@ -874,7 +940,7 @@ cvarTest expanded_menu_enabled showCvar { 1 } } - itemDef + itemDef { name setup_background group none @@ -904,7 +970,7 @@ visible 0 decoration } - + itemDef { name highlight2 @@ -916,7 +982,7 @@ visible 0 decoration } - + itemDef { name highlight3 @@ -928,7 +994,7 @@ visible 0 decoration } - + itemDef { name highlight4 @@ -940,7 +1006,7 @@ visible 0 decoration } - + itemDef { name highlight5 @@ -952,7 +1018,7 @@ visible 0 decoration } - + itemDef { name highlight6 @@ -964,7 +1030,7 @@ visible 0 decoration } - + itemDef { name highlight7 @@ -976,7 +1042,7 @@ visible 0 decoration } - + itemDef { name highlight8 @@ -988,7 +1054,7 @@ visible 0 decoration } - + itemDef { name highlight9 @@ -1000,7 +1066,7 @@ visible 0 decoration } - + itemDef { name highlight10 @@ -1012,7 +1078,7 @@ visible 0 decoration } - + itemDef { name highlight11 @@ -1024,7 +1090,7 @@ visible 0 decoration } - + itemDef { name highlight12 @@ -1041,17 +1107,17 @@ //---------------------------------------------------------------------------------------------- // - // COMFORT MENU + // COMMON MENU // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name none - group comfortcontrols + group commoncontrols type ITEM_TYPE_SLIDER text @MENUS_VR_MOVEMENT_SPEED_ITEM cvarfloat "vr_movement_multiplier" 0 0.4 1.2 - rect 305 171 300 20 + rect 305 191 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 textaligny -2 @@ -1065,31 +1131,31 @@ { play sound/interface/button1 } - - mouseenter + + mouseenter { - show highlight1 + show highlight2 } - mouseexit + mouseexit { - hide highlight1 - } + hide highlight2 + } } - itemDef + itemDef { name none - group comfortcontrols + group commoncontrols type ITEM_TYPE_MULTI text @MENUS_VR_DIRECTION_MODE_ITEM cvar "vr_walkdirection" - cvarFloatList + cvarFloatList { - @MENUS_VR_DIRECTION_MODE_CONTROLLER 0 - @MENUS_VR_DIRECTION_MODE_HMD 1 + @MENUS_VR_DIRECTION_MODE_CONTROLLER 0 + @MENUS_VR_DIRECTION_MODE_HMD 1 } - rect 305 191 300 20 + rect 305 211 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 textaligny -2 @@ -1099,39 +1165,39 @@ visible 0 // appearance_slot 1 descText @MENUS_VR_DIRECTION_MODE_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { - show highlight2 + show highlight3 } - mouseexit + mouseexit { - hide highlight2 - } + hide highlight3 + } } - itemDef + itemDef { name none - group comfortcontrols + group commoncontrols type ITEM_TYPE_MULTI text @MENUS_VR_SMOOTH_TURN_ITEM cvar "vr_turn_mode" - cvarFloatList + cvarFloatList { @MENUS0_NO 0 @MENUS_VR_SMOOTH_TURN_3RD_PERSON 1 @MENUS0_YES 2 } - rect 305 211 300 20 + rect 305 231 300 20 textalign ITEM_ALIGN_RIGHT - textalignx 151 + textalignx 151 textaligny -2 font 2 textscale 0.8 @@ -1139,135 +1205,103 @@ visible 0 // appearance_slot 3 descText @MENUS_VR_SMOOTH_TURN_DESC - action + action { play sound/interface/button1 } - mouseenter - { - show highlight3 - } - mouseexit - { - hide highlight3 - } - } - - itemDef - { - name none - group comfortcontrols - type ITEM_TYPE_MULTI - text @MENUS_VR_TURN_ANGLE_ITEM - cvar "vr_turn_angle" - cvarFloatList - { - @MENUS_VR_TURN_ANGLE_30DEGREES 30 - @MENUS_VR_TURN_ANGLE_45DEGREES 45 - @MENUS_VR_TURN_ANGLE_90DEGREES 90 - } - rect 305 231 300 20 - textalign ITEM_ALIGN_RIGHT - textalignx 151 - textaligny -2 - font 2 - textscale 0.8 - forecolor 1 1 1 1 - visible 0 - // appearance_slot 4 - descText @MENUS_VR_TURN_ANGLE_DESC - action - { - play sound/interface/button1 - } - - mouseenter + mouseenter { show highlight4 } - mouseexit + mouseexit { hide highlight4 } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_YESNO - text @MENUS_VR_SWITCH_STICKS_ITEM - cvar "vr_switch_sticks" + group commoncontrols + type ITEM_TYPE_MULTI + text @MENUS_VR_TURN_ANGLE_ITEM + cvar "vr_turn_angle" + cvarFloatList + { + @MENUS_VR_TURN_ANGLE_30DEGREES 30 + @MENUS_VR_TURN_ANGLE_45DEGREES 45 + @MENUS_VR_TURN_ANGLE_90DEGREES 90 + } rect 305 251 300 20 textalign ITEM_ALIGN_RIGHT - textalignx 151 + textalignx 151 textaligny -2 font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 - // appearance_slot 5 - descText @MENUS_VR_SWITCH_STICKS_DESC - action + visible 0 + // appearance_slot 4 + descText @MENUS_VR_TURN_ANGLE_DESC + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight5 } - mouseexit + mouseexit { hide highlight5 } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_MULTI - text @MENUS_VR_LEFT_HANDED_ITEM - cvar "vr_control_scheme" - cvarFloatList - { - @MENUS0_NO 0 - @MENUS0_YES 10 - } + group commoncontrols + type ITEM_TYPE_YESNO + text @MENUS_VR_SWITCH_STICKS_ITEM + cvar "vr_switch_sticks" rect 305 271 300 20 textalign ITEM_ALIGN_RIGHT - textalignx 151 + textalignx 151 textaligny -2 font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 5 - descText @MENUS_VR_LEFT_HANDED_DESC - action + descText @MENUS_VR_SWITCH_STICKS_DESC + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight6 } - mouseexit + mouseexit { hide highlight6 } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_YESNO - text @MENUS_VR_IMMERSIVE_CINEMATICS_ITEM - cvar "vr_immersive_cinematics" + group commoncontrols + type ITEM_TYPE_MULTI + text @MENUS_VR_LEFT_HANDED_ITEM + cvar "vr_control_scheme" + cvarFloatList + { + @MENUS0_NO 0 + @MENUS0_YES 10 + } rect 305 291 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 @@ -1276,37 +1310,30 @@ textscale 0.8 forecolor 1 1 1 1 visible 0 - // appearance_slot 1 - descText @MENUS_VR_IMMERSIVE_CINEMATICS_DESC - action - { + // appearance_slot 5 + descText @MENUS_VR_LEFT_HANDED_DESC + action + { play sound/interface/button1 } - - mouseenter - { + + mouseenter + { show highlight7 } - - mouseexit + mouseexit { hide highlight7 - } + } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_MULTI - text @MENUS_VR_SCREEN_DISTANCE_ITEM - cvar "vr_screen_dist" - cvarFloatList - { - @MENUS_VR_SCREEN_DISTANCE_NEAR 1.5 - @MENUS_VR_SCREEN_DISTANCE_MEDIUM 2.5 - @MENUS_VR_SCREEN_DISTANCE_FAR 3.5 - } + group commoncontrols + type ITEM_TYPE_YESNO + text @MENUS_VR_CROUCH_TOGGLE_ITEM + cvar "vr_crouch_toggle" rect 305 311 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 @@ -1316,30 +1343,36 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText @MENUS_VR_SCREEN_DISTANCE_DESC - action + descText @MENUS_VR_CROUCH_TOGGLE_DESC + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight8 } - mouseexit + mouseexit { hide highlight8 - } + } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_SLIDER - text @MENUS_VR_HEIGHT_ADJUST_ITEM - cvarfloat "cg_heightAdjust" 0 0 1 + group commoncontrols + type ITEM_TYPE_MULTI + text @MENUS_VR_CROUCH_IRL_ITEM + cvar "vr_irl_crouch_enabled" + cvarFloatList + { + @MENUS0_NO 0 + @MENUS_VR_CROUCH_IRL_1ST_PERSON 1 + @MENUS0_YES 2 + } rect 305 331 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 @@ -1348,92 +1381,20 @@ textscale 0.8 forecolor 1 1 1 1 visible 0 - // appearance_slot 1 - descText @MENUS_VR_HEIGHT_ADJUST_DESC - action - { - play sound/interface/button1 - } - - mouseenter - { - show highlight9 - } - - mouseexit - { - hide highlight9 - } - } - - itemDef - { - name none - group comfortcontrols - type ITEM_TYPE_YESNO - text @MENUS_VR_CROUCH_TOGGLE_ITEM - cvar "vr_crouch_toggle" - rect 305 351 300 20 - textalign ITEM_ALIGN_RIGHT - textalignx 151 - textaligny -2 - font 2 - textscale 0.8 - forecolor 1 1 1 1 - visible 0 - // appearance_slot 1 - descText @MENUS_VR_CROUCH_TOGGLE_DESC - action - { - play sound/interface/button1 - } - - mouseenter - { - show highlight10 - } - - mouseexit - { - hide highlight10 - } - } - - itemDef - { - name none - group comfortcontrols - type ITEM_TYPE_MULTI - text @MENUS_VR_CROUCH_IRL_ITEM - cvar "vr_irl_crouch_enabled" - cvarFloatList - { - @MENUS0_NO 0 - @MENUS_VR_CROUCH_IRL_1ST_PERSON 1 - @MENUS0_YES 2 - } - rect 305 371 300 20 - textalign ITEM_ALIGN_RIGHT - textalignx 151 - textaligny -2 - font 2 - textscale 0.8 - forecolor 1 1 1 1 - visible 0 // appearance_slot 3 descText @MENUS_VR_CROUCH_IRL_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { - show highlight11 + show highlight9 } - mouseexit + mouseexit { - hide highlight11 + hide highlight9 } } @@ -1443,17 +1404,17 @@ // WEAPON MENU // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name none group weaponcontrols type ITEM_TYPE_MULTI text @MENUS0_AUTO_SWITCH cvar "cg_autoswitch" - cvarFloatList + cvarFloatList { - @MENUS1_DON_T_SWITCH 0 - @MENUS1_BEST_SAFE_WEAPON 1 + @MENUS1_DON_T_SWITCH 0 + @MENUS1_BEST_SAFE_WEAPON 1 @MENUS1_ALWAYS_BEST_WEAPON 2 } rect 305 191 300 20 @@ -1466,24 +1427,24 @@ visible 0 // appearance_slot 1 descText @MENUS1_CHOOSE_WHETHER_TO_SWITCH - action + action { play sound/interface/button1 } - mouseenter - { + mouseenter + { show highlight2 } - mouseexit - { + mouseexit + { hide highlight2 - } + } } - itemDef + itemDef { name none group weaponcontrols @@ -1497,27 +1458,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_WEAPON_PITCH_DESC - action + action { play sound/interface/button1 } - mouseenter - { + mouseenter + { show highlight3 } - mouseexit - { + mouseexit + { hide highlight3 - } + } } - itemDef + itemDef { name none group weaponcontrols @@ -1531,27 +1492,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_TWO_HANDED_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight4 } - mouseexit + mouseexit { hide highlight4 - } + } } - itemDef + itemDef { name none group weaponcontrols @@ -1565,27 +1526,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_GUN_STOCK_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight5 } - mouseexit + mouseexit { hide highlight5 - } + } } - itemDef + itemDef { name none group weaponcontrols @@ -1599,23 +1560,23 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_WEAPON_VELOCITY_TRIGGER_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight6 } - mouseexit + mouseexit { hide highlight6 - } + } } @@ -1626,7 +1587,7 @@ // FORCE MENU // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name none group forcecontrols @@ -1640,27 +1601,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_FORCE_SPEED_FOV_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight2 } - mouseexit + mouseexit { hide highlight2 - } + } } - itemDef + itemDef { name none group forcecontrols @@ -1674,27 +1635,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_FORCE_MOTION_TRIGGER_TOGGLE_ITEM - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight3 } - mouseexit + mouseexit { hide highlight3 - } + } } - itemDef + itemDef { name none group forcecontrols @@ -1708,23 +1669,23 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_FORCE_VELOCITY_TRIGGER_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight4 } - mouseexit + mouseexit { hide highlight4 - } + } } @@ -1735,7 +1696,7 @@ // INVENTORY MENU // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name none group invcontrols @@ -1752,19 +1713,198 @@ visible 0 // appearance_slot 1 descText @MENUS_VR_AUTO_USE_BACTA_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight2 } - mouseexit + mouseexit { hide highlight2 } } + + + + //---------------------------------------------------------------------------------------------- + // + // COMFORT MENU + // + //---------------------------------------------------------------------------------------------- + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_YESNO + text @MENUS_VR_IMMERSIVE_CINEMATICS_ITEM + cvar "vr_immersive_cinematics" + rect 305 191 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_IMMERSIVE_CINEMATICS_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight2 + } + + mouseexit + { + hide highlight2 + } + } + + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_MULTI + text @MENUS_VR_SCREEN_DISTANCE_ITEM + cvar "vr_screen_dist" + cvarFloatList + { + @MENUS_VR_SCREEN_DISTANCE_NEAR 1.5 + @MENUS_VR_SCREEN_DISTANCE_MEDIUM 2.5 + @MENUS_VR_SCREEN_DISTANCE_FAR 3.5 + } + rect 305 211 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_SCREEN_DISTANCE_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight3 + } + + mouseexit + { + hide highlight3 + } + } + + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_SLIDER + text @MENUS_VR_HEIGHT_ADJUST_ITEM + cvarfloat "cg_heightAdjust" 0 0 1 + rect 305 231 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_HEIGHT_ADJUST_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight4 + } + + mouseexit + { + hide highlight4 + } + } + + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_SLIDER + text @MENUS_VR_HAPTIC_INTENSITY_ITEM + cvarfloat "vr_haptic_intensity" 0 0 1 + rect 305 251 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_HAPTIC_INTENSITY_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight5 + } + + mouseexit + { + hide highlight5 + } + } + + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_SLIDER + text @MENUS_VR_COMFORT_VIGNETTE_ITEM + cvarfloat "vr_comfort_vignette" 0 0 1 + rect 305 271 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_COMFORT_VIGNETTE_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight6 + } + + mouseexit + { + hide highlight6 + } + } + } } diff --git a/z_vr_assets/ui/ingamecontrols.menu b/z_vr_assets/ui/ingamecontrols.menu index 423f9d4..dfe702a 100644 --- a/z_vr_assets/ui/ingamecontrols.menu +++ b/z_vr_assets/ui/ingamecontrols.menu @@ -4,10 +4,10 @@ // //-------------------------------------------------------------- { - menuDef + menuDef { name "ingameControlsMenu" - fullScreen 1 // MENU_TRUE + fullScreen 1 // MENU_TRUE rect 0 0 640 480 // Size and position of the menu visible 1 // Visible on open focusColor 1 1 1 1 // Focus color for text and items @@ -15,28 +15,30 @@ descY 425 descScale .8 descColor .235 .882 .847 1 // Focus color for text and items - descAlignment ITEM_ALIGN_CENTER + descAlignment ITEM_ALIGN_CENTER - onOpen + onOpen { show setup_background - show comfortcontrols + show commoncontrols hide weaponcontrols hide forcecontrols hide invcontrols - setitemcolor comfortcontrolbutton forecolor 1 1 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 1 1 1 1 setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } - onClose + onClose { uiScript saveControls } - - onESC - { + + onESC + { play sound/interface/button1.wav hide highlights close all @@ -48,7 +50,7 @@ // MENU BACKGROUND // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name frame_pic group none @@ -61,7 +63,7 @@ } // The saber glow on the left - itemDef + itemDef { name saberglow group none @@ -77,7 +79,7 @@ // The starwars logo on the top - itemDef + itemDef { name starwars group none @@ -92,7 +94,7 @@ } // The saber halo on the left - itemDef + itemDef { name saberhalo group none @@ -125,7 +127,7 @@ } // The saber halo on the left - itemDef + itemDef { name saberhalo2 group none @@ -204,9 +206,8 @@ // //---------------------------------------------------------------------------------------------- - // Big button "SAVE" - itemDef + itemDef { name savegamebutton_glow group mods @@ -220,7 +221,7 @@ hideCvar { 1 } } - itemDef + itemDef { name savegamebutton group toprow @@ -240,24 +241,24 @@ cvarTest expanded_menu_enabled hideCvar { 1 } - mouseEnter + mouseEnter { - show savegamebutton_glow + show savegamebutton_glow } - mouseExit + mouseExit { hide savegamebutton_glow - } - action - { - play sound/interface/button1 - close all - open ingamesaveMenu + } + action + { + play sound/interface/button1 + close all + open ingamesaveMenu } } // Big button "LOAD" - itemDef + itemDef { name loadgamebutton_glow group mods @@ -271,7 +272,7 @@ hideCvar { 1 } } - itemDef + itemDef { name loadgamebutton group toprow @@ -291,24 +292,24 @@ cvarTest expanded_menu_enabled hideCvar { 1 } - mouseEnter + mouseEnter { show loadgamebutton_glow } - mouseExit + mouseExit { hide loadgamebutton_glow - } - action + } + action { - play sound/interface/button1 - close all + play sound/interface/button1 + close all open ingameloadMenu } } // Big button "CONTROLS" - itemDef + itemDef { name controlsbutton_glow group mods @@ -342,24 +343,24 @@ decoration cvarTest expanded_menu_enabled hideCvar { 1 } - - action + + action { - play sound/interface/button1 + play sound/interface/button1 } - mouseEnter + mouseEnter { - show controlsbutton_glow + show controlsbutton_glow } - mouseExit + mouseExit { - hide controlsbutton_glow + hide controlsbutton_glow } } // Big button "SETUP" - itemDef + itemDef { name setupbutton_glow group mods @@ -393,23 +394,23 @@ cvarTest expanded_menu_enabled hideCvar { 1 } - mouseEnter + mouseEnter { - show setupbutton_glow + show setupbutton_glow } - mouseExit + mouseExit { - hide setupbutton_glow - } - action + hide setupbutton_glow + } + action { - play sound/interface/button1 - close all - open ingameSetupMenu + play sound/interface/button1 + close all + open ingameSetupMenu } } - itemDef + itemDef { name header_line group toprow @@ -430,12 +431,12 @@ // //---------------------------------------------------------------------------------------------- // EXIT button in lower left corner - itemDef + itemDef { name exitgamebutton_glow group mods style WINDOW_STYLE_SHADER - rect 115 444 130 24 + rect 115 444 130 24 background "gfx/menus/menu_buttonback" // Frame around button forecolor 1 1 1 1 visible 0 @@ -444,7 +445,7 @@ hideCvar { 1 } } - itemDef + itemDef { name exitgamebutton group othermain @@ -452,7 +453,7 @@ descText @MENUS1_JEDI_KNIGHT_II type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY - rect 115 444 130 24 + rect 115 444 130 24 font 3 textscale 1 textalign ITEM_ALIGN_CENTER @@ -466,27 +467,27 @@ mouseEnter { - show exitgamebutton_glow - } + show exitgamebutton_glow + } mouseExit { - hide exitgamebutton_glow - } + hide exitgamebutton_glow + } action { - play sound/interface/button1 - close all - open ingamequitMenu + play sound/interface/button1 + close all + open ingamequitMenu } } // RESUME button in the lower right corner - itemDef + itemDef { name resumebutton_glow group mods style WINDOW_STYLE_SHADER - rect 495 444 130 24 + rect 495 444 130 24 background "gfx/menus/menu_buttonback" // Frame around button forecolor 1 1 1 1 visible 0 @@ -495,7 +496,7 @@ hideCvar { 1 } } - itemDef + itemDef { name resume group none @@ -515,18 +516,18 @@ cvarTest expanded_menu_enabled hideCvar { 1 } - mouseEnter + mouseEnter { - show resumebutton_glow + show resumebutton_glow } - mouseExit + mouseExit { - hide resumebutton_glow - } - action - { - play sound/interface/button1 - uiScript closeingame // Close menu + hide resumebutton_glow + } + action + { + play sound/interface/button1 + uiScript closeingame // Close menu } } @@ -592,7 +593,7 @@ // //---------------------------------------------------------------------------------------------- // Configure Controls title - itemDef + itemDef { name control_title group none @@ -602,7 +603,7 @@ rect 150 145 450 16 font 3 textscale 0.7 - textalign ITEM_ALIGN_CENTER + textalign ITEM_ALIGN_CENTER textalignx 225 textaligny -2 forecolor 1 1 1 1 @@ -611,7 +612,7 @@ cvarTest expanded_menu_enabled hideCvar { 1 } } - itemDef + itemDef { name control_title group none @@ -621,7 +622,7 @@ rect 120 145 486 16 font 3 textscale 0.7 - textalign ITEM_ALIGN_CENTER + textalign ITEM_ALIGN_CENTER textalignx 241 textaligny -1 forecolor 1 1 1 1 @@ -631,10 +632,10 @@ showCvar { 1 } } - // Comfort button - itemDef + // Common button + itemDef { - name comfortbutton_glow + name commonbutton_glow group mods style WINDOW_STYLE_SHADER rect 120 173 170 30 @@ -644,11 +645,11 @@ decoration } - itemDef + itemDef { - name comfortcontrolbutton + name commoncontrolbutton group none - text @MENUS_VR_COMFORT_CONTROLS_ITEM + text @MENUS_VR_COMMON_CONTROLS_ITEM type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY rect 120 173 170 30 @@ -660,33 +661,35 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText @MENUS_VR_COMFORT_CONTROLS_DESC + descText @MENUS_VR_COMMON_CONTROLS_DESC - mouseEnter + mouseEnter { - show comfortbutton_glow + show commonbutton_glow } - mouseExit + mouseExit { - hide comfortbutton_glow - } - action - { - play sound/interface/button1 + hide commonbutton_glow + } + action + { + play sound/interface/button1 show setup_background - show comfortcontrols + show commoncontrols hide weaponcontrols hide forcecontrols hide invcontrols - setitemcolor comfortcontrolbutton forecolor 1 1 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 1 1 1 1 setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } } // Weapons button - itemDef + itemDef { name weaponscontrolbutton_glow group mods @@ -698,7 +701,7 @@ decoration } - itemDef + itemDef { name weaponscontrolbutton group none @@ -716,31 +719,33 @@ visible 1 descText @MENUS_VR_WEAPON_CONTROLS_DESC - mouseEnter + mouseEnter { show weaponscontrolbutton_glow } - mouseExit + mouseExit { hide weaponscontrolbutton_glow - } - action + } + action { - play sound/interface/button1 + play sound/interface/button1 show setup_background - hide comfortcontrols + hide commoncontrols show weaponcontrols hide forcecontrols hide invcontrols - setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 0.64 0.65 1 1 setitemcolor weaponscontrolbutton forecolor 1 1 1 1 setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } } // Force Powers button - itemDef + itemDef { name forcecontrolbutton_glow group mods @@ -752,7 +757,7 @@ decoration } - itemDef + itemDef { name forcecontrolbutton group none @@ -770,31 +775,33 @@ visible 1 descText @MENUS_VR_POWER_CONTROLS_DESC - mouseEnter + mouseEnter { show forcecontrolbutton_glow } mouseExit { hide forcecontrolbutton_glow - } - action + } + action { play sound/interface/button1 show setup_background - hide comfortcontrols - hide weaponcontrols + hide commoncontrols + hide weaponcontrols show forcecontrols hide invcontrols - setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 0.64 0.65 1 1 setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 setitemcolor forcecontrolbutton forecolor 1 1 1 1 setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } } - // inventory button - itemDef + // inventory button + itemDef { name inventorycontrolbutton_glow group mods @@ -806,7 +813,7 @@ decoration } - itemDef + itemDef { name inventorycontrolbutton group none @@ -824,30 +831,88 @@ visible 1 descText @MENUS_VR_INVENTORY_CONTROLS_DESC - mouseEnter + mouseEnter { show inventorycontrolbutton_glow } - mouseExit + mouseExit { hide inventorycontrolbutton_glow - } + } action { play sound/interface/button1 show setup_background - hide comfortcontrols + hide commoncontrols hide weaponcontrols hide forcecontrols show invcontrols - setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 + hide comfortcontrols + setitemcolor commoncontrolbutton forecolor 0.64 0.65 1 1 setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 setitemcolor inventorycontrolbutton forecolor 1 1 1 1 + setitemcolor comfortcontrolbutton forecolor 0.64 0.65 1 1 } } - itemDef + // comfort button + itemDef + { + name comfortcontrolbutton_glow + group mods + style WINDOW_STYLE_SHADER + rect 120 293 170 30 + background "gfx/menus/menu_blendbox2" // Frame around button + forecolor 1 1 1 1 + visible 0 + decoration + } + + itemDef + { + name comfortcontrolbutton + group none + text @MENUS_VR_COMFORT_CONTROLS_ITEM + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect 120 293 170 30 + font 3 + textscale 0.9 + textalignx 170 + textaligny 5 + textalign ITEM_ALIGN_RIGHT + textstyle 3 + forecolor 0.65 0.65 1 1 + visible 1 + descText @MENUS_VR_COMFORT_CONTROLS_DESC + + mouseEnter + { + show comfortcontrolbutton_glow + } + mouseExit + { + hide comfortcontrolbutton_glow + } + action + { + play sound/interface/button1 + show setup_background + hide commoncontrols + hide weaponcontrols + hide forcecontrols + hide invcontrols + show comfortcontrols + setitemcolor commoncontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor weaponscontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor forcecontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor inventorycontrolbutton forecolor 0.64 0.65 1 1 + setitemcolor comfortcontrolbutton forecolor 1 1 1 1 + } + } + + itemDef { name setup_background group none @@ -861,7 +926,7 @@ hideCvar { 1 } } - itemDef + itemDef { name setup_background group none @@ -874,7 +939,7 @@ cvarTest expanded_menu_enabled showCvar { 1 } } - itemDef + itemDef { name setup_background group none @@ -904,7 +969,7 @@ visible 0 decoration } - + itemDef { name highlight2 @@ -916,7 +981,7 @@ visible 0 decoration } - + itemDef { name highlight3 @@ -928,7 +993,7 @@ visible 0 decoration } - + itemDef { name highlight4 @@ -940,7 +1005,7 @@ visible 0 decoration } - + itemDef { name highlight5 @@ -952,7 +1017,7 @@ visible 0 decoration } - + itemDef { name highlight6 @@ -964,7 +1029,7 @@ visible 0 decoration } - + itemDef { name highlight7 @@ -976,7 +1041,7 @@ visible 0 decoration } - + itemDef { name highlight8 @@ -988,7 +1053,7 @@ visible 0 decoration } - + itemDef { name highlight9 @@ -1000,7 +1065,7 @@ visible 0 decoration } - + itemDef { name highlight10 @@ -1012,7 +1077,7 @@ visible 0 decoration } - + itemDef { name highlight11 @@ -1024,7 +1089,7 @@ visible 0 decoration } - + itemDef { name highlight12 @@ -1041,17 +1106,17 @@ //---------------------------------------------------------------------------------------------- // - // COMFORT MENU + // COMMON MENU // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name none - group comfortcontrols + group commoncontrols type ITEM_TYPE_SLIDER text @MENUS_VR_MOVEMENT_SPEED_ITEM cvarfloat "vr_movement_multiplier" 0 0.4 1.2 - rect 305 171 300 20 + rect 305 191 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 textaligny -2 @@ -1065,31 +1130,31 @@ { play sound/interface/button1 } - - mouseenter + + mouseenter { - show highlight1 + show highlight2 } - mouseexit + mouseexit { - hide highlight1 - } + hide highlight2 + } } - itemDef + itemDef { name none - group comfortcontrols + group commoncontrols type ITEM_TYPE_MULTI text @MENUS_VR_DIRECTION_MODE_ITEM cvar "vr_walkdirection" - cvarFloatList + cvarFloatList { - @MENUS_VR_DIRECTION_MODE_CONTROLLER 0 - @MENUS_VR_DIRECTION_MODE_HMD 1 + @MENUS_VR_DIRECTION_MODE_CONTROLLER 0 + @MENUS_VR_DIRECTION_MODE_HMD 1 } - rect 305 191 300 20 + rect 305 211 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 textaligny -2 @@ -1099,39 +1164,39 @@ visible 0 // appearance_slot 1 descText @MENUS_VR_DIRECTION_MODE_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { - show highlight2 + show highlight3 } - mouseexit + mouseexit { - hide highlight2 - } + hide highlight3 + } } - itemDef + itemDef { name none - group comfortcontrols + group commoncontrols type ITEM_TYPE_MULTI text @MENUS_VR_SMOOTH_TURN_ITEM cvar "vr_turn_mode" - cvarFloatList + cvarFloatList { @MENUS0_NO 0 @MENUS_VR_SMOOTH_TURN_3RD_PERSON 1 @MENUS0_YES 2 } - rect 305 211 300 20 + rect 305 231 300 20 textalign ITEM_ALIGN_RIGHT - textalignx 151 + textalignx 151 textaligny -2 font 2 textscale 0.8 @@ -1139,135 +1204,103 @@ visible 0 // appearance_slot 3 descText @MENUS_VR_SMOOTH_TURN_DESC - action + action { play sound/interface/button1 } - mouseenter - { - show highlight3 - } - mouseexit - { - hide highlight3 - } - } - - itemDef - { - name none - group comfortcontrols - type ITEM_TYPE_MULTI - text @MENUS_VR_TURN_ANGLE_ITEM - cvar "vr_turn_angle" - cvarFloatList - { - @MENUS_VR_TURN_ANGLE_30DEGREES 30 - @MENUS_VR_TURN_ANGLE_45DEGREES 45 - @MENUS_VR_TURN_ANGLE_90DEGREES 90 - } - rect 305 231 300 20 - textalign ITEM_ALIGN_RIGHT - textalignx 151 - textaligny -2 - font 2 - textscale 0.8 - forecolor 1 1 1 1 - visible 0 - // appearance_slot 4 - descText @MENUS_VR_TURN_ANGLE_DESC - action - { - play sound/interface/button1 - } - - mouseenter + mouseenter { show highlight4 } - mouseexit + mouseexit { hide highlight4 } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_YESNO - text @MENUS_VR_SWITCH_STICKS_ITEM - cvar "vr_switch_sticks" + group commoncontrols + type ITEM_TYPE_MULTI + text @MENUS_VR_TURN_ANGLE_ITEM + cvar "vr_turn_angle" + cvarFloatList + { + @MENUS_VR_TURN_ANGLE_30DEGREES 30 + @MENUS_VR_TURN_ANGLE_45DEGREES 45 + @MENUS_VR_TURN_ANGLE_90DEGREES 90 + } rect 305 251 300 20 textalign ITEM_ALIGN_RIGHT - textalignx 151 + textalignx 151 textaligny -2 font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 - // appearance_slot 5 - descText @MENUS_VR_SWITCH_STICKS_DESC - action + visible 0 + // appearance_slot 4 + descText @MENUS_VR_TURN_ANGLE_DESC + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight5 } - mouseexit + mouseexit { hide highlight5 } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_MULTI - text @MENUS_VR_LEFT_HANDED_ITEM - cvar "vr_control_scheme" - cvarFloatList - { - @MENUS0_NO 0 - @MENUS0_YES 10 - } + group commoncontrols + type ITEM_TYPE_YESNO + text @MENUS_VR_SWITCH_STICKS_ITEM + cvar "vr_switch_sticks" rect 305 271 300 20 textalign ITEM_ALIGN_RIGHT - textalignx 151 + textalignx 151 textaligny -2 font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 5 - descText @MENUS_VR_LEFT_HANDED_DESC - action + descText @MENUS_VR_SWITCH_STICKS_DESC + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight6 } - mouseexit + mouseexit { hide highlight6 } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_YESNO - text @MENUS_VR_IMMERSIVE_CINEMATICS_ITEM - cvar "vr_immersive_cinematics" + group commoncontrols + type ITEM_TYPE_MULTI + text @MENUS_VR_LEFT_HANDED_ITEM + cvar "vr_control_scheme" + cvarFloatList + { + @MENUS0_NO 0 + @MENUS0_YES 10 + } rect 305 291 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 @@ -1276,37 +1309,30 @@ textscale 0.8 forecolor 1 1 1 1 visible 0 - // appearance_slot 1 - descText @MENUS_VR_IMMERSIVE_CINEMATICS_DESC - action - { + // appearance_slot 5 + descText @MENUS_VR_LEFT_HANDED_DESC + action + { play sound/interface/button1 } - - mouseenter - { + + mouseenter + { show highlight7 } - - mouseexit + mouseexit { hide highlight7 - } + } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_MULTI - text @MENUS_VR_SCREEN_DISTANCE_ITEM - cvar "vr_screen_dist" - cvarFloatList - { - @MENUS_VR_SCREEN_DISTANCE_NEAR 1.5 - @MENUS_VR_SCREEN_DISTANCE_MEDIUM 2.5 - @MENUS_VR_SCREEN_DISTANCE_FAR 3.5 - } + group commoncontrols + type ITEM_TYPE_YESNO + text @MENUS_VR_CROUCH_TOGGLE_ITEM + cvar "vr_crouch_toggle" rect 305 311 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 @@ -1316,30 +1342,36 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText @MENUS_VR_SCREEN_DISTANCE_DESC - action + descText @MENUS_VR_CROUCH_TOGGLE_DESC + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight8 } - mouseexit + mouseexit { hide highlight8 - } + } } - itemDef + itemDef { name none - group comfortcontrols - type ITEM_TYPE_SLIDER - text @MENUS_VR_HEIGHT_ADJUST_ITEM - cvarfloat "cg_heightAdjust" 0 0 1 + group commoncontrols + type ITEM_TYPE_MULTI + text @MENUS_VR_CROUCH_IRL_ITEM + cvar "vr_irl_crouch_enabled" + cvarFloatList + { + @MENUS0_NO 0 + @MENUS_VR_CROUCH_IRL_1ST_PERSON 1 + @MENUS0_YES 2 + } rect 305 331 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 @@ -1348,92 +1380,20 @@ textscale 0.8 forecolor 1 1 1 1 visible 0 - // appearance_slot 1 - descText @MENUS_VR_HEIGHT_ADJUST_DESC - action - { - play sound/interface/button1 - } - - mouseenter - { - show highlight9 - } - - mouseexit - { - hide highlight9 - } - } - - itemDef - { - name none - group comfortcontrols - type ITEM_TYPE_YESNO - text @MENUS_VR_CROUCH_TOGGLE_ITEM - cvar "vr_crouch_toggle" - rect 305 351 300 20 - textalign ITEM_ALIGN_RIGHT - textalignx 151 - textaligny -2 - font 2 - textscale 0.8 - forecolor 1 1 1 1 - visible 0 - // appearance_slot 1 - descText @MENUS_VR_CROUCH_TOGGLE_DESC - action - { - play sound/interface/button1 - } - - mouseenter - { - show highlight10 - } - - mouseexit - { - hide highlight10 - } - } - - itemDef - { - name none - group comfortcontrols - type ITEM_TYPE_MULTI - text @MENUS_VR_CROUCH_IRL_ITEM - cvar "vr_irl_crouch_enabled" - cvarFloatList - { - @MENUS0_NO 0 - @MENUS_VR_CROUCH_IRL_1ST_PERSON 1 - @MENUS0_YES 2 - } - rect 305 371 300 20 - textalign ITEM_ALIGN_RIGHT - textalignx 151 - textaligny -2 - font 2 - textscale 0.8 - forecolor 1 1 1 1 - visible 0 // appearance_slot 3 descText @MENUS_VR_CROUCH_IRL_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { - show highlight11 + show highlight9 } - mouseexit + mouseexit { - hide highlight11 + hide highlight9 } } @@ -1443,17 +1403,17 @@ // WEAPON MENU // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name none group weaponcontrols type ITEM_TYPE_MULTI text @MENUS0_AUTO_SWITCH cvar "cg_autoswitch" - cvarFloatList + cvarFloatList { - @MENUS1_DON_T_SWITCH 0 - @MENUS1_BEST_SAFE_WEAPON 1 + @MENUS1_DON_T_SWITCH 0 + @MENUS1_BEST_SAFE_WEAPON 1 @MENUS1_ALWAYS_BEST_WEAPON 2 } rect 305 191 300 20 @@ -1466,24 +1426,24 @@ visible 0 // appearance_slot 1 descText @MENUS1_CHOOSE_WHETHER_TO_SWITCH - action + action { play sound/interface/button1 } - mouseenter - { + mouseenter + { show highlight2 } - mouseexit - { + mouseexit + { hide highlight2 - } + } } - itemDef + itemDef { name none group weaponcontrols @@ -1497,27 +1457,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_WEAPON_PITCH_DESC - action + action { play sound/interface/button1 } - mouseenter - { + mouseenter + { show highlight3 } - mouseexit - { + mouseexit + { hide highlight3 - } + } } - itemDef + itemDef { name none group weaponcontrols @@ -1531,27 +1491,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_TWO_HANDED_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight4 } - mouseexit + mouseexit { hide highlight4 - } + } } - itemDef + itemDef { name none group weaponcontrols @@ -1565,27 +1525,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_GUN_STOCK_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight5 } - mouseexit + mouseexit { hide highlight5 - } + } } - itemDef + itemDef { name none group weaponcontrols @@ -1599,23 +1559,23 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_WEAPON_VELOCITY_TRIGGER_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight6 } - mouseexit + mouseexit { hide highlight6 - } + } } @@ -1626,7 +1586,7 @@ // FORCE MENU // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name none group forcecontrols @@ -1640,27 +1600,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_FORCE_SPEED_FOV_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight2 } - mouseexit + mouseexit { hide highlight2 - } + } } - itemDef + itemDef { name none group forcecontrols @@ -1674,27 +1634,27 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_FORCE_MOTION_TRIGGER_TOGGLE_ITEM - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight3 } - mouseexit + mouseexit { hide highlight3 - } + } } - itemDef + itemDef { name none group forcecontrols @@ -1708,23 +1668,23 @@ font 2 textscale 0.8 forecolor 1 1 1 1 - visible 0 + visible 0 // appearance_slot 2 descText @MENUS_VR_FORCE_VELOCITY_TRIGGER_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight4 } - mouseexit + mouseexit { hide highlight4 - } + } } @@ -1735,7 +1695,7 @@ // INVENTORY MENU // //---------------------------------------------------------------------------------------------- - itemDef + itemDef { name none group invcontrols @@ -1752,19 +1712,198 @@ visible 0 // appearance_slot 1 descText @MENUS_VR_AUTO_USE_BACTA_DESC - action + action { play sound/interface/button1 } - mouseenter + mouseenter { show highlight2 } - mouseexit + mouseexit { hide highlight2 } } + + + + //---------------------------------------------------------------------------------------------- + // + // COMFORT MENU + // + //---------------------------------------------------------------------------------------------- + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_YESNO + text @MENUS_VR_IMMERSIVE_CINEMATICS_ITEM + cvar "vr_immersive_cinematics" + rect 305 191 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_IMMERSIVE_CINEMATICS_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight2 + } + + mouseexit + { + hide highlight2 + } + } + + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_MULTI + text @MENUS_VR_SCREEN_DISTANCE_ITEM + cvar "vr_screen_dist" + cvarFloatList + { + @MENUS_VR_SCREEN_DISTANCE_NEAR 1.5 + @MENUS_VR_SCREEN_DISTANCE_MEDIUM 2.5 + @MENUS_VR_SCREEN_DISTANCE_FAR 3.5 + } + rect 305 211 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_SCREEN_DISTANCE_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight3 + } + + mouseexit + { + hide highlight3 + } + } + + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_SLIDER + text @MENUS_VR_HEIGHT_ADJUST_ITEM + cvarfloat "cg_heightAdjust" 0 0 1 + rect 305 231 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_HEIGHT_ADJUST_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight4 + } + + mouseexit + { + hide highlight4 + } + } + + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_SLIDER + text @MENUS_VR_HAPTIC_INTENSITY_ITEM + cvarfloat "vr_haptic_intensity" 0 0 1 + rect 305 251 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_HAPTIC_INTENSITY_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight5 + } + + mouseexit + { + hide highlight5 + } + } + + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_SLIDER + text @MENUS_VR_COMFORT_VIGNETTE_ITEM + cvarfloat "vr_comfort_vignette" 0 0 1 + rect 305 271 300 20 + textalign ITEM_ALIGN_RIGHT + textalignx 151 + textaligny -2 + font 2 + textscale 0.8 + forecolor 1 1 1 1 + visible 0 + // appearance_slot 1 + descText @MENUS_VR_COMFORT_VIGNETTE_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight6 + } + + mouseexit + { + hide highlight6 + } + } + } }