aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/parallaction/menu.cpp42
-rw-r--r--engines/parallaction/parallaction.cpp3
2 files changed, 26 insertions, 19 deletions
diff --git a/engines/parallaction/menu.cpp b/engines/parallaction/menu.cpp
index aa62bc55ad..031ec81695 100644
--- a/engines/parallaction/menu.cpp
+++ b/engines/parallaction/menu.cpp
@@ -100,9 +100,9 @@ Menu::~Menu() {
void Menu::start() {
- _vm->_disk->selectArchive("disk1");
- _vm->_gfx->_proportionalFont = false;
+ _vm->_disk->selectArchive((_vm->getPlatform() == Common::kPlatformPC) ? "disk1" : "disk0");
+ _vm->_gfx->_proportionalFont = false;
_vm->_gfx->setFont("slide");
_vm->_disk->loadSlide("intro");
@@ -117,26 +117,23 @@ void Menu::start() {
g_system->delayMillis(2000);
- _vm->_disk->loadSlide("lingua");
- _vm->_gfx->palUnk0(_vm->_gfx->_palette);
- _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
+ if (_vm->getPlatform() == Common::kPlatformPC) {
- _vm->_gfx->displayString(60, 30, "SELECT LANGUAGE");
+ _vm->_disk->loadSlide("lingua");
+ _vm->_gfx->palUnk0(_vm->_gfx->_palette);
+ _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
- _vm->_gfx->copyScreen(Gfx::kBitFront, Gfx::kBitBack);
- _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBit2);
- _language = chooseLanguage();
+ _vm->_gfx->displayString(60, 30, "SELECT LANGUAGE");
- _vm->_disk->setLanguage(_language);
-
- _vm->_disk->loadSlide("restore");
- _vm->_gfx->palUnk0(_vm->_gfx->_palette);
- _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
+ _vm->_gfx->copyScreen(Gfx::kBitFront, Gfx::kBitBack);
+ _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBit2);
+ _language = chooseLanguage();
- _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBit2);
+ _vm->_disk->setLanguage(_language);
- if (selectGame() == 0) {
- newGame();
+ if (selectGame() == 0) {
+ newGame();
+ }
}
return;
@@ -218,6 +215,14 @@ uint16 Menu::chooseLanguage() {
uint16 Menu::selectGame() {
// printf("selectGame()\n");
+
+ _vm->_disk->loadSlide("restore");
+ _vm->_gfx->palUnk0(_vm->_gfx->_palette);
+ _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront);
+
+ _vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBit2);
+
+
uint16 _si = 0;
uint16 _di = 3;
@@ -286,7 +291,8 @@ void Menu::selectCharacter() {
_vm->_gfx->_proportionalFont = false;
_vm->_gfx->setFont("slide");
- _vm->_disk->selectArchive("disk1");
+ _vm->_disk->selectArchive((_vm->getPlatform() == Common::kPlatformPC) ? "disk1" : "disk0");
+
_vm->_disk->loadSlide("password"); // loads background into kBitBack buffer
_vm->_gfx->copyScreen(Gfx::kBitBack, Gfx::kBitFront); //
diff --git a/engines/parallaction/parallaction.cpp b/engines/parallaction/parallaction.cpp
index 7b254655c7..0fb63734cf 100644
--- a/engines/parallaction/parallaction.cpp
+++ b/engines/parallaction/parallaction.cpp
@@ -792,12 +792,13 @@ void Parallaction::changeCharacter(const char *name) {
// character for sanity before memory is freed
freeCharacter();
- _disk->selectArchive("disk1");
+ _disk->selectArchive((_vm->getPlatform() == Common::kPlatformPC) ? "disk1" : "disk0");
char path[PATH_LEN];
strcpy(path, v32);
_vm->_char._normalFrames = _disk->loadFrames(path);
+
if (!IS_DUMMY_CHARACTER(name)) {
_vm->_char._head = _disk->loadHead(path);
_vm->_char._talk = _disk->loadTalk(path);