aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2015-01-02 11:05:21 +0100
committerStrangerke2015-01-02 11:05:21 +0100
commitb2a4999f3cbf8808a10ffe5a4cbb1b536e0011d5 (patch)
treed2e2b6d2a522f80d7adbbb4d45095da2441bbdf6
parent900dc7ffc004d36ff02d38f0cc615098571c7b41 (diff)
downloadscummvm-rg350-b2a4999f3cbf8808a10ffe5a4cbb1b536e0011d5.tar.gz
scummvm-rg350-b2a4999f3cbf8808a10ffe5a4cbb1b536e0011d5.tar.bz2
scummvm-rg350-b2a4999f3cbf8808a10ffe5a4cbb1b536e0011d5.zip
ACCESS: MM - Fix mouse cursor when y between 177 and 184, add a call to takePicture (not yet implemented)
-rw-r--r--engines/access/martian/martian_room.cpp6
-rw-r--r--engines/access/martian/martian_room.h3
-rw-r--r--engines/access/room.cpp17
-rw-r--r--engines/access/room.h2
4 files changed, 24 insertions, 4 deletions
diff --git a/engines/access/martian/martian_room.cpp b/engines/access/martian/martian_room.cpp
index 10e9d60cca..118679b2d8 100644
--- a/engines/access/martian/martian_room.cpp
+++ b/engines/access/martian/martian_room.cpp
@@ -91,6 +91,12 @@ void MartianRoom::roomSet() {
_vm->_scripts->_sequence = 1000;
_vm->_scripts->searchForSequence();
_vm->_scripts->executeScript();
+
+ for (int i = 0; i < 30; i++)
+ _byte26CD2[i] = 0;
+
+ for (int i = 0; i < 10; i++)
+ _byte26CBC[i] = 0;
}
void MartianRoom::roomMenu() {
diff --git a/engines/access/martian/martian_room.h b/engines/access/martian/martian_room.h
index cb2a8c2229..11501b6e57 100644
--- a/engines/access/martian/martian_room.h
+++ b/engines/access/martian/martian_room.h
@@ -39,6 +39,9 @@ private:
MartianEngine *_game;
void roomSet();
+
+ int _byte26CD2[30];
+ int _byte26CBC[10];
protected:
virtual void loadRoom(int roomNumber);
diff --git a/engines/access/room.cpp b/engines/access/room.cpp
index f7c2eabd0f..79e5200963 100644
--- a/engines/access/room.cpp
+++ b/engines/access/room.cpp
@@ -55,6 +55,10 @@ void Room::freeTileData() {
_tile = nullptr;
}
+void Room::takePicture() {
+ warning("TODO: takePicture");
+}
+
void Room::doRoom() {
bool reloadFlag = false;
@@ -84,9 +88,13 @@ void Room::doRoom() {
_vm->_events->pollEventsAndWait();
_vm->_canSaveLoad = false;
- _vm->_player->walk();
- _vm->_midi->midiRepeat();
- _vm->_player->checkScroll();
+ if ((_vm->getGameID() == GType_MartianMemorandum) && (_vm->_player->_roomNumber == 47)) {
+ takePicture();
+ } else {
+ _vm->_player->walk();
+ _vm->_midi->midiRepeat();
+ _vm->_player->checkScroll();
+ }
doCommands();
if (_vm->shouldQuitOrRestart())
@@ -136,7 +144,8 @@ void Room::doRoom() {
} else {
_vm->plotList();
- if (_vm->_events->_mousePos.y < 177)
+ if (((_vm->getGameID() == GType_MartianMemorandum) && (_vm->_events->_mousePos.y < 184)) ||
+ ((_vm->getGameID() == GType_Amazon) && (_vm->_events->_mousePos.y < 177)))
_vm->_events->setCursor(_vm->_events->_normalMouse);
else
_vm->_events->setCursor(CURSOR_ARROW);
diff --git a/engines/access/room.h b/engines/access/room.h
index 44279fa6b1..dd8a359665 100644
--- a/engines/access/room.h
+++ b/engines/access/room.h
@@ -72,6 +72,8 @@ private:
int calcLR(int yp);
int calcUD(int xp);
+ void takePicture();
+
/**
* Cycles forwards or backwards through the list of commands
*/