diff --git a/cvarinfo.base b/cvarinfo.base index cdbc78aea..c02a6890e 100644 --- a/cvarinfo.base +++ b/cvarinfo.base @@ -32,7 +32,7 @@ nosave bool swwm_shaders = true; // use pp shaders for some effects nosave bool swwm_earbuster = false; // limits loudness of wallbuster fire sounds server bool swwm_revive = true; // allows the player to do an "emergency reboot" when dying server int swwm_revivecooldown = 60; // cooldown after using a revive, in seconds (0: no limit) -nosave bool swwm_interart = true; // show fanart on intermissions +nosave int swwm_interart = 1; // show art on intermissions (2: only fanart, 3: only official renders) server bool swwm_balluse = true; // lead ball can "press" switches remotely nosave bool swwm_bosshealthbars = true; // display large healthbars for vanilla boss encounters server bool swwm_upgradebosses = true; // vanilla bosses will be "upgraded" to be less insta-die prone diff --git a/gldefs.misc b/gldefs.misc index 91d6f8cd4..26b7a81bd 100644 --- a/gldefs.misc +++ b/gldefs.misc @@ -112,6 +112,34 @@ HardwareShader Texture "graphics/Fanart/Marisa7.jpg" { Shader "shaders/glsl/Bilinear.fp" } +HardwareShader Texture "graphics/Fanart/Marisa8.jpg" +{ + Shader "shaders/glsl/Bilinear.fp" +} +HardwareShader Texture "graphics/Fanart/Marisa9.jpg" +{ + Shader "shaders/glsl/Bilinear.fp" +} +HardwareShader Texture "graphics/Fanart/Marisa10.jpg" +{ + Shader "shaders/glsl/Bilinear.fp" +} +HardwareShader Texture "graphics/Fanart/Marisa11.jpg" +{ + Shader "shaders/glsl/Bilinear.fp" +} +HardwareShader Texture "graphics/Fanart/Marisa12.jpg" +{ + Shader "shaders/glsl/Bilinear.fp" +} +HardwareShader Texture "graphics/Fanart/Marisa13.jpg" +{ + Shader "shaders/glsl/Bilinear.fp" +} +HardwareShader Texture "graphics/Fanart/Marisa14.jpg" +{ + Shader "shaders/glsl/Bilinear.fp" +} HardwareShader Texture "graphics/Fanart/RedeadITA.png" { Shader "shaders/glsl/Oversample.fp" diff --git a/graphics/Fanart/Marisa10.jpg b/graphics/Fanart/Marisa10.jpg new file mode 100644 index 000000000..3b518b166 Binary files /dev/null and b/graphics/Fanart/Marisa10.jpg differ diff --git a/graphics/Fanart/Marisa11.jpg b/graphics/Fanart/Marisa11.jpg new file mode 100644 index 000000000..79158e341 Binary files /dev/null and b/graphics/Fanart/Marisa11.jpg differ diff --git a/graphics/Fanart/Marisa12.jpg b/graphics/Fanart/Marisa12.jpg new file mode 100644 index 000000000..6a5959648 Binary files /dev/null and b/graphics/Fanart/Marisa12.jpg differ diff --git a/graphics/Fanart/Marisa13.jpg b/graphics/Fanart/Marisa13.jpg new file mode 100644 index 000000000..a1cf45283 Binary files /dev/null and b/graphics/Fanart/Marisa13.jpg differ diff --git a/graphics/Fanart/Marisa14.jpg b/graphics/Fanart/Marisa14.jpg new file mode 100644 index 000000000..fe1e31e21 Binary files /dev/null and b/graphics/Fanart/Marisa14.jpg differ diff --git a/graphics/Fanart/Marisa8.jpg b/graphics/Fanart/Marisa8.jpg new file mode 100644 index 000000000..fdea42e4d Binary files /dev/null and b/graphics/Fanart/Marisa8.jpg differ diff --git a/graphics/Fanart/Marisa9.jpg b/graphics/Fanart/Marisa9.jpg new file mode 100644 index 000000000..b58e0a09f Binary files /dev/null and b/graphics/Fanart/Marisa9.jpg differ diff --git a/language.def_base b/language.def_base index d876b08db..0b46aef1b 100644 --- a/language.def_base +++ b/language.def_base @@ -1085,7 +1085,7 @@ SWWM_INTERTIP149 = "Always take breaks during long play sessions. You'll play be SWWM_INTERTIP150 = "This is the 150th tip. I can't believe I've written so many of them."; // intermission fanart SWWM_FANART = "Art: "; -SWWM_NFANART = "14"; +SWWM_NFANART = "21"; SWWM_FANART1 = "S20TBL.jpg;Substance20 (@S20_TBL)"; SWWM_FANART2 = "CaptainJ.png;Captain J (@Jho7835)"; SWWM_FANART3 = "RedeadITA.png;Redead-ITA"; @@ -1100,6 +1100,13 @@ SWWM_FANART11 = "Marisa4.jpg"; SWWM_FANART12 = "Marisa5.jpg"; SWWM_FANART13 = "Marisa6.jpg"; SWWM_FANART14 = "Marisa7.jpg"; +SWWM_FANART15 = "Marisa8.jpg"; +SWWM_FANART16 = "Marisa9.jpg"; +SWWM_FANART17 = "Marisa10.jpg"; +SWWM_FANART18 = "Marisa11.jpg"; +SWWM_FANART19 = "Marisa12.jpg"; +SWWM_FANART20 = "Marisa13.jpg"; +SWWM_FANART21 = "Marisa14.jpg"; // achievements SWWM_ACHIEVEMENT_ACID_TAG = "Fizzy Goodness"; SWWM_ACHIEVEMENT_ACID_TXT = "Melt %d enemies with Telebrium Flechettes"; diff --git a/language.def_menu b/language.def_menu index 13567ad46..c124c758b 100644 --- a/language.def_menu +++ b/language.def_menu @@ -75,6 +75,8 @@ SWWM_UNLIMITED = "Unlimited"; SWWM_ONERETRY = "One Retry"; SWWM_NONE = "None"; SWWM_INTERART = "Intermission Art"; +SWWM_NORENDER = "Yes (Fanart Only)"; +SWWM_NOFANART = "Yes (Renders Only)"; SWWM_BALLUSE = "Lead Balls can Activate Switches"; SWWM_BOSSBAR = "Show Boss Healthbars"; SWWM_BTITLE = "Balance Options"; @@ -288,7 +290,7 @@ TOOLTIP_SWWM_SHADERS = "Use postprocess shaders for things like powerups and the TOOLTIP_SWWM_OTHERVOICE = "Allows you to hear other player's voice lines, provided you're close enough."; TOOLTIP_SWWM_REVIVE = "Allows the player to get back up after dying by pressing Fire. Has a configurable cooldown."; TOOLTIP_SWWM_REVIVECOOLDOWN = "Time in seconds of downtime after using a reboot, where if you die again, you can't get back up. Set to 0 to allow unlimited reboots. Alternatively, you can also set it to only allow one reboot per map (enforced on expert difficulties)."; -TOOLTIP_SWWM_INTERART = "If enabled, displays randomly selected fanart during intermissions."; +TOOLTIP_SWWM_INTERART = "If enabled, displays randomly selected fanart and official renders during intermissions. There are extra options to only show each category."; TOOLTIP_SWWM_BALLUSE = "Lead Ball projectiles can remotely activate use switches (excluding exits). Potentially OP."; TOOLTIP_SWWM_BOSSHEALTHBARS = "Show a healthbar for vanilla boss encounters at the bottom of the screen. Just like Dark Souls™!"; TOOLTIP_SWWM_UPGRADEBOSSES = "Buffs the health of vanilla bosses in order to make the fights more \"fair\" with this mod, and less prone to instant wins."; diff --git a/language.es_menu b/language.es_menu index 1d6b000d3..3d680ca3e 100644 --- a/language.es_menu +++ b/language.es_menu @@ -75,6 +75,8 @@ SWWM_UNLIMITED = "Ilimitado"; SWWM_ONERETRY = "Un Reintento"; SWWM_NONE = "Ninguno"; SWWM_INTERART = "Arte de Intermisión"; +SWWM_NORENDER = "Sí (Sólo Fanart)"; +SWWM_NOFANART = "Sí (Sólo Renders)"; SWWM_BALLUSE = "Las Bolas de Plomo Activan Botones"; SWWM_BOSSBAR = "Mostrar Barras de Salud de Bosses"; SWWM_BTITLE = "Opciones de Balance"; @@ -287,7 +289,7 @@ TOOLTIP_SWWM_SHADERS = "Usa shaders de postprocesado para cosas como potenciador TOOLTIP_SWWM_OTHERVOICE = "Te permite oír los comentarios de voz de otros jugadores, si estás lo suficientemente cerca."; TOOLTIP_SWWM_REVIVE = "Permite al jugador volver a levantarse tras morir pulsando Fuego. Tiene un cooldown configurable."; TOOLTIP_SWWM_REVIVECOOLDOWN = "Tiempo en segundos tras reiniciar, durante el cual si mueres otra vez, no puedes volver a levantarte. Pon a 0 para permitir reinicios ilimitados. Alternativamente, puedes elegir que solo se permita un reinicio por mapa (forzado en dificultades expertas)."; -TOOLTIP_SWWM_INTERART = "Si está activado, muestra fanart aleatorio durante intermisiones."; +TOOLTIP_SWWM_INTERART = "Si está activado, muestra fanart y renders oficiales aleatorios durante intermisiones. Hay opciones extra para mostrar sólo una categoría."; TOOLTIP_SWWM_BALLUSE = "Los proyectiles de Bola de Plomo pueden activar botones utilizables remotamente (excluyendo salidas). Potencialmente roto."; TOOLTIP_SWWM_BOSSHEALTHBARS = "Muestra una barra de vida para bosses vanilla en la parte inferior de la pantalla. ¡Es justo como Dark Souls™!"; TOOLTIP_SWWM_UPGRADEBOSSES = "Incrementa la salud de bosses vanilla para hacer que las peleas sean más \"justas\" con este mod, y no tan propensas a ganarse al instante."; diff --git a/language.version b/language.version index 4f48c75db..fc6ef4bac 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r104 \cu(Wed 5 Jan 20:42:03 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.2pre r104 \cu(2022-01-05 20:42:03)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r105 \cu(Sat 8 Jan 17:52:30 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.2pre r105 \cu(2022-01-08 17:52:30)\c-"; diff --git a/menudef.txt b/menudef.txt index 49df583c6..5c796c7e4 100644 --- a/menudef.txt +++ b/menudef.txt @@ -78,6 +78,13 @@ OptionValue "SWWMHUDScale" 0, "$SWWM_TFITSCALE" 1, "$SWWM_LFITSCALE" } +OptionValue "SWWMInterArt" +{ + 0, "$TXT_NO" + 1, "$TXT_YES" + 2, "$SWWM_NORENDER" + 3, "$SWWM_NOFANART" +} OptionMenu "SWWMOptionMenu" { Class "SWWMOptionMenu" @@ -153,7 +160,7 @@ OptionMenu "SWWMOptionMenu" Option "$SWWM_NUMCOLOR_AP", "swwm_numcolor_ap", "TextColors" IfGame(Doom, Heretic) { - Option "$SWWM_INTERART", "swwm_interart", "YesNo" + Option "$SWWM_INTERART", "swwm_interart", "SWWMInterArt" Option "$SWWM_NOINTERTIPS", "swwm_nointertips", "YesNo" Option "$SWWM_INTERMUSIC", "swwm_intermusic", "YesNo" } diff --git a/zscript/menu/swwm_inter.zsc b/zscript/menu/swwm_inter.zsc index 2831e9928..f2beae473 100644 --- a/zscript/menu/swwm_inter.zsc +++ b/zscript/menu/swwm_inter.zsc @@ -2,7 +2,7 @@ Class SWWMStatScreenData : Thinker { // to prevent repetition - Array lasttip, lastart, last4koma; + Array lasttip, lastart; } Class SWWMStatScreen : StatusScreen abstract @@ -48,8 +48,17 @@ Class SWWMStatScreen : StatusScreen abstract int no = StringTable.Localize("$SWWM_NFANART").ToInt(); Array ents; ents.Clear(); + int rno = 0; for ( int i=1; i<=no; i++ ) + { + if ( (swwm_interart == 2) && (StringTable.Localize("$SWWM_FANART"..i).Left(6) == "Marisa") ) + continue; + else if ( (swwm_interart == 3) && (StringTable.Localize("$SWWM_FANART"..i).Left(6) != "Marisa") ) + continue; ents.Push(i); + rno++; + } + no = rno; if ( pdata.lastart.Size() >= no ) { // exclude last one, start over @@ -272,12 +281,12 @@ Class SWWMStatScreen : StatusScreen abstract } if ( p.cmd.buttons&BT_RELOAD ) { - PlaySound("menu/demoscroll"); + if ( !swwm_nointertips ) PlaySound("menu/demoscroll"); whichtip = 0; } if ( p.cmd.buttons&BT_ZOOM ) { - PlaySound("menu/demoscroll"); + if ( swwm_interart ) PlaySound("menu/demoscroll"); whichart = 0; arttex.SetNull(); } @@ -308,6 +317,12 @@ Class SWWMStatScreen : StatusScreen abstract // check fade if ( players[me].cmd.buttons&BT_ALTATTACK ) bgfade = min(1.,bgfade+3./GameTicRate); else bgfade = max(0.,bgfade-4./GameTicRate); + // force toggle + if ( !swwm_interart && (whichart != 0) ) + { + whichart = 0; + arttex.SetNull(); + } } protected String TimeStr( int secs ) {