diff --git a/cvarinfo.txt b/cvarinfo.txt index 2c29b09b9..da73f47a9 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -42,3 +42,6 @@ user bool swwm_bosshealthbars = true; // display large healthbars for vanilla b server bool swwm_upgradebosses = true; // vanilla bosses will be "upgraded" to be less insta-die prone server bool swwm_extraalert = false; // enables A_AlertMonsters calls for certain things which may be cpu-heavy user bool swwm_accdamage = false; // damage within the same tic is grouped into a single damage number +user int swwm_maxtargets = 40; // maximum targeter healthbars to display (0 = unlimited) +user int swwm_maxscorenums = 20; // maximum score numbers to display (0 = unlimited) +user int swwm_maxdamnums = 40; // maximum damage/healing numbers to display (0 = unlimited) diff --git a/language.def_menu b/language.def_menu index 3481497de..1d6fa6b09 100644 --- a/language.def_menu +++ b/language.def_menu @@ -84,6 +84,9 @@ SWWM_BTITLE = "Balance Options"; SWWM_BOSSENHANCE = "Enhance Vanilla Bosses"; SWWM_EXTRAALERT = "Extra Noise Alerts"; SWWM_ACCDAMAGE = "Cumulative Damage Numbers"; +SWWM_MAXTARGETS = "Max. Displayed Healthbars"; +SWWM_MAXDAMNUMS = "Max. Displayed Damage/Heal Numbers"; +SWWM_MAXSCORENUMS = "Max. Displayed Score Numbers"; TOOLTIP_SWWM_VOICETYPE = "Sets the voice pack for the player."; TOOLTIP_SWWM_MUTEVOICE = "Control what gets muted, if you'd rather have a more silent protagonist."; TOOLTIP_SWWM_FLASHSTRENGTH = "Screen flashes usually happen when firing some weapons, you can lower this if these effects are harmful for you."; @@ -105,7 +108,7 @@ TOOLTIP_SWWM_FLY6DOF = "Enable 6DOF movement when flying. Disable if this featur TOOLTIP_SWWM_TARGETER = "Show enemy/player healthbars. Disable if you'd prefer to use another mod for this, such as Target Spy."; TOOLTIP_SWWM_TARGETTAGS = "Show enemy names above their healthbars."; TOOLTIP_SWWM_HEALTHNUMS = "Show damage/healing numbers. Disable if you'd prefer to use another mod for this, such as DamNums."; -TOOLTIP_SWWM_SCORENUMS = "Show score kill numbers."; +TOOLTIP_SWWM_SCORENUMS = "Show score numbers."; TOOLTIP_SWWM_SCOREBONUS = "Show additional bonus strings above score numbers (e.g.: multikill counters)."; TOOLTIP_SWWM_EARBUSTER = "The Wallbuster's firing sounds may be painfully loud at times. This setting will limit the loudness to something more bearable."; TOOLTIP_SWWM_SHADERS = "Use postprocess shaders for things like powerups and the Silver Bullet scope. You can disable this if you'd prefer something lighter on the eyes."; @@ -118,6 +121,9 @@ TOOLTIP_SWWM_BOSSHEALTHBARS = "Show a healthbar for vanilla boss encounters at t TOOLTIP_SWWM_UPGRADEBOSSES = "Buffs the health of vanilla bosses in order to make the fights more \"fair\" with this mod, and less prone to instant wins."; TOOLTIP_SWWM_EXTRAALERT = "Allows monsters to hear things such as bouncing projectiles, ricocheting bullets, and more. Due to the recursive nature of the A_AlertMonsters function, this has a MASSIVE performance hit on very complex maps."; TOOLTIP_SWWM_ACCDAMAGE = "Damage dealt to a target within the same tic will be grouped into a single damage number, which may make the screen less cluttered in most cases."; +TOOLTIP_SWWM_MAXTARGETS = "Limit the amount of healthbars to display on-screen. Helps keep the screen less cluttered, and may even improve performance."; +TOOLTIP_SWWM_MAXDAMNUMS = "Limit the amount of damage/healing numbers to display on-screen. Helps keep the screen less cluttered, and may even improve performance."; +TOOLTIP_SWWM_MAXSCORENUMS = "Limit the amount of score numbers to display on-screen. Helps keep the screen less cluttered, and may even improve performance."; // knowledge base SWWM_COMINGSOON = "(coming soon)"; SWWM_MISSTAB = "Mission"; diff --git a/language.es_menu b/language.es_menu index c391d0d39..67821eced 100644 --- a/language.es_menu +++ b/language.es_menu @@ -81,6 +81,9 @@ SWWM_BTITLE = "Opciones de Balance"; SWWM_BOSSENHANCE = "Mejorar Bosses Vanilla"; SWWM_EXTRAALERT = "Alertas de Ruído Extra"; SWWM_ACCDAMAGE = "Números de Daño Acumulativos"; +SWWM_MAXTARGETS = "Máx. Barras de Salud en Pantalla"; +SWWM_MAXDAMNUMS = "Máx. Números de Daño/Cura en Pantalla"; +SWWM_MAXSCORENUMS = "Máx. Números de Puntuación en Pantalla"; TOOLTIP_SWWM_VOICETYPE = "Selecciona el pack de voz para el jugador."; TOOLTIP_SWWM_MUTEVOICE = "Controla lo que se mutea, si prefieres tener un protagonista más silencioso."; TOOLTIP_SWWM_FLASHSTRENGTH = "Los destellos en pantalla suelen ocurrir al disparar algunas armas, puedes reducirlo si este tipo de effectos te causan malestar."; @@ -115,6 +118,9 @@ TOOLTIP_SWWM_BOSSHEALTHBARS = "Muestra una barra de vida para bosses vanilla en TOOLTIP_SWWM_UPGRADEBOSSES = "Incrementa la salud de bosses vanilla para hacer que las peleas sean más \"justas\" con este mod, y no tan propensas a ganarse al instante."; TOOLTIP_SWWM_EXTRAALERT = "Permite a los enemigos oir cosas como proyectiles y balas rebotando, entre otros. Debido a la naturaleza recursiva de la función A_AlertMonsters, esto puede tener un impacto MASIVO en el rendimiento en mapas muy complejos."; TOOLTIP_SWWM_ACCDAMAGE = "El daño hecho a un objetivo en el mismo tic será agrupado en un único número, lo cual resultará en una pantalla más despejada en la mayoría de casos."; +TOOLTIP_SWWM_MAXTARGETS = "Limita la cantidad de barras de salud a mostrar en pantalla. Ayuda a mantener la pantalla más despejada, y puede incluso mejorar el rendimiento."; +TOOLTIP_SWWM_MAXDAMNUMS = "Limita la cantidad de números de daño/curación a mostrar en pantalla. Ayuda a mantener la pantalla más despejada, y puede incluso mejorar el rendimiento."; +TOOLTIP_SWWM_MAXSCORENUMS = "Limita la cantidad de números de puntuación a mostrar en pantalla. Ayuda a mantener la pantalla más despejada, y puede incluso mejorar el rendimiento."; // knowledge base SWWM_COMINGSOON = "(próximamente)"; SWWM_MISSTAB = "Misión"; diff --git a/menudef.txt b/menudef.txt index aad00cc8c..caea7ec62 100644 --- a/menudef.txt +++ b/menudef.txt @@ -46,6 +46,9 @@ OptionMenu "SWWMOptionMenu" Option "$SWWM_ACCDAMAGE", "swwm_accdamage", "YesNo" Option "$SWWM_SCORENUMS", "swwm_scorenums", "YesNo" Option "$SWWM_SCOREBONUS", "swwm_scorebonus", "YesNo" + ScaleSlider "$SWWM_MAXTARGETS", "swwm_maxtargets", 0, 100, 1, "$SWWM_UNLIMITED" + ScaleSlider "$SWWM_MAXDAMNUMS", "swwm_maxdamnums", 0, 100, 1, "$SWWM_UNLIMITED" + ScaleSlider "$SWWM_MAXSCORENUMS", "swwm_maxscorenums", 0, 100, 1, "$SWWM_UNLIMITED" Option "$SWWM_SHADERS", "swwm_shaders", "YesNo" Option "$SWWM_INTERTYPE", "swwm_intertype", "SWWMInterType" StaticText " " diff --git a/zscript/swwm_hud.zsc b/zscript/swwm_hud.zsc index 8b3b4242b..c4bf39b7e 100644 --- a/zscript/swwm_hud.zsc +++ b/zscript/swwm_hud.zsc @@ -27,7 +27,7 @@ Class SWWMStatusBar : BaseStatusBar SWWMVanillaBossHandler bosshnd; // client cvars - transient CVar safezone, maxchat[2], maxpick, chatduration, msgduration, pickduration, chatcol, teamcol, obitcol, critcol, pickcol, targetter, healthnums, scorenums, scorebonus, targettag, lang; + transient CVar safezone, maxchat[2], maxpick, chatduration, msgduration, pickduration, chatcol, teamcol, obitcol, critcol, pickcol, targetter, healthnums, scorenums, scorebonus, targettag, lang, maxtarg, maxscore, maxdamns; // shared stuff Vector2 ss, hs; @@ -201,6 +201,12 @@ Class SWWMStatusBar : BaseStatusBar if ( !targetter ) targetter = CVar.GetCVar('swwm_targeter',players[consoleplayer]); if ( !healthnums ) healthnums = CVar.GetCVar('swwm_healthnums',players[consoleplayer]); if ( !scorenums ) scorenums = CVar.GetCVar('swwm_scorenums',players[consoleplayer]); + if ( !maxtarg ) maxtarg = CVar.GetCVar('swwm_maxtargets',players[consoleplayer]); + if ( !maxscore ) maxscore = CVar.GetCVar('swwm_maxscorenums',players[consoleplayer]); + if ( !maxdamns ) maxdamns = CVar.GetCVar('swwm_maxdamnums',players[consoleplayer]); + int maxtargetnum = max(0,maxtarg.GetInt()); + int maxscorenum = max(0,maxscore.GetInt()); + int maxdamnum = max(0,maxdamns.GetInt()); // prune old messages for ( int i=0; i