This commit is contained in:
parent
6630244a6f
commit
a7949471f1
23 changed files with 110 additions and 38 deletions
|
@ -96,8 +96,6 @@ static const int s_jumpEndCount=sizeof(s_jumpEndSfx)/sizeof(CPlayer::AnimFrameSf
|
|||
// ANIM_PLAYER_ANIM_KARATE
|
||||
static const CPlayer::AnimFrameSfx s_karateSfx[]=
|
||||
{
|
||||
{ 12, CSoundMediator::SFX_SPONGEBOB_WALK_1 },
|
||||
{ 13, CSoundMediator::SFX_SPONGEBOB_WALK_2 },
|
||||
{ 13, CSoundMediator::SFX_SPONGEBOB_KARATE_1 },
|
||||
};
|
||||
static const int s_karateCount=sizeof(s_karateSfx)/sizeof(CPlayer::AnimFrameSfx);
|
||||
|
|
|
@ -679,6 +679,7 @@ void CPlayer::shutdown()
|
|||
static int oldmode=-1;
|
||||
int newmode=-1;
|
||||
|
||||
|
||||
void CPlayer::think(int _frames)
|
||||
{
|
||||
int i;
|
||||
|
@ -1016,11 +1017,20 @@ if(newmode!=-1)
|
|||
if(isWearingDivingHelmet()&&getIsInWater()==false&&
|
||||
m_currentMode!=PLAYER_MODE_DEAD&&m_currentMode!=PLAYER_MODE_FLY)
|
||||
{
|
||||
// Drain water/health
|
||||
m_healthWaterLevel-=waterDrainSpeed*_frames;
|
||||
if(m_healthWaterLevel<=0)
|
||||
{
|
||||
dieYouPorousFreak(DEATHTYPE__DRYUP);
|
||||
}
|
||||
|
||||
// Breath sound
|
||||
m_helmetSoundTimer+=_frames;
|
||||
if(m_helmetSoundTimer>150+(m_healthWaterLevel>>WATERLEVELSHIFT))
|
||||
{
|
||||
CSoundMediator::playSfx(CSoundMediator::SFX_SPONGEBOB_DIVING_HELMET);
|
||||
m_helmetSoundTimer=0;
|
||||
}
|
||||
}
|
||||
|
||||
// Ledge look-ahead stuff
|
||||
|
@ -1305,14 +1315,6 @@ if(drawlastpos)
|
|||
CGameScene::getSpriteBank()->printFT4(fh,x-2,y-2,0,0,0);
|
||||
itemX+=COLLECTEDITEM_GAP;
|
||||
}
|
||||
/*
|
||||
if(isWearingDivingHelmet())
|
||||
{
|
||||
sFrameHdr *fh=CGameScene::getSpriteBank()->getFrameHeader(FRM__HELMET);
|
||||
CGameScene::getSpriteBank()->printFT4(fh,itemX-(fh->W/2),COLLECTEDITEM_BASEY-(fh->H/2),0,0,0);
|
||||
itemX+=COLLECTEDITEM_GAP;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
@ -1675,6 +1677,7 @@ void CPlayer::respawn()
|
|||
m_healthWaterLevel=WATERMAXHEALTH;
|
||||
m_healthReactFrames=0;
|
||||
m_invincibleFrameCount=INVINCIBLE_FRAMES__START;
|
||||
m_helmetSoundTimer=0;
|
||||
Pos=m_respawnPos;
|
||||
m_cameraLookOffset=0;
|
||||
|
||||
|
@ -2183,6 +2186,7 @@ u32 CPlayer::getColourOfNextJellyfishAmmo()
|
|||
---------------------------------------------------------------------- */
|
||||
void CPlayer::justButtBouncedABadGuy()
|
||||
{
|
||||
CSoundMediator::playSfx(CSoundMediator::SFX_SPONGEBOB_BUTTBOUNCE);
|
||||
m_currentPlayerModeClass->setState(STATE_BUTTBOUNCEUP);
|
||||
}
|
||||
|
||||
|
|
|
@ -327,6 +327,8 @@ private:
|
|||
int m_health;
|
||||
int m_healthWaterLevel;
|
||||
int m_healthReactFrames;
|
||||
int m_helmetSoundTimer; // Timer for breathing sound when using the helmet
|
||||
|
||||
|
||||
void dieYouPorousFreak(DEATH_TYPE _deathType=DEATHTYPE__NORMAL);
|
||||
DEATH_TYPE m_deathType;
|
||||
|
@ -383,7 +385,7 @@ public:
|
|||
int getJellyFishAmmo();
|
||||
u32 getColourOfNextJellyfishAmmo();
|
||||
|
||||
void setIsInWater(int _in) {m_isInWater=_in;}
|
||||
void setIsInWater(int _in) {m_isInWater=_in;m_helmetSoundTimer=0;}
|
||||
int getIsInWater() {return m_isInWater;}
|
||||
int getIsHealthFullSoICanStopSoakingUp() {return m_healthWaterLevel==WATERMAXHEALTH;}
|
||||
int getIsHealthSoFullThatIDontNeedToSoakUp(){return m_healthWaterLevel>=WATERMINSOACKUPLEVEL;}
|
||||
|
|
|
@ -67,7 +67,6 @@
|
|||
void CPlayerModeBubbleMixture::enter()
|
||||
{
|
||||
CPlayerModeBase::enter();
|
||||
CSoundMediator::playSfx(CSoundMediator::SFX_BUBBLE_WAND);
|
||||
m_blowing=false;
|
||||
m_bubbleDelay=0;
|
||||
m_player->giveBubbleAmmo();
|
||||
|
|
|
@ -162,7 +162,6 @@ void CPlayerModeCoralBlower::enter()
|
|||
{
|
||||
CPlayerModeBase::enter();
|
||||
m_blowerState=BLOWER_STATE__EMPTY;
|
||||
CSoundMediator::playSfx(CSoundMediator::SFX_ITEM__CORAL_BLOWER);
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue