This commit is contained in:
parent
124ffdb79b
commit
10e51da890
21 changed files with 182 additions and 178 deletions
|
@ -90,6 +90,8 @@ eng=JUMP
|
||||||
eng=FIRE
|
eng=FIRE
|
||||||
[STR__FRONTEND__CATCH]
|
[STR__FRONTEND__CATCH]
|
||||||
eng=CATCH
|
eng=CATCH
|
||||||
|
[STR__FRONTEND__WEAPONCHANGE]
|
||||||
|
eng=CHANGE WEAPON
|
||||||
|
|
||||||
; Screen menu
|
; Screen menu
|
||||||
[STR__FRONTEND__HORIZONTAL_POSITION]
|
[STR__FRONTEND__HORIZONTAL_POSITION]
|
||||||
|
|
|
@ -117,6 +117,7 @@ int CFrontEndOptions::s_buttonOrder[]=
|
||||||
CPadConfig::PAD_CFG_JUMP,
|
CPadConfig::PAD_CFG_JUMP,
|
||||||
CPadConfig::PAD_CFG_FIRE,
|
CPadConfig::PAD_CFG_FIRE,
|
||||||
CPadConfig::PAD_CFG_CATCH,
|
CPadConfig::PAD_CFG_CATCH,
|
||||||
|
CPadConfig::PAD_CFG_WEAPONCHANGE,
|
||||||
};
|
};
|
||||||
|
|
||||||
CGUISpriteReadout::SpriteReadoutData CFrontEndOptions::s_controlReadoutSprites[]=
|
CGUISpriteReadout::SpriteReadoutData CFrontEndOptions::s_controlReadoutSprites[]=
|
||||||
|
@ -318,6 +319,15 @@ void CFrontEndOptions::init()
|
||||||
tb->init(fr);
|
tb->init(fr);
|
||||||
tb->setObjectXYWH(146+26,30,120,15);
|
tb->setObjectXYWH(146+26,30,120,15);
|
||||||
tb->setText(STR__FRONTEND__CATCH);
|
tb->setText(STR__FRONTEND__CATCH);
|
||||||
|
sr=new ("spritereadout") CGUISpriteReadout();
|
||||||
|
sr->init(fr);
|
||||||
|
sr->setObjectXYWH(146,45,26,15);
|
||||||
|
sr->setReadoutTarget(&m_controlIcons[CONTROL_WEAPONCHANGE]);
|
||||||
|
sr->setReadoutData(s_controlReadoutSprites);
|
||||||
|
tb=new ("textbox") CGUITextBox();
|
||||||
|
tb->init(fr);
|
||||||
|
tb->setObjectXYWH(146+26,45,120,15);
|
||||||
|
tb->setText(STR__FRONTEND__WEAPONCHANGE);
|
||||||
|
|
||||||
|
|
||||||
// Populate SCREEN menu
|
// Populate SCREEN menu
|
||||||
|
|
|
@ -71,6 +71,7 @@ private:
|
||||||
CONTROL_JUMP,
|
CONTROL_JUMP,
|
||||||
CONTROL_FIRE,
|
CONTROL_FIRE,
|
||||||
CONTROL_CATCH,
|
CONTROL_CATCH,
|
||||||
|
CONTROL_WEAPONCHANGE,
|
||||||
|
|
||||||
CONTROL_COUNT
|
CONTROL_COUNT
|
||||||
};
|
};
|
||||||
|
|
|
@ -242,7 +242,7 @@ ColShowType showCollision=SHOW_NONE;
|
||||||
#endif
|
#endif
|
||||||
void CLayerCollision::render(DVECTOR &MapPos)
|
void CLayerCollision::render(DVECTOR &MapPos)
|
||||||
{
|
{
|
||||||
if(PadGetDown(0)&PAD_CIRCLE)
|
if(PadGetDown(0)&PAD_L2)
|
||||||
{
|
{
|
||||||
showCollision=(ColShowType)(showCollision+1);
|
showCollision=(ColShowType)(showCollision+1);
|
||||||
if(showCollision>SHOW_SEMITRANS)showCollision=SHOW_NONE;
|
if(showCollision>SHOW_SEMITRANS)showCollision=SHOW_NONE;
|
||||||
|
|
|
@ -447,8 +447,7 @@ void CLevel::initThings(int _respawningLevel)
|
||||||
createThisPickup=false;
|
createThisPickup=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(((PICKUP_TYPE)ItemList->Type==PICKUP__NET||
|
if((PICKUP_TYPE)ItemList->Type==PICKUP__HELMET&&
|
||||||
(PICKUP_TYPE)ItemList->Type==PICKUP__HELMET)&&
|
|
||||||
_respawningLevel)
|
_respawningLevel)
|
||||||
{
|
{
|
||||||
createThisPickup=false;
|
createThisPickup=false;
|
||||||
|
|
|
@ -401,6 +401,7 @@ CPadConfig::sPadConfigTable CPadConfig::s_padConfigs[NUM_PAD_CONFIGS]=
|
||||||
PAD_SQUARE, // PAD_CFG_FIRE
|
PAD_SQUARE, // PAD_CFG_FIRE
|
||||||
PAD_TRIANGLE, // PAD_CFG_CATCH
|
PAD_TRIANGLE, // PAD_CFG_CATCH
|
||||||
PAD_CROSS, // PAD_CFG_JUMP
|
PAD_CROSS, // PAD_CFG_JUMP
|
||||||
|
PAD_CIRCLE, // PAD_CFG_WEAPONCHANGE
|
||||||
}},
|
}},
|
||||||
// Config B
|
// Config B
|
||||||
{{
|
{{
|
||||||
|
@ -413,6 +414,7 @@ CPadConfig::sPadConfigTable CPadConfig::s_padConfigs[NUM_PAD_CONFIGS]=
|
||||||
PAD_CROSS, // PAD_CFG_FIRE
|
PAD_CROSS, // PAD_CFG_FIRE
|
||||||
PAD_TRIANGLE, // PAD_CFG_CATCH
|
PAD_TRIANGLE, // PAD_CFG_CATCH
|
||||||
PAD_SQUARE, // PAD_CFG_JUMP
|
PAD_SQUARE, // PAD_CFG_JUMP
|
||||||
|
PAD_CIRCLE, // PAD_CFG_WEAPONCHANGE
|
||||||
}},
|
}},
|
||||||
// Config C
|
// Config C
|
||||||
{{
|
{{
|
||||||
|
@ -425,6 +427,7 @@ CPadConfig::sPadConfigTable CPadConfig::s_padConfigs[NUM_PAD_CONFIGS]=
|
||||||
PAD_CIRCLE, // PAD_CFG_FIRE
|
PAD_CIRCLE, // PAD_CFG_FIRE
|
||||||
PAD_CROSS, // PAD_CFG_CATCH
|
PAD_CROSS, // PAD_CFG_CATCH
|
||||||
PAD_TRIANGLE, // PAD_CFG_JUMP
|
PAD_TRIANGLE, // PAD_CFG_JUMP
|
||||||
|
PAD_SQUARE, // PAD_CFG_WEAPONCHANGE
|
||||||
}},
|
}},
|
||||||
// Config D
|
// Config D
|
||||||
{{
|
{{
|
||||||
|
@ -437,6 +440,7 @@ CPadConfig::sPadConfigTable CPadConfig::s_padConfigs[NUM_PAD_CONFIGS]=
|
||||||
PAD_LEFT, // PAD_CFG_FIRE
|
PAD_LEFT, // PAD_CFG_FIRE
|
||||||
PAD_UP, // PAD_CFG_CATCH
|
PAD_UP, // PAD_CFG_CATCH
|
||||||
PAD_DOWN, // PAD_CFG_JUMP
|
PAD_DOWN, // PAD_CFG_JUMP
|
||||||
|
PAD_RIGHT, // PAD_CFG_WEAPONCHANGE
|
||||||
}},
|
}},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,7 @@ public:
|
||||||
PAD_CFG_FIRE,
|
PAD_CFG_FIRE,
|
||||||
PAD_CFG_CATCH,
|
PAD_CFG_CATCH,
|
||||||
PAD_CFG_JUMP,
|
PAD_CFG_JUMP,
|
||||||
|
PAD_CFG_WEAPONCHANGE,
|
||||||
|
|
||||||
PAD_CFG_MAX
|
PAD_CFG_MAX
|
||||||
};
|
};
|
||||||
|
|
|
@ -83,7 +83,7 @@ void CBalloonPickup::init()
|
||||||
{
|
{
|
||||||
sFrameHdr *fh;
|
sFrameHdr *fh;
|
||||||
|
|
||||||
CBaseRespawningPickup::init();
|
CBaseWeaponPickup::init();
|
||||||
m_sin=0;
|
m_sin=0;
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__BALLOON);
|
fh=getSpriteBank()->getFrameHeader(FRM__BALLOON);
|
||||||
|
@ -117,7 +117,7 @@ void CBalloonPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
_player->setMode(PLAYER_MODE_BALLOON);
|
_player->setMode(PLAYER_MODE_BALLOON);
|
||||||
CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_INFLATE);
|
CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_INFLATE);
|
||||||
CBaseRespawningPickup::collect(_player);
|
CBaseWeaponPickup::collect(_player);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
Structure defintions
|
Structure defintions
|
||||||
-------------------- */
|
-------------------- */
|
||||||
|
|
||||||
class CBalloonPickup : public CBaseRespawningPickup
|
class CBalloonPickup : public CBaseWeaponPickup
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void init();
|
virtual void init();
|
||||||
|
|
|
@ -69,33 +69,11 @@
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CCoralBlowerPickup::init()
|
void CCoralBlowerPickup::init()
|
||||||
{
|
{
|
||||||
sFrameHdr *fh;
|
CBaseWeaponSimplePickup::init();
|
||||||
|
|
||||||
CBasePickup::init();
|
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__BLOWER);
|
|
||||||
setCollisionSize(fh->W,fh->H);
|
|
||||||
|
|
||||||
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_CORALBLOWER);
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_CORALBLOWER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
|
||||||
Function:
|
|
||||||
Purpose:
|
|
||||||
Params:
|
|
||||||
Returns:
|
|
||||||
---------------------------------------------------------------------- */
|
|
||||||
DVECTOR CCoralBlowerPickup::getSizeForPlacement()
|
|
||||||
{
|
|
||||||
DVECTOR size;
|
|
||||||
sFrameHdr *fh;
|
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__BLOWER);
|
|
||||||
size.vx=fh->W;
|
|
||||||
size.vy=fh->H;
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
Purpose:
|
Purpose:
|
||||||
|
@ -105,7 +83,7 @@ DVECTOR CCoralBlowerPickup::getSizeForPlacement()
|
||||||
void CCoralBlowerPickup::collect(class CPlayer *_player)
|
void CCoralBlowerPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
_player->setMode(PLAYER_MODE_CORALBLOWER);
|
_player->setMode(PLAYER_MODE_CORALBLOWER);
|
||||||
CBasePickup::collect(_player);
|
CBaseWeaponSimplePickup::collect(_player);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -114,17 +92,9 @@ void CCoralBlowerPickup::collect(class CPlayer *_player)
|
||||||
Params:
|
Params:
|
||||||
Returns:
|
Returns:
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CCoralBlowerPickup::renderPickup(DVECTOR *_pos)
|
int CCoralBlowerPickup::getWeaponSpriteFrame()
|
||||||
{
|
{
|
||||||
SpriteBank *sprites;
|
return FRM__BLOWER;
|
||||||
sFrameHdr *fh;
|
|
||||||
int x,y;
|
|
||||||
|
|
||||||
sprites=getSpriteBank();
|
|
||||||
fh=sprites->getFrameHeader(FRM__BLOWER);
|
|
||||||
x=_pos->vx-(fh->W/2);
|
|
||||||
y=_pos->vy-(fh->H/2);
|
|
||||||
sprites->printFT4(fh,x,y,0,0,OTPOS__PICKUP_POS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
|
|
|
@ -34,15 +34,14 @@
|
||||||
Structure defintions
|
Structure defintions
|
||||||
-------------------- */
|
-------------------- */
|
||||||
|
|
||||||
class CCoralBlowerPickup : public CBasePickup
|
class CCoralBlowerPickup : public CBaseWeaponSimplePickup
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void init();
|
virtual void init();
|
||||||
virtual DVECTOR getSizeForPlacement();
|
|
||||||
virtual void collect(class CPlayer *_player);
|
virtual void collect(class CPlayer *_player);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual int getWeaponSpriteFrame();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -165,33 +165,11 @@ void CBubbleMixturePickup::renderPickup(DVECTOR *_pos)
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CBubbleWandPickup::init()
|
void CBubbleWandPickup::init()
|
||||||
{
|
{
|
||||||
sFrameHdr *fh;
|
CBaseWeaponSimplePickup::init();
|
||||||
|
|
||||||
CBaseRespawningPickup::init();
|
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__BUBBLEWAND);
|
|
||||||
setCollisionSize(fh->W,fh->H);
|
|
||||||
|
|
||||||
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_BUBBLEWAND);
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_BUBBLEWAND);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
|
||||||
Function:
|
|
||||||
Purpose:
|
|
||||||
Params:
|
|
||||||
Returns:
|
|
||||||
---------------------------------------------------------------------- */
|
|
||||||
DVECTOR CBubbleWandPickup::getSizeForPlacement()
|
|
||||||
{
|
|
||||||
DVECTOR size;
|
|
||||||
sFrameHdr *fh;
|
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__BUBBLEWAND);
|
|
||||||
size.vx=fh->W;
|
|
||||||
size.vy=fh->H;
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
Purpose:
|
Purpose:
|
||||||
|
@ -201,7 +179,7 @@ DVECTOR CBubbleWandPickup::getSizeForPlacement()
|
||||||
void CBubbleWandPickup::collect(class CPlayer *_player)
|
void CBubbleWandPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
_player->setMode(PLAYER_MODE_BUBBLE_MIXTURE);
|
_player->setMode(PLAYER_MODE_BUBBLE_MIXTURE);
|
||||||
CBaseRespawningPickup::collect(_player);
|
CBaseWeaponSimplePickup::collect(_player);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -210,28 +188,9 @@ void CBubbleWandPickup::collect(class CPlayer *_player)
|
||||||
Params:
|
Params:
|
||||||
Returns:
|
Returns:
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
int CBubbleWandPickup::getRespawnTime()
|
int CBubbleWandPickup::getWeaponSpriteFrame()
|
||||||
{
|
{
|
||||||
return 60*10;
|
return FRM__BUBBLEWAND;
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
|
||||||
Function:
|
|
||||||
Purpose:
|
|
||||||
Params:
|
|
||||||
Returns:
|
|
||||||
---------------------------------------------------------------------- */
|
|
||||||
void CBubbleWandPickup::renderPickup(DVECTOR *_pos)
|
|
||||||
{
|
|
||||||
SpriteBank *sprites;
|
|
||||||
sFrameHdr *fh;
|
|
||||||
int x,y;
|
|
||||||
|
|
||||||
sprites=getSpriteBank();
|
|
||||||
fh=sprites->getFrameHeader(FRM__BUBBLEWAND);
|
|
||||||
x=_pos->vx-(fh->W/2);
|
|
||||||
y=_pos->vy-(fh->H/2);
|
|
||||||
sprites->printFT4(fh,x,y,0,0,OTPOS__PICKUP_POS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
|
|
|
@ -54,18 +54,14 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class CBubbleWandPickup : public CBaseRespawningPickup
|
class CBubbleWandPickup : public CBaseWeaponSimplePickup
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void init();
|
virtual void init();
|
||||||
|
|
||||||
virtual DVECTOR getSizeForPlacement();
|
|
||||||
virtual void collect(class CPlayer *_player);
|
virtual void collect(class CPlayer *_player);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual int getRespawnTime();
|
virtual int getWeaponSpriteFrame();
|
||||||
|
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,10 @@
|
||||||
#include "level\level.h"
|
#include "level\level.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __PLAYER_PLAYER_H__
|
||||||
|
#include "player\player.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
// For the factory..
|
// For the factory..
|
||||||
|
|
||||||
#ifndef __PICKUPS_PHEALTH_H__
|
#ifndef __PICKUPS_PHEALTH_H__
|
||||||
|
@ -277,6 +281,88 @@ void CBaseRespawningPickup::collect(class CPlayer *_player)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CBaseWeaponPickup::collidedWith(CThing *_thisThing)
|
||||||
|
{
|
||||||
|
switch(_thisThing->getThingType())
|
||||||
|
{
|
||||||
|
case TYPE_PLAYER:
|
||||||
|
if(((CPlayer*)_thisThing)->tryingToPickupWeapon())
|
||||||
|
{
|
||||||
|
collect((CPlayer*)_thisThing);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
ASSERT(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CBaseWeaponSimplePickup::init()
|
||||||
|
{
|
||||||
|
sFrameHdr *fh;
|
||||||
|
|
||||||
|
CBaseWeaponPickup::init();
|
||||||
|
|
||||||
|
fh=getSpriteBank()->getFrameHeader(FRM__NET);
|
||||||
|
setCollisionSize(fh->W,fh->H);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
DVECTOR CBaseWeaponSimplePickup::getSizeForPlacement()
|
||||||
|
{
|
||||||
|
DVECTOR size;
|
||||||
|
sFrameHdr *fh;
|
||||||
|
|
||||||
|
fh=getSpriteBank()->getFrameHeader(getWeaponSpriteFrame());
|
||||||
|
size.vx=fh->W;
|
||||||
|
size.vy=fh->H;
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CBaseWeaponSimplePickup::renderPickup(DVECTOR *_pos)
|
||||||
|
{
|
||||||
|
SpriteBank *sprites;
|
||||||
|
sFrameHdr *fh;
|
||||||
|
int x,y;
|
||||||
|
|
||||||
|
sprites=getSpriteBank();
|
||||||
|
fh=sprites->getFrameHeader(getWeaponSpriteFrame());
|
||||||
|
x=_pos->vx-(fh->W/2);
|
||||||
|
y=_pos->vy-(fh->H/2);
|
||||||
|
sprites->printFT4(fh,x,y,0,0,OTPOS__PICKUP_POS);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
Purpose: This is basically a factory method for making pickups :)
|
Purpose: This is basically a factory method for making pickups :)
|
||||||
|
|
|
@ -107,6 +107,31 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class CBaseWeaponPickup : public CBaseRespawningPickup
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual void collidedWith(CThing *_thisThing);
|
||||||
|
|
||||||
|
virtual int getRespawnTime() {return 5*60;}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class CBaseWeaponSimplePickup : public CBaseWeaponPickup
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void init();
|
||||||
|
virtual DVECTOR getSizeForPlacement();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void renderPickup(DVECTOR *_pos);
|
||||||
|
|
||||||
|
virtual int getWeaponSpriteFrame()=0;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Globals
|
Globals
|
||||||
------- */
|
------- */
|
||||||
|
|
|
@ -163,33 +163,11 @@ void CJellyLauncherAmmoPickup::renderPickup(DVECTOR *_pos)
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CJellyLauncherPickup::init()
|
void CJellyLauncherPickup::init()
|
||||||
{
|
{
|
||||||
sFrameHdr *fh;
|
CBaseWeaponSimplePickup::init();
|
||||||
|
|
||||||
CBasePickup::init();
|
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__LAUNCHER);
|
|
||||||
setCollisionSize(fh->W,fh->H);
|
|
||||||
|
|
||||||
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_JELLYLAUNCHER);
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_JELLYLAUNCHER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
|
||||||
Function:
|
|
||||||
Purpose:
|
|
||||||
Params:
|
|
||||||
Returns:
|
|
||||||
---------------------------------------------------------------------- */
|
|
||||||
DVECTOR CJellyLauncherPickup::getSizeForPlacement()
|
|
||||||
{
|
|
||||||
DVECTOR size;
|
|
||||||
sFrameHdr *fh;
|
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__LAUNCHER);
|
|
||||||
size.vx=fh->W;
|
|
||||||
size.vy=fh->H;
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
Purpose:
|
Purpose:
|
||||||
|
@ -199,7 +177,7 @@ DVECTOR CJellyLauncherPickup::getSizeForPlacement()
|
||||||
void CJellyLauncherPickup::collect(class CPlayer *_player)
|
void CJellyLauncherPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
_player->setMode(PLAYER_MODE_JELLY_LAUNCHER);
|
_player->setMode(PLAYER_MODE_JELLY_LAUNCHER);
|
||||||
CBasePickup::collect(_player);
|
CBaseWeaponSimplePickup::collect(_player);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -208,17 +186,9 @@ void CJellyLauncherPickup::collect(class CPlayer *_player)
|
||||||
Params:
|
Params:
|
||||||
Returns:
|
Returns:
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CJellyLauncherPickup::renderPickup(DVECTOR *_pos)
|
int CJellyLauncherPickup::getWeaponSpriteFrame()
|
||||||
{
|
{
|
||||||
SpriteBank *sprites;
|
return FRM__LAUNCHER;
|
||||||
sFrameHdr *fh;
|
|
||||||
int x,y;
|
|
||||||
|
|
||||||
sprites=getSpriteBank();
|
|
||||||
fh=sprites->getFrameHeader(FRM__LAUNCHER);
|
|
||||||
x=_pos->vx-(fh->W/2);
|
|
||||||
y=_pos->vy-(fh->H/2);
|
|
||||||
sprites->printFT4(fh,x,y,0,0,OTPOS__PICKUP_POS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -50,15 +50,14 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class CJellyLauncherPickup : public CBasePickup
|
class CJellyLauncherPickup : public CBaseWeaponSimplePickup
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void init();
|
virtual void init();
|
||||||
virtual DVECTOR getSizeForPlacement();
|
|
||||||
virtual void collect(class CPlayer *_player);
|
virtual void collect(class CPlayer *_player);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual int getWeaponSpriteFrame();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -69,34 +69,12 @@
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CNetPickup::init()
|
void CNetPickup::init()
|
||||||
{
|
{
|
||||||
sFrameHdr *fh;
|
CBaseWeaponSimplePickup::init();
|
||||||
|
|
||||||
CBasePickup::init();
|
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__NET);
|
|
||||||
setCollisionSize(fh->W,fh->H);
|
|
||||||
|
|
||||||
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_NET);
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_NET);
|
||||||
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_JELLYFISHINNET);
|
GameScene.getPlayer()->registerAddon(PLAYER_ADDON_JELLYFISHINNET);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
|
||||||
Function:
|
|
||||||
Purpose:
|
|
||||||
Params:
|
|
||||||
Returns:
|
|
||||||
---------------------------------------------------------------------- */
|
|
||||||
DVECTOR CNetPickup::getSizeForPlacement()
|
|
||||||
{
|
|
||||||
DVECTOR size;
|
|
||||||
sFrameHdr *fh;
|
|
||||||
|
|
||||||
fh=getSpriteBank()->getFrameHeader(FRM__NET);
|
|
||||||
size.vx=fh->W;
|
|
||||||
size.vy=fh->H;
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
Purpose:
|
Purpose:
|
||||||
|
@ -106,7 +84,7 @@ DVECTOR CNetPickup::getSizeForPlacement()
|
||||||
void CNetPickup::collect(class CPlayer *_player)
|
void CNetPickup::collect(class CPlayer *_player)
|
||||||
{
|
{
|
||||||
_player->setMode(PLAYER_MODE_NET);
|
_player->setMode(PLAYER_MODE_NET);
|
||||||
CBasePickup::collect(_player);
|
CBaseWeaponSimplePickup::collect(_player);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -115,18 +93,11 @@ void CNetPickup::collect(class CPlayer *_player)
|
||||||
Params:
|
Params:
|
||||||
Returns:
|
Returns:
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CNetPickup::renderPickup(DVECTOR *_pos)
|
int CNetPickup::getWeaponSpriteFrame()
|
||||||
{
|
{
|
||||||
SpriteBank *sprites;
|
return FRM__NET;
|
||||||
sFrameHdr *fh;
|
|
||||||
int x,y;
|
|
||||||
|
|
||||||
sprites=getSpriteBank();
|
|
||||||
fh=sprites->getFrameHeader(FRM__NET);
|
|
||||||
x=_pos->vx-(fh->W/2);
|
|
||||||
y=_pos->vy-(fh->H/2);
|
|
||||||
sprites->printFT4(fh,x,y,0,0,OTPOS__PICKUP_POS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
end */
|
end */
|
||||||
|
|
|
@ -34,16 +34,14 @@
|
||||||
Structure defintions
|
Structure defintions
|
||||||
-------------------- */
|
-------------------- */
|
||||||
|
|
||||||
class CNetPickup : public CBasePickup
|
class CNetPickup : public CBaseWeaponSimplePickup
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual void init();
|
virtual void init();
|
||||||
virtual int dontKillDuringLevelRespawn() {return true;}
|
|
||||||
virtual DVECTOR getSizeForPlacement();
|
|
||||||
virtual void collect(class CPlayer *_player);
|
virtual void collect(class CPlayer *_player);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void renderPickup(DVECTOR *_pos);
|
virtual int getWeaponSpriteFrame();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -684,15 +684,6 @@ else if(oldmode!=-1&&!(PadGetHeld(0)&PAD_L1))
|
||||||
oldmode=-1;
|
oldmode=-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __USER_paul__
|
|
||||||
if(PadGetHeld(0)&PAD_L1&&PadGetHeld(0)&PAD_L2)
|
|
||||||
{
|
|
||||||
if(m_currentMode!=PLAYER_MODE_DEAD)
|
|
||||||
{
|
|
||||||
dieYouPorousFreak();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if(newmode!=-1)
|
if(newmode!=-1)
|
||||||
{
|
{
|
||||||
setMode((PLAYER_MODE)newmode);
|
setMode((PLAYER_MODE)newmode);
|
||||||
|
@ -723,10 +714,26 @@ if(newmode!=-1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_tryingToPickupWeapon=false;
|
||||||
for(i=0;i<_frames;i++)
|
for(i=0;i<_frames;i++)
|
||||||
{
|
{
|
||||||
// Think
|
// Think
|
||||||
updatePadInput();
|
updatePadInput();
|
||||||
|
if(getPadInputDown())
|
||||||
|
{
|
||||||
|
PAUL_DBGMSG("%02x",getPadInputDown());
|
||||||
|
}
|
||||||
|
if(getPadInputDown()&PI_WEAPONCHANGE)
|
||||||
|
{
|
||||||
|
if(!m_tryingToPickupWeapon&&
|
||||||
|
m_currentMode!=PLAYER_MODE_BASICUNARMED&&
|
||||||
|
m_currentMode!=PLAYER_MODE_FULLUNARMED&&
|
||||||
|
m_currentMode!=PLAYER_MODE_DEAD)
|
||||||
|
{
|
||||||
|
setMode(PLAYER_MODE_FULLUNARMED);
|
||||||
|
}
|
||||||
|
m_tryingToPickupWeapon=true;
|
||||||
|
}
|
||||||
|
|
||||||
// Trying to converate?
|
// Trying to converate?
|
||||||
if(m_allowConversation==false&&
|
if(m_allowConversation==false&&
|
||||||
|
@ -1959,6 +1966,10 @@ PLAYERINPUT CPlayer::readPadInput()
|
||||||
{
|
{
|
||||||
input=(PLAYERINPUT)(input|PI_CATCH);
|
input=(PLAYERINPUT)(input|PI_CATCH);
|
||||||
}
|
}
|
||||||
|
if(pad&CPadConfig::getButton(CPadConfig::PAD_CFG_WEAPONCHANGE))
|
||||||
|
{
|
||||||
|
input=(PLAYERINPUT)(input|PI_WEAPONCHANGE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef _RECORD_DEMO_MODE_
|
#ifdef _RECORD_DEMO_MODE_
|
||||||
|
|
|
@ -156,6 +156,7 @@ typedef enum
|
||||||
PI_JUMP =1<<4,
|
PI_JUMP =1<<4,
|
||||||
PI_FIRE =1<<5,
|
PI_FIRE =1<<5,
|
||||||
PI_CATCH =1<<6,
|
PI_CATCH =1<<6,
|
||||||
|
PI_WEAPONCHANGE =1<<7,
|
||||||
}PLAYERINPUT;
|
}PLAYERINPUT;
|
||||||
|
|
||||||
|
|
||||||
|
@ -258,6 +259,7 @@ public:
|
||||||
void setPlayerPos(DVECTOR *_pos) {Pos=*_pos;}
|
void setPlayerPos(DVECTOR *_pos) {Pos=*_pos;}
|
||||||
PLAYERINPUT getPadInputHeld() {return m_padInput;}
|
PLAYERINPUT getPadInputHeld() {return m_padInput;}
|
||||||
PLAYERINPUT getPadInputDown() {return m_padInputDown;}
|
PLAYERINPUT getPadInputDown() {return m_padInputDown;}
|
||||||
|
int tryingToPickupWeapon() {return m_tryingToPickupWeapon;}
|
||||||
class CLayerCollision *getLayerCollision() {return m_layerCollision;}
|
class CLayerCollision *getLayerCollision() {return m_layerCollision;}
|
||||||
|
|
||||||
void inSoakUpState();
|
void inSoakUpState();
|
||||||
|
@ -336,6 +338,7 @@ private:
|
||||||
PLAYERINPUT m_padInput; // Controls that are being held down
|
PLAYERINPUT m_padInput; // Controls that are being held down
|
||||||
PLAYERINPUT m_lastPadInput; // Last frames controls
|
PLAYERINPUT m_lastPadInput; // Last frames controls
|
||||||
PLAYERINPUT m_padInputDown; // Controls that were pressed this frame
|
PLAYERINPUT m_padInputDown; // Controls that were pressed this frame
|
||||||
|
int m_tryingToPickupWeapon;
|
||||||
|
|
||||||
|
|
||||||
// Various info about the current map
|
// Various info about the current map
|
||||||
|
|
Loading…
Add table
Reference in a new issue