diff options
| -rw-r--r-- | engines/parallaction/menu.cpp | 42 | ||||
| -rw-r--r-- | engines/parallaction/parallaction.cpp | 3 | 
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);  | 
