A whole fat load of micro-optimizations.
Okuplok still lags like fuck, unfortunately.
This commit is contained in:
parent
825caeca29
commit
b6f631f6e9
15 changed files with 369 additions and 280 deletions
|
|
@ -3009,6 +3009,7 @@ Class MykradvoX : GhostArtifactX
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
A_StartSound("powerup/mykradvoamb",CHAN_VOICE,CHANF_LOOP,attenuation:2.);
|
||||
WorldOffset = (0,0,16);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -3024,9 +3025,13 @@ Class MykradvoX : GhostArtifactX
|
|||
FloatBobPhase = target.FloatBobPhase;
|
||||
A_SetScale(.16+.01*sin(GetAge()*4));
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW0');
|
||||
bool bOldInvis = bInvisible;
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
SetState(SpawnState+bInvisible);
|
||||
A_SoundVolume(CHAN_VOICE,bInvisible?0.:1.);
|
||||
if ( bInvisible != bOldInvis )
|
||||
{
|
||||
SetState(SpawnState+bInvisible);
|
||||
A_SoundVolume(CHAN_VOICE,bInvisible?0.:1.);
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -3043,6 +3048,11 @@ Class MykradvoX2 : GhostArtifactX
|
|||
{
|
||||
+ROLLSPRITE;
|
||||
}
|
||||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
WorldOffset = (0,0,16+special2);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if ( !target )
|
||||
|
|
@ -3050,17 +3060,19 @@ Class MykradvoX2 : GhostArtifactX
|
|||
Destroy();
|
||||
return;
|
||||
}
|
||||
prev = target.prev+(0,0,16+special2);
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos+(0,0,16+special2)) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+(0,0,16+special2)+vel,true);
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
A_SetPitch(sin(GetAge()*special1*8)*5,SPF_INTERPOLATE);
|
||||
A_SetRoll(cos(GetAge()*special1*8)*5,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
A_SetScale(1.+.05*cos(GetAge()*4)*special1);
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW0');
|
||||
bool bOldInvis = bInvisible;
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
SetState(SpawnState+bInvisible);
|
||||
if ( bInvisible != bOldInvis )
|
||||
SetState(SpawnState+bInvisible);
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -3429,6 +3441,7 @@ Class AngerySigilX : GhostArtifactX
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
A_StartSound("powerup/devastationamb",CHAN_VOICE,CHANF_LOOP,attenuation:2.);
|
||||
WorldOffset = (0,0,20);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -3437,15 +3450,19 @@ Class AngerySigilX : GhostArtifactX
|
|||
Destroy();
|
||||
return;
|
||||
}
|
||||
prev = target.prev+(0,0,20);
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos+(0,0,20)) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+(0,0,20)+vel,true);
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW1');
|
||||
bool bOldInvis = bInvisible;
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
SetState(SpawnState+bInvisible);
|
||||
A_SoundVolume(CHAN_VOICE,bInvisible?0.:1.);
|
||||
if ( bInvisible != bOldInvis )
|
||||
{
|
||||
SetState(SpawnState+bInvisible);
|
||||
A_SoundVolume(CHAN_VOICE,bInvisible?0.:1.);
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
@ -3701,6 +3718,7 @@ Class DivineSpriteX : GhostArtifactX
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
A_StartSound("powerup/divineamb",CHAN_VOICE,CHANF_LOOP,attenuation:2.);
|
||||
WorldOffset = (0,0,16);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -3709,15 +3727,19 @@ Class DivineSpriteX : GhostArtifactX
|
|||
Destroy();
|
||||
return;
|
||||
}
|
||||
prev = target.prev+(0,0,16);
|
||||
prev = target.prev;
|
||||
vel = target.vel;
|
||||
if ( (target.pos != pos+(0,0,16)) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+(0,0,16)+vel,true);
|
||||
if ( (target.pos != pos) || (target.vel != (0,0,0)) ) SetOrigin(target.pos+vel,true);
|
||||
if ( angle != target.angle ) A_SetAngle(target.angle,SPF_INTERPOLATE);
|
||||
FloatBobPhase = target.FloatBobPhase;
|
||||
if ( !bsprite ) bsprite = GetSpriteIndex('XZW1');
|
||||
bool bOldInvis = bInvisible;
|
||||
bInvisible = target.bInvisible||(target.sprite!=bsprite);
|
||||
SetState(SpawnState+bInvisible);
|
||||
A_SoundVolume(CHAN_VOICE,bInvisible?0.:1.);
|
||||
if ( bOldInvis != bInvisible )
|
||||
{
|
||||
SetState(SpawnState+bInvisible);
|
||||
A_SoundVolume(CHAN_VOICE,bInvisible?0.:1.);
|
||||
}
|
||||
}
|
||||
States
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue