diff options
Diffstat (limited to 'engines/access/martian/martian_game.cpp')
-rw-r--r-- | engines/access/martian/martian_game.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/engines/access/martian/martian_game.cpp b/engines/access/martian/martian_game.cpp index 3fdba8d260..00ee6c9776 100644 --- a/engines/access/martian/martian_game.cpp +++ b/engines/access/martian/martian_game.cpp @@ -36,6 +36,8 @@ MartianEngine::MartianEngine(OSystem *syst, const AccessGameDescription *gameDes MartianEngine::~MartianEngine() { _introObjects = _spec7Objects = nullptr; + _skipStart = false; + _creditsStream = nullptr; } void MartianEngine::initObjects() { @@ -68,8 +70,8 @@ void MartianEngine::initVariables() { _timers.push_back(te); } - _player->_playerX = _player->_rawPlayer.x = _travelPos[_player->_roomNumber][0]; - _player->_playerY = _player->_rawPlayer.y = _travelPos[_player->_roomNumber][1]; + _player->_playerX = _player->_rawPlayer.x = _res->ROOMTBL[_player->_roomNumber]._travelPos.x; + _player->_playerY = _player->_rawPlayer.y = _res->ROOMTBL[_player->_roomNumber]._travelPos.y; _room->_selectCommand = -1; _events->setNormalCursor(CURSOR_CROSSHAIRS); _mouseMode = 0; @@ -280,10 +282,10 @@ void MartianEngine::doCredits() { void MartianEngine::setupGame() { // Load death list - _deaths.resize(20); - for (int i = 0; i < 20; ++i) { - _deaths[i]._screenId = Martian::DEATH_SCREENS[i]; - _deaths[i]._msg = Martian::DEATHMESSAGE[i]; + _deaths.resize(_res->DEATHS.size()); + for (uint idx = 0; idx < _deaths.size(); ++idx) { + _deaths[idx]._screenId = _res->DEATHS[idx]._screenId; + _deaths[idx]._msg = _res->DEATHS[idx]._msg; } // Setup timers @@ -297,14 +299,14 @@ void MartianEngine::setupGame() { } // Miscellaneous - // TODO: Replace with Martian fonts when located - _fonts._font1.load(Amazon::FONT6x6_INDEX, Amazon::FONT6x6_DATA); - _fonts._font2.load(Amazon::FONT2_INDEX, Amazon::FONT2_DATA); + Amazon::AmazonResources &res = *((Amazon::AmazonResources *)_res); + _fonts._font1.load(&res.FONT6x6_INDEX[0], &res.FONT6x6_DATA[0]); + _fonts._font2.load(&res.FONT2_INDEX[0], &res.FONT2_DATA[0]); // Set player room and position _player->_roomNumber = 7; - _player->_playerX = _player->_rawPlayer.x = _travelPos[_player->_roomNumber][0]; - _player->_playerY = _player->_rawPlayer.y = _travelPos[_player->_roomNumber][1]; + _player->_playerX = _player->_rawPlayer.x = _res->ROOMTBL[_player->_roomNumber]._travelPos.x; + _player->_playerY = _player->_rawPlayer.y = _res->ROOMTBL[_player->_roomNumber]._travelPos.y; } void MartianEngine::showDeathText(Common::String msg) { |