Simplify minimap code (less options).

This commit is contained in:
Mari the Deer 2022-07-11 19:43:58 +02:00
commit 474b87d01b
6 changed files with 73 additions and 396 deletions

View file

@ -127,38 +127,8 @@ nosave bool swwm_hudmugshot = true; // show an animated mugshot in the hud
// minimap settings
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 bool swwm_mm_rotate = true; // rotate minimap
nosave bool swwm_mm_grid = false; // show blockmap grid plus (0,0) crosshair
nosave bool swwm_mm_portaloverlay = true; // show portal overlays, like the gzdoom automap (but unlike the gzdoom automap, we also overlay actors)
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 color swwm_mm_backcolor = "10 10 10";
nosave color swwm_mm_cdwallcolor = "30 50 70";
nosave color swwm_mm_efwallcolor = "80 a0 c0";
nosave color swwm_mm_fdwallcolor = "50 70 90";
nosave color swwm_mm_gridcolor = "30 20 40";
nosave color swwm_mm_interlevelcolor = "ff 00 60";
nosave color swwm_mm_intralevelcolor = "00 60 ff";
nosave color swwm_mm_lockedcolor = "00 90 80";
nosave color swwm_mm_notseencolor = "20 20 30";
nosave color swwm_mm_portalcolor = "40 30 20";
nosave color swwm_mm_secretsectorcolor = "80 00 ff";
nosave color swwm_mm_secretwallcolor = "60 40 80";
nosave color swwm_mm_specialwallcolor = "ff a0 00";
nosave color swwm_mm_thingcolor = "ff ff ff";
nosave color swwm_mm_thingcolor_citem = "00 ff ff";
nosave color swwm_mm_thingcolor_friend = "80 ff a0";
nosave color swwm_mm_thingcolor_item = "ff c0 00";
nosave color swwm_mm_thingcolor_monster = "ff 60 40";
nosave color swwm_mm_thingcolor_ncmonster = "a0 40 20";
nosave color swwm_mm_thingcolor_shootable = "ff a0 a0"; // thingcolor as fallback
nosave color swwm_mm_thingcolor_vipitem = "80 60 ff"; // unexploredsecretcolor as fallback
nosave color swwm_mm_thingcolor_missile = "ff a0 20"; // specialwallcolor as fallback
nosave color swwm_mm_tswallcolor = "30 20 40";
nosave color swwm_mm_unexploredsecretcolor = "40 00 80";
nosave color swwm_mm_wallcolor = "c0 e0 ff";
nosave color swwm_mm_xhaircolor = "80 80 ff";
nosave color swwm_mm_yourcolor = "80 ff 00";
server noarchive bool swwm_iseriouslywanttoplaythiswithbd = false; // self-explanatory

View file

