Fixed item lists having scrollbars when they shouldn't.

Removed Wallbuster reload timer debug cvar (not needed).
Removed CBT easter egg.
Removed PrecacheClasses from ZMAPINFO (no longer needed since 4.5 as UE1 models load much faster).
This commit is contained in:
Mari the Deer 2020-12-11 22:43:50 +01:00
commit 7e3e78b209
10 changed files with 23 additions and 103 deletions

View file

@ -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"). - 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). - 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). - 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 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. - 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. - 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 * Redead-ITA
* Sgt. Shivers (@Sgt_Shivers_) * Sgt. Shivers (@Sgt_Shivers_)
* Moa Dixøn / Endie (@MoaDixon) * 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: - Extra gib anims for vanilla monsters:
* Ryan Cordell (Demon, Cacodemon, Revenant, Archvile) * Ryan Cordell (Demon, Cacodemon, Revenant, Archvile)
* Amuscaria (Baron of Hell, Hell Knight) * Amuscaria (Baron of Hell, Hell Knight)

View file

@ -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 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_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 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 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_cbtall = false; // wallbuster breaks any wall, not just movable ones
server bool swwm_doomfall = false; // monsters take fall damage outside of hexen server bool swwm_doomfall = false; // monsters take fall damage outside of hexen

View file

@ -1,2 +1,2 @@
[default] [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)";

View file

@ -627,8 +627,6 @@ wallbuster/load2 sounds/wallbuster/cbt_shellin2.ogg
wallbuster/load3 sounds/wallbuster/cbt_shellin3.ogg wallbuster/load3 sounds/wallbuster/cbt_shellin3.ogg
wallbuster/load4 sounds/wallbuster/cbt_shellin4.ogg wallbuster/load4 sounds/wallbuster/cbt_shellin4.ogg
$random wallbuster/load { wallbuster/load1 wallbuster/load2 wallbuster/load3 wallbuster/load4 } $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/smallbust1 sounds/wallbuster/cbt_smallbust1.ogg
wallbuster/smallbust2 sounds/wallbuster/cbt_smallbust2.ogg wallbuster/smallbust2 sounds/wallbuster/cbt_smallbust2.ogg
wallbuster/smallbust3 sounds/wallbuster/cbt_smallbust3.ogg wallbuster/smallbust3 sounds/wallbuster/cbt_smallbust3.ogg

Binary file not shown.

Binary file not shown.

View file

@ -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" 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 ForceTextInMenus = true
TelefogHeight = 28 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 ClearSkills

View file

