diff options
author | Florian Kagerer | 2008-03-09 15:26:06 +0000 |
---|---|---|
committer | Florian Kagerer | 2008-03-09 15:26:06 +0000 |
commit | 4712089f18e521605bc08152fe02e5aeb4b78dd7 (patch) | |
tree | ebb8bec15e64f0bef525ca6ee234340820bf7191 | |
parent | d2bbfbcc35a1ab8cc3be52dba690a07cbabdf632 (diff) | |
download | scummvm-rg350-4712089f18e521605bc08152fe02e5aeb4b78dd7.tar.gz scummvm-rg350-4712089f18e521605bc08152fe02e5aeb4b78dd7.tar.bz2 scummvm-rg350-4712089f18e521605bc08152fe02e5aeb4b78dd7.zip |
floppy/fm-towns implementation for spell book
svn-id: r31089
-rw-r--r-- | engines/kyra/gui_v2.cpp | 63 |
1 files changed, 38 insertions, 25 deletions
diff --git a/engines/kyra/gui_v2.cpp b/engines/kyra/gui_v2.cpp index 1f997564b7..f81ae309c5 100644 --- a/engines/kyra/gui_v2.cpp +++ b/engines/kyra/gui_v2.cpp @@ -846,31 +846,43 @@ int KyraEngine_v2::bookButton(Button *button) { void KyraEngine_v2::loadBookBkgd() { char filename[16]; - strcpy(filename, (_bookBkgd == 0) ? "_XBOOKD.CPS" : "_XBOOKC.CPS"); - _bookBkgd ^= 1; - if (!_bookCurPage) - strcpy(filename, "_XBOOKB.CPS"); - if (_bookCurPage == _bookMaxPage) - strcpy(filename, "_XBOOKA.CPS"); + if (_flags.isTalkie) + strcpy(filename, (_bookBkgd == 0) ? "_XBOOKD.CPS" : "_XBOOKC.CPS"); + else + strcpy(filename, (_bookBkgd == 0) ? "_BOOKD.CPS" : "_BOOKC.CPS"); - switch (_lang) { - case 0: - filename[1] = 'E'; - break; + _bookBkgd ^= 1; + + if (_flags.isTalkie) { + if (!_bookCurPage) + strcpy(filename, "_XBOOKB.CPS"); + if (_bookCurPage == _bookMaxPage) + strcpy(filename, "_XBOOKA.CPS"); + + switch (_lang) { + case 0: + filename[1] = 'E'; + break; - case 1: - filename[1] = 'F'; - break; + case 1: + filename[1] = 'F'; + break; - case 2: - filename[2] = 'G'; - break; + case 2: + filename[2] = 'G'; + break; - default: - warning("loadBookBkgd unsupported language"); - filename[1] = 'E'; - break; + default: + warning("loadBookBkgd unsupported language"); + filename[1] = 'E'; + break; + } + } else { + if (!_bookCurPage) + strcpy(filename, "_BOOKB.CPS"); + if (_bookCurPage == _bookMaxPage) + strcpy(filename, "_BOOKA.CPS"); } _screen->loadBitmap(filename, 3, 3, 0); @@ -906,10 +918,10 @@ void KyraEngine_v2::showBookPage() { void KyraEngine_v2::bookLoop() { static Button bookButtons[] = { - { 0, 0x25, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0x82, 0xBE, 0x0A, 0x0A, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookPrevPage }, - { 0, 0x26, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0xB1, 0xBE, 0x0A, 0x0A, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookNextPage }, - { 0, 0x27, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0x8F, 0xBE, 0x21, 0x0A, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookClose }, - { 0, 0x28, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0x08, 0x08, 0x90, 0xB4, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookPrevPage }, + { 0, 0x24, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0x82, 0xBE, 0x0A, 0x0A, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookPrevPage }, + { 0, 0x25, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0xB1, 0xBE, 0x0A, 0x0A, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookNextPage }, + { 0, 0x26, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0x8F, 0xBE, 0x21, 0x0A, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookClose }, + { 0, 0x27, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0x08, 0x08, 0x90, 0xB4, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookPrevPage }, { 0, 0x28, 0, 0, 1, 1, 1, 0x4487, 0, 0, 0, 0, 0xAA, 0x08, 0x8E, 0xB4, 0xC7, 0xCF, 0xC7, 0xCF, 0xC7, 0xCF, 0, &KyraEngine_v2::bookNextPage } }; @@ -926,6 +938,7 @@ void KyraEngine_v2::bookLoop() { if (_bookCurPage != _bookNewPage) { _bookCurPage = _bookNewPage; + _screen->clearPage(2); loadBookBkgd(); showBookPage(); snd_playSoundEffect(0x64); @@ -961,7 +974,7 @@ void KyraEngine_v2::bookPrintText(int dstPage, const uint8 *str, int x, int y, u _screen->_charWidth = -2; _screen->hideMouse(); - _screen->printText((const char*)str, x, y, color, 0); + _screen->printText((const char*)str, x, y, color, (_flags.lang == Common::JA_JPN) ? 0x80 : 0); _screen->showMouse(); _screen->_charWidth = 0; |