Various UI changes:
* Add optional numeric values to healthbars, like in the standalone mod. * Remove minimap themes, keep only the Demolitionist color set. * Draw keys in the minimap using their respective colors. * Don't send AutoAutosave tokens to the minimap. * Tweak the minimap color of shootable actors so they look less like usable lines. * Use smaller font for cumulative damage on boss healthbars.
This commit is contained in:
parent
6c9506a644
commit
964dcf84f9
14 changed files with 69 additions and 193 deletions
|
|
@ -80,7 +80,11 @@ Re-animation of old FK models. Plus extra score incentives and achievements.
|
||||||
- [ ] Burnination *(Kill 100 enemies with a single Hellblazer drum)* *[replaces I Am Become Death]*
|
- [ ] Burnination *(Kill 100 enemies with a single Hellblazer drum)* *[replaces I Am Become Death]*
|
||||||
- [ ] Engineer's Best Friend *(Score 1000 kills using sentries)*
|
- [ ] Engineer's Best Friend *(Score 1000 kills using sentries)*
|
||||||
* [ ] **Additional Collectibles:**
|
* [ ] **Additional Collectibles:**
|
||||||
- [ ] Blåhaj
|
- [ ] Blåhaj *("Dr. Shorky")*
|
||||||
|
* [ ] **Combo Collectible Animations:**
|
||||||
|
- [ ] Saya + Demo
|
||||||
|
- [ ] Saya + Kirin
|
||||||
|
- [ ] Demo + Kirin
|
||||||
* [ ] **Additional Models:**
|
* [ ] **Additional Models:**
|
||||||
- [ ] Gibs
|
- [ ] Gibs
|
||||||
- [ ] Hexen keys
|
- [ ] Hexen keys
|
||||||
|
|
|
||||||
|
|
@ -81,12 +81,12 @@ nosave bool swwm_oldcheats = false; // has received the "old cheats" dialogue f
|
||||||
nosave bool swwm_ccmessage = false; // has received the "corruption cards" dialogue from Cytho
|
nosave bool swwm_ccmessage = false; // has received the "corruption cards" dialogue from Cytho
|
||||||
nosave bool swwm_useweaponbar = false; // scroll through weapons using a bar, like with inventory items
|
nosave bool swwm_useweaponbar = false; // scroll through weapons using a bar, like with inventory items
|
||||||
nosave bool swwm_percentstats = false; // show level stats as percentages, like in intermissions
|
nosave bool swwm_percentstats = false; // show level stats as percentages, like in intermissions
|
||||||
|
nosave bool swwm_targetvals = false; // show current/max health values above heathbars
|
||||||
|
|
||||||
// minimap settings
|
// minimap settings
|
||||||
nosave bool swwm_mm_enable = true; // show a minimap below the score counter
|
nosave bool swwm_mm_enable = true; // show a minimap below the score counter
|
||||||
nosave noarchive float swwm_mm_zoom = 1; // zoom level of minimap
|
nosave noarchive float swwm_mm_zoom = 1; // zoom level of minimap
|
||||||
nosave bool swwm_mm_missiles = true; // show projectiles (how revolutionary)
|
nosave bool swwm_mm_missiles = true; // show projectiles (how revolutionary)
|
||||||
nosave int swwm_mm_colorset = 0; // 0: Demolitionist, 1: GZDoom, 2: Doom, 3: Strife, 4: Raven
|
|
||||||
nosave bool swwm_mm_usecanvas = false; // use a canvas to draw the minimap, so its pixel density is consistent with the rest of the HUD
|
nosave bool swwm_mm_usecanvas = false; // use a canvas to draw the minimap, so its pixel density is consistent with the rest of the HUD
|
||||||
|
|
||||||
server noarchive bool swwm_iseriouslywanttoplaythiswithbd = false; // self-explanatory
|
server noarchive bool swwm_iseriouslywanttoplaythiswithbd = false; // self-explanatory
|
||||||
|
|
|
||||||
|
|
@ -185,14 +185,9 @@ SWWM_LOBDOUBLED = "LOB Double Death";
|
||||||
SWWM_BARDIST = "Healthbar Distance";
|
SWWM_BARDIST = "Healthbar Distance";
|
||||||
SWWM_USEWEAPONBAR = "Alternate Weapon Selection";
|
SWWM_USEWEAPONBAR = "Alternate Weapon Selection";
|
||||||
SWWM_PERCENTSTATS = "Percentual Stats";
|
SWWM_PERCENTSTATS = "Percentual Stats";
|
||||||
|
SWWM_TARGETVAL = "Show Health Values";
|
||||||
SWWM_MM_ENABLE = "Show Minimap";
|
SWWM_MM_ENABLE = "Show Minimap";
|
||||||
SWWM_MM_MISSILES = "Projectiles In Minimap";
|
SWWM_MM_MISSILES = "Projectiles In Minimap";
|
||||||
SWWM_MM_COLORSET = "Minimap Color Set";
|
|
||||||
SWWM_OWNCOLORS = "Our Colors";
|
|
||||||
SWWM_GZDOOMCOLORS = "GZDoom Custom";
|
|
||||||
SWWM_DOOMCOLORS = "Vanilla Doom";
|
|
||||||
SWWM_STRIFECOLORS = "Vanilla Strife";
|
|
||||||
SWWM_RAVENCOLORS = "Vanilla Raven";
|
|
||||||
SWWM_MM_USECANVAS = "Fixed Scale Minimap";
|
SWWM_MM_USECANVAS = "Fixed Scale Minimap";
|
||||||
SWWM_AC_UNLOCKED = "Unlocked: ";
|
SWWM_AC_UNLOCKED = "Unlocked: ";
|
||||||
SWWM_AC_INCOMPLETE = "Incomplete: ";
|
SWWM_AC_INCOMPLETE = "Incomplete: ";
|
||||||
|
|
@ -278,10 +273,10 @@ TOOLTIP_SWWM_LOBDOUBLED = "[Legion of Bones] Enables \"Double Death\", which mak
|
||||||
TOOLTIP_SWWM_BARDIST = "Distance in map units at which healthbar visibility will begin to fade. Does not affect the healthbars of other players.";
|
TOOLTIP_SWWM_BARDIST = "Distance in map units at which healthbar visibility will begin to fade. Does not affect the healthbars of other players.";
|
||||||
TOOLTIP_SWWM_USEWEAPONBAR = "Enables an alternate method for scrolling through weapons akin to the inventory bar. Use Primary Fire to accept, and Alternate Fire to cancel.";
|
TOOLTIP_SWWM_USEWEAPONBAR = "Enables an alternate method for scrolling through weapons akin to the inventory bar. Use Primary Fire to accept, and Alternate Fire to cancel.";
|
||||||
TOOLTIP_SWWM_PERCENTSTATS = "Shows kills/items/secrets in the HUD as percentages, rather than counters.";
|
TOOLTIP_SWWM_PERCENTSTATS = "Shows kills/items/secrets in the HUD as percentages, rather than counters.";
|
||||||
|
TOOLTIP_SWWM_TARGETVALS = "Healthbars will show the current and maximum health values of the target.";
|
||||||
TOOLTIP_SWWMACHIEVEMENTMENU = "View your achievements.";
|
TOOLTIP_SWWMACHIEVEMENTMENU = "View your achievements.";
|
||||||
TOOLTIP_SWWM_MM_ENABLE = "Displays a minimap on the top right corner of the screen.";
|
TOOLTIP_SWWM_MM_ENABLE = "Displays a minimap on the top right corner of the screen.";
|
||||||
TOOLTIP_SWWM_MM_MISSILES = "Displays projectiles in the minimap. Can be toggled if this clutters too much.";
|
TOOLTIP_SWWM_MM_MISSILES = "Displays projectiles in the minimap. Can be toggled if this clutters too much.";
|
||||||
TOOLTIP_SWWM_MM_COLORSET = "Choose what palette to use for the minimap.";
|
|
||||||
TOOLTIP_SWWM_MM_USECANVAS = "Rather than being drawn directly on-screen, the minimap will be drawn to a texture, maintaining the same pixel density as the rest of the HUD. Due to engine quirks, this causes the map to have a one-frame delay.";
|
TOOLTIP_SWWM_MM_USECANVAS = "Rather than being drawn directly on-screen, the minimap will be drawn to a texture, maintaining the same pixel density as the rest of the HUD. Due to engine quirks, this causes the map to have a one-frame delay.";
|
||||||
TOOLTIP_SWWMDEBUGMENU = "Don't touch this unless you know what you're doing.";
|
TOOLTIP_SWWMDEBUGMENU = "Don't touch this unless you know what you're doing.";
|
||||||
TOOLTIP_SWWM_DEBUGBLAST = "Shows radii of DoExplosion calls. Damaging explosions are green, with yellow for the hotspot. Non-damaging explosions are blue, with magenta for the hotspot.";
|
TOOLTIP_SWWM_DEBUGBLAST = "Shows radii of DoExplosion calls. Damaging explosions are green, with yellow for the hotspot. Non-damaging explosions are blue, with magenta for the hotspot.";
|
||||||
|
|
|
||||||
|
|
@ -182,14 +182,9 @@ SWWM_LOBDOUBLED = "LOB Doble Muerte";
|
||||||
SWWM_BARDIST = "Distancia de Barras de Salud";
|
SWWM_BARDIST = "Distancia de Barras de Salud";
|
||||||
SWWM_USEWEAPONBAR = "Selección Alternativa de Armas";
|
SWWM_USEWEAPONBAR = "Selección Alternativa de Armas";
|
||||||
SWWM_PERCENTSTATS = "Estadísticas Percentuales";
|
SWWM_PERCENTSTATS = "Estadísticas Percentuales";
|
||||||
|
SWWM_TARGETVAL = "Mostrar Valores de Salud";
|
||||||
SWWM_MM_ENABLE = "Mostrar Minimapa";
|
SWWM_MM_ENABLE = "Mostrar Minimapa";
|
||||||
SWWM_MM_MISSILES = "Proyectiles en Minimapa";
|
SWWM_MM_MISSILES = "Proyectiles en Minimapa";
|
||||||
SWWM_MM_COLORSET = "Set de Colores de Minimapa";
|
|
||||||
SWWM_OWNCOLORS = "Colores Propios";
|
|
||||||
SWWM_GZDOOMCOLORS = "Personalizado de GZDoom";
|
|
||||||
SWWM_DOOMCOLORS = "Doom Vanilla";
|
|
||||||
SWWM_STRIFECOLORS = "Strife Vanilla";
|
|
||||||
SWWM_RAVENCOLORS = "Raven Vanilla";
|
|
||||||
SWWM_MM_USECANVAS = "Minimapa a Escala Fija";
|
SWWM_MM_USECANVAS = "Minimapa a Escala Fija";
|
||||||
SWWM_AC_UNLOCKED = "Desbloqueados: ";
|
SWWM_AC_UNLOCKED = "Desbloqueados: ";
|
||||||
SWWM_AC_INCOMPLETE = "Incompletos: ";
|
SWWM_AC_INCOMPLETE = "Incompletos: ";
|
||||||
|
|
@ -276,10 +271,10 @@ TOOLTIP_SWWM_LOBDOUBLED = "[Legion of Bones] Habilita \"Doble Muerte\", lo cual
|
||||||
TOOLTIP_SWWM_BARDIST = "Distancia en unidades de mapa a la cual la visibilidad de las barras de salud irá desvaneciendo. No afecta a las barras de salud de otros jugadores.";
|
TOOLTIP_SWWM_BARDIST = "Distancia en unidades de mapa a la cual la visibilidad de las barras de salud irá desvaneciendo. No afecta a las barras de salud de otros jugadores.";
|
||||||
TOOLTIP_SWWM_USEWEAPONBAR = "Habilita un método alternativo para hacer scroll por las armas similar a la barra de inventario. Usa el Fuego Primario para aceptar, y el Fuego Secundario para cancelar.";
|
TOOLTIP_SWWM_USEWEAPONBAR = "Habilita un método alternativo para hacer scroll por las armas similar a la barra de inventario. Usa el Fuego Primario para aceptar, y el Fuego Secundario para cancelar.";
|
||||||
TOOLTIP_SWWM_PERCENTSTATS = "Muestra las estadísticas de bajas/ítems/secretos en el HUD como porcentajes, en lugar de contadores.";
|
TOOLTIP_SWWM_PERCENTSTATS = "Muestra las estadísticas de bajas/ítems/secretos en el HUD como porcentajes, en lugar de contadores.";
|
||||||
|
TOOLTIP_SWWM_TARGETVALS = "Las barras de salud mostrarán los valores de salud actual y máximo del objetivo.";
|
||||||
TOOLTIP_SWWMACHIEVEMENTMENU = "Revisa tus logros.";
|
TOOLTIP_SWWMACHIEVEMENTMENU = "Revisa tus logros.";
|
||||||
TOOLTIP_SWWM_MM_ENABLE = "Muestra un minimapa en la esquina superior derecha de la pantalla.";
|
TOOLTIP_SWWM_MM_ENABLE = "Muestra un minimapa en la esquina superior derecha de la pantalla.";
|
||||||
TOOLTIP_SWWM_MM_MISSILES = "Muestra proyectiles en el minimapa. Puede ser desactivado si causa problemas de visibilidad.";
|
TOOLTIP_SWWM_MM_MISSILES = "Muestra proyectiles en el minimapa. Puede ser desactivado si causa problemas de visibilidad.";
|
||||||
TOOLTIP_SWWM_MM_COLORSET = "Selecciona que paleta usar para el minimapa.";
|
|
||||||
TOOLTIP_SWWM_MM_USECANVAS = "En vez de dibujarse directamente a la pantalla, el mapa se dibujará en una texture, mantentiendo la misma densidad de píxel que el resto del HUD. Debido a peculiaridades del motor, esto causa que el mapa tenga un frame de retardo.";
|
TOOLTIP_SWWM_MM_USECANVAS = "En vez de dibujarse directamente a la pantalla, el mapa se dibujará en una texture, mantentiendo la misma densidad de píxel que el resto del HUD. Debido a peculiaridades del motor, esto causa que el mapa tenga un frame de retardo.";
|
||||||
TOOLTIP_SWWMDEBUGMENU = "No toques esto a menos que sepas lo que estás haciendo.";
|
TOOLTIP_SWWMDEBUGMENU = "No toques esto a menos que sepas lo que estás haciendo.";
|
||||||
TOOLTIP_SWWM_DEBUGBLAST = "Muestra el radio de funciones DoExplosion. Las explosiones con daño son verdes, con amarillo para su punto caliente. Las explosiones sin daño son azules, con magenta para su punto caliente.";
|
TOOLTIP_SWWM_DEBUGBLAST = "Muestra el radio de funciones DoExplosion. Las explosiones con daño son verdes, con amarillo para su punto caliente. Las explosiones sin daño son azules, con magenta para su punto caliente.";
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
[default]
|
[default]
|
||||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r929 \cu(Sun 30 Jul 17:27:20 CEST 2023)\c-";
|
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r930 \cu(Thu 17 Aug 20:13:16 CEST 2023)\c-";
|
||||||
SWWM_SHORTVER="\cw1.3pre r929 \cu(2023-07-30 17:27:20)\c-";
|
SWWM_SHORTVER="\cw1.3pre r930 \cu(2023-08-17 20:13:17)\c-";
|
||||||
|
|
|
||||||
10
menudef.txt
10
menudef.txt
|
|
@ -74,14 +74,6 @@ OptionValue "SWWMInterArt"
|
||||||
2, "$SWWM_NORENDER"
|
2, "$SWWM_NORENDER"
|
||||||
3, "$SWWM_NOFANART"
|
3, "$SWWM_NOFANART"
|
||||||
}
|
}
|
||||||
OptionValue "SWWMMinimapColorset"
|
|
||||||
{
|
|
||||||
0, "$SWWM_OWNCOLORS"
|
|
||||||
1, "$SWWM_GZDOOMCOLORS"
|
|
||||||
2, "$SWWM_DOOMCOLORS"
|
|
||||||
3, "$SWWM_STRIFECOLORS"
|
|
||||||
4, "$SWWM_RAVENCOLORS"
|
|
||||||
}
|
|
||||||
OptionValue "SWWMTagColor"
|
OptionValue "SWWMTagColor"
|
||||||
{
|
{
|
||||||
0, "$SWWM_COL_0"
|
0, "$SWWM_COL_0"
|
||||||
|
|
@ -153,10 +145,10 @@ OptionMenu "SWWMOptionMenu"
|
||||||
Option "$SWWM_HUDALLAMMO", "swwm_hudallammo", "YesNo"
|
Option "$SWWM_HUDALLAMMO", "swwm_hudallammo", "YesNo"
|
||||||
Option "$SWWM_MM_ENABLE", "swwm_mm_enable", "YesNo"
|
Option "$SWWM_MM_ENABLE", "swwm_mm_enable", "YesNo"
|
||||||
Option "$SWWM_MM_MISSILES", "swwm_mm_missiles", "YesNo"
|
Option "$SWWM_MM_MISSILES", "swwm_mm_missiles", "YesNo"
|
||||||
Option "$SWWM_MM_COLORSET", "swwm_mm_colorset", "SWWMMinimapColorset"
|
|
||||||
Option "$SWWM_MM_USECANVAS", "swwm_mm_usecanvas", "YesNo"
|
Option "$SWWM_MM_USECANVAS", "swwm_mm_usecanvas", "YesNo"
|
||||||
Option "$SWWM_TARGET", "swwm_targeter", "SWWMTarget"
|
Option "$SWWM_TARGET", "swwm_targeter", "SWWMTarget"
|
||||||
ScaleSliderFix "$SWWM_BARDIST", "swwm_bardist", 0, 4000, 100, "$SWWM_UNLIMITED"
|
ScaleSliderFix "$SWWM_BARDIST", "swwm_bardist", 0, 4000, 100, "$SWWM_UNLIMITED"
|
||||||
|
Option "$SWWM_TARGETVAL", "swwm_targetvals", "YesNo"
|
||||||
Option "$SWWM_TARGETTAG", "swwm_targettags", "YesNo"
|
Option "$SWWM_TARGETTAG", "swwm_targettags", "YesNo"
|
||||||
Option "$SWWM_BIGTAGS", "swwm_bigtags", "YesNo"
|
Option "$SWWM_BIGTAGS", "swwm_bigtags", "YesNo"
|
||||||
Option "$SWWM_DAMNUMS", "swwm_damnums", "YesNo"
|
Option "$SWWM_DAMNUMS", "swwm_damnums", "YesNo"
|
||||||
|
|
|
||||||
|
|
@ -100,8 +100,6 @@ demolitionist/buttslam2 = "sounds/demolitionist/demobutt2.ogg"
|
||||||
demolitionist/buttslam3 = "sounds/demolitionist/demobutt3.ogg"
|
demolitionist/buttslam3 = "sounds/demolitionist/demobutt3.ogg"
|
||||||
$random demolitionist/buttslam { demolitionist/buttslam1 demolitionist/buttslam2 demolitionist/buttslam3 }
|
$random demolitionist/buttslam { demolitionist/buttslam1 demolitionist/buttslam2 demolitionist/buttslam3 }
|
||||||
demolitionist/buttslamx = "sounds/demolitionist/demoxbutt.ogg"
|
demolitionist/buttslamx = "sounds/demolitionist/demoxbutt.ogg"
|
||||||
demolitionist/smooch = "sounds/demolitionist/demokiss.ogg"
|
|
||||||
demolitionist/blowkiss = "sounds/demolitionist/demoblow.ogg"
|
|
||||||
demolitionist/petting = "sounds/demolitionist/demopat.ogg"
|
demolitionist/petting = "sounds/demolitionist/demopat.ogg"
|
||||||
demolitionist/knockout = "sounds/demolitionist/demoknockout.ogg"
|
demolitionist/knockout = "sounds/demolitionist/demoknockout.ogg"
|
||||||
demolitionist/dashregen = "sounds/demolitionist/demodashregen.ogg"
|
demolitionist/dashregen = "sounds/demolitionist/demodashregen.ogg"
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,11 @@
|
||||||
# voice/<name>/<group><#> for the sndinfo entries
|
# voice/<name>/<group><#> for the sndinfo entries
|
||||||
# SWWM_SUBS_<NAME>_<GROUP><#>, plus a SWWM_SUBS_<NAME>_N<GROUP> counter,
|
# SWWM_SUBS_<NAME>_<GROUP><#>, plus a SWWM_SUBS_<NAME>_N<GROUP> counter,
|
||||||
# for the language strings
|
# for the language strings
|
||||||
# with the exception of pain/death/grunt sounds and the like (which should
|
# all lines you may want to register require a subtitle language string so they
|
||||||
# additionally have a $random entry in sndinfo), all lines you may want to
|
# can be properly detected, but you can set them to an empty string if you
|
||||||
# register require a subtitle language string so they can be properly detected,
|
# don't want text to display.
|
||||||
# but you can set them to an empty string if you don't want text to display.
|
# voices for various grunts, pain and death screams use a different system,
|
||||||
|
# you can consult the source files for the default voice for reference.
|
||||||
# also don't forget to add a SWWM_VOICENAME_* language string for each voice
|
# also don't forget to add a SWWM_VOICENAME_* language string for each voice
|
||||||
# type so they have a "human-readable" name in the options menu
|
# type so they have a "human-readable" name in the options menu.
|
||||||
default
|
default
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ extend Class SWWMHandler
|
||||||
ui int thealth, hmax;
|
ui int thealth, hmax;
|
||||||
ui int oldhealth[30];
|
ui int oldhealth[30];
|
||||||
ui int cummdamage, lastcummtic; // please do not misread
|
ui int cummdamage, lastcummtic; // please do not misread
|
||||||
ui Font mSmallFont;
|
ui Font mSmallFont, mTinyFont;
|
||||||
|
|
||||||
enum EVanillaMap
|
enum EVanillaMap
|
||||||
{
|
{
|
||||||
|
|
@ -560,6 +560,7 @@ extend Class SWWMHandler
|
||||||
{
|
{
|
||||||
if ( !ui_initialized || (bossalpha <= 0.) ) return;
|
if ( !ui_initialized || (bossalpha <= 0.) ) return;
|
||||||
if ( !mSmallFont ) mSmallFont = Font.GetFont('TewiFontOutline');
|
if ( !mSmallFont ) mSmallFont = Font.GetFont('TewiFontOutline');
|
||||||
|
if ( !mTinyFont ) mTinyFont = Font.GetFont('MiniwiFontOutline');
|
||||||
if ( !bbar_f ) bbar_f = TexMan.CheckForTexture("graphics/HUD/BossHealthBarBox.png");
|
if ( !bbar_f ) bbar_f = TexMan.CheckForTexture("graphics/HUD/BossHealthBarBox.png");
|
||||||
if ( !bbar_r ) bbar_r = TexMan.CheckForTexture("graphics/HUD/BossHealthBar.png");
|
if ( !bbar_r ) bbar_r = TexMan.CheckForTexture("graphics/HUD/BossHealthBar.png");
|
||||||
if ( !bbar_d ) bbar_d = TexMan.CheckForTexture("graphics/HUD/BossHealthBarDecay.png");
|
if ( !bbar_d ) bbar_d = TexMan.CheckForTexture("graphics/HUD/BossHealthBarDecay.png");
|
||||||
|
|
@ -576,7 +577,7 @@ extend Class SWWMHandler
|
||||||
{
|
{
|
||||||
double calph = clamp(((lastcummtic+150)-gametic)/50.,0.,1.);
|
double calph = clamp(((lastcummtic+150)-gametic)/50.,0.,1.);
|
||||||
string dnum = String.Format("%d",cummdamage);
|
string dnum = String.Format("%d",cummdamage);
|
||||||
Screen.DrawText(mSmallFont,Font.CR_RED,vpos.x+300-mSmallFont.StringWidth(dnum),vpos.y-(mSmallFont.GetHeight()+2),dnum,DTA_VirtualWidthF,bar.ss.x,DTA_VirtualHeightF,bar.ss.y,DTA_KeepRatio,true,DTA_Alpha,bossalpha*calph);
|
Screen.DrawText(mTinyFont,Font.CR_RED,vpos.x+300-mTinyFont.StringWidth(dnum),vpos.y-(mTinyFont.GetHeight()+2),dnum,DTA_VirtualWidthF,bar.ss.x,DTA_VirtualHeightF,bar.ss.y,DTA_KeepRatio,true,DTA_Alpha,bossalpha*calph);
|
||||||
}
|
}
|
||||||
String bname = bosstag;
|
String bname = bosstag;
|
||||||
if ( (bname.Left(1) == "$") && swwm_funtags )
|
if ( (bname.Left(1) == "$") && swwm_funtags )
|
||||||
|
|
|
||||||
|
|
@ -308,7 +308,7 @@ extend Class SWWMHandler
|
||||||
continue;
|
continue;
|
||||||
if ( a.bKILLED || (a.Health <= 0) || a.bUnmorphed )
|
if ( a.bKILLED || (a.Health <= 0) || a.bUnmorphed )
|
||||||
continue;
|
continue;
|
||||||
if ( (a is 'Inventory') && (!a.bSPECIAL || Inventory(a).Owner) )
|
if ( (a is 'Inventory') && (!a.bSPECIAL || Inventory(a).Owner || (a.GetClassName() == 'aas_token')) ) // autoautosave hotfix
|
||||||
continue;
|
continue;
|
||||||
if ( (a is 'Chancebox') && (a.CurState != a.SpawnState) )
|
if ( (a is 'Chancebox') && (a.CurState != a.SpawnState) )
|
||||||
continue;
|
continue;
|
||||||
|
|
|
||||||
|
|
@ -151,9 +151,7 @@ Class SWWMStatusBar : BaseStatusBar
|
||||||
const HALFMAPSIZE = 40; // half the size of the minimap draw region (unscaled)
|
const HALFMAPSIZE = 40; // half the size of the minimap draw region (unscaled)
|
||||||
|
|
||||||
// minimap colors (thats a lot of 'em)
|
// minimap colors (thats a lot of 'em)
|
||||||
int mm_colorset;
|
|
||||||
Color mm_backcolor, mm_cdwallcolor, mm_efwallcolor, mm_fdwallcolor, mm_interlevelcolor, mm_intralevelcolor, mm_lockedcolor, mm_notseencolor, mm_portalcolor, mm_secretsectorcolor, mm_secretwallcolor, mm_specialwallcolor, mm_thingcolor, mm_thingcolor_citem, mm_thingcolor_friend, mm_thingcolor_item, mm_thingcolor_monster, mm_thingcolor_ncmonster, mm_thingcolor_shootable, mm_thingcolor_vipitem, mm_thingcolor_missile, mm_tswallcolor, mm_unexploredsecretcolor, mm_wallcolor, mm_yourcolor;
|
Color mm_backcolor, mm_cdwallcolor, mm_efwallcolor, mm_fdwallcolor, mm_interlevelcolor, mm_intralevelcolor, mm_lockedcolor, mm_notseencolor, mm_portalcolor, mm_secretsectorcolor, mm_secretwallcolor, mm_specialwallcolor, mm_thingcolor, mm_thingcolor_citem, mm_thingcolor_friend, mm_thingcolor_item, mm_thingcolor_monster, mm_thingcolor_ncmonster, mm_thingcolor_shootable, mm_thingcolor_vipitem, mm_thingcolor_missile, mm_tswallcolor, mm_unexploredsecretcolor, mm_wallcolor, mm_yourcolor;
|
||||||
bool mm_displaylocks;
|
|
||||||
transient bool mm_cvfirstdraw;
|
transient bool mm_cvfirstdraw;
|
||||||
transient Canvas mm_canvas;
|
transient Canvas mm_canvas;
|
||||||
transient TextureID mm_canvastex;
|
transient TextureID mm_canvastex;
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,7 @@ extend Class SWWMStatusBar
|
||||||
SWWMQuickCombatTracker ct;
|
SWWMQuickCombatTracker ct;
|
||||||
bool onlymonsters = (swwm_targeter >= 2);
|
bool onlymonsters = (swwm_targeter >= 2);
|
||||||
bool onlyfriends = (swwm_targeter >= 3);
|
bool onlyfriends = (swwm_targeter >= 3);
|
||||||
|
bool drawvalues = swwm_targetvals;
|
||||||
int fadedist = swwm_bardist;
|
int fadedist = swwm_bardist;
|
||||||
while ( ct = SWWMQuickCombatTracker(cti.Next()) )
|
while ( ct = SWWMQuickCombatTracker(cti.Next()) )
|
||||||
{
|
{
|
||||||
|
|
@ -177,6 +178,16 @@ extend Class SWWMStatusBar
|
||||||
alph *= df;
|
alph *= df;
|
||||||
}
|
}
|
||||||
Vector2 barpos = vpos-(27,7);
|
Vector2 barpos = vpos-(27,7);
|
||||||
|
if ( drawvalues )
|
||||||
|
{
|
||||||
|
String val = String.Format("%d %d",ct.maxhealth,ct.maxhealth);
|
||||||
|
int valw = MiniHUDFontOutline.StringWidth(val);
|
||||||
|
val = String.Format("%d \c[MiniWhite]%d",ct.lasthealth,ct.maxhealth);
|
||||||
|
int ofsw = valw-MiniHUDFontOutline.StringWidth(val);
|
||||||
|
int col = (ct.lasthealth>ct.maxhealth)?mhudfontcol[MCR_BRASS]:(ct.lasthealth>=(ct.maxhealth/2))?mhudfontcol[MCR_WHITE]:(ct.lasthealth>=(ct.maxhealth/10))?mhudfontcol[MCR_RED]:mhudfontcol[MCR_SAYAHUD];
|
||||||
|
Screen.DrawText(MiniHUDFontOutline,col,vpos.x-int((valw/2)-ofsw),barpos.y-(MiniHUDFontOutline.GetHeight()+2),val,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||||
|
Screen.DrawChar(MiniHUDFontOutline,mhudfontcol[MCR_IBUKIHUD],vpos.x-3,barpos.y-(MiniHUDFontOutline.GetHeight()+2),0x2F,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||||
|
}
|
||||||
if ( swwm_targettags && (ct.mytag != "") )
|
if ( swwm_targettags && (ct.mytag != "") )
|
||||||
{
|
{
|
||||||
Font fnt = swwm_bigtags?mSmallFontOutline:mTinyFontOutline;
|
Font fnt = swwm_bigtags?mSmallFontOutline:mTinyFontOutline;
|
||||||
|
|
@ -193,7 +204,8 @@ extend Class SWWMStatusBar
|
||||||
}
|
}
|
||||||
// voodoo dolls aren't friends
|
// voodoo dolls aren't friends
|
||||||
if ( ct.Owner.IsFriend(CPlayer.mo) && !ct.Owner.player ) tag = "\cg♥\c- "..tag.." \cg♥\c-";
|
if ( ct.Owner.IsFriend(CPlayer.mo) && !ct.Owner.player ) tag = "\cg♥\c- "..tag.." \cg♥\c-";
|
||||||
Screen.DrawText(fnt,Font.CR_WHITE,vpos.x-fnt.StringWidth(tag)/2,barpos.y-(fnt.GetHeight()+2),tag,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
int ofsh = drawvalues?(MiniHUDFontOutline.GetHeight()+4):2;
|
||||||
|
Screen.DrawText(fnt,Font.CR_WHITE,vpos.x-fnt.StringWidth(tag)/2,barpos.y-(fnt.GetHeight()+ofsh),tag,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||||
}
|
}
|
||||||
Screen.DrawTexture(EnemyBTex,false,barpos.x,barpos.y,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
Screen.DrawTexture(EnemyBTex,false,barpos.x,barpos.y,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||||
double ht = clamp(ct.intp.GetValue(fractic),0,ct.maxhealth);
|
double ht = clamp(ct.intp.GetValue(fractic),0,ct.maxhealth);
|
||||||
|
|
|
||||||
|
|
@ -163,155 +163,31 @@ extend Class SWWMStatusBar
|
||||||
// minimap helper code
|
// minimap helper code
|
||||||
private void GetMinimapColors()
|
private void GetMinimapColors()
|
||||||
{
|
{
|
||||||
mm_colorset = swwm_mm_colorset;
|
mm_backcolor = "10 10 10";
|
||||||
switch ( mm_colorset )
|
mm_cdwallcolor = "30 50 70";
|
||||||
{
|
mm_efwallcolor = "80 a0 c0";
|
||||||
case 1:
|
mm_fdwallcolor = "50 70 90";
|
||||||
// gzdoom
|
mm_interlevelcolor = "ff 00 60";
|
||||||
mm_backcolor = am_backcolor;
|
mm_intralevelcolor = "00 60 ff";
|
||||||
mm_cdwallcolor = am_cdwallcolor;
|
mm_lockedcolor = "00 90 80";
|
||||||
mm_efwallcolor = am_efwallcolor;
|
mm_notseencolor = "20 20 30";
|
||||||
mm_fdwallcolor = am_fdwallcolor;
|
mm_portalcolor = "40 30 20";
|
||||||
mm_interlevelcolor = am_interlevelcolor;
|
mm_secretsectorcolor = "80 00 ff";
|
||||||
mm_intralevelcolor = am_intralevelcolor;
|
mm_secretwallcolor = "60 40 80";
|
||||||
mm_lockedcolor = am_lockedcolor;
|
mm_specialwallcolor = "ff a0 00";
|
||||||
mm_notseencolor = am_notseencolor;
|
mm_thingcolor = "ff ff ff";
|
||||||
mm_portalcolor = am_portalcolor;
|
mm_thingcolor_citem = "00 ff ff";
|
||||||
mm_secretsectorcolor = am_secretsectorcolor;
|
mm_thingcolor_friend = "80 ff a0";
|
||||||
mm_secretwallcolor = am_secretwallcolor;
|
mm_thingcolor_item = "ff c0 00";
|
||||||
mm_specialwallcolor = am_specialwallcolor;
|
mm_thingcolor_monster = "ff 60 40";
|
||||||
mm_thingcolor = am_thingcolor;
|
mm_thingcolor_ncmonster = "c0 40 20";
|
||||||
mm_thingcolor_citem = am_thingcolor_citem;
|
mm_thingcolor_shootable = "a0 30 10";
|
||||||
mm_thingcolor_friend = am_thingcolor_friend;
|
mm_thingcolor_vipitem = "80 60 ff";
|
||||||
mm_thingcolor_item = am_thingcolor_item;
|
mm_thingcolor_missile = "ff c0 40";
|
||||||
mm_thingcolor_monster = am_thingcolor_monster;
|
mm_tswallcolor = "30 20 40";
|
||||||
mm_thingcolor_ncmonster = am_thingcolor_ncmonster;
|
mm_unexploredsecretcolor = "40 00 80";
|
||||||
mm_thingcolor_shootable = am_thingcolor;
|
mm_wallcolor = "c0 e0 ff";
|
||||||
mm_thingcolor_vipitem = am_unexploredsecretcolor;
|
mm_yourcolor = "80 ff 00";
|
||||||
mm_thingcolor_missile = am_specialwallcolor;
|
|
||||||
mm_tswallcolor = am_tswallcolor;
|
|
||||||
mm_unexploredsecretcolor = am_unexploredsecretcolor;
|
|
||||||
mm_wallcolor = am_wallcolor;
|
|
||||||
mm_yourcolor = am_yourcolor;
|
|
||||||
mm_displaylocks = true;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
// doom
|
|
||||||
mm_backcolor = "00 00 00";
|
|
||||||
mm_cdwallcolor = "fc fc 00";
|
|
||||||
mm_efwallcolor = "bc 78 48";
|
|
||||||
mm_fdwallcolor = "bc 78 48";
|
|
||||||
mm_interlevelcolor = 0;
|
|
||||||
mm_intralevelcolor = 0;
|
|
||||||
mm_lockedcolor = "fc fc 00";
|
|
||||||
mm_notseencolor = "6c 6c 6c";
|
|
||||||
mm_portalcolor = "40 40 40";
|
|
||||||
mm_secretsectorcolor = 0;
|
|
||||||
mm_secretwallcolor = 0;
|
|
||||||
mm_specialwallcolor = 0;
|
|
||||||
mm_thingcolor = "74 fc 6c";
|
|
||||||
mm_thingcolor_citem = "74 fc 6c";
|
|
||||||
mm_thingcolor_friend = "74 fc 6c";
|
|
||||||
mm_thingcolor_item = "74 fc 6c";
|
|
||||||
mm_thingcolor_monster = "74 fc 6c";
|
|
||||||
mm_thingcolor_ncmonster = "74 fc 6c";
|
|
||||||
mm_thingcolor_shootable = "74 fc 6c";
|
|
||||||
mm_thingcolor_vipitem = "74 fc 6c";
|
|
||||||
mm_thingcolor_missile = "74 fc 6c";
|
|
||||||
mm_tswallcolor = "80 80 80";
|
|
||||||
mm_unexploredsecretcolor = 0;
|
|
||||||
mm_wallcolor = "fc 00 00";
|
|
||||||
mm_yourcolor = "ff ff ff";
|
|
||||||
mm_displaylocks = false;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
// strife
|
|
||||||
mm_backcolor = "00 00 00";
|
|
||||||
mm_cdwallcolor = "77 73 73";
|
|
||||||
mm_efwallcolor = "37 3b 5b";
|
|
||||||
mm_fdwallcolor = "37 3b 5b";
|
|
||||||
mm_interlevelcolor = 0;
|
|
||||||
mm_intralevelcolor = 0;
|
|
||||||
mm_lockedcolor = "77 73 73";
|
|
||||||
mm_notseencolor = "6c 6c 6c";
|
|
||||||
mm_portalcolor = "40 40 40";
|
|
||||||
mm_secretsectorcolor = 0;
|
|
||||||
mm_secretwallcolor = 0;
|
|
||||||
mm_specialwallcolor = 0;
|
|
||||||
mm_thingcolor = "bb 3b 00";
|
|
||||||
mm_thingcolor_citem = "db ab 00";
|
|
||||||
mm_thingcolor_friend = "fc 00 00";
|
|
||||||
mm_thingcolor_item = "db ab 00";
|
|
||||||
mm_thingcolor_monster = "fc 00 00";
|
|
||||||
mm_thingcolor_ncmonster = "fc 00 00";
|
|
||||||
mm_thingcolor_shootable = "bb 3b 00";
|
|
||||||
mm_thingcolor_vipitem = "db ab 00";
|
|
||||||
mm_thingcolor_missile = "bb 3b 00";
|
|
||||||
mm_tswallcolor = "77 73 73";
|
|
||||||
mm_unexploredsecretcolor = 0;
|
|
||||||
mm_wallcolor = "c7 ce ce";
|
|
||||||
mm_yourcolor = "ef ef ef";
|
|
||||||
mm_displaylocks = false;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
// raven
|
|
||||||
mm_backcolor = "6c 54 40";
|
|
||||||
mm_cdwallcolor = "67 3b 1f";
|
|
||||||
mm_efwallcolor = "d0 b0 85";
|
|
||||||
mm_fdwallcolor = "d0 b0 85";
|
|
||||||
mm_interlevelcolor = 0;
|
|
||||||
mm_intralevelcolor = 0;
|
|
||||||
mm_lockedcolor = "67 3b 1f";
|
|
||||||
mm_notseencolor = "00 00 00";
|
|
||||||
mm_portalcolor = "50 50 50";
|
|
||||||
mm_secretsectorcolor = 0;
|
|
||||||
mm_secretwallcolor = 0;
|
|
||||||
mm_specialwallcolor = 0;
|
|
||||||
mm_thingcolor = "ec ec ec";
|
|
||||||
mm_thingcolor_citem = "ec ec ec";
|
|
||||||
mm_thingcolor_friend = "ec ec ec";
|
|
||||||
mm_thingcolor_item = "ec ec ec";
|
|
||||||
mm_thingcolor_monster = "ec ec ec";
|
|
||||||
mm_thingcolor_ncmonster = "ec ec ec";
|
|
||||||
mm_thingcolor_shootable = "ec ec ec";
|
|
||||||
mm_thingcolor_vipitem = "ec ec ec";
|
|
||||||
mm_thingcolor_missile = "ec ec ec";
|
|
||||||
mm_tswallcolor = "58 5d 56";
|
|
||||||
mm_unexploredsecretcolor = 0;
|
|
||||||
mm_wallcolor = "4b 32 10";
|
|
||||||
mm_yourcolor = "ff ff ff";
|
|
||||||
mm_displaylocks = true;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
// swwm
|
|
||||||
mm_backcolor = "10 10 10";
|
|
||||||
mm_cdwallcolor = "30 50 70";
|
|
||||||
mm_efwallcolor = "80 a0 c0";
|
|
||||||
mm_fdwallcolor = "50 70 90";
|
|
||||||
mm_interlevelcolor = "ff 00 60";
|
|
||||||
mm_intralevelcolor = "00 60 ff";
|
|
||||||
mm_lockedcolor = "00 90 80";
|
|
||||||
mm_notseencolor = "20 20 30";
|
|
||||||
mm_portalcolor = "40 30 20";
|
|
||||||
mm_secretsectorcolor = "80 00 ff";
|
|
||||||
mm_secretwallcolor = "60 40 80";
|
|
||||||
mm_specialwallcolor = "ff a0 00";
|
|
||||||
mm_thingcolor = "ff ff ff";
|
|
||||||
mm_thingcolor_citem = "00 ff ff";
|
|
||||||
mm_thingcolor_friend = "80 ff a0";
|
|
||||||
mm_thingcolor_item = "ff c0 00";
|
|
||||||
mm_thingcolor_monster = "ff 60 40";
|
|
||||||
mm_thingcolor_ncmonster = "a0 40 20";
|
|
||||||
mm_thingcolor_shootable = "ff a0 a0";
|
|
||||||
mm_thingcolor_vipitem = "80 60 ff";
|
|
||||||
mm_thingcolor_missile = "ff a0 20";
|
|
||||||
mm_tswallcolor = "30 20 40";
|
|
||||||
mm_unexploredsecretcolor = "40 00 80";
|
|
||||||
mm_wallcolor = "c0 e0 ff";
|
|
||||||
mm_yourcolor = "80 ff 00";
|
|
||||||
mm_displaylocks = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
private bool ShouldDisplaySpecial( int special )
|
private bool ShouldDisplaySpecial( int special )
|
||||||
{
|
{
|
||||||
|
|
@ -540,8 +416,7 @@ extend Class SWWMStatusBar
|
||||||
|| (l.special == Teleport_ZombieChanger)
|
|| (l.special == Teleport_ZombieChanger)
|
||||||
|| (l.special == Teleport_Line)) )
|
|| (l.special == Teleport_Line)) )
|
||||||
col = mm_intralevelcolor;
|
col = mm_intralevelcolor;
|
||||||
else if ( mm_displaylocks
|
else if ( (lock > 0) && (lock < 256) )
|
||||||
&& (lock > 0) && (lock < 256) )
|
|
||||||
{
|
{
|
||||||
let lcol = Key.GetMapColorForLock(lock);
|
let lcol = Key.GetMapColorForLock(lock);
|
||||||
if ( !lcol )
|
if ( !lcol )
|
||||||
|
|
@ -692,7 +567,7 @@ extend Class SWWMStatusBar
|
||||||
for ( SWWMSimpleTracker t=hnd.strackers; t; t=t.next )
|
for ( SWWMSimpleTracker t=hnd.strackers; t; t=t.next )
|
||||||
{
|
{
|
||||||
if ( !drawmissiles && t.ismissile ) continue;
|
if ( !drawmissiles && t.ismissile ) continue;
|
||||||
if ( level.allmap && (t.target is 'Key') ) continue; // don't draw keys over the actual markers they have
|
if ( level.allmap && t.iskey ) continue; // don't draw keys over the actual markers they have
|
||||||
Color col = mm_thingcolor;
|
Color col = mm_thingcolor;
|
||||||
bool isitem = false;
|
bool isitem = false;
|
||||||
bool plainactor = false;
|
bool plainactor = false;
|
||||||
|
|
@ -713,7 +588,8 @@ extend Class SWWMStatusBar
|
||||||
}
|
}
|
||||||
if ( t.isitem )
|
if ( t.isitem )
|
||||||
{
|
{
|
||||||
if ( t.vipitem ) col = mm_thingcolor_vipitem;
|
if ( t.iskey ) col = t.keycolor;
|
||||||
|
else if ( t.vipitem ) col = mm_thingcolor_vipitem;
|
||||||
else if ( t.countitem ) col = mm_thingcolor_citem;
|
else if ( t.countitem ) col = mm_thingcolor_citem;
|
||||||
else col = mm_thingcolor_item;
|
else col = mm_thingcolor_item;
|
||||||
isitem = true;
|
isitem = true;
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,9 @@ Class SWWMSimpleTracker play
|
||||||
bool expired;
|
bool expired;
|
||||||
bool ismissile;
|
bool ismissile;
|
||||||
bool isbeam, isybeam;
|
bool isbeam, isybeam;
|
||||||
|
bool iskey;
|
||||||
int lastupdate;
|
int lastupdate;
|
||||||
|
Color keycolor;
|
||||||
ui double smoothalpha; // smoothened alpha, for ui
|
ui double smoothalpha; // smoothened alpha, for ui
|
||||||
SWWMSimpleTracker next;
|
SWWMSimpleTracker next;
|
||||||
|
|
||||||
|
|
@ -288,6 +290,8 @@ Class SWWMSimpleTracker play
|
||||||
countitem = SWWMUtility.IsScoreItem(target);
|
countitem = SWWMUtility.IsScoreItem(target);
|
||||||
vipitem = SWWMUtility.IsVipItem(target);
|
vipitem = SWWMUtility.IsVipItem(target);
|
||||||
lastupdate = level.maptime;
|
lastupdate = level.maptime;
|
||||||
|
iskey = (target is 'Key');
|
||||||
|
if ( iskey ) keycolor = Key.GetMapColorForKey(Key(target));
|
||||||
if ( isitem )
|
if ( isitem )
|
||||||
{
|
{
|
||||||
if ( !target.bSPECIAL || Inventory(target).Owner )
|
if ( !target.bSPECIAL || Inventory(target).Owner )
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue