diff options
author | Strangerke | 2014-11-10 01:28:42 +0100 |
---|---|---|
committer | Paul Gilbert | 2014-12-12 22:27:52 -0500 |
commit | 0df4c903c77b3614723bfc183102c89aa071a65f (patch) | |
tree | be84fdc6905c9f49a1531a4b11bd35acf4728d56 /engines | |
parent | dd2bfdd47fb111259f94fbd985513d56c263305d (diff) | |
download | scummvm-rg350-0df4c903c77b3614723bfc183102c89aa071a65f.tar.gz scummvm-rg350-0df4c903c77b3614723bfc183102c89aa071a65f.tar.bz2 scummvm-rg350-0df4c903c77b3614723bfc183102c89aa071a65f.zip |
ACCESS: Add some safeguards in LoadScene debugger command
Diffstat (limited to 'engines')
-rw-r--r-- | engines/access/amazon/amazon_resources.cpp | 14 | ||||
-rw-r--r-- | engines/access/debugger.cpp | 16 |
2 files changed, 20 insertions, 10 deletions
diff --git a/engines/access/amazon/amazon_resources.cpp b/engines/access/amazon/amazon_resources.cpp index 42dc35aa8e..a1db01d7b3 100644 --- a/engines/access/amazon/amazon_resources.cpp +++ b/engines/access/amazon/amazon_resources.cpp @@ -575,19 +575,19 @@ const byte *ROOM_TABLE[] = { }; const char *ROOM_DESCR[] = { - "TBD CREDITS", nullptr, nullptr, nullptr, "TBD ALLISTER", - "TBD HALL", "TBD JASONLAB", nullptr, "TBD ALLENLAB", "TBD OUTVAULT", - "TBD VAULT", "TBD LIBRARY", "TBD JASAPT", "TBD RANSACKED", "TBD MEAN1", - "TBD FLYSOUTH", "TBD CUZCO", "TBD INAIR", "TBD GREENMONKEY", "TBD INPLANE", - "TBD PILFALL", "TBD COCKPIT", "TBD CRASH", "TBD SINKING", "TBD JNGLWLK", + "Credits", nullptr, nullptr, nullptr, "Outside of Allister Center", + "Hall", "Jason's Lab", nullptr, "Allen's Lab", "Outside of the Vault", + "Inside the Vault", "Reader", "Jason's Apartment", "Jason's ransacked apartment", "Cutscene 1", + "TBD FLYSOUTH", "Cuzco Airport", "TBD INAIR", "Green Monkey Club", "In Plane", + "TBD PILFALL", "TBD COCKPIT", "TBD CRASH", "TBD SINKING", "Cutscene Jungle Walk", "TBD TOWN", "TBD HOTEL", "TBD CANTINA", nullptr, "TBD MASSACRE", "TBD TRADE", "TBD BRIDGE", "TBD DOCK", "TBD DRIVER", nullptr, nullptr, "TBD SHORE", "TBD BOAT", "TBD CABIN", "TBD CAPTIVE", nullptr, nullptr, "TBD VILLAGE", nullptr, "TBD TREE", "TBD CANOE", "TBD INTREE", "TBD FALLS", nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, "TBD WATERFALL", - "TBD INWATER", nullptr, "TBD CAVE", nullptr, nullptr, - nullptr, "TBD PIT", nullptr, nullptr + "TBD INWATER", nullptr, "Cave Bridge", nullptr, nullptr, + nullptr, "Pit with Ants", nullptr, nullptr }; const int ROOM_NUMB = 63; diff --git a/engines/access/debugger.cpp b/engines/access/debugger.cpp index 17ab6e101d..9a82168561 100644 --- a/engines/access/debugger.cpp +++ b/engines/access/debugger.cpp @@ -88,8 +88,18 @@ bool Debugger::Cmd_LoadScene(int argc, const char **argv) { debugPrintf("%d - %s\n", i, _sceneDescr[i].c_str()); return true; - case 2: - _vm->_player->_roomNumber = strToInt(argv[1]); + case 2: { + int newRoom = strToInt(argv[1]); + if (newRoom < 0 || newRoom >= _sceneNumb) { + debugPrintf("Invalid Room Number"); + return true; + } + if (!_sceneDescr[newRoom].size()) { + debugPrintf("Unused Room Number"); + return true; + } + + _vm->_player->_roomNumber = newRoom; _vm->_room->_function = FN_CLEAR1; _vm->freeChar(); @@ -98,7 +108,7 @@ bool Debugger::Cmd_LoadScene(int argc, const char **argv) { _vm->_scripts->_returnCode = 0; return false; - + } default: debugPrintf("Current scene is: %d\n", _vm->_player->_roomNumber); debugPrintf("Usage: %s <scene number>\n", argv[0]); |