aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sherlock/scalpel/scalpel_scene.cpp6
-rw-r--r--engines/sherlock/scalpel/scalpel_scene.h2
-rw-r--r--engines/sherlock/scene.cpp13
-rw-r--r--engines/sherlock/tattoo/tattoo_scene.cpp6
-rw-r--r--engines/sherlock/tattoo/tattoo_scene.h2
5 files changed, 21 insertions, 8 deletions
diff --git a/engines/sherlock/scalpel/scalpel_scene.cpp b/engines/sherlock/scalpel/scalpel_scene.cpp
index 4e6e9e4c7c..9c36e84969 100644
--- a/engines/sherlock/scalpel/scalpel_scene.cpp
+++ b/engines/sherlock/scalpel/scalpel_scene.cpp
@@ -34,6 +34,12 @@ namespace Sherlock {
namespace Scalpel {
+const int FS_TRANS[8] = {
+ STOP_UP, STOP_UPRIGHT, STOP_RIGHT, STOP_DOWNRIGHT, STOP_DOWN, STOP_DOWNLEFT, STOP_LEFT, STOP_UPLEFT
+};
+
+/*----------------------------------------------------------------*/
+
bool ScalpelScene::loadScene(const Common::String &filename) {
ScalpelMap &map = *(ScalpelMap *)_vm->_map;
bool result = Scene::loadScene(filename);
diff --git a/engines/sherlock/scalpel/scalpel_scene.h b/engines/sherlock/scalpel/scalpel_scene.h
index fa65ecd95b..62dd1c7a92 100644
--- a/engines/sherlock/scalpel/scalpel_scene.h
+++ b/engines/sherlock/scalpel/scalpel_scene.h
@@ -35,6 +35,8 @@ namespace Sherlock {
namespace Scalpel {
+extern const int FS_TRANS[8];
+
enum { BLACKWOOD_CAPTURE = 2, BAKER_STREET = 4, DRAWING_ROOM = 12, STATION = 17, PUB_INTERIOR = 19,
LAWYER_OFFICE = 27, BAKER_ST_EXTERIOR = 39, RESCUE_ANNA = 52, MOOREHEAD_DEATH = 53, EXIT_GAME = 55,
BRUMWELL_SUICIDE = 70, OVERHEAD_MAP2 = 98, DARTS_GAME = 99, OVERHEAD_MAP = 100 };
diff --git a/engines/sherlock/scene.cpp b/engines/sherlock/scene.cpp
index 328bf647d4..2ae45b0530 100644
--- a/engines/sherlock/scene.cpp
+++ b/engines/sherlock/scene.cpp
@@ -32,13 +32,6 @@
namespace Sherlock {
-static const int FS_TRANS[8] = {
- Scalpel::STOP_UP, Scalpel::STOP_UPRIGHT, Scalpel::STOP_RIGHT, Scalpel::STOP_DOWNRIGHT,
- Scalpel::STOP_DOWN, Scalpel::STOP_DOWNLEFT, Scalpel::STOP_LEFT, Scalpel::STOP_UPLEFT
-};
-
-/*----------------------------------------------------------------*/
-
BgFileHeader::BgFileHeader() {
_numStructs = -1;
_numImages = -1;
@@ -1198,7 +1191,11 @@ void Scene::transitionToScene() {
// Note: If a savegame was just loaded, then the data is already correct.
// Otherwise, this is a linked scene or entrance info, and must be translated
if (hSavedFacing < 8 && !saves._justLoaded) {
- hSavedFacing = FS_TRANS[hSavedFacing];
+ if (IS_ROSE_TATTOO)
+ hSavedFacing = Tattoo::FS_TRANS[hSavedFacing];
+ else
+ hSavedFacing = Scalpel::FS_TRANS[hSavedFacing];
+
hSavedPos.x *= FIXED_INT_MULTIPLIER;
hSavedPos.y *= FIXED_INT_MULTIPLIER;
}
diff --git a/engines/sherlock/tattoo/tattoo_scene.cpp b/engines/sherlock/tattoo/tattoo_scene.cpp
index 17c27a0ab6..e40b4d6a9c 100644
--- a/engines/sherlock/tattoo/tattoo_scene.cpp
+++ b/engines/sherlock/tattoo/tattoo_scene.cpp
@@ -31,6 +31,12 @@ namespace Sherlock {
namespace Tattoo {
+const int FS_TRANS[8] = {
+ STOP_UP, STOP_UPRIGHT, STOP_RIGHT, STOP_DOWNRIGHT, STOP_DOWN, STOP_DOWNLEFT, STOP_LEFT, STOP_UPLEFT
+};
+
+/*----------------------------------------------------------------*/
+
struct ShapeEntry {
Object *_shape;
TattooPerson *_person;
diff --git a/engines/sherlock/tattoo/tattoo_scene.h b/engines/sherlock/tattoo/tattoo_scene.h
index d9e4ae30b8..b75f7e70eb 100644
--- a/engines/sherlock/tattoo/tattoo_scene.h
+++ b/engines/sherlock/tattoo/tattoo_scene.h
@@ -31,6 +31,8 @@ namespace Sherlock {
namespace Tattoo {
+extern const int FS_TRANS[8];
+
enum {
STARTING_GAME_SCENE = 1, STARTING_INTRO_SCENE = 91, OVERHEAD_MAP2 = 90, OVERHEAD_MAP = 100
};