aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorJohannes Schickel2009-09-20 16:54:23 +0000
committerJohannes Schickel2009-09-20 16:54:23 +0000
commit5bed17efa98961ead36b94dec3a4a8e961075b66 (patch)
tree70f7a1d52baca644da6b96e5050bf7bba058ab53 /engines/kyra
parentd1acdaeb59a3db0f9bec5f23f57894e98521e8df (diff)
downloadscummvm-rg350-5bed17efa98961ead36b94dec3a4a8e961075b66.tar.gz
scummvm-rg350-5bed17efa98961ead36b94dec3a4a8e961075b66.tar.bz2
scummvm-rg350-5bed17efa98961ead36b94dec3a4a8e961075b66.zip
- Add support for Kyrandia 1 German Amiga in create_kyradat.
- Increase kyra.dat version. - Rebuilt kyra.dat. - Some slight adaptions for Kyrandia 1 German in the ScummVM source. svn-id: r44215
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/gui_lok.cpp21
-rw-r--r--engines/kyra/sequences_lok.cpp4
-rw-r--r--engines/kyra/staticres.cpp2
3 files changed, 16 insertions, 11 deletions
diff --git a/engines/kyra/gui_lok.cpp b/engines/kyra/gui_lok.cpp
index 3c5fbe4f1c..5cbddd1431 100644
--- a/engines/kyra/gui_lok.cpp
+++ b/engines/kyra/gui_lok.cpp
@@ -377,6 +377,18 @@ void GUI_LoK::setGUILabels() {
offset = 6;
offsetOn = offsetMainMenu = offsetOptions = offset;
walkspeedGarbageOffset = 48;
+ } else if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
+ if (_vm->gameFlags().lang == Common::EN_ANY) {
+ offset = offsetOn = 23;
+ offsetOptions = 32;
+ walkspeedGarbageOffset = 2;
+ offsetMainMenu = 23;
+ } else if (_vm->gameFlags().lang == Common::DE_DEU) {
+ offset = offsetOn = 12;
+ offsetOptions = 21;
+ walkspeedGarbageOffset = 3;
+ offsetMainMenu = 12;
+ }
} else if (_vm->gameFlags().lang == Common::ES_ESP) {
offsetOn = offsetMainMenu = offsetOptions = offset = -4;
menuLabelGarbageOffset = 72;
@@ -389,16 +401,9 @@ void GUI_LoK::setGUILabels() {
offsetOptions = 10;
offsetOn = 0;
walkspeedGarbageOffset = 0;
- } else if (_vm->gameFlags().platform == Common::kPlatformAmiga) {
- // English Amiga version
- offset = 23;
- offsetOn = 23;
- offsetOptions = 32;
- walkspeedGarbageOffset = 2;
- offsetMainMenu = 23;
}
- assert(offset + 27 < _vm->_guiStringsSize);
+ assert(offset + (_vm->gameFlags().isTalkie ? 28 : 23) < _vm->_guiStringsSize);
// The Legend of Kyrandia
_menu[0].menuNameString = _vm->_guiStrings[0];
diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp
index 9f149fdd87..00d9d7843d 100644
--- a/engines/kyra/sequences_lok.cpp
+++ b/engines/kyra/sequences_lok.cpp
@@ -236,7 +236,7 @@ void KyraEngine_LoK::seq_introStory() {
if (!textEnabled() && speechEnabled() && _flags.lang != Common::IT_ITA)
return;
- if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && (_flags.platform == Common::kPlatformPC || _flags.platform == Common::kPlatformAmiga))
+ if ((_flags.lang == Common::EN_ANY && !_flags.isTalkie && _flags.platform == Common::kPlatformPC) || _flags.platform == Common::kPlatformAmiga)
_screen->loadBitmap("TEXT.CPS", 3, 3, &_screen->getPalette(0));
else if (_flags.lang == Common::EN_ANY || _flags.lang == Common::JA_JPN)
_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, &_screen->getPalette(0));
@@ -253,7 +253,7 @@ void KyraEngine_LoK::seq_introStory() {
else
warning("no story graphics file found");
_screen->setScreenPalette(_screen->getPalette(0));
- _screen->copyRegion(0, 0, 0, 0, 320, 200, 3, 0);
+ _screen->copyPage(3, 0);
if (_flags.lang == Common::JA_JPN) {
const int x1 = (Screen::SCREEN_W - _screen->getTextWidth(_seq_textsTable[18])) / 2;
diff --git a/engines/kyra/staticres.cpp b/engines/kyra/staticres.cpp
index d12c918b12..c705e91539 100644
--- a/engines/kyra/staticres.cpp
+++ b/engines/kyra/staticres.cpp
@@ -45,7 +45,7 @@
namespace Kyra {
-#define RESFILE_VERSION 57
+#define RESFILE_VERSION 58
namespace {
bool checkKyraDat(Common::SeekableReadStream *file) {