@ -812,9 +812,8 @@ Class Wallbuster : SWWMWeapon
Array<Class<Ammo> > reloadqueue; Array<Class<Ammo> > reloadqueue;
transient bool waitreload; transient bool waitreload;
int whichspin; int whichspin;
transient CVar cbtmuffler, timeme; transient CVar cbtmuffler;
bool timing; int rnum;
int reloadtime[2], rnum;
transient bool cancelreload; transient bool cancelreload;
transient ui TextureID WeaponBox, AmmoIcon[4], LoadIcon[4], UsedIcon[4], EmptyIcon; transient ui TextureID WeaponBox, AmmoIcon[4], LoadIcon[4], UsedIcon[4], EmptyIcon;
@ -1617,19 +1616,6 @@ Class Wallbuster : SWWMWeapon
invoker.rotation[invoker.rotation[5]]--; invoker.rotation[invoker.rotation[5]]--;
A_StartSound("wallbuster/load",CHAN_WEAPON,CHANF_OVERLAP); 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 Default
{ {
@ -1731,11 +1717,7 @@ Class Wallbuster : SWWMWeapon
XZW2 A 0; XZW2 A 0;
Goto Ready; Goto Ready;
Reload: Reload:
XZW2 A 2 XZW2 A 2 A_StartSound("wallbuster/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
{
A_StartSound("wallbuster/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
A_StartReloadTiming();
}
XZW4 DEFG 2; XZW4 DEFG 2;
XZW4 HIJK 1; XZW4 HIJK 1;
XZW4 L 1 A_StartSound("wallbuster/unlock",CHAN_WEAPON,CHANF_OVERLAP); 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); XZW8 Z 1 A_StartSound("wallbuster/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZW9 ABC 1; XZW9 ABC 1;
XZW9 DEF 2; XZW9 DEF 2;
XZW2 A 0 A_StopReloadTiming();
Goto Ready; Goto Ready;
User1: User1:
XZW2 A 2 XZW2 A 2

View file

@ -17,10 +17,6 @@ Class SWWMStaticHandler : StaticEventHandler
String taintver; String taintver;
bool mptaint[MAXPLAYERS]; bool mptaint[MAXPLAYERS];
String mpver[MAXPLAYERS]; String mpver[MAXPLAYERS];
// CBT easter egg
bool initme;
double cbtvol;
transient CVar cbtme;
int checktic; int checktic;
override void NewGame() override void NewGame()
@ -175,43 +171,6 @@ Class SWWMStaticHandler : StaticEventHandler
timer++; 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 // Handler responsible for item replacements and whatever else

View file

@ -1010,7 +1010,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); 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); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22);
xx = 9; xx = 9;
yy = 23; yy = 23;
@ -1055,7 +1055,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); maxcol = 622/(longest+24);
totalcol = (invlist.Size()/22)+1; totalcol = int(ceil(invlist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -1084,7 +1084,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); 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); int ofs = int(max(0,(ofs1/22)-(maxcol-1))*22);
xx = 9; xx = 9;
yy = 23; yy = 23;
@ -1129,7 +1129,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); maxcol = 622/(longest+24);
totalcol = (invlist.Size()/22)+1; totalcol = int(ceil(invlist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -1158,7 +1158,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); 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); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22);
xx = 9; xx = 9;
yy = 23; yy = 23;
@ -1200,7 +1200,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); maxcol = 622/(longest+24);
totalcol = (invlist.Size()/22)+1; totalcol = int(ceil(invlist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -1231,7 +1231,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+96); 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 // gotta check both the tag and the price for clicking
int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22);
int cols = 1; int cols = 1;
@ -1275,7 +1275,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+96); maxcol = 622/(longest+96);
totalcol = (storelist.Size()/22)+1; totalcol = int(ceil(storelist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -1372,7 +1372,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); 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); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22);
xx = 9; xx = 9;
yy = 23; yy = 23;
@ -1412,7 +1412,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); maxcol = 622/(longest+24);
totalcol = (playerlist.Size()/22)+1; totalcol = int(ceil(playerlist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -1540,7 +1540,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); maxcol = 622/(longest+24);
totalcol = (invlist.Size()/22)+1; totalcol = int(ceil(invlist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -1565,7 +1565,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); maxcol = 622/(longest+24);
totalcol = (invlist.Size()/22)+1; totalcol = int(ceil(invlist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -1592,7 +1592,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+96); maxcol = 622/(longest+96);
totalcol = (storelist.Size()/22)+1; totalcol = int(ceil(storelist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -1645,7 +1645,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); maxcol = 622/(longest+24);
totalcol = (invlist.Size()/22)+1; totalcol = int(ceil(invlist.Size()/22.));
if ( maxcol >= totalcol ) return res; // no scrollbar if ( maxcol >= totalcol ) return res; // no scrollbar
// calculate offset // calculate offset
int szr = totalcol-maxcol; int szr = totalcol-maxcol;
@ -2879,7 +2879,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); 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); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22);
for ( int i=ofs; i<invlist.Size(); i++ ) for ( int i=ofs; i<invlist.Size(); i++ )
{ {
@ -2938,7 +2938,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+24); 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); int ofs = int(max(0,(ofs0/22)-(maxcol-1))*22);
for ( int i=0; i<invlist.Size(); i++ ) for ( int i=0; i<invlist.Size(); i++ )
{ {
@ -3067,7 +3067,7 @@ Class SWWMKnowledgeBaseMenu : GenericMenu
if ( len > longest ) longest = len; if ( len > longest ) longest = len;
} }
maxcol = 622/(longest+96); 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 ofs = int(max(0,(ofs0/22)-(maxcol-1))*22);
int cols = 1; int cols = 1;
for ( int i=ofs; i<storelist.Size(); i++ ) for ( int i=ofs; i<storelist.Size(); i++ )