diff --git a/source/common/gamecontrol.cpp b/source/common/gamecontrol.cpp index 0e6ca2afb..be27b5862 100644 --- a/source/common/gamecontrol.cpp +++ b/source/common/gamecontrol.cpp @@ -614,9 +614,14 @@ int RunGame() if (g_gameType & GAMEFLAG_BLOOD) { mus_redbook.SetGenericRepDefault(false, CVAR_Bool); // Blood should default to CD Audio off - all other games must default to on. - hud_size.SetGenericRepDefault(6, CVAR_Int); // HUD is different for everything. + hud_size.SetGenericRepDefault(6, CVAR_Int); hud_size_max = 7; } + if (g_gameType & GAMEFLAG_SW) + { + hud_size.SetGenericRepDefault(8, CVAR_Int); + hud_size_max = 9; + } G_ReadConfig(currentGame); diff --git a/source/sw/src/game.cpp b/source/sw/src/game.cpp index fd7fd0d81..f4f0cbf4c 100644 --- a/source/sw/src/game.cpp +++ b/source/sw/src/game.cpp @@ -3925,19 +3925,13 @@ void Saveable_Init_Dynamic() saveable_build.numdata = NUM_SAVEABLE_ITEMS(saveable_build_data); } -/*extern*/ bool GameInterface::validate_hud(int requested_size) -{ - return requested_size != 10 && requested_size != 8; -} -/*extern*/ void GameInterface::set_hud_layout(int requested_size) +void GameInterface::set_hud_layout(int requested_size) { - if (requested_size >= 11) requested_size = 9; - else if (requested_size >= 9) requested_size = 8; gs.BorderNum = 9 - requested_size; SetBorder(Player + myconnectindex, gs.BorderNum); SetRedrawScreen(Player + myconnectindex); } -/*extern*/ void GameInterface::set_hud_scale(int requested_size) { /* the relevant setting is gs.BorderNum */ } +/*extern*/ void GameInterface::set_hud_scale(int requested_size) { } ::GameInterface* CreateInterface() { diff --git a/source/sw/src/game.h b/source/sw/src/game.h index ba888da68..ca2d9df26 100644 --- a/source/sw/src/game.h +++ b/source/sw/src/game.h @@ -2432,7 +2432,6 @@ struct GameInterface : ::GameInterface void UpdateScreenSize() override; void FreeGameData() override; bool GenerateSavePic() override; - bool validate_hud(int) override; void set_hud_layout(int size) override; void set_hud_scale(int size) override; void DrawNativeMenuText(int fontnum, int state, double xpos, double ypos, float fontscale, const char* text, int flags) override; diff --git a/wadsrc/static/engine/menudef.txt b/wadsrc/static/engine/menudef.txt index 56ef7549c..2b4ae4001 100644 --- a/wadsrc/static/engine/menudef.txt +++ b/wadsrc/static/engine/menudef.txt @@ -1206,6 +1206,10 @@ OptionMenu "HUDOptions" //protected { Slider "$DSPLYMNU_SCREENSIZE", "hud_size", 0.0, 7.0, 1.0, -1 } + ifgame(shadowwarrior) + { + Slider "$DSPLYMNU_SCREENSIZE", "hud_size", 0.0, 9.0, 1.0, -1 + } Option "$DSPLYMNU_LEVELSTATS", "hud_stats", "OnOff" ifgame(duke, nam, ww2gi, redneck, redneckrides, fury)