From 4401fd2f1e90f514aa99a62d3520025a16e90043 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 29 Mar 2001 20:53:10 +0000 Subject: [PATCH] --- source/pickups/pglasses.cpp | 16 ++++++++++------ source/pickups/pglasses.h | 1 + source/pickups/pspatula.cpp | 17 +++++++++++------ source/pickups/pspatula.h | 1 + 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/source/pickups/pglasses.cpp b/source/pickups/pglasses.cpp index 1625561cb..eb0fba084 100644 --- a/source/pickups/pglasses.cpp +++ b/source/pickups/pglasses.cpp @@ -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); } } diff --git a/source/pickups/pglasses.h b/source/pickups/pglasses.h index aae81cbce..54aa384f7 100644 --- a/source/pickups/pglasses.h +++ b/source/pickups/pglasses.h @@ -47,6 +47,7 @@ protected: private: int m_glint; + int m_glintRot; }; diff --git a/source/pickups/pspatula.cpp b/source/pickups/pspatula.cpp index b1bb4e6c1..18dcf7a29 100644 --- a/source/pickups/pspatula.cpp +++ b/source/pickups/pspatula.cpp @@ -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); } } diff --git a/source/pickups/pspatula.h b/source/pickups/pspatula.h index 614f3c368..b1a777b13 100644 --- a/source/pickups/pspatula.h +++ b/source/pickups/pspatula.h @@ -47,6 +47,7 @@ protected: private: int m_glint; + int m_glintRot; };