An important rewrite that was a long time coming.

First, a message: There is a time and a place for everything, and understanding
what is and is not appropriate is a fundamental aspect of how one should behave
in society. I must take steps in correcting my behavior, how I act both through
my interactions with others and through my own creations as well. While this is
only one step in a very, very long road, it is hopefully a step in the right
direction.

Various aspects of the story and lore, dialogues, character interactions, etc.
have been sanitized to be less explicit. I cannot in good conscience have
something like this in a project I'm creating, especially one with such a broad
audience as the one it has garnered.

A couple other things have been removed, such as direct references to
problematic media, and I've decided to forego the H-Doom compatibility that was
added "as a joke".

These changes will also be later applied to the side mods as well.

Should I have still missed anything, I please ask that people notify me and I
will address it as soon as I possibly can.

Furthermore, if any of the people still credited in this mod wish to have their
name and anything they contributed removed from it, I will do so.
This commit is contained in:
Mari the Deer 2023-03-17 11:52:36 +01:00
commit a8f6417781
280 changed files with 1332 additions and 1357 deletions

View file

@ -13,14 +13,13 @@
Class SWWMBrutalHandler : StaticEventHandler
{
ui int timer;
ui TextureID scr;
ui TextureID scr[85];
bool detected;
String which, whichshort;
override void OnRegister()
{
if ( swwm_iseriouslywanttoplaythiswithbd )
return;
// check for brutal doom
foreach ( cls:AllActorClasses )
{
if ( cls.GetClassName() == "BDoomer" )
@ -35,21 +34,22 @@ Class SWWMBrutalHandler : StaticEventHandler
which = "Project Brutality";
whichshort = "PB";
}
if ( detected ) break;
if ( !detected ) continue;
let shnd = SWWMStaticHandler(StaticEventHandler.Find("SWWMStaticHandler"));
shnd.isbd = true;
shnd.bdname = which;
Console.Printf(
"\cx┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\c-\n"
"\cx┃ \cfIf you have "..whichshort.." on your autoload you really shouldn't. \cx┃\c-\n"
"\cx┃ \cfIf you manually loaded it with this mod, why would you? \cx┃\c-\n"
"\cx┃ \cfThey're not compatible and never will be. \cx┃\c-\n"
"\cx┃ \cfThis mod will now shit the bed once you go in-game, \cx┃\c-\n"
"\cx┃ \cfand trust me, it's better this way. \cx┃\c-\n"
"\cx┃ \cf<See you again, have a nice day> \cx┃\c-\n"
"\cx┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\c-");
S_StartSound("compat/warn",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
break;
}
if ( !detected )
return;
SetRandomSeed[bdscreen](Random[bdscreen]()+consoleplayer+MSTime());
Console.Printf(
"\cx┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\c-\n"
"\cx┃ \cfIf you have "..whichshort.." on your autoload you really shouldn't. \cx┃\c-\n"
"\cx┃ \cfIf you manually loaded it with this mod, why would you? \cx┃\c-\n"
"\cx┃ \cfThey're not compatible and never will be. \cx┃\c-\n"
"\cx┃ \cfThis mod will now shit the bed once you go in-game, \cx┃\c-\n"
"\cx┃ \cfand trust me, it's better this way. \cx┃\c-\n"
"\cx┃ \cf<See you again, have a nice day> \cx┃\c-\n"
"\cx┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\c-");
S_StartSound("compat/warn",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
}
override void WorldLoaded( WorldEvent e )
@ -61,18 +61,26 @@ Class SWWMBrutalHandler : StaticEventHandler
override void UiTick()
{
if ( !detected ) return;
if ( gamestate == GS_LEVEL )
if ( !detected || (gamestate != GS_LEVEL) )
{
if ( timer == 1 )
{
S_StartSound("brutal/ezmodo",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
S_StartSound("brutal/ezmodo",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
}
else if ( timer == 350 ) ThrowAbortException("This manual abort is for your own safety");
timer++;
timer = 0;
return;
}
else timer = 0;
if ( timer == 35 )
{
S_StartSound("misc/spawn",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
S_StartSound("misc/spawn",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
}
else if ( timer == 140 )
{
for ( int i=0; i<85; i++ )
scr[i] = TexMan.CheckForTexture(String.Format("graphics/BDScreen/BDSCR%03d.jpg",i+1));
S_ChangeMusic("",force:true);
S_StartSound("brutal/bdscreen",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
S_StartSound("brutal/bdscreen",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
}
else if ( timer == 484 ) ThrowAbortException("This manual abort is for your own safety");
timer++;
}
override void WorldTick()
@ -84,19 +92,16 @@ Class SWWMBrutalHandler : StaticEventHandler
override void RenderOverlay( RenderEvent e )
{
if ( !detected ) return;
if ( !scr ) scr = TexMan.CheckForTexture("graphics/bdscreen.png");
Screen.Dim("Red",(timer/350.)-.2,0,0,Screen.GetWidth(),Screen.GetHeight());
double ar = Screen.GetAspectRatio();
Vector2 tsize = TexMan.GetScaledSize(scr);
Vector2 vsize = (Screen.GetWidth(),Screen.GetHeight());
if ( (tsize.x > vsize.x) || (tsize.y > vsize.y) )
if ( timer < 35 ) return;
Screen.Dim("Black",clamp(((timer+e.fractic)-35.)/70.,0.,1.),0,0,Screen.GetWidth(),Screen.GetHeight());
if ( timer < 140 )
{
double 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;
String str = "Can I run this with \cg"..which.."\c-?";
Screen.DrawText(bigfont,Font.CR_WHITE,(Screen.GetWidth()-bigfont.StringWidth(str)*CleanXFac_1)/2,(Screen.GetHeight()-bigfont.GetHeight()*CleanYFac_1)/2,str,DTA_CleanNoMove_1,true);
return;
}
Screen.DrawTexture(scr,false,(vsize.x-tsize.x)/2.+FRandom[bdscreen](-1,1)*max(timer-40,0)**3*.000003,(vsize.y-tsize.y)/2.+FRandom[bdscreen](-1,1)*max(timer-40,0)**3*.000003,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true,DTA_Alpha,min(1.,timer/50.));
Screen.Dim("Red",(timer/70.)-3.5,0,0,Screen.GetWidth(),Screen.GetHeight());
int frameno = clamp((timer-140)/4,0,84);
double scl = max(floor(Screen.GetWidth()/320.),1.);
Screen.DrawTexture(scr[frameno],false,(Screen.GetWidth()-320*scl)/2,(Screen.GetHeight()-132*scl)/2,DTA_ScaleX,scl,DTA_ScaleY,scl);
}
}