diff options
author | Nipun Garg | 2019-07-30 03:50:28 +0530 |
---|---|---|
committer | Eugene Sandulenko | 2019-09-03 17:17:30 +0200 |
commit | b8bbc32a89e53f6eb271d848cdb4935494c0f43f (patch) | |
tree | 2ee92e4dd65ef50716b8ebe63eca4cab93571b0a /engines/hdb/menu.cpp | |
parent | 3acb70c759586faef9a5f9f5131c6da6e17e5f89 (diff) | |
download | scummvm-rg350-b8bbc32a89e53f6eb271d848cdb4935494c0f43f.tar.gz scummvm-rg350-b8bbc32a89e53f6eb271d848cdb4935494c0f43f.tar.bz2 scummvm-rg350-b8bbc32a89e53f6eb271d848cdb4935494c0f43f.zip |
HDB: Add support for the PPC version
Diffstat (limited to 'engines/hdb/menu.cpp')
-rw-r--r-- | engines/hdb/menu.cpp | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/engines/hdb/menu.cpp b/engines/hdb/menu.cpp index 9c36c9bd02..3158e789d6 100644 --- a/engines/hdb/menu.cpp +++ b/engines/hdb/menu.cpp @@ -619,10 +619,16 @@ void Menu::drawMenu() { _modeLoadGfx->drawMasked(centerPic(_modeLoadGfx), _oBannerY); _menuBackoutGfx->drawMasked(kBackoutX, kBackoutY); - - if (_saveGames[0].seconds) { + if (_saveGames[kAutoSaveSlot].seconds) _vortexian[anim]->drawMasked(kVortSaveX, kVortSaveY); + + if (g_hdb->isPPC()) { + g_hdb->_gfx->setCursor(kVortSaveTextX, kVortSaveY); + g_hdb->_gfx->drawText("Last Vortexian"); + g_hdb->_gfx->setCursor(kVortSaveTextX, kVortSaveY + 12); + g_hdb->_gfx->drawText("Saved Game"); } + if (anim_time < g_hdb->getTimeSlice()) { anim_time = g_hdb->getTimeSlice() + 50; anim++; @@ -760,6 +766,10 @@ void Menu::freeMenu() { delete _demoPlaqueGfx; _demoPlaqueGfx = NULL; + if (g_hdb->isPPC()) { + warning("FIXME: When handangoGfx is added, free it here"); + } + if (_nebulaGfx[0]) { for (int i = 0; i < kNebulaCount; i++) { delete _nebulaGfx[i]; @@ -1279,6 +1289,22 @@ void Menu::processInput(int x, int y) { g_hdb->_sound->playSound(SND_MENU_BACKOUT); } + // Vortexian Load only exists on PocketPC! + if (g_hdb->isPPC()) { + // 5 Slots screen + // Vortexian autosave LOAD? + if (y > kVortSaveY && (y < kVortSaveY + 32) && (x >= kVortSaveX) && (x < kVortSaveX + 96) && _saveGames[kAutoSaveSlot].seconds) { + g_hdb->_sound->playSound(SND_VORTEX_SAVE); + if (g_hdb->loadGameState(kAutoSaveSlot).getCode() == Common::kNoError) { + _gamefilesActive = false; + freeMenu(); + g_hdb->setGameState(GAME_PLAY); + return; + } + } + + } + int i = 0; for (; i < kNumSaveSlots; i++) if (y >= (i * 32 + kSaveSlotY - 4) && y <= (i * 32 + kSaveSlotY + 24)) |