This commit is contained in:
Daveo 2001-07-20 18:01:51 +00:00
parent 1189ae7989
commit 5cbd3fe4ab
2 changed files with 15 additions and 3 deletions

View file

@ -22,6 +22,8 @@ void CFXGeyser::init(DVECTOR const &_Pos)
Height=TargetHeight=8;
currentFrame=FRM__GUSH000;
SoundId = NOT_PLAYING;
BasePos=_Pos;
OtPos++;
}
/*****************************************************************************/
@ -39,7 +41,7 @@ void CFXGeyser::shutdown()
void CFXGeyser::think(int Frames)
{
CFX::think(Frames);
Pos=BasePos;
currentFrame++;
if (currentFrame>FRM__GUSH003)
{
@ -57,6 +59,7 @@ DVECTOR RenderPos;
POLY_FT4 *Ft4;
SpriteBank *SprBank=CGameScene::getSpriteBank();
CThing *Parent=getParent();
int W;
getFXRenderPos(RenderPos);
if (!canRender() || Flags & FX_FLAG_HIDDEN) return;
@ -95,10 +98,13 @@ CThing *Parent=getParent();
}
// top
Ft4=SprBank->printFT4(currentFrame,RenderPos.vx,RenderPos.vy-Height,0,0,OtPos);
Ft4=SprBank->printFT4(currentFrame,RenderPos.vx-8,RenderPos.vy-Height,0,0,OtPos);
setShadeTex(Ft4,0);
setRGB0(Ft4,RGB.R,RGB.G,RGB.B);
setSemiTrans(Ft4,Flags & FX_FLAG_TRANS);
W=(Ft4->x1-Ft4->x0)/2;
Ft4->x0-=W; Ft4->x1+=W;
Ft4->x2-=W; Ft4->x3+=W;
int FrameW=Ft4->x1-Ft4->x0;
setCollisionCentreOffset(FrameW>>1,-Height/2);
@ -106,13 +112,18 @@ int FrameW=Ft4->x1-Ft4->x0;
setCollisionSize(FrameW,Height);
// Base
Ft4=SprBank->printFT4(FRM__GUSHBASE,RenderPos.vx,RenderPos.vy,0,0,OtPos);
Ft4=SprBank->printFT4(FRM__GUSHBASE,RenderPos.vx-8,RenderPos.vy,currentFrame&2,0/*currentFrame&2*/,OtPos);
setShadeTex(Ft4,0);
setRGB0(Ft4,RGB.R,RGB.G,RGB.B);
setSemiTrans(Ft4,Flags & FX_FLAG_TRANS);
W=(Ft4->x1-Ft4->x0)/2;
Ft4->x0-=W+2; Ft4->x1+=W+2;
Ft4->x2-=W-2; Ft4->x3+=W-2;
Ft4->y0=Ft4->y2-Height;
Ft4->y1=Ft4->y3-Height;
Ft4->v0++; Ft4->v1++;
Ft4->v2--; Ft4->v3--;
}

View file

@ -23,6 +23,7 @@ protected:
s16 TargetHeight,Height;
u16 currentFrame;
int SoundId;
DVECTOR BasePos;
};
#endif