Skip to content

Commit

Permalink
ACCESS: Fix selecting location for player to walk to
Browse files Browse the repository at this point in the history
  • Loading branch information
dreammaster committed Aug 18, 2014
1 parent 5ec8c44 commit d570da0
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 20 deletions.
9 changes: 6 additions & 3 deletions engines/access/amazon/amazon_room.cpp
Expand Up @@ -148,14 +148,17 @@ void AmazonRoom::mainAreaClick() {
switch (checkBoxes1(_vm->_events->_mousePos)) {
case 0:
_game->_jasMayaFlag = 0;
break;
return;
case 1:
_game->_jasMayaFlag = 1;
break;
return;
default:
break;
}
}
}

_vm->_player->_moveTo = _vm->_events->_mousePos;
_vm->_player->_playerMove = true;
} else if (_vm->_events->_mousePos.x >= _vm->_screen->_windowXAdd &&
_vm->_events->_mousePos.x <= _vm->_screen->_vWindowBytesWide &&
_vm->_events->_mousePos.y >= _vm->_screen->_windowYAdd &&
Expand Down
1 change: 0 additions & 1 deletion engines/access/events.cpp
Expand Up @@ -40,7 +40,6 @@ EventsManager::EventsManager(AccessEngine *vm): _vm(vm) {
_frameCounter = 10;
_priorFrameTime = 0;
_leftButton = _rightButton = false;
_mouseMove = false;
_mouseCol = _mouseRow = 0;
_mouseMode = 0;
_cursorExitFlag = false;
Expand Down
1 change: 0 additions & 1 deletion engines/access/events.h
Expand Up @@ -55,7 +55,6 @@ class EventsManager {
bool _leftButton, _rightButton;
Common::Point _mousePos;
int _mouseCol, _mouseRow;
bool _mouseMove;
int _mouseMode;
bool _cursorExitFlag;
Common::FixedStack<Common::KeyState> _keypresses;
Expand Down
29 changes: 15 additions & 14 deletions engines/access/player.cpp
Expand Up @@ -49,6 +49,7 @@ Player::Player(AccessEngine *vm): Manager(vm), ImageEntry() {
_playerY = 0;
_frame = 0;
_playerOff = false;
_playerMove = false;
_leftDelta = _rightDelta = 0;
_upDelta = _downDelta = 0;
_scrollConst = 0;
Expand Down Expand Up @@ -193,35 +194,35 @@ void Player::walk() {
_vm->_timers[0]._flag = true;
switch (_move) {
case UP:
_vm->_events->_mouseMove = false;
_playerMove = false;
walkUp();
break;
case DOWN:
_vm->_events->_mouseMove = false;
_playerMove = false;
walkDown();
break;
case LEFT:
_vm->_events->_mouseMove = false;
_playerMove = false;
walkLeft();
break;
case RIGHT:
_vm->_events->_mouseMove = false;
_playerMove = false;
walkRight();
break;
case UPLEFT:
_vm->_events->_mouseMove = false;
_playerMove = false;
walkUpLeft();
break;
case DOWNLEFT:
_vm->_events->_mouseMove = false;
_playerMove = false;
walkDownLeft();
break;
case UPRIGHT:
_vm->_events->_mouseMove = false;
_playerMove = false;
walkUpRight();
break;
case DOWNRIGHT:
_vm->_events->_mouseMove = false;
_playerMove = false;
walkDownRight();
break;
default:
Expand Down Expand Up @@ -562,7 +563,7 @@ void Player::walkDownRight() {
}

void Player::checkMove() {
if (_vm->_events->_mouseMove) {
if (_playerMove) {
if (_xFlag == 0 && _yFlag == 0) {
int xp = (_playerOffset.x / 2) + _rawPlayer.x - _moveTo.x;
if (xp < 0)
Expand All @@ -582,7 +583,7 @@ void Player::checkMove() {
if ((yd >= 0 && yd <= _upDelta) || (yd < 0 && -yd <= _upDelta)) {
++_yFlag;
if (_xFlag) {
_vm->_events->_mouseMove = false;
_playerMove = false;
_xFlag = _yFlag = 0;
} else {
++_xFlag;
Expand All @@ -594,7 +595,7 @@ void Player::checkMove() {
walkDown();

if (_collideFlag) {
_vm->_events->_mouseMove = false;
_playerMove = false;
_xFlag = _yFlag = 0;
}
}
Expand All @@ -604,7 +605,7 @@ void Player::checkMove() {
++_xFlag;

if (_yFlag) {
_vm->_events->_mouseMove = false;
_playerMove = false;
_xFlag = _yFlag = 0;
}
} else {
Expand All @@ -614,14 +615,14 @@ void Player::checkMove() {
walkRight();

if (_collideFlag) {
_vm->_events->_mouseMove = false;
_playerMove = false;
_xFlag = _yFlag = 0;
}
}
} else if (!_yFlag) {
++_yFlag;
} else {
_vm->_events->_mouseMove = false;
_playerMove = false;
_xFlag = _yFlag = 0;
}
}
Expand Down
3 changes: 2 additions & 1 deletion engines/access/player.h
Expand Up @@ -51,7 +51,6 @@ class Player: public ImageEntry, Manager {
bool _collideFlag;
Direction _move;
int _xFlag, _yFlag;
Common::Point _moveTo;
SpriteResource *_playerSprites1;
byte *_manPal1;
int _scrollEnd;
Expand Down Expand Up @@ -102,6 +101,8 @@ class Player: public ImageEntry, Manager {

// Additional public globals we've added to new Player class
bool _playerOff;
bool _playerMove;
Common::Point _moveTo;
bool _scrollFlag;
int _scrollThreshold;
int _scrollAmount;
Expand Down

0 comments on commit d570da0

Please sign in to comment.