aboutsummaryrefslogtreecommitdiff
path: root/engines/hdb/menu.cpp
diff options
context:
space:
mode:
authorNipun Garg2019-07-30 03:50:28 +0530
committerEugene Sandulenko2019-09-03 17:17:30 +0200
commitb8bbc32a89e53f6eb271d848cdb4935494c0f43f (patch)
tree2ee92e4dd65ef50716b8ebe63eca4cab93571b0a /engines/hdb/menu.cpp
parent3acb70c759586faef9a5f9f5131c6da6e17e5f89 (diff)
downloadscummvm-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.cpp30
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))