This commit is contained in:
Paul 2001-06-27 19:50:35 +00:00
parent 180ba21ecb
commit 7853274fe5
14 changed files with 70 additions and 145 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -254,6 +254,7 @@ pickups_src := pickup \
pballoon \
pblower \
pbubmix \
pglove \
phelmet \
pjlammo \
pkelp \

View File

@ -185,7 +185,7 @@ PICKUP_GFX_DIR := $(GRAF_DIR)/pickups
PICKUP_GFX := +spatula +token +pants +glint1 +glint2 +glint3 +glint4 \
+questitemstar1 +questitemstar2 +questitemstar3 \
+jellyammo +bubblemixture +bubblewand +shoe +balloon +balloonburst +helmet \
+blower +launcher +net \
+blower +launcher +net +glove \
+c1_l1_quest_item +c1_l2_quest_item +c1_l3_quest_item +c1_l4_quest_item \
+c2_l1_quest_item +c2_l2_quest_item +c2_l3_quest_item +c2_l4_quest_item \
+c3_l1_quest_item +c3_l2_quest_item +c3_l3_quest_item +c3_l4_quest_item \

View File

@ -77,6 +77,10 @@
#include "pickups\pkelp.h"
#endif
#ifndef __PICKUPS_PGLOVE_H__
#include "pickups\pglove.h"
#endif
#include "game/game.h"
/* Std Lib
@ -364,7 +368,7 @@ void CBaseWeaponSimplePickup::init()
CBaseWeaponPickup::init();
fh=CGameScene::getSpriteBank()->getFrameHeader(FRM__NET);
fh=CGameScene::getSpriteBank()->getFrameHeader(getWeaponSpriteFrame());
setCollisionSize(fh->W,fh->H);
}
@ -407,51 +411,6 @@ void CBaseWeaponSimplePickup::renderPickup(DVECTOR *_pos)
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CBaseBouncingPickup::init()
{
CBasePickup::init();
m_timeTillVanish=TIME_TILL_VANISH;
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CBaseBouncingPickup::render()
{
if(m_timeTillVanish>FRAMES_TO_FLASH||m_timeTillVanish&3)
{
DVECTOR ofs,pos;
int visibilityRadius;
CPickupThing::render();
if (canRender())
{
DVECTOR &renderPos=getRenderPos();
renderPickup(&renderPos);
}
}
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CBaseBouncingPickup::collidedWith(CThing *_thisThing)
{
}
@ -537,9 +496,9 @@ return NULL;
pickup=new ("KelpTokenPickup") CKelpTokenPickup();
break;
case PICKUP__BOUNCING_SPATULA:
pickup=new ("BouncingSpatulaPickup") CBouncingSpatulaPickup();
break;
case PICKUP__GLOVE:
pickup=new ("GlovePickup") CGlovePickup();
break;
default:
ASSERT(!"UNKNOWN PICKUP TYPE");

View File

@ -54,8 +54,7 @@ typedef enum
PICKUP__BALLOON_AND_SPATULA,
PICKUP__JELLY_LAUNCHER,
PICKUP__KELP_TOKEN,
PICKUP__BOUNCING_SPATULA,
PICKUP__GLOVE,
PICKUP__MAX
}
@ -152,28 +151,6 @@ protected:
};
class CBaseBouncingPickup : public CBasePickup
{
public:
virtual void init();
virtual void render();
protected:
enum
{
TIME_TILL_VANISH=5*55,
FRAMES_TO_FLASH=2*55,
};
virtual void renderPickup(DVECTOR *_pos)=0;
virtual void collidedWith(CThing *_thisThing);
int m_timeTillVanish;
};
/*----------------------------------------------------------------------
Globals
------- */

View File

@ -163,57 +163,5 @@ void CSpatulaPickup::renderPickup(DVECTOR *_pos)
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
DVECTOR CBouncingSpatulaPickup::getSizeForPlacement()
{
DVECTOR size;
sFrameHdr *fh;
fh=CGameScene::getSpriteBank()->getFrameHeader(FRM__SPATULA);
size.vx=fh->W;
size.vy=fh->H;
return size;
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CBouncingSpatulaPickup::renderPickup(DVECTOR *_pos)
{
SpriteBank *sprites;
sFrameHdr *fh;
int x,y;
sprites=CGameScene::getSpriteBank();
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);
/*
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 */

View File

@ -61,18 +61,6 @@ private:
};
class CBouncingSpatulaPickup : public CBaseBouncingPickup
{
public:
virtual DVECTOR getSizeForPlacement();
protected:
virtual void renderPickup(DVECTOR *_pos);
};
/*----------------------------------------------------------------------
Globals
------- */

View File

@ -626,7 +626,7 @@ m_animNo=0;
m_animFrame=0;
setFacing(FACING_RIGHT);
m_currentPlayerModeClass=NULL;
m_lastModeBeforeDeath=PLAYER_MODE_FULLUNARMED; // Player will then respawn into this mode
m_lastModeBeforeDeath=PLAYER_MODE_BASICUNARMED; // Player will then respawn into this mode
m_lives++;respawn();
m_canExitLevel=false;
@ -772,8 +772,7 @@ if(PadGetDown(0)&PAD_TRIANGLE)
updatePadInput();
// Weapon collect/drop/swap stuff..
if(m_currentMode==PLAYER_MODE_BASICUNARMED||
m_currentMode==PLAYER_MODE_FULLUNARMED)
if(m_currentMode==PLAYER_MODE_BASICUNARMED)
{
// Always trying to pickup weapon if unarmed... means that when SB walks
// over an item whilst unarmed, he automatically picks it up
@ -786,7 +785,6 @@ if(PadGetDown(0)&PAD_TRIANGLE)
// If already armed then drop current weapon
if(m_currentMode!=PLAYER_MODE_BASICUNARMED&&
m_currentMode!=PLAYER_MODE_FULLUNARMED&&
m_currentMode!=PLAYER_MODE_DEAD)
{
static const int s_pickupsToDrop[NUM_PLAYERMODES]=
@ -814,7 +812,7 @@ if(PadGetDown(0)&PAD_TRIANGLE)
pickup=createPickup((PICKUP_TYPE)pickupToDrop,&pickupPos);
pickup->setPos(&pickupPos);
}
setMode(PLAYER_MODE_FULLUNARMED);
setMode(PLAYER_MODE_BASICUNARMED);
}
}
@ -2055,7 +2053,7 @@ void CPlayer::takeDamage(DAMAGE_TYPE _damage,REACT_DIRECTION _reactDirection,CTh
if(m_currentMode==PLAYER_MODE_NET)
{
// Launch net pickup
setMode(PLAYER_MODE_FULLUNARMED);
setMode(PLAYER_MODE_BASICUNARMED);
DVECTOR pickupPos;
CBasePickup *pickup;
pickupPos.vx=Pos.vx;

View File

@ -104,7 +104,7 @@ void CPlayerModeBalloon::think()
{
CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_POP);
}
m_player->setMode(PLAYER_MODE_FULLUNARMED);
m_player->setMode(PLAYER_MODE_BASICUNARMED);
}
}

View File

@ -17,6 +17,14 @@
#include "player\pmchop.h"
#ifndef __GFX_SPRBANK_H__
#include "gfx\sprbank.h"
#endif
#ifndef __GAME_GAME_H__
#include "game\game.h"
#endif
/* Std Lib
------- */
@ -28,6 +36,10 @@
#include <ACTOR_SPONGEBOB_ANIM.h>
#endif
#ifndef __SPR_SPRITES_H__
#include <sprites.h>
#endif
/*----------------------------------------------------------------------
Tyepdefs && Defines
@ -55,6 +67,7 @@ void CPlayerModeChop::enter()
{
CPlayerModeBase::enter();
m_chopping=false;
m_timer=0;
}
/*----------------------------------------------------------------------
@ -116,6 +129,31 @@ void CPlayerModeChop::think()
setPlayerCollisionSize(m_savedCSX,m_savedCSY,m_savedCSW,m_savedCSH);
}
}
if(++m_timer>CHOP_TIMEOUT)
{
m_player->setMode(PLAYER_MODE_BASICUNARMED);
}
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CPlayerModeChop::renderModeUi()
{
if(m_timer<CHOP_TIMEOUT-CHOP_FLASH_TIME||m_timer&2)
{
SpriteBank *sb;
sFrameHdr *fh;
sb=CGameScene::getSpriteBank();
fh=sb->getFrameHeader(FRM__GLOVE);
sb->printFT4(fh,CPlayer::POWERUPUI_ICONX,CPlayer::POWERUPUI_ICONY,0,0,CPlayer::POWERUPUI_OT);
}
}
/*----------------------------------------------------------------------

View File

@ -39,6 +39,7 @@ class CPlayerModeChop : public CPlayerModeBase
public:
virtual void enter();
virtual void think();
virtual void renderModeUi();
virtual void setAnimNo(int _animNo);
virtual void setAnimFrame(int _animFrame);
@ -52,6 +53,8 @@ private:
{
CHOP_ATTACK_START_FRAME=15,
CHOP_ATTACK_END_FRAME=21,
CHOP_TIMEOUT=10*60,
CHOP_FLASH_TIME=2*60,
};
@ -60,6 +63,7 @@ private:
int m_savedAnimNo,m_savedAnimFrame;
int m_chopFrame;
int m_chopping;
int m_timer;
int m_savedCSX,m_savedCSY,m_savedCSW,m_savedCSH;

View File

@ -74,6 +74,7 @@ Quest_Item=14
# Balloon_Golden_Spatula=15
Jelly_Launcher=16
Kelp_Token=17
Glove=18
################################################

View File

@ -59,3 +59,6 @@ Gfx=..\..\graphics\pickups\+launcher.bmp
[Kelp_Token]
Gfx=..\..\graphics\pickups\+token.bmp
[Glove]
Gfx=..\..\graphics\pickups\+glove.bmp

View File

@ -1349,6 +1349,14 @@ SOURCE=..\..\..\source\pickups\pglasses.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\pickups\pglove.cpp
# End Source File
# Begin Source File
SOURCE=..\..\..\source\pickups\pglove.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\pickups\phealth.cpp
# End Source File
# Begin Source File