Add intermission fanart, special thanks to Substance20.
This commit is contained in:
parent
2c7deef651
commit
b6027efb8f
7 changed files with 82 additions and 2 deletions
|
|
@ -22,3 +22,5 @@ Most of the work here is original, but there are some notable exceptions:
|
|||
- MPlus font by M⁺ FONTS PROJECT (http://mplus-fonts.osdn.jp/mplus-bitmap-fonts). Modified to add gradients and drop shadow.
|
||||
- Miniwi font by Josuah Demangeon (http://josuah.net). Modified to add gradients and drop shadow.
|
||||
- Terrain splashes for Doom by MagicWazard.
|
||||
- Intermission fanart:
|
||||
* Substance20 (@S20TBL)
|
||||
|
|
|
|||
|
|
@ -34,3 +34,6 @@ user bool swwm_shaders = true; // use pp shaders for some effects
|
|||
user bool swwm_earbuster = false; // limits loudness of wallbuster fire sounds
|
||||
server bool swwm_revive = false; // allows the player to do an "emergency reboot" when dying
|
||||
server int swwm_revivecooldown = 30; // cooldown after using a revive, in seconds (0: no limit)
|
||||
user int swwm_intertype = 0; // 0 - standard bg
|
||||
// 1 - fanart
|
||||
// 2 - 4komas
|
||||
|
|
|
|||
BIN
graphics/Fanart/S20TBL.jpg
Normal file
BIN
graphics/Fanart/S20TBL.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 957 KiB |
11
language.def
11
language.def
|
|
@ -46,6 +46,7 @@ SWWM_MCREDS = "SWWM GZ Credits";
|
|||
SWWM_CLEAD = "Development Lead:";
|
||||
SWWM_CASSETS = "Additional Assets:";
|
||||
SWWM_CMUSIC = "Music Tracks Used:";
|
||||
SWWM_CFANART = "Intermission Fanart:";
|
||||
SWWM_CPATRON = "Patreon Backers:";
|
||||
SWWM_CTHANK = "Special Thanks:";
|
||||
SWWM_CDRAGON2 = "(For being a good pet dragon)";
|
||||
|
|
@ -75,6 +76,10 @@ SWWM_OTHERVOICE = "Co-op Voice";
|
|||
SWWM_REVIVE = "Emergency Reboot System";
|
||||
SWWM_REVIVECOOLDOWN = "Reboot Cooldown";
|
||||
SWWM_UNLIMITED = "Unlimited";
|
||||
SWWM_INTERTYPE = "Intermission Art";
|
||||
SWWM_INTERDEF = "N/A";
|
||||
SWWM_INTERART = "Fanart";
|
||||
SWWM_INTER4KOMA = "4Koma";
|
||||
TOOLTIP_SWWM_VOICETYPE = "Sets the voice pack for the player.";
|
||||
TOOLTIP_SWWM_MUTEVOICE = "Control what gets muted, if you'd rather have a more silent protagonist.";
|
||||
TOOLTIP_SWWM_FLASHSTRENGTH = "Screen flashes usually happen when firing some weapons, you can lower this if these effects are harmful for you.";
|
||||
|
|
@ -103,6 +108,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.";
|
||||
TOOLTIP_SWWM_INTERTYPE = "Choose what to display in the background during intermissions.";
|
||||
// knowledge base
|
||||
SWWM_COMINGSOON = "(coming soon)";
|
||||
SWWM_MISSTAB = "Mission";
|
||||
|
|
@ -2109,6 +2115,11 @@ SWWM_INTERTIP19 = "With the right combination of dashing, boosting and wall jump
|
|||
SWWM_INTERTIP20 = "In multiplayer, any keys you pick up will be immediately shared with other players.";
|
||||
SWWM_INTERTIP21 = "Aim for a high score! The more enemies you kill the better. Don't forget to put that cash to use at the in-game store when you can.";
|
||||
SWWM_INTERTIP22 = "Although chance boxes may sound like a terrible idea, there is a high probability of obtaining very valuable items for a much lower cost.";
|
||||
// intermission fanart
|
||||
SWWM_FANART = "Art: ";
|
||||
SWWM_NFANART = "1";
|
||||
SWWM_FANART1 = "S20TBL.jpg;Substance20 (@S20_TBL)";
|
||||
// intermission 4komas (TBD)
|
||||
|
||||
/* SUBTITLES */
|
||||
// voice name
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ SWWM_MCREDS = "Créditos de SWWM GZ";
|
|||
SWWM_CLEAD = "Desarrollo Principal:";
|
||||
SWWM_CASSETS = "Assets Adicionales:";
|
||||
SWWM_CMUSIC = "Música Usada:";
|
||||
SWWM_CFANART = "Fanart de Intermisión:";
|
||||
SWWM_CPATRON = "Mecenas de Patreon:";
|
||||
SWWM_CTHANK = "Agradecimientos Especiales:";
|
||||
SWWM_CDRAGON2 = "(Por ser un buen dragón mascota)";
|
||||
|
|
@ -74,6 +75,7 @@ SWWM_OTHERVOICE = "Voz en Cooperativo";
|
|||
SWWM_REVIVE = "Sistema de Reinicio de Emergencia";
|
||||
SWWM_REVIVECOOLDOWN = "Tiempo de recarga de Reinicio";
|
||||
SWWM_UNLIMITED = "Ilimitado";
|
||||
SWWM_INTERTYPE = "Arte de Intermisión";
|
||||
TOOLTIP_SWWM_VOICETYPE = "Selecciona el pack de voz para el jugador.";
|
||||
TOOLTIP_SWWM_MUTEVOICE = "Controla lo que se mutea, si prefieres tener un protagonista más silencioso.";
|
||||
TOOLTIP_SWWM_FLASHSTRENGTH = "Los destellos en pantalla suelen ocurrir al disparar algunas armas, puedes reducirlo si este tipo de effectos te causan malestar.";
|
||||
|
|
@ -102,6 +104,7 @@ TOOLTIP_SWWM_SHADERS = "Usa shaders de postprocesado para cosas como powerups y
|
|||
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.";
|
||||
TOOLTIP_SWWM_INTERTYPE = "Elige qué mostrar de fondo durante intermisiones.";
|
||||
// knowledge base
|
||||
SWWM_COMINGSOON = "(próximamente)";
|
||||
SWWM_MISSTAB = "Misión";
|
||||
|
|
@ -1866,6 +1869,9 @@ SWWM_INTERTIP19 = "Con la combinación adecuada de esprintar, impulsar, y saltar
|
|||
SWWM_INTERTIP20 = "En multijugador, cualquier llave que recojas será compartida inmediatemente con otros jugadores.";
|
||||
SWWM_INTERTIP21 = "¡Aumenta tu puntuación! Cuantos más enemigos elimines, mejor. No te olvides de hacer uso de esos puntos en la tienda in-game cuando puedas.";
|
||||
SWWM_INTERTIP22 = "Aunque las cajas afortunadas no suenen a muy buena idea, hay muchas probabilidades de que te toquen items muy valiosos a un coste mucho más reducido.";
|
||||
// intermission fanart
|
||||
SWWM_INTERART = "Arte: ";
|
||||
// intermission 4komas (TBD)
|
||||
|
||||
/* SUBTITLES */
|
||||
// voice name
|
||||
|
|
|
|||
11
menudef.txt
11
menudef.txt
|
|
@ -12,6 +12,12 @@ OptionValue "SWWMEnforce"
|
|||
0, "$SWWM_USERSET"
|
||||
1, "$SWWM_FORCEENABLE"
|
||||
}
|
||||
OptionValue "SWWMInterType"
|
||||
{
|
||||
0, "$SWWM_INTERDEF"
|
||||
1, "$SWWM_INTERART"
|
||||
//2, "$SWWM_INTER4KOMA"
|
||||
}
|
||||
OptionMenu "SWWMOptionMenu"
|
||||
{
|
||||
Class "SWWMOptionMenu"
|
||||
|
|
@ -39,6 +45,7 @@ OptionMenu "SWWMOptionMenu"
|
|||
Option "$SWWM_SCORENUMS", "swwm_scorenums", "YesNo"
|
||||
Option "$SWWM_SCOREBONUS", "swwm_scorebonus", "YesNo"
|
||||
Option "$SWWM_SHADERS", "swwm_shaders", "YesNo"
|
||||
Option "$SWWM_INTERTYPE", "swwm_intertype", "SWWMInterType"
|
||||
StaticText " "
|
||||
StaticText "$SWWM_ITITLE", "Gold"
|
||||
Option "$SWWM_ARMORUSE", "swwm_autousearmor", "YesNo"
|
||||
|
|
@ -92,6 +99,10 @@ OptionMenu "SWWMCreditsMenu"
|
|||
StaticText "Nitro", "Gold"
|
||||
StaticText "Gateways Part II", "White"
|
||||
StaticText " "
|
||||
StaticText "$SWWM_CFANART", "Red"
|
||||
StaticText " "
|
||||
StaticText "Substance20 (@S20TBL)", "Gold"
|
||||
StaticText " "
|
||||
StaticText "$SWWM_CPATRON", "Red"
|
||||
StaticText " "
|
||||
StaticText "Christian Grab", "Gold"
|
||||
|
|
|
|||
|
|
@ -1,13 +1,33 @@
|
|||
Mixin Class SWWMStatScreen
|
||||
{
|
||||
TextureID bgtex;
|
||||
transient TextureID bgtex, arttex;
|
||||
transient Font TewiFont, MPlusFont;
|
||||
int whichart;
|
||||
transient CVar intertype, lang;
|
||||
double hs;
|
||||
Vector2 ss, origin;
|
||||
|
||||
// returns MPlus if we're playing in Japanese, otherwise returns the requested font
|
||||
Font LangFont( Font req )
|
||||
{
|
||||
if ( !lang ) lang = CVar.GetCVar('language',players[consoleplayer]);
|
||||
if ( lang.GetString() ~== "jp" ) return MPlusFont;
|
||||
return req;
|
||||
}
|
||||
override void StartMusic()
|
||||
{
|
||||
S_ChangeMusic("music/DRAGONY.XM");
|
||||
}
|
||||
private void drawSWWMBg()
|
||||
{
|
||||
if ( !intertype ) intertype = CVar.GetCVar('swwm_intertype',players[consoleplayer]);
|
||||
if ( !whichart )
|
||||
{
|
||||
int no = 0;
|
||||
if ( intertype.GetInt() == 1 ) no = StringTable.Localize("$SWWM_NFANART").ToInt();
|
||||
//else if ( intertype.GetInt() == 2 ) no = StringTable.Localize("$SWWM_N4KOMA").ToInt();
|
||||
whichart = Random[InterArt](1,no);
|
||||
}
|
||||
if ( !bgtex ) bgtex = TexMan.CheckForTexture("graphics/InterBG.png",TexMan.Type_MiscPatch);
|
||||
double ar = Screen.GetAspectRatio();
|
||||
Vector2 tsize = TexMan.GetScaledSize(bgtex);
|
||||
|
|
@ -17,7 +37,29 @@ Mixin Class SWWMStatScreen
|
|||
else if ( sar < ar ) vsize = (tsize.x,tsize.x/ar);
|
||||
else vsize = tsize;
|
||||
Screen.DrawTexture(bgtex,false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true);
|
||||
// TODO background pics (fanart, 4komas, etc.)
|
||||
// background pics (fanart, 4komas)
|
||||
if ( intertype.GetInt() == 1 )
|
||||
{
|
||||
String artstr = StringTable.Localize(String.Format("$SWWM_FANART%d",whichart));
|
||||
int semic = artstr.IndexOf(";");
|
||||
if ( !arttex ) arttex = TexMan.CheckForTexture(String.Format("graphics/Fanart/%s",artstr.Left(semic)),TexMan.Type_MiscPatch);
|
||||
tsize = TexMan.GetScaledSize(arttex);
|
||||
sar = tsize.x/tsize.y;
|
||||
if ( sar > ar ) vsize = (tsize.y*ar,tsize.y);
|
||||
else if ( sar < ar ) vsize = (tsize.x,tsize.x/ar);
|
||||
else vsize = tsize;
|
||||
Screen.DrawTexture(arttex,false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true);
|
||||
String bstr = String.Format("\cx%s\c- %s",StringTable.Localize("$SWWM_FANART"),artstr.Mid(semic+1));
|
||||
Font fnt = LangFont(TewiFont);
|
||||
int len = fnt.StringWidth(bstr);
|
||||
int bw = int((len+8)*hs), bh = int((fnt.GetHeight()+4)*hs);
|
||||
Screen.Dim("Black",.8,Screen.GetWidth()-bw,Screen.GetHeight()-bh,bw,bh);
|
||||
Screen.DrawText(fnt,Font.CR_GOLD,ss.x-(len+4),ss.y-(fnt.GetHeight()+2),bstr,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
|
||||
}
|
||||
/*else if ( intertype.GetInt() == 2 )
|
||||
{
|
||||
// TBD when there's art
|
||||
}*/
|
||||
// TODO intermission tips at the bottom
|
||||
}
|
||||
override void drawShowNextLoc( void )
|
||||
|
|
@ -27,6 +69,11 @@ Mixin Class SWWMStatScreen
|
|||
}
|
||||
override void Drawer( void )
|
||||
{
|
||||
if ( !TewiFont ) TewiFont = Font.GetFont('TewiShaded');
|
||||
if ( !MPlusFont ) MPlusFont = Font.GetFont('MPlusShaded');
|
||||
hs = max(min(floor(Screen.GetWidth()/640.),floor(Screen.GetHeight()/400.)),1.);
|
||||
ss = (Screen.GetWidth(),Screen.GetHeight())/hs;
|
||||
origin = (ss.x-640,ss.y-400)/2.;
|
||||
switch ( CurState )
|
||||
{
|
||||
case StatCount:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue