diff --git a/gldefs/bdscreen.txt b/gldefs/bdscreen.txt index 3a5882d1d..28cb1dcad 100644 --- a/gldefs/bdscreen.txt +++ b/gldefs/bdscreen.txt @@ -1,98 +1,28 @@ -Material Texture "graphics/BDScreen/BOYKISS0.png" +Material Texture "graphics/BDScreen/BDBorder.png" { - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS0.png" - { - filter linear - } - Define "OVERSAMPLE" + nomipmap } -Material Texture "graphics/BDScreen/BOYKISS1.png" +Material Texture "graphics/BDScreen/BDSaya.png" { - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS1.png" - { - filter linear - } - Define "OVERSAMPLE" + nomipmap } -Material Texture "graphics/BDScreen/BOYKISS2.png" +Material Texture "graphics/BDScreen/BDDemo.png" { - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS2.png" - { - filter linear - } - Define "OVERSAMPLE" + nomipmap } -Material Texture "graphics/BDScreen/BOYKISS3.png" +Material Texture "graphics/BDScreen/BDBubble0.png" { - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS3.png" - { - filter linear - } - Define "OVERSAMPLE" + nomipmap } -Material Texture "graphics/BDScreen/BOYKISS4.png" +Material Texture "graphics/BDScreen/BDBubble1.png" { - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS4.png" - { - filter linear - } - Define "OVERSAMPLE" + nomipmap } -Material Texture "graphics/BDScreen/BOYKISS5.png" +Material Texture "graphics/BDScreen/BDBubble2.png" { - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS5.png" - { - filter linear - } - Define "OVERSAMPLE" + nomipmap } -Material Texture "graphics/BDScreen/BOYKISS6.png" +Material Texture "graphics/BDScreen/BDBubble3.png" { - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS6.png" - { - filter linear - } - Define "OVERSAMPLE" -} -Material Texture "graphics/BDScreen/BOYKISS7.png" -{ - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS7.png" - { - filter linear - } - Define "OVERSAMPLE" -} -Material Texture "graphics/BDScreen/BOYKISS8.png" -{ - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS8.png" - { - filter linear - } - Define "OVERSAMPLE" -} -Material Texture "graphics/BDScreen/BOYKISS9.png" -{ - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISS9.png" - { - filter linear - } - Define "OVERSAMPLE" -} -Material Texture "graphics/BDScreen/BOYKISSR.png" -{ - Shader "shaders/glsl/TexFilterHack.fp" - Texture "retex" "graphics/BDScreen/BOYKISSR.png" - { - filter linear - } + nomipmap } diff --git a/graphics/BDScreen/BDBorder.png b/graphics/BDScreen/BDBorder.png new file mode 100644 index 000000000..cccb458da Binary files /dev/null and b/graphics/BDScreen/BDBorder.png differ diff --git a/graphics/BDScreen/BDBubble0.png b/graphics/BDScreen/BDBubble0.png new file mode 100644 index 000000000..66b7839eb Binary files /dev/null and b/graphics/BDScreen/BDBubble0.png differ diff --git a/graphics/BDScreen/BDBubble1.png b/graphics/BDScreen/BDBubble1.png new file mode 100644 index 000000000..88df08681 Binary files /dev/null and b/graphics/BDScreen/BDBubble1.png differ diff --git a/graphics/BDScreen/BDBubble2.png b/graphics/BDScreen/BDBubble2.png new file mode 100644 index 000000000..09bf2eb52 Binary files /dev/null and b/graphics/BDScreen/BDBubble2.png differ diff --git a/graphics/BDScreen/BDBubble3.png b/graphics/BDScreen/BDBubble3.png new file mode 100644 index 000000000..b7acbaacb Binary files /dev/null and b/graphics/BDScreen/BDBubble3.png differ diff --git a/graphics/BDScreen/BDDemo.png b/graphics/BDScreen/BDDemo.png new file mode 100644 index 000000000..e91c6fbe9 Binary files /dev/null and b/graphics/BDScreen/BDDemo.png differ diff --git a/graphics/BDScreen/BDSaya.png b/graphics/BDScreen/BDSaya.png new file mode 100644 index 000000000..4bf628a64 Binary files /dev/null and b/graphics/BDScreen/BDSaya.png differ diff --git a/graphics/BDScreen/BOYKISS0.png b/graphics/BDScreen/BOYKISS0.png deleted file mode 100644 index de4e171aa..000000000 Binary files a/graphics/BDScreen/BOYKISS0.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS1.png b/graphics/BDScreen/BOYKISS1.png deleted file mode 100644 index 36b525a8d..000000000 Binary files a/graphics/BDScreen/BOYKISS1.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS2.png b/graphics/BDScreen/BOYKISS2.png deleted file mode 100644 index d58cf2993..000000000 Binary files a/graphics/BDScreen/BOYKISS2.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS3.png b/graphics/BDScreen/BOYKISS3.png deleted file mode 100644 index 64e8267cf..000000000 Binary files a/graphics/BDScreen/BOYKISS3.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS4.png b/graphics/BDScreen/BOYKISS4.png deleted file mode 100644 index 655afa50a..000000000 Binary files a/graphics/BDScreen/BOYKISS4.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS5.png b/graphics/BDScreen/BOYKISS5.png deleted file mode 100644 index 854de4fd9..000000000 Binary files a/graphics/BDScreen/BOYKISS5.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS6.png b/graphics/BDScreen/BOYKISS6.png deleted file mode 100644 index da7a186d9..000000000 Binary files a/graphics/BDScreen/BOYKISS6.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS7.png b/graphics/BDScreen/BOYKISS7.png deleted file mode 100644 index 1a19d626b..000000000 Binary files a/graphics/BDScreen/BOYKISS7.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS8.png b/graphics/BDScreen/BOYKISS8.png deleted file mode 100644 index ea329bad9..000000000 Binary files a/graphics/BDScreen/BOYKISS8.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISS9.png b/graphics/BDScreen/BOYKISS9.png deleted file mode 100644 index be4814a3d..000000000 Binary files a/graphics/BDScreen/BOYKISS9.png and /dev/null differ diff --git a/graphics/BDScreen/BOYKISSR.png b/graphics/BDScreen/BOYKISSR.png deleted file mode 100644 index d1bbafb73..000000000 Binary files a/graphics/BDScreen/BOYKISSR.png and /dev/null differ diff --git a/language.version b/language.version index 68a517f14..522f376bd 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1177 \cu(jue 06 feb 2025 20:13:06 CET)\c-"; -SWWM_SHORTVER="\cw1.3pre r1177 \cu(2025-02-06 20:13:06)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1178 \cu(jue 06 feb 2025 20:13:35 CET)\c-"; +SWWM_SHORTVER="\cw1.3pre r1178 \cu(2025-02-06 20:13:35)\c-"; diff --git a/music/thepenis.it b/music/thepenis.it deleted file mode 100644 index 2f109a6fe..000000000 Binary files a/music/thepenis.it and /dev/null differ diff --git a/textcolors.txt b/textcolors.txt index 2868d66b5..d07aeca17 100644 --- a/textcolors.txt +++ b/textcolors.txt @@ -398,3 +398,20 @@ MiniWhiteFlash // "misc" #000000 #FFFFFF 0 50 #FFFFFF #FFFFFF 51 255 } + +// stuff +BDSayaRed +{ + #000000 #000000 0 50 + #A08080 #FFC0C0 51 255 +} +BDDemoGreen +{ + #000000 #000000 0 50 + #80A080 #C0FFC0 51 255 +} +BDRed +{ + #000000 #000000 0 50 + #800000 #FF4040 51 255 +} diff --git a/zscript/compat/swwm_shame.zsc b/zscript/compat/swwm_shame.zsc index 9746b589c..b895fbff6 100644 --- a/zscript/compat/swwm_shame.zsc +++ b/zscript/compat/swwm_shame.zsc @@ -20,9 +20,16 @@ Class SWWMBrutalHandler : StaticEventHandler { ui int timer; ui Font fnt; - ui TextureID boydance[10], boykiss; - ui int boyframe, boystate, boyloop1, boyloop2, boytimer, boyseq[12]; + ui TextureID eztex[7]; + ui bool ezstate[7]; + ui float ezslide[4]; + ui String eztext[5]; + ui BrokenLines ezlines[5]; + ui Vector2 eztextpos[5]; + ui double ezlinesw[5]; + ui int ezcolor[5]; bool detected; + ui int rss; const BOYTICRATE = 5; @@ -66,137 +73,80 @@ Class SWWMBrutalHandler : StaticEventHandler timer = 0; return; } - if ( timer == 70 ) + switch ( timer ) { - boykiss = TexMan.CheckForTexture("graphics/BDScreen/BOYKISSR.png"); + case 50: + eztex[0] = TexMan.CheckForTexture("graphics/BDScreen/BDBorder.png"); + eztex[1] = TexMan.CheckForTexture("graphics/BDScreen/BDSaya.png"); + eztex[2] = TexMan.CheckForTexture("graphics/BDScreen/BDDemo.png"); + eztex[3] = TexMan.CheckForTexture("graphics/BDScreen/BDBubble0.png"); + eztex[4] = TexMan.CheckForTexture("graphics/BDScreen/BDBubble1.png"); + eztex[5] = TexMan.CheckForTexture("graphics/BDScreen/BDBubble2.png"); + eztex[6] = TexMan.CheckForTexture("graphics/BDScreen/BDBubble3.png"); + for ( int i=0; i<6; i++ ) ezstate[i] = false; + for ( int i=0; i<4; i++ ) ezslide[i] = 2800.; + eztext[0] = "Really\nnow\n!?"; + eztext[1] = "\c[BDRed]Brutal\nDoom\c-?\n\nThat's\ncringe"; + eztext[2] = "Only a\ncomplete\nfool\nwould try\nto load\n\c[BDRed]Brutal Doom\c-\nwith\nother game-\nplay mods,\nright?"; + eztext[3] = "Ha\nha\nha\nha"; + eztext[4] = "Ki\nhi\nhi\nhi"; + eztextpos[0] = (2520.,120.); + eztextpos[1] = (1620.,1580.); + eztextpos[2] = (80.,140.); + eztextpos[3] = (100.,1660.); + eztextpos[4] = (300.,1660.); + ezcolor[0] = Font.FindFontColor("BDSayaRed"); + ezcolor[1] = Font.FindFontColor("BDSayaRed"); + ezcolor[2] = Font.FindFontColor("BDDemoGreen"); + ezcolor[3] = Font.FindFontColor("BDDemoGreen"); + ezcolor[4] = Font.FindFontColor("BDSayaRed"); fnt = Font.GetFont("TewiFontOutline"); + for ( int i=0; i<5; i++ ) + { + ezlines[i] = fnt.BreakLines(eztext[i],1000); + ezlinesw[i] = 0.; + for ( int j=0; j= 105 ) - { - boyframe = boyseq[boystate]; - boytimer++; - if ( boytimer%BOYTICRATE ) return; - // funni state machine - switch ( boystate ) - { - case 0: // up - boystate = 1; - break; - case 1: // down - if ( boyloop1 >= 2 ) - { - boyloop1 = 0; - boystate = 2; - break; - } - boyloop1++; - boystate = 0; - break; - case 2: // turn A - boystate = 3; - break; - case 3: // turn B - boystate = 4; - break; - case 4: // down - boystate = 5; - break; - case 5: // up - if ( boyloop1 >= 2 ) - { - boyloop1 = 0; - boystate = 6; - break; - } - boyloop1++; - boystate = 4; - break; - case 6: // turn B - boystate = 7; - break; - case 7: // turn A - if ( boyloop2 >= 2 ) - { - boyloop2 = 0; - boystate = 8; - break; - } - boyloop2++; - boystate = 0; - break; - case 8: // spin left - boystate = 9; - break; - case 9: // spin back - boystate = 10; - break; - case 10: // spin right - boystate = 11; - break; - case 11: // spin front - if ( boyloop1 >= 2 ) - { - boyloop1 = 0; - boystate = 0; - break; - } - boyloop1++; - boystate = 8; - break; - } - } } override void WorldTick() @@ -205,27 +155,69 @@ Class SWWMBrutalHandler : StaticEventHandler for ( int i=0; i 300 ) { - Screen.Dim("Black",.8,0,Screen.GetHeight()-boxh,Screen.GetWidth(),boxh); - Screen.DrawText(fnt,Font.CR_WHITE,(Screen.GetWidth()-fnt.StringWidth(str)*CleanXFac)/2,Screen.GetHeight()-(boxh-8*CleanYFac),str,DTA_CleanNoMove,true); + double fact = clamp(((timer+e.fractic)-300.)/100.,0.,1.); + Screen.Dim("Red",fact,0,0,Screen.GetWidth(),Screen.GetHeight(),STYLE_Add); + rss = MSTime()/10; + pos.x += RandomShiver()*64.*hs*fact*fact; + pos.y += RandomShiver()*64.*hs*fact*fact; } - if ( timer < 140 ) return; - if ( boydance[boyframe].IsValid() ) + Screen.DrawTexture(eztex[0],false,pos.x,pos.y,DTA_ScaleX,hs,DTA_ScaleY,hs); + Screen.SetClipRect(int(pos.x),int(pos.y),int(2800.*hs),int(2100.*hs)); + Screen.Dim("White",1.,int(pos.x),int(pos.y),int(2800.*hs),int(2100.*hs)); + rss = MSTime()/40; + for ( int i=0; i<6; i++ ) { - Screen.DrawTexture(boydance[boyframe],false,112*CleanXFac_1,192*CleanYFac_1,DTA_CleanNoMove_1,true); - Screen.DrawTexture(boydance[boyframe],false,Screen.GetWidth()-112*CleanXFac_1,192*CleanYFac_1,DTA_CleanNoMove_1,true); - Screen.DrawTexture(boydance[boyframe],false,112*CleanXFac_1,Screen.GetHeight()-(boxh+32*CleanYFac_1),DTA_CleanNoMove_1,true); - Screen.DrawTexture(boydance[boyframe],false,Screen.GetWidth()-112*CleanXFac_1,Screen.GetHeight()-(boxh+32*CleanYFac_1),DTA_CleanNoMove_1,true); + double ypos = RandomOffset()*2100.*hs; + Screen.DrawThickLine(pos.x,pos.y+ypos,pos.x+2800.*hs,pos.y+ypos,8.*hs,"Black"); } + for ( int i=0; i<12; i++ ) + { + double ypos = RandomOffset()*2100.*hs; + Screen.DrawThickLine(pos.x,pos.y+ypos,pos.x+2800.*hs,pos.y+ypos,2.*hs,"Black"); + } + if ( ezstate[1] ) + Screen.DrawTexture(eztex[2],false,pos.x+SWWMUtility.Lerp(ezslide[3],ezslide[2],e.fractic),pos.y,DTA_ScaleX,hs,DTA_ScaleY,hs); + if ( ezstate[0] ) + Screen.DrawTexture(eztex[1],false,pos.x+SWWMUtility.Lerp(ezslide[1],ezslide[0],e.fractic),pos.y,DTA_ScaleX,hs,DTA_ScaleY,hs); + for ( int i=0; i<5; i++ ) + { + if ( !ezstate[2+i] ) continue; + if ( i<4 ) Screen.DrawTexture(eztex[3+i],false,pos.x,pos.y,DTA_ScaleX,hs,DTA_ScaleY,hs); + for ( int j=0; j 300 ) + Screen.Dim("Red",clamp(((timer+e.fractic)-350.)/50.,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight(),STYLE_Translucent); } }