diff --git a/credits.txt b/credits.txt index 4d279b70e..571a727e6 100644 --- a/credits.txt +++ b/credits.txt @@ -20,6 +20,8 @@ Most of the work here is original, but there are some notable exceptions: - Title theme, "Traumatic State", by Teque (which a lot of people just know as "the AS-Golgotha music"). - Intermission theme, "Dragony", also by Teque (very comfy music considering the rest of his repertoire). - Startup/credits theme, "Hidden Tune #242", also by Teque too (super comfy music, ideal for this use). + - Kinsie's Test Map theme, "Hypercardish 1.1", ALSO TOO by Teque (seems nice for such an use I guess). + - "Calm" theme taken from .flow, by lol (really damn good Yume Nikki fangame, by the way). - The anti-BD feature uses art and music by IOSYS, art was edited into the Doom palette. - The crash handler uses a short clip of the Curb Your Enthusiasm theme. - Tewi font by lucy (https://github.com/lucy/tewi-font). Modified to add gradients and drop shadow. @@ -36,7 +38,6 @@ Most of the work here is original, but there are some notable exceptions: * Redead-ITA * Sgt. Shivers (@Sgt_Shivers_) * Moa Dixøn / Endie (@MoaDixon) - - A certain hidden easter egg / meme uses crappified/bassboosted edits of Old Days and the CBT Wikipedia article. - Extra gib anims for vanilla monsters: * Ryan Cordell (Demon, Cacodemon, Revenant, Archvile) * Amuscaria (Baron of Hell, Hell Knight) diff --git a/cvarinfo.txt b/cvarinfo.txt index 0ce6b0e62..2ec0e8b80 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -60,8 +60,6 @@ server int swwm_maxcasings = 200; // max casings and spent mags at any time server int swwm_maxdebris = 500; // max chunks of debris at any time user bool swwm_fuzz = true; // allows toggling the fuzz shader on the demolitionist menus, useful if you're streaming/recording since it destroys the encoding quality user bool swwm_cbtpause = true; // wallbuster menu pauses the game -user noarchive int swwm_cbtmeme = 0; // easter egg, hidden cvar -user noarchive bool swwm_cbttime = false; // debug: times how long a reload takes user noarchive int swwm_cbtlast = 0; // last selected ammo for the wallbuster server bool swwm_cbtall = false; // wallbuster breaks any wall, not just movable ones server bool swwm_doomfall = false; // monsters take fall damage outside of hexen diff --git a/language.version b/language.version index 8ae072524..89d654ef6 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r673 \cu(Fri 11 Dec 21:59:04 CET 2020)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r674 \cu(Fri 11 Dec 22:51:47 CET 2020)"; diff --git a/sndinfo.txt b/sndinfo.txt index b044d2595..765b07777 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -627,8 +627,6 @@ wallbuster/load2 sounds/wallbuster/cbt_shellin2.ogg wallbuster/load3 sounds/wallbuster/cbt_shellin3.ogg wallbuster/load4 sounds/wallbuster/cbt_shellin4.ogg $random wallbuster/load { wallbuster/load1 wallbuster/load2 wallbuster/load3 wallbuster/load4 } -wallbuster/cbt sounds/wallbuster/cbt_cbt.ogg -wallbuster/olddays sounds/wallbuster/cbt_olddays.ogg wallbuster/smallbust1 sounds/wallbuster/cbt_smallbust1.ogg wallbuster/smallbust2 sounds/wallbuster/cbt_smallbust2.ogg wallbuster/smallbust3 sounds/wallbuster/cbt_smallbust3.ogg diff --git a/sounds/wallbuster/cbt_cbt.ogg b/sounds/wallbuster/cbt_cbt.ogg deleted file mode 100644 index 71ab3fa86..000000000 Binary files a/sounds/wallbuster/cbt_cbt.ogg and /dev/null differ diff --git a/sounds/wallbuster/cbt_olddays.ogg b/sounds/wallbuster/cbt_olddays.ogg deleted file mode 100644 index c6921aec7..000000000 Binary files a/sounds/wallbuster/cbt_olddays.ogg and /dev/null differ diff --git a/zmapinfo.txt b/zmapinfo.txt index 3a33c78e2..313a1aec3 100644 --- a/zmapinfo.txt +++ b/zmapinfo.txt @@ -35,23 +35,6 @@ GameInfo Border = 2, 0, "graphics/bord_tr.png", "graphics/bord_t.png", "graphics/bord_tl.png", "graphics/bord_r.png", "graphics/bord_l.png", "graphics/bord_br.png", "graphics/bord_b.png", "graphics/bord_bl.png" ForceTextInMenus = true TelefogHeight = 28 - // precaching of frame-heavy objects - PrecacheClasses = "Demolitionist", - "DeepImpact", - "PusherWeapon", - "ExplodiumGun", - "Spreadgun", - "Wallbuster", - "Eviscerator", - "Hellblazer", - "Sparkster", - "SilverBullet", - "CandyGun", - "Ynykron", - "SWWMGesture" - // precache very long stuff - PrecacheSounds = "wallbuster/olddays", - "wallbuster/cbt" } ClearSkills diff --git a/zscript/swwm_cbt.zsc b/zscript/swwm_cbt.zsc index ac25b4416..760d21ae2 100644 --- a/zscript/swwm_cbt.zsc +++ b/zscript/swwm_cbt.zsc @@ -812,9 +812,8 @@ Class Wallbuster : SWWMWeapon Array > reloadqueue; transient bool waitreload; int whichspin; - transient CVar cbtmuffler, timeme; - bool timing; - int reloadtime[2], rnum; + transient CVar cbtmuffler; + int rnum; transient bool cancelreload; transient ui TextureID WeaponBox, AmmoIcon[4], LoadIcon[4], UsedIcon[4], EmptyIcon; @@ -1617,19 +1616,6 @@ Class Wallbuster : SWWMWeapon invoker.rotation[invoker.rotation[5]]--; A_StartSound("wallbuster/load",CHAN_WEAPON,CHANF_OVERLAP); } - action void A_StartReloadTiming() - { - invoker.timing = true; - invoker.reloadtime[0] = level.time; - } - action void A_StopReloadTiming() - { - invoker.timing = false; - invoker.reloadtime[1] = level.time; - if ( !invoker.timeme ) invoker.timeme = CVar.GetCVar('swwm_cbttime',players[consoleplayer]); - if ( (player == players[consoleplayer]) && invoker.timeme.GetBool() ) - Console.Printf("Reloaded %d barrels in %gs",invoker.rnum,(invoker.reloadtime[1]-invoker.reloadtime[0])/35.); - } Default { @@ -1731,11 +1717,7 @@ Class Wallbuster : SWWMWeapon XZW2 A 0; Goto Ready; Reload: - XZW2 A 2 - { - A_StartSound("wallbuster/meleestart",CHAN_WEAPON,CHANF_OVERLAP); - A_StartReloadTiming(); - } + XZW2 A 2 A_StartSound("wallbuster/meleestart",CHAN_WEAPON,CHANF_OVERLAP); XZW4 DEFG 2; XZW4 HIJK 1; XZW4 L 1 A_StartSound("wallbuster/unlock",CHAN_WEAPON,CHANF_OVERLAP); @@ -1920,7 +1902,6 @@ Class Wallbuster : SWWMWeapon XZW8 Z 1 A_StartSound("wallbuster/meleeend",CHAN_WEAPON,CHANF_OVERLAP); XZW9 ABC 1; XZW9 DEF 2; - XZW2 A 0 A_StopReloadTiming(); Goto Ready; User1: XZW2 A 2 diff --git a/zscript/swwm_handler.zsc b/zscript/swwm_handler.zsc index e6d9ad65b..231ef5158 100644 --- a/zscript/swwm_handler.zsc +++ b/zscript/swwm_handler.zsc @@ -17,10 +17,6 @@ Class SWWMStaticHandler : StaticEventHandler String taintver; bool mptaint[MAXPLAYERS]; String mpver[MAXPLAYERS]; - // CBT easter egg - bool initme; - double cbtvol; - transient CVar cbtme; int checktic; override void NewGame() @@ -175,43 +171,6 @@ Class SWWMStaticHandler : StaticEventHandler timer++; } } - - // from Wikipedia, the free encyclopedia - override void WorldTick() - { - if ( !cbtme ) cbtme = CVar.GetCVar('swwm_cbtmeme',players[consoleplayer]); - if ( !players[consoleplayer].mo ) return; - let cbt = players[consoleplayer].mo.FindInventory("Wallbuster"); - if ( !cbt ) return; - if ( cbt == players[consoleplayer].ReadyWeapon ) - { - if ( !initme && (cbtme.GetInt() > 0) ) - { - initme = true; - cbtvol = .6; - } - cbtvol = min(.6,cbtvol+.1); - if ( (cbtme.GetInt() >= 1) && !cbt.IsActorPlayingSound(CHAN_AMBEXTRA+1) ) - cbt.A_StartSound("wallbuster/olddays",CHAN_AMBEXTRA+1,CHANF_UI|CHANF_LOOP,cbtvol,0.); - else if ( (cbtme.GetInt() < 1) && cbt.IsActorPlayingSound(CHAN_AMBEXTRA+1) ) - cbt.A_StopSound(CHAN_AMBEXTRA+1); - if ( (cbtme.GetInt() >= 2) && !cbt.IsActorPlayingSound(CHAN_AMBEXTRA+2) ) - { - // restart the music - if ( cbt.IsActorPlayingSound(CHAN_AMBEXTRA+1) ) - { - cbt.A_StopSound(CHAN_AMBEXTRA+1); - cbt.A_StartSound("wallbuster/olddays",CHAN_AMBEXTRA+1,CHANF_UI|CHANF_LOOP,cbtvol,0.); - } - cbt.A_StartSound("wallbuster/cbt",CHAN_AMBEXTRA+2,CHANF_UI,cbtvol,0.); - } - else if ( (cbtme.GetInt() < 2) && cbt.IsActorPlayingSound(CHAN_AMBEXTRA+2) ) - cbt.A_StopSound(CHAN_AMBEXTRA+2); - } - else cbtvol = max(0.,cbtvol-.1); - cbt.A_SoundVolume(CHAN_AMBEXTRA+1,cbtvol*((cbtme.GetInt()>=2)?.8:1.)); - cbt.A_SoundVolume(CHAN_AMBEXTRA+2,cbtvol); - } } // Handler responsible for item replacements and whatever else diff --git a/zscript/swwm_kbase.zsc b/zscript/swwm_kbase.zsc index d8dd11758..e0e857c35 100644 --- a/zscript/swwm_kbase.zsc +++ b/zscript/swwm_kbase.zsc @@ -1010,7 +1010,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22); xx = 9; yy = 23; @@ -1055,7 +1055,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -1084,7 +1084,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); int ofs = int(max(0,(ofs1/22)-(maxcol-1))*22); xx = 9; yy = 23; @@ -1129,7 +1129,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -1158,7 +1158,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22); xx = 9; yy = 23; @@ -1200,7 +1200,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -1231,7 +1231,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+96); - totalcol = (storelist.Size()/22)+1; + totalcol = int(ceil(storelist.Size()/22.)); // gotta check both the tag and the price for clicking int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22); int cols = 1; @@ -1275,7 +1275,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+96); - totalcol = (storelist.Size()/22)+1; + totalcol = int(ceil(storelist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -1372,7 +1372,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (playerlist.Size()/22)+1; + totalcol = int(ceil(playerlist.Size()/22.)); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22); xx = 9; yy = 23; @@ -1412,7 +1412,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (playerlist.Size()/22)+1; + totalcol = int(ceil(playerlist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -1540,7 +1540,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -1565,7 +1565,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -1592,7 +1592,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+96); - totalcol = (storelist.Size()/22)+1; + totalcol = int(ceil(storelist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -1645,7 +1645,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); if ( maxcol >= totalcol ) return res; // no scrollbar // calculate offset int szr = totalcol-maxcol; @@ -2879,7 +2879,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu if ( len > longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22); for ( int i=ofs; i longest ) longest = len; } maxcol = 622/(longest+24); - totalcol = (invlist.Size()/22)+1; + totalcol = int(ceil(invlist.Size()/22.)); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22); for ( int i=0; i longest ) longest = len; } maxcol = 622/(longest+96); - totalcol = (storelist.Size()/22)+1; + totalcol = int(ceil(storelist.Size()/22.)); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22); int cols = 1; for ( int i=ofs; i