This commit is contained in:
Paul 2001-07-21 19:14:40 +00:00
parent d105d9ee97
commit 7824d285ac
4 changed files with 13 additions and 2 deletions

View File

@ -54,6 +54,8 @@ void CNpcSteerableBarrelPlatform::processMovement( int _frames )
if ( m_contact ) if ( m_contact )
{ {
player->setReverseCameraMovement(true);
DVECTOR playerPos = player->getPos(); DVECTOR playerPos = player->getPos();
s32 playerMovement = player->getMovement(); s32 playerMovement = player->getMovement();

View File

@ -44,6 +44,8 @@ void CNpcSteerableOildrumPlatform::processMovement( int _frames )
if ( m_contact ) if ( m_contact )
{ {
player->setReverseCameraMovement(true);
DVECTOR playerPos = player->getPos(); DVECTOR playerPos = player->getPos();
s32 playerMovement = player->getMovement(); s32 playerMovement = player->getMovement();

View File

@ -645,6 +645,7 @@ m_animFrame=0;
m_lastPadInput=m_padInput=PI_NONE; m_lastPadInput=m_padInput=PI_NONE;
setCartCam(false); setCartCam(false);
setReverseCameraMovement(false);
resetPlayerCollisionSizeToBase(); resetPlayerCollisionSizeToBase();
@ -773,6 +774,7 @@ if(PadGetDown(0)&PAD_TRIANGLE)
#endif #endif
/// ///
for(i=0;i<_frames;i++) for(i=0;i<_frames;i++)
{ {
updatePadInput(); updatePadInput();
@ -1209,6 +1211,9 @@ if(PadGetDown(0)&PAD_TRIANGLE)
m_ignoreNewlyPressedButtonsOnPadThisThink=false; m_ignoreNewlyPressedButtonsOnPadThisThink=false;
// Restore flipped camera
setReverseCameraMovement(false);
CPlayerThing::think(_frames); CPlayerThing::think(_frames);
} }
@ -2473,7 +2478,7 @@ void CPlayer::moveLeft()
{ {
if(m_moveVelocity.vx<-CAMERA_STARTMOVETHRESHOLD||m_cameraXScrollPos<-(CAMERA_SCROLLTHRESHOLD*CAMERA_TILESIZE)<<CAMERA_ACCURACYSHIFT) if(m_moveVelocity.vx<-CAMERA_STARTMOVETHRESHOLD||m_cameraXScrollPos<-(CAMERA_SCROLLTHRESHOLD*CAMERA_TILESIZE)<<CAMERA_ACCURACYSHIFT)
{ {
m_cameraXScrollDir=+1; m_cameraXScrollDir=m_reverseCameraMovement==false?+1:-1;
} }
else if(m_moveVelocity.vx>-CAMERA_STOPMOVETHRESHOLD) else if(m_moveVelocity.vx>-CAMERA_STOPMOVETHRESHOLD)
{ {
@ -2484,7 +2489,7 @@ void CPlayer::moveRight()
{ {
if(m_moveVelocity.vx>CAMERA_STARTMOVETHRESHOLD||m_cameraXScrollPos>(CAMERA_SCROLLTHRESHOLD*CAMERA_TILESIZE)<<CAMERA_ACCURACYSHIFT) if(m_moveVelocity.vx>CAMERA_STARTMOVETHRESHOLD||m_cameraXScrollPos>(CAMERA_SCROLLTHRESHOLD*CAMERA_TILESIZE)<<CAMERA_ACCURACYSHIFT)
{ {
m_cameraXScrollDir=-1; m_cameraXScrollDir=m_reverseCameraMovement==false?-1:+1;
} }
else if(m_moveVelocity.vx<CAMERA_STOPMOVETHRESHOLD) else if(m_moveVelocity.vx<CAMERA_STOPMOVETHRESHOLD)
{ {

View File

@ -238,6 +238,7 @@ public:
DVECTOR getCameraPos() {return m_cameraPos;} DVECTOR getCameraPos() {return m_cameraPos;}
void setCartCam(int _flag) {m_cartCamActive=_flag;} void setCartCam(int _flag) {m_cartCamActive=_flag;}
void setReverseCameraMovement(int _flag) {m_reverseCameraMovement=_flag;}
void setCameraBox(CameraBox _cameraBox); void setCameraBox(CameraBox _cameraBox);
void setRespawnPos(DVECTOR _respawn) {m_respawnPos=_respawn;} void setRespawnPos(DVECTOR _respawn) {m_respawnPos=_respawn;}
void setRespawnPosAndRingTelephone(DVECTOR _respawn); void setRespawnPosAndRingTelephone(DVECTOR _respawn);
@ -329,6 +330,7 @@ private:
CActorGfx *m_actorGfx; CActorGfx *m_actorGfx;
int m_cartCamActive; int m_cartCamActive;
int m_reverseCameraMovement;
int m_lockCamera; int m_lockCamera;
DVECTOR m_cameraPos; DVECTOR m_cameraPos;
DVECTOR m_currentCamFocusPointTarget; DVECTOR m_currentCamFocusPointTarget;