diff --git a/Readme.md b/Readme.md index d009864..946b3ac 100644 --- a/Readme.md +++ b/Readme.md @@ -73,7 +73,10 @@ This mod requires GZDoom 4.2.4 or later, and runs on top of Doom Tournament. ## In progress - - N/A, this is the 1.0.6 release. + - Tooltips for options. + - Extension to the Translator so it can show item descriptions and whatnot + when picking them up. Give it some usability for normal gameplay. Could + eventually extend this further to make it more like Serious Sam's NETRICSA. ## Planned diff --git a/cvarinfo.txt b/cvarinfo.txt index 0706b01..3638c60 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -1,11 +1,11 @@ -user int stinger_hudmode = 0; // hud mode +user int sting_hudmode = 0; // hud mode // 0 - full, large numbers, cummulative armor // 1 - full, small numbers, individial armor // 2 - all on bottom // 3 - bottom corners only, no numbers // 4 - minimal display on bottom right corner // 5 - minimalistic top hud from 0.871 and up -user int stinger_introtype = 0; // 0 - unreal '98 +user int sting_introtype = 0; // 0 - unreal '98 // 1 - unreal '97 // 2 - unreal '96 // 3 - unreal '95 diff --git a/language.txt b/language.txt index e5ace4c..47b2543 100644 --- a/language.txt +++ b/language.txt @@ -221,7 +221,7 @@ S_MINHUD2 = "Health %d Score %d Ammo %d/%d"; STING_MTITLE = "Unreal Options"; STING_HOPTS = "HUD Options"; STING_HUDMODE = "HUD mode"; -STING_TRANSEXT = "Extended Translator (fits more text)"; +STING_TRANSEXT = "Extended Translator"; STING_INTRO = "Intro type"; STING_UNREAL98 = "Unreal '98"; STING_UNREAL97 = "Unreal '97"; @@ -236,29 +236,29 @@ STING_STINGERB = "Stinger projectiles bounce"; STING_RIFLE = "Rifle burst altfire"; STING_RIFLEL = "Rifle flashlight"; STING_RAZOR = "Razorjack charging"; -STING_EHOLD = "Loaded Eightball can be held for 2 seconds"; -STING_BHOLD = "Charged Biorifle can be held for 2 seconds"; +STING_EHOLD = "Loaded Eightball hold"; +STING_BHOLD = "Charged Biorifle hold"; STING_DOPTS = "Weapon dual wielding"; STING_AUTODUAL = "Automags"; STING_PROTODUAL = "Protomags"; STING_UOPTS = "Compatibility options"; -STING_DPISTOL = "Dispersion Pistol altfire isn't upgraded"; -STING_PSHIELD = "Power Shield works like in Unreal"; -STING_PSHIELD2 = "Unreal style Power Shield does not drain over time"; -STING_NOPSTART = "Players don't start up with an Automag"; -STING_OLSMP = "Enable SMP 7243 from Oldskool Amp'd"; -STING_MSENTRY = "Enable new Minigun Sentry"; +STING_DPISTOL = "Vanilla Dispersion Pistol alt"; +STING_PSHIELD = "Vanilla Power Shield"; +STING_PSHIELD2 = "No drain with vanilla Power Shield"; +STING_NOPSTART = "No starting Automag"; +STING_OLSMP = "Enable SMP 7243"; +STING_MSENTRY = "Enable Minigun Sentry"; STING_ABONUS = "Enable Armor Bonus"; -STING_DUBIOUS = "Enable Demolisher, Razorclaw and Autocannon"; -STING_ZSHADER = "Enable Rifle scope shader"; +STING_DUBIOUS = "Enable dubious weapons"; +STING_ZSHADER = "Enable Rifle shader"; STING_QOPTS = "Convenience features"; -STING_AUTOSCUBA = "Automatic SCUBA Gear toggling"; -STING_RAZORAIM = "Razorjack altfire follows the crosshair"; -STING_BIOSPLASH = "Biorifle altfire splashes like in UT"; -STING_FLAMETSPREAD = "Flamethrower fire spreads between targets"; -STING_IMPSELF = "Impaler beam cannot hurt user"; -STING_ALLSUITS = "Can wear all suits simultaneously"; -STING_PEACEHOME = "Peacemaker missiles ignore owner and allies"; +STING_AUTOSCUBA = "Automatic SCUBA Gear"; +STING_RAZORAIM = "More precise Razorjack alt"; +STING_BIOSPLASH = "Biorifle alt like UT"; +STING_FLAMETSPREAD = "Flamethrower fire spreads"; +STING_IMPSELF = "No Impaler beam self-damage"; +STING_ALLSUITS = "Can wear all suits"; +STING_PEACEHOME = "No Peacemaker friendly fire"; STING_MCREDS = "Unreal Credits"; STING_CDR = "Doomreal"; STING_CLEAD = "Development Lead:"; @@ -278,6 +278,38 @@ STING_CGT = "Producer for GT:"; STING_CBIZ = "Biz:"; STING_KEYS = "Doomreal"; STING_USETRANS = "Use Translator"; +/* Menu tooltips */ +TOOLTIP_STING_INTROTYPE = "Select which intro you'd like to see in the title screen. Each of these is inspired by Unreal's state at various points in development."; +TOOLTIP_STING_HUDMODE = "Pick the Fullscreen HUD style you prefer. Style 5 is unique to this mod and replicates the HUD as it was in some builds."; +TOOLTIP_STING_TELEGUN = "All players are given teleport capsules. This weapon works almost identically like the translocator."; +TOOLTIP_STING_FLARES = "All players have infinite use (with cooldown) light and dark flares. These serve not much of a purpose and are merely added just for the sake of completeness. Originally, they were meant to be used to show off dynamic lighting in Unreal Engine."; +TOOLTIP_STING_STINGER = "Rather than fully dealing direct damage, the Stinger instead pumps targets with an explosive tarydium radiation charge with each hit (which wears off slowly over time). Any targets in this state that are struck by other weapons or receive fall damage will detonate (very spectacularly if it's done with an energy weapon). This was described both in the Unreal Bible and the novels, as well as also being implemented in very early builds."; +TOOLTIP_STING_STINGERB = "Stinger projectiles will bounce off surfaces when not hit straight on, up to 3 times. This behaviour was implemented in early builds and eventually got removed, probably by accident."; +TOOLTIP_STING_RIFLE = "Replaces the secondary fire with a rapid three-shot burst, as seen in early footage."; +TOOLTIP_STING_RIFLEL = "The Rifle will have a built-in flashlight toggled by pressing reload. This was available in some early builds."; +TOOLTIP_STING_RAZOR = "Hold the fire button to charge the shot, up to a maximum of double the speed and damage."; +TOOLTIP_STING_AUTOMAGS = "Allows dual wielding Automags just like you would Enforcers, this has a major increase in damage, but also in spread. This feature was first implemented in Oldskool Amp'd and it was already clear since then that this is way too overpowered."; +TOOLTIP_STING_PROTOMAGS = "Allows dual wielding Protomags too. This is even more overpowered, and the increase in spread much more pronounced."; +TOOLTIP_STING_DPISTOL = "In vanilla Unreal, the altfire projectile for the Dispersion Pistol is always level 1, making it lose its usefulness as the weapon is upgraded."; +TOOLTIP_STING_PSHIELD = "For Purists. The Power Shield in Doomreal acts more like what an Invulnerability replacement should, but this restores the vanilla behaviour of working just like the Shield Belt."; +TOOLTIP_STING_PSHIELD2 = "The code for the Power Shield shows that it might have been meant to lose charge over time, however this never happened due to changes later on."; +TOOLTIP_STING_NOPSTART = "In normal Unreal gameplay, your only starting weapon would usually be the Dispersion Pistol alone."; +TOOLTIP_STING_TRANSEXT = "This was something that a lot of custom campaigns did so they could fit much more text into messages. The quality of the extended graphic wasn't really very good in most cases."; +TOOLTIP_STING_OLSMP = "Since there was no Redeemer equivalent in Unreal, Oldskool Amp'd replaced it with this. I decided to take some creative freedom with my own version of it. At least it doesn't suck."; +TOOLTIP_STING_MSENTRY = "A little bonus of sorts, a completely original item. This portable sentry will be a good companion in your adventures, and much more reliable than its smaller counterpart."; +TOOLTIP_STING_ABONUS = "Like UT, Unreal also doesn't have anything like armor bonuses, so this is here as an option if you're not happy with them just becoming flares."; +TOOLTIP_STING_DUBIOUS = "This option will allow three weapons that are of somewhat uncomfirmed relation to Unreal itself: The Razorclaw, Demolisher and Autocannon. They are based on incomplete models found in meshing tools distributed to early licensees. I pretty much improvised the names and behaviours, and in some cases also the textures."; +TOOLTIP_STING_AUTOSCUBA = "Automatically toggle the SCUBA gear when entering and leaving water."; +TOOLTIP_STING_EHOLD = "As described in the Unreal Bible, allows an extra two seconds of holding six Eightballs before the weapon autofires."; +TOOLTIP_STING_BHOLD = "As described in the Unreal Bible, allows an extra two seconds of holding a fully charged Biorifle glob before it autofires."; +TOOLTIP_STING_RAZORAIM = "Normally the Razorjack altfire uses a very odd and unintuitive method for steering the blades. I'm pretty sure a lot of people don't like this, so I added this option to make them fly towards the spot you're aiming at."; +TOOLTIP_STING_BIOSPLASH = "Compared to its UT counterpart, the Unreal Biorifle had a rather underwhelming altfire. This makes it work the same way as UT."; +TOOLTIP_STING_FLAMETSPREAD = "Allows things on fire to spread the flames to nearby targets, for extra fun. Bear in mind that it may lead to performance issues with lots of enemies."; +TOOLTIP_STING_IMPSELF = "As the Impaler's beam reflects off surfaces, it may sometimes hit you. You can enable this if you don't like that."; +TOOLTIP_STING_ZOOMSHADER = "Uses a shader to draw a scope overlay for the Rifle's zoom."; +TOOLTIP_STING_PROTO = "Global switch to allow all sorts of non-standard features and items not in the final game. Disable this if you only want the \"pure\" Unreal experience."; +TOOLTIP_STING_ALLSUITS = "Normally, the three suit items will replace each other when picked up. This disables that so you can wear them all, as uncomfortable as that sounds."; +TOOLTIP_STING_PEACEHOME = "In vanilla, Peacemaker missiles will home in on pretty much anything they find, including yourself. This corrects that blatantly flawed behaviour."; [es esm esn esg esc esa esd esv eso esr ess esf esl esy esz esb ese esh esi esu] /* Obituaries */ @@ -473,7 +505,7 @@ S_MINHUD2 = "Salud %d Puntuación %d Munición %d/%d"; STING_MTITLE = "Opciones de Unreal"; STING_HOPTS = "Opciones de HUD"; STING_HUDMODE = "Modo de HUD"; -STING_TRANSEXT = "Traductor extendido (cabe más texto)"; +STING_TRANSEXT = "Traductor extendido"; STING_INTRO = "Tipo de intro"; STING_POPTS = "Características de prototipo"; STING_PROTO = "Habilitar contenido de prototipo"; @@ -484,29 +516,29 @@ STING_STINGERB = "Los projectiles del Arma Aguijón rebotan"; STING_RIFLE = "Fuego alternativo en ráfaga de Rifle"; STING_RIFLEL = "Linterna de Rifle"; STING_RAZOR = "Carga de Razorjack"; -STING_EHOLD = "El Eightball se puede mantener cargado por 2 segundos"; -STING_BHOLD = "El Biorifle se puede mantener cargado por 2 segundos"; +STING_EHOLD = "Mantener carga de Eightball"; +STING_BHOLD = "Mantener carga de Biorifle"; STING_DOPTS = "Armas a dos manos"; STING_AUTODUAL = "Autoarmas"; STING_PROTODUAL = "Protoarmas"; STING_UOPTS = "Opciones de compatibilidad"; -STING_DPISTOL = "El fuego alternativo de la Pistola de Dispersión no es mejorado"; -STING_PSHIELD = "El Escudo de Fuerza funciona como en Unreal"; -STING_PSHIELD2 = "El Escudo de Fuerza en modo Unreal no se gasta con el tiempo"; -STING_NOPSTART = "Los jugadores no empiezan la partida con un Automag"; -STING_OLSMP = "Habilitar SMP 7243 de Oldskool Amp'd"; -STING_MSENTRY = "Habilitar nueva Torreta"; +STING_DPISTOL = "Fuego alternativo original de la Pistola de Dispersión"; +STING_PSHIELD = "Escudo de Fuerza original"; +STING_PSHIELD2 = "El Escudo de Fuerza original no se gasta con el tiempo"; +STING_NOPSTART = "Los jugadores no empiezan con Automag"; +STING_OLSMP = "Habilitar SMP 7243"; +STING_MSENTRY = "Habilitar Torreta"; STING_ABONUS = "Habilitar Armadura Extra"; -STING_DUBIOUS = "Habilitar Demoledor, Garra y Autocañón"; +STING_DUBIOUS = "Habilitar Armas de Orígen Dudoso"; STING_ZSHADER = "Habilitar shader de mira de Rifle"; STING_QOPTS = "Características de comodidad"; STING_AUTOSCUBA = "Uso automático de Kit de Buceo"; -STING_RAZORAIM = "El fuego alt. del Razorjack sigue el punto de mira"; -STING_BIOSPLASH = "El fuego alt. del Biorifle salpica como en UT"; -STING_FLAMETSPREAD = "El fuego del Lanzallamas se propaga entre objetivos"; +STING_RAZORAIM = "Fuego alt. preciso de Razorjack"; +STING_BIOSPLASH = "Fuego alt. de Biorifle como en UT"; +STING_FLAMETSPREAD = "Propagar fuego del Lanzallamas"; STING_IMPSELF = "El haz del Empalador no daña al usuario"; -STING_ALLSUITS = "Permitir uso de todos los trajes al mismo tiempo"; -STING_PEACEHOME = "Los misiles Peacemaker ignoran al usuario y aliados"; +STING_ALLSUITS = "Permitir uso de todos los trajes"; +STING_PEACEHOME = "Desactivar fuego amigo de misiles Peacemaker"; STING_MCREDS = "Créditos de Unreal"; STING_CDR = "Doomreal"; STING_CLEAD = "Desarrolladora Jefe:"; @@ -525,6 +557,38 @@ STING_CSND = "Efectos de Sonido:"; STING_CGT = "Productor para GT:"; STING_CBIZ = "Negocios:"; STING_USETRANS = "Usar Traductor"; +/* Menu tooltips */ +TOOLTIP_STING_INTROTYPE = "Selecciona que intro prefieres ver en la pantalla en título. Cada uno de estos está inspirado en el estado de Unreal en varios puntos de su desarrollo."; +TOOLTIP_STING_HUDMODE = "Elige el estilo de HUD a pantalla completa que prefieres. El estilo 5 es único en este mod e imita el HUD tal y como era en algunos prototipos."; +TOOLTIP_STING_TELEGUN = "Todos los jugadores reciben Cápsulas de Teletransporte. Funcionan casi exactamente como el Translocalizador de UT."; +TOOLTIP_STING_FLARES = "Todos los jugadores tienen bengalas de luz y sombra de uso infinito (con tiempo de recarga). No tienen mucha razón de existir y han sido añadidas simplemente para completar. Originalmente, su propósito era demostrar la iluminacion dinámica de Unreal Engine."; +TOOLTIP_STING_STINGER = "En lugar de causar solamente daño directo, el Arma Aguijón inyectará una carga explosiva de radiación de Tarydium con cada disparo (la cual se disipará lentamente). Cualquier objetivo en este estado que reciba daño de otras armas o por caída detonará (de forma muy expectacular si es por armas de energía). Esto fue descrito en la Biblia de Unreal y las novelas oficiales, y tambien implementado en versiones muy tempranas del juego."; +TOOLTIP_STING_STINGERB = "Los proyectiles del Arma Aguijón rebotarán hasta 3 veces en superficies si no es un impacto directo. Esta característica fue implementada en versiones muy tempranas y finalmente fue descartada, probablemente de forma accidental."; +TOOLTIP_STING_RIFLE = "Reemplaza el fuego secundario del Rifle con tres disparos rápidos, tal y como se puede ver en algunos videos antiguos."; +TOOLTIP_STING_RIFLEL = "El Rifle tendrá una linterna activada por el botón de recargar. Esto estaba disponible en algunas versiones tempranas."; +TOOLTIP_STING_RAZOR = "Manten pulsado el botón primario para cargar el disparo, llegando hasta el doble de daño y velocidad."; +TOOLTIP_STING_AUTOMAGS = "Permite usar dos Automags igual que los Reforzadores, incrementando considerablemente el daño, pero empeorando la puntería. Esta característica fue implementada por primera vez en Oldskool Amp'd y ya desde entonces estaba claro que esto está rotísimo."; +TOOLTIP_STING_PROTOMAGS = "Permite usar dos Protomags también. Esto está muchísimo mas roto, pero dificulta mucho más apuntar."; +TOOLTIP_STING_DPISTOL = "Originalmente en Unreal el fuego secundario de la Pistola de Dispersión se mantenía a nivel 1, haciendo que perdiera su utilidad a medida que se mejoraba el arma."; +TOOLTIP_STING_PSHIELD = "Para puristas. El Escudo de Fuerza en Doomreal funciona más como debería un reemplazo de la Invulnerabilidad, pero esto restaura el comportamiento original idéntico al Cinturón Protector."; +TOOLTIP_STING_PSHIELD2 = "El código del Escudo de Fuerza en Unreal muestra que podría haber perdido carga con el tiempo, sin embargo esto nunca pasó debido a cambios posteriores."; +TOOLTIP_STING_NOPSTART = "Normalmente en Unreal todos los jugadores empiezan solamente con la Pistola de Dispersión y nada más."; +TOOLTIP_STING_TRANSEXT = "Esto es algo que muchas campañas personalizadas hicieron para poder meter más texto en los mensajes. La calidad del gráfico extendido no era muy buena en muchos casos."; +TOOLTIP_STING_OLSMP = "Al no haber un equivalente del Redentor en Unreal, Oldskool Amp'd lo reemplazó con esto. He decidido tomarme algunas libertades creativas con mi propia version. Al menos no es una broza."; +TOOLTIP_STING_MSENTRY = "Un pequeño extra por decirlo así, un item completamente original. Esta torreta portátil será un buen compañero en tus aventuras, y mucho más fiable que su homólogo pequeñajo."; +TOOLTIP_STING_ABONUS = "Al igual que UT, Unreal tampoco tiene nada que se parezca a la armadura extra, así que esto está aquí opcionalmente si no te gusta que se convierta toda en bengalas."; +TOOLTIP_STING_DUBIOUS = "Esta opción permitirá tres armas cuya relación con Unreal no está exactamente confirmada: La Garra Cortadora, el Demoledor y el Autocañón. Están basadas en modelos incompletos encontrados en herramientas de modelado distribuidas a terceros. He improvisado los nombres y funcionamiento, y en algunos casos las texturas también."; +TOOLTIP_STING_AUTOSCUBA = "Activa el Kit de Buceo automáticamente al entrar y salir del agua."; +TOOLTIP_STING_EHOLD = "Tal y como describe la Biblia de Unreal, permite dos segundos extra manteniendo seis cohetes Eightball antes del fuego automático."; +TOOLTIP_STING_BHOLD = "Tal y como describe la Biblia de Unreal, permite dos segundos extra manteniendo una carga completa de lodo de Biorifle antes del fuego automático."; +TOOLTIP_STING_RAZORAIM = "Normalmente el fuego secundario del Razorjack usa un método extraño y poco intuitivo para dirigir las cuchillas. Creo que esto no gusta a mucha gente, así que he añadido la opción de hacer que vuelen hacia el punto al que estés apuntando."; +TOOLTIP_STING_BIOSPLASH = "Comparado a su homólogo de UT, el Biorifle de Unreal tiene un fuego secundario no muy llamativo. Esto hace que funcione igual que en UT."; +TOOLTIP_STING_FLAMETSPREAD = "Permite que las llamas se propaguen entre objetos cercanos, para mayor diversión. Ten en cuenta que esto puede causar problemas de rendimiento con muchos enemigos."; +TOOLTIP_STING_IMPSELF = "Al reflejarse en superficies, el haz del Empalador puede dañar al usuario. Si esto te parece muy molesto puedes desactivarlo."; +TOOLTIP_STING_ZOOMSHADER = "Usa un shader para mostrar un efecto de mira para el zoom del Rifle."; +TOOLTIP_STING_PROTO = "Opción global para permitir toda clase de contenido y características no estándar que no se encuentran en el juego final. Desactiva esto si solo quieres una experiencia \"pura\" de Unreal."; +TOOLTIP_STING_ALLSUITS = "Normalmente, los tres trajes se reemplazan mútuamente. Esto deshabilita esa funcionalidad para que te los puedas poner todos, por muy incómodo que suene."; +TOOLTIP_STING_PEACEHOME = "Originalmente, los misiles Peacemaker atacarán cualoquier cosa que encuentren, incluyéndote a ti. Esto corrije tal comportamiento obviamente mal hecho."; [fr] diff --git a/menudef.txt b/menudef.txt index 60c3333..af1d420 100644 --- a/menudef.txt +++ b/menudef.txt @@ -8,9 +8,10 @@ OptionValue "IntroTypeMenu" OptionMenu "UnrealOptionMenu" { + Class "UTOptionMenu" Title "$STING_MTITLE" - Option "$STING_INTRO", "stinger_introtype", "IntroTypeMenu" + Option "$STING_INTRO", "sting_introtype", "IntroTypeMenu" Command "$FLAK_APPLY", "event refreshmenu" StaticText " " StaticText "$STING_HOPTS", "Gold" @@ -19,7 +20,7 @@ OptionMenu "UnrealOptionMenu" StaticText " " StaticText " " StaticText " " - Slider "$STING_HUDMODE", "stinger_hudmode", 0, 5, 1, 0 + Slider "$STING_HUDMODE", "sting_hudmode", 0, 5, 1, 0 Option "$STING_TRANSEXT", "sting_transext", "YesNo" StaticText " " StaticText "$STING_POPTS", "Gold" diff --git a/zscript/unrealcommon.zsc b/zscript/unrealcommon.zsc index c785590..1135200 100644 --- a/zscript/unrealcommon.zsc +++ b/zscript/unrealcommon.zsc @@ -859,7 +859,7 @@ Class UnrealStaticHandler : StaticEventHandler ui void StartMenu() { - CVar protomenu = CVar.GetCVar('stinger_introtype',players[consoleplayer]); + CVar protomenu = CVar.GetCVar('sting_introtype',players[consoleplayer]); if ( !protomenu ) return; // this can happen int proto = protomenu.GetInt(); tex[0] = TexMan.CheckForTexture("graphics/UnLogo0.png",TexMan.Type_Any); diff --git a/zscript/unrealhud.zsc b/zscript/unrealhud.zsc index a59f2dc..8d623b2 100644 --- a/zscript/unrealhud.zsc +++ b/zscript/unrealhud.zsc @@ -139,7 +139,7 @@ Class UnrealHUD : BaseStatusBar { Super.Draw(state,TicFrac); FracTic = TicFrac; - HudMode = CVar.GetCVar('stinger_hudmode',players[consoleplayer]).GetInt(); + HudMode = CVar.GetCVar('sting_hudmode',players[consoleplayer]).GetInt(); scalev.x = scalev.y = CVar.GetCVar('hud_scale',players[consoleplayer]).GetInt(); if ( scalev.x < 0 ) scalev.x = scalev.y = max(1,min(Screen.GetWidth()/640.,Screen.GetHeight()/480.)); // the typical behavior is scaling to 640x400 but we're expecting 4:3 here else if ( scalev.x == 0 ) diff --git a/zscript/unrealmenus.zsc b/zscript/unrealmenus.zsc index 11e491c..58e0770 100644 --- a/zscript/unrealmenus.zsc +++ b/zscript/unrealmenus.zsc @@ -119,7 +119,7 @@ Class OptionMenuItemHudType : OptionMenuItem OptionMenuItemHudType Init( String label ) { Super.Init(label,"",true); - mCVar = CVar.FindCVar('stinger_hudmode'); + mCVar = CVar.FindCVar('sting_hudmode'); tex[0] = TexMan.CheckForTexture("graphics/Hud1.png",TexMan.Type_Any); tex[1] = TexMan.CheckForTexture("graphics/Hud2.png",TexMan.Type_Any); tex[2] = TexMan.CheckForTexture("graphics/Hud3.png",TexMan.Type_Any);