Points of interest are now toggleable and have a separate scale factor.

This commit is contained in:
Mari the Deer 2020-06-24 12:36:14 +02:00
commit 36021b802e
6 changed files with 26 additions and 6 deletions

View file

@ -29,6 +29,7 @@ user bool swwm_targettags = false; // show enemy tags above healthbars
user bool swwm_healthnums = true; // show damage/healing numbers
user bool swwm_scorenums = true; // show score numbers
user bool swwm_scorebonus = true; // show score bonuses
user bool swwm_pois = true; // show points of interest highlighted by omnisight
user bool swwm_fly6dof = false; // flying uses 6dof movement, toggleable for those who get motion sickness
user bool swwm_othervoice = true; // can hear other player's voice lines in coop
user bool swwm_shaders = true; // use pp shaders for some effects
@ -50,6 +51,7 @@ user int swwm_hudscale = 0; // HUD scaling (0 = use GZDoom scaling)
user int swwm_barscale = 0; // target healthbar scaling (0 = use GZDoom scaling)
user int swwm_scrscale = 0; // score scaling (0 = use GZDoom scaling)
user int swwm_numscale = 0; // damnum scaling (0 = use GZDoom scaling)
user int swwm_poiscale = 0; // point of interest scaling (0 = use GZDoom scaling)
server bool swwm_blood = false; // custom blood/gibbing
user bool swwm_fuzz = true; // allows toggling the fuzz shader on the demolitionist menus, useful if you're streaming/recording since it destroys the encoding quality
user bool swwm_cbtpause = true; // wallbuster menu pauses the game

View file

@ -71,6 +71,7 @@ SWWM_TARGETTAG = "Show Monster Names";
SWWM_DAMNUMS = "Show Damage/Heal Numbers";
SWWM_SCORENUMS = "Show Score Numbers";
SWWM_SCOREBONUS = "Show Score Bonuses";
SWWM_POIS = "Show Points of Interest";
SWWM_EARBUSTER = "Reduce Wallbuster Loudness";
SWWM_SHADERS = "Use Screen Shaders";
SWWM_OTHERVOICE = "Co-op Voice";
@ -94,6 +95,7 @@ SWWM_HUDSCALE = "HUD Scaling";
SWWM_BARSCALE = "Healthbar Scaling";
SWWM_NUMSCALE = "Number Scaling";
SWWM_SCRSCALE = "Score Scaling";
SWWM_POISCALE = "POI Scaling";
SWWM_GZSCALE = "Use GZDoom Setting";
SWWM_BLOOD = "Enable Custom Blood";
SWWM_FUZZ = "Enable Animated Menu BG";
@ -125,6 +127,7 @@ 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 numbers.";
TOOLTIP_SWWM_SCOREBONUS = "Show additional bonus strings above score numbers (e.g.: multikill counters).";
TOOLTIP_SWWM_POIS = "Show points of interest (such as key items and exits) when you have Omnisight.";
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.";
TOOLTIP_SWWM_OTHERVOICE = "Allows you to hear other player's voice lines, provided you're close enough.";
@ -143,6 +146,7 @@ TOOLTIP_SWWM_HUDSCALE = "Scaling factor of the HUD. Set to 0 to use GZDoom's own
TOOLTIP_SWWM_BARSCALE = "Scaling factor for targetter healthbars. Set to 0 to use GZDoom's own HUD scaling.";
TOOLTIP_SWWM_NUMSCALE = "Scaling factor for damage/healing numbers. Set to 0 to use GZDoom's own HUD scaling.";
TOOLTIP_SWWM_SCRSCALE = "Scaling factor for score numbers. Set to 0 to use GZDoom's own HUD scaling.";
TOOLTIP_SWWM_POISCALE = "Scaling factor for points of interest. Set to 0 to use GZDoom's own HUD scaling.";
TOOLTIP_SWWM_BLOOD = "Please note that these effects are kinda cheap and performance heavy. I'd honestly recommend Nashgore instead, it's better.";
TOOLTIP_SWWM_FUZZ = "Toggling this off is recommended if you're recording/streaming as this effect can harm video quality.";
TOOLTIP_SWWM_CBTPAUSE = "The game will pause while the Wallbuster reload menu is open (only in singleplayer).";

View file

@ -71,6 +71,7 @@ SWWM_TARGETTAG = "Mostrar Nombres de Enemigos";
SWWM_DAMNUMS = "Mostrar Números de Daño/Cura";
SWWM_SCORENUMS = "Mostrar Números de Puntuación";
SWWM_SCOREBONUS = "Mostrar Bonificaciones de Puntuación";
SWWM_POIS = "Mostrar Puntos de Interés";
SWWM_EARBUSTER = "Reducir Estruendo del Wallbuster";
SWWM_SHADERS = "Usar Shaders de Pantalla";
SWWM_OTHERVOICE = "Voz en Cooperativo";
@ -91,6 +92,7 @@ SWWM_HUDSCALE = "Escala de HUD";
SWWM_BARSCALE = "Escala de Barras de Salud";
SWWM_NUMSCALE = "Escala de Números";
SWWM_SCRSCALE = "Escala de Puntuaciones";
SWWM_POISCALE = "Escala de Puntos de Interés";
SWWM_GZSCALE = "Usar Opción de GZDoom";
SWWM_BLOOD = "Habilitar Sangre Personalizada";
SWWM_FUZZ = "Habilitar Fondo Animado de Menú";
@ -122,6 +124,7 @@ TOOLTIP_SWWM_TARGETTAGS = "Muestra nombres encima de las barras de vida.";
TOOLTIP_SWWM_HEALTHNUMS = "Muestra números de daño/curación. Desactiva la opción si prefieres usar otro mod para esto, por ejemplo DamNums.";
TOOLTIP_SWWM_SCORENUMS = "Muestra números de puntuación con cada baja.";
TOOLTIP_SWWM_SCOREBONUS = "Muestra textos de bonificación extra sobre los puntos (ej.: contadores de multikill).";
TOOLTIP_SWWM_POIS = "Muestra puntos de interés (tales como llaves y salidas) cuando tienes Omnivisión.";
TOOLTIP_SWWM_EARBUSTER = "Los sonidos de disparo del Wallbuster pueden a veces ser dolorosamente estridentes. Esta opción limitará la intensidad a un valor más soportable.";
TOOLTIP_SWWM_SHADERS = "Usa shaders de postprocesado para cosas como powerups y la mira del Silver Bullet. Puedes desactivar esto si prefieres algo más ligero para la vista.";
TOOLTIP_SWWM_OTHERVOICE = "Te permite oír los comentarios de voz de otros jugadores, si estás lo suficientemente cerca.";
@ -140,6 +143,7 @@ TOOLTIP_SWWM_HUDSCALE = "Factor de escalado del HUD. Pon a 0 para usar el escala
TOOLTIP_SWWM_BARSCALE = "Factor de escalado para las barras de salud. Pon a 0 para usar el escalado de HUD de GZDoom.";
TOOLTIP_SWWM_NUMSCALE = "Factor de escalado para los números de daño/salud. Pon a 0 para usar el escalado de HUD de GZDoom.";
TOOLTIP_SWWM_SCRSCALE = "Factor de escalado para los números de puntuación. Pon a 0 para usar el escalado de HUD de GZDoom.";
TOOLTIP_SWWM_POISCALE = "Factor de escalado para los puntos de interés. Pon a 0 para usar el escalado de HUD de GZDoom.";
TOOLTIP_SWWM_BLOOD = "Ten en cuenta que estos efectos son un poco cutres y bajan los frames. Sinceramente, recomendaría usar Nashgore, es mejor.";
TOOLTIP_SWWM_FUZZ = "Desactivar ésto es recomendado si estás grabando o haciendo streaming, ya que este effecto puede dañar la calidad del vídeo.";
TOOLTIP_SWWM_CBTPAUSE = "El juego será pausado mientras el menú de recarga de Wallbuster está abierto (sólo en modo de un jugador).";

View file

@ -1,2 +1,2 @@
[default]
SWWM_MODVER="\chSWWM \cwGZ\c- r391 (Wed 24 Jun 12:26:03 CEST 2020)";
SWWM_MODVER="\chSWWM \cwGZ\c- r392 (Wed 24 Jun 12:36:14 CEST 2020)";

View file

