WIP tooltips for options menu, will be added to Doomreal too.

This commit is contained in:
Marisa the Magician 2019-12-05 18:24:10 +01:00
commit 10a505f134
5 changed files with 176 additions and 21 deletions

View file

@ -61,7 +61,8 @@ This mod requires GZDoom 4.2.4 or later.
## In progress
- N/A, this is the 1.0.6 release.
- Tooltips for menu options.
- Help screens describing items and stuff (maybe?).
## Planned

View file

@ -39,7 +39,6 @@ server bool flak_radboots = true; // jump boots protect against damaging floor
server bool flak_blood = true; // [WIP] use doom tournament blood (disable if using another gore mod)
server bool flak_gibs = false; // [WIP/UNSTABLE] use doom tournament gibbing (disable if using another gore mod)
server bool flak_doomtest = false; // made toggleable due to loud complaints
server bool flak_dmsshock = false; // allow enhanced shock rifle on deathmatch (otherwise they are replaced with udamage)
server noarchive bool flak_instagib = false; // instagib mode (only for dm) - this cvar has to be set from the command line
user float flak_flashstrength = 1.0; // strength of screen flashes
server bool flak_sawammo = false; // chainsaw uses fuel

View file

@ -189,7 +189,7 @@ FLAK_CSSHOCK = "Classic Enhanced Shock Rifle";
FLAK_RECOIL = "Visual recoil";
FLAK_RSTRENGTH = "Visual recoil strength";
FLAK_IOPTS = "Item Options";
FLAK_RADBOOTS = "Jump Boots act like Radsuit";
FLAK_RADBOOTS = "Jump Boots like Radsuit";
FLAK_TOPTS = "Translocator Options";
FLAK_TLOCBOSS = "Prevent boss telefrag";
FLAK_TLOCAMMO = "Translocator has ammo";
@ -198,15 +198,15 @@ FLAK_POPTS = "Player Options";
FLAK_UTMOVE = "Enable UT movement";
FLAK_DPSPEED = "Doom player speed";
FLAK_DACONTROL = "Doom air control";
FLAK_WDROPOFF = "Walk disables dropoff (glitchy)";
FLAK_WDROPOFF = "Walk disables dropoff";
FLAK_DTDODGE = "Double tap dodge";
FLAK_DTSENS = "Double tap sensitivity in tics";
FLAK_DTSENS = "Double tap sensitivity";
FLAK_HOPTS = "HUD Options";
FLAK_SWBAR = "Show weapon bar";
FLAK_SSDOLL = "Show status doll";
FLAK_SWBAR = "Show weapons";
FLAK_SSDOLL = "Show status";
FLAK_SFRAGS = "Show frags";
FLAK_SAMMO = "Show ammo";
FLAK_SPINFO = "Show player names";
FLAK_SPINFO = "Show players";
FLAK_HSIZE = "HUD size";
FLAK_WSIZE = "Weapon bar size";
FLAK_DSIZE = "Status doll size";
@ -215,12 +215,12 @@ FLAK_CCOLOR = "Custom color";
FLAK_HOPAC = "HUD opacity";
FLAK_MSOPTS = "Misc Options";
FLAK_UTFOOT = "UT footsteps";
FLAK_BFOOT = "Boss class uses unique footsteps";
FLAK_BFOOT = "Robot footsteps";
FLAK_UBLOD = "UT blood";
FLAK_UGIB = "UT-style gibbing for vanilla monsters (unstable)";
FLAK_UCORPS = "Corpses take damage (unstable)";
FLAK_UGIB = "UT gibbing for monsters";
FLAK_UCORPS = "Corpses take damage";
FLAK_DTEST = "Edit Kinsie's test map";
FLAK_FSTRENGTH = "Screen flash strength";
FLAK_FSTRENGTH = "Flash strength";
FLAK_SAWAMMO = "Chainsaw uses ammo";
FLAK_ZSHADER = "Sniper scope shader";
FLAK_ZOOMSND = "Enable zoom sounds";
@ -242,6 +242,51 @@ FLAK_CLEVEL = "Level Design:";
FLAK_CARTNMODEL = "Art & Models:";
FLAK_CMUSNSND = "Music & Sound:";
FLAK_CBIZ = "Biz:";
/* menu tooltips */
TOOLTIP_FLAK_PROTOMENU = "Picks which background to use when menus are open, in addition this will also change the main title music.";
TOOLTIP_FLAK_SHOWMENU = "Shows a background graphic when menus are open. May also affect dialogue sceens. I have no idea how to fix that.";
TOOLTIP_FLAK_PULSERELOAD = "Pulse Gun reloads after 50 shots, like in early builds.";
TOOLTIP_FLAK_ENFORCERRELOAD = "Enforcer reloads after 20 shots, like the Unreal Automag.";
TOOLTIP_FLAK_REDEEMERREADOUT = "Marks nearby shootable targets, may be framerate intensive.";
TOOLTIP_FLAK_REDEEMERREADOUT_PERFRAME = "Updates the position of the markings each frame, very performance intensive.";
TOOLTIP_FLAK_COLORPREFS = "Select where to take the HUD color from.";
TOOLTIP_FLAK_COLORCUSTOM = "The custom RGB color of your HUD.";
TOOLTIP_FLAK_OPACITY = "Opacity level of the HUD components. Fully opaque at 16.";
TOOLTIP_FLAK_SHOWWEAPONS = "Shows the weapon bar.";
TOOLTIP_FLAK_SHOWSTATUS = "Shows the status of your worn armor, shield belt, boots, and others.";
TOOLTIP_FLAK_SHOWAMMO = "Shows the ammo count for your weapon.";
TOOLTIP_FLAK_SHOWFRAGS = "Show your current kills (or frags in dm).";
TOOLTIP_FLAK_SHOWINFO = "During multiplayer, displays the name of players when you're aiming at them, along with health, if an ally.";
TOOLTIP_FLAK_HUDSIZE = "Overall scale of the HUD.";
TOOLTIP_FLAK_WEAPONSIZE = "Scale of the weapon bar.";
TOOLTIP_FLAK_STATUSSIZE = "Scale of the status doll.";
TOOLTIP_FLAK_FOOTSTEPS = "Players will play footsteps while moving around. It's recommended to toggle this off if another mod has the same feature.";
TOOLTIP_FLAK_BOSSFOOTSTEPS = "In vanilla UT the Boss model doesn't use its unique footstep sounds, which are available here as an option.";
TOOLTIP_FLAK_TRANSLOCATOR = "Each player will be given a Translocator. While the weapon is designed to not shoot past player-blocking lines it still has potential to break levels if misused (like jumping/crouching in vanilla maps :P).";
TOOLTIP_FLAK_TRANSLOC2K4 = "Gives the Translocator a small recharging ammo supply to prevent spamming, like in UT2k4.";
TOOLTIP_FLAK_NOSWITCHDEEMER = "Prevents autoswitching to the Redeemer when exhausting ammo from lower tier weapons. Mainly so you don't accidentally blow yourself up.";
TOOLTIP_FLAK_DEEMERSHADER = "Fancy lo-fi video feed shader for the Redeemer, may make things harder to see though.";
TOOLTIP_FLAK_CLASSICSSHOCK = "Doom Tournament gives the Enhanced Shock Rifle a similar altfire to its standard counterpart. This option disables that to keep purists happy.";
TOOLTIP_FLAK_UTMOVEMENT = "Changes the movement physics of the player to be more like UT. Be warned that this can break wind pushing / carrying floors.";
TOOLTIP_FLAK_DOOMSPEED = "Keeps the original Doom movement speed.";
TOOLTIP_FLAK_DOOMAIRCONTROL = "Keeps the original low air control of Doom.";
TOOLTIP_FLAK_TAPDODGE = "Enables the \"double-tap dodge\" mechanic. Rapidly pressing the same movement key twice will perform a quick jump in that direction.";
TOOLTIP_FLAK_TAPTICS = "Maximum threshold in game tics between key presses for the dodge.";
TOOLTIP_FLAK_NOBOSSTELEFRAG = "Prevents telefragging boss monsters, which would be very OP.";
TOOLTIP_FLAK_NOWALKDROP = "Prevents player from falling off ledges while walking slowly. This may be a bit glitchy.";
TOOLTIP_FLAK_CORPSEDAMAGE = "Monster corpses can take damage and be gibbed. This is implemented somewhat awkwardly.";
TOOLTIP_FLAK_SWINGERS = "Most weapons in this mod have visual recoil. You can disable this if it makes you uncomfortable.";
TOOLTIP_FLAK_SWINGERSTRENGTH = "Fine-tune the overall scale of visual recoil.";
TOOLTIP_FLAK_RADBOOTS = "Jump Boots will protect from hurting floors as long as they have charge.";
TOOLTIP_FLAK_BLOOD = "Simple blood replacement. Disable if using other gore mods.";
TOOLTIP_FLAK_GIBS = "Enables UT-style gibbing for monsters. Disable if using other gore mods.";
TOOLTIP_FLAK_DOOMTEST = "Prettifies the map by adding in some custom textures, lighting and ambient sounds.";
TOOLTIP_FLAK_INSTAGIB = "No items, Enhanced Shock Rifle only.";
TOOLTIP_FLAK_FLASHSTRENGTH = "Strength of screen flashes from weapon fire.";
TOOLTIP_FLAK_SAWAMMO = "Chainsaw will use ammo. Replenished with fuel cans that can drop from enemies while using other weapons.";
TOOLTIP_FLAK_ZOOMSOUND = "These sound files were found in an old leak. You can guess why they were never used.";
TOOLTIP_FLAK_ZOOMSHADER = "Custom scope shader, just for fancy visuals.";
TOOLTIP_FLAK_VANILLAARMOR = "Disabling this option allows players to keep their body armor and thigh pads while wearing a shield belt.";
[es esm esn esg esc esa esd esv eso esr ess esf esl esy esz esb ese esh esi esu]
/* Obituaries */
@ -422,15 +467,15 @@ FLAK_POPTS = "Opciones de Jugador";
FLAK_UTMOVE = "Activar movimiento de UT";
FLAK_DPSPEED = "Velocidad de jugador de Doom";
FLAK_DACONTROL = "Control en el aire de Doom";
FLAK_WDROPOFF = "Caminar evita caer de bordes (Defectuoso)";
FLAK_WDROPOFF = "Caminar evita caer de bordes";
FLAK_DTDODGE = "Esquivar con doble pulsado";
FLAK_DTSENS = "Sensibilidad de doble pulsado en tics";
FLAK_DTSENS = "Sensibilidad de doble pulsado";
FLAK_HOPTS = "Opciones de HUD";
FLAK_SWBAR = "Mostrar barra de armas";
FLAK_SSDOLL = "Mostrar muñeco de estado";
FLAK_SWBAR = "Mostrar armas";
FLAK_SSDOLL = "Mostrar estado";
FLAK_SFRAGS = "Mostrar bajas";
FLAK_SAMMO = "Mostrar munición";
FLAK_SPINFO = "Mostrar nombres de jugadores";
FLAK_SPINFO = "Mostrar jugadores";
FLAK_HSIZE = "Tamaño de HUD";
FLAK_WSIZE = "Tamaño de barra de armas";
FLAK_DSIZE = "Tamaño de muñeco de estado";
@ -439,12 +484,12 @@ FLAK_CCOLOR = "Color personalizado";
FLAK_HOPAC = "Opacidad de HUD";
FLAK_MSOPTS = "Opciones Misceláneas";
FLAK_UTFOOT = "Sonidos de pasos de UT";
FLAK_BFOOT = "La clase Jefe usa sonidos de pasos propios";
FLAK_BFOOT = "Sonidos de pasos de Robot";
FLAK_UBLOD = "Sangre de UT";
FLAK_UGIB = "Vísceras de UT (inestable)";
FLAK_UCORPS = "Los cadáveres reciben daño (inestable)";
FLAK_UGIB = "Vísceras de UT";
FLAK_UCORPS = "Los cadáveres reciben daño";
FLAK_DTEST = "Editar mapa de pruebas de Kinsie";
FLAK_FSTRENGTH = "Intensidad de destellos en pantalla";
FLAK_FSTRENGTH = "Intensidad de destellos";
FLAK_SAWAMMO = "La motosierra usa combustible";
FLAK_ZSHADER = "Shader de mira de Rifle de Francotirador";
FLAK_ZOOMSND = "Habilitar sonidos de zoom";
@ -464,6 +509,51 @@ FLAK_CLEVEL = "Diseño de Niveles:";
FLAK_CARTNMODEL = "Arte y Modelos:";
FLAK_CMUSNSND = "Música y Sonido:";
FLAK_CBIZ = "Negocios:";
/* menu tooltips */
TOOLTIP_FLAK_PROTOMENU = "Elige qué imagen de fondo usar cuando hay menus abiertos, también cambia la música del menú principal.";
TOOLTIP_FLAK_SHOWMENU = "Muestra una imagen de fondo cuando hay menus abiertos. Puede afectar pantallas de diálogos. No sé como arreglar eso.";
TOOLTIP_FLAK_PULSERELOAD = "El Arma de Impulsos recarga cada 50 disparos, como en las betas.";
TOOLTIP_FLAK_ENFORCERRELOAD = "El Reforzador recarga cada 20 disparos, como el Automag de Unreal.";
TOOLTIP_FLAK_REDEEMERREADOUT = "Marca objetivos cercanos, puede tener un impacto notable en el rendimiento.";
TOOLTIP_FLAK_REDEEMERREADOUT_PERFRAME = "Actualiza la posición de los marcadores cada frame, muy intensivo.";
TOOLTIP_FLAK_COLORPREFS = "Selecciona de donde tomar el color del HUD.";
TOOLTIP_FLAK_COLORCUSTOM = "El color personalizado de tu HUD.";
TOOLTIP_FLAK_OPACITY = "Nivel de opacidad de los componentes del HUD. Completamente opaco a nivel 16.";
TOOLTIP_FLAK_SHOWWEAPONS = "Muestra la barra de armas.";
TOOLTIP_FLAK_SHOWSTATUS = "Muestra el estado de tu armadura, escudo, botas, y otros.";
TOOLTIP_FLAK_SHOWAMMO = "Muestra el contador de munición de tu arma.";
TOOLTIP_FLAK_SHOWFRAGS = "Muestra el contador de enemigos que has eliminado (o tu puntuación en deathmatch).";
TOOLTIP_FLAK_SHOWINFO = "En multijugador, muestra el nombre de otros jugadores cuando les apuntas, junto con su salud si son aliados.";
TOOLTIP_FLAK_HUDSIZE = "Escala general del HUD.";
TOOLTIP_FLAK_WEAPONSIZE = "Escala de la barra de armas.";
TOOLTIP_FLAK_STATUSSIZE = "Escala del muñeco de estado.";
TOOLTIP_FLAK_FOOTSTEPS = "Los jugadores producen sonidos de pasos al moverse. Se recomienda desactivar si otro mod hace lo mismo.";
TOOLTIP_FLAK_BOSSFOOTSTEPS = "En el UT original, el modelo de Jefe no usa sus sonidos de paso exclusivos, los cuales están disponibles con esta opción.";
TOOLTIP_FLAK_TRANSLOCATOR = "Cada jugador recibirá un Translocalizador. Aunque el arma está diseñada para no pasar por líneas que bloquean jugadores, aun puede potencialmente causar problemas con niveles si se usa incorrectamente (igual que saltar/agacharse en mapas vanilla :P).";
TOOLTIP_FLAK_TRANSLOC2K4 = "Da al Translocalizador una pequeña reserva de munición recargable para evitar el spam, como en UT2k4.";
TOOLTIP_FLAK_NOSWITCHDEEMER = "Evita autoseleccionar el Redentor cuando se agota la munición de armas de tier menor. Principalmente para que no te revientes de forma accidental.";
TOOLTIP_FLAK_DEEMERSHADER = "Shader tipo video lo-fi para el Redentor, puede que dificulte la vision.";
TOOLTIP_FLAK_CLASSICSSHOCK = "Doom Tournament le da al Rifle de Choque Mejorado un fuego alternativo similar a su homólogo estándar. Ésta es una opción que lo deshabilita, para puristas.";
TOOLTIP_FLAK_UTMOVEMENT = "Cambia las físicas de movimento del jugador para ser más como UT. Debo advertir que esto puede causar problemas con efectos de viento o suelos con movimiento.";
TOOLTIP_FLAK_DOOMSPEED = "Mantiene la velocidad de movimiento original de Doom.";
TOOLTIP_FLAK_DOOMAIRCONTROL = "Mantiene el bajo control en el aire de Doom.";
TOOLTIP_FLAK_TAPDODGE = "Habilita la mecánica de esquivar con doble pulsado. Pulsar rápidamente la misma tecla de movimiento dos veces resultará en un salto rápido en esa dirección.";
TOOLTIP_FLAK_TAPTICS = "Margen máximo en tics entre pulsado de teclas para esquivar.";
TOOLTIP_FLAK_NOBOSSTELEFRAG = "Previene telecargarse a jefes, lo cual estaría rotísimo.";
TOOLTIP_FLAK_NOWALKDROP = "Evita que los jugadores caigan por bordes cuando caminan lentamente. Esto puede ser un poco inconsistente.";
TOOLTIP_FLAK_CORPSEDAMAGE = "Los cadáveres de monstruos pueden recibir daño. Esto está implementado de una forma algo pobre.";
TOOLTIP_FLAK_SWINGERS = "La mayoría de armas en este mod tienen un efecto visual de retroceso. Puedes desactivarlo si resulta incómodo.";
TOOLTIP_FLAK_SWINGERSTRENGTH = "Ajusta la escala del retroceso visual.";
TOOLTIP_FLAK_RADBOOTS = "Las botas de salto protegerán de suelos dañinos mientras tengan carga..";
TOOLTIP_FLAK_BLOOD = "Simple reemplazo de sangre. Desactiva si usas otros mods de gore..";
TOOLTIP_FLAK_GIBS = "Habilita vísceras tipo UT para monstruos. Desactiva si usas otros mods de gore.";
TOOLTIP_FLAK_DOOMTEST = "Embellece el mapa añadiendo unas cuantas texturas personalizadas, luces y sonidos de ambiente.";
TOOLTIP_FLAK_INSTAGIB = "Sin items, sólo Rifle de Choque Mejorado.";
TOOLTIP_FLAK_FLASHSTRENGTH = "Intensidad de los destellos en pantalla al disparar armas.";
TOOLTIP_FLAK_SAWAMMO = "La motosierra usará munición. Se reabastece con botes de combustible que pueden dropear de enemigos mientras usas otras armas.";
TOOLTIP_FLAK_ZOOMSOUND = "Estos archivos de sonido fueron encontrados en una vieja version filtrada. Puedes notar por que nunca fueron usados.";
TOOLTIP_FLAK_ZOOMSHADER = "Shader personalizado para la mira, solo por quedar bonito.";
TOOLTIP_FLAK_VANILLAARMOR = "Desactivar esta opción permite a los jugadores mantener la armadura y musleras mientras usan un escudo protector.";
[fr]

View file

@ -12,6 +12,7 @@ OptionValue "ColorPrefs"
}
OptionMenu "UTOptionMenu"
{
Class "UTOptionMenu"
Title "$FLAK_MTITLE"
StaticText "$FLAK_MOPTS", "Gold"

View file

@ -84,3 +84,67 @@ Class UTMessageBox : MessageBoxMenu
mMessage = textFont.BreakLines(Stringtable.Localize(message),generic_ui?600:300);
}
}
// Option Menu with tooltips at bottom
Class UTOptionMenu : OptionMenu
{
private String ttip;
override void Ticker()
{
Super.Ticker();
// fetch the tooltip for whatever's selected (if any)
if ( mDesc.mSelectedItem == -1 ) return;
String mcvar = mDesc.mItems[mDesc.mSelectedItem].GetAction();
mcvar.Replace(" ","_"); // need to strip whitespace for command actions
String locstr = String.Format("TOOLTIP_%s",mcvar);
ttip = StringTable.Localize(locstr,false);
if ( ttip == locstr ) ttip = "";
}
override void Drawer()
{
Super.Drawer();
if ( ttip == "" ) return;
// re-evaluate y to check where the cursor is
int cy = 0;
int y = mDesc.mPosition;
if ( y <= 0 )
{
let font = generic_ui||!mDesc.mFont?NewSmallFont:mDesc.mFont;
if ( font && (mDesc.mTitle.Length() > 0) )
y = -y+font.GetHeight();
else y = -y;
}
int fontheight = OptionMenuSettings.mLinespacing*CleanYfac_1;
y *= CleanYfac_1;
int lastrow = Screen.GetHeight()-OptionHeight()*CleanYfac_1;
for ( int i=0; ((i < mDesc.mItems.Size()) && (y <= lastrow)); i++ )
{
// Don't scroll the uppermost items
if ( i == mDesc.mScrollTop )
{
i += mDesc.mScrollPos;
if ( i >= mDesc.mItems.Size() ) break; // skipped beyond end of menu
}
y += fontheight;
if ( mDesc.mSelectedItem == i )
{
cy = y;
break;
}
}
let fnt = Font.GetFont('UTFont12');
let lines = fnt.BreakLines(ttip,CleanWidth_1-8);
int height = (8+fnt.GetHeight()*lines.Count())*CleanYFac_1;
// draw at the bottom unless the selected option could is covered by the tooltip
int ypos = Screen.GetHeight()-height;
if ( cy >= ypos ) ypos = 0;
Screen.Dim("Black",.75,0,ypos,Screen.GetWidth(),height);
ypos += 4*CleanYFac_1;
for ( int i=0; i<lines.Count(); i++ )
{
Screen.DrawText(fnt,Font.CR_WHITE,4*CleanXFac_1,ypos,lines.StringAt(i),DTA_CleanNoMove_1,true);
ypos += fnt.GetHeight()*CleanYFac_1;
}
}
}