This commit is contained in:
parent
49e1b9bfda
commit
12b6a1f2cb
9 changed files with 113 additions and 45 deletions
|
@ -173,11 +173,6 @@ void CFrontEndScene::init()
|
||||||
m_font=new ("frontendfont") FontBank();
|
m_font=new ("frontendfont") FontBank();
|
||||||
m_font->initialise(&standardFont);
|
m_font->initialise(&standardFont);
|
||||||
m_font->setJustification(FontBank::JUST_CENTRE);
|
m_font->setJustification(FontBank::JUST_CENTRE);
|
||||||
|
|
||||||
#ifndef __E3__
|
|
||||||
CGameSlotManager::eraseGameSlot(0);
|
|
||||||
CGameSlotManager::setActiveSlot(0);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -145,12 +145,10 @@ void CFrontEndMainTitles::init()
|
||||||
50,20,200,20,
|
50,20,200,20,
|
||||||
STR__FRONTEND__OPTIONS,
|
STR__FRONTEND__OPTIONS,
|
||||||
&m_gotoOptionsFlag,true);
|
&m_gotoOptionsFlag,true);
|
||||||
#ifdef __E3__
|
|
||||||
CGUIFactory::createValueButtonFrame(m_mainMenu,
|
CGUIFactory::createValueButtonFrame(m_mainMenu,
|
||||||
50,40,200,20,
|
50,40,200,20,
|
||||||
STR__FRONTEND__CREDITS,
|
STR__FRONTEND__CREDITS,
|
||||||
&m_gotoCreditsFlag,true);
|
&m_gotoCreditsFlag,true);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -447,7 +447,9 @@ void CLevel::initThings(int _respawningLevel)
|
||||||
createThisPickup=false;
|
createThisPickup=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((PICKUP_TYPE)ItemList->Type==PICKUP__NET&&_respawningLevel)
|
if(((PICKUP_TYPE)ItemList->Type==PICKUP__NET||
|
||||||
|
(PICKUP_TYPE)ItemList->Type==PICKUP__HELMET)&&
|
||||||
|
_respawningLevel)
|
||||||
{
|
{
|
||||||
createThisPickup=false;
|
createThisPickup=false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,7 +134,6 @@ extern int s_globalLevelSelectThing;
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CMapScene::init()
|
void CMapScene::init()
|
||||||
{
|
{
|
||||||
#ifdef __E3__
|
|
||||||
m_font=new ("map screen font") FontBank();
|
m_font=new ("map screen font") FontBank();
|
||||||
m_font->initialise(&standardFont);
|
m_font->initialise(&standardFont);
|
||||||
m_font->setJustification(FontBank::JUST_CENTRE);
|
m_font->setJustification(FontBank::JUST_CENTRE);
|
||||||
|
@ -150,10 +149,9 @@ void CMapScene::init()
|
||||||
m_screenImage=MemAlloc(512*256*2,"MapScreen");
|
m_screenImage=MemAlloc(512*256*2,"MapScreen");
|
||||||
generateMapScreenImage();
|
generateMapScreenImage();
|
||||||
SetScreenImage((u8*)m_screenImage);
|
SetScreenImage((u8*)m_screenImage);
|
||||||
#endif
|
|
||||||
|
|
||||||
m_readyToExit=false;
|
m_readyToExit=false;
|
||||||
// CFader::setFadingIn(CFader::BLACK_FADE);
|
CFader::setFadingIn(CFader::BLACK_FADE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,12 +163,10 @@ void CMapScene::init()
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CMapScene::shutdown()
|
void CMapScene::shutdown()
|
||||||
{
|
{
|
||||||
#ifdef __E3__
|
|
||||||
ClearScreenImage();
|
ClearScreenImage();
|
||||||
MemFree(m_screenImage);
|
MemFree(m_screenImage);
|
||||||
m_spriteBank->dump(); delete m_spriteBank;
|
m_spriteBank->dump(); delete m_spriteBank;
|
||||||
m_font->dump(); delete m_font;
|
m_font->dump(); delete m_font;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -182,7 +178,6 @@ void CMapScene::shutdown()
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CMapScene::render()
|
void CMapScene::render()
|
||||||
{
|
{
|
||||||
#ifdef __E3__
|
|
||||||
int i,x,y,xpos,ypos;
|
int i,x,y,xpos,ypos;
|
||||||
int compilerGetsComfused;
|
int compilerGetsComfused;
|
||||||
char spatCount[10];
|
char spatCount[10];
|
||||||
|
@ -223,7 +218,6 @@ m_font->setColour(0,255,0);
|
||||||
m_font->print(24,24,buf);
|
m_font->print(24,24,buf);
|
||||||
m_font->setColour(0,0,0);
|
m_font->setColour(0,0,0);
|
||||||
m_font->print(25,25,buf);
|
m_font->print(25,25,buf);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -235,7 +229,6 @@ m_font->print(25,25,buf);
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CMapScene::think(int _frames)
|
void CMapScene::think(int _frames)
|
||||||
{
|
{
|
||||||
#ifdef __E3__
|
|
||||||
if(!CFader::isFading()&&!m_readyToExit)
|
if(!CFader::isFading()&&!m_readyToExit)
|
||||||
{
|
{
|
||||||
// Change chapter
|
// Change chapter
|
||||||
|
@ -314,14 +307,6 @@ void CMapScene::think(int _frames)
|
||||||
GameState::setNextScene(&GameScene);
|
GameState::setNextScene(&GameScene);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
if(!m_readyToExit)
|
|
||||||
{
|
|
||||||
s_globalLevelSelectThing=0;
|
|
||||||
m_readyToExit=true;
|
|
||||||
GameState::setNextScene(&GameScene);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ class CHelmetPickup : public CBasePickup
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void init();
|
virtual void init();
|
||||||
|
virtual int dontKillDuringLevelRespawn() {return true;}
|
||||||
virtual DVECTOR getSizeForPlacement();
|
virtual DVECTOR getSizeForPlacement();
|
||||||
virtual void collect(class CPlayer *_player);
|
virtual void collect(class CPlayer *_player);
|
||||||
|
|
||||||
|
|
|
@ -112,8 +112,8 @@
|
||||||
#include <ACTOR_SPONGEBOB_GLASSES_Anim.h>
|
#include <ACTOR_SPONGEBOB_GLASSES_Anim.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#ifndef __ANIM_SPONGEBOB_BUBBLEWAND_HEADER__
|
//#ifndef __ANIM_SPONGEBOB_WAND_HEADER__
|
||||||
//#include <ACTOR_SPONGEBOB_BUBBLEWAND_Anim.h>
|
//#include <ACTOR_SPONGEBOB_WAND_Anim.h>
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
#ifndef __ANIM_SPONGEBOB_JELLYFISH_HEADER__
|
#ifndef __ANIM_SPONGEBOB_JELLYFISH_HEADER__
|
||||||
|
@ -325,7 +325,10 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
ANIM_SPONGEBOB_NET_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
ANIM_SPONGEBOB_NET_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
ANIM_SPONGEBOB_NET_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
ANIM_SPONGEBOB_NET_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
ANIM_SPONGEBOB_NET_SWIPE, // ANIM_SPONGEBOB_SWIPE,
|
ANIM_SPONGEBOB_NET_SWIPE, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
ANIM_SPONGEBOB_NET_DEATHFORWARDS, // ANIM_SPONGEBOB_DEATHFORWARDS,
|
||||||
|
ANIM_SPONGEBOB_NET_DEATHSQUASH, // ANIM_SPONGEBOB_DEATHSQUASH,
|
||||||
ANIM_SPONGEBOB_NET_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
ANIM_SPONGEBOB_NET_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHDRY
|
||||||
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
-1, // ANIM_SPONGEBOB_FIREEND,
|
-1, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
@ -356,7 +359,10 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
ANIM_SPONGEBOB_CORALBLOWER_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
ANIM_SPONGEBOB_CORALBLOWER_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
ANIM_SPONGEBOB_CORALBLOWER_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
ANIM_SPONGEBOB_CORALBLOWER_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
-1, // ANIM_SPONGEBOB_SWIPE,
|
-1, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_DEATHFORWARDS, // ANIM_SPONGEBOB_DEATHFORWARDS,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_DEATHSQUASH, // ANIM_SPONGEBOB_DEATHSQUASH,
|
||||||
ANIM_SPONGEBOB_CORALBLOWER_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
ANIM_SPONGEBOB_CORALBLOWER_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHDRY
|
||||||
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
ANIM_SPONGEBOB_CORALBLOWER_FIREEND, // ANIM_SPONGEBOB_FIREEND,
|
ANIM_SPONGEBOB_CORALBLOWER_FIREEND, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
@ -387,7 +393,10 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
ANIM_SPONGEBOB_JELLYLAUNCHER_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
ANIM_SPONGEBOB_JELLYLAUNCHER_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
ANIM_SPONGEBOB_JELLYLAUNCHER_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
ANIM_SPONGEBOB_JELLYLAUNCHER_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
-1, // ANIM_SPONGEBOB_SWIPE,
|
-1, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_DEATHFORWARDS, // ANIM_SPONGEBOB_DEATHFORWARDS,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_DEATHSQUASH, // ANIM_SPONGEBOB_DEATHSQUASH,
|
||||||
ANIM_SPONGEBOB_JELLYLAUNCHER_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
ANIM_SPONGEBOB_JELLYLAUNCHER_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHDRY
|
||||||
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
ANIM_SPONGEBOB_JELLYLAUNCHER_FIREEND, // ANIM_SPONGEBOB_FIREEND,
|
ANIM_SPONGEBOB_JELLYLAUNCHER_FIREEND, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
@ -418,7 +427,10 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
ANIM_SPONGEBOB_GLASSES_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
ANIM_SPONGEBOB_GLASSES_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
ANIM_SPONGEBOB_GLASSES_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
ANIM_SPONGEBOB_GLASSES_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
ANIM_SPONGEBOB_GLASSES_SWIPE, // ANIM_SPONGEBOB_SWIPE,
|
ANIM_SPONGEBOB_GLASSES_SWIPE, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
ANIM_SPONGEBOB_GLASSES_DEATHFORWARDS, // ANIM_SPONGEBOB_DEATHFORWARDS,
|
||||||
|
ANIM_SPONGEBOB_GLASSES_DEATHSQUASH, // ANIM_SPONGEBOB_DEATHSQUASH,
|
||||||
ANIM_SPONGEBOB_GLASSES_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
ANIM_SPONGEBOB_GLASSES_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHDRY
|
||||||
ANIM_SPONGEBOB_GLASSES_BALLOONJUMP, // ANIM_SPONGEBOB_BALLOONJUMP,
|
ANIM_SPONGEBOB_GLASSES_BALLOONJUMP, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
ANIM_SPONGEBOB_GLASSES_BLOWBUBBLE, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
ANIM_SPONGEBOB_GLASSES_BLOWBUBBLE, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
ANIM_SPONGEBOB_GLASSES_FIREEND, // ANIM_SPONGEBOB_FIREEND,
|
ANIM_SPONGEBOB_GLASSES_FIREEND, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
@ -433,8 +445,8 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
|
|
||||||
// PLAYER_ADDON_BUBBLEWAND,
|
// PLAYER_ADDON_BUBBLEWAND,
|
||||||
{
|
{
|
||||||
-1, // ANIM_SPONGEBOB_BUTTBOUNCEEND,
|
-1, // ANIM_SPONGEBOB_BUTTBOUNCEEND,
|
||||||
-1, // ANIM_SPONGEBOB_BUTTBOUNCESTART,
|
-1, // ANIM_SPONGEBOB_BUTTBOUNCESTART,
|
||||||
-1, // ANIM_SPONGEBOB_FALL,
|
-1, // ANIM_SPONGEBOB_FALL,
|
||||||
-1, // ANIM_SPONGEBOB_GETUP,
|
-1, // ANIM_SPONGEBOB_GETUP,
|
||||||
-1, // ANIM_SPONGEBOB_HITGROUND,
|
-1, // ANIM_SPONGEBOB_HITGROUND,
|
||||||
|
@ -449,9 +461,12 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
-1, // ANIM_SPONGEBOB_TEETERBACK,
|
-1, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
-1, // ANIM_SPONGEBOB_TEETERFRONT,
|
-1, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
-1, // ANIM_SPONGEBOB_SWIPE,
|
-1, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHFORWARDS,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHSQUASH,
|
||||||
-1, // ANIM_SPONGEBOB_DEATHSPIN,
|
-1, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHDRY
|
||||||
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
-1, // ANIM_SPONGEBOB_FIREEND,
|
-1, // ANIM_SPONGEBOB_FIREEND,
|
||||||
-1, // ANIM_SPONGEBOB_FIRESTART,
|
-1, // ANIM_SPONGEBOB_FIRESTART,
|
||||||
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
|
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
|
||||||
|
@ -480,7 +495,10 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
ANIM_SPONGEBOB_JELLYFISH_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
ANIM_SPONGEBOB_JELLYFISH_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
ANIM_SPONGEBOB_JELLYFISH_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
ANIM_SPONGEBOB_JELLYFISH_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
ANIM_SPONGEBOB_JELLYFISH_SWIPE, // ANIM_SPONGEBOB_SWIPE,
|
ANIM_SPONGEBOB_JELLYFISH_SWIPE, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
ANIM_SPONGEBOB_JELLYFISH_DEATHFORWARDS, // ANIM_SPONGEBOB_DEATHFORWARDS,
|
||||||
|
ANIM_SPONGEBOB_JELLYFISH_DEATHSQUASH, // ANIM_SPONGEBOB_DEATHSQUASH,
|
||||||
ANIM_SPONGEBOB_JELLYFISH_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
ANIM_SPONGEBOB_JELLYFISH_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHDRY
|
||||||
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
-1, // ANIM_SPONGEBOB_FIREEND,
|
-1, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
@ -511,7 +529,10 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
-1, // ANIM_SPONGEBOB_TEETERBACK,
|
-1, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
-1, // ANIM_SPONGEBOB_TEETERFRONT,
|
-1, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
-1, // ANIM_SPONGEBOB_SWIPE,
|
-1, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHFORWARDS,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHSQUASH,
|
||||||
-1, // ANIM_SPONGEBOB_DEATHSPIN,
|
-1, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHDRY
|
||||||
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
-1, // ANIM_SPONGEBOB_FIREEND,
|
-1, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
@ -650,7 +671,6 @@ void CPlayer::think(int _frames)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
|
||||||
#if !defined(__USER_CDBUILD__)
|
|
||||||
if(PadGetDown(0)&PAD_L1)
|
if(PadGetDown(0)&PAD_L1)
|
||||||
{
|
{
|
||||||
oldmode=m_currentMode;
|
oldmode=m_currentMode;
|
||||||
|
@ -661,7 +681,6 @@ else if(oldmode!=-1&&!(PadGetHeld(0)&PAD_L1))
|
||||||
newmode=oldmode;
|
newmode=oldmode;
|
||||||
oldmode=-1;
|
oldmode=-1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __USER_paul__
|
#ifdef __USER_paul__
|
||||||
if(PadGetHeld(0)&PAD_L1&&PadGetHeld(0)&PAD_L2)
|
if(PadGetHeld(0)&PAD_L1&&PadGetHeld(0)&PAD_L2)
|
||||||
|
@ -878,7 +897,7 @@ if(newmode!=-1)
|
||||||
m_healthWaterLevel-=waterDrainSpeed*_frames;
|
m_healthWaterLevel-=waterDrainSpeed*_frames;
|
||||||
if(m_healthWaterLevel<=0)
|
if(m_healthWaterLevel<=0)
|
||||||
{
|
{
|
||||||
dieYouPorousFreak();
|
dieYouPorousFreak(DEATHTYPE__DRYUP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -986,8 +1005,14 @@ int stateDebugY=60;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __USER_paul__
|
#ifdef __USER_paul__
|
||||||
#define NUM_LASTPOS 50
|
#define NUM_LASTPOS 100
|
||||||
static DVECTOR lastpos[NUM_LASTPOS];
|
typedef struct
|
||||||
|
{
|
||||||
|
int vx,vy;
|
||||||
|
int h;
|
||||||
|
int onp;
|
||||||
|
}POSMEM;
|
||||||
|
static POSMEM lastpos[NUM_LASTPOS];
|
||||||
static int lastposnum=0;
|
static int lastposnum=0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1001,7 +1026,6 @@ void CPlayer::render()
|
||||||
CPlayerThing::render();
|
CPlayerThing::render();
|
||||||
|
|
||||||
|
|
||||||
#ifdef __E3__
|
|
||||||
#ifdef _STATE_DEBUG_
|
#ifdef _STATE_DEBUG_
|
||||||
char buf[100];
|
char buf[100];
|
||||||
#ifdef __USER_paul__
|
#ifdef __USER_paul__
|
||||||
|
@ -1011,13 +1035,12 @@ sprintf(buf,"Pos: %04d,%04d",Pos.vx,Pos.vy);
|
||||||
#endif
|
#endif
|
||||||
m_fontBank->print(stateDebugX,stateDebugY,buf);
|
m_fontBank->print(stateDebugX,stateDebugY,buf);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __USER_paul__
|
#ifdef __USER_paul__
|
||||||
if(PadGetDown(0)&PAD_R1)
|
if(PadGetDown(0)&PAD_R1)
|
||||||
{
|
{
|
||||||
DVECTOR clear={0,0};
|
POSMEM clear={0,0,0,false};
|
||||||
for(int i=0;i<NUM_LASTPOS;i++)
|
for(int i=0;i<NUM_LASTPOS;i++)
|
||||||
{
|
{
|
||||||
lastpos[i]=clear;
|
lastpos[i]=clear;
|
||||||
|
@ -1026,15 +1049,38 @@ if(PadGetDown(0)&PAD_R1)
|
||||||
if(Pos.vx!=lastpos[lastposnum].vx||Pos.vy!=lastpos[lastposnum].vy)
|
if(Pos.vx!=lastpos[lastposnum].vx||Pos.vy!=lastpos[lastposnum].vy)
|
||||||
{
|
{
|
||||||
lastposnum=(lastposnum+1)%NUM_LASTPOS;
|
lastposnum=(lastposnum+1)%NUM_LASTPOS;
|
||||||
lastpos[lastposnum]=Pos;
|
POSMEM *p=&lastpos[lastposnum];
|
||||||
|
p->vx=Pos.vx;
|
||||||
|
p->vy=Pos.vy;
|
||||||
|
p->onp=isOnPlatform()!=NULL;
|
||||||
|
if(p->onp)
|
||||||
|
{
|
||||||
|
p->h=getHeightFromPlatformNoGround(Pos.vx,Pos.vy,150);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
p->h=getHeightFromGround(Pos.vx,Pos.vy,150);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
POSMEM *p=lastpos;
|
||||||
for(int i=0;i<NUM_LASTPOS;i++)
|
for(int i=0;i<NUM_LASTPOS;i++)
|
||||||
{
|
{
|
||||||
int x,y;
|
int x,y;
|
||||||
x=lastpos[i].vx-m_cameraPos.vx;
|
x=p->vx-m_cameraPos.vx;
|
||||||
y=lastpos[i].vy-m_cameraPos.vy;
|
y=p->vy-m_cameraPos.vy;
|
||||||
DrawLine(x-4,y-4,x+4,y+4,0,0,255,0);
|
DrawLine(x-4,y-4,x+4,y+4,0,0,255,0);
|
||||||
DrawLine(x-4,y+4,x+4,y-4,0,0,255,0);
|
DrawLine(x-4,y+4,x+4,y-4,0,0,255,0);
|
||||||
|
y=y+p->h;
|
||||||
|
if(p->onp)
|
||||||
|
{
|
||||||
|
DrawLine(x-6,y,x+6,y,255,0,255,0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DrawLine(x-6,y,x+6,y,128,0,255,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
p++;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1304,6 +1350,8 @@ void CPlayer::registerAddon(PLAYER_ADDONS _addon)
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CPlayer::setMode(PLAYER_MODE _mode)
|
void CPlayer::setMode(PLAYER_MODE _mode)
|
||||||
{
|
{
|
||||||
|
int state;
|
||||||
|
|
||||||
if(_mode==PLAYER_MODE_DEAD)
|
if(_mode==PLAYER_MODE_DEAD)
|
||||||
{
|
{
|
||||||
ASSERT(m_currentMode!=PLAYER_MODE_DEAD);
|
ASSERT(m_currentMode!=PLAYER_MODE_DEAD);
|
||||||
|
@ -1311,8 +1359,22 @@ void CPlayer::setMode(PLAYER_MODE _mode)
|
||||||
}
|
}
|
||||||
|
|
||||||
resetPlayerCollisionSizeToBase();
|
resetPlayerCollisionSizeToBase();
|
||||||
|
|
||||||
|
if(m_currentPlayerModeClass)
|
||||||
|
{
|
||||||
|
state=m_currentPlayerModeClass->getState();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
state=STATE_IDLE;
|
||||||
|
}
|
||||||
m_currentMode=_mode;
|
m_currentMode=_mode;
|
||||||
m_currentPlayerModeClass=s_playerModes[_mode];
|
m_currentPlayerModeClass=s_playerModes[_mode];
|
||||||
|
if(!m_currentPlayerModeClass->setState(state))
|
||||||
|
{
|
||||||
|
m_currentPlayerModeClass->setState(STATE_IDLE);
|
||||||
|
m_moveVelocity.vx=m_moveVelocity.vy=0;
|
||||||
|
}
|
||||||
m_currentPlayerModeClass->enter();
|
m_currentPlayerModeClass->enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1815,10 +1877,11 @@ void CPlayer::takeDamage(DAMAGE_TYPE _damage,REACT_DIRECTION _reactDirection,CTh
|
||||||
Params:
|
Params:
|
||||||
Returns:
|
Returns:
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CPlayer::dieYouPorousFreak()
|
void CPlayer::dieYouPorousFreak(DEATH_TYPE _deathType)
|
||||||
{
|
{
|
||||||
ASSERT(m_currentMode!=PLAYER_MODE_DEAD);
|
ASSERT(m_currentMode!=PLAYER_MODE_DEAD);
|
||||||
|
|
||||||
|
m_deathType=_deathType;
|
||||||
CSoundMediator::playSfx(CSoundMediator::SFX_SPONGEBOB_DEFEATED_JINGLE);
|
CSoundMediator::playSfx(CSoundMediator::SFX_SPONGEBOB_DEFEATED_JINGLE);
|
||||||
setMode(PLAYER_MODE_DEAD);
|
setMode(PLAYER_MODE_DEAD);
|
||||||
}
|
}
|
||||||
|
|
|
@ -125,6 +125,13 @@ typedef enum
|
||||||
DAMAGE__KILL_OUTRIGHT,
|
DAMAGE__KILL_OUTRIGHT,
|
||||||
}DAMAGE_TYPE;
|
}DAMAGE_TYPE;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
DEATHTYPE__NORMAL,
|
||||||
|
DEATHTYPE__DRYUP,
|
||||||
|
DEATHTYPE__SQUASH,
|
||||||
|
} DEATH_TYPE;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
REACT__LEFT=-1,
|
REACT__LEFT=-1,
|
||||||
|
@ -309,6 +316,8 @@ private:
|
||||||
PLAYER_MODE m_currentMode;
|
PLAYER_MODE m_currentMode;
|
||||||
PLAYER_MODE m_lastModeBeforeDeath;
|
PLAYER_MODE m_lastModeBeforeDeath;
|
||||||
|
|
||||||
|
public:
|
||||||
|
DEATH_TYPE getDeathType() {return m_deathType;}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_lives;
|
int m_lives;
|
||||||
|
@ -316,7 +325,8 @@ private:
|
||||||
int m_healthWaterLevel;
|
int m_healthWaterLevel;
|
||||||
int m_healthReactFrames;
|
int m_healthReactFrames;
|
||||||
|
|
||||||
void dieYouPorousFreak();
|
void dieYouPorousFreak(DEATH_TYPE _deathType=DEATHTYPE__NORMAL);
|
||||||
|
DEATH_TYPE m_deathType;
|
||||||
|
|
||||||
|
|
||||||
void updatePadInput();
|
void updatePadInput();
|
||||||
|
|
|
@ -57,8 +57,24 @@
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CPlayerModeDead::enter()
|
void CPlayerModeDead::enter()
|
||||||
{
|
{
|
||||||
|
int deathAnim;
|
||||||
|
|
||||||
m_deadTime=0;
|
m_deadTime=0;
|
||||||
m_player->setAnimNo(ANIM_SPONGEBOB_DEATHSPIN);
|
|
||||||
|
switch(m_player->getDeathType())
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case DEATHTYPE__NORMAL:
|
||||||
|
deathAnim=ANIM_SPONGEBOB_DEATHSPIN;
|
||||||
|
break;
|
||||||
|
case DEATHTYPE__DRYUP:
|
||||||
|
deathAnim=ANIM_SPONGEBOB_DEATHDRY;
|
||||||
|
break;
|
||||||
|
case DEATHTYPE__SQUASH:
|
||||||
|
deathAnim=ANIM_SPONGEBOB_DEATHSQUASH;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
m_player->setAnimNo(deathAnim);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -183,8 +183,6 @@ void CPlayerMode::respawn() {m_player->respawn();}
|
||||||
void CPlayerModeBase::enter()
|
void CPlayerModeBase::enter()
|
||||||
{
|
{
|
||||||
m_fallFrames=0;
|
m_fallFrames=0;
|
||||||
setState(STATE_IDLE);
|
|
||||||
zeroMoveVelocity();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
Loading…
Add table
Reference in a new issue