This commit is contained in:
parent
87421347b6
commit
5385618c50
10 changed files with 325 additions and 60 deletions
|
@ -121,6 +121,7 @@ void CPauseMenu::init()
|
||||||
STR__DEBUG__BALLOON_MODE,
|
STR__DEBUG__BALLOON_MODE,
|
||||||
&newmode,PLAYER_MODE_BALLOON);
|
&newmode,PLAYER_MODE_BALLOON);
|
||||||
xpos+=TEXT_SPACING;
|
xpos+=TEXT_SPACING;
|
||||||
|
//#ifndef __USER_paul__
|
||||||
CGUIFactory::createValueButtonFrame(m_guiFrame,
|
CGUIFactory::createValueButtonFrame(m_guiFrame,
|
||||||
(FRAME_WIDTH-TEXT_BOX_WIDTH)/2,xpos,TEXT_BOX_WIDTH,TEXT_BOX_HEIGHT,
|
(FRAME_WIDTH-TEXT_BOX_WIDTH)/2,xpos,TEXT_BOX_WIDTH,TEXT_BOX_HEIGHT,
|
||||||
STR__DEBUG__BUBBLEMIXTURE_MODE,
|
STR__DEBUG__BUBBLEMIXTURE_MODE,
|
||||||
|
@ -131,7 +132,6 @@ void CPauseMenu::init()
|
||||||
STR__DEBUG__NET_MODE,
|
STR__DEBUG__NET_MODE,
|
||||||
&newmode,PLAYER_MODE_NET);
|
&newmode,PLAYER_MODE_NET);
|
||||||
xpos+=TEXT_SPACING;
|
xpos+=TEXT_SPACING;
|
||||||
#ifndef __USER_CDBUILD__
|
|
||||||
CGUIFactory::createValueButtonFrame(m_guiFrame,
|
CGUIFactory::createValueButtonFrame(m_guiFrame,
|
||||||
(FRAME_WIDTH-TEXT_BOX_WIDTH)/2,xpos,TEXT_BOX_WIDTH,TEXT_BOX_HEIGHT,
|
(FRAME_WIDTH-TEXT_BOX_WIDTH)/2,xpos,TEXT_BOX_WIDTH,TEXT_BOX_HEIGHT,
|
||||||
STR__DEBUG__CORALBLOWER_MODE,
|
STR__DEBUG__CORALBLOWER_MODE,
|
||||||
|
@ -147,7 +147,7 @@ void CPauseMenu::init()
|
||||||
STR__DEBUG__DEAD_MODE,
|
STR__DEBUG__DEAD_MODE,
|
||||||
&newmode,PLAYER_MODE_DEAD);
|
&newmode,PLAYER_MODE_DEAD);
|
||||||
xpos+=TEXT_SPACING;
|
xpos+=TEXT_SPACING;
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
m_active=false;
|
m_active=false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,10 @@
|
||||||
#include "player\player.h"
|
#include "player\player.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GAME_GAME_H__
|
||||||
|
#include "game\game.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __GFX_OTPOS_H__
|
#ifndef __GFX_OTPOS_H__
|
||||||
#include "gfx\otpos.h"
|
#include "gfx\otpos.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -71,6 +75,8 @@ void CCoralBlowerPickup::init()
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__BLOWER);
|
fh=getSpriteBank()->getFrameHeader(FRM__BLOWER);
|
||||||
setCollisionSize(fh->W,fh->H);
|
setCollisionSize(fh->W,fh->H);
|
||||||
|
|
||||||
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_CORALBLOWER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -29,6 +29,10 @@
|
||||||
#include "player\player.h"
|
#include "player\player.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GAME_GAME_H__
|
||||||
|
#include "game\game.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __GFX_OTPOS_H__
|
#ifndef __GFX_OTPOS_H__
|
||||||
#include "gfx\otpos.h"
|
#include "gfx\otpos.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -167,6 +171,8 @@ void CBubbleWandPickup::init()
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__BUBBLEWAND);
|
fh=getSpriteBank()->getFrameHeader(FRM__BUBBLEWAND);
|
||||||
setCollisionSize(fh->W,fh->H);
|
setCollisionSize(fh->W,fh->H);
|
||||||
|
|
||||||
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_BUBBLEWAND);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
|
|
||||||
#include "pickups\pglasses.h"
|
#include "pickups\pglasses.h"
|
||||||
|
|
||||||
|
#ifndef __GAME_GAME_H__
|
||||||
|
#include "game\game.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __PLAYER_PLAYER_H__
|
#ifndef __PLAYER_PLAYER_H__
|
||||||
#include "player\player.h"
|
#include "player\player.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -74,6 +78,8 @@ void CGlassesPickup::init()
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__GLASSES);
|
fh=getSpriteBank()->getFrameHeader(FRM__GLASSES);
|
||||||
setCollisionSize(fh->W,fh->H);
|
setCollisionSize(fh->W,fh->H);
|
||||||
|
|
||||||
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_BUBBLEWAND);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -29,6 +29,10 @@
|
||||||
#include "player\player.h"
|
#include "player\player.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GAME_GAME_H__
|
||||||
|
#include "game\game.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __GFX_OTPOS_H__
|
#ifndef __GFX_OTPOS_H__
|
||||||
#include "gfx\otpos.h"
|
#include "gfx\otpos.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -165,6 +169,8 @@ void CJellyLauncherPickup::init()
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__LAUNCHER);
|
fh=getSpriteBank()->getFrameHeader(FRM__LAUNCHER);
|
||||||
setCollisionSize(fh->W,fh->H);
|
setCollisionSize(fh->W,fh->H);
|
||||||
|
|
||||||
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_JELLYLAUNCHER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -25,6 +25,10 @@
|
||||||
#include "player\player.h"
|
#include "player\player.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GAME_GAME_H__
|
||||||
|
#include "game\game.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
@ -71,6 +75,8 @@ void CNetPickup::init()
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__NET);
|
fh=getSpriteBank()->getFrameHeader(FRM__NET);
|
||||||
setCollisionSize(fh->W,fh->H);
|
setCollisionSize(fh->W,fh->H);
|
||||||
|
|
||||||
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_NET);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -92,6 +92,31 @@
|
||||||
#include <sprites.h>
|
#include <sprites.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ANIM_SPONGEBOB_HEADER__
|
||||||
|
#include <ACTOR_SPONGEBOB_Anim.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ANIM_SPONGEBOB_NET_HEADER__
|
||||||
|
#include <ACTOR_SPONGEBOB_NET_Anim.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ANIM_SPONGEBOB_CORALBLOWER_HEADER__
|
||||||
|
#include <ACTOR_SPONGEBOB_CORALBLOWER_Anim.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ANIM_SPONGEBOB_JELLYLAUNCHER_HEADER__
|
||||||
|
#include <ACTOR_SPONGEBOB_JELLYLAUNCHER_Anim.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//#ifndef __ANIM_SPONGEBOB_GLASSES_HEADER__
|
||||||
|
//#include <ACTOR_SPONGEBOB_GLASSES_Anim.h>
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
//#ifndef __ANIM_SPONGEBOB_BUBBLEWAND_HEADER__
|
||||||
|
//#include <ACTOR_SPONGEBOB_BUBBLEWAND_Anim.h>
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Tyepdefs && Defines
|
Tyepdefs && Defines
|
||||||
|
@ -239,7 +264,183 @@ pint ledgeShift=1;
|
||||||
pint cammove=2;
|
pint cammove=2;
|
||||||
|
|
||||||
|
|
||||||
CActorGfx *m_actorWeaponGfx;
|
|
||||||
|
// --------------------------------- Addon stuff ---------------------------------
|
||||||
|
CActorGfx *s_addonActorGfx[NUM_PLAYER_ADDONS]=
|
||||||
|
{
|
||||||
|
NULL, // PLAYER_ADDON_NET
|
||||||
|
NULL, // PLAYER_ADDON_CORALBLOWER
|
||||||
|
NULL, // PLAYER_ADDON_JELLYLAUNCHER
|
||||||
|
NULL, // PLAYER_ADDON_GLASSES
|
||||||
|
NULL, // PLAYER_ADDON_BUBBLEWAND
|
||||||
|
};
|
||||||
|
FileEquate s_addonActorPoolNames[NUM_PLAYER_ADDONS]=
|
||||||
|
{
|
||||||
|
ACTORS_SPONGEBOB_NET_SBK, // PLAYER_ADDON_NET
|
||||||
|
ACTORS_SPONGEBOB_CORALBLOWER_SBK, // PLAYER_ADDON_CORALBLOWER
|
||||||
|
ACTORS_SPONGEBOB_JELLYLAUNCHER_SBK, // PLAYER_ADDON_JELLYLAUNCHER
|
||||||
|
(FileEquate)-1, // PLAYER_ADDON_GLASSES
|
||||||
|
(FileEquate)-1, // PLAYER_ADDON_BUBBLEWAND
|
||||||
|
};
|
||||||
|
PLAYER_ADDONS s_addonNumbers[NUM_PLAYERMODES]=
|
||||||
|
{
|
||||||
|
NO_ADDON, // PLAYER_MODE_BASICUNARMED
|
||||||
|
NO_ADDON, // PLAYER_MODE_FULLUNARMED
|
||||||
|
NO_ADDON, // PLAYER_MODE_BALLOON
|
||||||
|
PLAYER_ADDON_BUBBLEWAND, // PLAYER_MODE_BUBBLE_MIXTURE
|
||||||
|
PLAYER_ADDON_NET, // PLAYER_MODE_NET
|
||||||
|
PLAYER_ADDON_CORALBLOWER, // PLAYER_MODE_CORALBLOWER
|
||||||
|
PLAYER_ADDON_JELLYLAUNCHER, // PLAYER_MODE_JELLY_LAUNCHER
|
||||||
|
NO_ADDON, // PLAYER_MODE_DEAD
|
||||||
|
NO_ADDON, // PLAYER_MODE_FLY
|
||||||
|
};
|
||||||
|
|
||||||
|
static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
|
||||||
|
{
|
||||||
|
// PLAYER_ADDON_NET,
|
||||||
|
{
|
||||||
|
ANIM_SPONGEBOB_NET_BUTTBOUNCEEND, // ANIM_SPONGEBOB_BUTTBOUNCEEND,
|
||||||
|
ANIM_SPONGEBOB_NET_BUTTBOUNCESTART, // ANIM_SPONGEBOB_BUTTBOUNCESTART,
|
||||||
|
ANIM_SPONGEBOB_NET_FALL, // ANIM_SPONGEBOB_FALL,
|
||||||
|
ANIM_SPONGEBOB_NET_GETUP, // ANIM_SPONGEBOB_GETUP,
|
||||||
|
ANIM_SPONGEBOB_NET_HITGROUND, // ANIM_SPONGEBOB_HITGROUND,
|
||||||
|
ANIM_SPONGEBOB_NET_IDLEBREATH, // ANIM_SPONGEBOB_IDLEBREATH,
|
||||||
|
ANIM_SPONGEBOB_NET_IDLEWIND, // ANIM_SPONGEBOB_IDLEWIND,
|
||||||
|
ANIM_SPONGEBOB_NET_JUMPEND, // ANIM_SPONGEBOB_JUMPEND,
|
||||||
|
ANIM_SPONGEBOB_NET_JUMP, // ANIM_SPONGEBOB_JUMP,
|
||||||
|
ANIM_SPONGEBOB_NET_RUN, // ANIM_SPONGEBOB_RUN,
|
||||||
|
ANIM_SPONGEBOB_NET_RUNSTOP, // ANIM_SPONGEBOB_RUNSTOP,
|
||||||
|
ANIM_SPONGEBOB_NET_RUNSTART, // ANIM_SPONGEBOB_RUNSTART,
|
||||||
|
ANIM_SPONGEBOB_NET_SOAKUP, // ANIM_SPONGEBOB_SOAKUP,
|
||||||
|
ANIM_SPONGEBOB_NET_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
|
ANIM_SPONGEBOB_NET_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
|
ANIM_SPONGEBOB_NET_SWIPE, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
ANIM_SPONGEBOB_NET_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
|
-1, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
-1, // ANIM_SPONGEBOB_FIRESTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
|
||||||
|
-1, // ANIM_SPONGEBOB_WALK,
|
||||||
|
-1, // ANIM_SPONGEBOB_KARATE,
|
||||||
|
},
|
||||||
|
|
||||||
|
// PLAYER_ADDON_CORALBLOWER,
|
||||||
|
{
|
||||||
|
-1, // ANIM_SPONGEBOB_BUTTBOUNCEEND,
|
||||||
|
-1, // ANIM_SPONGEBOB_BUTTBOUNCESTART,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_FALL, // ANIM_SPONGEBOB_FALL,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_GETUP, // ANIM_SPONGEBOB_GETUP,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_HITGROUND, // ANIM_SPONGEBOB_HITGROUND,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_IDLEBREATH, // ANIM_SPONGEBOB_IDLEBREATH,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_IDLEWIND, // ANIM_SPONGEBOB_IDLEWIND,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_JUMPEND, // ANIM_SPONGEBOB_JUMPEND,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_JUMP, // ANIM_SPONGEBOB_JUMP,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUN,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUNSTOP,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUNSTART,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_SOAKUP, // ANIM_SPONGEBOB_SOAKUP,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
|
-1, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_FIREEND, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_FIRESTART, // ANIM_SPONGEBOB_FIRESTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
|
||||||
|
ANIM_SPONGEBOB_CORALBLOWER_WALK, // ANIM_SPONGEBOB_WALK,
|
||||||
|
-1, // ANIM_SPONGEBOB_KARATE,
|
||||||
|
},
|
||||||
|
|
||||||
|
// PLAYER_ADDON_JELLYLAUNCHER,
|
||||||
|
{
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_BUTTBOUNCEEND, // ANIM_SPONGEBOB_BUTTBOUNCEEND,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_BUTTBOUNCESTART, // ANIM_SPONGEBOB_BUTTBOUNCESTART,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_FALL, // ANIM_SPONGEBOB_FALL,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_GETUP, // ANIM_SPONGEBOB_GETUP,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_HITGROUND, // ANIM_SPONGEBOB_HITGROUND,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_IDLEBREATH, // ANIM_SPONGEBOB_IDLEBREATH,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_IDLEWIND, // ANIM_SPONGEBOB_IDLEWIND,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_JUMPEND, // ANIM_SPONGEBOB_JUMPEND,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_JUMP, // ANIM_SPONGEBOB_JUMP,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_RUN, // ANIM_SPONGEBOB_RUN,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_RUNSTOP, // ANIM_SPONGEBOB_RUNSTOP,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_RUNSTART, // ANIM_SPONGEBOB_RUNSTART,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_SOAKUP, // ANIM_SPONGEBOB_SOAKUP,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
|
-1, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_FIREEND, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
ANIM_SPONGEBOB_JELLYLAUNCHER_FIRESTART, // ANIM_SPONGEBOB_FIRESTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
|
||||||
|
-1, // ANIM_SPONGEBOB_WALK,
|
||||||
|
-1, // ANIM_SPONGEBOB_KARATE,
|
||||||
|
},
|
||||||
|
|
||||||
|
// PLAYER_ADDON_GLASSES,
|
||||||
|
{
|
||||||
|
-1, // ANIM_SPONGEBOB_BUTTBOUNCEEND,
|
||||||
|
-1, // ANIM_SPONGEBOB_BUTTBOUNCESTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_FALL,
|
||||||
|
-1, // ANIM_SPONGEBOB_GETUP,
|
||||||
|
-1, // ANIM_SPONGEBOB_HITGROUND,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEBREATH,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEWIND,
|
||||||
|
-1, // ANIM_SPONGEBOB_JUMPEND,
|
||||||
|
-1, // ANIM_SPONGEBOB_JUMP,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUN,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUNSTOP,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUNSTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_SOAKUP,
|
||||||
|
-1, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
|
-1, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
|
-1, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
|
-1, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
-1, // ANIM_SPONGEBOB_FIRESTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
|
||||||
|
-1, // ANIM_SPONGEBOB_WALK,
|
||||||
|
-1, // ANIM_SPONGEBOB_KARATE,
|
||||||
|
},
|
||||||
|
|
||||||
|
// PLAYER_ADDON_BUBBLEWAND,
|
||||||
|
{
|
||||||
|
-1, // ANIM_SPONGEBOB_BUTTBOUNCEEND,
|
||||||
|
-1, // ANIM_SPONGEBOB_BUTTBOUNCESTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_FALL,
|
||||||
|
-1, // ANIM_SPONGEBOB_GETUP,
|
||||||
|
-1, // ANIM_SPONGEBOB_HITGROUND,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEBREATH,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEWIND,
|
||||||
|
-1, // ANIM_SPONGEBOB_JUMPEND,
|
||||||
|
-1, // ANIM_SPONGEBOB_JUMP,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUN,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUNSTOP,
|
||||||
|
-1, // ANIM_SPONGEBOB_RUNSTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_SOAKUP,
|
||||||
|
-1, // ANIM_SPONGEBOB_TEETERBACK,
|
||||||
|
-1, // ANIM_SPONGEBOB_TEETERFRONT,
|
||||||
|
-1, // ANIM_SPONGEBOB_SWIPE,
|
||||||
|
-1, // ANIM_SPONGEBOB_DEATHSPIN,
|
||||||
|
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
||||||
|
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
||||||
|
-1, // ANIM_SPONGEBOB_FIREEND,
|
||||||
|
-1, // ANIM_SPONGEBOB_FIRESTART,
|
||||||
|
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
|
||||||
|
-1, // ANIM_SPONGEBOB_WALK,
|
||||||
|
-1, // ANIM_SPONGEBOB_KARATE,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -250,6 +451,8 @@ CActorGfx *m_actorWeaponGfx;
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CPlayer::init()
|
void CPlayer::init()
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
CPlayerThing::init();
|
CPlayerThing::init();
|
||||||
|
|
||||||
m_fontBank=new ("PlayerFont") FontBank();
|
m_fontBank=new ("PlayerFont") FontBank();
|
||||||
|
@ -261,12 +464,9 @@ void CPlayer::init()
|
||||||
|
|
||||||
m_layerCollision=NULL;
|
m_layerCollision=NULL;
|
||||||
|
|
||||||
CActorPool::AddActor(ACTORS_SPONGEBOB_NET_SBK);
|
|
||||||
m_actorWeaponGfx=CActorPool::GetActor(ACTORS_SPONGEBOB_NET_SBK);
|
|
||||||
|
|
||||||
m_actorGfx=CActorPool::GetActor(ACTORS_SPONGEBOB_SBK);
|
m_actorGfx=CActorPool::GetActor(ACTORS_SPONGEBOB_SBK);
|
||||||
|
|
||||||
for(int i=0;i<NUM_PLAYERMODES;i++)
|
for(i=0;i<NUM_PLAYERMODES;i++)
|
||||||
{
|
{
|
||||||
s_playerModes[i]->initialise(this);
|
s_playerModes[i]->initialise(this);
|
||||||
}
|
}
|
||||||
|
@ -287,6 +487,14 @@ m_animFrame=0;
|
||||||
resetPlayerCollisionSizeToBase();
|
resetPlayerCollisionSizeToBase();
|
||||||
|
|
||||||
m_divingHelmet=false;
|
m_divingHelmet=false;
|
||||||
|
|
||||||
|
//#ifdef __USER_paul__
|
||||||
|
registerAddon(PLAYER_ADDON_NET);
|
||||||
|
registerAddon(PLAYER_ADDON_CORALBLOWER);
|
||||||
|
registerAddon(PLAYER_ADDON_JELLYLAUNCHER);
|
||||||
|
registerAddon(PLAYER_ADDON_GLASSES);
|
||||||
|
registerAddon(PLAYER_ADDON_BUBBLEWAND);
|
||||||
|
//#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -297,11 +505,21 @@ m_animFrame=0;
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CPlayer::shutdown()
|
void CPlayer::shutdown()
|
||||||
{
|
{
|
||||||
for(int i=0;i<NUM_PLAYERMODES;i++)
|
int i;
|
||||||
|
|
||||||
|
for(i=0;i<NUM_PLAYERMODES;i++)
|
||||||
{
|
{
|
||||||
s_playerModes[i]->shutdown();
|
s_playerModes[i]->shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(i=0;i<NUM_PLAYER_ADDONS;i++)
|
||||||
|
{
|
||||||
|
if(s_addonActorGfx[i])
|
||||||
|
{
|
||||||
|
delete s_addonActorGfx[i];
|
||||||
|
s_addonActorGfx[i]=NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
delete m_actorGfx;
|
delete m_actorGfx;
|
||||||
|
|
||||||
m_spriteBank->dump(); delete m_spriteBank;
|
m_spriteBank->dump(); delete m_spriteBank;
|
||||||
|
@ -569,9 +787,9 @@ int panim=-1;
|
||||||
#include "gfx\prim.h" // (pkg)
|
#include "gfx\prim.h" // (pkg)
|
||||||
int healthx=40;
|
int healthx=40;
|
||||||
int healthy=40;
|
int healthy=40;
|
||||||
int healthr=200;
|
int healthr=128;
|
||||||
int healthg=75;
|
int healthg=0;
|
||||||
int healthb=75;
|
int healthb=0;
|
||||||
|
|
||||||
#ifdef __USER_paul__
|
#ifdef __USER_paul__
|
||||||
#define NUM_LASTPOS 50
|
#define NUM_LASTPOS 50
|
||||||
|
@ -781,6 +999,26 @@ ATTACK_STATE CPlayer::getAttackState()
|
||||||
return m_currentPlayerModeClass->getAttackState();
|
return m_currentPlayerModeClass->getAttackState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CPlayer::registerAddon(PLAYER_ADDONS _addon)
|
||||||
|
{
|
||||||
|
if(!s_addonActorGfx[_addon])
|
||||||
|
{
|
||||||
|
FileEquate sbk;
|
||||||
|
sbk=s_addonActorPoolNames[_addon];
|
||||||
|
if(sbk!=-1)
|
||||||
|
{
|
||||||
|
s_addonActorGfx[_addon]=CActorPool::GetActor(sbk);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
Purpose:
|
Purpose:
|
||||||
|
@ -952,52 +1190,45 @@ void CPlayer::respawn()
|
||||||
Params:
|
Params:
|
||||||
Returns:
|
Returns:
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
#ifndef __ANIM_SPONGEBOB_NET_HEADER__
|
|
||||||
#include <ACTOR_SPONGEBOB_NET_Anim.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static s8 s_animMapNet[]=
|
|
||||||
{
|
|
||||||
ANIM_SPONGEBOB_NET_BUTTBOUNCEEND, // ANIM_SPONGEBOB_BUTTBOUNCEEND=0,
|
|
||||||
ANIM_SPONGEBOB_NET_BUTTBOUNCESTART, // ANIM_SPONGEBOB_BUTTBOUNCESTART,
|
|
||||||
ANIM_SPONGEBOB_NET_FALL, // ANIM_SPONGEBOB_FALL,
|
|
||||||
ANIM_SPONGEBOB_NET_GETUP, // ANIM_SPONGEBOB_GETUP,
|
|
||||||
ANIM_SPONGEBOB_NET_HITGROUND, // ANIM_SPONGEBOB_HITGROUND,
|
|
||||||
ANIM_SPONGEBOB_NET_IDLEBREATH, // ANIM_SPONGEBOB_IDLEBREATH,
|
|
||||||
ANIM_SPONGEBOB_NET_IDLEWIND, // ANIM_SPONGEBOB_IDLEWIND,
|
|
||||||
ANIM_SPONGEBOB_NET_JUMPEND, // ANIM_SPONGEBOB_JUMPEND,
|
|
||||||
ANIM_SPONGEBOB_NET_JUMP, // ANIM_SPONGEBOB_JUMP,
|
|
||||||
ANIM_SPONGEBOB_NET_RUN, // ANIM_SPONGEBOB_RUN,
|
|
||||||
ANIM_SPONGEBOB_NET_RUNSTOP, // ANIM_SPONGEBOB_RUNSTOP,
|
|
||||||
ANIM_SPONGEBOB_NET_RUNSTART, // ANIM_SPONGEBOB_RUNSTART,
|
|
||||||
ANIM_SPONGEBOB_NET_SOAKUP, // ANIM_SPONGEBOB_SOAKUP,
|
|
||||||
ANIM_SPONGEBOB_NET_TEETERBACK, // ANIM_SPONGEBOB_TEETERBACK,
|
|
||||||
ANIM_SPONGEBOB_NET_TEETERFRONT, // ANIM_SPONGEBOB_TEETERFRONT,
|
|
||||||
ANIM_SPONGEBOB_NET_SWIPE, // ANIM_SPONGEBOB_SWIPE,
|
|
||||||
ANIM_SPONGEBOB_NET_DEATHSPIN, // ANIM_SPONGEBOB_DEATHSPIN,
|
|
||||||
-1, // ANIM_SPONGEBOB_BALLOONJUMP,
|
|
||||||
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
|
|
||||||
-1, // ANIM_SPONGEBOB_FIREEND,
|
|
||||||
-1, // ANIM_SPONGEBOB_FIRESTART,
|
|
||||||
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
|
|
||||||
-1, // ANIM_SPONGEBOB_WALK,
|
|
||||||
-1, // ANIM_SPONGEBOB_KARATE,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void CPlayer::renderSb(DVECTOR *_pos,int _animNo,int _animFrame)
|
void CPlayer::renderSb(DVECTOR *_pos,int _animNo,int _animFrame)
|
||||||
{
|
{
|
||||||
if(m_currentMode==PLAYER_MODE_NET)
|
int addon;
|
||||||
|
|
||||||
|
// Render an addon?
|
||||||
|
addon=s_addonNumbers[m_currentMode];
|
||||||
|
if(addon!=NO_ADDON)
|
||||||
{
|
{
|
||||||
if(s_animMapNet[_animNo]!=-1)
|
s8 addonAnimFrame=s_animMapNet[addon][_animNo];
|
||||||
|
if(addonAnimFrame!=-1)
|
||||||
{
|
{
|
||||||
if(_animFrame<m_actorWeaponGfx->getFrameCount(s_animMapNet[_animNo]))
|
CActorGfx *addonGfx=s_addonActorGfx[addon];
|
||||||
|
if(addonGfx&&
|
||||||
|
_animFrame>=addonGfx->getFrameCount(addonAnimFrame))
|
||||||
{
|
{
|
||||||
m_actorWeaponGfx->Render(*_pos,s_animMapNet[_animNo],_animFrame,m_facing==FACING_RIGHT?0:1);
|
PAUL_DBGMSG("FRAME OVERRUN ON SPONGEBOB ADDON!");
|
||||||
|
_animFrame=0;
|
||||||
}
|
}
|
||||||
|
addonGfx->Render(*_pos,addonAnimFrame,_animFrame,m_facing==FACING_RIGHT?0:1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Render glasses addon?
|
||||||
|
if(isWearingGlasses())
|
||||||
|
{
|
||||||
|
s8 addonAnimFrame=s_animMapNet[PLAYER_ADDON_GLASSES][_animNo];
|
||||||
|
if(addonAnimFrame!=-1)
|
||||||
|
{
|
||||||
|
CActorGfx *addonGfx=s_addonActorGfx[PLAYER_ADDON_GLASSES];
|
||||||
|
if(_animFrame>=addonGfx->getFrameCount(addonAnimFrame))
|
||||||
|
{
|
||||||
|
PAUL_DBGMSG("FRAME OVERRUN ON SPONGEBOB GLASSES ADDON!");
|
||||||
|
_animFrame=0;
|
||||||
|
}
|
||||||
|
addonGfx->Render(*_pos,addonAnimFrame,_animFrame,m_facing==FACING_RIGHT?0:1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Render SB
|
||||||
m_actorGfx->Render(*_pos,_animNo,_animFrame,m_facing==FACING_RIGHT?0:1);
|
m_actorGfx->Render(*_pos,_animNo,_animFrame,m_facing==FACING_RIGHT?0:1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,18 @@ typedef enum
|
||||||
NUM_STATES,
|
NUM_STATES,
|
||||||
}PLAYER_STATE;
|
}PLAYER_STATE;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
PLAYER_ADDON_NET,
|
||||||
|
PLAYER_ADDON_CORALBLOWER,
|
||||||
|
PLAYER_ADDON_JELLYLAUNCHER,
|
||||||
|
PLAYER_ADDON_GLASSES,
|
||||||
|
PLAYER_ADDON_BUBBLEWAND,
|
||||||
|
|
||||||
|
NUM_PLAYER_ADDONS,
|
||||||
|
NO_ADDON,
|
||||||
|
}PLAYER_ADDONS;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
FACING_LEFT=+1,
|
FACING_LEFT=+1,
|
||||||
|
@ -170,6 +182,8 @@ public:
|
||||||
ATTACK_STATE getAttackState();
|
ATTACK_STATE getAttackState();
|
||||||
int isRecoveringFromHit() {return m_invincibleFrameCount!=0||m_currentMode==PLAYER_MODE_DEAD;}
|
int isRecoveringFromHit() {return m_invincibleFrameCount!=0||m_currentMode==PLAYER_MODE_DEAD;}
|
||||||
|
|
||||||
|
void registerAddon(PLAYER_ADDONS _addon);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void setMode(PLAYER_MODE _mode);
|
void setMode(PLAYER_MODE _mode);
|
||||||
int getFacing();
|
int getFacing();
|
||||||
|
|
|
@ -17,10 +17,6 @@
|
||||||
|
|
||||||
#include "triggers\tlook.h"
|
#include "triggers\tlook.h"
|
||||||
|
|
||||||
#ifndef __GAME_GAME_H__
|
|
||||||
#include "game\game.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __PLAYER_PLAYER_H__
|
#ifndef __PLAYER_PLAYER_H__
|
||||||
#include "player\player.h"
|
#include "player\player.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -56,22 +52,20 @@
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CLookTrigger::collidedWith(CThing *_thisThing)
|
void CLookTrigger::collidedWith(CThing *_thisThing)
|
||||||
{
|
{
|
||||||
CPlayer *player;
|
|
||||||
DVECTOR collCentre;
|
DVECTOR collCentre;
|
||||||
CRECT collArea;
|
CRECT collArea;
|
||||||
|
|
||||||
ASSERT(_thisThing->getThingType()==TYPE_PLAYER);
|
ASSERT(_thisThing->getThingType()==TYPE_PLAYER);
|
||||||
|
|
||||||
// Only collide if players feet are inside the trigger
|
// Only collide if players feet are inside the trigger
|
||||||
player=GameScene.getPlayer();
|
collCentre=((CPlayer*)_thisThing)->getCollisionCentre();
|
||||||
collCentre=player->getCollisionCentre();
|
|
||||||
collArea.x1=collCentre.vx-5;
|
collArea.x1=collCentre.vx-5;
|
||||||
collArea.y1=collCentre.vy-5;
|
collArea.y1=collCentre.vy-5;
|
||||||
collArea.x2=collArea.x1+10;
|
collArea.x2=collArea.x1+10;
|
||||||
collArea.y2=collArea.y1+10;
|
collArea.y2=collArea.y1+10;
|
||||||
if(checkCollisionAgainstArea(&collArea))
|
if(checkCollisionAgainstArea(&collArea))
|
||||||
{
|
{
|
||||||
player->setLedgeLookAhead(+4);
|
((CPlayer*)_thisThing)->setLedgeLookAhead(+4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,6 @@
|
||||||
|
|
||||||
#include "triggers\trestart.h"
|
#include "triggers\trestart.h"
|
||||||
|
|
||||||
#ifndef __GAME_GAME_H__
|
|
||||||
#include "game\game.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __PLAYER_PLAYER_H__
|
#ifndef __PLAYER_PLAYER_H__
|
||||||
#include "player\player.h"
|
#include "player\player.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue