From 73080a2b4b990a9fae7ea4c8ba1d167465a36424 Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 2 Nov 2022 21:53:07 +0000 Subject: [PATCH] Small fix to allow loading of @MuadDib's locale file and included the latest menu update from @MuadDib --- .../Android/jni/OpenJK/code/ui/ui_main.cpp | 4 + assets/z_vr_assets.pk3 | Bin 1328634 -> 1332727 bytes z_vr_assets/strip/menus_vr.sp | 496 ++++++++++++++++++ z_vr_assets/ui/controls.menu | 382 +++++++++++--- z_vr_assets/ui/datapadcheats.menu | 66 +-- z_vr_assets/ui/datapadmission.menu | 276 +++++++++- z_vr_assets/ui/ingamecontrols.menu | 370 ++++++++++--- z_vr_assets/ui/ingamesetup.menu | 441 ++++++++++++---- z_vr_assets/ui/menus.txt | 9 + z_vr_assets/ui/setup.menu | 413 ++++++++++++--- 10 files changed, 2065 insertions(+), 392 deletions(-) create mode 100644 z_vr_assets/strip/menus_vr.sp diff --git a/Projects/Android/jni/OpenJK/code/ui/ui_main.cpp b/Projects/Android/jni/OpenJK/code/ui/ui_main.cpp index a768db5..34b79bd 100644 --- a/Projects/Android/jni/OpenJK/code/ui/ui_main.cpp +++ b/Projects/Android/jni/OpenJK/code/ui/ui_main.cpp @@ -2643,6 +2643,10 @@ void _UI_Init( qboolean inGameLoad ) if (!ui.SP_Register(va("menus%d",i), /*SP_REGISTER_REQUIRED|*/SP_REGISTER_MENU)) break; } + + //Our special VR locale file - tanks to @MuadDib! + ui.SP_Register("menus_vr", /*SP_REGISTER_REQUIRED|*/SP_REGISTER_MENU); + #endif uiInfo.inGameLoad = inGameLoad; diff --git a/assets/z_vr_assets.pk3 b/assets/z_vr_assets.pk3 index a027fdb3c163b3fcd8ad11e3a6d944dd13b7889f..3179e519c472d26cc78cc831e9f4539a440747ef 100644 GIT binary patch delta 27750 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 i{j*Y-xYvL(5D4@2^@at3?8W{b?Ee7ZNNz*` diff --git a/z_vr_assets/strip/menus_vr.sp b/z_vr_assets/strip/menus_vr.sp new file mode 100644 index 0000000..79dddff --- /dev/null +++ b/z_vr_assets/strip/menus_vr.sp @@ -0,0 +1,496 @@ +VERSION 1 +CONFIG W:\bin\striped.cfg +ID 100 +REFERENCE MENUS_VR +DESCRIPTION "VR Menu Localizations" +COUNT 98 +INDEX 0 +{ + REFERENCE COMMON_CONTROLS_ITEM + TEXT_LANGUAGE1 "Common" +} +INDEX 1 +{ + REFERENCE COMMON_CONTROLS_DESC + TEXT_LANGUAGE1 "Common controls configuration." +} +INDEX 2 +{ + REFERENCE WEAPON_CONTROLS_DESC + TEXT_LANGUAGE1 "Weapon specific control configuration." +} +INDEX 3 +{ + REFERENCE POWER_CONTROLS_DESC + TEXT_LANGUAGE1 "Force Power specific control configuration." +} +INDEX 4 +{ + REFERENCE INVENTORY_CONTROLS_DESC + TEXT_LANGUAGE1 "Inventory specific control configuration." +} +INDEX 5 +{ + REFERENCE COMFORT_CONTROLS_ITEM + TEXT_LANGUAGE1 "Comfort" +} +INDEX 6 +{ + REFERENCE COMFORT_CONTROLS_DESC + TEXT_LANGUAGE1 "Configure comfort options." +} +INDEX 7 +{ + REFERENCE MOVEMENT_SPEED_ITEM + TEXT_LANGUAGE1 "Movement Speed:" +} +INDEX 8 +{ + REFERENCE MOVEMENT_SPEED_DESC + TEXT_LANGUAGE1 "Sets player movement speed." +} +INDEX 9 +{ + REFERENCE DIRECTION_MODE_ITEM + TEXT_LANGUAGE1 "Direction Mode:" +} +INDEX 10 +{ + REFERENCE DIRECTION_MODE_DESC + TEXT_LANGUAGE1 "Choose movement direction mode." +} +INDEX 11 +{ + REFERENCE DIRECTION_MODE_CONTROLLER + TEXT_LANGUAGE1 "Off-hand Controller" +} +INDEX 12 +{ + REFERENCE DIRECTION_MODE_HMD + TEXT_LANGUAGE1 "HMD" +} +INDEX 13 +{ + REFERENCE SMOOTH_TURN_ITEM + TEXT_LANGUAGE1 "Smooth turn:" +} +INDEX 14 +{ + REFERENCE SMOOTH_TURN_DESC + TEXT_LANGUAGE1 "Enables or disables smooth turning." +} +INDEX 15 +{ + REFERENCE SMOOTH_TURN_3RD_PERSON + TEXT_LANGUAGE1 "3rd Person" +} +INDEX 16 +{ + REFERENCE TURN_ANGLE_ITEM + TEXT_LANGUAGE1 "Turn Angle:" +} +INDEX 17 +{ + REFERENCE TURN_ANGLE_DESC + TEXT_LANGUAGE1 "Degrees to turn when using snap turn / Speed of smooth turn." +} +INDEX 18 +{ + REFERENCE TURN_ANGLE_30DEGREES + TEXT_LANGUAGE1 "30 Degrees" +} +INDEX 19 +{ + REFERENCE TURN_ANGLE_45DEGREES + TEXT_LANGUAGE1 "45 Degrees" +} +INDEX 20 +{ + REFERENCE TURN_ANGLE_90DEGREES + TEXT_LANGUAGE1 "90 Degrees" +} +INDEX 21 +{ + REFERENCE SWITCH_STICKS_ITEM + TEXT_LANGUAGE1 "Switch Sticks:" +} +INDEX 22 +{ + REFERENCE SWITCH_STICKS_DESC + TEXT_LANGUAGE1 "Switches left/right controller thubmsticks." +} +INDEX 23 +{ + REFERENCE LEFT_HANDED_ITEM + TEXT_LANGUAGE1 "Left-Handed Mode:" +} +INDEX 24 +{ + REFERENCE LEFT_HANDED_DESC + TEXT_LANGUAGE1 "Enables left-handed mode." +} +INDEX 25 +{ + REFERENCE WEAPON_PITCH_ITEM + TEXT_LANGUAGE1 "Weapon Pitch:" +} +INDEX 26 +{ + REFERENCE WEAPON_PITCH_DESC + TEXT_LANGUAGE1 "Sets aiming pitch of held weapon." +} +INDEX 27 +{ + REFERENCE TWO_HANDED_ITEM + TEXT_LANGUAGE1 "Two-Handed Mode:" +} +INDEX 28 +{ + REFERENCE TWO_HANDED_DESC + TEXT_LANGUAGE1 "Enables two-handed weapon handling." +} +INDEX 29 +{ + REFERENCE GUN_STOCK_ITEM + TEXT_LANGUAGE1 "Virtual Gun Stock:" +} +INDEX 30 +{ + REFERENCE GUN_STOCK_DESC + TEXT_LANGUAGE1 "Enables or disables virtual gun stock. Requires two-handed mode to be enabled." +} +INDEX 31 +{ + REFERENCE FORCE_POWER_DIRECTION_ITEM + TEXT_LANGUAGE1 "Force Power Direction Hint:" +} +INDEX 32 +{ + REFERENCE FORCE_POWER_DIRECTION_DESC + TEXT_LANGUAGE1 "Hint as to which direction a force power was fired." +} +INDEX 33 +{ + REFERENCE FORCE_SPEED_FOV_ITEM + TEXT_LANGUAGE1 "Force Speed FOV Change:" +} +INDEX 34 +{ + REFERENCE FORCE_SPEED_FOV_DESC + TEXT_LANGUAGE1 "Whether the FOV will be adjusted briefly when engaging Force Speed." +} +INDEX 35 +{ + REFERENCE IMMERSIVE_CINEMATICS_ITEM + TEXT_LANGUAGE1 "Immersive Cinematics:" +} +INDEX 36 +{ + REFERENCE IMMERSIVE_CINEMATICS_DESC + TEXT_LANGUAGE1 "Enables or disables immersive cinematics." +} +INDEX 37 +{ + REFERENCE SCREEN_DISTANCE_ITEM + TEXT_LANGUAGE1 "Menu Screen Distance:" +} +INDEX 38 +{ + REFERENCE SCREEN_DISTANCE_DESC + TEXT_LANGUAGE1 "Select menu screen distance." +} +INDEX 39 +{ + REFERENCE SCREEN_DISTANCE_NEAR + TEXT_LANGUAGE1 "Near" +} +INDEX 40 +{ + REFERENCE SCREEN_DISTANCE_MEDIUM + TEXT_LANGUAGE1 "Medium" +} +INDEX 41 +{ + REFERENCE SCREEN_DISTANCE_FAR + TEXT_LANGUAGE1 "Far" +} +INDEX 42 +{ + REFERENCE HEIGHT_ADJUST_ITEM + TEXT_LANGUAGE1 "Height Adjust:" +} +INDEX 43 +{ + REFERENCE HEIGHT_ADJUST_DESC + TEXT_LANGUAGE1 "Adjusts your in-game height." +} +INDEX 44 +{ + REFERENCE DIFFICULTY_SETUP_ITEM + TEXT_LANGUAGE1 "Difficulty" +} +INDEX 45 +{ + REFERENCE DIFFICULTY_SETUP_DESC + TEXT_LANGUAGE1 "Various gameplay difficulty tweaks." +} +INDEX 46 +{ + REFERENCE MODEL_DISMEMBERMENT_DISABLED + TEXT_LANGUAGE1 "Disabled" +} +INDEX 47 +{ + REFERENCE MODEL_DISMEMBERMENT_MILD + TEXT_LANGUAGE1 "Mild" +} +INDEX 48 +{ + REFERENCE MODEL_DISMEMBERMENT_BEARABLE + TEXT_LANGUAGE1 "Bearable" +} +INDEX 49 +{ + REFERENCE MODEL_DISMEMBERMENT_UNSETTLING + TEXT_LANGUAGE1 "Unsettling" +} +INDEX 50 +{ + REFERENCE DISMEMBERMENT_PROBABILITY_OFTEN + TEXT_LANGUAGE1 "Often" +} +INDEX 51 +{ + REFERENCE DISMEMBERMENT_PROBABILITY_ALWAYS + TEXT_LANGUAGE1 "Always" +} +INDEX 52 +{ + REFERENCE LASER_AUTODEFLECTING_ITEM + TEXT_LANGUAGE1 "Laser Auto Deflecting:" +} +INDEX 53 +{ + REFERENCE LASER_AUTODEFLECTING_DESC + TEXT_LANGUAGE1 "Enables or disables 1st person auto deflecting of lasers with lightsabers." +} +INDEX 54 +{ + REFERENCE SABER_AUTOBLOCKING_ITEM + TEXT_LANGUAGE1 "Lightsaber Auto Blocking:" +} +INDEX 55 +{ + REFERENCE SABER_AUTOBLOCKING_DESC + TEXT_LANGUAGE1 "Enables or disables auto blocking of enemy lightsaber." +} +INDEX 56 +{ + REFERENCE SABER_REALISM_ITEM + TEXT_LANGUAGE1 "Lightsaber Realism:" +} +INDEX 57 +{ + REFERENCE SABER_REALISM_DESC + TEXT_LANGUAGE1 "Choose effectivity of lightsaber. Affects lightsaber duels difficulty mostly." +} +INDEX 58 +{ + REFERENCE SABER_REALISM_DEFAULT + TEXT_LANGUAGE1 "Default" +} +INDEX 59 +{ + REFERENCE SABER_REALISM_INCREASED + TEXT_LANGUAGE1 "Increased Damage" +} +INDEX 60 +{ + REFERENCE SABER_REALISM_CRITICAL + TEXT_LANGUAGE1 "Fatal Critical Hit" +} +INDEX 61 +{ + REFERENCE SABER_REALISM_INSTANT + TEXT_LANGUAGE1 "Instant Kill" +} +INDEX 62 +{ + REFERENCE FENCING_SPEED_ITEM + TEXT_LANGUAGE1 "Enemy Fencing Speed:" +} +INDEX 63 +{ + REFERENCE FENCING_SPEED_DESC + TEXT_LANGUAGE1 "Choose fencing swiftness of enemies. Affects lightsaber duels difficulty." +} +INDEX 64 +{ + REFERENCE FENCING_SPEED_SLOWER + TEXT_LANGUAGE1 "Slower" +} +INDEX 65 +{ + REFERENCE FENCING_SPEED_DEFAULT + TEXT_LANGUAGE1 "Default" +} +INDEX 66 +{ + REFERENCE FENCING_SPEED_FASTER + TEXT_LANGUAGE1 "Faster" +} +INDEX 67 +{ + REFERENCE GAME_DIFFICULTY_ITEM + TEXT_LANGUAGE1 "Game Difficulty:" +} +INDEX 68 +{ + REFERENCE GAME_DIFFICULTY_DESC + TEXT_LANGUAGE1 "Change game difficulty." +} +INDEX 69 +{ + REFERENCE CHEATS_TITLE + TEXT_LANGUAGE1 "May the force be with you..." +} +INDEX 70 +{ + REFERENCE CHEATS_GIVE_HEALTH_ITEM + TEXT_LANGUAGE1 "Replenish Health" +} +INDEX 71 +{ + REFERENCE CHEATS_GIVE_HEALTH_DESC + TEXT_LANGUAGE1 "Replenishes health." +} +INDEX 72 +{ + REFERENCE CHEATS_GIVE_ARMOR_ITEM + TEXT_LANGUAGE1 "Replenish Armor" +} +INDEX 73 +{ + REFERENCE CHEATS_GIVE_ARMOR_DESC + TEXT_LANGUAGE1 "Replenishes armor." +} +INDEX 74 +{ + REFERENCE CHEATS_GIVE_AMMO_ITEM + TEXT_LANGUAGE1 "Replenish Ammo" +} +INDEX 75 +{ + REFERENCE CHEATS_GIVE_AMMO_DESC + TEXT_LANGUAGE1 "Replenishes ammunition." +} +INDEX 76 +{ + REFERENCE CHEATS_GIVE_BATTERIES_ITEM + TEXT_LANGUAGE1 "Replenish Batteries" +} +INDEX 77 +{ + REFERENCE CHEATS_GIVE_BATTERIES_DESC + TEXT_LANGUAGE1 "Replenishes batteries." +} +INDEX 78 +{ + REFERENCE CHEATS_GIVE_SABER_ITEM + TEXT_LANGUAGE1 "Give Lightsaber" +} +INDEX 79 +{ + REFERENCE CHEATS_GIVE_SABER_DESC + TEXT_LANGUAGE1 "Gives only lighsaber." +} +INDEX 80 +{ + REFERENCE CHEATS_GIVE_WEAPONS_ITEM + TEXT_LANGUAGE1 "Give All Weapons" +} +INDEX 81 +{ + REFERENCE CHEATS_GIVE_WEAPONS_DESC + TEXT_LANGUAGE1 "Gives all weapons." +} +INDEX 82 +{ + REFERENCE CHEATS_GIVE_ITEMS_ITEM + TEXT_LANGUAGE1 "Give All Items" +} +INDEX 83 +{ + REFERENCE CHEATS_GIVE_ITEMS_DESC + TEXT_LANGUAGE1 "Gives all inventory items." +} +INDEX 84 +{ + REFERENCE CHEATS_GIVE_POWERS_ITEM + TEXT_LANGUAGE1 "Unlock All Powers" +} +INDEX 85 +{ + REFERENCE CHEATS_GIVE_POWERS_DESC + TEXT_LANGUAGE1 "Unlocks all force powers." +} +INDEX 86 +{ + REFERENCE CHEATS_SABER_COLOR_TITLE + TEXT_LANGUAGE1 "Lightsaber Color:" +} +INDEX 87 +{ + REFERENCE CHEATS_SABER_COLOR_BLUE_ITEM + TEXT_LANGUAGE1 "Blue" +} +INDEX 88 +{ + REFERENCE CHEATS_SABER_COLOR_BLUE_DESC + TEXT_LANGUAGE1 "Use blue lightsaber." +} +INDEX 89 +{ + REFERENCE CHEATS_SABER_COLOR_GREEN_ITEM + TEXT_LANGUAGE1 "Green" +} +INDEX 90 +{ + REFERENCE CHEATS_SABER_COLOR_GREEN_DESC + TEXT_LANGUAGE1 "Use green lightsaber." +} +INDEX 91 +{ + REFERENCE CHEATS_SABER_COLOR_RED_ITEM + TEXT_LANGUAGE1 "Red" +} +INDEX 92 +{ + REFERENCE CHEATS_SABER_COLOR_RED_DESC + TEXT_LANGUAGE1 "Use red lightsaber." +} +INDEX 93 +{ + REFERENCE CHEATS_SABER_COLOR_ORANGE_ITEM + TEXT_LANGUAGE1 "Orange" +} +INDEX 94 +{ + REFERENCE CHEATS_SABER_COLOR_ORANGE_DESC + TEXT_LANGUAGE1 "Use orange lightsaber." +} +INDEX 95 +{ + REFERENCE CHEATS_SABER_COLOR_PURPLE_ITEM + TEXT_LANGUAGE1 "Purple" +} +INDEX 96 +{ + REFERENCE CHEATS_SABER_COLOR_PURPLE_DESC + TEXT_LANGUAGE1 "Use purple lightsaber." +} +INDEX 97 +{ + REFERENCE CHEATS_ITEM + TEXT_LANGUAGE1 "CHEATS" +} \ No newline at end of file diff --git a/z_vr_assets/ui/controls.menu b/z_vr_assets/ui/controls.menu index 9f746c6..8d16977 100644 --- a/z_vr_assets/ui/controls.menu +++ b/z_vr_assets/ui/controls.menu @@ -69,6 +69,8 @@ forecolor 0.8 0.8 0.8 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } @@ -83,6 +85,8 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } // The saber halo on the left @@ -96,6 +100,8 @@ forecolor 0.5 0.5 0.5 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -112,6 +118,8 @@ // model_origin 100 100 100 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } // The saber halo on the left @@ -125,6 +133,82 @@ forecolor 0.25 0.25 0.25 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + + // Expanded menu shaders + // Sun red + itemDef + { + name sun + group none + rect -40 145 300 300 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2r" + forecolor 0.7 0.7 0.7 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + // Sun halo + itemDef + { + name sun_halo + group none + rect -95 100 400 400 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2br" + forecolor 0.3 0.3 0.3 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + // Long sunflare + itemDef + { + name sunflares + group none + rect -235 -60 700 700 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2br" + forecolor 0.3 0.3 0.3 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + + // Expanded Menu Background Video + itemDef + { + name background_video + group none + rect 0 -100 640 680 + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_video_2" + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_video + showCvar { 1 } + } + + // Expanded Menu Starwars Logo + itemDef + { + name star_wars + group none + rect 272 10 365 95 + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_logo" + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -144,6 +228,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -163,6 +249,8 @@ textalignx 65 forecolor 0.64 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -191,6 +279,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -210,6 +300,8 @@ textalignx 65 forecolor 0.64 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -238,6 +330,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef { @@ -258,6 +352,9 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + action { play sound/interface/button1 @@ -284,6 +381,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef { @@ -303,6 +402,8 @@ backcolor 0 0 0 0 forecolor 0.64 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -330,6 +431,8 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } @@ -385,6 +488,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -404,6 +509,8 @@ textaligny -1 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -421,6 +528,62 @@ } } + // Expanded Menu Back Button + itemDef + { + name back_menu_button_hover + group highlights + rect 585 445 50 15 + style WINDOW_STYLE_SHADER + textalign ITEM_ALIGN_RIGHT + background "gfx/menus/expanded_menu_buttonback" + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + + itemDef + { + name back_menu_button + group none + rect 585 445 50 15 + text @MENUS0_BACK + descText @MENUS0_BACKUP_ONE_MENU + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + textalign ITEM_ALIGN_RIGHT + textalignx 49 + textaligny 0 + textscale 0.53 + textstyle 3 + font 3 + forecolor 0.65 0.65 1 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" + + hide highlights + + close all + open mainbackMenu + } + + mouseEnter + { + show back_menu_button_hover + } + mouseExit + { + hide back_menu_button_hover + } + } + //---------------------------------------------------------------------------------------------- // // SECOND ROW MENU BUTTONS @@ -434,15 +597,36 @@ style WINDOW_STYLE_SHADER background "gfx/menus/menu_blendbox" text @MENUS1_CONFIGURE_CONTROLS - rect 150 145 450 16 + rect 150 145 450 16 font 3 textscale 0.7 textalign ITEM_ALIGN_CENTER textalignx 225 textaligny -2 forecolor 1 1 1 1 - visible 1 - decoration + visible 1 + decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + itemDef + { + name control_title + group none + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_box" + text @MENUS1_CONFIGURE_CONTROLS + rect 120 145 486 16 + font 3 + textscale 0.7 + textalign ITEM_ALIGN_CENTER + textalignx 241 + textaligny -1 + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } // Common button @@ -462,7 +646,7 @@ { name commoncontrolbutton group none - text "Common" + text @MENUS_VR_COMMON_CONTROLS_ITEM type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY rect 120 173 170 30 @@ -474,7 +658,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Common controls configuration." + descText @MENUS_VR_COMMON_CONTROLS_DESC mouseEnter { @@ -530,7 +714,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Weapon specific control configuration." + descText @MENUS_VR_WEAPON_CONTROLS_DESC mouseEnter { @@ -586,7 +770,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Force Power specific control configuration." + descText @MENUS_VR_POWER_CONTROLS_DESC mouseEnter { @@ -642,7 +826,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Inventory specific control configuration." + descText @MENUS_VR_POWER_CONTROLS_DESC mouseEnter { @@ -686,7 +870,7 @@ { name comfortcontrolbutton group none - text "Comfort" + text @MENUS_VR_COMFORT_CONTROLS_ITEM type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY rect 120 293 170 30 @@ -698,7 +882,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Configure comfort options." + descText @MENUS_VR_COMFORT_CONTROLS_DESC mouseEnter { @@ -735,6 +919,35 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + + itemDef + { + name setup_background + group none + style WINDOW_STYLE_SHADER + rect 300 166 306 250 + background "gfx/menus/expanded_menu_box" // Frame + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + itemDef + { + name setup_background + group none + style WINDOW_STYLE_SHADER + rect 120 166 175 250 + background "gfx/menus/expanded_menu_box" // Frame + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -898,7 +1111,7 @@ name none group commoncontrols type ITEM_TYPE_SLIDER - text "Movement Speed:" + text @MENUS_VR_MOVEMENT_SPEED_ITEM cvarfloat "vr_movement_multiplier" 0.1 0.4 1.2 rect 305 191 300 20 textalign ITEM_ALIGN_RIGHT @@ -909,7 +1122,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Sets player movement speed." + descText @MENUS_VR_MOVEMENT_SPEED_DESC action { play sound/interface/button1 @@ -931,12 +1144,12 @@ name none group commoncontrols type ITEM_TYPE_MULTI - text "Direction Mode:" + text @MENUS_VR_DIRECTION_MODE_ITEM cvar "vr_walkdirection" cvarFloatList { - "Off-hand Controller" 0 - "HMD" 1 + @MENUS_VR_DIRECTION_MODE_CONTROLLER 0 + @MENUS_VR_DIRECTION_MODE_HMD 1 } rect 305 211 300 20 textalign ITEM_ALIGN_RIGHT @@ -947,7 +1160,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Choose movement direction mode." + descText @MENUS_VR_DIRECTION_MODE_DESC action { play sound/interface/button1 @@ -969,9 +1182,15 @@ { name none group commoncontrols - type ITEM_TYPE_YESNO - text "Smooth turn:" + type ITEM_TYPE_MULTI + text @MENUS_VR_SMOOTH_TURN_ITEM cvar "vr_turn_mode" + cvarFloatList + { + @MENUS0_NO 0 + @MENUS_VR_SMOOTH_TURN_3RD_PERSON 1 + @MENUS0_YES 2 + } rect 305 231 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 @@ -981,7 +1200,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 3 - descText "Enables or disables smooth turning." + descText @MENUS_VR_SMOOTH_TURN_DESC action { play sound/interface/button1 @@ -1002,13 +1221,13 @@ name none group commoncontrols type ITEM_TYPE_MULTI - text "Turn Angle:" + text @MENUS_VR_TURN_ANGLE_ITEM cvar "vr_turn_angle" cvarFloatList { - "30 Degrees" 30 - "45 Degrees" 45 - "90 Degrees" 90 + @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 @@ -1019,7 +1238,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 4 - descText "Degrees to turn when using snap turn / Speed of smooth turn" + descText @MENUS_VR_TURN_ANGLE_DESC action { play sound/interface/button1 @@ -1040,7 +1259,7 @@ name none group commoncontrols type ITEM_TYPE_YESNO - text "Switch Sticks:" + text @MENUS_VR_SWITCH_STICKS_ITEM cvar "vr_switch_sticks" rect 305 271 300 20 textalign ITEM_ALIGN_RIGHT @@ -1051,7 +1270,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 5 - descText "Switches left/gight controller thubmsticks." + descText @MENUS_VR_SWITCH_STICKS_DESC action { play sound/interface/button1 @@ -1072,12 +1291,12 @@ name none group commoncontrols type ITEM_TYPE_MULTI - text "Left-Handed Mode:" + text @MENUS_VR_LEFT_HANDED_ITEM cvar "vr_control_scheme" cvarFloatList { - "No" 0 - "Yes" 10 + @MENUS0_NO 0 + @MENUS0_YES 10 } rect 305 291 300 20 textalign ITEM_ALIGN_RIGHT @@ -1088,7 +1307,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 5 - descText "Enables left-handed mode." + descText @MENUS_VR_LEFT_HANDED_DESC action { play sound/interface/button1 @@ -1156,7 +1375,7 @@ name none group weaponcontrols type ITEM_TYPE_SLIDER - text "Weapon Pitch:" + text @MENUS_VR_WEAPON_PITCH_ITEM cvarfloat "vr_weapon_pitchadjust" 5 -25 5 rect 305 211 300 20 textalign ITEM_ALIGN_RIGHT @@ -1167,7 +1386,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Sets aiming pitch of held weapon." + descText @MENUS_VR_WEAPON_PITCH_DESC action { play sound/interface/button1 @@ -1190,7 +1409,7 @@ name none group weaponcontrols type ITEM_TYPE_YESNO - text "Two-Handed Mode:" + text @MENUS_VR_TWO_HANDED_ITEM cvar "vr_two_handed_weapons" rect 305 231 300 20 textalign ITEM_ALIGN_RIGHT @@ -1201,7 +1420,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Enables two-handed weapon handling." + descText @MENUS_VR_TWO_HANDED_DESC action { play sound/interface/button1 @@ -1224,7 +1443,7 @@ name none group weaponcontrols type ITEM_TYPE_YESNO - text "Virtual Gun Stock:" + text @MENUS_VR_GUN_STOCK_ITEM cvar "vr_virtual_stock" rect 305 251 300 20 textalign ITEM_ALIGN_RIGHT @@ -1235,7 +1454,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Enables or disables virtual gun stock. Requires two-handed mode to be enabled." + descText @MENUS_VR_GUN_STOCK_DESC action { play sound/interface/button1 @@ -1253,40 +1472,6 @@ } - itemDef - { - name none - group weaponcontrols - type ITEM_TYPE_YESNO - text "Saber Auto Blocking:" - cvar "g_saberAutoblocking" - 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 2 - descText "Enables or disables auto blocking with saber." - action - { - play sound/interface/button1 - } - - mouseenter - { - show highlight6 - } - - mouseexit - { - hide highlight6 - } - - } - //---------------------------------------------------------------------------------------------- @@ -1294,14 +1479,12 @@ // FORCE MENU // //---------------------------------------------------------------------------------------------- - - itemDef { name none group forcecontrols type ITEM_TYPE_YESNO - text "Force Power Direction Hint:" + text @MENUS_VR_FORCE_POWER_DIRECTION_ITEM cvar "cg_showForcePowerDirection" rect 340 191 300 20 textalign ITEM_ALIGN_RIGHT @@ -1312,7 +1495,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Hint as to which direction a force power was fired." + descText @MENUS_VR_FORCE_POWER_DIRECTION_DESC action { play sound/interface/button1 @@ -1335,7 +1518,7 @@ name none group forcecontrols type ITEM_TYPE_YESNO - text "Force Speed FOV Change:" + text @MENUS_VR_FORCE_SPEED_FOV_ITEM cvar "cg_forceSpeedFOVAdjust" rect 340 211 300 20 textalign ITEM_ALIGN_RIGHT @@ -1346,7 +1529,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Whether the FOV will be adjusted briefly when engaging Force Speed." + descText @MENUS_VR_FORCE_SPEED_FOV_DESC action { play sound/interface/button1 @@ -1415,7 +1598,7 @@ name none group comfortcontrols type ITEM_TYPE_YESNO - text "Immersive Cinematics:" + text @MENUS_VR_IMMERSIVE_CINEMATICS_ITEM cvar "vr_immersive_cinematics" rect 305 191 300 20 textalign ITEM_ALIGN_RIGHT @@ -1426,7 +1609,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Enables or disables immersive cinematics." + descText @MENUS_VR_IMMERSIVE_CINEMATICS_DESC action { play sound/interface/button1 @@ -1448,13 +1631,13 @@ name none group comfortcontrols type ITEM_TYPE_MULTI - text "Menu Screen Distance:" + text @MENUS_VR_SCREEN_DISTANCE_ITEM cvar "vr_screen_dist" cvarFloatList { - "Near" 1.5 - "Medium" 2.5 - "Far" 3.5 + @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 @@ -1465,7 +1648,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Select menu screen distance." + descText @MENUS_VR_SCREEN_DISTANCE_DESC action { play sound/interface/button1 @@ -1482,6 +1665,39 @@ } } + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_SLIDER + text @MENUS_VR_HEIGHT_ADJUST_ITEM + cvarfloat "cg_heightAdjust" 0.2 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 + } + } + //---------------------------------------------------------------------------------------------- diff --git a/z_vr_assets/ui/datapadcheats.menu b/z_vr_assets/ui/datapadcheats.menu index b6ef779..a0f5a92 100644 --- a/z_vr_assets/ui/datapadcheats.menu +++ b/z_vr_assets/ui/datapadcheats.menu @@ -74,7 +74,7 @@ rect 0 0 640 480 forecolor 1 1 1 1 visible 1 - decoration 1 + decoration background "gfx/hud/datapad2" } @@ -90,7 +90,7 @@ group none style WINDOW_STYLE_EMPTY rect 0 30 640 25 - text "May the force be with you..." + text @MENUS_VR_CHEATS_TITLE font 2 textscale 1 textalignx 320 @@ -98,7 +98,7 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 - decoration 1 + decoration } itemDef @@ -108,8 +108,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 100 80 200 20 - text "Replenish Health" - descText "Replenishes health." + text @MENUS_VR_CHEATS_GIVE_HEALTH_ITEM + descText @MENUS_VR_CHEATS_GIVE_HEALTH_DESC font 2 textscale 1 textalignx 100 @@ -132,8 +132,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 100 105 200 20 - text "Replenish Armor" - descText "Replenishes armor." + text @MENUS_VR_CHEATS_GIVE_ARMOR_ITEM + descText @MENUS_VR_CHEATS_GIVE_ARMOR_DESC font 2 textscale 1 textalignx 100 @@ -156,8 +156,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 100 130 200 20 - text "Replenish Ammo" - descText "Replenishes ammunition." + text @MENUS_VR_CHEATS_GIVE_AMMO_ITEM + descText @MENUS_VR_CHEATS_GIVE_AMMO_DESC font 2 textscale 1 textalignx 100 @@ -180,8 +180,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 100 155 200 20 - text "Replenish Batteries" - descText "Replenishes batteries." + text @MENUS_VR_CHEATS_GIVE_BATTERIES_ITEM + descText @MENUS_VR_CHEATS_GIVE_BATTERIES_DESC font 2 textscale 1 textalignx 100 @@ -204,8 +204,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 340 80 200 20 - text "Give Lightsaber" - descText "Gives only lighsaber." + text @MENUS_VR_CHEATS_GIVE_SABER_ITEM + descText @MENUS_VR_CHEATS_GIVE_SABER_DESC font 2 textscale 1 textalignx 100 @@ -228,8 +228,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 340 105 200 20 - text "Give All Weapons" - descText "Gives all weapons." + text @MENUS_VR_CHEATS_GIVE_WEAPONS_ITEM + descText @MENUS_VR_CHEATS_GIVE_WEAPONS_DESC font 2 textscale 1 textalignx 100 @@ -252,8 +252,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 340 130 200 20 - text "Give All Items" - descText "Gives all inventory items." + text @MENUS_VR_CHEATS_GIVE_ITEMS_ITEM + descText @MENUS_VR_CHEATS_GIVE_ITEMS_DESC font 2 textscale 1 textalignx 100 @@ -276,8 +276,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 340 155 200 20 - text "Unlock All Powers" - descText "Unlocks all force powers." + text @MENUS_VR_CHEATS_GIVE_POWERS_ITEM + descText @MENUS_VR_CHEATS_GIVE_POWERS_DESC font 2 textscale 1 textalignx 100 @@ -299,7 +299,7 @@ group none style WINDOW_STYLE_EMPTY rect 220 210 200 20 - text "Lightsaber Color:" + text @MENUS_VR_CHEATS_SABER_COLOR_TITLE font 2 textscale 1 textalignx 100 @@ -307,7 +307,7 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 - decoration 1 + decoration } itemDef @@ -317,8 +317,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 190 235 50 20 - text "Blue" - descText "Use blue lightsaber." + text @MENUS_VR_CHEATS_SABER_COLOR_BLUE_ITEM + descText @MENUS_VR_CHEATS_SABER_COLOR_BLUE_DESC font 2 textscale 1 textalignx 25 @@ -341,8 +341,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 240 235 48 20 - text "Green" - descText "Use green lightsaber." + text @MENUS_VR_CHEATS_SABER_COLOR_GREEN_ITEM + descText @MENUS_VR_CHEATS_SABER_COLOR_GREEN_DESC font 2 textscale 1 textalignx 25 @@ -365,8 +365,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 288 235 50 20 - text "Red" - descText "Use red lightsaber." + text @MENUS_VR_CHEATS_SABER_COLOR_RED_ITEM + descText @MENUS_VR_CHEATS_SABER_COLOR_RED_DESC font 2 textscale 1 textalignx 25 @@ -389,8 +389,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 340 235 50 20 - text "Orange" - descText "Use orange lightsaber." + text @MENUS_VR_CHEATS_SABER_COLOR_ORANGE_ITEM + descText @MENUS_VR_CHEATS_SABER_COLOR_ORANGE_DESC font 2 textscale 1 textalignx 25 @@ -413,8 +413,8 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 400 235 50 20 - text "Purple" - descText "Use purple lightsaber." + text @MENUS_VR_CHEATS_SABER_COLOR_PURPLE_ITEM + descText @MENUS_VR_CHEATS_SABER_COLOR_PURPLE_DESC font 2 textscale 1 textalignx 25 @@ -567,7 +567,7 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 274 382 95 25 - text "CHEATS" + text @MENUS_VR_CHEATS_ITEM font 2 textscale 1 textalignx 48 @@ -575,7 +575,7 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 - decoration 1 + decoration } } diff --git a/z_vr_assets/ui/datapadmission.menu b/z_vr_assets/ui/datapadmission.menu index c3eb96f..8a32d4c 100644 --- a/z_vr_assets/ui/datapadmission.menu +++ b/z_vr_assets/ui/datapadmission.menu @@ -58,7 +58,7 @@ //---------------------------------------------------------------------------------------------- // - // LOWER MENU BUTTONS + // LOWER MENU BUTTONS FOR STANDARD MENU // //---------------------------------------------------------------------------------------------- @@ -78,6 +78,8 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } action { @@ -101,6 +103,8 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } action { @@ -125,6 +129,8 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } action { @@ -151,6 +157,8 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } action { @@ -176,6 +184,8 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } action { @@ -192,8 +202,6 @@ style WINDOW_STYLE_EMPTY type ITEM_TYPE_BUTTON rect 274 382 95 25 - //text "CHEATS" - //descText "Bla Bla" font 2 textscale 1 textalignx 48 @@ -201,6 +209,8 @@ forecolor .509 .609 .847 1 appearance_slot 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } action { @@ -209,6 +219,266 @@ } } + //---------------------------------------------------------------------------------------------- + // + // LOWER MENU BUTTONS FOR EXTENDED MENU + // + //---------------------------------------------------------------------------------------------- + + itemDef + { + name mission + group none + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + rect 130 379 0 0 + text @MENUS1_DP_MISSION + descText @MENUS1_AN_OVERVIEW_OF_MISSION + font 2 + textscale 0.8 + textalignx 48 + textaligny 5 + textalign ITEM_ALIGN_CENTER + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" ; + } + } + + itemDef + { + name exit + group none + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + rect 274 416 95 25 + text @MENUS1_RESUME + descText @MENUS1_RETURN_TO_GAME + font 2 + textscale 0.8 + textalignx 48 + textaligny 5 + textalign ITEM_ALIGN_CENTER + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" ; + uiScript closedatapad // Close menu + } + } + + itemDef + { + name weapons + group none + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + rect 130 416 95 25 + text @MENUS0_WEAPONS + descText @MENUS1_VIEW_CURRENTLY_OWNED + font 2 + textscale 0.8 + textalignx 48 + textaligny 5 + textalign ITEM_ALIGN_CENTER + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" ; + close all ; + open datapadWeaponsMenu + } + } + + + itemDef + { + name inventory + group none + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + rect 417 379 95 25 + text @MENUS1_INVENTORY + descText @MENUS1_VIEW_CURRENT_INVENTORY + font 2 + textscale 0.8 + textalignx 48 + textaligny 5 + textalign ITEM_ALIGN_CENTER + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" ; + close all ; + open datapadInventoryMenu + } + } + + itemDef + { + name force + group none + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + rect 417 416 95 25 + text @MENUS1_DP_FORCE + descText @MENUS1_VIEW_CURRENT_FORCE_POWERS + font 2 + textscale 0.8 + textalignx 48 + textaligny 5 + textalign ITEM_ALIGN_CENTER + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" ; + close all ; + open datapadForcePowersMenu + } + } + + itemDef + { + name camera_menu + group none + rect 20 388 95 25 + text @MENUS4_CAMERA + descText @MENUS4_CAMERA_DESC + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + textalign ITEM_ALIGN_CENTER + textalignx 48 + textaligny 0 + textscale 0.7 + textstyle 3 + font 3 + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" + close all + open cameraMenu + } + } + + itemDef + { + name music_menu + group none + rect 20 425 95 25 + text @MENUS4_MUSIC + descText @MENUS4_MUSIC_DESC + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + textalign ITEM_ALIGN_CENTER + textalignx 48 + textaligny 0 + textscale 0.7 + textstyle 3 + font 3 + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" + close all + open musicMenu + } + } + + itemDef + { + name spawner_menu + group none + rect 520 388 95 25 + text @MENUS4_NPC_SPAWNER + descText @MENUS4_NPC_SPAWNER_DESC + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + textalign ITEM_ALIGN_CENTER + textalignx 48 + textaligny 0 + textscale 0.7 + textstyle 3 + font 3 + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" + close all + open spawnerMenu + } + } + + itemDef + { + name cheats_menu + group none + rect 520 425 95 25 + text @MENUS4_CHEATS + descText @MENUS4_CHEATS_DESC + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + textalign ITEM_ALIGN_CENTER + textalignx 48 + textaligny 0 + textscale 0.7 + textstyle 3 + font 3 + forecolor .509 .609 .847 1 + appearance_slot 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" + close all + open cheatsForcePowersMenu + } + } + } } diff --git a/z_vr_assets/ui/ingamecontrols.menu b/z_vr_assets/ui/ingamecontrols.menu index fb0df8e..d1a29b4 100644 --- a/z_vr_assets/ui/ingamecontrols.menu +++ b/z_vr_assets/ui/ingamecontrols.menu @@ -69,6 +69,8 @@ forecolor 0.8 0.8 0.8 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } @@ -83,6 +85,8 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } // The saber halo on the left @@ -96,6 +100,8 @@ forecolor 0.5 0.5 0.5 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -112,6 +118,8 @@ // model_origin 100 100 100 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } // The saber halo on the left @@ -125,6 +133,67 @@ forecolor 0.25 0.25 0.25 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + + // Expanded menu shaders + // Sun red + itemDef + { + name sun + group none + rect -40 145 300 300 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2r" + forecolor 0.7 0.7 0.7 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + // Sun halo + itemDef + { + name sun_halo + group none + rect -95 100 400 400 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2br" + forecolor 0.3 0.3 0.3 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + // Long sunflare + itemDef + { + name sunflares + group none + rect -235 -60 700 700 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2br" + forecolor 0.3 0.3 0.3 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + + // Expanded Menu Starwars Logo + itemDef + { + name star_wars + group none + rect 272 10 365 95 + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_logo" + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -145,6 +214,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -164,6 +235,8 @@ textalignx 65 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -192,6 +265,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -211,6 +286,8 @@ textalignx 65 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -239,6 +316,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef { @@ -259,6 +338,9 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + action { play sound/interface/button1 @@ -285,6 +367,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef { @@ -304,6 +388,8 @@ backcolor 0 0 0 0 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -331,6 +417,8 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } @@ -350,6 +438,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -369,6 +459,8 @@ textaligny -1 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -397,6 +489,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -416,6 +510,9 @@ textaligny -1 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } + mouseEnter { show resumebutton_glow @@ -431,6 +528,62 @@ } } + // Expanded Menu Back Button + itemDef + { + name back_menu_button_hover + group highlights + rect 585 445 50 15 + style WINDOW_STYLE_SHADER + textalign ITEM_ALIGN_RIGHT + background "gfx/menus/expanded_menu_buttonback" + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + + itemDef + { + name back_menu_button + group none + rect 585 445 50 15 + text @MENUS0_BACK + descText @MENUS0_BACKUP_ONE_MENU + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + textalign ITEM_ALIGN_RIGHT + textalignx 49 + textaligny 0 + textscale 0.53 + textstyle 3 + font 3 + forecolor 0.65 0.65 1 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" + + hide highlights + + close all + open ingameMainMenu + } + + mouseEnter + { + show back_menu_button_hover + } + mouseExit + { + hide back_menu_button_hover + } + } + //---------------------------------------------------------------------------------------------- // // SECOND ROW MENU BUTTONS @@ -444,15 +597,36 @@ style WINDOW_STYLE_SHADER background "gfx/menus/menu_blendbox" text @MENUS1_CONFIGURE_CONTROLS - rect 150 145 450 16 + rect 150 145 450 16 font 3 textscale 0.7 textalign ITEM_ALIGN_CENTER textalignx 225 textaligny -2 forecolor 1 1 1 1 - visible 1 - decoration + visible 1 + decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + itemDef + { + name control_title + group none + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_box" + text @MENUS1_CONFIGURE_CONTROLS + rect 120 145 486 16 + font 3 + textscale 0.7 + textalign ITEM_ALIGN_CENTER + textalignx 241 + textaligny -1 + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } // Common button @@ -472,7 +646,7 @@ { name commoncontrolbutton group none - text "Common" + text @MENUS_VR_COMMON_CONTROLS_ITEM type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY rect 120 173 170 30 @@ -484,7 +658,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Common controls configuration." + descText @MENUS_VR_COMMON_CONTROLS_DESC mouseEnter { @@ -540,7 +714,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Weapon specific control configuration." + descText @MENUS_VR_WEAPON_CONTROLS_DESC mouseEnter { @@ -596,7 +770,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Force Power specific control configuration." + descText @MENUS_VR_POWER_CONTROLS_DESC mouseEnter { @@ -652,7 +826,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Inventory specific control configuration." + descText @MENUS_VR_POWER_CONTROLS_DESC mouseEnter { @@ -696,7 +870,7 @@ { name comfortcontrolbutton group none - text "Comfort" + text @MENUS_VR_COMFORT_CONTROLS_ITEM type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY rect 120 293 170 30 @@ -708,7 +882,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Configure comfort options." + descText @MENUS_VR_COMFORT_CONTROLS_DESC mouseEnter { @@ -745,6 +919,35 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + + itemDef + { + name setup_background + group none + style WINDOW_STYLE_SHADER + rect 300 166 306 250 + background "gfx/menus/expanded_menu_box" // Frame + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + itemDef + { + name setup_background + group none + style WINDOW_STYLE_SHADER + rect 120 166 175 250 + background "gfx/menus/expanded_menu_box" // Frame + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -908,7 +1111,7 @@ name none group commoncontrols type ITEM_TYPE_SLIDER - text "Movement Speed:" + text @MENUS_VR_MOVEMENT_SPEED_ITEM cvarfloat "vr_movement_multiplier" 0.1 0.4 1.2 rect 305 191 300 20 textalign ITEM_ALIGN_RIGHT @@ -919,7 +1122,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Sets player movement speed." + descText @MENUS_VR_MOVEMENT_SPEED_DESC action { play sound/interface/button1 @@ -941,12 +1144,12 @@ name none group commoncontrols type ITEM_TYPE_MULTI - text "Direction Mode:" + text @MENUS_VR_DIRECTION_MODE_ITEM cvar "vr_walkdirection" cvarFloatList { - "Off-hand Controller" 0 - "HMD" 1 + @MENUS_VR_DIRECTION_MODE_CONTROLLER 0 + @MENUS_VR_DIRECTION_MODE_HMD 1 } rect 305 211 300 20 textalign ITEM_ALIGN_RIGHT @@ -957,7 +1160,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Choose movement direction mode." + descText @MENUS_VR_DIRECTION_MODE_DESC action { play sound/interface/button1 @@ -979,9 +1182,15 @@ { name none group commoncontrols - type ITEM_TYPE_YESNO - text "Smooth turn:" + type ITEM_TYPE_MULTI + text @MENUS_VR_SMOOTH_TURN_ITEM cvar "vr_turn_mode" + cvarFloatList + { + @MENUS0_NO 0 + @MENUS_VR_SMOOTH_TURN_3RD_PERSON 1 + @MENUS0_YES 2 + } rect 305 231 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 @@ -991,7 +1200,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 3 - descText "Enables or disables smooth turning." + descText @MENUS_VR_SMOOTH_TURN_DESC action { play sound/interface/button1 @@ -1012,13 +1221,13 @@ name none group commoncontrols type ITEM_TYPE_MULTI - text "Turn Angle:" + text @MENUS_VR_TURN_ANGLE_ITEM cvar "vr_turn_angle" cvarFloatList { - "30 Degrees" 30 - "45 Degrees" 45 - "90 Degrees" 90 + @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 @@ -1029,7 +1238,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 4 - descText "Degrees to turn when using snap turn / Speed of smooth turn" + descText @MENUS_VR_TURN_ANGLE_DESC action { play sound/interface/button1 @@ -1050,7 +1259,7 @@ name none group commoncontrols type ITEM_TYPE_YESNO - text "Switch Sticks:" + text @MENUS_VR_SWITCH_STICKS_ITEM cvar "vr_switch_sticks" rect 305 271 300 20 textalign ITEM_ALIGN_RIGHT @@ -1061,7 +1270,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 5 - descText "Switches left/gight controller thubmsticks." + descText @MENUS_VR_SWITCH_STICKS_DESC action { play sound/interface/button1 @@ -1082,12 +1291,12 @@ name none group commoncontrols type ITEM_TYPE_MULTI - text "Left-Handed Mode:" + text @MENUS_VR_LEFT_HANDED_ITEM cvar "vr_control_scheme" cvarFloatList { - "No" 0 - "Yes" 10 + @MENUS0_NO 0 + @MENUS0_YES 10 } rect 305 291 300 20 textalign ITEM_ALIGN_RIGHT @@ -1098,7 +1307,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 5 - descText "Enables left-handed mode." + descText @MENUS_VR_LEFT_HANDED_DESC action { play sound/interface/button1 @@ -1165,7 +1374,7 @@ name none group weaponcontrols type ITEM_TYPE_SLIDER - text "Weapon Pitch:" + text @MENUS_VR_WEAPON_PITCH_ITEM cvarfloat "vr_weapon_pitchadjust" 5 -25 5 rect 305 211 300 20 textalign ITEM_ALIGN_RIGHT @@ -1176,7 +1385,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Sets aiming pitch of held weapon." + descText @MENUS_VR_WEAPON_PITCH_DESC action { play sound/interface/button1 @@ -1199,7 +1408,7 @@ name none group weaponcontrols type ITEM_TYPE_YESNO - text "Two-Handed Mode:" + text @MENUS_VR_TWO_HANDED_ITEM cvar "vr_two_handed_weapons" rect 305 231 300 20 textalign ITEM_ALIGN_RIGHT @@ -1210,7 +1419,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Enables two-handed weapon handling." + descText @MENUS_VR_TWO_HANDED_DESC action { play sound/interface/button1 @@ -1233,7 +1442,7 @@ name none group weaponcontrols type ITEM_TYPE_YESNO - text "Virtual Gun Stock:" + text @MENUS_VR_GUN_STOCK_ITEM cvar "vr_virtual_stock" rect 305 251 300 20 textalign ITEM_ALIGN_RIGHT @@ -1244,7 +1453,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Enables or disables virtual gun stock." + descText @MENUS_VR_GUN_STOCK_DESC action { play sound/interface/button1 @@ -1262,40 +1471,6 @@ } - itemDef - { - name none - group weaponcontrols - type ITEM_TYPE_YESNO - text "Saber Auto Blocking:" - cvar "g_saberAutoblocking" - 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 2 - descText "Enables or disables auto blocking with saber." - action - { - play sound/interface/button1 - } - - mouseenter - { - show highlight6 - } - - mouseexit - { - hide highlight6 - } - - } - //---------------------------------------------------------------------------------------------- @@ -1308,7 +1483,7 @@ name none group forcecontrols type ITEM_TYPE_YESNO - text "Force Power Direction Hint:" + text @MENUS_VR_FORCE_POWER_DIRECTION_ITEM cvar "cg_showForcePowerDirection" rect 340 191 300 20 textalign ITEM_ALIGN_RIGHT @@ -1319,7 +1494,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Hint as to which direction a force power was fired." + descText @MENUS_VR_FORCE_POWER_DIRECTION_DESC action { play sound/interface/button1 @@ -1342,7 +1517,7 @@ name none group forcecontrols type ITEM_TYPE_YESNO - text "Force Speed FOV Change:" + text @MENUS_VR_FORCE_SPEED_FOV_ITEM cvar "cg_forceSpeedFOVAdjust" rect 340 211 300 20 textalign ITEM_ALIGN_RIGHT @@ -1353,7 +1528,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 2 - descText "Whether the FOV will be adjusted briefly when engaging Force Speed." + descText @MENUS_VR_FORCE_SPEED_FOV_DESC action { play sound/interface/button1 @@ -1422,7 +1597,7 @@ name none group comfortcontrols type ITEM_TYPE_YESNO - text "Immersive Cinematics:" + text @MENUS_VR_IMMERSIVE_CINEMATICS_ITEM cvar "vr_immersive_cinematics" rect 305 191 300 20 textalign ITEM_ALIGN_RIGHT @@ -1433,7 +1608,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Enables or disables immersive cinematics." + descText @MENUS_VR_IMMERSIVE_CINEMATICS_DESC action { play sound/interface/button1 @@ -1455,13 +1630,13 @@ name none group comfortcontrols type ITEM_TYPE_MULTI - text "Menu Screen Distance:" + text @MENUS_VR_SCREEN_DISTANCE_ITEM cvar "vr_screen_dist" cvarFloatList { - "Near" 1.5 - "Medium" 2.5 - "Far" 3.5 + @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 @@ -1472,7 +1647,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Select menu screen distance." + descText @MENUS_VR_SCREEN_DISTANCE_DESC action { play sound/interface/button1 @@ -1489,6 +1664,39 @@ } } + itemDef + { + name none + group comfortcontrols + type ITEM_TYPE_SLIDER + text @MENUS_VR_HEIGHT_ADJUST_ITEM + cvarfloat "cg_heightAdjust" 0.2 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 + } + } + //---------------------------------------------------------------------------------------------- diff --git a/z_vr_assets/ui/ingamesetup.menu b/z_vr_assets/ui/ingamesetup.menu index 18a82bd..02d457b 100644 --- a/z_vr_assets/ui/ingamesetup.menu +++ b/z_vr_assets/ui/ingamesetup.menu @@ -67,6 +67,8 @@ forecolor 0.8 0.8 0.8 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } @@ -81,6 +83,8 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } // The saber halo on the left @@ -94,6 +98,8 @@ forecolor 0.5 0.5 0.5 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -110,6 +116,8 @@ // model_origin 100 100 100 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } // The saber halo on the left @@ -123,6 +131,67 @@ forecolor 0.25 0.25 0.25 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + + // Expanded menu shaders + // Sun red + itemDef + { + name sun + group none + rect -40 145 300 300 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2r" + forecolor 0.7 0.7 0.7 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + // Sun halo + itemDef + { + name sun_halo + group none + rect -95 100 400 400 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2br" + forecolor 0.3 0.3 0.3 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + // Long sunflare + itemDef + { + name sunflares + group none + rect -235 -60 700 700 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2br" + forecolor 0.3 0.3 0.3 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + + // Expanded Menu Starwars Logo + itemDef + { + name star_wars + group none + rect 272 10 365 95 + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_logo" + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -143,6 +212,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -162,6 +233,8 @@ textalignx 65 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -194,6 +267,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -213,6 +288,8 @@ textalignx 65 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -245,6 +322,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef { @@ -264,6 +343,8 @@ backcolor 0 0 0 0 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -295,6 +376,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef { @@ -315,6 +398,9 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + action { play "sound/interface/button1.wav" ; @@ -340,6 +426,8 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -358,6 +446,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -377,6 +467,8 @@ textaligny -1 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -408,6 +500,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -427,6 +521,9 @@ textaligny -1 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } + mouseEnter { show resumebutton_glow @@ -445,6 +542,62 @@ } } + // Expanded Menu Back Button + itemDef + { + name back_menu_button_hover + group highlights + rect 585 445 50 15 + style WINDOW_STYLE_SHADER + textalign ITEM_ALIGN_RIGHT + background "gfx/menus/expanded_menu_buttonback" + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + + itemDef + { + name back_menu_button + group none + rect 585 445 50 15 + text @MENUS0_BACK + descText @MENUS0_BACKUP_ONE_MENU + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + textalign ITEM_ALIGN_RIGHT + textalignx 49 + textaligny 0 + textscale 0.53 + textstyle 3 + font 3 + forecolor 0.65 0.65 1 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" + + hide highlights + + close all + open ingameMainMenu + } + + mouseEnter + { + show back_menu_button_hover + } + mouseExit + { + hide back_menu_button_hover + } + } + //---------------------------------------------------------------------------------------------- // // SECOND ROW MENU BUTTONS @@ -458,16 +611,36 @@ style WINDOW_STYLE_SHADER background "gfx/menus/menu_blendbox" text @MENUS2_SETUP_OPTIONS - rect 150 145 450 16 + rect 150 145 450 16 font 3 textscale 0.7 textalign ITEM_ALIGN_CENTER textalignx 225 textaligny -2 forecolor 1 1 1 1 - visible 1 - // appearance_slot 2 - decoration + visible 1 + decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + itemDef + { + name setup_title + group none + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_box" + text @MENUS2_SETUP_OPTIONS + rect 120 145 486 16 + font 3 + textscale 0.7 + textalign ITEM_ALIGN_CENTER + textalignx 241 + textaligny -1 + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } @@ -744,7 +917,7 @@ { name difficultymenubutton group none - text "Difficulty" + text @MENUS_VR_DIFFICULTY_SETUP_ITEM type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY rect 120 293 170 30 @@ -756,7 +929,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Various gameplay difficulty tweaks." + descText @MENUS_VR_DIFFICULTY_SETUP_DESC mouseEnter { @@ -863,6 +1036,35 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + + itemDef + { + name setup_background + group none + style WINDOW_STYLE_SHADER + rect 300 166 306 250 + background "gfx/menus/expanded_menu_box" // Frame + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + itemDef + { + name setup_background + group none + style WINDOW_STYLE_SHADER + rect 120 166 175 250 + background "gfx/menus/expanded_menu_box" // Frame + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -1020,7 +1222,7 @@ // //---------------------------------------------------------------------------------------------- itemDef - { + { name geometric_detail group video type ITEM_TYPE_MULTI @@ -1486,9 +1688,9 @@ cvar "cg_shadows" cvarFloatList { - "None" 0 - "Low" 1 - "High" 3 + @MENUS3_NONE 0 + @MENUS0_LOW 1 + @MENUS0_HIGH 3 } rect 305 271 300 20 textalign ITEM_ALIGN_RIGHT @@ -1821,11 +2023,11 @@ mouseenter { - show highlight1 + show highlight2 } mouseexit { - hide highlight1 + hide highlight2 } } @@ -1859,11 +2061,11 @@ mouseenter { - show highlight2 + show highlight3 } mouseexit { - hide highlight2 + hide highlight3 } } @@ -1902,11 +2104,11 @@ mouseenter { - show highlight3 + show highlight4 } mouseexit { - hide highlight3 + hide highlight4 } } @@ -1920,10 +2122,10 @@ cvar "g_dismemberment" cvarFloatList { - "Disabled" 0 - "Mild" 1 - "Bearable" 2 - "Unsettling" 3 + @MENUS_VR_MODEL_DISMEMBERMENT_DISABLED 0 + @MENUS_VR_MODEL_DISMEMBERMENT_MILD 1 + @MENUS_VR_MODEL_DISMEMBERMENT_BEARABLE 2 + @MENUS_VR_MODEL_DISMEMBERMENT_UNSETTLING 3 } cvarTest ui_iscensored hideCvar { 1 } @@ -1956,14 +2158,14 @@ { name dismemberment_probability group options - type ITEM_TYPE_MULTI - text "Dismemberment Probability:" + type ITEM_TYPE_MULTI + text @MENUS2_DISMEMBER_PROBABILITY cvar "g_dismemberprobabilities" cvarFloatList { - "Rarely" 30 - "Often" 50 - "Always" 100 + @MENUS2_RARE 30 + @MENUS_VR_DISMEMBERMENT_PROBABILITY_OFTEN 50 + @MENUS_VR_DISMEMBERMENT_PROBABILITY_ALWAYS 100 } cvarTest ui_iscensored hideCvar { 1 } @@ -1976,7 +2178,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "How often do model dismemberments happen." + descText @MENUS2_SELECT_FREQUENCY_OF_DISMEMBERMENT action { play "sound/interface/button1.wav" ; @@ -1992,47 +2194,6 @@ } - -/* - itemDef - { - name dismembermentprob - group options_obsolete - type ITEM_TYPE_MULTI - text @MENUS2_DISMEMBER_PROBABILITY - cvar "g_dismemberProbabilities" - cvarFloatList - { - @MENUS2_RARE 2 - @MENUS1_NORMAL 1 - @MENUS2_EXCESSIVE 0 - } - rect 305 311 300 20 - textalign ITEM_ALIGN_RIGHT - textalignx 165 - textaligny -2 - font 2 - textscale 0.8 - forecolor 1 1 1 1 - visible 0 - // appearance_slot 1 - descText @MENUS2_SELECT_FREQUENCY_OF_DISMEMBERMENT - action - { - play "sound/interface/button1.wav" ; - } - - mouseenter - { - show highlight8 - } - mouseexit - { - hide highlight8 - } - } -*/ - itemDef { name text @@ -2045,6 +2206,7 @@ "English" 0 "Francais" 1 "Deutsch" 2 + "Español" 7 } rect 305 351 300 20 textalign ITEM_ALIGN_RIGHT @@ -2083,6 +2245,7 @@ "English", "english" "Francais" "francais" "Deutsch" "deutsch" + "Español" "espanol" } rect 305 371 300 20 textalign ITEM_ALIGN_RIGHT @@ -2192,31 +2355,24 @@ { name none group difficulty - type ITEM_TYPE_MULTI - text "Lightsaber Realism:" - cvar "g_saberRealisticCombat" - cvarFloatList - { - "Default" 0 - "Increased Damage" 1 - "Fatal Critical Hit" 2 - "Instant Kill" 3 - } - rect 305 191 300 20 + type ITEM_TYPE_YESNO + text @MENUS_VR_LASER_AUTODEFLECTING_ITEM + cvar "g_saberAutoDeflect1stPerson" + rect 315 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 "Choose effectivity of lightsaber, affects lightsaber duels difficulty mostly." + visible 0 + // appearance_slot 2 + descText @MENUS_VR_LASER_AUTODEFLECTING_DESC action { play sound/interface/button1 } - + mouseenter { show highlight2 @@ -2226,22 +2382,58 @@ { hide highlight2 } + } itemDef + { + name none + group difficulty + type ITEM_TYPE_YESNO + text @MENUS_VR_SABER_AUTOBLOCKING_ITEM + cvar "g_saberAutoblocking" + rect 315 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 2 + descText @MENUS_VR_SABER_AUTOBLOCKING_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight3 + } + + mouseexit + { + hide highlight3 + } + + } + + itemDef { name none group difficulty type ITEM_TYPE_MULTI - text "Enemy Fencing Speed:" - cvar "g_saberAnimSpeed" + text @MENUS_VR_SABER_REALISM_ITEM + cvar "g_saberRealisticCombat" cvarFloatList { - "Slower" 1.0 - "Default" 1.2 - "Faster" 1.3 + @MENUS_VR_SABER_REALISM_DEFAULT 0 + @MENUS_VR_SABER_REALISM_INCREASED 1 + @MENUS_VR_SABER_REALISM_CRITICAL 2 + @MENUS_VR_SABER_REALISM_INSTANT 3 } - rect 305 211 300 20 + rect 315 231 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 textaligny -2 @@ -2250,19 +2442,20 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Choose fencing swiftness of enemies, affects lightsaber duels difficulty." + descText @MENUS_VR_SABER_REALISM_DESC action { - play "sound/interface/button1.wav" ; + play sound/interface/button1 } mouseenter { - show highlight3 + show highlight4 } + mouseexit { - hide highlight3 + hide highlight4 } } @@ -2271,16 +2464,15 @@ name none group difficulty type ITEM_TYPE_MULTI - text "Game Difficulty:" - cvar "g_spskill" + text @MENUS_VR_FENCING_SPEED_ITEM + cvar "g_saberAnimSpeed" cvarFloatList - { - "Padawan" 0 - "Jedi" 1 - "Jedi Knight" 2 - "Jedi Master" 3 - } - rect 305 231 300 20 + { + @MENUS_VR_FENCING_SPEED_SLOWER 1.0 + @MENUS_VR_FENCING_SPEED_DEFAULT 1.2 + @MENUS_VR_FENCING_SPEED_FASTER 1.3 + } + rect 315 251 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 textaligny -2 @@ -2289,7 +2481,46 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Change game difficulty." + descText @MENUS_VR_FENCING_SPEED_DESC + action + { + play "sound/interface/button1.wav" ; + } + + mouseenter + { + show highlight5 + } + mouseexit + { + hide highlight5 + } + } + + itemDef + { + name none + group difficulty + type ITEM_TYPE_MULTI + text @MENUS_VR_GAME_DIFFICULTY_ITEM + cvar "g_spskill" + cvarFloatList + { + @MENUS1_APPRENTICE 0 + @MENUS1_JEDI 1 + @MENUS2_JEDI_KNIGHT 2 + @MENUS1_JEDI_MASTER 3 + } + rect 315 291 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_GAME_DIFFICULTY_DESC action { play "sound/interface/button1.wav" ; @@ -2297,11 +2528,11 @@ mouseenter { - show highlight4 + show highlight7 } mouseexit { - hide highlight4 + hide highlight7 } } @@ -2317,7 +2548,7 @@ name vidrestart_background group defaults style WINDOW_STYLE_SHADER - rect 300 171 300 250 + rect 304 168 300 247 background "gfx/menus/menu_boxred" // Frame forecolor 1 1 1 0.5 visible 0 diff --git a/z_vr_assets/ui/menus.txt b/z_vr_assets/ui/menus.txt index 6133404..cedf9b9 100644 --- a/z_vr_assets/ui/menus.txt +++ b/z_vr_assets/ui/menus.txt @@ -27,4 +27,13 @@ loadMenu { "ui/ingamevid_warning.menu" } loadMenu { "ui/videodriver.menu" } + // expanded menu mod support + loadMenu { "ui/selectmission.menu" } + loadMenu { "ui/selectmap.menu" } + loadMenu { "ui/camera.menu" } + loadMenu { "ui/music.menu" } + loadMenu { "ui/spawner.menu" } + loadMenu { "ui/cheatsforcepowers.menu" } + loadMenu { "ui/cheatsinventory.menu" } + } diff --git a/z_vr_assets/ui/setup.menu b/z_vr_assets/ui/setup.menu index 26dded1..d5d80a4 100644 --- a/z_vr_assets/ui/setup.menu +++ b/z_vr_assets/ui/setup.menu @@ -73,6 +73,8 @@ forecolor 0.8 0.8 0.8 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } @@ -87,6 +89,8 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } // The saber halo on the left @@ -100,6 +104,8 @@ forecolor 0.5 0.5 0.5 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -116,6 +122,8 @@ // model_origin 100 100 100 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } // The saber halo on the left @@ -129,6 +137,82 @@ forecolor 0.25 0.25 0.25 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + + // Expanded menu shaders + // Sun red + itemDef + { + name sun + group none + rect -40 145 300 300 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2r" + forecolor 0.7 0.7 0.7 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + // Sun halo + itemDef + { + name sun_halo + group none + rect -95 100 400 400 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2br" + forecolor 0.3 0.3 0.3 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + // Long sunflare + itemDef + { + name sunflares + group none + rect -235 -60 700 700 + style WINDOW_STYLE_SHADER + background "gfx/menus/menu2br" + forecolor 0.3 0.3 0.3 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + + // Expanded Menu Background Video + itemDef + { + name background_video + group none + rect 0 -100 640 680 + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_video_3" + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_video + showCvar { 1 } + } + + // Expanded Menu Starwars Logo + itemDef + { + name star_wars + group none + rect 272 10 365 95 + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_logo" + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -149,6 +233,8 @@ visible 0 // appearance_slot 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -168,6 +254,8 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -200,6 +288,8 @@ visible 0 // appearance_slot 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -219,6 +309,8 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -251,6 +343,8 @@ visible 0 // appearance_slot 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef { @@ -270,6 +364,8 @@ backcolor 0 0 0 0 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -302,6 +398,8 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef { @@ -322,12 +420,13 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + action { play "sound/interface/button1.wav" ; } - - mouseEnter { show setupbutton_glow @@ -348,6 +447,8 @@ forecolor 1 1 1 1 visible 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } @@ -407,6 +508,8 @@ visible 0 // appearance_slot 1 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } } itemDef @@ -426,6 +529,8 @@ textaligny -1 forecolor 0.65 0.65 1 1 visible 1 + cvarTest expanded_menu_enabled + hideCvar { 1 } mouseEnter { @@ -446,6 +551,62 @@ } } + // Expanded Menu Back Button + itemDef + { + name back_menu_button_hover + group highlights + rect 585 445 50 15 + style WINDOW_STYLE_SHADER + textalign ITEM_ALIGN_RIGHT + background "gfx/menus/expanded_menu_buttonback" + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + + itemDef + { + name back_menu_button + group none + rect 585 445 50 15 + text @MENUS0_BACK + descText @MENUS0_BACKUP_ONE_MENU + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + textalign ITEM_ALIGN_RIGHT + textalignx 49 + textaligny 0 + textscale 0.53 + textstyle 3 + font 3 + forecolor 0.65 0.65 1 1 + visible 1 + cvarTest expanded_menu_enabled + showCvar { 1 } + + action + { + play "sound/interface/button1.wav" + + hide highlights + + close all + open mainbackMenu + } + + mouseEnter + { + show back_menu_button_hover + } + mouseExit + { + hide back_menu_button_hover + } + } + //---------------------------------------------------------------------------------------------- // // SECOND ROW MENU BUTTONS @@ -459,16 +620,36 @@ style WINDOW_STYLE_SHADER background "gfx/menus/menu_blendbox" text @MENUS2_SETUP_OPTIONS - rect 150 145 450 16 + rect 150 145 450 16 font 3 textscale 0.7 textalign ITEM_ALIGN_CENTER textalignx 225 textaligny -2 forecolor 1 1 1 1 - visible 1 - // appearance_slot 2 - decoration + visible 1 + decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + itemDef + { + name setup_title + group none + style WINDOW_STYLE_SHADER + background "gfx/menus/expanded_menu_box" + text @MENUS2_SETUP_OPTIONS + rect 120 145 486 16 + font 3 + textscale 0.7 + textalign ITEM_ALIGN_CENTER + textalignx 241 + textaligny -1 + forecolor 1 1 1 1 + visible 1 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } @@ -756,7 +937,7 @@ { name difficultymenubutton group none - text "Difficulty" + text @MENUS_VR_DIFFICULTY_SETUP_ITEM type ITEM_TYPE_BUTTON style WINDOW_STYLE_EMPTY rect 120 293 170 30 @@ -768,7 +949,7 @@ textstyle 3 forecolor 0.65 0.65 1 1 visible 1 - descText "Various gameplay difficulty tweaks." + descText @MENUS_VR_DIFFICULTY_SETUP_DESC mouseEnter { @@ -946,6 +1127,35 @@ forecolor 1 1 1 1 visible 0 decoration + cvarTest expanded_menu_enabled + hideCvar { 1 } + } + + itemDef + { + name setup_background + group none + style WINDOW_STYLE_SHADER + rect 300 166 306 250 + background "gfx/menus/expanded_menu_box" // Frame + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } + } + itemDef + { + name setup_background + group none + style WINDOW_STYLE_SHADER + rect 120 166 175 250 + background "gfx/menus/expanded_menu_box" // Frame + forecolor 1 1 1 1 + visible 0 + decoration + cvarTest expanded_menu_enabled + showCvar { 1 } } //---------------------------------------------------------------------------------------------- @@ -1571,9 +1781,9 @@ cvar "cg_shadows" cvarFloatList { - "None" 0 - "Low" 1 - "High" 3 + @MENUS3_NONE 0 + @MENUS0_LOW 1 + @MENUS0_HIGH 3 } rect 305 271 300 20 textalign ITEM_ALIGN_RIGHT @@ -1994,10 +2204,10 @@ cvar "g_dismemberment" cvarFloatList { - "Disabled" 0 - "Mild" 1 - "Bearable" 2 - "Unsettling" 3 + @MENUS_VR_MODEL_DISMEMBERMENT_DISABLED 0 + @MENUS_VR_MODEL_DISMEMBERMENT_MILD 1 + @MENUS_VR_MODEL_DISMEMBERMENT_BEARABLE 2 + @MENUS_VR_MODEL_DISMEMBERMENT_UNSETTLING 3 } cvarTest ui_iscensored hideCvar { 1 } @@ -2030,14 +2240,14 @@ { name dismemberment_probability group options - type ITEM_TYPE_MULTI - text "Dismemberment Probability:" + type ITEM_TYPE_MULTI + text @MENUS2_DISMEMBER_PROBABILITY cvar "g_dismemberprobabilities" cvarFloatList { - "Rarely" 30 - "Often" 50 - "Always" 100 + @MENUS2_RARE 30 + @MENUS_VR_DISMEMBERMENT_PROBABILITY_OFTEN 50 + @MENUS_VR_DISMEMBERMENT_PROBABILITY_ALWAYS 100 } cvarTest ui_iscensored hideCvar { 1 } @@ -2050,7 +2260,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "How often do model dismemberments happen." + descText @MENUS2_SELECT_FREQUENCY_OF_DISMEMBERMENT action { @@ -2066,47 +2276,6 @@ } } - - -/* - itemDef - { - name dismembermentprob - group options_obsolete - type ITEM_TYPE_MULTI - text @MENUS2_DISMEMBER_PROBABILITY - cvar "g_dismemberProbabilities" - cvarFloatList - { - @MENUS2_RARE 2 - @MENUS1_NORMAL 1 - @MENUS2_EXCESSIVE 0 - } - rect 305 311 300 20 - textalign ITEM_ALIGN_RIGHT - textalignx 165 - textaligny -2 - font 2 - textscale 0.8 - forecolor 1 1 1 1 - visible 0 - // appearance_slot 1 - descText @MENUS2_SELECT_FREQUENCY_OF_DISMEMBERMENT - action - { - play "sound/interface/button1.wav" - } - mouseenter - { - show highlight8 - } - mouseexit - { - hide highlight8 - } - } -*/ - itemDef { name text @@ -2119,6 +2288,7 @@ "English" 0 "Francais" 1 "Deutsch" 2 + "Español" 7 } rect 305 351 300 20 textalign ITEM_ALIGN_RIGHT @@ -2157,6 +2327,7 @@ "English", "english" "Francais" "francais" "Deutsch" "deutsch" + "Español" "espanol" } rect 305 371 300 20 textalign ITEM_ALIGN_RIGHT @@ -2266,31 +2437,24 @@ { name none group difficulty - type ITEM_TYPE_MULTI - text "Lightsaber Realism:" - cvar "g_saberRealisticCombat" - cvarFloatList - { - "Default" 0 - "Increased Damage" 1 - "Fatal Critical Hit" 2 - "Instant Kill" 3 - } - rect 305 191 300 20 + type ITEM_TYPE_YESNO + text @MENUS_VR_LASER_AUTODEFLECTING_ITEM + cvar "g_saberAutoDeflect1stPerson" + rect 315 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 "Choose effectivity of lightsaber, affects lightsaber duels difficulty mostly." + visible 0 + // appearance_slot 2 + descText @MENUS_VR_LASER_AUTODEFLECTING_DESC action { play sound/interface/button1 } - + mouseenter { show highlight2 @@ -2300,22 +2464,58 @@ { hide highlight2 } + } itemDef + { + name none + group difficulty + type ITEM_TYPE_YESNO + text @MENUS_VR_SABER_AUTOBLOCKING_ITEM + cvar "g_saberAutoblocking" + rect 315 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 2 + descText @MENUS_VR_SABER_AUTOBLOCKING_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight3 + } + + mouseexit + { + hide highlight3 + } + + } + + itemDef { name none group difficulty type ITEM_TYPE_MULTI - text "Enemy Fencing Speed:" - cvar "g_saberAnimSpeed" + text @MENUS_VR_SABER_REALISM_ITEM + cvar "g_saberRealisticCombat" cvarFloatList { - "Slower" 1.0 - "Default" 1.2 - "Faster" 1.3 + @MENUS_VR_SABER_REALISM_DEFAULT 0 + @MENUS_VR_SABER_REALISM_INCREASED 1 + @MENUS_VR_SABER_REALISM_CRITICAL 2 + @MENUS_VR_SABER_REALISM_INSTANT 3 } - rect 305 211 300 20 + rect 315 231 300 20 textalign ITEM_ALIGN_RIGHT textalignx 151 textaligny -2 @@ -2324,7 +2524,7 @@ forecolor 1 1 1 1 visible 0 // appearance_slot 1 - descText "Choose fencing swiftness of enemies, affects lightsaber duels difficulty." + descText @MENUS_VR_SABER_REALISM_DESC action { play sound/interface/button1 @@ -2332,12 +2532,51 @@ mouseenter { - show highlight3 + show highlight4 + } + + mouseexit + { + hide highlight4 + } + } + + itemDef + { + name none + group difficulty + type ITEM_TYPE_MULTI + text @MENUS_VR_FENCING_SPEED_ITEM + cvar "g_saberAnimSpeed" + cvarFloatList + { + @MENUS_VR_FENCING_SPEED_SLOWER 1.0 + @MENUS_VR_FENCING_SPEED_DEFAULT 1.2 + @MENUS_VR_FENCING_SPEED_FASTER 1.3 + } + rect 315 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_FENCING_SPEED_DESC + action + { + play sound/interface/button1 + } + + mouseenter + { + show highlight5 } mouseexit { - hide highlight3 + hide highlight5 } } @@ -2426,7 +2665,7 @@ name vidrestart_background group defaults style WINDOW_STYLE_SHADER - rect 300 171 300 250 + rect 304 168 300 247 background "gfx/menus/menu_boxred" // Frame forecolor 1 1 1 0.5 visible 0