@ -209,46 +209,14 @@ SWWM_VOICELOG = "Log Player Comments";
SWWM_SKIPSKILL = "Skip Skill Confirmation";
SWWM_HUDTRIMAMMO = "Trim Ammo List";
SWWM_HUDMUGSHOT = "Face In HUD";
SWWM_MMTITLE = "Minimap Settings";
SWWM_MM_ENABLE = "Show Minimap";
SWWM_MM_ROTATE = "Rotate Minimap";
SWWM_MM_GRID = "Show Grid";
SWWM_MM_PORTALOVERLAY = "Overlay Portals";
SWWM_MM_MISSILES = "Show Projectiles";
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_RESET = "Reset to Defaults";
SWWM_MM_BACKCOLOR = "Background";
SWWM_MM_YOURCOLOR = "You";
SWWM_MM_WALLCOLOR = "1-sided walls";
SWWM_MM_FDWALLCOLOR = "2-sided walls with different floors";
SWWM_MM_CDWALLCOLOR = "2-sided walls with different ceilings";
SWWM_MM_EFWALLCOLOR = "2-sided walls with 3D floors";
SWWM_MM_GRIDCOLOR = "Map grid";
SWWM_MM_XHAIRCOLOR = "Center point";
SWWM_MM_NOTSEENCOLOR = "Not-yet-seen walls";
SWWM_MM_LOCKEDCOLOR = "Locked doors";
SWWM_MM_INTRALEVELCOLOR = "Teleported to the same map";
SWWM_MM_INTERLEVELCOLOR = "Teleporter to a different map";
SWWM_MM_SECRETSECTORCOLOR = "Secret sector";
SWWM_MM_UNEXPLOREDSECRETCOLOR = "Unexplored secret";
SWWM_MM_SPECIALWALLCOLOR = "Special trigger lines";
SWWM_MM_PORTALCOLOR = "Portal Overlays";
SWWM_MM_TSWALLCOLOR = "Invisible 2-sided walls";
SWWM_MM_SECRETWALLCOLOR = "Secret walls";
SWWM_MM_THINGCOLOR = "Actors";
SWWM_MM_THINGCOLOR_MONSTER = "Monsters";
SWWM_MM_THINGCOLOR_NCMONSTER = "Non-counting Monsters";
SWWM_MM_THINGCOLOR_FRIEND = "Friends";
SWWM_MM_THINGCOLOR_ITEM = "Items";
SWWM_MM_THINGCOLOR_CITEM = "Count Items";
SWWM_MM_THINGCOLOR_VIPITEM = "Important Items";
SWWM_MM_THINGCOLOR_SHOOTABLE = "Shootable Actors";
SWWM_MM_THINGCOLOR_MISSILE = "Projectiles";
SWWM_AC_UNLOCKED = "Unlocked: ";
SWWM_AC_INCOMPLETE = "Incomplete: ";
SWWM_AC_UNDISCOVERED = "Undiscovered: ";
@ -383,39 +351,8 @@ TOOLTIP_SWWM_HUDMUGSHOT = "Shows the Demolitionist's face in the HUD, for a more
TOOLTIP_SWWMMINIMAPMENU = "Configure the minimap.";
TOOLTIP_SWWMACHIEVEMENTMENU = "View your achievements.";
TOOLTIP_SWWM_MM_ENABLE = "Displays a minimap under the score counter.";
TOOLTIP_SWWM_MM_ROTATE = "Rotates the minimap view.";
TOOLTIP_SWWM_MM_GRID = "Shows a 128x128 grid on the minimap.";
TOOLTIP_SWWM_MM_PORTALOVERLAY = "Overlays regions belonging to static portals, along with things contained within them.";
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_EVENT_SWWMRESETMMCOLORS = "Resets all these colors to their original values.";
TOOLTIP_SWWM_MM_BACKCOLOR = "Color of the minimap drawing area.";
TOOLTIP_SWWM_MM_YOURCOLOR = "Color of the central arrow.";
TOOLTIP_SWWM_MM_WALLCOLOR = "Color of all one-sided lines that have nothing special.";
TOOLTIP_SWWM_MM_FDWALLCOLOR = "Color of lines where the floor height changes.";
TOOLTIP_SWWM_MM_CDWALLCOLOR = "Color of lines where the ceiling height changes.";
TOOLTIP_SWWM_MM_EFWALLCOLOR = "Color of lines where there's a 3D floor boundary.";
TOOLTIP_SWWM_MM_GRIDCOLOR = "Color of the blockmap grid.";
TOOLTIP_SWWM_MM_XHAIRCOLOR = "Color of the central map point.";
TOOLTIP_SWWM_MM_NOTSEENCOLOR = "Color of walls that Omnisight revealed, but haven't yet been seen.";
TOOLTIP_SWWM_MM_LOCKEDCOLOR = "Color for locked doors (unless they have one defined).";
TOOLTIP_SWWM_MM_INTRALEVELCOLOR = "Color of teleporters within the map.";
TOOLTIP_SWWM_MM_INTERLEVELCOLOR = "Color of teleporters that go to another map, or exits.";
TOOLTIP_SWWM_MM_SECRETSECTORCOLOR = "Color of revealed secret sectors.";
TOOLTIP_SWWM_MM_UNEXPLOREDSECRETCOLOR = "Color of secret sectors that haven't been explored yet.";
TOOLTIP_SWWM_MM_SPECIALWALLCOLOR = "Color of special lines that the player can activate.";
TOOLTIP_SWWM_MM_PORTALCOLOR = "Color to tint map lines belonging to a static portal, also used for things contained in it.";
TOOLTIP_SWWM_MM_TSWALLCOLOR = "Color of lines with no height difference, hidden unless using cheats.";
TOOLTIP_SWWM_MM_SECRETWALLCOLOR = "Color of lines that are flagged as secret, only shown using cheats.";
TOOLTIP_SWWM_MM_THINGCOLOR = "Color for general things in the map.";
TOOLTIP_SWWM_MM_THINGCOLOR_MONSTER = "Color for hostiles.";
TOOLTIP_SWWM_MM_THINGCOLOR_NCMONSTER = "Color for hostiles that don't count towards map tally.";
TOOLTIP_SWWM_MM_THINGCOLOR_FRIEND = "Color for allies.";
TOOLTIP_SWWM_MM_THINGCOLOR_ITEM = "Color for items.";
TOOLTIP_SWWM_MM_THINGCOLOR_CITEM = "Color for items that count towards map tally.";
TOOLTIP_SWWM_MM_THINGCOLOR_VIPITEM = "Color for very important items.";
TOOLTIP_SWWM_MM_THINGCOLOR_SHOOTABLE = "Color for things that can be damaged.";
TOOLTIP_SWWM_MM_THINGCOLOR_MISSILE = "Color for projectiles.";
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_DEBUGVIEW = "Shows collision, orientation and velocity of actors, as well as relationship lines to their target/tracer/master pointers (gold/orange/purple respectively).";

View file

