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:
parent
63a97973b1
commit
a8f6417781
280 changed files with 1332 additions and 1357 deletions
|
|
@ -1,20 +1,26 @@
|
|||
// HORNY
|
||||
|
||||
// Surprisingly, I've put in actual effort into this compatibility thing (even
|
||||
// if it's just sort of partial).
|
||||
// Demo-chan has no pp in this body that they can stick into the girls, so all
|
||||
// they get is the headpats. There's some sort of crazy magic going on here,
|
||||
// that makes the demon gals fall to their knees instantly. Saya thinks it
|
||||
// might be a side effect of teaching them the "blow kiss" spell (which has the
|
||||
// same effect).
|
||||
// Obviously, all the standard weapons work, and these gals appear to be of the
|
||||
// masochistic kind. This is generally not very effective compared to the pats
|
||||
// and smooches, but it's there, if you're willing to hurt them (I wouldn't).
|
||||
// enjoy getting bonked, you pervy perv
|
||||
Class SWWMHDoomHandler : StaticEventHandler
|
||||
{
|
||||
int callout_len;
|
||||
ui int timer;
|
||||
ui TextureID scr;
|
||||
ui TextureID bonker, bonk, bonked;
|
||||
bool detected;
|
||||
ui int rss;
|
||||
|
||||
ui Font mBigFont;
|
||||
|
||||
private ui int GetUIRandom()
|
||||
{
|
||||
return (rss = (rss<<1)*35447+(rss/87));
|
||||
}
|
||||
|
||||
private ui double RandomShiver()
|
||||
{
|
||||
int sd = GetUIRandom();
|
||||
return ((abs(sd)%11)-5)*.1;
|
||||
}
|
||||
|
||||
override void OnRegister()
|
||||
{
|
||||
|
|
@ -26,14 +32,15 @@ Class SWWMHDoomHandler : StaticEventHandler
|
|||
}
|
||||
if ( !detected )
|
||||
return;
|
||||
SetRandomSeed[hdscreen](Random[hdscreen]()+consoleplayer+MSTime());
|
||||
callout_len = int(ceil((S_GetLength("hdoom/horny")*GameTicRate)/16)*16);
|
||||
SetRandomSeed[hdscreen](Random[hdscreen]()+consoleplayer+int(MSTimeF()));
|
||||
Console.Printf(
|
||||
"\cx┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\c-\n"
|
||||
"\cx┃ \cfOh my, someone appears to be \cgH \ckO \cdR \cvN \chY \ct♥ \cx┃\c-\n"
|
||||
"\cx┃ \cfWell, all you'll be getting here is the power of headpats. \cx┃\c-\n"
|
||||
"\cx┃ \cfIf you want Demo-chan to actually fuck some hot demon girls, \cx┃\c-\n"
|
||||
"\cx┃ \cfjust go commission a porn artist or something, idk. \cx┃\c-\n"
|
||||
"\cx┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\c-");
|
||||
"\cx┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\c-\n"
|
||||
"\cx┃ \cfOh my, someone appears to be \cgH \ckO \cdR \cvN \chY \ct♥ \cx┃\c-\n"
|
||||
"\cx┃ \cfWell, too bad, this mod isn't compatible with H-Doom \cx┃\c-\n"
|
||||
"\cx┃ ┃\c-\n"
|
||||
"\cx┃ \cfget bonked \cx┃\c-\n"
|
||||
"\cx┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\c-");
|
||||
S_StartSound("compat/warn",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
}
|
||||
|
||||
|
|
@ -44,37 +51,13 @@ Class SWWMHDoomHandler : StaticEventHandler
|
|||
Destroy();
|
||||
}
|
||||
|
||||
static bool IsCuteGirl( Actor a )
|
||||
{
|
||||
Class p = a.GetClass();
|
||||
while ( p.GetParentClass() && (p.GetParentClass() != 'Actor') )
|
||||
{
|
||||
p = p.GetParentClass();
|
||||
if ( p.GetClassName() == 'HDoomMonster' )
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool IsSexyTime( Actor a )
|
||||
{
|
||||
Class p = a.GetClass();
|
||||
while ( p.GetParentClass() && (p.GetParentClass() != 'Actor') )
|
||||
{
|
||||
p = p.GetParentClass();
|
||||
if ( p.GetClassName() == 'SexActor' )
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool IsStaticSexyTime( Actor a )
|
||||
{
|
||||
Class p = a.GetClass();
|
||||
while ( p.GetParentClass() && (p.GetParentClass() != 'Actor') )
|
||||
{
|
||||
p = p.GetParentClass();
|
||||
if ( p.GetClassName() == 'StaticSexActor' )
|
||||
if ( (p.GetClassName() == 'SexActor') || (p.GetClassName() == 'StaticSexActor') )
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -82,101 +65,56 @@ Class SWWMHDoomHandler : StaticEventHandler
|
|||
|
||||
override void WorldThingSpawned( WorldEvent e )
|
||||
{
|
||||
// demo can't sex the ladies (not with this body)
|
||||
// spawn a headpat tracker, we can at least do this much for them
|
||||
if ( IsSexyTime(e.Thing) )
|
||||
{
|
||||
e.Thing.bUSESPECIAL = false;
|
||||
let hp = Actor.Spawn("HeadpatTracker",e.Thing.pos);
|
||||
hp.target = e.Thing;
|
||||
// sweet dreams, demon
|
||||
HeadpatTracker(hp).patstate = e.Thing.FindState("TooLate");
|
||||
HeadpatTracker(hp).deathstate = e.Thing.FindState("Finish");
|
||||
// height fixes
|
||||
String cname = e.Thing.GetClassName();
|
||||
if ( cname.Left(12) ~== "Cacodemoness" )
|
||||
HeadpatTracker(hp).hdoomheightfix = .2;
|
||||
else if ( cname.Left(12) ~== "ImpEncounter" )
|
||||
HeadpatTracker(hp).hdoomheightfix = .35;
|
||||
else if ( cname.Left(8) ~== "Mancubus" )
|
||||
HeadpatTracker(hp).hdoomheightfix = .1;
|
||||
else if ( cname.Left(9) ~== "HLostSoul" )
|
||||
HeadpatTracker(hp).hdoomheightfix = .5;
|
||||
else if ( cname.Left(10) ~== "ArchViless" )
|
||||
HeadpatTracker(hp).hdoomheightfix = -.1;
|
||||
}
|
||||
else if ( IsStaticSexyTime(e.Thing) )
|
||||
{
|
||||
e.Thing.bUSESPECIAL = false;
|
||||
let hp = Actor.Spawn("HeadpatTracker",e.Thing.pos);
|
||||
hp.target = e.Thing;
|
||||
if ( e.Thing.GetClassName() == 'ImpInAChair' )
|
||||
{
|
||||
HeadpatTracker(hp).hdoomheightfix = .2;
|
||||
HeadpatTracker(hp).hdoomangfix = 15;
|
||||
}
|
||||
}
|
||||
else if ( IsCuteGirl(e.Thing) )
|
||||
{
|
||||
let hp = Actor.Spawn("HeadpatTracker",e.Thing.pos);
|
||||
hp.target = e.Thing;
|
||||
// sweet dreams, demon
|
||||
HeadpatTracker(hp).lethalpat = true;
|
||||
String cname = e.Thing.GetClassName();
|
||||
// height fixes
|
||||
if ( cname.Left(12) ~== "ImpEncounter" )
|
||||
HeadpatTracker(hp).hdoomheightfix = .1;
|
||||
else if ( cname.Left(8) ~== "Mancubus" )
|
||||
HeadpatTracker(hp).hdoomheightfix = -.1;
|
||||
else if ( cname.Left(9) ~== "HLostSoul" )
|
||||
HeadpatTracker(hp).hdoomheightfix = .5;
|
||||
else if ( cname.Left(10) ~== "ArchViless" )
|
||||
HeadpatTracker(hp).hdoomheightfix = -.3;
|
||||
}
|
||||
}
|
||||
|
||||
override void WorldThingRevived( WorldEvent e )
|
||||
{
|
||||
// reattach pats
|
||||
WorldThingSpawned(e);
|
||||
// no interaction available
|
||||
if ( IsSexyTime(e.Thing) ) e.Thing.bUSESPECIAL = false;
|
||||
}
|
||||
|
||||
override void UiTick()
|
||||
{
|
||||
if ( !detected ) return;
|
||||
if ( gamestate == GS_LEVEL )
|
||||
if ( !detected || (gamestate != GS_LEVEL) )
|
||||
{
|
||||
if ( timer == 50 )
|
||||
{
|
||||
S_StartSound("bestsound",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
S_StartSound("bestsound",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
}
|
||||
else if ( timer == 70 )
|
||||
{
|
||||
int ngiggl = Random[hdscreen](1,14);
|
||||
S_StartSound(String.Format("saya/giggle%d",ngiggl),CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
S_StartSound(String.Format("saya/giggle%d",ngiggl),CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
}
|
||||
timer++;
|
||||
timer = 0;
|
||||
return;
|
||||
}
|
||||
else timer = 0;
|
||||
if ( timer == 16 )
|
||||
{
|
||||
S_StartSound("hdoom/horny",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
S_StartSound("hdoom/horny",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE);
|
||||
}
|
||||
if ( timer == callout_len+24 )
|
||||
{
|
||||
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);
|
||||
bonker = TexMan.CheckForTexture("graphics/HDoom_Bonker.png");
|
||||
bonk = TexMan.CheckForTexture("graphics/HDoom_Bonk.png");
|
||||
bonked = TexMan.CheckForTexture("graphics/HDoom_Bonked.png");
|
||||
}
|
||||
else if ( (timer >= callout_len+32) && !(timer%16) )
|
||||
{
|
||||
double ptch = FRandom[hdscreen](.95,1.05);
|
||||
S_StartSound("hdoom/bonk",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE,ptch);
|
||||
S_StartSound("hdoom/bonk",CHAN_YOUDONEFUCKEDUP,CHANF_UI|CHANF_NOPAUSE|CHANF_OVERLAP,1,ATTN_NONE,ptch);
|
||||
}
|
||||
timer++;
|
||||
}
|
||||
|
||||
override void RenderOverlay( RenderEvent e )
|
||||
{
|
||||
if ( !detected || (timer < 50) || (timer > 150) ) return;
|
||||
if ( !scr ) scr = TexMan.CheckForTexture("graphics/hdscreen.png");
|
||||
double ar = Screen.GetAspectRatio();
|
||||
Vector2 tsize = TexMan.GetScaledSize(scr);
|
||||
Vector2 vsize = (Screen.GetWidth(),Screen.GetHeight());
|
||||
if ( (tsize.x > vsize.x) || (tsize.y > vsize.y) )
|
||||
{
|
||||
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;
|
||||
}
|
||||
double alph = clamp(2.5-(timer+e.FracTic)/50.,0.,.25)*4.;
|
||||
Screen.DrawTexture(scr,false,(vsize.x-tsize.x)/2.,(vsize.y-tsize.y)/2.,DTA_VirtualWidthF,vsize.x,DTA_VirtualHeightF,vsize.y,DTA_KeepRatio,true,DTA_Alpha,alph);
|
||||
if ( !detected || (timer < callout_len+24) ) return;
|
||||
if ( !mBigFont ) mBigFont = Font.GetFont('TewiFontOutline');
|
||||
double scl = max(min(floor(Screen.GetWidth()/120.),floor(Screen.GetHeight()/100)),1.);
|
||||
double iscl = scl/4.;
|
||||
double ox = Screen.GetWidth()/2;
|
||||
double oy = Screen.GetHeight()/2-4*scl;
|
||||
String str = "HORNY";
|
||||
double alf = clamp(16-((timer%16)+e.FracTic)*2,0,16)/16.;
|
||||
rss = MSTime()/10;
|
||||
Vector2 ofs = (RandomShiver(),RandomShiver())*3.*scl*alf;
|
||||
Screen.DrawText(mBigFont,Font.CR_SAPPHIRE,ox-(mBigFont.StringWidth(str)*scl*2)/2+ofs.x,oy+8*scl+ofs.y,str,DTA_ScaleX,scl*2,DTA_ScaleY,scl*2);
|
||||
Screen.DrawText(mBigFont,Font.FindFontColor('MiniFlash'),ox-(mBigFont.StringWidth(str)*scl*2)/2+ofs.x,oy+8*scl+ofs.y,str,DTA_ScaleX,scl*2,DTA_ScaleY,scl*2,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alf);
|
||||
double phase = cos(((timer+e.FracTic)-32)*22.5)*.5+.5;
|
||||
Screen.DrawTexture(bonker,false,ox+18*scl,oy,DTA_ScaleX,iscl,DTA_ScaleY,iscl,DTA_Rotate,-15+phase*5);
|
||||
Screen.DrawTexture(bonked,false,ox-22*scl,oy,DTA_ScaleX,iscl,DTA_ScaleY,iscl*(1.-max(phase-.8,0.)),DTA_Rotate,5-phase*5);
|
||||
Screen.DrawTexture(bonk,false,ox+10*scl,oy+2*scl,DTA_ScaleX,iscl,DTA_ScaleY,iscl,DTA_Rotate,-45+phase*45);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue