From 168a3893d69089ad30f11e2d5467e3e0cc30a95f Mon Sep 17 00:00:00 2001 From: subject9x Date: Wed, 30 Oct 2024 21:03:47 -0400 Subject: [PATCH] feature: 'retro' movement speed for variety. + added new cvar for slower 'retro' flavored mech speeds. + toggled from main menu when NOT in a mission. + available as a server host flag too. --- client/ui/menu/ui_connect_coop.qc | 13 ++++++ client/ui/menu/ui_connect_dm.qc | 6 +++ client/ui/menu/ui_connect_teamdm.qc | 11 +++++ common/data/data_values_game.qc | 11 +++++ common/data/defs/defs_world.qc | 7 +++ main/entityFactory_vehicles.qc | 6 +++ menu/defs/menudefs.qc | 1 + menu/menus/m_host.qc | 35 ++++++++++---- menu/menus/m_options_gameplay.qc | 71 +++++++++++++++++++++++++---- 9 files changed, 144 insertions(+), 17 deletions(-) diff --git a/client/ui/menu/ui_connect_coop.qc b/client/ui/menu/ui_connect_coop.qc index 70143468..7c66f7a4 100644 --- a/client/ui/menu/ui_connect_coop.qc +++ b/client/ui/menu/ui_connect_coop.qc @@ -203,6 +203,19 @@ void( vector menuOrg ) menu_connect_draw_coop_rules={ } listCount = listCount + 1; } + if( (ENT_SERVER_INFO.serverFlags & SVFLAG_SIMMOVE) ){ + drawstring( ruleRow, "Retro move speed", '10 10', CLR_DEF_WHITE, 1, 0); + if( listCount == 3 ){ + ruleRow_x = ruleRow_x + 85; + ruleRow_y = ruleRow_y - (listCount * 12); + } + else{ + ruleRow_y = ruleRow_y + 12; + } + listCount = listCount + 1; + } + + drawfont = drawfont_prev; }; diff --git a/client/ui/menu/ui_connect_dm.qc b/client/ui/menu/ui_connect_dm.qc index 142db877..1f2c97bb 100644 --- a/client/ui/menu/ui_connect_dm.qc +++ b/client/ui/menu/ui_connect_dm.qc @@ -103,6 +103,12 @@ void( vector menuOrg ) menu_connect_draw_rules_dm={ drawstring( ruleRow, "No External Cam", '12 12', CLR_DEF_WHITE, 1, 0); ruleRow_y = ruleRow_y + 14; } + if( (ENT_SERVER_INFO.serverFlags & SVFLAG_SIMMOVE) ){ + drawstring( ruleRow, "Retro move speed", '12 12', CLR_DEF_WHITE, 1, 0); + ruleRow_y = ruleRow_y + 14; + } + + drawfont = drawfont_prev; }; diff --git a/client/ui/menu/ui_connect_teamdm.qc b/client/ui/menu/ui_connect_teamdm.qc index 93ef2a3e..65f35435 100644 --- a/client/ui/menu/ui_connect_teamdm.qc +++ b/client/ui/menu/ui_connect_teamdm.qc @@ -210,6 +210,17 @@ void( vector menuOrg ) menu_connect_draw_rules_team={ ruleRow_y = ruleRow_y + 12; } } + if( (ENT_SERVER_INFO.serverFlags & SVFLAG_SIMMOVE) ){ + drawstring( ruleRow, "Retro move speed", '10 10', CLR_DEF_WHITE, 1, 0); + listCount = listCount + 1; + if( listCount == 4 ){ + ruleRow_x = ruleRow_x + 85; + ruleRow_y = leftAnchor_y; + } + else{ + ruleRow_y = ruleRow_y + 12; + } + } drawfont = drawfont_prev; }; diff --git a/common/data/data_values_game.qc b/common/data/data_values_game.qc index f2262606..1cf61603 100644 --- a/common/data/data_values_game.qc +++ b/common/data/data_values_game.qc @@ -88,6 +88,17 @@ float TEAM_MILITAR_TOTAL; #define SVFLAG_ITEMOVER 256 //used when world.itemOverride = 1; tells game to load the override file #define SVFLAG_NOSAVE 512 //used when world.ignoreSave = 1; tells game to NOT save any progress to save file, world.animaticOnly will also trigger this! #define SVFLAG_FPSONLY 1024 //disables third person / chase_active commands. +#define SVFLAG_SIMMOVE 2048 //server has set the sv_gameplayfix_mech_speed var set to 'RETRO' + +//============================ +// MECH SPEED +//============================ +#define SV_MECH_SPEED_METAL 0 +#define SV_MECH_SPEED_RETRO 1 + +#define SV_SPEED_RETRO_FWD 0.6 +#define SV_SPEED_RETRO_BAK 0.67 +#define SV_SPEED_RETRO_SDE 0.6 //============================ // GAME DIFFICULTY diff --git a/common/data/defs/defs_world.qc b/common/data/defs/defs_world.qc index 3fe5f945..c2353da8 100644 --- a/common/data/defs/defs_world.qc +++ b/common/data/defs/defs_world.qc @@ -268,5 +268,12 @@ void( float isNew, float changeFlags) world_rules_readEntity={ SV_FRAGLIMIT = self.ruleFraglimit; SV_TIMELIMIT = self.ruleTimelimit; } + + if( (self.serverFlags & SVFLAG_SIMMOVE) ){ + cvar_set("sv_gameplayfix_mech_speed", ftos(fabs(rint(SV_MECH_SPEED_RETRO)))); + } + else{ + cvar_set("sv_gameplayfix_mech_speed", ftos(fabs(rint(SV_MECH_SPEED_METAL)))); + } }; #endif \ No newline at end of file diff --git a/main/entityFactory_vehicles.qc b/main/entityFactory_vehicles.qc index a14a132b..a94d242b 100644 --- a/main/entityFactory_vehicles.qc +++ b/main/entityFactory_vehicles.qc @@ -151,6 +151,12 @@ void() build_mech_unit={ makevectors(self.angles); + if(cvar("sv_gameplayfix_mech_speed") == 1){ + self.data_speed_forward = self.data_speed_forward * SV_SPEED_RETRO_FWD; + self.data_speed_strafe = self.data_speed_strafe * SV_SPEED_RETRO_BAK; + self.data_speed_backward = self.data_speed_backward * SV_SPEED_RETRO_SDE; + } + self.cache_speed_fwd = self.data_speed_forward; self.cache_speed_sid = self.data_speed_strafe; self.cache_speed_back = self.data_speed_backward; diff --git a/menu/defs/menudefs.qc b/menu/defs/menudefs.qc index c4203b99..ff4cc565 100644 --- a/menu/defs/menudefs.qc +++ b/menu/defs/menudefs.qc @@ -716,6 +716,7 @@ float stringwidth(string text, float handleColors, vector size) = #468; #define SVFLAG_ITEMOVER 256 //used when world.itemOverride = 1; tells game to load the override file #define SVFLAG_NOSAVE 512 //used when world.ignoreSave = 1; tells game to NOT save any progress to save file, world.animaticOnly will also trigger this! #define SVFLAG_FPSONLY 1024 //disables third person / chase_active commands. +#define SVFLAG_SIMMOVE 2048 //server has set the sv_gameplayfix_mech_speed var set to 'RETRO' #define MENUQC #define cacheGlobalString(var, val) if(val!=""){if (var!=""){strunzone(var); var="";} var = strzone(val);} diff --git a/menu/menus/m_host.qc b/menu/menus/m_host.qc index af92643e..51e265a8 100644 --- a/menu/menus/m_host.qc +++ b/menu/menus/m_host.qc @@ -86,6 +86,7 @@ entity host_flag_nomap; entity host_flag_noradar; entity host_flag_nostatus; entity host_flag_nocam; +entity host_flag_move_speed; //images #define IMG_HOST_TITLE "gfx/menu/host/host_title.png" @@ -457,6 +458,17 @@ void() host_check_flag_nocamera={ } }; +void() host_check_flag_simmove={ + if( host_flag_move_speed.len == TRUE ){ + SERVER_FLAGS = SERVER_FLAGS | SVFLAG_SIMMOVE; + } + else{ + SERVER_FLAGS = SERVER_FLAGS - (SERVER_FLAGS & SVFLAG_SIMMOVE); + } +}; + + + void() click_host_back={ cvar_set("sv_serverflags", "0"); //dont save serverflags cvar_set("sv_public", "-2"); @@ -594,30 +606,35 @@ void() m_host_i={ host_flag_spawnfar.drawme = TRUE; } - host_flag_powerup = btn_check_callback(MENU_ORG + '210 263', '14 14', 0, M_HOST, host_check_flag_powerup, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); - host_flag_powerup.label = "Powerup Delay"; + host_flag_move_speed = btn_check_callback(MENU_ORG + '100 263', '14 14', 0, M_HOST, host_check_flag_simmove, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); + host_flag_move_speed.label = "Retro move speed"; + host_flag_cheats = btn_check_callback(MENU_ORG + '100 283', '14 14', 0, M_HOST, host_check_flag_cheats, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); host_flag_cheats.label = "Cheats"; + host_flag_nomap = btn_check_callback(MENU_ORG + '100 303', '14 14', 0, M_HOST, host_check_flag_nomap, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); + host_flag_nomap.label = "No Map "; + + host_flag_nostatus = btn_check_callback(MENU_ORG + '100 323', '14 14', 0, M_HOST, host_check_flag_nostatus, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); + host_flag_nostatus.label = "Hide Menu Status"; + + host_flag_powerup = btn_check_callback(MENU_ORG + '210 263', '14 14', 0, M_HOST, host_check_flag_powerup, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); + host_flag_powerup.label = "Powerup Delay"; + host_flag_fireon = btn_check_callback(MENU_ORG + '210 283', '14 14', 0, M_HOST, host_check_flag_fireon, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); host_flag_fireon.label = "Friendly Fire"; //host_flag_nolives = btn_check_callback('100 273', '14 14', 0, M_HOST, host_check_flag_nolives, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, UI_FLAG_SIZE_IMG); //host_flag_nolives.label = strzone("Respawn"); - host_flag_nomap = btn_check_callback(MENU_ORG + '100 303', '14 14', 0, M_HOST, host_check_flag_nomap, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); - host_flag_nomap.label = "No Map "; - host_flag_noradar = btn_check_callback(MENU_ORG + '210 303', '14 14', 0, M_HOST, host_check_flag_noradar, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); host_flag_noradar.label = "No Radar"; - host_flag_nostatus = btn_check_callback(MENU_ORG + '100 323', '14 14', 0, M_HOST, host_check_flag_nostatus, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); - host_flag_nostatus.label = "Hide Menu Status"; - host_flag_nocam = btn_check_callback(MENU_ORG + '210 323', '14 14', 0, M_HOST, host_check_flag_nocamera, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0.5', 1, 0); host_flag_nocam.label = "No Ext. Camera"; - + + //LAAAAAAAAUNCH! host_launch = btn_text_callback(MENU_ORG + '200 360 0', '16 16', "LAUNCH", VIEW_CTX, M_HOST, click_host_launch, CLR_DEF_TXT_GRAY_SMOOTH, '0 1 0', 1, UI_FLAG_SIZE_IMG); host_launch.fontId = FONT_NUM_XOLONIUM_BOLD; diff --git a/menu/menus/m_options_gameplay.qc b/menu/menus/m_options_gameplay.qc index 77dabecc..e14ac7e2 100644 --- a/menu/menus/m_options_gameplay.qc +++ b/menu/menus/m_options_gameplay.qc @@ -37,6 +37,10 @@ entity gameplay_hudcolor_lbl; entity gameplay_hudcolor_nx; entity gameplay_hudcolor_pr; +entity gameplay_move_lbl; +entity gameplay_move_less; +entity gameplay_move_more; + //entity gameplay_hud_sway_less; //entity gameplay_hud_sway_more; //entity gameplay_hud_sway_set; @@ -127,6 +131,29 @@ void() click_gameplay_fov_less={ gameplay_fov_more.drawme = TRUE; }; +string(float select) gameplayfix_mech_speed_sel={ + if(select == SV_MECH_SPEED_RETRO){ + return "Retro"; + } + return "battleMETAL"; +}; + +void() click_gameplay_mech_speed_less={ + cvar_set("sv_gameplayfix_mech_speed", ftos(SV_MECH_SPEED_RETRO)); + gameplay_move_lbl.label = gameplayfix_mech_speed_sel(SV_MECH_SPEED_RETRO); + + gameplay_move_more.drawme = TRUE; + gameplay_move_less.drawme = FALSE; +}; + +void() click_gameplay_mech_speed_more={ + cvar_set("sv_gameplayfix_mech_speed", ftos(SV_MECH_SPEED_METAL)); + gameplay_move_lbl.label = gameplayfix_mech_speed_sel(SV_MECH_SPEED_METAL); + + gameplay_move_more.drawme = FALSE; + gameplay_move_less.drawme = TRUE; +}; + void() click_gameplay_date_on={ cvar_set("showdate", "1"); cvar_set("showtime", "1"); @@ -286,11 +313,15 @@ void() click_gameplay_hudsway_more={ // ini function, called by '_f' function as a setup func void() m_gameplay_i={ - menu_parent_setup(VIEW_ORG + '0 80', '288 240'); + local float row; + + row = 63; + + menu_parent_setup(VIEW_ORG + '0 80', '288 256'); gameplay_title = lbl_img(MENU_ORG + menu_parent_center_width(5), '1 1 0', IMG_OPTION_TITLE, '1 1 1', VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, UI_FLAG_SIZE_IMG ); - gameplay_fov_lbl = lbl_text(MENU_ORG + '125 63', '14 14', "", CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, UI_FLAG_LBL_USELEN); + gameplay_fov_lbl = lbl_text(MENU_ORG + [125, row], '14 14', "", CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, UI_FLAG_LBL_USELEN); gameplay_fov_lbl.len = cvar("fov"); gameplay_fov_more = btn_img_callback(gameplay_fov_lbl.origin + [stringwidth("100", 0, gameplay_fov_lbl.size), 0], '12 12', UI_IMG_ARW_RGT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_fov_more, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); gameplay_fov_less = btn_img_callback(gameplay_fov_lbl.origin - '20 0', '12 12', UI_IMG_ARW_LFT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_fov_less, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); @@ -302,7 +333,23 @@ void() m_gameplay_i={ gameplay_fov_more.drawme = FALSE; } - gameplay_datetime_lbl = lbl_text(MENU_ORG + '125 83', '14 14', "", CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, UI_FLAG_LBL_BOOL_ON); + if(MAIN_MISSION == FALSE){ + row = row + 20; + gameplay_move_lbl = lbl_text(MENU_ORG + [125, row], '14 14', gameplayfix_mech_speed_sel(cvar("sv_gameplayfix_mech_speed")), CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, UI_FLAG_NOHIGHLIGHT); + gameplay_move_lbl.len = cvar("sv_gameplayfix_mech_speed"); + gameplay_move_more = btn_img_callback(gameplay_move_lbl.origin + [stringwidth(gameplayfix_mech_speed_sel(cvar("sv_gameplayfix_mech_speed")), 0, gameplay_move_lbl.size), 0], '12 12', UI_IMG_ARW_RGT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_mech_speed_more, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); + gameplay_move_less = btn_img_callback(gameplay_move_lbl.origin - '20 0', '12 12', UI_IMG_ARW_LFT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_mech_speed_less, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); + if(cvar("sv_gameplayfix_mech_speed") == SV_MECH_SPEED_METAL){ + gameplay_move_more.drawme = FALSE; + } + else{ + gameplay_move_less.drawme = FALSE; + } + } + + + row = row + 20; + gameplay_datetime_lbl = lbl_text(MENU_ORG + [125, row], '14 14', "", CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, UI_FLAG_LBL_BOOL_ON); gameplay_datetime_lbl.len = cvar("showdate"); gameplay_datetime_on = btn_img_callback(gameplay_datetime_lbl.origin + [stringwidth("OFF", 0, gameplay_datetime_lbl.size), 0], '12 12', UI_IMG_ARW_RGT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_date_on, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); gameplay_datetime_off = btn_img_callback(gameplay_datetime_lbl.origin - '20 0', '12 12', UI_IMG_ARW_LFT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_date_off, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); @@ -314,7 +361,8 @@ void() m_gameplay_i={ gameplay_datetime_off.drawme = FALSE; } - gameplay_fps_lbl = lbl_text(MENU_ORG + '125 103', '14 14', "", CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, UI_FLAG_LBL_BOOL_ON); + row = row + 20; + gameplay_fps_lbl = lbl_text(MENU_ORG + [125, row], '14 14', "", CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, UI_FLAG_LBL_BOOL_ON); gameplay_fps_lbl.len = cvar("showfps"); gameplay_fps_on = btn_img_callback(gameplay_fps_lbl.origin + [stringwidth("OFF", 0, gameplay_fps_lbl.size), 0], '12 12', UI_IMG_ARW_RGT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_fps_on, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); gameplay_fps_off = btn_img_callback(gameplay_fps_lbl.origin - '20 0', '12 12', UI_IMG_ARW_LFT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_fps_off, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); @@ -326,16 +374,18 @@ void() m_gameplay_i={ gameplay_fps_off.drawme = FALSE; } + row = row + 20; local float clean; clean = cvar("crosshair"); - gameplay_crosshair_lbl = lbl_text(MENU_ORG + '125 123', '14 14', strzone(sprintf("%0.0f", clean)), CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, 0); + gameplay_crosshair_lbl = lbl_text(MENU_ORG + [125, row], '14 14', strzone(sprintf("%0.0f", clean)), CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, 0); gameplay_crosshair_lbl.len = cvar("crosshair"); gameplay_crosshair_lbl.image1 = gameplay_crosshair_img( cvar("crosshair") ); gameplay_crosshair_nx = btn_img_callback(gameplay_crosshair_lbl.origin + [stringwidth("5", 0, gameplay_crosshair_lbl.size), 0], '12 12', UI_IMG_ARW_RGT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_crosshair_nx, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); gameplay_crosshair_pr = btn_img_callback(gameplay_crosshair_lbl.origin - '20 0', '12 12', UI_IMG_ARW_LFT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_crosshair_pr, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); + row = row + 20; clean = cvar("cl_hud_alpha"); - gameplay_hudalpha_lbl = lbl_text(MENU_ORG + '125 143', '14 14', strzone(sprintf("%0.2f", clean)), CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, 0); + gameplay_hudalpha_lbl = lbl_text(MENU_ORG + [125, row], '14 14', strzone(sprintf("%0.2f", clean)), CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, 0); gameplay_hudalpha_lbl.len = cvar("cl_hud_alpha"); gameplay_hudalpha_up = btn_img_callback(gameplay_hudalpha_lbl.origin + [stringwidth("9.99", 0, gameplay_crosshair_lbl.size), 0], '12 12', UI_IMG_ARW_RGT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_hudalpha_up, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); gameplay_hudalpha_dn = btn_img_callback(gameplay_hudalpha_lbl.origin - '20 0', '12 12', UI_IMG_ARW_LFT, 0, M_OPTIONS_GAMEPLAY, click_gameplay_hudalpha_dn, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); @@ -347,9 +397,10 @@ void() m_gameplay_i={ gameplay_hudalpha_up.drawme = FALSE; } + row = row + 20; local string colr; colr = gameplay_hudcolor_name( cvar("cl_hud_color") ); - gameplay_hudcolor_lbl = lbl_text(MENU_ORG + '125 163', '14 14', strzone(colr), CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, 0); + gameplay_hudcolor_lbl = lbl_text(MENU_ORG + [125, row], '14 14', strzone(colr), CLR_DEF_WHITE, VIEW_CTX, M_OPTIONS_GAMEPLAY, 1, 0); gameplay_hudcolor_lbl.len = cvar("cl_hud_color"); gameplay_hudcolor_lbl.color_x = cvar("crosshair_color_red"); gameplay_hudcolor_lbl.color_y = cvar("crosshair_color_green"); @@ -362,7 +413,8 @@ void() m_gameplay_i={ //gameplay_hud_sway_more = btn_img_callback('220 263', '8 12', UI_IMG_ARW_RGT, (VIEW_CTX | VIEW_CTY), M_OPTIONS_GAMEPLAY, click_gameplay_hudsway_more, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); //gameplay_hud_sway_less = btn_img_callback('176 263', '8 12', UI_IMG_ARW_LFT, (VIEW_CTX | VIEW_CTY), M_OPTIONS_GAMEPLAY, click_gameplay_hudsway_less, '1 1 1', '0 1 0', 1, UI_FLAG_NOLABEL); - gameplay_back = btn_text_callback(MENU_ORG + '45 190', '16 16', "BACK", VIEW_CTX, M_OPTIONS_GAMEPLAY, click_gameplay_back, CLR_DEF_TXT_GRAY_SMOOTH, CLR_DEF_GREEN, 1, UI_FLAG_SIZE_IMG); + row = row + 40; + gameplay_back = btn_text_callback(MENU_ORG +[45, row], '16 16', "BACK", VIEW_CTX, M_OPTIONS_GAMEPLAY, click_gameplay_back, CLR_DEF_TXT_GRAY_SMOOTH, CLR_DEF_GREEN, 1, UI_FLAG_SIZE_IMG); gameplay_back.fontId = FONT_NUM_XOLONIUM_BOLD; }; @@ -394,6 +446,9 @@ void() m_gameplay_d={ drawfont = FONT_NUM_ROBOT_LIGHT; gui_renderString("Field of View:", gameplay_fov_less.origin - [stringwidth("Field of View: ", 0, '12 12'),0], CLR_DEF_TXT_NONSELECT, '12 12', 1, 0); + if(MAIN_MISSION == FALSE){ + gui_renderString("Mech Speed:", gameplay_move_less.origin - [stringwidth("Mech Speed: ", 0, '12 12'),0], CLR_DEF_TXT_NONSELECT, '12 12', 1, 0); + } gui_renderString("Show FPS:", gameplay_fps_off.origin - [stringwidth("Show FPS: ", 0, '12 12'),0], CLR_DEF_TXT_NONSELECT, '12 12', 1, 0); gui_renderString("Show Date/Time:", gameplay_datetime_off.origin - [stringwidth("Show Date/Time: ", 0, '12 12'),0], CLR_DEF_TXT_NONSELECT, '12 12', 1, 0); gui_renderString("Crosshair Style:", gameplay_crosshair_pr.origin - [stringwidth("Crosshair Style: ", 0, '12 12'),0], CLR_DEF_TXT_NONSELECT, '12 12', 1, 0);