This commit is contained in:
Paul 2001-05-18 21:03:51 +00:00
parent 124ffdb79b
commit 10e51da890
21 changed files with 182 additions and 178 deletions

View file

@ -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]

View file

@ -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

View file

@ -71,6 +71,7 @@ private:
CONTROL_JUMP, CONTROL_JUMP,
CONTROL_FIRE, CONTROL_FIRE,
CONTROL_CATCH, CONTROL_CATCH,
CONTROL_WEAPONCHANGE,
CONTROL_COUNT CONTROL_COUNT
}; };

View file

@ -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;

View file

@ -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;

View file

@ -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
}}, }},
}; };

View file

@ -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
}; };

View file

@ -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);
} }
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------

View file

@ -34,7 +34,7 @@
Structure defintions Structure defintions
-------------------- */ -------------------- */
class CBalloonPickup : public CBaseRespawningPickup class CBalloonPickup : public CBaseWeaponPickup
{ {
public: public:
virtual void init(); virtual void init();

View file

@ -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);
} }
/*=========================================================================== /*===========================================================================

View file

@ -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();
}; };

View file

@ -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);
} }
/*=========================================================================== /*===========================================================================

View file

@ -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);
}; };

View file

@ -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 :)

View file

@ -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
------- */ ------- */

View file

@ -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);
} }

View file

@ -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();
}; };

View file

@ -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 */

View file

@ -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();
}; };

View file

@ -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_

View file

@ -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