@ -2106,7 +2106,7 @@ Class ForcedFallerDamager : Thinker
Destroy();
return;
}
bool isflying = ((mybody.pos.z>mybody.floorz)&&mybody.TestMobjZ());
bool isflying = ((mybody.pos.z>mybody.floorz)&&mybody.TestMobjZ())||mybody.bNOGRAVITY;
if ( wasflying && !isflying && (lastvelz < -23) && !level.monsterfallingdamage && !(mybody.floorsector.flags&Sector.SECF_NOFALLINGDAMAGE) && swwm_doomfall )
{
// big hurt

View file

@ -27,13 +27,14 @@ 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, maxtarg, maxscore, maxdamns, hscale, bscale, nscale, sscale, midcol, midbcol, midduration;
transient CVar safezone, maxchat[2], maxpick, chatduration, msgduration, pickduration, chatcol, teamcol, obitcol, critcol, pickcol, targetter, healthnums, scorenums, scorebonus, pois, targettag, lang, maxtarg, maxscore, maxdamns, hscale, bscale, nscale, sscale, iscale, midcol, midbcol, midduration;
// shared stuff
Vector2 ss, hs;
Vector2 ssb, hsb;
Vector2 ssn, hsn;
Vector2 sss, hss;
Vector2 ssi, hsi;
int margin;
double FracTic;
int chatopen;
@ -359,6 +360,7 @@ 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 ( !pois ) pois = CVar.GetCVar('swwm_pois',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]);
@ -404,7 +406,7 @@ Class SWWMStatusBar : BaseStatusBar
let cam = players[consoleplayer].camera;
Vector3 viewvec = (cos(viewrot.x)*cos(viewrot.y),sin(viewrot.x)*cos(viewrot.y),sin(-viewrot.y));
int sz;
if ( thesight )
if ( thesight && pois.GetBool() )
{
// update omnisight stuff
if ( intpoints.Size() != hnd.intpoints_cnt )
@ -620,9 +622,9 @@ Class SWWMStatusBar : BaseStatusBar
else tag = String.Format("\cy%s\c-",StringTable.Localize("$SWWM_NEXIT"));
}
Font fnt = LangFont(mMiniwiFont);
Screen.DrawText(fnt,Font.CR_WHITE,(vpos.x-hsb.x*fnt.StringWidth(tag)/2.)/hsb.x,(vpos.y-hsb.y*fnt.GetHeight()/2.)/hsb.y,tag,DTA_VirtualWidthF,ssb.x,DTA_VirtualHeightF,ssb.y,DTA_KeepRatio,true);
Screen.DrawText(fnt,Font.CR_WHITE,(vpos.x-hsi.x*fnt.StringWidth(tag)/2.)/hsi.x,(vpos.y-hsi.y*fnt.GetHeight()/2.)/hsi.y,tag,DTA_VirtualWidthF,ssi.x,DTA_VirtualHeightF,ssi.y,DTA_KeepRatio,true);
tag = String.Format("\cu(%s\cu)\c-",FormatDist(tdir.length()));
Screen.DrawText(fnt,Font.CR_WHITE,(vpos.x-hsb.x*fnt.StringWidth(tag)/2.)/hsb.x,(vpos.y+hsb.y*fnt.GetHeight()/2.)/hsb.y,tag,DTA_VirtualWidthF,ssb.x,DTA_VirtualHeightF,ssb.y,DTA_KeepRatio,true);
Screen.DrawText(fnt,Font.CR_WHITE,(vpos.x-hsi.x*fnt.StringWidth(tag)/2.)/hsi.x,(vpos.y+hsi.y*fnt.GetHeight()/2.)/hsi.y,tag,DTA_VirtualWidthF,ssi.x,DTA_VirtualHeightF,ssi.y,DTA_KeepRatio,true);
}
}
// targetting array
@ -1237,6 +1239,7 @@ Class SWWMStatusBar : BaseStatusBar
if ( !bscale ) bscale = CVar.GetCVar('swwm_barscale',players[consoleplayer]);
if ( !nscale ) nscale = CVar.GetCVar('swwm_numscale',players[consoleplayer]);
if ( !sscale ) sscale = CVar.GetCVar('swwm_scrscale',players[consoleplayer]);
if ( !iscale ) iscale = CVar.GetCVar('swwm_poiscale',players[consoleplayer]);
BeginHUD();
if ( hscale.GetInt() <= 0 ) hs = GetHUDScale();
else
@ -1268,6 +1271,13 @@ Class SWWMStatusBar : BaseStatusBar
hss.y = hss.x;
}
sss = (Screen.GetWidth()/hss.x,Screen.GetHeight()/hss.y);
if ( iscale.GetInt() <= 0 ) hsi = GetHUDScale();
else
{
hsi.x = iscale.GetInt();
hsi.y = hsi.x;
}
ssi = (Screen.GetWidth()/hsi.x,Screen.GetHeight()/hsi.y);
FracTic = TicFrac;
DrawTarget();
DrawScore();