From 8fde5dc37c25d5732de5c13301d1c32b029add72 Mon Sep 17 00:00:00 2001 From: pierow Date: Tue, 30 Jan 2024 01:02:16 -0500 Subject: [PATCH] NS preset switcher WIP - needs sv_allow_shaders and hl25 at the moment and it piggybacks off the hl25 overbright shader using the average gamma ramp setting for ns maps. --- main/32av.cfg | 32 ++ main/33av.cfg | 32 ++ main/compav.cfg | 35 +++ main/config.cfg | 18 +- main/gl_shaders/fs_world.frag | 87 ++++++ main/gl_shaders/vs_world.vert | 14 + main/resource/GameMenu.res | 45 ++- main/resource/MultiplayerAdvancedDialog.res | 80 +++++ main/resource/MultiplayerAdvancedPage.res | 31 ++ main/resource/OptionsSubMultiplayer.res | 312 ++++++++++++++++++++ main/resource/TrackerScheme.res | 2 +- main/resource/gameui_english.txt | Bin 0 -> 26600 bytes main/source/cl_dll/hud.cpp | 3 +- main/source/cl_dll/input.cpp | 50 +++- main/source/cl_dll/view.cpp | 4 + main/source/mod/AvHHud.cpp | 18 ++ main/source/mod/AvHHud.h | 6 + main/source/mod/AvHHudRender.cpp | 16 +- main/userconfig.cfg | 24 -- 19 files changed, 756 insertions(+), 53 deletions(-) create mode 100644 main/32av.cfg create mode 100644 main/33av.cfg create mode 100644 main/compav.cfg create mode 100644 main/gl_shaders/fs_world.frag create mode 100644 main/gl_shaders/vs_world.vert create mode 100644 main/resource/MultiplayerAdvancedDialog.res create mode 100644 main/resource/MultiplayerAdvancedPage.res create mode 100644 main/resource/OptionsSubMultiplayer.res create mode 100644 main/resource/gameui_english.txt diff --git a/main/32av.cfg b/main/32av.cfg new file mode 100644 index 00000000..99fde576 --- /dev/null +++ b/main/32av.cfg @@ -0,0 +1,32 @@ +// Lighting +brightness "1" +gamma "2.5" +lightgamma "2.5" +gl_use_shaders "1" // Use temporary gamma ramp replacement that utilizes HL25 shaders. It only adjusts to the average gamma value of ns maps instead of per-map. + +// Bobbing +cl_bob "0.01" +cl_bobcycle "0.8" +cl_bobup "0.5" +cl_bobview "1" + +// Audio +cl_ambientsound "1.25" // 1 is the old ambient default volume, but the old master volume was 0.8 before ambient sound volume scaled with the volume command +cl_musicenabled "1" +cl_musicvolume "1.25" // 1 is the old music default volume, but the old master volume was 0.8 before music volume scaled with the volume command + +// HUD +hud_style "0" +hud_mapstyle "1" +//hud_mapnames "0" + +// Legacy sprite crosshairs +crosshair "1" +cl_cross "0" + + +echo "Classic NS preset:" +echo "- Original dark lighting" +echo "- Original HUD and crosshairs" +echo "- Original weapon and view bob" +echo "- Original mix volumes for ambient sound and music" \ No newline at end of file diff --git a/main/33av.cfg b/main/33av.cfg new file mode 100644 index 00000000..f4129a36 --- /dev/null +++ b/main/33av.cfg @@ -0,0 +1,32 @@ +// Lighting - temporary until new gamma ramp shader. +brightness "2" +gamma "3" +lightgamma "2.25" +gl_use_shaders "1" + +// Bobbing +cl_bob "0.006" +cl_bobcycle "0.85" +cl_bobup "0.5" +cl_bobview "0" + +// Reduced ambient and music volume +cl_ambientsound "0.6" +cl_musicenabled "1" +cl_musicvolume "0.6" + +// HUD +hud_style "1" +hud_mapstyle "3" +//hud_mapnames "5" + +// New crosshairs +crosshair "0" +cl_cross "1" + + +echo "NS 3.3 preset:" +echo "- Increased lightgamma for less dark shadows" +echo "- Minimal marine HUD and new crosshair system" +echo "- Reduced weapon bobbing and no view bobbing" +echo "- Reduced ambient sound and music volumes" \ No newline at end of file diff --git a/main/compav.cfg b/main/compav.cfg new file mode 100644 index 00000000..fec33710 --- /dev/null +++ b/main/compav.cfg @@ -0,0 +1,35 @@ +// Bright Lighting +brightness "2" +gamma "3" +lightgamma "2" +gl_use_shaders "0" + +// No bobbing +cl_bob "0" +//cl_bobcycle "0.8" +//cl_bobup "0.5" +cl_bobview "0" + +// Audio +cl_ambientsound "0" +cl_musicenabled "0" +//cl_musicvolume "1" + +// HUD +hud_style "2" +hud_mapstyle "3" +//hud_mapnames "5" + +// New crosshairs +crosshair "0" +cl_cross "1" + +//Disable help tooltips +//cl_autohelp "0" + + +echo "Competitive NS preset:" +echo "- Bright lighting settings with overbright shader disabled" +echo "- Nine Legends competitive HUD and new crosshair system" +echo "- No weapon of view bobbing" +echo "- Ambient sound and music disabled" diff --git a/main/config.cfg b/main/config.cfg index 122cb1ce..230b71a4 100644 --- a/main/config.cfg +++ b/main/config.cfg @@ -66,7 +66,7 @@ ati_npatch "0" ati_subdiv "0" bgmvolume "1.000000" bottomcolor "144.889999" -brightness "5" +brightness "1" cl_allowdownload "1" cl_allowupload "1" cl_autohelp "1.0" @@ -95,8 +95,8 @@ cl_logofile "lambda" cl_lw "1" cl_musicdelay "90" cl_musicdirectory "" -cl_musicvolume "155" -cl_musicenabled "0" +cl_musicvolume "0.6" +cl_musicenabled "1" cl_particleinfo "0" cl_quickselecttime ".15" cl_timeout "60" @@ -109,7 +109,6 @@ fps_max "250" fps_override "1" fps_modem "0.0" gamma "3" -gl_vsync "0" gl_dither "1" gl_flipmatrix "0" gl_fog "1" @@ -117,6 +116,8 @@ gl_monolights "0" gl_overbright "1" gl_polyoffset "0.1" gl_texturemode "GL_LINEAR_MIPMAP_LINEAR" +gl_use_shaders "1" +gl_vsync "0" hisound "1" hpk_maxsize "4" hud_capturemouse "1" @@ -141,6 +142,7 @@ name "NSPlayer" net_graph "0" net_graphpos "1" net_scale "5" +rate "30000" r_bmodelhighfrac "5.0" r_detailtextures "0" s_a3d "0.0" @@ -175,13 +177,13 @@ voice_scale "1" volume "0.500000" m_rawinput "1" zoom_sensitivity_ratio "1" -lightgamma "2" +lightgamma "2.25" ex_interp "0.05" cl_cross "1" rate "30000" -cl_bob "0.01" -cl_bobcycle "0.8" -cl_bob "0.5" +cl_bob "0.006" +cl_bobcycle "0.85" +cl_bobup "0.5" cl_weaponswap "2" +mlook diff --git a/main/gl_shaders/fs_world.frag b/main/gl_shaders/fs_world.frag new file mode 100644 index 00000000..969e88cc --- /dev/null +++ b/main/gl_shaders/fs_world.frag @@ -0,0 +1,87 @@ +#extension GL_ARB_explicit_uniform_location : require + +layout(location = 0) in vec4 inColor; +layout(location = 0) out vec4 color; + +//There doesn't seem to be a way for us to get at the fixed-function GL_FOG enabled state, so use a manual uniform +uniform bool fogEnabled; +uniform uint fogMode; // 0: Linear, 1: Exp, 2: Exp2 + +#define TEXTURE_ALBEDO 0 +#define TEXTURE_ALBEDO_MASK (1 << TEXTURE_ALBEDO) + +#define TEXTURE_LIGHTMAP 1 +#define TEXTURE_LIGHTMAP_MASK (1 << TEXTURE_LIGHTMAP) + +#define TEXTURE_DETAIL 2 +#define TEXTURE_DETAIL_MASK (1 << TEXTURE_DETAIL) + +#if (TEXTURE_MASK & TEXTURE_ALBEDO_MASK) +layout(binding = 0) uniform sampler2D albedoSampler; +#endif + +#if (TEXTURE_MASK & TEXTURE_LIGHTMAP_MASK) +layout(binding = 1) uniform sampler2D lightmapSampler; +#endif + +#if (TEXTURE_MASK & TEXTURE_DETAIL_MASK) +layout(binding = 2) uniform sampler2D detailSampler; +#endif + +void main() +{ +#if (TEXTURE_MASK & TEXTURE_ALBEDO_MASK) + vec4 albedo = texture2D(albedoSampler, gl_TexCoord[0].xy); +#endif + +#if (TEXTURE_MASK & TEXTURE_LIGHTMAP_MASK) + // Josh: + // Magic number from the original overbright code. + vec3 lightmap = texture2D(lightmapSampler, gl_TexCoord[1].xy).rgb * (128.0f / 192.0f); +#endif + +#if ( ( TEXTURE_MASK & TEXTURE_ALBEDO_MASK ) && ( TEXTURE_MASK & TEXTURE_LIGHTMAP_MASK ) ) + // Josh: + // From the original blend eqn for overbrights. + vec3 diffuse = albedo.rgb * lightmap.rgb + lightmap.rgb * albedo.rgb; + color = vec4(diffuse.rgb, albedo.a); +#elif ( TEXTURE_MASK & TEXTURE_LIGHTMAP_MASK ) + color = vec4(lightmap.rgb, 1.0f); +#elif ( TEXTURE_MASK & TEXTURE_ALBEDO_MASK ) + color = vec4(albedo.rgb, albedo.a); +#else + color = vec4(1.0f); +#endif + +#if (TEXTURE_MASK & TEXTURE_DETAIL_MASK) + // Josh: + // From DetailTexture.cpp -> MODULATE and SCALE * 2 + vec3 detail = texture2D(detailSampler, gl_TexCoord[2].xy).rgb; + color.rgb = color.rgb * detail * 2.0f; +#endif + + // NS3.3 addition: 1.7 average env_gamma value in NS maps + color.rgb *= 1.7f; + + color *= inColor; + + if ( fogEnabled ) + { + float fogFactor; + if ( fogMode == 2 ) // Exp2 + { + fogFactor = exp( -pow( gl_Fog.density * gl_FogFragCoord, 2.0 ) ); + } + else if ( fogMode == 1 ) // Exp + { + fogFactor = exp( -gl_Fog.density * gl_FogFragCoord ); + } + else // Linear + { + fogFactor = ( gl_Fog.end - gl_FogFragCoord ) * gl_Fog.scale; + } + + fogFactor = clamp( fogFactor, 0, 1 ); + color.xyz = mix( gl_Fog.color.xyz, color.xyz, fogFactor ); + } +} diff --git a/main/gl_shaders/vs_world.vert b/main/gl_shaders/vs_world.vert new file mode 100644 index 00000000..3b0e1fec --- /dev/null +++ b/main/gl_shaders/vs_world.vert @@ -0,0 +1,14 @@ + +layout(location = 0) out vec4 color; + +void main() +{ + gl_Position = ftransform(); + gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0; //Albedo + gl_TexCoord[1] = gl_TextureMatrix[1] * gl_MultiTexCoord1; //Lighmap + gl_TexCoord[2] = gl_TextureMatrix[2] * gl_MultiTexCoord2; //Detail + color = gl_Color; + + vec4 eyePos = gl_ModelViewMatrix * gl_Vertex; + gl_FogFragCoord = abs( eyePos.z / eyePos.w ); +} \ No newline at end of file diff --git a/main/resource/GameMenu.res b/main/resource/GameMenu.res index 422022a9..18466e75 100644 --- a/main/resource/GameMenu.res +++ b/main/resource/GameMenu.res @@ -1,18 +1,43 @@ "GameMenu" { "1" + { + "label" "Apply NS 3.2 config" + "command" "engine nspreset 1" + } + "2" + { + "label" "Apply NS 3.3 config" + "command" "engine nspreset 2" + } + "3" + { + "label" "Apply competitive config" + "command" "engine nspreset 3" + } + "4" + { + "label" "" + "command" "" + } + "5" + { + "label" "" + "command" "" + } + "6" { "label" "#GameUI_GameMenu_ResumeGame" "command" "ResumeGame" "OnlyInGame" "1" } - "2" + "7" { "label" "#Menu_ReadyRoom" "command" "engine menureadyroom" "OnlyInGame" "1" } - "3" + "8" { "label" "#GameUI_GameMenu_Disconnect" "command" "Disconnect" @@ -37,25 +62,25 @@ // "notmulti" "1" // "OnlyInGame" "1" // } - "7" + "9" { "label" "" "command" "" "notmulti" "1" } - "8" + "10" { "label" "#GameUI_GameMenu_PlayerList" "command" "OpenPlayerListDialog" "OnlyInGame" "1" "notmulti" "0" } - "9" + "11" { "label" "#GameUI_GameMenu_CreateServer" "command" "OpenCreateMultiplayerGameDialog" } - "10" + "12" { "label" "#GameUI_GameMenu_FindServers" "command" "OpenServerBrowser" @@ -66,23 +91,23 @@ //"label" "#GameUI_GameMenu_PlayDemo" //"command" "OpenLoadDemoDialog" //} - "11" + "13" { "label" "" "command" "" } - "12" + "14" { "label" "#GameUI_GameMenu_ChangeGame" "command" "OpenChangeGameDialog" "notsteam" "1" } - "13" + "15" { "label" "#GameUI_GameMenu_Options" "command" "OpenOptionsDialog" } - "14" + "16" { "label" "#GameUI_GameMenu_Quit" "command" "Quit" diff --git a/main/resource/MultiplayerAdvancedDialog.res b/main/resource/MultiplayerAdvancedDialog.res new file mode 100644 index 00000000..a81c44e7 --- /dev/null +++ b/main/resource/MultiplayerAdvancedDialog.res @@ -0,0 +1,80 @@ +"Resource\MultiplayerAdvancedDialog.res" +{ + "MultiplayerAdvancedDialog" + { + "ControlName" "CTaskFrame" + "fieldName" "MultiplayerAdvancedDialog" + "xpos" "250" + "ypos" "25" + "wide" "700" + "tall" "600" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "0" + "paintbackground" "1" + "settitlebarvisible" "1" + "title" "#GameUI_MultiplayerAdvanced" + } + "Cancel" + { + "ControlName" "Button" + "fieldName" "Cancel" + "xpos" "616" + "ypos" "562" + "wide" "72" + "tall" "24" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "2" + "paintbackground" "1" + "labelText" "#GameUI_Cancel" + "textAlignment" "west" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + "Command" "Close" + "Default" "0" + } + "Ok" + { + "ControlName" "Button" + "fieldName" "OK" + "xpos" "536" + "ypos" "562" + "wide" "72" + "tall" "24" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "1" + "paintbackground" "1" + "labelText" "#GameUI_OK" + "textAlignment" "west" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + "Command" "Ok" + "Default" "0" + } + "PanelListPanel" + { + "ControlName" "CPanelListPanel" + "fieldName" "PanelListPanel" + "xpos" "16" + "ypos" "56" + "wide" "670" + "tall" "502" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "0" + "paintbackground" "1" + } +} + \ No newline at end of file diff --git a/main/resource/MultiplayerAdvancedPage.res b/main/resource/MultiplayerAdvancedPage.res new file mode 100644 index 00000000..eeef22b5 --- /dev/null +++ b/main/resource/MultiplayerAdvancedPage.res @@ -0,0 +1,31 @@ +"Resource\MultiplayerAdvancedDia" +{ + "MultiplayerAdvancedDialog" + { + "ControlName" "PropertyDialog" + "fieldName" "MultiplayerAdvancedDialog" + "xpos" "0" + "ypos" "0" + "wide" "728" + "tall" "536" + "autoResize" "0" + "pinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "0" + } + "PanelListPanel" + { + "ControlName" "CPanelListPanel" + "fieldName" "PanelListPanel" + "xpos" "10" + "ypos" "10" + "wide" "713" + "tall" "516" + "autoResize" "0" + "pinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "0" + } +} diff --git a/main/resource/OptionsSubMultiplayer.res b/main/resource/OptionsSubMultiplayer.res new file mode 100644 index 00000000..44aa4c2b --- /dev/null +++ b/main/resource/OptionsSubMultiplayer.res @@ -0,0 +1,312 @@ +"Resource/OptionsSubMultiplayer.res" +{ + "Advanced" + { + "ControlName" "Button" + "fieldName" "Advanced" + "xpos" "32" + "ypos" "22" + "tooltiptext" "" + "wide" "440" + "tall" "80" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "1" + "paintbackground" "1" + "labelText" "#GameUI_AdvancedEllipsis" + "textAlignment" "center" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + "Command" "Advanced" + "Default" "0" + } + "NameLabel" + { + "ControlName" "Label" + "fieldName" "NameLabel" + "xpos" "230" + "ypos" "144" + "wide" "144" + "tall" "24" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "0" + "paintbackground" "1" + "labelText" "#GameUI_PlayerName" + "textAlignment" "west" + "associate" "NameEntry" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + } + "NameEntry" + { + "ControlName" "CCvarTextEntry" + "fieldName" "NameEntry" + "xpos" "230" + "ypos" "174" + "wide" "240" + "tall" "24" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "2" + "paintbackground" "1" + "textHidden" "0" + "editable" "1" + "maxchars" "63" + "NumericInputOnly" "0" + "unicode" "1" + } + "Primary Color Slider" + { + "ControlName" "CCvarSlider" + "fieldName" "Primary Color Slider" + "xpos" "0" + "ypos" "0" + "wide" "42" + "tall" "16" + "AutoResize" "0" + "PinCorner" "0" + "visible" "0" + "enabled" "0" + "tabPosition" "0" + "paintbackground" "1" + "leftText" "0.00" + "rightText" "255.00" + } + "Secondary Color Slider" + { + "ControlName" "CCvarSlider" + "fieldName" "Secondary Color Slider" + "xpos" "0" + "ypos" "0" + "wide" "42" + "tall" "16" + "AutoResize" "0" + "PinCorner" "0" + "visible" "0" + "enabled" "0" + "tabPosition" "0" + "paintbackground" "1" + "leftText" "0.00" + "rightText" "255.00" + } + "High Quality Models" + { + "ControlName" "CCvarToggleCheckButton" + "fieldName" "High Quality Models" + "xpos" "162" + "ypos" "280" + "wide" "204" + "tall" "24" + "AutoResize" "0" + "PinCorner" "0" + "visible" "0" + "enabled" "0" + "tabPosition" "0" + "paintbackground" "0" + "labelText" "#GameUI_HighModels" + "textAlignment" "west" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + "Default" "0" + } + "Player model" + { + "ControlName" "CLabeledCommandComboBox" + "fieldName" "Player model" + "xpos" "0" + "ypos" "0" + "wide" "42" + "tall" "16" + "AutoResize" "0" + "PinCorner" "0" + "visible" "0" + "enabled" "0" + "tabPosition" "0" + "paintbackground" "1" + "textHidden" "0" + "editable" "0" + "maxchars" "-1" + "NumericInputOnly" "0" + "unicode" "0" + } + "Label2" + { + "ControlName" "Label" + "fieldName" "Label2" + "xpos" "230" + "ypos" "216" + "wide" "140" + "tall" "24" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "0" + "paintbackground" "1" + "labelText" "#GameUI_SpraypaintImage" + "textAlignment" "west" + "associate" "SpraypaintList" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + } + "SpraypaintList" + { + "ControlName" "CLabeledCommandComboBox" + "fieldName" "SpraypaintList" + "xpos" "230" + "ypos" "244" + "wide" "240" + "tall" "24" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "3" + "paintbackground" "1" + "textHidden" "0" + "editable" "0" + "maxchars" "-1" + "NumericInputOnly" "0" + "unicode" "0" + } + "SpraypaintColor" + { + "ControlName" "CLabeledCommandComboBox" + "fieldName" "SpraypaintColor" + "xpos" "230" + "ypos" "274" + "wide" "240" + "tall" "24" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "4" + "paintbackground" "1" + "textHidden" "0" + "editable" "0" + "maxchars" "-1" + "NumericInputOnly" "0" + "unicode" "0" + } + "ModelImage" + { + "ControlName" "Panel" + "fieldName" "ModelImage" + "xpos" "0" + "ypos" "0" + "wide" "66" + "tall" "66" + "AutoResize" "0" + "PinCorner" "0" + "visible" "0" + "enabled" "0" + "tabPosition" "0" + "paintbackground" "1" + } + "LogoImage" + { + "ControlName" "Panel" + "fieldName" "LogoImage" + "xpos" "132" + "ypos" "234" + "wide" "64" + "tall" "64" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "0" + "paintbackground" "1" + } + "Ok" + { + "ControlName" "Button" + "fieldName" "OK" + "xpos" "0" + "ypos" "0" + "wide" "42" + "tall" "16" + "AutoResize" "0" + "PinCorner" "0" + "visible" "0" + "enabled" "0" + "tabPosition" "0" + "paintbackground" "1" + "labelText" "#GameUI_OK" + "textAlignment" "west" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + "Default" "0" + } + "Apply" + { + "ControlName" "Button" + "fieldName" "Apply" + "xpos" "0" + "ypos" "0" + "wide" "42" + "tall" "16" + "AutoResize" "0" + "PinCorner" "0" + "visible" "0" + "enabled" "0" + "tabPosition" "0" + "paintbackground" "1" + "labelText" "#GameUI_Apply" + "textAlignment" "west" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + "Default" "0" + } + "Cancel" + { + "ControlName" "Button" + "fieldName" "Cancel" + "xpos" "0" + "ypos" "0" + "wide" "42" + "tall" "16" + "AutoResize" "0" + "PinCorner" "0" + "visible" "0" + "enabled" "0" + "tabPosition" "0" + "paintbackground" "1" + "labelText" "#GameUI_Cancel" + "textAlignment" "west" + "dulltext" "0" + "brighttext" "0" + "wrap" "0" + "Default" "0" + } + "Divider1" + { + "ControlName" "Divider" + "fieldName" "Divider1" + "xpos" "32" + "ypos" "126" + "wide" "440" + "tall" "1" + "AutoResize" "0" + "PinCorner" "0" + "visible" "1" + "enabled" "1" + "tabPosition" "0" + "paintbackground" "1" + } +} + \ No newline at end of file diff --git a/main/resource/TrackerScheme.res b/main/resource/TrackerScheme.res index 81073305..153fa7d7 100644 --- a/main/resource/TrackerScheme.res +++ b/main/resource/TrackerScheme.res @@ -174,7 +174,7 @@ Scheme "ArmedMenuColor" "255 255 255 255" "DepressedMenuColor" "192 186 80 255" "WidescreenBarColor" "0 0 0 0" - "MenuItemVisibilityRate" "0.03" // time it takes for one menu item to appear + "MenuItemVisibilityRate" "0.01" // time it takes for one menu item to appear "MenuItemHeight" "28" "GameMenuInset" "32" } diff --git a/main/resource/gameui_english.txt b/main/resource/gameui_english.txt new file mode 100644 index 0000000000000000000000000000000000000000..b8c3548c3f4ae75359333eb00b392ceb07bf143a GIT binary patch literal 26600 zcmc(n`EFdvb;j?%36OW_5HREz);Kc*7|0+fUpEVH^a4B(j!MXWy#2|M)*U-C1|oU3912PB-iRs{70CKbQaSbkCPF zpY;D}cigYo>Gt~7XWhqc(f#gr*G_lPU3Ncc)rH2#u$~CUxn|#V&$@TrYyI@2{?4`b zxO<_UpZcHJ_ZRxJqg5Bn71tU&uU3HLPPZ96D0r_E&a?xl?YTAFnJ~EO?srEz=|*SI zwDYH)#+{xk!xIb6&$R=}3+`oZrjuhf!@H~uC@sd|{HEv3th*Msj~iYvcBzp#1Dxj? z`6T?0v~%@|k44>?ARvVt_mgJD=FnOicDnsuewRH3vmU=zrj`TxfQDRX-8$U&`*jQ9 zcdfra_Wys@F8H;p-_FGqGz(oEuF2^5Ct>wjYk~Hmk>z-1ll?6RzzVBD7te%Mk>&44 z=WYf)bjr3e#Ia~Z&d1^UT=&MBH^lZX`nN0XL~AXjqIWTV|8^$hM65dOWjyAxp)SPX zL!C0~H2|&psGmIQ)6e^PWPK=!oJsaMrydGZ^wC-gpR66`dpm2cdp^UxU5&10P&UB> zFNUsS?bwRpycBj|`iF8y-R z*i(%ej(yK@?9qW}@g& zD;J{WQon#8AdW2sCqh>}tQYEp9_@-xa$WhhjJF zXl8LOXTwg0quI{y#M4@T&_nD8O9?pNNoS7xb!Z22SS7FAu7~HexD8Lm9;VJ5YW!yB z;Yp17TpBz+kNNv|r0t=2b0MvZ>?^!oJ(}@;x3@q0Jrt)*Pr4=PU#oE`CojPyeP5)-Hp$fs-XjaR_mUiNW` z%7SQqp}pCe!Li8qpZ59`RFYewU&qoj#~{u;?6Jh_muSTaC5pLvVTY>&aQx-%JS*}2 zL|LN3y<52zi1#La=@8@4p%|at)-E~4FT_*w@{huyX!EYL@<&l-iwaNtQX@o>x&9|& z*W7SKpLMSUr^NSd&V1O%Cn6^q)PIN{mT`{ZtjpGCGR^lp7es3_`g6Qrb>H?l*-rdh zcH)qGd*T*4a3%SY0hq4sx%q{(U@E2#&m=#~&mFGJX{~)5n39EsZq;*GU(9B_z{^u1 zkv)Ev%r38WKob!#NNtoj`>)}2XmZ$O`)W}CVgA6TjjGCB?kTtXJ z57HWJfNJlvekU4~T^Zgr&&nBbLOokU%Vo3Q`wJouaTs57tquk}cHacgn5`k>EUPjs zvt4j=zVyVA^@I10q#1d?>m6sk®+7YUv<4tU7JzKcUfbD}@tS#JcHOd;~$Sw}T! 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 S`;N&t^}mD(et`e|)1LqwD;yF4 literal 0 HcmV?d00001 diff --git a/main/source/cl_dll/hud.cpp b/main/source/cl_dll/hud.cpp index 7e480d85..3ac131bc 100644 --- a/main/source/cl_dll/hud.cpp +++ b/main/source/cl_dll/hud.cpp @@ -219,6 +219,7 @@ void CHud :: Init( void ) CVAR_CREATE( "cl_icong", "149", FCVAR_ARCHIVE); CVAR_CREATE( "cl_iconb", "221", FCVAR_ARCHIVE); + CVAR_CREATE("hud_style", "1", FCVAR_ARCHIVE); CVAR_CREATE("cl_weaponswap", "2", FCVAR_ARCHIVE | FCVAR_USERINFO); CVAR_CREATE("hud_teamhealthalert", "95", FCVAR_ARCHIVE); CVAR_CREATE("hud_mapnames", "5", FCVAR_ARCHIVE); @@ -366,7 +367,7 @@ void CHud :: VidInit( void ) m_iRes = 640; // Only load this once - if ( !m_pSpriteList ) + if ( !m_pSpriteList || gHUD.GetReInitHUD()) { // we need to load the hud.txt, and all sprites within if (CVAR_GET_FLOAT("hud_style") == 2.0f) diff --git a/main/source/cl_dll/input.cpp b/main/source/cl_dll/input.cpp index 3f6d3835..a963cc60 100644 --- a/main/source/cl_dll/input.cpp +++ b/main/source/cl_dll/input.cpp @@ -142,7 +142,6 @@ cvar_t *cl_particleinfo; cvar_t *cl_widescreen; cvar_t *cl_ambientsound; cvar_t *senslock; -cvar_t *hud_style; cvar_t *cl_chatbeep; cvar_t *cl_mutemenu; cvar_t *cl_weaponcfgs; @@ -1531,6 +1530,47 @@ void EchoDev(void) gEngfuncs.Con_Printf("%s\n", gEngfuncs.Cmd_Argv(1)); } +void NsPreset(void) +{ + int presetChoice = atoi(gEngfuncs.Cmd_Argv(1)); + int printMethod = gViewPort ? HUD_PRINTTALK : HUD_PRINTCONSOLE; + const char* inGameAdditional = (printMethod == HUD_PRINTTALK) ? " See console for details." : ""; + char execText[1024]; + //char localizedText[1024]; + + inGameAdditional = gViewPort ? " See console for details." : ""; + + switch (presetChoice) + { + case 1: + ClientCmd("exec 32av.cfg"); + //Localize later. + //sprintf(localizedText, CHudTextMessage::BufferedLocaliseTextString("#Preset1")); + snprintf(execText, 1024, "%c** %s%s\n", printMethod, "Classic NS audio/visual presets applied.", inGameAdditional); + gHUD.m_TextMessage.MsgFunc_TextMsg(NULL, (int)strlen(execText) + 1, execText); + + break; + case 2: + ClientCmd("exec 33av.cfg"); + //Localize later. + //sprintf(localizedText, CHudTextMessage::BufferedLocaliseTextString("#Preset2")); + sprintf(execText, "%c** %s%s\n", printMethod, "NS 3.3 audio/visual presets applied. See console for details.", inGameAdditional); + gHUD.m_TextMessage.MsgFunc_TextMsg(NULL, (int)strlen(execText) + 1, execText); + + break; + case 3: + ClientCmd("exec compav.cfg"); + //Localize later. + //sprintf(localizedText, CHudTextMessage::BufferedLocaliseTextString("#Preset3")); + sprintf(execText, "%c** %s%s\n", printMethod, "Competive audio/visual presets applied. See console for details.", inGameAdditional); + gHUD.m_TextMessage.MsgFunc_TextMsg(NULL, (int)strlen(execText) + 1, execText); + + break; + default: + gEngfuncs.Con_Printf("NS configuration preset selector. Useage:\n1: apply NS 3.2 settings\n2: apply NS 3.3 settings\n3: apply competitive settings\n"); + } +} + /* ============ InitInput @@ -1605,6 +1645,7 @@ void InitInput (void) gEngfuncs.pfnAddCommand("nsversion", NsVersion); gEngfuncs.pfnAddCommand("echodev", EchoDev); + gEngfuncs.pfnAddCommand("nspreset", NsPreset); lookstrafe = gEngfuncs.pfnRegisterVariable ( "lookstrafe", "0", FCVAR_ARCHIVE ); lookspring = gEngfuncs.pfnRegisterVariable ( "lookspring", "0", FCVAR_ARCHIVE ); @@ -1629,8 +1670,8 @@ void InitInput (void) cl_autohelp = gEngfuncs.pfnRegisterVariable ( kvAutoHelp, "1.0", FCVAR_ARCHIVE ); cl_centerentityid = gEngfuncs.pfnRegisterVariable ( kvCenterEntityID, "0.0", FCVAR_ARCHIVE ); - cl_musicenabled = gEngfuncs.pfnRegisterVariable ( kvMusicEnabled, "0", FCVAR_ARCHIVE ); - cl_musicvolume = gEngfuncs.pfnRegisterVariable ( kvMusicVolume, "1", FCVAR_ARCHIVE ); + cl_musicenabled = gEngfuncs.pfnRegisterVariable ( kvMusicEnabled, "1", FCVAR_ARCHIVE ); + cl_musicvolume = gEngfuncs.pfnRegisterVariable ( kvMusicVolume, "0.6", FCVAR_ARCHIVE ); cl_musicdir = gEngfuncs.pfnRegisterVariable ( kvMusicDirectory, "", FCVAR_ARCHIVE); cl_musicdelay = gEngfuncs.pfnRegisterVariable ( kvMusicDelay, "90", FCVAR_ARCHIVE); cl_dynamiclights = gEngfuncs.pfnRegisterVariable ( kvDynamicLights, "1", FCVAR_ARCHIVE ); @@ -1641,9 +1682,8 @@ void InitInput (void) //cl_forcedefaultfov = gEngfuncs.pfnRegisterVariable ( kvForceDefaultFOV, "0", FCVAR_ARCHIVE ); cl_particleinfo = gEngfuncs.pfnRegisterVariable ( kvParticleInfo, "0", FCVAR_ARCHIVE ); cl_widescreen = gEngfuncs.pfnRegisterVariable ( kvWidescreen, "1", FCVAR_ARCHIVE ); - cl_ambientsound = gEngfuncs.pfnRegisterVariable ( kvAmbientSound, "0", FCVAR_ARCHIVE); + cl_ambientsound = gEngfuncs.pfnRegisterVariable ( kvAmbientSound, "0.6", FCVAR_ARCHIVE); senslock = gEngfuncs.pfnRegisterVariable ("senslock", "0", FCVAR_ARCHIVE); - hud_style = gEngfuncs.pfnRegisterVariable ("hud_style", "1", FCVAR_ARCHIVE); cl_chatbeep = gEngfuncs.pfnRegisterVariable ("cl_chatbeep", "1", FCVAR_ARCHIVE); cl_mutemenu = gEngfuncs.pfnRegisterVariable ("cl_mutemenu", "3", FCVAR_ARCHIVE); cl_weaponcfgs = gEngfuncs.pfnRegisterVariable ("cl_weaponcfgs", "1", FCVAR_ARCHIVE); diff --git a/main/source/cl_dll/view.cpp b/main/source/cl_dll/view.cpp index 1f01f3a1..2ad64c02 100644 --- a/main/source/cl_dll/view.cpp +++ b/main/source/cl_dll/view.cpp @@ -2309,6 +2309,10 @@ void V_Init (void) cl_waterdist = gEngfuncs.pfnRegisterVariable( "cl_waterdist","4", 0 ); cl_hudcam = gEngfuncs.pfnRegisterVariable( "cl_hudcam", "1", 0 ); cl_chasedist = gEngfuncs.pfnRegisterVariable( "cl_chasedist", "200", 0 ); + + // lightgamma doesn't save to config.cfg otherwise. + cvar_t* lightgamma = gEngfuncs.pfnGetCvarPointer("lightgamma"); + lightgamma->flags |= FCVAR_ARCHIVE; } diff --git a/main/source/mod/AvHHud.cpp b/main/source/mod/AvHHud.cpp index f400937c..1aa765cd 100644 --- a/main/source/mod/AvHHud.cpp +++ b/main/source/mod/AvHHud.cpp @@ -1395,6 +1395,12 @@ bool AvHHud::Update(float inCurrentTime, string& outErrorString) this->mTimeOfCurrentUpdate = inCurrentTime; + if (CVAR_GET_FLOAT("hud_style") != this->mLastHudStyle) + { + this->mReInitHUD = true; + gHUD.VidInit(); + } + // Predict game time if(this->GetGameStarted()) { @@ -3847,6 +3853,9 @@ void AvHHud::Init(void) this->mDrawCombatUpgradeMenu = false; this->mDrawOrderOverlay = true; + this->mReInitHUD = false; + this->mLastHudStyle = 0; + // Initialize viewport this->mViewport[0] = this->mViewport[1] = this->mViewport[2] = this->mViewport[3] = 0; } @@ -7358,6 +7367,15 @@ void AvHHud::SetDrawOrderOverlay(bool drawOverlay) mDrawOrderOverlay = drawOverlay; } +bool AvHHud::GetReInitHUD() const +{ + return this->mReInitHUD; +} + +void AvHHud::SetReInitHUD(bool setInit) +{ + mReInitHUD = setInit; +} /** * Prints the call stack when an unhandled exception occurs. diff --git a/main/source/mod/AvHHud.h b/main/source/mod/AvHHud.h index 5090f5c3..ecd2e36b 100644 --- a/main/source/mod/AvHHud.h +++ b/main/source/mod/AvHHud.h @@ -451,6 +451,9 @@ public: bool GetDrawOrderOverlay() const; void SetDrawOrderOverlay(bool drawOverlay); + bool GetReInitHUD() const; + void SetReInitHUD(bool setInit); + private: // : @@ -876,6 +879,9 @@ private: static bool sShowMap; + bool mReInitHUD; + float mLastHudStyle; + }; #endif diff --git a/main/source/mod/AvHHudRender.cpp b/main/source/mod/AvHHudRender.cpp index c62c277d..0680c98f 100644 --- a/main/source/mod/AvHHudRender.cpp +++ b/main/source/mod/AvHHudRender.cpp @@ -4455,7 +4455,15 @@ void AvHHud::VidInit(void) { UIHud::VidInit(); - mOverviewMap.VidInit(); + // Don't reinitialize the minimap when swapping hud styles. + if (!this->mReInitHUD) + { + mOverviewMap.VidInit(); + } + + float hudStyle = CVAR_GET_FLOAT("hud_style"); + this->mLastHudStyle = hudStyle; + this->mReInitHUD = false; int theScreenWidth = ScreenWidth(); string theSpriteName; @@ -4466,7 +4474,7 @@ void AvHHud::VidInit(void) // theSpriteName = UINameToSprite(kHiveSprite, theScreenWidth); // this->mAlienUIHiveSprite = SPR_Load(theSpriteName.c_str()); - int i = 0; + // int i = 0; // for(i = 0; i < kNumAlienLifeforms; i++) // { // char theBaseName[128]; @@ -4475,7 +4483,7 @@ void AvHHud::VidInit(void) // this->mAlienUILifeforms[i] = SPR_Load(theSpriteName.c_str()); // } - if (CVAR_GET_FLOAT("hud_style") == 2.0f) + if (hudStyle == 2.0f) { this->mAlienUIUpgrades = SPR_Load(kAlienUpgradeSpriteNL); this->mAlienUIEnergySprite = SPR_Load(kAlienEnergySpriteNL); @@ -4494,7 +4502,7 @@ void AvHHud::VidInit(void) this->mMarineOrderIndicator = SPR_Load(kMarineOrderSpriteNL); this->mMarineUpgradesSprite = SPR_Load(kMarineUpgradesSpriteNL); } - else if (CVAR_GET_FLOAT("hud_style") == 1.0f) + else if (hudStyle == 1.0f) { char theBaseName[128]; sprintf(theBaseName, "%s", kAlienUpgradeSprite); diff --git a/main/userconfig.cfg b/main/userconfig.cfg index e8f508dc..1c7ee3aa 100644 --- a/main/userconfig.cfg +++ b/main/userconfig.cfg @@ -1,26 +1,2 @@ // Add your own configuration options in this file // This file will not be rewritten as config.cfg will - -//Some commands placed here as default via NS Launcher installation because they are deleted/overwritten in config.cfg otherwise - -//Brighter lighting -lightgamma "2" -//brightness "5" //part of new default config -//gamma "3" //part of new default config - -//Allow FPS above 100 -fps_override "1" -gl_vsync "0" - -//Network rates for the 21st century -rate "30000" -cl_updaterate "100" -cl_cmdrate "100" -ex_interp "0.05" - -//Pistol script - toggled with P key -alias "+pscript" "+attack" -alias "-pscript" "-attack;wait;+attack;wait;wait;-attack" -alias pson "bind mouse1 +pscript;bind p psoff" -alias psoff "bind mouse1 +attack;bind p pson" -bind p "pson" \ No newline at end of file