diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sherlock/scalpel/scalpel_scene.cpp | 6 | ||||
-rw-r--r-- | engines/sherlock/scalpel/scalpel_scene.h | 2 | ||||
-rw-r--r-- | engines/sherlock/scene.cpp | 13 | ||||
-rw-r--r-- | engines/sherlock/tattoo/tattoo_scene.cpp | 6 | ||||
-rw-r--r-- | engines/sherlock/tattoo/tattoo_scene.h | 2 |
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 }; |