@ -208,46 +208,14 @@ SWWM_VOICELOG = "Registrar Comentarios de Jugador";
SWWM_SKIPSKILL = "Saltar Confirmación de Dificultad";
SWWM_HUDTRIMAMMO = "Recortar Lista de Munición";
SWWM_HUDMUGSHOT = "Rostro en el HUD";
SWWM_MMTITLE = "Opciones de Minimapa";
SWWM_MM_ENABLE = "Mostrar Minimapa";
SWWM_MM_ROTATE = "Rotar Minimapa";
SWWM_MM_GRID = "Mostrar Cuadrícula";
SWWM_MM_PORTALOVERLAY = "Superposición de Portales";
SWWM_MM_MISSILES = "Mostrar Proyectiles";
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_RESET = "Restaurar Predeterminado";
SWWM_MM_BACKCOLOR = "Fondo";
SWWM_MM_YOURCOLOR = "Tú";
SWWM_MM_WALLCOLOR = "Paredes de 1 lado";
SWWM_MM_FDWALLCOLOR = "Paredes de 2 lados con pisos distintos";
SWWM_MM_CDWALLCOLOR = "Paredes de 2 lados con techos distintos";
SWWM_MM_EFWALLCOLOR = "Paredes de 2 lados con suelos 3D";
SWWM_MM_GRIDCOLOR = "Cuadrícula del mapa";
SWWM_MM_XHAIRCOLOR = "Punto central";
SWWM_MM_NOTSEENCOLOR = "Paredes sin ver";
SWWM_MM_LOCKEDCOLOR = "Puerdas bloqueadas";
SWWM_MM_INTRALEVELCOLOR = "Telepuerto al mismo mapa";
SWWM_MM_INTERLEVELCOLOR = "Telepuerto a un mapa diferente";
SWWM_MM_SECRETSECTORCOLOR = "Sector secreto";
SWWM_MM_UNEXPLOREDSECRETCOLOR = "Sector secreto inexplorado";
SWWM_MM_SPECIALWALLCOLOR = "Lineas especiales de activación";
SWWM_MM_PORTALCOLOR = "Sobreposición de portal";
SWWM_MM_TSWALLCOLOR = "Paredes de 2 lados invisibles";
SWWM_MM_SECRETWALLCOLOR = "Paredes secretas";
SWWM_MM_THINGCOLOR = "Actores";
SWWM_MM_THINGCOLOR_MONSTER = "Monstruos";
SWWM_MM_THINGCOLOR_NCMONSTER = "Monstruos no contados";
SWWM_MM_THINGCOLOR_FRIEND = "Amigos";
SWWM_MM_THINGCOLOR_ITEM = "Objetos";
SWWM_MM_THINGCOLOR_CITEM = "Objetos contados";
SWWM_MM_THINGCOLOR_VIPITEM = "Objetos importantes";
SWWM_MM_THINGCOLOR_SHOOTABLE = "Actores vulnerables";
SWWM_MM_THINGCOLOR_MISSILE = "Proyectiles";
SWWM_AC_UNLOCKED = "Desbloqueados: ";
SWWM_AC_INCOMPLETE = "Incompletos: ";
SWWM_AC_UNDISCOVERED = "Sin descubrir: ";
@ -387,39 +355,8 @@ TOOLTIP_SWWM_HUDMUGSHOT = "Muestra el rostro de la Demolicionista en el HUD, par
TOOLTIP_SWWMMINIMAPMENU = "Configura el minimapa.";
TOOLTIP_SWWMACHIEVEMENTMENU = "Revisa tus logros.";
TOOLTIP_SWWM_MM_ENABLE = "Muestra un minimapa bajo el contador de puntuación.";
TOOLTIP_SWWM_MM_ROTATE = "Gira la vista del minimapa.";
TOOLTIP_SWWM_MM_GRID = "Muestra una cuadrícula de 128x128 en el minimapa.";
TOOLTIP_SWWM_MM_PORTALOVERLAY = "Sobrepone regiones que pertenecen a portales estáticos, junto con los objetos que contengan.";
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_EVENT_SWWMRESETMMCOLORS = "Resetea estos colores a sus valores originales.";
TOOLTIP_SWWM_MM_BACKCOLOR = "Color del área de dibujo del mapa.";
TOOLTIP_SWWM_MM_YOURCOLOR = "Color de la flecha central.";
TOOLTIP_SWWM_MM_WALLCOLOR = "Color de todas las líneas de una cara que no tienen nada de especial.";
TOOLTIP_SWWM_MM_FDWALLCOLOR = "Color de las líneas donde cambia la altura del suelo.";
TOOLTIP_SWWM_MM_CDWALLCOLOR = "Color de las líneas donde cambia la altura del techo.";
TOOLTIP_SWWM_MM_EFWALLCOLOR = "Color de las líneas donde hay un borde de suelo 3D.";
TOOLTIP_SWWM_MM_GRIDCOLOR = "Color de la cuadrícula de blockmap.";
TOOLTIP_SWWM_MM_XHAIRCOLOR = "Color del punto central del mapa.";
TOOLTIP_SWWM_MM_NOTSEENCOLOR = "Color de las paredes reveladas por Omnivisión, pero que no han sido vistas aún.";
TOOLTIP_SWWM_MM_LOCKEDCOLOR = "Color para puertas bloqueadas (a menos que tengan uno definido).";
TOOLTIP_SWWM_MM_INTRALEVELCOLOR = "Color para teletransportes dentro del mapa.";
TOOLTIP_SWWM_MM_INTERLEVELCOLOR = "Color para teletransportes a otro mapa, o salidas.";
TOOLTIP_SWWM_MM_SECRETSECTORCOLOR = "Color de sectores secretos revelados.";
TOOLTIP_SWWM_MM_UNEXPLOREDSECRETCOLOR = "Color de sectores secretos que aun no han sido explorados.";
TOOLTIP_SWWM_MM_SPECIALWALLCOLOR = "Color de líneas especiales que el jugador puede activar.";
TOOLTIP_SWWM_MM_PORTALCOLOR = "Color que tiñe líneas de mapa que forman parte de un portal estático, también usado para objetos dentro del mismo.";
TOOLTIP_SWWM_MM_TSWALLCOLOR = "Color de líneas sin diferencia de altura, ocultas a menos que se usen trucos.";
TOOLTIP_SWWM_MM_SECRETWALLCOLOR = "Color de líneas marcadas como secretas, solo mostradas usando trucos.";
TOOLTIP_SWWM_MM_THINGCOLOR = "Color para cosas generales en el mapa.";
TOOLTIP_SWWM_MM_THINGCOLOR_MONSTER = "Color para hostiles.";
TOOLTIP_SWWM_MM_THINGCOLOR_NCMONSTER = "Color para hostiles que no cuentan para el tanteo del mapa.";
TOOLTIP_SWWM_MM_THINGCOLOR_FRIEND = "Color para aliados.";
TOOLTIP_SWWM_MM_THINGCOLOR_ITEM = "Color para ítems.";
TOOLTIP_SWWM_MM_THINGCOLOR_CITEM = "Color para ítems que cuentan para el tanteo del mapa.";
TOOLTIP_SWWM_MM_THINGCOLOR_VIPITEM = "Color para ítems muy importantes.";
TOOLTIP_SWWM_MM_THINGCOLOR_SHOOTABLE = "Color para cosas que pueden ser dañadas.";
TOOLTIP_SWWM_MM_THINGCOLOR_MISSILE = "Color para proyectiles.";
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_DEBUGVIEW = "Muestra la colisión, orientación y velocidad de actores, junto con lineas de relación hacia sus punteros de objetivo/trazador/maestro (dorado/naranja/púrpura respectivamente).";

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r170 \cu(Fri 8 Jul 23:52:22 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r170 \cu(2022-07-08 23:52:22)\c-";
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r171 \cu(Mon 11 Jul 19:43:58 CEST 2022)\c-";
SWWM_SHORTVER="\cw1.3pre r171 \cu(2022-07-11 19:43:58)\c-";

View file

@ -80,12 +80,19 @@ OptionValue "SWWMInterArt"
2, "$SWWM_NORENDER"
3, "$SWWM_NOFANART"
}
OptionValue "SWWMMinimapColorset"
{
0, "$SWWM_OWNCOLORS"
1, "$SWWM_GZDOOMCOLORS"
2, "$SWWM_DOOMCOLORS"
3, "$SWWM_STRIFECOLORS"
4, "$SWWM_RAVENCOLORS"
}
OptionMenu "SWWMOptionMenu"
{
Class "SWWMOptionMenu"
Title "$SWWM_MTITLE"
Submenu "$SWWM_MMTITLE", "SWWMMinimapMenu"
SafeCommand "$SWWM_CRESET", "event swwmresetcvars"
SafeCommand "$SWWM_ARESET", "event swwmresetachievements"
Submenu "$SWWM_DBGTITLE", "SWWMDebugMenu"
@ -120,6 +127,9 @@ OptionMenu "SWWMOptionMenu"
Slider "$SWWM_HUDMARGIN", "swwm_hudmargin", 0, 20, 1, 0
Option "$SWWM_HUDTRIMAMMO", "swwm_hudtrimammo", "YesNo"
Option "$SWWM_HUDMUGSHOT", "swwm_hudmugshot", "YesNo"
Option "$SWWM_MM_ENABLE", "swwm_mm_enable", "YesNo"
Option "$SWWM_MM_MISSILES", "swwm_mm_missiles", "YesNo"
Option "$SWWM_MM_COLORSET", "swwm_mm_colorset", "SWWMMinimapColorset"
Slider "$SWWM_MAXMSG", "swwm_maxshown", 1, 10, 1, 0
Slider "$SWWM_MAXMSGBIG", "swwm_maxshownbig", 1, 20, 1, 0
Slider "$SWWM_MAXPICK", "swwm_maxpickup", 1, 10, 1, 0
@ -244,55 +254,6 @@ OptionMenu "SWWMOptionMenu"
Option "$SWWM_DRLASKILL", "swwm_drlaskill", "SWWMDRLASkill"
}
}
OptionValue "SWWMMinimapColorset"
{
0, "$SWWM_OWNCOLORS"
1, "$SWWM_GZDOOMCOLORS"
2, "$SWWM_DOOMCOLORS"
3, "$SWWM_STRIFECOLORS"
4, "$SWWM_RAVENCOLORS"
}
OptionMenu "SWWMMinimapMenu"
{
Class "SWWMOptionMenu"
Title "$SWWM_MMTITLE"
Option "$SWWM_MM_ENABLE", "swwm_mm_enable", "YesNo"
Option "$SWWM_MM_ROTATE", "swwm_mm_rotate", "YesNo"
Option "$SWWM_MM_GRID", "swwm_mm_grid", "YesNo"
Option "$SWWM_MM_PORTALOVERLAY", "swwm_mm_portaloverlay", "YesNo"
Option "$SWWM_MM_MISSILES", "swwm_mm_missiles", "YesNo"
Option "$SWWM_MM_COLORSET", "swwm_mm_colorset", "SWWMMinimapColorset"
SafeCommand "$SWWM_MM_RESET", "event swwmresetmmcolors"
StaticText " "
ColorPicker "$SWWM_MM_BACKCOLOR", "swwm_mm_backcolor"
ColorPicker "$SWWM_MM_YOURCOLOR", "swwm_mm_yourcolor"
ColorPicker "$SWWM_MM_WALLCOLOR", "swwm_mm_wallcolor"
ColorPicker "$SWWM_MM_FDWALLCOLOR", "swwm_mm_fdwallcolor"
ColorPicker "$SWWM_MM_CDWALLCOLOR", "swwm_mm_cdwallcolor"
ColorPicker "$SWWM_MM_EFWALLCOLOR", "swwm_mm_efwallcolor"
ColorPicker "$SWWM_MM_GRIDCOLOR", "swwm_mm_gridcolor"
ColorPicker "$SWWM_MM_XHAIRCOLOR", "swwm_mm_xhaircolor"
ColorPicker "$SWWM_MM_NOTSEENCOLOR", "swwm_mm_notseencolor"
ColorPicker "$SWWM_MM_LOCKEDCOLOR", "swwm_mm_lockedcolor"
ColorPicker "$SWWM_MM_INTRALEVELCOLOR", "swwm_mm_intralevelcolor"
ColorPicker "$SWWM_MM_INTERLEVELCOLOR", "swwm_mm_interlevelcolor"
ColorPicker "$SWWM_MM_SECRETSECTORCOLOR", "swwm_mm_secretsectorcolor"
ColorPicker "$SWWM_MM_UNEXPLOREDSECRETCOLOR", "swwm_mm_unexploredsecretcolor"
ColorPicker "$SWWM_MM_SPECIALWALLCOLOR", "swwm_mm_specialwallcolor"
ColorPicker "$SWWM_MM_PORTALCOLOR", "swwm_mm_portalcolor"
ColorPicker "$SWWM_MM_TSWALLCOLOR", "swwm_mm_tswallcolor"
ColorPicker "$SWWM_MM_SECRETWALLCOLOR", "swwm_mm_secretwallcolor"
ColorPicker "$SWWM_MM_THINGCOLOR", "swwm_mm_thingcolor"
ColorPicker "$SWWM_MM_THINGCOLOR_MONSTER", "swwm_mm_thingcolor_monster"
ColorPicker "$SWWM_MM_THINGCOLOR_NCMONSTER", "swwm_mm_thingcolor_ncmonster"
ColorPicker "$SWWM_MM_THINGCOLOR_FRIEND", "swwm_mm_thingcolor_friend"
ColorPicker "$SWWM_MM_THINGCOLOR_ITEM", "swwm_mm_thingcolor_item"
ColorPicker "$SWWM_MM_THINGCOLOR_CITEM", "swwm_mm_thingcolor_citem"
ColorPicker "$SWWM_MM_THINGCOLOR_VIPITEM", "swwm_mm_thingcolor_vipitem"
ColorPicker "$SWWM_MM_THINGCOLOR_SHOOTABLE", "swwm_mm_thingcolor_shootable"
ColorPicker "$SWWM_MM_THINGCOLOR_MISSILE", "swwm_mm_thingcolor_missile"
}
OptionMenu "SWWMDebugMenu"
{
Class "SWWMOptionMenu"

View file

@ -152,7 +152,7 @@ Class SWWMStatusBar : BaseStatusBar
// minimap colors (thats a lot of 'em)
int mm_colorset;
Color mm_backcolor, mm_cdwallcolor, mm_efwallcolor, mm_fdwallcolor, mm_gridcolor, 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_xhaircolor, 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;
// deathmatch stuff
@ -1903,7 +1903,6 @@ Class SWWMStatusBar : BaseStatusBar
mm_cdwallcolor = am_cdwallcolor;
mm_efwallcolor = am_efwallcolor;
mm_fdwallcolor = am_fdwallcolor;
mm_gridcolor = am_gridcolor;
mm_interlevelcolor = am_interlevelcolor;
mm_intralevelcolor = am_intralevelcolor;
mm_lockedcolor = am_lockedcolor;
@ -1924,7 +1923,6 @@ Class SWWMStatusBar : BaseStatusBar
mm_tswallcolor = am_tswallcolor;
mm_unexploredsecretcolor = am_unexploredsecretcolor;
mm_wallcolor = am_wallcolor;
mm_xhaircolor = am_xhaircolor;
mm_yourcolor = am_yourcolor;
mm_displaylocks = true;
break;
@ -1934,7 +1932,6 @@ Class SWWMStatusBar : BaseStatusBar
mm_cdwallcolor = "fc fc 00";
mm_efwallcolor = "bc 78 48";
mm_fdwallcolor = "bc 78 48";
mm_gridcolor = "4c 4c 4c";
mm_interlevelcolor = 0;
mm_intralevelcolor = 0;
mm_lockedcolor = "fc fc 00";
@ -1955,7 +1952,6 @@ Class SWWMStatusBar : BaseStatusBar
mm_tswallcolor = "80 80 80";
mm_unexploredsecretcolor = 0;
mm_wallcolor = "fc 00 00";
mm_xhaircolor = "80 80 80";
mm_yourcolor = "ff ff ff";
mm_displaylocks = false;
break;
@ -1965,7 +1961,6 @@ Class SWWMStatusBar : BaseStatusBar
mm_cdwallcolor = "77 73 73";
mm_efwallcolor = "37 3b 5b";
mm_fdwallcolor = "37 3b 5b";
mm_gridcolor = "4c 4c 4c";
mm_interlevelcolor = 0;
mm_intralevelcolor = 0;
mm_lockedcolor = "77 73 73";
@ -1986,7 +1981,6 @@ Class SWWMStatusBar : BaseStatusBar
mm_tswallcolor = "77 73 73";
mm_unexploredsecretcolor = 0;
mm_wallcolor = "c7 ce ce";
mm_xhaircolor = "80 80 80";
mm_yourcolor = "ef ef ef";
mm_displaylocks = false;
break;
@ -1996,7 +1990,6 @@ Class SWWMStatusBar : BaseStatusBar
mm_cdwallcolor = "67 3b 1f";
mm_efwallcolor = "d0 b0 85";
mm_fdwallcolor = "d0 b0 85";
mm_gridcolor = "46 32 10";
mm_interlevelcolor = 0;
mm_intralevelcolor = 0;
mm_lockedcolor = "67 3b 1f";
@ -2017,39 +2010,36 @@ Class SWWMStatusBar : BaseStatusBar
mm_tswallcolor = "58 5d 56";
mm_unexploredsecretcolor = 0;
mm_wallcolor = "4b 32 10";
mm_xhaircolor = "00 00 00";
mm_yourcolor = "ff ff ff";
mm_displaylocks = true;
break;
default:
// swwm
mm_backcolor = swwm_mm_backcolor;
mm_cdwallcolor = swwm_mm_cdwallcolor;
mm_efwallcolor = swwm_mm_efwallcolor;
mm_fdwallcolor = swwm_mm_fdwallcolor;
mm_gridcolor = swwm_mm_gridcolor;
mm_interlevelcolor = swwm_mm_interlevelcolor;
mm_intralevelcolor = swwm_mm_intralevelcolor;
mm_lockedcolor = swwm_mm_lockedcolor;
mm_notseencolor = swwm_mm_notseencolor;
mm_portalcolor = swwm_mm_portalcolor;
mm_secretsectorcolor = swwm_mm_secretsectorcolor;
mm_secretwallcolor = swwm_mm_secretwallcolor;
mm_specialwallcolor = swwm_mm_specialwallcolor;
mm_thingcolor = swwm_mm_thingcolor;
mm_thingcolor_citem = swwm_mm_thingcolor_citem;
mm_thingcolor_friend = swwm_mm_thingcolor_friend;
mm_thingcolor_item = swwm_mm_thingcolor_item;
mm_thingcolor_monster = swwm_mm_thingcolor_monster;
mm_thingcolor_ncmonster = swwm_mm_thingcolor_ncmonster;
mm_thingcolor_shootable = swwm_mm_thingcolor_shootable;
mm_thingcolor_vipitem = swwm_mm_thingcolor_vipitem;
mm_thingcolor_missile = swwm_mm_thingcolor_missile;
mm_tswallcolor = swwm_mm_tswallcolor;
mm_unexploredsecretcolor = swwm_mm_unexploredsecretcolor;
mm_wallcolor = swwm_mm_wallcolor;
mm_xhaircolor = swwm_mm_xhaircolor;
mm_yourcolor = swwm_mm_yourcolor;
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;
}
@ -2163,108 +2153,6 @@ Class SWWMStatusBar : BaseStatusBar
return true;
}
private void DrawMapGrid( Vector2 basepos )
{
double zoomlevel = SWWMUtility.Lerp(oldminimapzoom,minimapzoom,FracTic);
double zoomview = MAPVIEWDIST*zoomlevel, zoomclip = CLIPDIST*zoomlevel;
Vector2 cpos = SWWMUtility.LerpVector2(players[consoleplayer].Camera.prev.xy,players[consoleplayer].Camera.pos.xy,FracTic);
// find farthest visible southwest grid point from camera position
int maxlines = int(zoomview/64);
Vector2 gpt = (cpos-(zoomview,zoomview))/128;
gpt.x = int(gpt.x)*128;
gpt.y = int(gpt.y)*128;
for ( int i=0; i<maxlines; i++ )
{
Vector2 rv1 = (gpt+(i*128,0))-cpos;
Vector2 rv2 = (gpt+(i*128,maxlines*128))-cpos;
if ( min(min(abs(rv1.x),abs(rv2.x)),min(abs(rv1.y),abs(rv2.y))) > zoomview )
continue;
// flip Y
rv1.y *= -1;
rv2.y *= -1;
// rotate by view
if ( swwm_mm_rotate )
{
rv1 = Actor.RotateVector(rv1,ViewRot.x-90);
rv2 = Actor.RotateVector(rv2,ViewRot.x-90);
}
// clip to frame
bool visible;
[visible, rv1, rv2] = SWWMUtility.LiangBarsky((-1,-1)*zoomclip,(1,1)*zoomclip,rv1,rv2);
if ( !visible ) continue;
// scale to minimap frame
rv1 *= (HALFMAPSIZE/zoomclip)*hs;
rv2 *= (HALFMAPSIZE/zoomclip)*hs;
// offset to minimap center
rv1 += basepos;
rv2 += basepos;
// draw the line
Screen.DrawThickLine(int(rv1.x),int(rv1.y),int(rv2.x),int(rv2.y),max(1.,hs*.25),mm_gridcolor);
}
for ( int i=0; i<maxlines; i++ )
{
Vector2 rv1 = (gpt+(0,i*128))-cpos;
Vector2 rv2 = (gpt+(maxlines*128,i*128))-cpos;
if ( min(min(abs(rv1.x),abs(rv2.x)),min(abs(rv1.y),abs(rv2.y))) > zoomview )
continue;
// flip Y
rv1.y *= -1;
rv2.y *= -1;
// rotate by view
if ( swwm_mm_rotate )
{
rv1 = Actor.RotateVector(rv1,ViewRot.x-90);
rv2 = Actor.RotateVector(rv2,ViewRot.x-90);
}
// clip to frame
bool visible;
[visible, rv1, rv2] = SWWMUtility.LiangBarsky((-1,-1)*zoomclip,(1,1)*zoomclip,rv1,rv2);
if ( !visible ) continue;
// scale to minimap frame
rv1 *= (HALFMAPSIZE/zoomclip)*hs;
rv2 *= (HALFMAPSIZE/zoomclip)*hs;
// offset to minimap center
rv1 += basepos;
rv2 += basepos;
// draw the line
Screen.DrawThickLine(int(rv1.x),int(rv1.y),int(rv2.x),int(rv2.y),max(1.,hs*.25),mm_gridcolor);
}
// draw the origin crosshair
Vector2 tv[4];
tv[0] = (-16,0);
tv[1] = (16,0);
tv[2] = (0,-16);
tv[3] = (0,16);
for ( int i=0; i<4; i+=2 )
{
Vector2 rv1 = tv[i]-cpos;
Vector2 rv2 = tv[i+1]-cpos;
if ( min(min(abs(rv1.x),abs(rv2.x)),min(abs(rv1.y),abs(rv2.y))) > zoomview )
continue;
// flip Y
rv1.y *= -1;
rv2.y *= -1;
// rotate by view
if ( swwm_mm_rotate )
{
rv1 = Actor.RotateVector(rv1,ViewRot.x-90);
rv2 = Actor.RotateVector(rv2,ViewRot.x-90);
}
// clip to frame
bool visible;
[visible, rv1, rv2] = SWWMUtility.LiangBarsky((-1,-1)*zoomclip,(1,1)*zoomclip,rv1,rv2);
if ( !visible ) continue;
// scale to minimap frame
rv1 *= (HALFMAPSIZE/zoomclip)*hs;
rv2 *= (HALFMAPSIZE/zoomclip)*hs;
// offset to minimap center
rv1 += basepos;
rv2 += basepos;
// draw the line
Screen.DrawThickLine(int(rv1.x),int(rv1.y),int(rv2.x),int(rv2.y),max(1.,hs*.75),mm_xhaircolor);
}
}
private void DrawMapLines( Vector2 basepos )
{
double zoomlevel = SWWMUtility.Lerp(oldminimapzoom,minimapzoom,FracTic);
@ -2279,19 +2167,16 @@ Class SWWMStatusBar : BaseStatusBar
continue;
Vector2 rv1 = l.v1.p-cpos, rv2 = l.v2.p-cpos;
bool isportal = false;
if ( swwm_mm_portaloverlay )
Sector linesector;
if ( l.sidedef[0].flags&Side.WALLF_POLYOBJ ) linesector = level.PointInSector(l.v1.p+l.delta/2.);
else linesector = l.frontsector;
isportal = (linesector.portalgroup!=csec.portalgroup);
if ( isportal )
{
Sector linesector;
if ( l.sidedef[0].flags&Side.WALLF_POLYOBJ ) linesector = level.PointInSector(l.v1.p+l.delta/2.);
else linesector = l.frontsector;
isportal = (linesector.portalgroup!=csec.portalgroup);
if ( isportal )
{
// portal displacement
Vector2 pofs = SWWMUtility.PortalDisplacement(csec,linesector);
rv1 -= pofs;
rv2 -= pofs;
}
// portal displacement
Vector2 pofs = SWWMUtility.PortalDisplacement(csec,linesector);
rv1 -= pofs;
rv2 -= pofs;
}
Vector2 mid = (rv1+rv2)/2.;
Vector2 siz = (abs(rv1.x-rv2.x),abs(rv1.y-rv2.y))/2.;
@ -2301,11 +2186,8 @@ Class SWWMStatusBar : BaseStatusBar
rv1.y *= -1;
rv2.y *= -1;
// rotate by view
if ( swwm_mm_rotate )
{
rv1 = Actor.RotateVector(rv1,ViewRot.x-90);
rv2 = Actor.RotateVector(rv2,ViewRot.x-90);
}
rv1 = Actor.RotateVector(rv1,ViewRot.x-90);
rv2 = Actor.RotateVector(rv2,ViewRot.x-90);
// clip to frame
bool visible;
[visible, rv1, rv2] = SWWMUtility.LiangBarsky((-1,-1)*zoomclip,(1,1)*zoomclip,rv1,rv2);
@ -2408,15 +2290,12 @@ Class SWWMStatusBar : BaseStatusBar
{
Vector2 rv = a.pos.xy-cpos;
bool isportal = false;
if ( swwm_mm_portaloverlay )
Sector sec = level.PointInSector(a.pos.xy);
if ( sec.portalgroup != csec.portalgroup )
{
Sector sec = level.PointInSector(a.pos.xy);
if ( sec.portalgroup != csec.portalgroup )
{
isportal = true;
// portal displacement
rv -= SWWMUtility.PortalDisplacement(csec,sec);
}
isportal = true;
// portal displacement
rv -= SWWMUtility.PortalDisplacement(csec,sec);
}
if ( (((radius+zoomview)-abs(rv.x)) <= 0) || (((radius+zoomview)-abs(rv.y)) <= 0) )
continue;
@ -2436,15 +2315,12 @@ Class SWWMStatusBar : BaseStatusBar
}
Vector2 rv = m.pos.xy-cpos;
bool isportal = false;
if ( swwm_mm_portaloverlay )
Sector sec = level.PointInSector(m.pos.xy);
if ( sec.portalgroup != csec.portalgroup )
{
Sector sec = level.PointInSector(m.pos.xy);
if ( sec.portalgroup != csec.portalgroup )
{
isportal = true;
// portal displacement
rv -= SWWMUtility.PortalDisplacement(csec,sec);
}
isportal = true;
// portal displacement
rv -= SWWMUtility.PortalDisplacement(csec,sec);
}
if ( (((radius+zoomview)-abs(rv.x)) <= 0) || (((radius+zoomview)-abs(rv.y)) <= 0) )
continue;
@ -2466,9 +2342,10 @@ Class SWWMStatusBar : BaseStatusBar
double zoomview = MAPVIEWDIST*zoomlevel, zoomclip = CLIPDIST*zoomlevel;
Vector2 cpos = SWWMUtility.LerpVector2(players[consoleplayer].Camera.prev.xy,players[consoleplayer].Camera.pos.xy,FracTic);
Sector csec = players[consoleplayer].Camera.CurSector;
bool drawmissiles = swwm_mm_missiles;
for ( SWWMSimpleTracker t=hnd.strackers; t; t=t.next )
{
if ( !swwm_mm_missiles && 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
Color col = mm_thingcolor;
bool isitem = false;
@ -2510,17 +2387,14 @@ Class SWWMStatusBar : BaseStatusBar
if ( level.allmap && !t.expired && t.target ) mtime += 105;
Vector2 rv = pos-cpos;
bool isportal = false;
if ( swwm_mm_portaloverlay )
Sector sec = level.PointInSector(pos);
if ( sec.portalgroup != csec.portalgroup )
{
Sector sec = level.PointInSector(pos);
if ( sec.portalgroup != csec.portalgroup )
{
isportal = true;
// portal displacement
rv -= SWWMUtility.PortalDisplacement(csec,sec);
// and blend in the color too
col = Color((col.r+mm_portalcolor.r*7)/8,(col.g+mm_portalcolor.g*7)/8,(col.b+mm_portalcolor.b*7)/8);
}
isportal = true;
// portal displacement
rv -= SWWMUtility.PortalDisplacement(csec,sec);
// and blend in the color too
col = Color((col.r+mm_portalcolor.r*7)/8,(col.g+mm_portalcolor.g*7)/8,(col.b+mm_portalcolor.b*7)/8);
}
if ( (((radius+zoomview)-abs(rv.x)) <= 0) || (((radius+zoomview)-abs(rv.y)) <= 0) )
continue;
@ -2561,7 +2435,7 @@ Class SWWMStatusBar : BaseStatusBar
// flip Y
for ( int j=0; j<nidx; j++ ) tv[j].y *= -1;
// rotate by view
if ( swwm_mm_rotate ) for ( int j=0; j<nidx; j++ ) tv[j] = Actor.RotateVector(tv[j],ViewRot.x-90);
for ( int j=0; j<nidx; j++ ) tv[j] = Actor.RotateVector(tv[j],ViewRot.x-90);
bool visible, drawn;
Vector2 x0, x1;
// clip to frame
@ -2614,7 +2488,6 @@ Class SWWMStatusBar : BaseStatusBar
Screen.Dim(mm_backcolor,1.,int((basemappos.x-HALFMAPSIZE)*hs),int((basemappos.y-HALFMAPSIZE)*hs),int(HALFMAPSIZE*2*hs),int(HALFMAPSIZE*2*hs));
Screen.SetClipRect(int((basemappos.x-HALFMAPSIZE)*hs),int((basemappos.y-HALFMAPSIZE)*hs),int(HALFMAPSIZE*2*hs),int(HALFMAPSIZE*2*hs));
// draw dat stuff
if ( swwm_mm_grid ) DrawMapGrid(basemappos*hs);
DrawMapLines(basemappos*hs);
DrawMapThings(basemappos*hs);
DrawMapMarkers(basemappos*hs);
@ -2623,7 +2496,6 @@ Class SWWMStatusBar : BaseStatusBar
tv[0] = (0,-4);
tv[1] = (-3,2);
tv[2] = (3,2);
if ( !swwm_mm_rotate ) for ( int i=0; i<3; i++ ) tv[i] = Actor.RotateVector(tv[i],90-ViewRot.x);
for ( int i=0; i<3; i++ ) tv[i] = (tv[i]+basemappos)*hs;
for ( int i=0; i<3; i++ ) Screen.DrawThickLine(int(tv[i].x),int(tv[i].y),int(tv[(i+1)%3].x),int(tv[(i+1)%3].y),max(1.,hs*.5),mm_yourcolor);
Screen.ClearClipRect();
@ -3282,7 +3154,7 @@ Class SWWMStatusBar : BaseStatusBar
{
double alph = clamp(sin((PulsePhase-FracTic)*12.),0.,1.);
Screen.DrawTexture(HealthTex[6],false,margin+2+ox,ss.y-(margin+20+oy),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_Alpha,alph);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_REDFLASH],margin+107,ss.y-(margin+20+oy),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_REDFLASH],margin+107+ox,ss.y-(margin+20+oy),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
}
ht = clamp(LagHealthInter.GetValue(fractic),0,1000);
double hwl = min(ht,100);