This commit is contained in:
parent
6630244a6f
commit
a7949471f1
23 changed files with 110 additions and 38 deletions
|
@ -95,8 +95,8 @@ public:
|
||||||
// Kelp Token functions..
|
// Kelp Token functions..
|
||||||
int getKelpTokenCollectedCount(unsigned int _chapter,unsigned int _level)
|
int getKelpTokenCollectedCount(unsigned int _chapter,unsigned int _level)
|
||||||
{
|
{
|
||||||
ASSERT(_chapter==NUM_CHAPTERS);
|
ASSERT(_chapter<=NUM_CHAPTERS);
|
||||||
ASSERT(_level==NUM_LEVELS_WITH_SPATULAS+1);
|
ASSERT(_level==NUM_LEVELS_WITH_SPATULAS);
|
||||||
int i,j,count;
|
int i,j,count;
|
||||||
count=0;
|
count=0;
|
||||||
for(i=0;i<8;i++)
|
for(i=0;i<8;i++)
|
||||||
|
@ -112,15 +112,15 @@ public:
|
||||||
}
|
}
|
||||||
void collectKelpToken(unsigned int _chapter,unsigned int _level,unsigned int _token)
|
void collectKelpToken(unsigned int _chapter,unsigned int _level,unsigned int _token)
|
||||||
{
|
{
|
||||||
ASSERT(_chapter==NUM_CHAPTERS);
|
ASSERT(_chapter<=NUM_CHAPTERS);
|
||||||
ASSERT(_level<=NUM_LEVELS_WITH_SPATULAS+1);
|
ASSERT(_level==NUM_LEVELS_WITH_SPATULAS);
|
||||||
ASSERT(_token<=128);
|
ASSERT(_token<=128);
|
||||||
m_kelpTokenCollectedFlags[_level][_token>>3]|=1<<(_token&7);
|
m_kelpTokenCollectedFlags[_level][_token>>3]|=1<<(_token&7);
|
||||||
}
|
}
|
||||||
int isKelpTokenUncollected(unsigned int _chapter,unsigned int _level,unsigned int _token)
|
int isKelpTokenUncollected(unsigned int _chapter,unsigned int _level,unsigned int _token)
|
||||||
{
|
{
|
||||||
ASSERT(_chapter==NUM_CHAPTERS);
|
ASSERT(_chapter<=NUM_CHAPTERS);
|
||||||
ASSERT(_level<=NUM_LEVELS_WITH_SPATULAS+1);
|
ASSERT(_level<=NUM_LEVELS_WITH_SPATULAS);
|
||||||
ASSERT(_token<=128);
|
ASSERT(_token<=128);
|
||||||
return (m_kelpTokenCollectedFlags[_level][_token>>3]>>(_token&7))&1?false:true;
|
return (m_kelpTokenCollectedFlags[_level][_token>>3]>>(_token&7))&1?false:true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,10 @@
|
||||||
#include "pickups\pspatula.h"
|
#include "pickups\pspatula.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __PICKUPS_PKELP_H__
|
||||||
|
#include "pickups\pkelp.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __SOUND_SOUND_H__
|
#ifndef __SOUND_SOUND_H__
|
||||||
#include "sound\sound.h"
|
#include "sound\sound.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -413,24 +417,36 @@ void CLevel::initThings(int _respawningLevel)
|
||||||
// Items
|
// Items
|
||||||
if (LevelHdr->ItemList)
|
if (LevelHdr->ItemList)
|
||||||
{
|
{
|
||||||
|
DVECTOR pos;
|
||||||
|
int itemNumber;
|
||||||
sThingHdr *Hdr=(sThingHdr*)MakePtr(LevelHdr,LevelHdr->ItemList);
|
sThingHdr *Hdr=(sThingHdr*)MakePtr(LevelHdr,LevelHdr->ItemList);
|
||||||
ItemCount=Hdr->Count;
|
ItemCount=Hdr->Count;
|
||||||
ItemList=(sThingItem*)MakePtr(Hdr,sizeof(sThingHdr));
|
ItemList=(sThingItem*)MakePtr(Hdr,sizeof(sThingHdr));
|
||||||
DVECTOR pos;
|
itemNumber=0;
|
||||||
int spatNumber=0;
|
|
||||||
for(int i=0;i<ItemCount;i++)
|
for(int i=0;i<ItemCount;i++)
|
||||||
{
|
{
|
||||||
int createThisPickup;
|
int createThisPickup;
|
||||||
int isSpat;
|
int isNumberedItem;
|
||||||
CBasePickup *newPickup;
|
CBasePickup *newPickup;
|
||||||
|
|
||||||
createThisPickup=true;
|
createThisPickup=true;
|
||||||
|
isNumberedItem=false;
|
||||||
isSpat=(PICKUP_TYPE)ItemList->Type==PICKUP__SPATULA;
|
if((PICKUP_TYPE)ItemList->Type==PICKUP__SPATULA)
|
||||||
if(isSpat&&CGameSlotManager::getSlotData()->isSpatulaUncollected(GameScene.getChapterNumber()-1,GameScene.getLevelNumber()-1,spatNumber)==false)
|
{
|
||||||
|
isNumberedItem=true;
|
||||||
|
if(CGameSlotManager::getSlotData()->isSpatulaUncollected(GameScene.getChapterNumber()-1,GameScene.getLevelNumber()-1,itemNumber)==false)
|
||||||
{
|
{
|
||||||
createThisPickup=false;
|
createThisPickup=false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else if((PICKUP_TYPE)ItemList->Type==PICKUP__KELP_TOKEN)
|
||||||
|
{
|
||||||
|
isNumberedItem=true;
|
||||||
|
if(CGameSlotManager::getSlotData()->isKelpTokenUncollected(GameScene.getChapterNumber()-1,GameScene.getLevelNumber()-1,itemNumber)==false)
|
||||||
|
{
|
||||||
|
createThisPickup=false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if((PICKUP_TYPE)ItemList->Type==PICKUP__HELMET&&
|
if((PICKUP_TYPE)ItemList->Type==PICKUP__HELMET&&
|
||||||
_respawningLevel)
|
_respawningLevel)
|
||||||
|
@ -443,20 +459,47 @@ void CLevel::initThings(int _respawningLevel)
|
||||||
pos.vx=ItemList->Pos.X<<4;
|
pos.vx=ItemList->Pos.X<<4;
|
||||||
pos.vy=ItemList->Pos.Y<<4;
|
pos.vy=ItemList->Pos.Y<<4;
|
||||||
newPickup=createPickup((PICKUP_TYPE)ItemList->Type,&pos);
|
newPickup=createPickup((PICKUP_TYPE)ItemList->Type,&pos);
|
||||||
if(isSpat)
|
if(isNumberedItem)
|
||||||
{
|
{
|
||||||
((CSpatulaPickup*)newPickup)->setSpatulaNumber(spatNumber);
|
if((PICKUP_TYPE)ItemList->Type==PICKUP__SPATULA)
|
||||||
|
{
|
||||||
|
((CSpatulaPickup*)newPickup)->setSpatulaNumber(itemNumber);
|
||||||
|
}
|
||||||
|
else if((PICKUP_TYPE)ItemList->Type==PICKUP__KELP_TOKEN)
|
||||||
|
{
|
||||||
|
((CKelpTokenPickup*)newPickup)->setTokenNumber(itemNumber);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ASSERT(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(isSpat)
|
}
|
||||||
|
if(isNumberedItem)
|
||||||
{
|
{
|
||||||
spatNumber++;
|
itemNumber++;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemList++;
|
ItemList++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
DVECTOR pos={100,100};
|
||||||
|
for(i=PICKUP__BIG_HEALTH;i<PICKUP__MAX;i++)
|
||||||
|
{
|
||||||
|
if(i!=PICKUP__SPATULA&&i!=PICKUP__KELP_TOKEN&&i!=PICKUP__BALLOON_AND_SPATULA)
|
||||||
|
{
|
||||||
|
createPickup((PICKUP_TYPE)i,&pos);
|
||||||
|
pos.vx+=60;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
///////
|
||||||
|
|
||||||
// Init actors (needs moving and tidying
|
// Init actors (needs moving and tidying
|
||||||
int actorNum;
|
int actorNum;
|
||||||
int platformNum;
|
int platformNum;
|
||||||
|
|
|
@ -219,9 +219,6 @@ void CMapScene::render()
|
||||||
SpriteBank *sb;
|
SpriteBank *sb;
|
||||||
sMapLevelData *level;
|
sMapLevelData *level;
|
||||||
int i;
|
int i;
|
||||||
sFrameHdr *fh;
|
|
||||||
DVECTOR pos;
|
|
||||||
POLY_FT4 *ft4;
|
|
||||||
char buf[100];
|
char buf[100];
|
||||||
|
|
||||||
sb=CGameScene::getSpriteBank();
|
sb=CGameScene::getSpriteBank();
|
||||||
|
@ -230,10 +227,15 @@ void CMapScene::render()
|
||||||
// Render spatula/kelp counts and quest items
|
// Render spatula/kelp counts and quest items
|
||||||
for(i=0;i<MAP_NUM_LEVELS_PER_CHAPTER;i++)
|
for(i=0;i<MAP_NUM_LEVELS_PER_CHAPTER;i++)
|
||||||
{
|
{
|
||||||
|
DVECTOR pos;
|
||||||
|
|
||||||
pos=s_mapLevelPositions[i];
|
pos=s_mapLevelPositions[i];
|
||||||
|
|
||||||
if(!level->m_kelpWorldLevel)
|
if(!level->m_kelpWorldLevel)
|
||||||
{
|
{
|
||||||
|
sFrameHdr *fh;
|
||||||
|
POLY_FT4 *ft4;
|
||||||
|
|
||||||
// Normal level
|
// Normal level
|
||||||
m_font->setColour(253,251,67);
|
m_font->setColour(253,251,67);
|
||||||
sprintf(buf,"%d/%d",CGameSlotManager::getSlotData()->getSpatulaCollectedCount(m_currentChapterSelection,i),level->m_spatulaOrTokenCounts);
|
sprintf(buf,"%d/%d",CGameSlotManager::getSlotData()->getSpatulaCollectedCount(m_currentChapterSelection,i),level->m_spatulaOrTokenCounts);
|
||||||
|
@ -248,7 +250,7 @@ void CMapScene::render()
|
||||||
{
|
{
|
||||||
// Bonuse level
|
// Bonuse level
|
||||||
m_font->setColour(67,251,67);
|
m_font->setColour(67,251,67);
|
||||||
sprintf(buf,"-");//"%d/%d",CGameSlotManager::getSlotData()->getKelpTokenCollectedCount(m_currentChapterSelection,i),level->m_spatulaOrTokenCounts);
|
sprintf(buf,"%d/%d",CGameSlotManager::getSlotData()->getKelpTokenCollectedCount(m_currentChapterSelection,i),level->m_spatulaOrTokenCounts);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_font->print(pos.vx,pos.vy,buf);
|
m_font->print(pos.vx,pos.vy,buf);
|
||||||
|
|
|
@ -117,7 +117,6 @@ DVECTOR CBalloonPickup::getSizeForPlacement()
|
||||||
void CBalloonPickup::collect(class CPlayer *_player)
|
void CBalloonPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
_player->setMode(PLAYER_MODE_BALLOON);
|
_player->setMode(PLAYER_MODE_BALLOON);
|
||||||
CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_INFLATE);
|
|
||||||
CBaseWeaponPickup::collect(_player);
|
CBaseWeaponPickup::collect(_player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,8 @@ protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual void renderPickup(DVECTOR *_pos);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_BALLOON_INFLATE;}
|
||||||
|
|
||||||
int m_sin;
|
int m_sin;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -43,6 +43,8 @@ public:
|
||||||
protected:
|
protected:
|
||||||
virtual int getWeaponSpriteFrame();
|
virtual int getWeaponSpriteFrame();
|
||||||
|
|
||||||
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_ITEM__CORAL_BLOWER;}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,8 @@ protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual void renderPickup(DVECTOR *_pos);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_ITEM__JAMJAR_AMMO;}
|
||||||
|
|
||||||
int m_sin;
|
int m_sin;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -109,7 +109,6 @@ DVECTOR CGlassesPickup::getSizeForPlacement()
|
||||||
void CGlassesPickup::collect(class CPlayer *_player)
|
void CGlassesPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
_player->giveGlasses();
|
_player->giveGlasses();
|
||||||
CSoundMediator::playSfx(CSoundMediator::SFX_GLASSES_ON);
|
|
||||||
CBasePickup::collect(_player);
|
CBasePickup::collect(_player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,8 @@ protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual void renderPickup(DVECTOR *_pos);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_GLASSES_ON;}
|
||||||
|
|
||||||
int m_glint;
|
int m_glint;
|
||||||
int m_glintRot;
|
int m_glintRot;
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,6 @@ void CHelmetPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
_player->giveDivingHelmet();
|
_player->giveDivingHelmet();
|
||||||
CBasePickup::collect(_player);
|
CBasePickup::collect(_player);
|
||||||
CSoundMediator::playSfx(CSoundMediator::SFX_SPONGEBOB_DIVING_HELMET);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -184,6 +184,7 @@ void CBasePickup::collidedWith(CThing *_thisThing)
|
||||||
{
|
{
|
||||||
case TYPE_PLAYER:
|
case TYPE_PLAYER:
|
||||||
collect((CPlayer*)_thisThing);
|
collect((CPlayer*)_thisThing);
|
||||||
|
CSoundMediator::playSfx(sfxToPlayWhenCollected());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -339,6 +340,7 @@ void CBaseWeaponPickup::collidedWith(CThing *_thisThing)
|
||||||
(!m_dontAutoPickUpUntilPlayerMovesOffMe&&player->tryingToAutomaticallyPickupWeapon()))
|
(!m_dontAutoPickUpUntilPlayerMovesOffMe&&player->tryingToAutomaticallyPickupWeapon()))
|
||||||
{
|
{
|
||||||
collect(player);
|
collect(player);
|
||||||
|
CSoundMediator::playSfx(sfxToPlayWhenCollected());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,6 +22,10 @@
|
||||||
#include "thing/thing.h"
|
#include "thing/thing.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __SOUND_SOUND_H__
|
||||||
|
#include "sound\sound.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
@ -88,7 +92,9 @@ protected:
|
||||||
|
|
||||||
virtual void collidedWith(CThing *_thisThing);
|
virtual void collidedWith(CThing *_thisThing);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_ITEM__ANY_OTHER_ITEM;}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -123,6 +129,9 @@ protected:
|
||||||
int m_dontAutoPickUpUntilPlayerMovesOffMe;
|
int m_dontAutoPickUpUntilPlayerMovesOffMe;
|
||||||
int m_collidedWithPlayer;
|
int m_collidedWithPlayer;
|
||||||
|
|
||||||
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_ITEM__POWER_UP_ITEM;}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,8 @@ protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual void renderPickup(DVECTOR *_pos);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_ITEM__JAMJAR_AMMO;}
|
||||||
|
|
||||||
int m_rattle;
|
int m_rattle;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,7 @@ DVECTOR CKelpTokenPickup::getSizeForPlacement()
|
||||||
void CKelpTokenPickup::collect(class CPlayer *_player)
|
void CKelpTokenPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
CBasePickup::collect(_player);
|
CBasePickup::collect(_player);
|
||||||
// CGameSlotManager::getSlotData()->collectSpatula(GameScene.getChapterNumber(),GameScene.getLevelNumber(),m_spatulaNumber);
|
CGameSlotManager::getSlotData()->collectKelpToken(GameScene.getChapterNumber()-1,GameScene.getLevelNumber()-1,m_tokenNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -48,6 +48,8 @@ protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual void renderPickup(DVECTOR *_pos);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_ITEM__SKILL_ITEM;}
|
||||||
|
|
||||||
int m_tokenNumber;
|
int m_tokenNumber;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,8 @@ private:
|
||||||
virtual void thinkPickup(int _frames);
|
virtual void thinkPickup(int _frames);
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual void renderPickup(DVECTOR *_pos);
|
||||||
|
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_ITEM__LEVEL_ITEM;}
|
||||||
|
|
||||||
int m_pingFrame;
|
int m_pingFrame;
|
||||||
int m_gfxFrame;
|
int m_gfxFrame;
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,8 @@ protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual void renderPickup(DVECTOR *_pos);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual CSoundMediator::SFXID sfxToPlayWhenCollected(){return CSoundMediator::SFX_ITEM__SKILL_ITEM;}
|
||||||
|
|
||||||
int m_glint;
|
int m_glint;
|
||||||
int m_glintRot;
|
int m_glintRot;
|
||||||
int m_spatulaNumber;
|
int m_spatulaNumber;
|
||||||
|
|
|
@ -96,8 +96,6 @@ static const int s_jumpEndCount=sizeof(s_jumpEndSfx)/sizeof(CPlayer::AnimFrameSf
|
||||||
// ANIM_PLAYER_ANIM_KARATE
|
// ANIM_PLAYER_ANIM_KARATE
|
||||||
static const CPlayer::AnimFrameSfx s_karateSfx[]=
|
static const CPlayer::AnimFrameSfx s_karateSfx[]=
|
||||||
{
|
{
|
||||||
{ 12, CSoundMediator::SFX_SPONGEBOB_WALK_1 },
|
|
||||||
{ 13, CSoundMediator::SFX_SPONGEBOB_WALK_2 },
|
|
||||||
{ 13, CSoundMediator::SFX_SPONGEBOB_KARATE_1 },
|
{ 13, CSoundMediator::SFX_SPONGEBOB_KARATE_1 },
|
||||||
};
|
};
|
||||||
static const int s_karateCount=sizeof(s_karateSfx)/sizeof(CPlayer::AnimFrameSfx);
|
static const int s_karateCount=sizeof(s_karateSfx)/sizeof(CPlayer::AnimFrameSfx);
|
||||||
|
|
|
@ -679,6 +679,7 @@ void CPlayer::shutdown()
|
||||||
static int oldmode=-1;
|
static int oldmode=-1;
|
||||||
int newmode=-1;
|
int newmode=-1;
|
||||||
|
|
||||||
|
|
||||||
void CPlayer::think(int _frames)
|
void CPlayer::think(int _frames)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -1016,11 +1017,20 @@ if(newmode!=-1)
|
||||||
if(isWearingDivingHelmet()&&getIsInWater()==false&&
|
if(isWearingDivingHelmet()&&getIsInWater()==false&&
|
||||||
m_currentMode!=PLAYER_MODE_DEAD&&m_currentMode!=PLAYER_MODE_FLY)
|
m_currentMode!=PLAYER_MODE_DEAD&&m_currentMode!=PLAYER_MODE_FLY)
|
||||||
{
|
{
|
||||||
|
// Drain water/health
|
||||||
m_healthWaterLevel-=waterDrainSpeed*_frames;
|
m_healthWaterLevel-=waterDrainSpeed*_frames;
|
||||||
if(m_healthWaterLevel<=0)
|
if(m_healthWaterLevel<=0)
|
||||||
{
|
{
|
||||||
dieYouPorousFreak(DEATHTYPE__DRYUP);
|
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
|
// Ledge look-ahead stuff
|
||||||
|
@ -1305,14 +1315,6 @@ if(drawlastpos)
|
||||||
CGameScene::getSpriteBank()->printFT4(fh,x-2,y-2,0,0,0);
|
CGameScene::getSpriteBank()->printFT4(fh,x-2,y-2,0,0,0);
|
||||||
itemX+=COLLECTEDITEM_GAP;
|
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_healthWaterLevel=WATERMAXHEALTH;
|
||||||
m_healthReactFrames=0;
|
m_healthReactFrames=0;
|
||||||
m_invincibleFrameCount=INVINCIBLE_FRAMES__START;
|
m_invincibleFrameCount=INVINCIBLE_FRAMES__START;
|
||||||
|
m_helmetSoundTimer=0;
|
||||||
Pos=m_respawnPos;
|
Pos=m_respawnPos;
|
||||||
m_cameraLookOffset=0;
|
m_cameraLookOffset=0;
|
||||||
|
|
||||||
|
@ -2183,6 +2186,7 @@ u32 CPlayer::getColourOfNextJellyfishAmmo()
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CPlayer::justButtBouncedABadGuy()
|
void CPlayer::justButtBouncedABadGuy()
|
||||||
{
|
{
|
||||||
|
CSoundMediator::playSfx(CSoundMediator::SFX_SPONGEBOB_BUTTBOUNCE);
|
||||||
m_currentPlayerModeClass->setState(STATE_BUTTBOUNCEUP);
|
m_currentPlayerModeClass->setState(STATE_BUTTBOUNCEUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -327,6 +327,8 @@ private:
|
||||||
int m_health;
|
int m_health;
|
||||||
int m_healthWaterLevel;
|
int m_healthWaterLevel;
|
||||||
int m_healthReactFrames;
|
int m_healthReactFrames;
|
||||||
|
int m_helmetSoundTimer; // Timer for breathing sound when using the helmet
|
||||||
|
|
||||||
|
|
||||||
void dieYouPorousFreak(DEATH_TYPE _deathType=DEATHTYPE__NORMAL);
|
void dieYouPorousFreak(DEATH_TYPE _deathType=DEATHTYPE__NORMAL);
|
||||||
DEATH_TYPE m_deathType;
|
DEATH_TYPE m_deathType;
|
||||||
|
@ -383,7 +385,7 @@ public:
|
||||||
int getJellyFishAmmo();
|
int getJellyFishAmmo();
|
||||||
u32 getColourOfNextJellyfishAmmo();
|
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 getIsInWater() {return m_isInWater;}
|
||||||
int getIsHealthFullSoICanStopSoakingUp() {return m_healthWaterLevel==WATERMAXHEALTH;}
|
int getIsHealthFullSoICanStopSoakingUp() {return m_healthWaterLevel==WATERMAXHEALTH;}
|
||||||
int getIsHealthSoFullThatIDontNeedToSoakUp(){return m_healthWaterLevel>=WATERMINSOACKUPLEVEL;}
|
int getIsHealthSoFullThatIDontNeedToSoakUp(){return m_healthWaterLevel>=WATERMINSOACKUPLEVEL;}
|
||||||
|
|
|
@ -67,7 +67,6 @@
|
||||||
void CPlayerModeBubbleMixture::enter()
|
void CPlayerModeBubbleMixture::enter()
|
||||||
{
|
{
|
||||||
CPlayerModeBase::enter();
|
CPlayerModeBase::enter();
|
||||||
CSoundMediator::playSfx(CSoundMediator::SFX_BUBBLE_WAND);
|
|
||||||
m_blowing=false;
|
m_blowing=false;
|
||||||
m_bubbleDelay=0;
|
m_bubbleDelay=0;
|
||||||
m_player->giveBubbleAmmo();
|
m_player->giveBubbleAmmo();
|
||||||
|
|
|
@ -162,7 +162,6 @@ void CPlayerModeCoralBlower::enter()
|
||||||
{
|
{
|
||||||
CPlayerModeBase::enter();
|
CPlayerModeBase::enter();
|
||||||
m_blowerState=BLOWER_STATE__EMPTY;
|
m_blowerState=BLOWER_STATE__EMPTY;
|
||||||
CSoundMediator::playSfx(CSoundMediator::SFX_ITEM__CORAL_BLOWER);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -293,6 +293,7 @@ void CSoundMediator::initialise()
|
||||||
s_targetVolume[i]=INITIAL_VOLUME;
|
s_targetVolume[i]=INITIAL_VOLUME;
|
||||||
s_volumeDirty[i]=true;
|
s_volumeDirty[i]=true;
|
||||||
}
|
}
|
||||||
|
s_targetVolume[VOL_SONG]=32;
|
||||||
|
|
||||||
ASSERT(CXAStream::MIN_VOLUME==0); // Just incase someone decides to change any of these.. things in here will break ( PKG )
|
ASSERT(CXAStream::MIN_VOLUME==0); // Just incase someone decides to change any of these.. things in here will break ( PKG )
|
||||||
ASSERT(CXAStream::MAX_VOLUME==32767);
|
ASSERT(CXAStream::MAX_VOLUME==32767);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue