This commit is contained in:
parent
88577baa66
commit
4401fd2f1e
4 changed files with 23 additions and 12 deletions
|
@ -64,6 +64,7 @@ void CGlassesPickup::init()
|
|||
CBasePickup::init();
|
||||
|
||||
m_glint=0;
|
||||
m_glintRot=0;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
|
@ -84,15 +85,18 @@ void CGlassesPickup::collect(class CPlayer *_player)
|
|||
Params:
|
||||
Returns:
|
||||
---------------------------------------------------------------------- */
|
||||
int glasses_glintframes=16;
|
||||
int glasses_glintwait=400;
|
||||
int glasses_glintspeed=1;
|
||||
int glasses_glintframes=20;
|
||||
int glasses_glintwait=500;
|
||||
int glasses_glintRotSpeed=200;
|
||||
DVECTOR glasses_gxy={-3,-4};
|
||||
int glasses_glintFrames[]={FRM__GLINT1,FRM__GLINT2,FRM__GLINT3,FRM__GLINT4};
|
||||
static const int glasses_glintFrames[]={FRM__GLINT1,FRM__GLINT2,FRM__GLINT3,FRM__GLINT4,FRM__GLINT4,FRM__GLINT3,FRM__GLINT2,FRM__GLINT1};
|
||||
void CGlassesPickup::thinkPickup(int _frames)
|
||||
{
|
||||
m_glint+=_frames*glasses_glintspeed;
|
||||
m_glint+=_frames;
|
||||
if(m_glint>glasses_glintframes+glasses_glintwait)m_glint=0;
|
||||
m_glintRot+=_frames*glasses_glintRotSpeed;
|
||||
m_glintRot&=4095;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
|
@ -115,8 +119,8 @@ void CGlassesPickup::renderPickup(DVECTOR *_pos)
|
|||
|
||||
if(m_glint<=glasses_glintframes)
|
||||
{
|
||||
fh=sprites->getFrameHeader(glasses_glintFrames[m_glint&0x03]);
|
||||
sprites->printFT4(fh,x+glasses_gxy.vx,y+glasses_gxy.vy,0,0,PICKUPS_OT_POS-1);
|
||||
fh=sprites->getFrameHeader(glasses_glintFrames[(m_glint>>glasses_glintspeed)&0x07]);
|
||||
sprites->printRotatedScaledSprite(fh,x+glasses_gxy.vx,y+glasses_gxy.vy,4095,4095,m_glintRot,PICKUPS_OT_POS-1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@ protected:
|
|||
|
||||
private:
|
||||
int m_glint;
|
||||
int m_glintRot;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -59,6 +59,7 @@ void CSpatulaPickup::init()
|
|||
{
|
||||
CBasePickup::init();
|
||||
m_glint=0;
|
||||
m_glintRot=0;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
|
@ -79,14 +80,18 @@ void CSpatulaPickup::collect(class CPlayer *_player)
|
|||
Returns:
|
||||
---------------------------------------------------------------------- */
|
||||
int spat_glintspeed=3;
|
||||
int spat_maxglint=600;
|
||||
DVECTOR spat_gxy1={-5,30};
|
||||
DVECTOR spat_gxy2={10,-5};
|
||||
int spat_glintFrames[]={FRM__GLINT1,FRM__GLINT2,FRM__GLINT3,FRM__GLINT4};
|
||||
int spat_maxglint=100;
|
||||
int spat_glintrotspeed=50;
|
||||
int spat_glintgrowspeed=5;
|
||||
DVECTOR spat_gxy1={0,28};
|
||||
DVECTOR spat_gxy2={20,0};
|
||||
static const int spat_glintFrames[]={FRM__GLINT1,FRM__GLINT2,FRM__GLINT3,FRM__GLINT4,FRM__GLINT4,FRM__GLINT3,FRM__GLINT2,FRM__GLINT1};
|
||||
void CSpatulaPickup::thinkPickup(int _frames)
|
||||
{
|
||||
m_glint+=_frames*spat_glintspeed;
|
||||
if(m_glint>spat_maxglint)m_glint-=spat_maxglint;
|
||||
m_glintRot+=_frames*spat_glintrotspeed;
|
||||
m_glintRot&=4095;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
|
@ -109,10 +114,10 @@ void CSpatulaPickup::renderPickup(DVECTOR *_pos)
|
|||
|
||||
if(m_glint<=255)
|
||||
{
|
||||
fh=sprites->getFrameHeader(spat_glintFrames[m_glint&0x03]);
|
||||
fh=sprites->getFrameHeader(spat_glintFrames[(m_glint>>spat_glintgrowspeed)&0x07]);
|
||||
x=x+(((spat_gxy2.vx-spat_gxy1.vx)*m_glint)>>8)+spat_gxy1.vx;
|
||||
y=y+(((spat_gxy2.vy-spat_gxy1.vy)*m_glint)>>8)+spat_gxy1.vy;
|
||||
sprites->printFT4(fh,x,y,0,0,PICKUPS_OT_POS-1);
|
||||
sprites->printRotatedScaledSprite(fh,x,y,4095,4095,m_glintRot,PICKUPS_OT_POS-1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@ protected:
|
|||
|
||||
private:
|
||||
int m_glint;
|
||||
int m_glintRot;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue