Minor UI changes

This commit is contained in:
Tomi Isoaho 2011-08-08 20:10:21 +00:00
parent 90ffa604bb
commit ba2557899f
4 changed files with 232 additions and 176 deletions

View file

@ -5634,17 +5634,18 @@ static void UI_Update(const char *name)
switch (val) { switch (val) {
case 0: case 0:
trap_Cvar_SetValue("r_depthbits", 0); trap_Cvar_SetValue("r_depthbits", 0);
trap_Cvar_SetValue("r_stencilbits", 0); trap_Cvar_SetValue("r_stencilbits", 8);
break; break;
case 16: case 16:
trap_Cvar_SetValue("r_depthbits", 16); trap_Cvar_SetValue("r_depthbits", 0);
trap_Cvar_SetValue("r_stencilbits", 0); trap_Cvar_SetValue("r_stencilbits", 0);
break; break;
case 32: case 32:
trap_Cvar_SetValue("r_depthbits", 24); trap_Cvar_SetValue("r_depthbits", 0);
trap_Cvar_SetValue("r_stencilbits", 8);
break; break;
} }
} else if (Q_stricmp(name, "r_lodbias") == 0) { } else if (Q_stricmp(name, "r_lodBias") == 0) {
//TTI: minor changes //TTI: minor changes
switch (val) { switch (val) {
case 0: case 0:
@ -5664,114 +5665,126 @@ static void UI_Update(const char *name)
switch (val) { switch (val) {
//TTI: new presets //TTI: new presets
case 0: // high quality case 0: // high quality
trap_Cvar_SetValue("com_blood", 1); trap_Cvar_SetValue("r_allowExtensions", 1);
trap_Cvar_SetValue("cg_gibs", 1); trap_Cvar_SetValue("r_ext_multisample", 4);
trap_Cvar_Set("r_texturemode", "GL_LINEAR_MIPMAP_LINEAR");
trap_Cvar_SetValue("r_ext_texture_filter_anisotropic", 1);
trap_Cvar_SetValue("r_ext_max_anisotropy", 16);
trap_Cvar_SetValue("ui_filteringMode", 5);
trap_Cvar_SetValue("cg_simpleItems", 0); trap_Cvar_SetValue("cg_simpleItems", 0);
trap_Cvar_SetValue("cg_marks", 1); trap_Cvar_SetValue("cg_marks", 1);
trap_Cvar_SetValue("cg_brassTime", 15000); trap_Cvar_SetValue("cg_brassTime", 20000);
trap_Cvar_SetValue("cg_RQ3_glasstime", 30000); trap_Cvar_SetValue("cg_RQ3_glasstime", 20000);
trap_Cvar_SetValue("cg_shadows", 1); trap_Cvar_SetValue("cg_shadows", 1);
trap_Cvar_SetValue("r_inGameVideo", 1); trap_Cvar_SetValue("r_finish", 0);
trap_Cvar_SetValue("r_swapInterval", 0);
trap_Cvar_SetValue("r_picmip", 0); trap_Cvar_SetValue("r_picmip", 0);
trap_Cvar_SetValue("r_roundImagesDown", 0);
trap_Cvar_SetValue("r_detailtextures", 1); trap_Cvar_SetValue("r_detailtextures", 1);
trap_Cvar_SetValue("r_lodBias", 0); trap_Cvar_SetValue("r_lodBias", 0);
trap_Cvar_SetValue("r_swapInterval", 0);
trap_Cvar_SetValue("r_subdivisions", 0); trap_Cvar_SetValue("r_subdivisions", 0);
trap_Cvar_SetValue("r_lodCurveError", 10000); trap_Cvar_SetValue("r_lodCurveError", 10000);
trap_Cvar_SetValue("r_vertexlight", 0);
trap_Cvar_SetValue("r_colorbits", 32); trap_Cvar_SetValue("r_colorbits", 32);
trap_Cvar_SetValue("r_texturebits", 32); trap_Cvar_SetValue("r_texturebits", 32);
trap_Cvar_SetValue("r_stencilbits", 8); trap_Cvar_SetValue("r_stencilbits", 8);
trap_Cvar_SetValue("r_depthbits", 24); trap_Cvar_SetValue("r_depthbits", 24);
trap_Cvar_SetValue("r_dynamiclight", 1); trap_Cvar_SetValue("r_dynamiclight", 1);
trap_Cvar_SetValue("r_drawSun", 1);
trap_Cvar_SetValue("r_fastsky", 0); trap_Cvar_SetValue("r_fastsky", 0);
trap_Cvar_SetValue("r_flares", 1);
trap_Cvar_SetValue("r_ext_multitexture", 1); trap_Cvar_SetValue("r_ext_multitexture", 1);
trap_Cvar_SetValue("r_ext_compressed_textures", 0); trap_Cvar_SetValue("r_ext_compressed_textures", 0);
break; break;
case 1: // normal case 1: // normal
trap_Cvar_SetValue("com_blood", 1); trap_Cvar_SetValue("r_allowExtensions", 1);
trap_Cvar_SetValue("cg_gibs", 1); trap_Cvar_SetValue("r_ext_multisample", 0);
trap_Cvar_Set("r_texturemode", "GL_LINEAR_MIPMAP_LINEAR");
trap_Cvar_SetValue("r_ext_texture_filter_anisotropic", 0);
trap_Cvar_SetValue("r_ext_max_anisotropy", 2);
trap_Cvar_SetValue("ui_filteringMode", 1);
trap_Cvar_SetValue("cg_simpleItems", 0); trap_Cvar_SetValue("cg_simpleItems", 0);
trap_Cvar_SetValue("cg_marks", 1); trap_Cvar_SetValue("cg_marks", 1);
trap_Cvar_SetValue("cg_brassTime", 7500); trap_Cvar_SetValue("cg_brassTime", 7500);
trap_Cvar_SetValue("cg_RQ3_glasstime", 10000); trap_Cvar_SetValue("cg_RQ3_glasstime", 7500);
trap_Cvar_SetValue("cg_shadows", 1); trap_Cvar_SetValue("cg_shadows", 1);
trap_Cvar_SetValue("r_inGameVideo", 1); trap_Cvar_SetValue("r_finish", 0);
trap_Cvar_SetValue("r_swapInterval", 0);
trap_Cvar_SetValue("r_picmip", 0); trap_Cvar_SetValue("r_picmip", 0);
trap_Cvar_SetValue("r_roundImagesDown", 1);
trap_Cvar_SetValue("r_detailtextures", 1); trap_Cvar_SetValue("r_detailtextures", 1);
trap_Cvar_SetValue("r_lodBias", 0); trap_Cvar_SetValue("r_lodBias", 0);
trap_Cvar_SetValue("r_swapInterval", 0);
trap_Cvar_SetValue("r_subdivisions", 4); trap_Cvar_SetValue("r_subdivisions", 4);
trap_Cvar_SetValue("r_lodCurveError", 250); trap_Cvar_SetValue("r_lodCurveError", 250);
trap_Cvar_SetValue("r_vertexlight", 0); trap_Cvar_SetValue("r_colorbits", 0);
trap_Cvar_SetValue("r_colorbits", 32); trap_Cvar_SetValue("r_texturebits", 0);
trap_Cvar_SetValue("r_texturebits", 32); trap_Cvar_SetValue("r_stencilbits", 8);
trap_Cvar_SetValue("r_stencilbits", 0); trap_Cvar_SetValue("r_depthbits", 0);
trap_Cvar_SetValue("r_depthbits", 24);
trap_Cvar_SetValue("r_dynamiclight", 1); trap_Cvar_SetValue("r_dynamiclight", 1);
trap_Cvar_SetValue("r_drawSun", 0);
trap_Cvar_SetValue("r_fastsky", 0); trap_Cvar_SetValue("r_fastsky", 0);
trap_Cvar_SetValue("r_flares", 1);
trap_Cvar_SetValue("r_ext_multitexture", 1); trap_Cvar_SetValue("r_ext_multitexture", 1);
trap_Cvar_SetValue("r_ext_compressed_textures", 0); trap_Cvar_SetValue("r_ext_compressed_textures", 0);
break; break;
case 2: // fast case 2: // fast
trap_Cvar_SetValue("com_blood", 1); trap_Cvar_SetValue("r_allowExtensions", 1);
trap_Cvar_SetValue("cg_gibs", 1); trap_Cvar_SetValue("r_ext_multisample", 0);
trap_Cvar_Set("r_texturemode", "GL_LINEAR_MIPMAP_LINEAR");
trap_Cvar_SetValue("r_ext_texture_filter_anisotropic", 0);
trap_Cvar_SetValue("r_ext_max_anisotropy", 2);
trap_Cvar_SetValue("ui_filteringMode", 1);
trap_Cvar_SetValue("cg_simpleItems", 0); trap_Cvar_SetValue("cg_simpleItems", 0);
trap_Cvar_SetValue("cg_marks", 1); trap_Cvar_SetValue("cg_marks", 1);
trap_Cvar_SetValue("cg_brassTime", 7500); trap_Cvar_SetValue("cg_brassTime", 7500);
trap_Cvar_SetValue("cg_RQ3_glasstime", 2000); trap_Cvar_SetValue("cg_RQ3_glasstime", 7500);
trap_Cvar_SetValue("cg_shadows", 0); trap_Cvar_SetValue("cg_shadows", 0);
trap_Cvar_SetValue("r_inGameVideo", 1); trap_Cvar_SetValue("r_finish", 0);
trap_Cvar_SetValue("r_swapInterval", 0);
trap_Cvar_SetValue("r_picmip", 1); trap_Cvar_SetValue("r_picmip", 1);
trap_Cvar_SetValue("r_roundImagesDown", 1);
trap_Cvar_SetValue("r_detailtextures", 1); trap_Cvar_SetValue("r_detailtextures", 1);
trap_Cvar_SetValue("r_lodBias", 1); trap_Cvar_SetValue("r_lodBias", 1);
trap_Cvar_SetValue("r_swapInterval", 0);
trap_Cvar_SetValue("r_subdivisions", 8); trap_Cvar_SetValue("r_subdivisions", 8);
trap_Cvar_SetValue("r_lodCurveError", 250); trap_Cvar_SetValue("r_lodCurveError", 250);
trap_Cvar_SetValue("r_vertexlight", 0);
trap_Cvar_SetValue("r_colorbits", 32); trap_Cvar_SetValue("r_colorbits", 32);
trap_Cvar_SetValue("r_texturebits", 32); trap_Cvar_SetValue("r_texturebits", 32);
trap_Cvar_SetValue("r_stencilbits", 0); trap_Cvar_SetValue("r_stencilbits", 8);
trap_Cvar_SetValue("r_depthbits", 16); trap_Cvar_SetValue("r_depthbits", 0);
trap_Cvar_SetValue("r_dynamiclight", 1); trap_Cvar_SetValue("r_dynamiclight", 1);
trap_Cvar_SetValue("r_drawSun", 0);
trap_Cvar_SetValue("r_fastsky", 0); trap_Cvar_SetValue("r_fastsky", 0);
trap_Cvar_SetValue("r_flares", 0);
trap_Cvar_SetValue("r_ext_multitexture", 1); trap_Cvar_SetValue("r_ext_multitexture", 1);
trap_Cvar_SetValue("r_ext_compressed_textures", 1); trap_Cvar_SetValue("r_ext_compressed_textures", 1);
break; break;
case 3: // fastest case 3: // fastest
trap_Cvar_SetValue("com_blood", 0); trap_Cvar_SetValue("r_allowExtensions", 1);
trap_Cvar_SetValue("cg_gibs", 0); trap_Cvar_SetValue("r_ext_multisample", 0);
trap_Cvar_Set("r_texturemode", "GL_LINEAR_MIPMAP_NEAREST");
trap_Cvar_SetValue("r_ext_texture_filter_anisotropic", 0);
trap_Cvar_SetValue("r_ext_max_anisotropy", 2);
trap_Cvar_SetValue("ui_filteringMode", 0);
trap_Cvar_SetValue("cg_simpleItems", 1); trap_Cvar_SetValue("cg_simpleItems", 1);
trap_Cvar_SetValue("cg_marks", 0); trap_Cvar_SetValue("cg_marks", 0);
trap_Cvar_SetValue("cg_brassTime", 0); trap_Cvar_SetValue("cg_brassTime", 0);
trap_Cvar_SetValue("cg_RQ3_glasstime", 0); trap_Cvar_SetValue("cg_RQ3_glasstime", 0);
trap_Cvar_SetValue("cg_shadows", 0); trap_Cvar_SetValue("cg_shadows", 0);
trap_Cvar_SetValue("r_inGameVideo", 1); trap_Cvar_SetValue("r_finish", 0);
trap_Cvar_SetValue("r_swapInterval", 0);
trap_Cvar_SetValue("r_picmip", 2); trap_Cvar_SetValue("r_picmip", 2);
trap_Cvar_SetValue("r_roundImagesDown", 2);
trap_Cvar_SetValue("r_detailtextures", 0); trap_Cvar_SetValue("r_detailtextures", 0);
trap_Cvar_SetValue("r_lodBias", 2); trap_Cvar_SetValue("r_lodBias", 2);
trap_Cvar_SetValue("r_swapInterval", 0);
trap_Cvar_SetValue("r_subdivisions", 16); trap_Cvar_SetValue("r_subdivisions", 16);
trap_Cvar_SetValue("r_lodCurveError", 125); trap_Cvar_SetValue("r_lodCurveError", 125);
trap_Cvar_SetValue("r_vertexlight", 0);
trap_Cvar_SetValue("r_colorbits", 16); trap_Cvar_SetValue("r_colorbits", 16);
trap_Cvar_SetValue("r_texturebits", 16); trap_Cvar_SetValue("r_texturebits", 16);
trap_Cvar_SetValue("r_stencilbits", 0); trap_Cvar_SetValue("r_stencilbits", 0);
trap_Cvar_SetValue("r_depthbits", 16); trap_Cvar_SetValue("r_depthbits", 0);
trap_Cvar_SetValue("r_dynamiclight", 0); trap_Cvar_SetValue("r_dynamiclight", 0);
trap_Cvar_SetValue("r_drawSun", 0);
trap_Cvar_SetValue("r_fastsky", 1); trap_Cvar_SetValue("r_fastsky", 1);
trap_Cvar_SetValue("r_flares", 0);
trap_Cvar_SetValue("r_ext_multitexture", 0); trap_Cvar_SetValue("r_ext_multitexture", 0);
trap_Cvar_SetValue("r_ext_compressed_textures", 1); trap_Cvar_SetValue("r_ext_compressed_textures", 1);
break; break;

View file

@ -152,27 +152,27 @@ Group # 1 - Look
END_OPTION END_OPTION
BEGIN_OPTION("Look Up", "+lookup", ITEM_TYPE_BIND, 4, 1) BEGIN_OPTION("Free Look", "cl_freelook", ITEM_TYPE_YESNO, 4, 1)
OPTION_BELOW("gr1_ctrl3") OPTION_BELOW("gr1_ctrl3")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("YesNoMessage")
END_OPTION END_OPTION
BEGIN_OPTION("Look Down", "+lookdown", ITEM_TYPE_BIND, 5, 1) BEGIN_OPTION("Mouse Look", "+mlook", ITEM_TYPE_BIND, 5, 1)
OPTION_BELOW("gr1_ctrl4") OPTION_BELOW("gr1_ctrl4")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Mouse Look", "+mlook", ITEM_TYPE_BIND, 6, 1) BEGIN_OPTION("Look Up", "+lookup", ITEM_TYPE_BIND, 6, 1)
OPTION_BELOW("gr1_ctrl5") OPTION_BELOW("gr1_ctrl5")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Free Look", "cl_freelook", ITEM_TYPE_YESNO, 7, 1) BEGIN_OPTION("Look Down", "+lookdown", ITEM_TYPE_BIND, 7, 1)
OPTION_BELOW("gr1_ctrl6") OPTION_BELOW("gr1_ctrl6")
ASSIGN_HINT("YesNoMessage") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
@ -305,49 +305,49 @@ Group # 3 - Shoot
END_OPTION END_OPTION
BEGIN_OPTION("MK23 Pistol", "use MK23 Pistol", ITEM_TYPE_BIND, 5, 3) BEGIN_OPTION("Combat Knife", "use Combat Knife", ITEM_TYPE_BIND, 5, 3)
OPTION_BELOW("gr3_ctrl4") OPTION_BELOW("gr3_ctrl4")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("M3 Assault Shotgun", "use M3 Super 90 Assault Shotgun", ITEM_TYPE_BIND, 6, 3) BEGIN_OPTION("MK23 Pistol", "use MK23 Pistol", ITEM_TYPE_BIND, 6, 3)
OPTION_BELOW("gr3_ctrl5") OPTION_BELOW("gr3_ctrl5")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("MP5/10 Sub", "use MP5/10 Submachinegun", ITEM_TYPE_BIND, 7, 3) BEGIN_OPTION("Dual MK23 Pistols", "use Dual MK23 Pistols", ITEM_TYPE_BIND, 7, 3)
OPTION_BELOW("gr3_ctrl6") OPTION_BELOW("gr3_ctrl6")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Handcannon", "use Handcannon", ITEM_TYPE_BIND, 8, 3) BEGIN_OPTION("M3 Assault Shotgun", "use M3 Super 90 Assault Shotgun", ITEM_TYPE_BIND, 8, 3)
OPTION_BELOW("gr3_ctrl7") OPTION_BELOW("gr3_ctrl7")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("SSG Sniper Rifle", "use Sniper Rifle", ITEM_TYPE_BIND, 9, 3) BEGIN_OPTION("MP5/10 Sub", "use MP5/10 Submachinegun", ITEM_TYPE_BIND, 9, 3)
OPTION_BELOW("gr3_ctrl8") OPTION_BELOW("gr3_ctrl8")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("M4 Assault Rifle", "use M4 Assault Rifle", ITEM_TYPE_BIND, 10, 3) BEGIN_OPTION("Handcannon", "use Handcannon", ITEM_TYPE_BIND, 10, 3)
OPTION_BELOW("gr3_ctrl9") OPTION_BELOW("gr3_ctrl9")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Dual MK23 Pistols", "use Dual MK23 Pistols", ITEM_TYPE_BIND, 11, 3) BEGIN_OPTION("SSG Sniper Rifle", "use Sniper Rifle", ITEM_TYPE_BIND, 11, 3)
OPTION_BELOW("gr3_ctrl10") OPTION_BELOW("gr3_ctrl10")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Combat Knife", "use Combat Knife", ITEM_TYPE_BIND, 12, 3) BEGIN_OPTION("M4 Assault Rifle", "use M4 Assault Rifle", ITEM_TYPE_BIND, 12, 3)
OPTION_BELOW("gr3_ctrl11") OPTION_BELOW("gr3_ctrl11")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
@ -387,59 +387,71 @@ Group # 4 - Misc
END_OPTION END_OPTION
BEGIN_OPTION("Chat Message", "messagemode", ITEM_TYPE_BIND, 4, 4) BEGIN_OPTION("Vote Yes", "vote yes", ITEM_TYPE_BIND, 4, 4)
OPTION_BELOW("gr4_ctrl3") OPTION_BELOW("gr4_ctrl3")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Chat - Team", "messagemode2", ITEM_TYPE_BIND, 5, 4) BEGIN_OPTION("Vote No", "vote no", ITEM_TYPE_BIND, 5, 4)
OPTION_BELOW("gr4_ctrl4") OPTION_BELOW("gr4_ctrl4")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Chat - Target", "messagemode3", ITEM_TYPE_BIND, 6, 4) BEGIN_OPTION("Chat Message", "messagemode", ITEM_TYPE_BIND, 6, 4)
OPTION_BELOW("gr4_ctrl5") OPTION_BELOW("gr4_ctrl5")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Chat - Attacker", "messagemode4", ITEM_TYPE_BIND, 7, 4) BEGIN_OPTION("Chat - Team", "messagemode2", ITEM_TYPE_BIND, 7, 4)
OPTION_BELOW("gr4_ctrl6") OPTION_BELOW("gr4_ctrl6")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("VoIP Push-to-talk", "+voiprecord", ITEM_TYPE_BIND, 8, 4) BEGIN_OPTION("Chat - Target", "messagemode3", ITEM_TYPE_BIND, 8, 4)
OPTION_BELOW("gr4_ctrl7") OPTION_BELOW("gr4_ctrl7")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Show Scores", "+scores", ITEM_TYPE_BIND, 9, 4) BEGIN_OPTION("Chat - Attacker", "messagemode4", ITEM_TYPE_BIND, 9, 4)
OPTION_BELOW("gr4_ctrl8") OPTION_BELOW("gr4_ctrl8")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Show Statistics", "+wstats", ITEM_TYPE_BIND, 10, 4) BEGIN_OPTION("VoIP Push-to-talk", "+voiprecord", ITEM_TYPE_BIND, 10, 4)
OPTION_BELOW("gr4_ctrl9") OPTION_BELOW("gr4_ctrl9")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Screenshot", "screenshot", ITEM_TYPE_BIND, 11, 4) BEGIN_OPTION("Show Scores", "+scores", ITEM_TYPE_BIND, 11, 4)
OPTION_BELOW("gr4_ctrl10") OPTION_BELOW("gr4_ctrl10")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Screenshot - JPEG", "screenshotJPEG", ITEM_TYPE_BIND, 12, 4) BEGIN_OPTION("Show Statistics", "+wstats", ITEM_TYPE_BIND, 12, 4)
OPTION_BELOW("gr4_ctrl11") OPTION_BELOW("gr4_ctrl11")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Screenshot", "screenshot", ITEM_TYPE_BIND, 13, 4)
OPTION_BELOW("gr4_ctrl12")
ASSIGN_HINT("keyBindStatus")
END_OPTION
BEGIN_OPTION("Screenshot - JPEG", "screenshotJPEG", ITEM_TYPE_BIND, 14, 4)
OPTION_BELOW("gr4_ctrl13")
ASSIGN_HINT("keyBindStatus")
END_OPTION
/* /*
========================================================== ==========================================================
@ -475,40 +487,46 @@ Group # 5 - Reaction
END_OPTION END_OPTION
BEGIN_OPTION("Weapon Mode", "weapon", ITEM_TYPE_BIND, 5, 5) BEGIN_OPTION("Weapon Mode / Zoom", "weapon", ITEM_TYPE_BIND, 5, 5)
OPTION_BELOW("gr5_ctrl4") OPTION_BELOW("gr5_ctrl4")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Special Weapon Cycle", "use special", ITEM_TYPE_BIND, 6, 5) BEGIN_OPTION("Unzoom", "unzoom", ITEM_TYPE_BIND, 6, 5)
OPTION_BELOW("gr5_ctrl5") OPTION_BELOW("gr5_ctrl5")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Drop Weapon", "drop weapon", ITEM_TYPE_BIND, 7, 5) BEGIN_OPTION("Special Weapon Cycle", "use special", ITEM_TYPE_BIND, 7, 5)
OPTION_BELOW("gr5_ctrl6") OPTION_BELOW("gr5_ctrl6")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Drop Item", "drop item", ITEM_TYPE_BIND, 8, 5) BEGIN_OPTION("Drop Weapon", "drop weapon", ITEM_TYPE_BIND, 8, 5)
OPTION_BELOW("gr5_ctrl7") OPTION_BELOW("gr5_ctrl7")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Drop Briefcase", "drop case", ITEM_TYPE_BIND, 9, 5) BEGIN_OPTION("Drop Item", "drop item", ITEM_TYPE_BIND, 9, 5)
OPTION_BELOW("gr5_ctrl8") OPTION_BELOW("gr5_ctrl8")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Gesture", "+button3", ITEM_TYPE_BIND, 10, 5) BEGIN_OPTION("Drop Briefcase", "drop case", ITEM_TYPE_BIND, 10, 5)
OPTION_BELOW("gr5_ctrl9") OPTION_BELOW("gr5_ctrl9")
ASSIGN_HINT("keyBindStatus") ASSIGN_HINT("keyBindStatus")
END_OPTION END_OPTION
BEGIN_OPTION("Gesture", "+button3", ITEM_TYPE_BIND, 11, 5)
OPTION_BELOW("gr5_ctrl10")
ASSIGN_HINT("keyBindStatus")
END_OPTION
} }
} }

View file

@ -180,7 +180,7 @@ Group # 1 - Gameplay
BEGIN_OPTION("Ejecting Brass", "cg_brassTime", ITEM_TYPE_MULTI, 3, 1) BEGIN_OPTION("Ejecting Brass", "cg_brassTime", ITEM_TYPE_MULTI, 3, 1)
cvarFloatList { cvarFloatList {
"High" 15000 "High" 20000
"Med" 7500 "Med" 7500
"Off" 0 "Off" 0
} }
@ -189,12 +189,26 @@ Group # 1 - Gameplay
END_OPTION END_OPTION
ADD_HINT("hint_brasstime", "Change the amount of ejecting brass", "group1") ADD_HINT("hint_brasstime", "Change the amount of ejecting brass", "group1")
// Glass fragments //
BEGIN_OPTION("Glass Fragments", "cg_RQ3_glasstime", ITEM_TYPE_MULTI, 4, 1)
cvarFloatList {
"High" 20000
"Med" 7500
"Off" 0
}
OPTION_BELOW("gr1_ctrl3")
ASSIGN_HINT("hint_glasstime")
END_OPTION
ADD_HINT("hint_glasstime", "Change the amount of glass fragments", "group1")
// Wall marks // // Wall marks //
BEGIN_OPTION("Wall marks", "cg_marks", ITEM_TYPE_YESNO, 4, 1) BEGIN_OPTION("Wall marks", "cg_marks", ITEM_TYPE_YESNO, 5, 1)
kind YESNO_ICON_RIGHT kind YESNO_ICON_RIGHT
OPTION_BELOW("gr1_ctrl3") OPTION_BELOW("gr1_ctrl4")
ASSIGN_HINT("hint_wallmarks") ASSIGN_HINT("hint_wallmarks")
END_OPTION END_OPTION
ADD_HINT("hint_wallmarks", "Enable wall marks", "group1") ADD_HINT("hint_wallmarks", "Enable wall marks", "group1")
@ -202,9 +216,9 @@ Group # 1 - Gameplay
// Dynamic lights // // Dynamic lights //
BEGIN_OPTION("Dynamic lights", "r_dynamiclight", ITEM_TYPE_YESNO, 5, 1) BEGIN_OPTION("Dynamic lights", "r_dynamiclight", ITEM_TYPE_YESNO, 6, 1)
kind YESNO_ICON_RIGHT kind YESNO_ICON_RIGHT
OPTION_BELOW("gr1_ctrl4") OPTION_BELOW("gr1_ctrl5")
ASSIGN_HINT("hint_dlights") ASSIGN_HINT("hint_dlights")
END_OPTION END_OPTION
ADD_HINT("hint_dlights", "Enable dynamic lighting", "group1") ADD_HINT("hint_dlights", "Enable dynamic lighting", "group1")
@ -212,9 +226,9 @@ Group # 1 - Gameplay
// Identify target // // Identify target //
BEGIN_OPTION("Identify Target", "cg_drawCrosshairNames", ITEM_TYPE_YESNO, 6, 1) BEGIN_OPTION("Identify Target", "cg_drawCrosshairNames", ITEM_TYPE_YESNO, 7, 1)
kind YESNO_ICON_RIGHT kind YESNO_ICON_RIGHT
OPTION_BELOW("gr1_ctrl5") OPTION_BELOW("gr1_ctrl6")
ASSIGN_HINT("hint_idtarget") ASSIGN_HINT("hint_idtarget")
END_OPTION END_OPTION
ADD_HINT("hint_idtarget", "Enable crosshair target identification", "group1") ADD_HINT("hint_idtarget", "Enable crosshair target identification", "group1")
@ -222,9 +236,9 @@ Group # 1 - Gameplay
// Force player models // // Force player models //
BEGIN_OPTION("Force Player Models", "cg_forceModel", ITEM_TYPE_YESNO, 7, 1) BEGIN_OPTION("Force Player Models", "cg_forceModel", ITEM_TYPE_YESNO, 8, 1)
kind YESNO_ICON_RIGHT kind YESNO_ICON_RIGHT
OPTION_BELOW("gr1_ctrl6") OPTION_BELOW("gr1_ctrl7")
ASSIGN_HINT("hint_forcemodel") ASSIGN_HINT("hint_forcemodel")
END_OPTION END_OPTION
ADD_HINT("hint_forcemodel", "Force player models to your own", "group1") ADD_HINT("hint_forcemodel", "Force player models to your own", "group1")
@ -297,6 +311,15 @@ Group # 1 - Gameplay
ADD_HINT("hint_impactfx", "Enable visual projectile impact effects", "group1") ADD_HINT("hint_impactfx", "Enable visual projectile impact effects", "group1")
// Blood //
BEGIN_OPTION("Blood Effects", "com_blood", ITEM_TYPE_YESNO, 15, 1)
kind YESNO_ICON_RIGHT
OPTION_BELOW("gr1_ctrl14")
ASSIGN_HINT("hint_bloodfx")
END_OPTION
ADD_HINT("hint_bloodfx", "Enable blood effects", "group1")
/* /*
========================================================== ==========================================================

View file

@ -162,13 +162,13 @@ Group # 1 - Graphics
========================================================== ==========================================================
*/ */
//Icon //Icon
ADD_TITLE_ICON(UI_ASSETS"/icons/rq3-system-graphics", "group1") ADD_TITLE_ICON(UI_ASSETS"/icons/rq3-system-graphics", "group1")
// Pre-defined settings // // Pre-defined settings //
BEGIN_OPTION("Quality", "ui_glCustom", ITEM_TYPE_MULTI, 1, 1) BEGIN_OPTION("Quality", "ui_glCustom", ITEM_TYPE_MULTI, 1, 1)
alignrect "line" ITEM_ALIGN_CENTER 56 32 112 VSIZE alignrect "line" ITEM_ALIGN_CENTER 56 32 112 VSIZE
cvarFloatList { cvarFloatList {
"Fastest" 3 "Fastest" 3
@ -177,79 +177,81 @@ Group # 1 - Graphics
"High Quality" 0 "High Quality" 0
"Custom" 4 "Custom" 4
} }
action { uiScript update "ui_glCustom" ; } action { uiScript update "ui_glCustom" }
ASSIGN_HINT("hint_predef") ASSIGN_HINT("hint_predef")
END_OPTION END_OPTION
ADD_HINT("hint_predef", "Choose pre-defined graphics settings", "group1") ADD_HINT("hint_predef", "Choose pre-defined graphics settings", "group1")
// GL Driver // // GL Driver //
// ioq3 doesn't recognize this cvar
BEGIN_OPTION("GL Driver", "r_glDriver", ITEM_TYPE_EDITFIELD, 2, 1) /*
BEGIN_OPTION("GL Driver", "r_glDriver", ITEM_TYPE_EDITFIELD, 2, 1)
OPTION_BELOW("gr1_ctrl1") OPTION_BELOW("gr1_ctrl1")
ASSIGN_HINT("hint_gldriver") ASSIGN_HINT("hint_gldriver")
END_OPTION END_OPTION
ADD_HINT("hint_gldriver", "Choose OpenGL driver (default: opengl32)", "group1") ADD_HINT("hint_gldriver", "Choose OpenGL driver (default: opengl32)", "group1")
*/
// GL Extensions //
// GL Extensions // BEGIN_OPTION("GL Extensions", "r_allowExtensions", ITEM_TYPE_YESNO, 2, 1)
OPTION_BELOW("gr1_ctrl1")
BEGIN_OPTION("GL Extensions", "r_allowExtensions", ITEM_TYPE_YESNO, 3, 1) action { uiScript glCustom }
OPTION_BELOW("gr1_ctrl2")
ASSIGN_HINT("hint_glext") ASSIGN_HINT("hint_glext")
END_OPTION END_OPTION
ADD_HINT("hint_glext", "Enable OpenGL extensions", "group1") ADD_HINT("hint_glext", "Enable OpenGL extensions", "group1")
// Resolution // // Resolution //
BEGIN_SIMPLE_OPTION(4, 1) BEGIN_SIMPLE_OPTION(3, 1)
OPTION_BELOW("gr1_ctrl3") OPTION_BELOW("gr1_ctrl2")
text "Resolution:" text "Resolution:"
ownerDraw UI_RESOLUTION ownerDraw UI_RESOLUTION
ASSIGN_HINT("hint_res") ASSIGN_HINT("hint_res")
END_OPTION END_OPTION
ADD_HINT("hint_res", "Choose rendering resolution", "group1") ADD_HINT("hint_res", "Choose rendering resolution", "group1")
// Color depth // // Color depth //
BEGIN_OPTION("Color Depth", "r_colorbits", ITEM_TYPE_MULTI, 5, 1) BEGIN_OPTION("Color Depth", "r_colorbits", ITEM_TYPE_MULTI, 4, 1)
cvarFloatList { "Desktop Default" 0 "16-bit" 16 "32-bit" 32 } cvarFloatList { "Desktop Default" 0 "16-bit" 16 "32-bit" 32 }
OPTION_BELOW("gr1_ctrl4") OPTION_BELOW("gr1_ctrl3")
action { uiScript glCustom ; uiScript update "r_colorbits" ; } action { uiScript glCustom ; uiScript update "r_colorbits" }
ASSIGN_HINT("hint_depth") ASSIGN_HINT("hint_depth")
END_OPTION END_OPTION
ADD_HINT("hint_depth", "Choose rendering color depth", "group1") ADD_HINT("hint_depth", "Choose rendering color depth", "group1")
// Fullscreen // // Fullscreen //
BEGIN_OPTION("Fullscreen", "ui_RQ3_fullscreen", ITEM_TYPE_YESNO, 6, 1) BEGIN_OPTION("Fullscreen", "ui_RQ3_fullscreen", ITEM_TYPE_YESNO, 5, 1)
OPTION_BELOW("gr1_ctrl5") OPTION_BELOW("gr1_ctrl4")
action { uiScript glCustom ; } //action { uiScript glCustom }
ASSIGN_HINT("hint_fullscreen") ASSIGN_HINT("hint_fullscreen")
END_OPTION END_OPTION
ADD_HINT("hint_fullscreen", "Render in full screen or a window", "group1") ADD_HINT("hint_fullscreen", "Render in full screen or a window", "group1")
// Anti-Aliasing Mode // // Anti-Aliasing Mode //
BEGIN_OPTION("Anti-Aliasing", "r_ext_multisample", ITEM_TYPE_MULTI, 7, 1) BEGIN_OPTION("Anti-Aliasing", "r_ext_multisample", ITEM_TYPE_MULTI, 6, 1)
cvarFloatList { cvarFloatList {
"Off" 0 "Off" 0
"2x MSAA" 2 "2x MSAA" 2
"4x MSAA" 4 "4x MSAA" 4
} }
OPTION_BELOW("gr1_ctrl6") OPTION_BELOW("gr1_ctrl5")
action { uiScript glCustom ; } action { uiScript glCustom ; }
ASSIGN_HINT("hint_aa") ASSIGN_HINT("hint_aa")
END_OPTION END_OPTION
ADD_HINT("hint_aa", "Use anti-aliasing to improve image quality", "group1") ADD_HINT("hint_aa", "Use anti-aliasing to reduce jaggedness", "group1")
// Texture filtering mode // // Texture filtering mode //
BEGIN_OPTION("Filtering Mode", "ui_filteringMode", ITEM_TYPE_MULTI, 8, 1) BEGIN_OPTION("Filtering Mode", "ui_filteringMode", ITEM_TYPE_MULTI, 7, 1)
cvarFloatList { cvarFloatList {
"Bilinear" 0 "Bilinear" 0
"Trilinear" 1 "Trilinear" 1
@ -258,88 +260,88 @@ Group # 1 - Graphics
"8x Anisotropic" 4 "8x Anisotropic" 4
"16x Anisotropic" 5 "16x Anisotropic" 5
} }
OPTION_BELOW("gr1_ctrl7") OPTION_BELOW("gr1_ctrl6")
action { uiScript update "ui_filteringMode" ; } action { uiScript glCustom ; uiScript update "ui_filteringMode" }
ASSIGN_HINT("hint_texfilter") ASSIGN_HINT("hint_texfilter")
END_OPTION END_OPTION
ADD_HINT("hint_texfilter", "Choose texture filtering mode", "group1") ADD_HINT("hint_texfilter", "Choose texture filtering mode", "group1")
// Lightmap/vertex // // Lightmap/vertex //
/* /*
BEGIN_OPTION("Lighting", "r_vertexlight", ITEM_TYPE_MULTI, 9, 1) BEGIN_OPTION("Lighting", "r_vertexlight", ITEM_TYPE_MULTI, 9, 1)
cvarFloatList { "Light Map (high)" 0 "Vertex (low)" 1 } cvarFloatList { "Light Map (high)" 0 "Vertex (low)" 1 }
OPTION_BELOW("gr1_ctrl8") OPTION_BELOW("gr1_ctrl8")
action { uiScript glCustom ; } action { uiScript glCustom ; }
ASSIGN_HINT("hint_lightmap") ASSIGN_HINT("hint_lightmap")
END_OPTION END_OPTION
ADD_HINT("hint_lightmap", "Choose map light rendering mode", "group1") ADD_HINT("hint_lightmap", "Choose map light rendering mode", "group1")
*/ */
// Geometric detail // // Geometric detail //
BEGIN_OPTION("Geometric Detail", "r_lodbias", ITEM_TYPE_MULTI, 9, 1) BEGIN_OPTION("Geometric Detail", "r_lodbias", ITEM_TYPE_MULTI, 8, 1)
cvarFloatList { cvarFloatList {
"High" 0 "High" 0
"Medium" 1 "Medium" 1
"Low" 2 "Low" 2
} }
OPTION_BELOW("gr1_ctrl8") OPTION_BELOW("gr1_ctrl7")
action { uiScript glCustom ; uiScript update "r_lodbias" } action { uiScript glCustom ; uiScript update "r_lodbias" }
ASSIGN_HINT("hint_geodetail") ASSIGN_HINT("hint_geodetail")
END_OPTION END_OPTION
ADD_HINT("hint_geodetail", "Choose geometric detail level", "group1") ADD_HINT("hint_geodetail", "Choose geometric detail level", "group1")
// Texture detail // // Texture detail //
BEGIN_OPTION("Texture Detail", "r_picmip", ITEM_TYPE_MULTI, 10, 1) BEGIN_OPTION("Texture Detail", "r_picmip", ITEM_TYPE_MULTI, 9, 1)
cvarFloatList { cvarFloatList {
"Very Low" 3 "Very Low" 3
"Low" 2 "Low" 2
"Normal" 1 "Medium" 1
"High" 0 "High" 0
} }
OPTION_BELOW("gr1_ctrl9") OPTION_BELOW("gr1_ctrl8")
action { uiScript glCustom ; } action { uiScript glCustom ; }
ASSIGN_HINT("hint_texdetail") ASSIGN_HINT("hint_texdetail")
END_OPTION END_OPTION
ADD_HINT("hint_texdetail", "Choose texture detail level", "group1") ADD_HINT("hint_texdetail", "Choose texture detail level", "group1")
// Texture quality // // Texture quality //
BEGIN_OPTION("Texture Quality", "r_texturebits", ITEM_TYPE_MULTI, 11, 1) BEGIN_OPTION("Texture Quality", "r_texturebits", ITEM_TYPE_MULTI, 10, 1)
cvarFloatList { cvarFloatList {
"Default" 0 "Default" 0
"16 bit" 16 "16 bit" 16
"32 bit" 32 "32 bit" 32
} }
OPTION_BELOW("gr1_ctrl10") OPTION_BELOW("gr1_ctrl9")
action { uiScript glCustom ; } action { uiScript glCustom ; }
ASSIGN_HINT("hint_texquality") ASSIGN_HINT("hint_texquality")
END_OPTION END_OPTION
ADD_HINT("hint_texquality", "Choose texture quality", "group1") ADD_HINT("hint_texquality", "Choose texture quality", "group1")
// Compressed textures // // Compressed textures //
BEGIN_OPTION("Compress Textures", "r_ext_compressed_textures", ITEM_TYPE_YESNO, 12, 1) BEGIN_OPTION("Compress Textures", "r_ext_compressed_textures", ITEM_TYPE_YESNO, 11, 1)
OPTION_BELOW("gr1_ctrl11") OPTION_BELOW("gr1_ctrl10")
action { uiScript glCustom ; } action { uiScript glCustom ; }
ASSIGN_HINT("hint_compress") ASSIGN_HINT("hint_compress")
END_OPTION END_OPTION
ADD_HINT("hint_compress", "Enable texture compression", "group1") ADD_HINT("hint_compress", "Enable texture compression", "group1")
// APPLY // // APPLY //
itemdef { itemdef {
name "btn_apply,fade_alpha,allgroups,group1" name "btn_apply,fade_alpha,allgroups,group1"
style WINDOW_STYLE_EMPTY style WINDOW_STYLE_EMPTY
alignrect "gr1_ctrl12" ITEM_ALIGN_RIGHT 0 24 80 VSIZE alignrect "gr1_ctrl11" ITEM_ALIGN_RIGHT 0 24 80 VSIZE
type ITEM_TYPE_BUTTON type ITEM_TYPE_BUTTON
text "^_A^_pply >" text "^_A^_pply >"
shortcutKey "A" shortcutKey "A"
@ -353,9 +355,9 @@ Group # 1 - Graphics
ASSIGN_HINT("hint_apply") ASSIGN_HINT("hint_apply")
anglevectors 4 -83 anglevectors 4 -83
visible 1 visible 1
} }
ADD_HINT("hint_apply", "Apply graphics changes and return to main menu", "group1") ADD_HINT("hint_apply", "Apply graphics changes and return to main menu", "group1")
/* /*
========================================================== ==========================================================
@ -499,51 +501,51 @@ Group # 3 - Misc
END_OPTION END_OPTION
ADD_HINT("hint_openal", "Enable OpenAL sound rendering", "group3") ADD_HINT("hint_openal", "Enable OpenAL sound rendering", "group3")
// Sound volume // // Sound volume //
BEGIN_SLIDER("Sound Volume", "s_volume", 0.7, 0, 1, 6, 3) BEGIN_SLIDER("Sound Volume", "s_volume", 0.7, 0, 1, 6, 3)
OPTION_BELOW("gr3_ctrl5") OPTION_BELOW("gr3_ctrl5")
ASSIGN_HINT("hint_sndvol") ASSIGN_HINT("hint_sndvol")
END_OPTION END_OPTION
ADD_HINT("hint_sndvol", "Change sound effects volume", "group3") ADD_HINT("hint_sndvol", "Change sound effects volume", "group3")
// Music volume // // Music volume //
BEGIN_SLIDER("Music Volume", "s_musicvolume", 0.25, 0, 1, 7, 3) BEGIN_SLIDER("Music Volume", "s_musicvolume", 0.25, 0, 1, 7, 3)
OPTION_BELOW("gr3_ctrl6") OPTION_BELOW("gr3_ctrl6")
ASSIGN_HINT("hint_musicvol") ASSIGN_HINT("hint_musicvol")
END_OPTION END_OPTION
ADD_HINT("hint_musicvol", "Change background music volume", "group3") ADD_HINT("hint_musicvol", "Change background music volume", "group3")
// Sound quality // // Sound quality //
BEGIN_OPTION("Sound Quality", "s_khz", ITEM_TYPE_MULTI, 8, 3) BEGIN_OPTION("Sound Quality", "s_khz", ITEM_TYPE_MULTI, 8, 3)
cvarFloatList { cvarFloatList {
"22 khz (high)" 22 "22 khz (high)" 22
"11 khz (low)" 11 "11 khz (low)" 11
} }
OPTION_BELOW("gr3_ctrl7") OPTION_BELOW("gr3_ctrl7")
ASSIGN_HINT("hint_sndquality") ASSIGN_HINT("hint_sndquality")
END_OPTION END_OPTION
ADD_HINT("hint_sndquality", "Choose sound quality", "group3") ADD_HINT("hint_sndquality", "Choose sound quality", "group3")
// Doppler effect // // Doppler effect //
BEGIN_OPTION("Doppler Effect", "s_doppler", ITEM_TYPE_YESNO, 9, 3) BEGIN_OPTION("Doppler Effect", "s_doppler", ITEM_TYPE_YESNO, 9, 3)
OPTION_BELOW("gr3_ctrl8") OPTION_BELOW("gr3_ctrl8")
ASSIGN_HINT("hint_doppler") ASSIGN_HINT("hint_doppler")
END_OPTION END_OPTION
ADD_HINT("hint_doppler", "Enable Doppler effect", "group3") ADD_HINT("hint_doppler", "Enable Doppler effect", "group3")
// Net // // Net //
//Icon //Icon
itemdef { itemdef {
name "icon,allgroups,group3" name "icon,allgroups,group3"
background UI_ASSETS"/icons/rq3-system-network" background UI_ASSETS"/icons/rq3-system-network"
forecolor 1 1 1 ICON_ALPHA forecolor 1 1 1 ICON_ALPHA
@ -554,9 +556,9 @@ Group # 3 - Misc
} }
// Net rate // // Net rate //
BEGIN_OPTION("Net Rate", "rate", ITEM_TYPE_MULTI, 10, 3) BEGIN_OPTION("Net Rate", "rate", ITEM_TYPE_MULTI, 10, 3)
alignrect "line" ITEM_ALIGN_CENTER 56 216 112 VSIZE alignrect "line" ITEM_ALIGN_CENTER 56 216 112 VSIZE
cvarFloatList { cvarFloatList {
"<=28.8k" 2500 "<=28.8k" 2500
@ -566,8 +568,8 @@ Group # 3 - Misc
"LAN/CABLE/xDSL" 25000 "LAN/CABLE/xDSL" 25000
} }
ASSIGN_HINT("hint_netrate") ASSIGN_HINT("hint_netrate")
END_OPTION END_OPTION
ADD_HINT("hint_netrate", "Choose network speed", "group3") ADD_HINT("hint_netrate", "Choose network speed", "group3")
/* /*