aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2014-08-16 16:15:48 -0400
committerPaul Gilbert2014-08-16 16:15:48 -0400
commit0b7078397417a3f54d33cebcd602034c8d0d1a1e (patch)
treef1c512b835ccc0a5acf33a2fab5ffe447ab570f2 /engines
parentbca9f14719dda5185c443cae6c16b6a374f50ab2 (diff)
downloadscummvm-rg350-0b7078397417a3f54d33cebcd602034c8d0d1a1e.tar.gz
scummvm-rg350-0b7078397417a3f54d33cebcd602034c8d0d1a1e.tar.bz2
scummvm-rg350-0b7078397417a3f54d33cebcd602034c8d0d1a1e.zip
ACCESS: Fix selecting buttons from the bottom of the screen
Diffstat (limited to 'engines')
-rw-r--r--engines/access/events.cpp6
-rw-r--r--engines/access/events.h6
-rw-r--r--engines/access/room.cpp8
3 files changed, 11 insertions, 9 deletions
diff --git a/engines/access/events.cpp b/engines/access/events.cpp
index 9c6b45737d..765d57cf35 100644
--- a/engines/access/events.cpp
+++ b/engines/access/events.cpp
@@ -118,7 +118,6 @@ void EventsManager::pollEvents(bool suppressFrames) {
Common::Event event;
while (g_system->getEventManager()->pollEvent(event)) {
- // Handle keypress
switch (event.type) {
case Common::EVENT_QUIT:
case Common::EVENT_RTL:
@@ -131,13 +130,15 @@ void EventsManager::pollEvents(bool suppressFrames) {
_vm->_debugger->attach();
_vm->_debugger->onFrame();
} else {
-
+ _keypresses.push(event.kbd);
}
return;
case Common::EVENT_KEYUP:
return;
case Common::EVENT_MOUSEMOVE:
_mousePos = event.mouse;
+ _mouseCol = _mousePos.x / 8;
+ _mouseRow = _mousePos.y / 8;
break;
case Common::EVENT_LBUTTONDOWN:
_leftButton = true;
@@ -169,7 +170,6 @@ void EventsManager::checkForNextFrameCounter() {
}
void EventsManager::nextFrame() {
-
// Give time to the debugger
_vm->_debugger->onFrame();
diff --git a/engines/access/events.h b/engines/access/events.h
index c76f62b265..b442b1507b 100644
--- a/engines/access/events.h
+++ b/engines/access/events.h
@@ -31,11 +31,11 @@ namespace Access {
enum CursorType {
CURSOR_NONE = -1,
- CURSOR_ARROW = 0, CURSOR_CROSSHAIRS, CURSOR_2, CURSOR_3, CURSOR_EYE,
- CURSOR_HAND, CURSOR_GET, CURSOR_CLIMB, CURSOR_TALK, CURSOR_HELP
+ CURSOR_ARROW = 0, CURSOR_CROSSHAIRS, CURSOR_2, CURSOR_3, CURSOR_LOOK,
+ CURSOR_USE, CURSOR_TAKE, CURSOR_CLIMB, CURSOR_TALK, CURSOR_HELP
};
-#define GAME_FRAME_RATE 50
+#define GAME_FRAME_RATE 40
#define GAME_FRAME_TIME (1000 / GAME_FRAME_RATE)
class AccessEngine;
diff --git a/engines/access/room.cpp b/engines/access/room.cpp
index dd6f21877c..796a441a25 100644
--- a/engines/access/room.cpp
+++ b/engines/access/room.cpp
@@ -460,15 +460,15 @@ void Room::executeCommand(int commandId) {
switch (commandId) {
case 0:
- _vm->_events->_normalMouse = CURSOR_EYE;
+ _vm->_events->_normalMouse = CURSOR_LOOK;
_vm->_events->_mouseMode = 0;
break;
case 2:
- _vm->_events->_normalMouse = CURSOR_HAND;
+ _vm->_events->_normalMouse = CURSOR_USE;
_vm->_events->_mouseMode = 0;
break;
case 3:
- _vm->_events->_normalMouse = CURSOR_GET;
+ _vm->_events->_normalMouse = CURSOR_TAKE;
_vm->_events->_mouseMode = 0;
break;
case 4:
@@ -513,10 +513,12 @@ void Room::executeCommand(int commandId) {
break;
}
+ // Draw the default toolbar menu at the bottom of the screen
roomMenu();
_vm->_screen->saveScreen();
_vm->_screen->setDisplayScan();
+ // Get the toolbar icons resource
byte *iconData = _vm->_files->loadFile("ICONS.LZ");
SpriteResource *spr = new SpriteResource(_vm, iconData, _vm->_files->_filesize);
delete[] iconData;