From 56dca15b522fb1e2ad7ece2bce18db939b1b36d5 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Wed, 5 Jan 2022 20:42:03 +0100 Subject: [PATCH] Title sequence has more "oomph" added. --- FuturePlans.md | 10 +- gldefs.misc | 4 + language.def_base | 2 +- language.version | 4 +- sndinfo.txt | 6 ++ sounds/OUCHEX1.ogg | Bin 0 -> 16807 bytes sounds/OUCHEX2.ogg | Bin 0 -> 15782 bytes sounds/OUCHEX3.ogg | Bin 0 -> 15874 bytes sounds/OUCHEX4.ogg | Bin 0 -> 22318 bytes zscript.txt | 3 - zscript/dlc3/swwm_pong.zsc | 1 - zscript/dlc3/swwm_snake.zsc | 1 - zscript/dlc3/swwm_tetris.zsc | 1 - zscript/menu/swwm_title.zsc | 161 ++++++++++++++++++++++++++++----- zscript/swwm_statichandler.zsc | 3 + 15 files changed, 162 insertions(+), 34 deletions(-) create mode 100644 sounds/OUCHEX1.ogg create mode 100644 sounds/OUCHEX2.ogg create mode 100644 sounds/OUCHEX3.ogg create mode 100644 sounds/OUCHEX4.ogg delete mode 100644 zscript/dlc3/swwm_pong.zsc delete mode 100644 zscript/dlc3/swwm_snake.zsc delete mode 100644 zscript/dlc3/swwm_tetris.zsc diff --git a/FuturePlans.md b/FuturePlans.md index cc0012a27..20afb5268 100644 --- a/FuturePlans.md +++ b/FuturePlans.md @@ -92,6 +92,12 @@ A couple extra weapons, not enough for a full batch, but still worthy additions. - Power of Love *(Recover a total of 500 health by kissing the Kirin Plush)* - Froggy Gang *(Summon the Froggy Chair)* - Ribbit *(Kill 10 enemies with the Froggy Chair)* + - Arsenal of Olden Times *(Find all classic UnSX weapons)* + *(Quadravol, Biospark Carbine, Sparkster Rifle, Ray-Khom, Mortal Rifle, Ynykron and Rafan-Kos)* + - Know Thy Armaments *(Find all weapons)* + - Assortment of Thingamajigs *(Find all items)* + - Words Words Words *(Read all library entries)* + - Oops I Pressed it *(Turn the engine off)* ## 1.5 update *(The Final Stage)*: @@ -132,7 +138,7 @@ Add-ons and other related stuff. * **Monster/decoration replacements add-on:** - Potentially standalone, usable with other mods - - Balanced for this mod + - Balanced for this mod, as well as the side mods - Unique bosses - Some extra enemy variants - Coverage for all supported WADs *(oof)* @@ -158,4 +164,4 @@ Add-ons and other related stuff. - Retell the events of UnSX 2 *(but with the Demolitionist's participation)* - Basically give SWWM GZ its own IWAD as a standalone game - Some new weapons, some renovations - - Lots of world exploration, more lore \ No newline at end of file + - Lots of world exploration, more lore diff --git a/gldefs.misc b/gldefs.misc index 9960d0c44..91d6f8cd4 100644 --- a/gldefs.misc +++ b/gldefs.misc @@ -60,6 +60,10 @@ HardwareShader Texture "graphics/M_SWWM.png" Texture "Layer6" "graphics/M_SWWM_Layer6.png" Define "NO_BILINEAR" } +HardwareShader Texture "graphics/UnSXLogo.png" +{ + Shader "shaders/glsl/Bilinear.fp" +} HardwareShader Sprite "MBRNB0" { Shader "shaders/glsl/Whew.fp" diff --git a/language.def_base b/language.def_base index ed48510c8..d876b08db 100644 --- a/language.def_base +++ b/language.def_base @@ -539,7 +539,7 @@ O_RAYKHOM2 = "%o witnessed %k's UNLIMITED POWER."; O_GRANDLANCE = "%o was torn asunder by %k's Grand Lance."; O_GRANDLANCE2 = "%k showed %o how efficient nuclear fusion is."; O_FISTGUN = "%o ate %k's divine knuckle sandwich."; -O_FISTGUN2 = "%k delivered a divine bitchslap upon %o."; +O_FISTGUN2 = "%k delivered a divine smackdown upon %o."; O_NEWSPARKSTER = "%o witnessed the might of %k's plasma artillery."; O_MORTALRIFLE = "%k killed %o very dead."; O_MORTALRIFLEALT = "%o caught a very deadly grenade from %k."; diff --git a/language.version b/language.version index 9c3f26892..4f48c75db 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw1.2pre r103 \cu(Sat 1 Jan 17:33:39 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.2pre r103 \cu(2022-01-01 17:33:39)\c-"; +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-"; diff --git a/sndinfo.txt b/sndinfo.txt index 33cd4d0df..de0fe5523 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -17,6 +17,12 @@ squeak sounds/SQUEAK.ogg recordscratch sounds/RECSCRAP.ogg compat/warn sounds/UTWARN.ogg hahaha/hahaha sounds/HAHAHA.ogg +title/explo1 sounds/OUCHEX1.ogg +title/explo2 sounds/OUCHEX2.ogg +title/explo3 sounds/OUCHEX3.ogg +title/explo4 sounds/OUCHEX4.ogg +$random title/explo { title/explo1 title/explo2 title/explo3 title/explo4 } +$limit title/explo 64 saya/giggle1 sounds/saya/saya_giggle1.ogg saya/giggle2 sounds/saya/saya_giggle2.ogg diff --git a/sounds/OUCHEX1.ogg b/sounds/OUCHEX1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..240df30d5ed31d7d274394347150547dbac7f828 GIT binary patch literal 16807 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�>+Ngn>g(=ozbEaY$-r}9>h;Ct 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 NJ-d8!pY-Z^{s5!JRki>C literal 0 HcmV?d00001 diff --git a/sounds/OUCHEX2.ogg b/sounds/OUCHEX2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..db8aaaf05f730c402bc1b3fbbbdae3fa032cb58f GIT binary patch literal 15782 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 Y|Bc!8^7FrHQ^tAIf3nsybU^xz0Jb2%{r~^~ literal 0 HcmV?d00001 diff --git a/sounds/OUCHEX3.ogg b/sounds/OUCHEX3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8013036c3fbb90b8b14d6cd4d184b103c96f51dc GIT binary patch literal 15874 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 scrolls; - transient ui int sline; - transient ui double sbase; - transient ui String lastlang; + ui TextureID tex[4]; + ui Array scrolls; + ui int sline; + ui double sbase; + ui String lastlang; + ui TitleExplosion smk[64]; + ui TextureID smk_frame[19]; + int titletimer; + ui int rss; + ui int stopinit_t; + + private ui int GetUIRandom() + { + return (rss = (rss<<1)*35447+(rss/87)); + } + + private ui double RandomShiver() + { + int sd = GetUIRandom(); + return ((abs(sd)%11)-5)*.1; + } + + private ui void TickExplosions() + { + if ( stopinit_t > 0 ) stopinit_t--; + bool stopinit = (stopinit_t>0); + for ( int i=0; i<64; i++ ) + { + if ( (!smk[i].bInit && !stopinit) || (smk[i].frame > 18) ) + { + smk[i].frame = Random[UIStuff](smk[i].bInit?-20:-4,0); + smk[i].pos = (FRandom[UIStuff](0.,1.),FRandom[UIStuff](0.,1.)); + smk[i].scale = FRandom[UIStuff](3.,6.); + smk[i].angle = FRandom[UIStuff](0.,360.); + smk[i].flipx = Random[UIStuff](0,1); + smk[i].flipy = Random[UIStuff](0,1); + if ( !smk[i].bInit ) + { + smk[i].bInit = true; + stopinit = true; + stopinit_t = 4; + } + } + if ( !smk[i].bInit ) continue; + if ( (smk[i].frame == 0) && (titletimer < -20 ) ) + S_StartSound("title/explo",CHAN_WEAPON,CHANF_UI|CHANF_OVERLAP,1.,ATTN_NONE,FRandom[UIStuff](.95,1.05)); + smk[i].frame++; + } + } override void WorldTick() { - if ( level.maptime == 1 ) S_ChangeMusic("music/TRAUMATI.XM"); + if ( titletimer == -250 ) + { + if ( gameinfo.gametype&GAME_Hexen ) S_ChangeMusic("HEXEN"); + else if ( gameinfo.gametype&GAME_Heretic ) S_ChangeMusic("MUS_TITL"); + else + { + // check if the doom 1 music exists + if ( Wads.FindLump("D_INTRO",ns:wads.ns_music) != -1 ) + S_ChangeMusic("D_INTRO"); + else S_ChangeMusic("D_DM2TTL"); + } + } + if ( titletimer == -75 ) S_ChangeMusic(""); + if ( titletimer == 0 ) S_ChangeMusic("music/TRAUMATI.XM"); + titletimer++; + if ( menuactive && (titletimer < -80) ) titletimer = -80; + } + + override void WorldLoaded( WorldEvent e ) + { + titletimer = -300; + let shnd = SWWMStaticHandler(StaticEventHandler.Find("SWWMStaticHandler")); + if ( !shnd ) return; + if ( shnd.titlefirst ) + { + titletimer = GameTicRate*26; // skip to logo + S_ChangeMusic("music/TRAUMATI.XM",2); // skip to order 2 + } + shnd.titlefirst = true; } override void UiTick() { + if ( (titletimer > -80) && (titletimer < -20) ) TickExplosions(); if ( gamestate != GS_LEVEL ) return; // you're not supposed to be here Menu.SetMenu('EndGameMenu'); @@ -23,19 +106,51 @@ Class SWWMTitleStuff : EventHandler // special thanks to marrub for this absolute crime } + private ui void RenderExplosions() + { + for ( int i=0; i<64; i++ ) + { + int frm = smk[i].frame; + if ( (frm < 0) || (frm > 18) ) continue; + if ( !smk_frame[frm] ) smk_frame[frm] = TexMan.CheckForTexture(String.Format("XEX0%c0",0x41+frm),TexMan.Type_Sprite); + Vector2 vpos; + vpos.x = smk[i].pos.x*Screen.GetWidth(); + vpos.y = smk[i].pos.y*Screen.GetHeight(); + Screen.DrawTexture(smk_frame[frm],false,vpos.x,vpos.y,DTA_ScaleX,smk[i].scale*CleanXFac,DTA_ScaleY,smk[i].scale*CleanYFac,DTA_FlipX,smk[i].flipx,DTA_FlipY,smk[i].flipy,DTA_Rotate,smk[i].angle,DTA_LegacyRenderStyle,STYLE_Add); + } + } + override void RenderUnderlay( RenderEvent e ) { if ( !tex[0] ) tex[0] = TexMan.CheckForTexture("graphics/UnSXLogo.png",TexMan.Type_Any); if ( !tex[1] ) tex[1] = TexMan.CheckForTexture("graphics/SWWMGZLogo.png",TexMan.Type_Any); if ( !tex[2] ) tex[2] = TexMan.CheckForTexture("graphics/tempbg.png",TexMan.Type_Any); + if ( !tex[3] ) tex[3] = TexMan.CheckForTexture((gameinfo.gametype&GAME_Raven)?"TITLE":"TITLEPIC",TexMan.Type_MiscPatch); Vector2 tsize, vsize; + if ( titletimer < 0 ) + { + Screen.Dim("Black",1.,0,0,Screen.GetWidth(),Screen.GetHeight()); + if ( titletimer < -20 ) + { + rss = int(MSTime()*(GameTicRate/1000.)); + Vector2 ofs = (RandomShiver(),RandomShiver())*clamp((80+titletimer+e.FracTic)/50.,0.,1.); + tsize = TexMan.GetScaledSize(tex[3]); + ofs *= tsize.y/10.; + Screen.DrawTexture(tex[3],true,ofs.x,ofs.y,DTA_VirtualWidthF,tsize.x,DTA_VirtualHeightF,tsize.y,DTA_FullscreenScale,FSMode_ScaleToFit43); + RenderExplosions(); + } + if ( titletimer > -20 ) Screen.Dim("White",1.-clamp((20+titletimer+e.FracTic)/20.,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight()); + else if ( titletimer > -80 ) Screen.Dim("White",clamp((80+titletimer+e.FracTic)/50.,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight()); + if ( titletimer <= -250 ) Screen.Dim("Black",1.-clamp((270+titletimer+e.FracTic)/20.,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight()); + return; + } if ( swwm_fuzz ) { tsize = TexMan.GetScaledSize(tex[2]); double zoom = max(ceil(Screen.GetWidth()/tsize.x),ceil(Screen.GetHeight()/tsize.y)); vsize = (Screen.GetWidth(),Screen.GetHeight())/zoom; Screen.DrawTexture(tex[2],false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true,DTA_ColorOverlay,Color(192,0,0,0)); - Screen.Dim("Black",clamp(1.-((level.maptime+e.FracTic)/GameTicRate)*.05,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight()); + Screen.Dim("Black",clamp(1.-((titletimer+e.FracTic)/GameTicRate)*.05,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight()); } else Screen.Dim("Black",1.,0,0,Screen.GetWidth(),Screen.GetHeight()); double hs = max(min(floor(Screen.GetWidth()/320.),floor(Screen.GetHeight()/200.)),1.); @@ -46,43 +161,43 @@ Class SWWMTitleStuff : EventHandler if ( sar > ar ) vsize = (tsize.x,tsize.x/ar); else if ( sar < ar ) vsize = (tsize.y*ar,tsize.y); else vsize = tsize; - double alf = clamp(((level.maptime+e.FracTic)/GameTicRate)-2,0.,1.); - alf *= 1.-clamp(((level.maptime+e.FracTic)/GameTicRate)-8,0.,1.); + double alf = clamp(((titletimer+e.FracTic)/GameTicRate)-2,0.,1.); + alf *= 1.-clamp(((titletimer+e.FracTic)/GameTicRate)-8,0.,1.); Screen.DrawTexture(tex[0],false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true,DTA_Alpha,alf); String str = StringTable.Localize("$SWWM_TITLEPRESENTS"); - alf = clamp(((level.maptime+e.FracTic)/GameTicRate)-10,0.,1.); - alf *= 1.-clamp(((level.maptime+e.FracTic)/GameTicRate)-16,0.,1.); + alf = clamp(((titletimer+e.FracTic)/GameTicRate)-10,0.,1.); + alf *= 1.-clamp(((titletimer+e.FracTic)/GameTicRate)-16,0.,1.); Screen.DrawText(smallfont,Font.CR_WHITE,(ss.x-smallfont.StringWidth(str))/2,(ss.y-smallfont.GetHeight())/2,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alf); str = StringTable.Localize("$SWWM_TITLEMODBY"); - alf = clamp(((level.maptime+e.FracTic)/GameTicRate)-18,0.,1.); - alf *= 1.-clamp(((level.maptime+e.FracTic)/GameTicRate)-24,0.,1.); + alf = clamp(((titletimer+e.FracTic)/GameTicRate)-18,0.,1.); + alf *= 1.-clamp(((titletimer+e.FracTic)/GameTicRate)-24,0.,1.); Screen.DrawText(smallfont,Font.CR_WHITE,(ss.x-smallfont.StringWidth(str))/2,(ss.y-smallfont.GetHeight())/2,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alf); tsize = TexMan.GetScaledSize(tex[1]); sar = tsize.x/tsize.y; if ( sar > ar ) vsize = (tsize.x,tsize.x/ar); else if ( sar < ar ) vsize = (tsize.y*ar,tsize.y); else vsize = tsize; - alf = clamp(((level.maptime+e.FracTic)/GameTicRate)-26,0.,2.)*.5; + alf = clamp(((titletimer+e.FracTic)/GameTicRate)-26,0.,2.)*.5; Screen.DrawTexture(tex[1],false,(vsize.x-tsize.x)/2,(vsize.y-tsize.y)/2,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true,DTA_Alpha,alf); - if ( (level.maptime/GameTicRate) < 30 ) return; + if ( (titletimer/GameTicRate) < 30 ) return; // scrolls if ( (scrolls.Size() <= 0 ) || (lastlang != language) ) { scrolls.Clear(); String sstr = StringTable.Localize("$SWWM_TITLESCROLL"); sstr.Split(scrolls,"\n"); - sbase = (level.maptime+e.FracTic)/GameTicRate; + sbase = (titletimer+e.FracTic)/GameTicRate; if ( sline >= scrolls.Size() ) sline = 0; } lastlang = language; // estimate scrool length double llen = smallfont.StringWidth(scrolls[sline]); - double soffset = 40*((level.maptime+e.FracTic)/GameTicRate-sbase); + double soffset = 40*((titletimer+e.FracTic)/GameTicRate-sbase); if ( soffset > llen+ss.x ) { sline++; if ( sline >= scrolls.Size() ) sline = 0; - sbase = (level.maptime+e.FracTic)/GameTicRate; + sbase = (titletimer+e.FracTic)/GameTicRate; soffset = 0; } double xx = ss.x-soffset; @@ -95,16 +210,16 @@ Class SWWMTitleStuff : EventHandler { for ( double trl = .1; trl < 1.; trl += .04 ) { - double yy = (ss.y-40)+10*sin(15*i+160*(level.maptime+e.FracTic)/GameTicRate-90.*(1.-trl)); + double yy = (ss.y-40)+10*sin(15*i+160*(titletimer+e.FracTic)/GameTicRate-90.*(1.-trl)); alf = max(0,1.-abs((ss.x/2)-xx)/(ss.x/2))**.5; alf *= .2*trl; - double xxofs = 5*sin(15*i+120*(level.maptime+e.FracTic)/GameTicRate-90.*(1.-trl))-16*(1.-trl); + double xxofs = 5*sin(15*i+120*(titletimer+e.FracTic)/GameTicRate-90.*(1.-trl))-16*(1.-trl); Screen.DrawChar(smallfont,Font.CR_BLUE,xx-xxofs,yy,ch,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alf,DTA_LegacyRenderStyle,STYLE_Add); } - double yy = (ss.y-40)+10*sin(15*i+160*(level.maptime+e.FracTic)/GameTicRate); + double yy = (ss.y-40)+10*sin(15*i+160*(titletimer+e.FracTic)/GameTicRate); alf = max(0,1.-abs((ss.x/2)-xx)/(ss.x/2))**.5; - double xxofs = 5*sin(15*i+120*(level.maptime+e.FracTic)/GameTicRate); - Color c = Color(int(127.5+127.5*sin(10*i+80*(level.maptime+e.FracTic)/GameTicRate)),0,0); + double xxofs = 5*sin(15*i+120*(titletimer+e.FracTic)/GameTicRate); + Color c = Color(int(127.5+127.5*sin(10*i+80*(titletimer+e.FracTic)/GameTicRate)),0,0); Screen.DrawChar(smallfont,Font.CR_SAPPHIRE,xx-xxofs,yy,ch,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alf); } xx += smallfont.GetCharWidth(ch)+smallfont.GetDefaultKerning(); diff --git a/zscript/swwm_statichandler.zsc b/zscript/swwm_statichandler.zsc index 910a611e1..663f0a13f 100644 --- a/zscript/swwm_statichandler.zsc +++ b/zscript/swwm_statichandler.zsc @@ -22,6 +22,8 @@ Class SWWMStaticHandler : StaticEventHandler int maptime; bool unloading; ui Dictionary menustate; // used by Demolitionist Menu to restore old menu positions + // title stuff + bool titlefirst; override void NewGame() { @@ -44,6 +46,7 @@ Class SWWMStaticHandler : StaticEventHandler override void WorldLoaded( WorldEvent e ) { + if ( gamestate != GS_TITLELEVEL ) titlefirst = true; // we skip it unloading = false; maptime = 0; if ( e.IsSavegame || e.IsReopen )