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();
|
CBasePickup::init();
|
||||||
|
|
||||||
m_glint=0;
|
m_glint=0;
|
||||||
|
m_glintRot=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -84,15 +85,18 @@ void CGlassesPickup::collect(class CPlayer *_player)
|
||||||
Params:
|
Params:
|
||||||
Returns:
|
Returns:
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
|
int glasses_glintframes=16;
|
||||||
|
int glasses_glintwait=400;
|
||||||
int glasses_glintspeed=1;
|
int glasses_glintspeed=1;
|
||||||
int glasses_glintframes=20;
|
int glasses_glintRotSpeed=200;
|
||||||
int glasses_glintwait=500;
|
|
||||||
DVECTOR glasses_gxy={-3,-4};
|
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)
|
void CGlassesPickup::thinkPickup(int _frames)
|
||||||
{
|
{
|
||||||
m_glint+=_frames*glasses_glintspeed;
|
m_glint+=_frames;
|
||||||
if(m_glint>glasses_glintframes+glasses_glintwait)m_glint=0;
|
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)
|
if(m_glint<=glasses_glintframes)
|
||||||
{
|
{
|
||||||
fh=sprites->getFrameHeader(glasses_glintFrames[m_glint&0x03]);
|
fh=sprites->getFrameHeader(glasses_glintFrames[(m_glint>>glasses_glintspeed)&0x07]);
|
||||||
sprites->printFT4(fh,x+glasses_gxy.vx,y+glasses_gxy.vy,0,0,PICKUPS_OT_POS-1);
|
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:
|
private:
|
||||||
int m_glint;
|
int m_glint;
|
||||||
|
int m_glintRot;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,7 @@ void CSpatulaPickup::init()
|
||||||
{
|
{
|
||||||
CBasePickup::init();
|
CBasePickup::init();
|
||||||
m_glint=0;
|
m_glint=0;
|
||||||
|
m_glintRot=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -79,14 +80,18 @@ void CSpatulaPickup::collect(class CPlayer *_player)
|
||||||
Returns:
|
Returns:
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
int spat_glintspeed=3;
|
int spat_glintspeed=3;
|
||||||
int spat_maxglint=600;
|
int spat_maxglint=100;
|
||||||
DVECTOR spat_gxy1={-5,30};
|
int spat_glintrotspeed=50;
|
||||||
DVECTOR spat_gxy2={10,-5};
|
int spat_glintgrowspeed=5;
|
||||||
int spat_glintFrames[]={FRM__GLINT1,FRM__GLINT2,FRM__GLINT3,FRM__GLINT4};
|
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)
|
void CSpatulaPickup::thinkPickup(int _frames)
|
||||||
{
|
{
|
||||||
m_glint+=_frames*spat_glintspeed;
|
m_glint+=_frames*spat_glintspeed;
|
||||||
if(m_glint>spat_maxglint)m_glint-=spat_maxglint;
|
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)
|
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;
|
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;
|
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:
|
private:
|
||||||
int m_glint;
|
int m_glint;
|
||||||
|
int m_glintRot;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue