This commit is contained in:
Paul 2001-06-14 15:19:57 +00:00
parent a59bdb7bb3
commit 18e1f665af
18 changed files with 245 additions and 271 deletions

View file

@ -37,7 +37,10 @@
#include "game\game.h"
#endif
#include "game/game.h"
#ifndef __PLAYER_PLAYER_H__
#include "player\player.h"
#endif
/* Std Lib
------- */
@ -109,8 +112,8 @@ DVECTOR CSpatulaPickup::getSizeForPlacement()
---------------------------------------------------------------------- */
void CSpatulaPickup::collect(class CPlayer *_player)
{
_player->addSpatula();
CBasePickup::collect(_player);
CGameSlotManager::getSlotData()->collectSpatula(GameScene.getChapterNumber()-1,GameScene.getLevelNumber()-1,m_spatulaNumber);
}
/*----------------------------------------------------------------------
@ -162,31 +165,21 @@ void CSpatulaPickup::renderPickup(DVECTOR *_pos)
extern int balloon_height;
extern int balloon_r1;
extern int balloon_g1;
extern int balloon_b1;
extern int balloon_r2;
extern int balloon_g2;
extern int balloon_b2;
extern int balloon_speed;
extern int balloon_scale1;
extern int balloon_scale2;
extern int balloon_phase;
extern int balloon_vissize;
extern int balloon_stringx;
int bspat_stringendxoff=8;
int bspat_stringendyoff=-13;
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CBalloonAndSpatulaPickup::init()
DVECTOR CBouncingSpatulaPickup::getSizeForPlacement()
{
CSpatulaPickup::init();
m_sin=0;
DVECTOR size;
sFrameHdr *fh;
fh=CGameScene::getSpriteBank()->getFrameHeader(FRM__SPATULA);
size.vx=fh->W;
size.vy=fh->H;
return size;
}
/*----------------------------------------------------------------------
@ -195,45 +188,32 @@ void CBalloonAndSpatulaPickup::init()
Params:
Returns:
---------------------------------------------------------------------- */
void CBalloonAndSpatulaPickup::thinkPickup(int _frames)
{
CSpatulaPickup::thinkPickup(_frames);
m_sin=(m_sin+(_frames*balloon_speed))&4095;
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CBalloonAndSpatulaPickup::renderPickup(DVECTOR *_pos)
void CBouncingSpatulaPickup::renderPickup(DVECTOR *_pos)
{
SpriteBank *sprites;
sFrameHdr *fh,*fhspat;
int xo1,xo2;
sFrameHdr *fh;
int x,y;
sprites=CGameScene::getSpriteBank();
fh=sprites->getFrameHeader(FRM__BALLOON);
fhspat=sprites->getFrameHeader(FRM__SPATULA);
fh=sprites->getFrameHeader(FRM__SPATULA);
x=_pos->vx-(fh->W/2);
y=_pos->vy-(fh->H/2);
sprites->printFT4(fh,x,y,0,0,OTPOS__PICKUP_POS);
xo1=((msin((m_sin+balloon_phase)&4095)*balloon_scale1)>>12);
xo2=((msin(m_sin)*balloon_scale2)>>12);
x=_pos->vx-(fh->W/2)+bspat_stringendxoff;
y=_pos->vy-(fh->H/2)-(fhspat->H/2)-balloon_height+bspat_stringendyoff;
sprites->printFT4(fh,x+xo1,y,0,0,OTPOS__PICKUP_POS);
setCollisionCentreOffset(xo2,0);
x=_pos->vx+balloon_stringx+bspat_stringendxoff;
y=_pos->vy+(fh->H/2)-(fhspat->H/2)-balloon_height+bspat_stringendyoff;
DrawLine(x+xo1,y,x+xo2,y+balloon_height,balloon_r1,balloon_g1,balloon_b1,OTPOS__PICKUP_POS);
x++;
DrawLine(x+xo1,y,x+xo2,y+balloon_height,balloon_r2,balloon_g2,balloon_b2,OTPOS__PICKUP_POS);
_pos->vx+=xo2; // This is soooooooo naughty (pkg)
CSpatulaPickup::renderPickup(_pos);
/*
if(m_glint<=spat_maxglint)
{
fh=sprites->getFrameHeader(spat_glintFrames[(m_glint>>spat_glintgrowspeed)&0x07]);
x=x+spat_gxy.vx;
y=y+spat_gxy.vy;
sprites->printRotatedScaledSprite(fh,x,y,4095,4095,m_glintRot,OTPOS__PICKUP_POS-1);
}
*/
}
/*===========================================================================
end */