diff options
author | Johannes Schickel | 2005-10-18 19:59:51 +0000 |
---|---|---|
committer | Johannes Schickel | 2005-10-18 19:59:51 +0000 |
commit | 2e60e19a37d5247a8cb6c9f8233b242868e9efb7 (patch) | |
tree | 73f705c585fa7a93003f78da9bef31612284bad2 /kyra | |
parent | a38bc21581abedbeb30f371ed079c85cefa98596 (diff) | |
download | scummvm-rg350-2e60e19a37d5247a8cb6c9f8233b242868e9efb7.tar.gz scummvm-rg350-2e60e19a37d5247a8cb6c9f8233b242868e9efb7.tar.bz2 scummvm-rg350-2e60e19a37d5247a8cb6c9f8233b242868e9efb7.zip |
Some fixes:
- added support for an external data file for all the resources from
the original binary
- fixed a typo with malco(l)m
- added support for spanish floppy
- changes support for unknown languages a bit
- some other cleanups
svn-id: r19161
Diffstat (limited to 'kyra')
-rw-r--r-- | kyra/kyra.cpp | 149 | ||||
-rw-r--r-- | kyra/kyra.h | 91 | ||||
-rw-r--r-- | kyra/screen.cpp | 2 | ||||
-rw-r--r-- | kyra/screen.h | 2 | ||||
-rwxr-xr-x | kyra/seqplayer.cpp | 55 | ||||
-rw-r--r-- | kyra/staticres.cpp | 919 |
6 files changed, 377 insertions, 841 deletions
diff --git a/kyra/kyra.cpp b/kyra/kyra.cpp index 932e978a2b..fff5127ffe 100644 --- a/kyra/kyra.cpp +++ b/kyra/kyra.cpp @@ -75,13 +75,15 @@ static const KyraGameSettings kyra_games[] = { "abf8eb360e79a6c2a837751fbd4d3d24", "GEMCUT.EMC" }, { "kyra1", "Legend of Kyrandia (Floppy, German)", GI_KYRA1, GF_GERMAN | GF_FLOPPY, "6018e1dfeaca7fe83f8d0b00eb0dd049", "GEMCUT.EMC"}, + { "kyra1", "Legend of Kyrandia (Floppy, Spanish)", GI_KYRA1, GF_SPANISH | GF_FLOPPY, // from VooD + "8909b41596913b3f5deaf3c9f1017b01", "GEMCUT.EMC"}, { "kyra1", "Legend of Kyrandia (CD, English)", GI_KYRA1, GF_ENGLISH | GF_TALKIE, "fac399fe62f98671e56a005c5e94e39f", "GEMCUT.PAK" }, { "kyra1", "Legend of Kyrandia (CD, German)", GI_KYRA1, GF_GERMAN | GF_TALKIE, "230f54e6afc007ab4117159181a1c722", "GEMCUT.PAK" }, { "kyra1", "Legend of Kyrandia (CD, French)", GI_KYRA1, GF_FRENCH | GF_TALKIE, "b037c41768b652a040360ffa3556fd2a", "GEMCUT.PAK" }, - { "kyra1", "Legend of Kyrandia (Demo)", GI_KYRA1, GF_DEMO, + { "kyra1", "Legend of Kyrandia (Demo)", GI_KYRA1, GF_DEMO | GF_ENGLISH, "fb722947d94897512b13b50cc84fd648", "DEMO1.WSA" }, { 0, 0, 0, 0, 0, 0 } }; @@ -98,7 +100,7 @@ struct KyraGameList { }; static const KyraGameList kyra_list[] = { - { "kyra1", "Legend of Kyrandia (Unknown)", 0 }, + { "kyra1", "Legend of Kyrandia", 0 }, { 0, 0, 0 } }; @@ -170,6 +172,12 @@ namespace Kyra { KyraEngine::KyraEngine(GameDetector *detector, OSystem *system) : Engine(system) { + _seq_Forest = _seq_KallakWriting = _seq_KyrandiaLogo = _seq_KallakMalcolm = + _seq_MalcolmTree = _seq_WestwoodLogo = _seq_Demo1 = _seq_Demo2 = _seq_Demo3 = + _seq_Demo4 = 0; + + _seq_WSATable = _seq_CPSTable = _seq_COLTable = _seq_textsTable = 0; + _seq_WSATable_Size = _seq_CPSTable_Size = _seq_COLTable_Size = _seq_textsTable_Size = 0; // Setup mixer if (!_mixer->isReady()) { @@ -217,10 +225,14 @@ KyraEngine::KyraEngine(GameDetector *detector, OSystem *system) if (!found) { debug("Unknown MD5 (%s)! Please report the details (language, platform, etc.) of this game to the ScummVM team", md5str); - // a bit hacky but should work fine for now - debug("Assuming an english floppy version for now"); - _features = GF_FLOPPY | GF_ENGLISH; + _features = GF_LNGUNK; _game = GI_KYRA1; + Common::File test; + if (test.open("INTRO.VRM")) { + _features |= GF_TALKIE; + } else { + _features |= GF_FLOPPY; + } } } @@ -285,6 +297,7 @@ int KyraEngine::go() { _quitFlag = false; uint32 sz; + res_loadResources(); if (_features & GF_FLOPPY) { _screen->loadFont(Screen::FID_6_FNT, _res->fileData("6.FNT", &sz)); } @@ -300,6 +313,7 @@ int KyraEngine::go() { startup(); mainLoop(); } + res_unloadResources(); return 0; } @@ -402,14 +416,18 @@ void KyraEngine::loadRoom(uint16 roomID) { _screen->clearPage(10); // Loading GUI bitmap - if (_features & GF_ENGLISH && _features & GF_TALKIE) + if ((_features & GF_ENGLISH) && (_features & GF_TALKIE)) loadBitmap("MAIN_ENG.CPS", 10, 10, 0); else if(_features & GF_FRENCH) loadBitmap("MAIN_FRE.CPS", 10, 10, 0); else if(_features & GF_GERMAN) loadBitmap("MAIN_GER.CPS", 10, 10, 0); - else + else if ((_features & GF_ENGLISH) && (_features & GF_FLOPPY)) loadBitmap("MAIN15.CPS", 10, 10, 0); + else if (_features & GF_SPANISH) + loadBitmap("MAIN_SPA.CPS", 10, 10, 0); + else + warning("no main graphics file found"); // Loading main room background strncpy(buf, _rooms[roomID].filename, 8); @@ -714,25 +732,25 @@ void KyraEngine::seq_demo() { _system->copyRectToScreen(_screen->getPagePtr(0), 320, 0, 0, 320, 200); _screen->fadeFromBlack(); - _seq->playSequence(_seq_demoData_WestwoodLogo, true); + _seq->playSequence(_seq_WestwoodLogo, true); waitTicks(60); - _seq->playSequence(_seq_demoData_KyrandiaLogo, true); + _seq->playSequence(_seq_KyrandiaLogo, true); _screen->fadeToBlack(); _screen->clearPage(2); _screen->clearPage(0); - _seq->playSequence(_seq_demoData_Demo1, true); + _seq->playSequence(_seq_Demo1, true); _screen->clearPage(0); - _seq->playSequence(_seq_demoData_Demo2, true); + _seq->playSequence(_seq_Demo2, true); _screen->clearPage(0); - _seq->playSequence(_seq_demoData_Demo3, true); + _seq->playSequence(_seq_Demo3, true); _screen->clearPage(0); - _seq->playSequence(_seq_demoData_Demo4, true); + _seq->playSequence(_seq_Demo4, true); _screen->clearPage(0); loadBitmap("FINAL.CPS", 7, 7, _screen->_currentPalette); @@ -748,14 +766,15 @@ void KyraEngine::seq_demo() { void KyraEngine::seq_intro() { debug(9, "KyraEngine::seq_intro()"); if (_features & GF_TALKIE) { - _res->loadPakFile("INTRO.VRM"); + _res->loadPakFile("INTRO.VRM"); } + static const IntroProc introProcTable[] = { &KyraEngine::seq_introLogos, &KyraEngine::seq_introStory, - &KyraEngine::seq_introMalcomTree, + &KyraEngine::seq_introMalcolmTree, &KyraEngine::seq_introKallakWriting, - &KyraEngine::seq_introKallakMalcom + &KyraEngine::seq_introKallakMalcolm }; _skipIntroFlag = true; // only true if user already played the game once _seq->setCopyViewOffs(true); @@ -773,6 +792,7 @@ void KyraEngine::seq_intro() { if (_features & GF_TALKIE) { _res->unloadPakFile("INTRO.VRM"); } + res_unloadResources(RES_INTRO); } void KyraEngine::seq_introLogos() { @@ -786,30 +806,16 @@ void KyraEngine::seq_introLogos() { _system->copyRectToScreen(_screen->getPagePtr(0), 320, 0, 0, 320, 200); _screen->fadeFromBlack(); - if (_features & GF_FLOPPY) { - if (_seq->playSequence(_seq_floppyData_WestwoodLogo, _skipIntroFlag)) { - _screen->fadeToBlack(); - _screen->clearPage(0); - return; - } - waitTicks(60); - if (_seq->playSequence(_seq_floppyData_KyrandiaLogo, _skipIntroFlag)) { - _screen->fadeToBlack(); - _screen->clearPage(0); - return; - } - } else if (_features & GF_TALKIE) { - if (_seq->playSequence(_seq_cdromData_WestwoodLogo, _skipIntroFlag)) { - _screen->fadeToBlack(); - _screen->clearPage(0); - return; - } - waitTicks(60); - if (_seq->playSequence(_seq_cdromData_KyrandiaLogo, _skipIntroFlag)) { - _screen->fadeToBlack(); - _screen->clearPage(0); - return; - } + if (_seq->playSequence(_seq_WestwoodLogo, _skipIntroFlag)) { + _screen->fadeToBlack(); + _screen->clearPage(0); + return; + } + waitTicks(60); + if (_seq->playSequence(_seq_KyrandiaLogo, _skipIntroFlag)) { + _screen->fadeToBlack(); + _screen->clearPage(0); + return; } _screen->fillRect(0, 179, 319, 199, 0); @@ -834,42 +840,34 @@ void KyraEngine::seq_introLogos() { waitTicks(1); } while (y2 >= 64); - if (_features & GF_FLOPPY) { - _seq->playSequence(_seq_floppyData_Forest, true); - } else if (_features & GF_TALKIE) { - _seq->playSequence(_seq_cdromData_Forest, true); - } + _seq->playSequence(_seq_Forest, true); } void KyraEngine::seq_introStory() { debug(9, "KyraEngine::seq_introStory()"); - // this is only needed for floppy versions - // since CD version has its own opcode for that - if (_features & GF_FLOPPY) { - _screen->clearPage(3); - _screen->clearPage(0); - if (_features & GF_ENGLISH) { - loadBitmap("TEXT.CPS", 3, 3, 0); - } else if (_features & GF_GERMAN) { - loadBitmap("TEXT_GER.CPS", 3, 3, 0); - } else if (_features & GF_FRENCH) { - loadBitmap("TEXT_FRE.CPS", 3, 3, 0); - } - _screen->copyRegion(0, 0, 0, 0, 320, 200, 3, 0); - _screen->updateScreen(); - waitTicks(360); + _screen->clearPage(3); + _screen->clearPage(0); + if (_features & GF_ENGLISH) { + loadBitmap("TEXT.CPS", 3, 3, 0); + } else if (_features & GF_GERMAN) { + loadBitmap("TEXT_GER.CPS", 3, 3, 0); + } else if (_features & GF_FRENCH) { + loadBitmap("TEXT_FRE.CPS", 3, 3, 0); + } else if (_features & GF_SPANISH) { + loadBitmap("TEXT_SPA.CPS", 3, 3, 0); + } else { + warning("no story graphics file found"); } + _screen->copyRegion(0, 0, 0, 0, 320, 200, 3, 0); + _screen->updateScreen(); + waitTicks(360); } -void KyraEngine::seq_introMalcomTree() { - debug(9, "KyraEngine::seq_introMalcomTree()"); +void KyraEngine::seq_introMalcolmTree() { + debug(9, "KyraEngine::seq_introMalcolmTree()"); _screen->_curPage = 0; _screen->clearPage(3); - if (_features & GF_FLOPPY) { - _seq->playSequence(_seq_floppyData_MalcomTree, true); - } else if (_features & GF_TALKIE) { - _seq->playSequence(_seq_cdromData_MalcomTree, true); - } + _seq->playSequence(_seq_MalcolmTree, true); } void KyraEngine::seq_introKallakWriting() { @@ -878,22 +876,13 @@ void KyraEngine::seq_introKallakWriting() { _screen->setAnimBlockPtr(5060); _screen->_charWidth = -2; _screen->clearPage(3); - if (_features & GF_FLOPPY) { - _seq->playSequence(_seq_floppyData_KallakWriting, true); - } else if (_features & GF_TALKIE) { - _seq->playSequence(_seq_cdromData_KallakWriting, true); - } - _seq->freeHandShapes(); + _seq->playSequence(_seq_KallakWriting, true); } -void KyraEngine::seq_introKallakMalcom() { - debug(9, "KyraEngine::seq_introKallakMalcom()"); +void KyraEngine::seq_introKallakMalcolm() { + debug(9, "KyraEngine::seq_introKallakMalcolm()"); _screen->clearPage(3); - if (_features & GF_FLOPPY) { - _seq->playSequence(_seq_floppyData_KallakMalcom, true); - } else if (_features & GF_TALKIE) { - _seq->playSequence(_seq_cdromData_KallakMalcom, true); - } + _seq->playSequence(_seq_KallakMalcolm, true); } bool KyraEngine::seq_skipSequence() const { diff --git a/kyra/kyra.h b/kyra/kyra.h index bed2622ffa..120d6d8cf3 100644 --- a/kyra/kyra.h +++ b/kyra/kyra.h @@ -34,14 +34,16 @@ namespace Kyra { #define MAX_NUM_ROOMS 12 enum { - GF_FLOPPY = 1 << 0, - GF_TALKIE = 1 << 1, - GF_AUDIOCD = 1 << 2, // FM-Towns versions seems to use audio CD - GF_DEMO = 1 << 3, - GF_ENGLISH = 1 << 4, - GF_FRENCH = 1 << 5, - GF_GERMAN = 1 << 6 - + GF_FLOPPY = 1 << 0, + GF_TALKIE = 1 << 1, + GF_AUDIOCD = 1 << 2, // FM-Towns versions seems to use audio CD + GF_DEMO = 1 << 3, + GF_ENGLISH = 1 << 4, + GF_FRENCH = 1 << 5, + GF_GERMAN = 1 << 6, + GF_SPANISH = 1 << 7, + // other languages here + GF_LNGUNK = 1 << 16 }; enum { @@ -94,6 +96,7 @@ struct WSAMovieV1; class MusicPlayer; class SeqPlayer; class Resource; +class PAKFile; class Screen; class Sprites; @@ -126,18 +129,13 @@ public: typedef void (KyraEngine::*IntroProc)(); - // these tables are specific to the demo version - static const char *_seq_demo_WSATable[]; - static const char *_seq_demo_COLTable[]; - - // these tables are specific to the floppy version - static const char *_seq_WSATable[]; - static const char *_seq_CPSTable[]; - static const char *_seq_COLTable[]; - static const char *_seq_textsTableEN[]; + const char **seqWSATable() { return (const char **)_seq_WSATable; } + const char **seqCPSTable() { return (const char **)_seq_CPSTable; } + const char **seqCOLTable() { return (const char **)_seq_COLTable; } + const char **seqTextsTable() { return (const char **)_seq_textsTable; } bool seq_skipSequence() const; - + void loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *palData); void snd_playTheme(int file, int track = 0); @@ -176,9 +174,9 @@ protected: void seq_intro(); void seq_introLogos(); void seq_introStory(); - void seq_introMalcomTree(); + void seq_introMalcolmTree(); void seq_introKallakWriting(); - void seq_introKallakMalcom(); + void seq_introKallakMalcolm(); void wsa_processFrame(WSAMovieV1 *wsa, int frameNum, uint8 *dst); @@ -186,6 +184,16 @@ protected: void snd_haltTrack(); void snd_setSoundEffectFile(int file); void snd_playSoundEffect(int track); + + enum { + RES_ALL = 0, + RES_INTRO = (1 << 0) + }; + + void res_loadResources(int type = RES_ALL); + void res_unloadResources(int type = RES_ALL); + void res_loadLangTable(const char *filename, PAKFile *res, byte ***loadTo, int *size, bool nativ); + void res_loadTable(const byte *src, byte ***loadTo, int *size); void loadRoom(uint16 roomID); void drawRoom(); @@ -223,30 +231,27 @@ protected: static const Cursor _cursors[]; static const int _cursorsCount; - // these tables are specific to the demo version - static const uint8 _seq_demoData_WestwoodLogo[]; - static const uint8 _seq_demoData_KyrandiaLogo[]; - static const uint8 _seq_demoData_Demo1[]; - static const uint8 _seq_demoData_Demo2[]; - static const uint8 _seq_demoData_Demo3[]; - static const uint8 _seq_demoData_Demo4[]; - - // these tables are specific to the floppy version - static const uint8 _seq_floppyData_Forest[]; - static const uint8 _seq_floppyData_KallakWriting[]; - static const uint8 _seq_floppyData_KyrandiaLogo[]; - static const uint8 _seq_floppyData_KallakMalcom[]; - static const uint8 _seq_floppyData_MalcomTree[]; - static const uint8 _seq_floppyData_WestwoodLogo[]; + uint8 *_seq_Forest; + uint8 *_seq_KallakWriting; + uint8 *_seq_KyrandiaLogo; + uint8 *_seq_KallakMalcolm; + uint8 *_seq_MalcolmTree; + uint8 *_seq_WestwoodLogo; + uint8 *_seq_Demo1; + uint8 *_seq_Demo2; + uint8 *_seq_Demo3; + uint8 *_seq_Demo4; + + char **_seq_WSATable; + char **_seq_CPSTable; + char **_seq_COLTable; + char **_seq_textsTable; + + int _seq_WSATable_Size; + int _seq_CPSTable_Size; + int _seq_COLTable_Size; + int _seq_textsTable_Size; - // these tables are specific to the CD version - static const uint8 _seq_cdromData_KyrandiaLogo[]; - static const uint8 _seq_cdromData_WestwoodLogo[]; - static const uint8 _seq_cdromData_Forest[]; - static const uint8 _seq_cdromData_MalcomTree[]; - static const uint8 _seq_cdromData_KallakWriting[]; - static const uint8 _seq_cdromData_KallakMalcom[]; - static const char *_xmidiFiles[]; static const int _xmidiFilesCount; }; diff --git a/kyra/screen.cpp b/kyra/screen.cpp index cf524f9bb9..7af494c376 100644 --- a/kyra/screen.cpp +++ b/kyra/screen.cpp @@ -438,7 +438,7 @@ void Screen::printText(const char *str, int x, int y, uint8 color1, uint8 color2 } } -void Screen::drawChar(char c, int x, int y) { +void Screen::drawChar(uint8 c, int x, int y) { debug(9, "Screen::drawChar('%c', %d, %d)", c, x, y); Font *fnt = &_fonts[_currentFont]; uint8 *dst = getPagePtr(_curPage) + y * SCREEN_W + x; diff --git a/kyra/screen.h b/kyra/screen.h index 5cf42b30cc..f66f06604b 100644 --- a/kyra/screen.h +++ b/kyra/screen.h @@ -102,7 +102,7 @@ public: int getCharWidth(uint8 c) const; int getTextWidth(const char *str) const; void printText(const char *str, int x, int y, uint8 color1, uint8 color2); - void drawChar(char c, int x, int y); + void drawChar(uint8 c, int x, int y); void setScreenDim(int dim); void drawShapePlotPixelCallback1(uint8 *dst, uint8 color); void drawShape(uint8 pageNum, const uint8 *shapeData, int x, int y, int sd, int flags, int *flagsTable); diff --git a/kyra/seqplayer.cpp b/kyra/seqplayer.cpp index 3db654d4ef..c7528836ec 100755 --- a/kyra/seqplayer.cpp +++ b/kyra/seqplayer.cpp @@ -98,11 +98,7 @@ void SeqPlayer::s1_wsaOpen() { assert(wsaObj < ARRAYSIZE(_seqMovies)); uint8 offscreenDecode = *_seqData++; _seqWsaCurDecodePage = _seqMovies[wsaObj].page = (offscreenDecode == 0) ? 0 : 3; - if (_vm->features() & GF_DEMO) { - _seqMovies[wsaObj].wsa = _vm->wsa_open(KyraEngine::_seq_demo_WSATable[wsaObj], offscreenDecode, 0); - } else { - _seqMovies[wsaObj].wsa = _vm->wsa_open(KyraEngine::_seq_WSATable[wsaObj], offscreenDecode, 0); - } + _seqMovies[wsaObj].wsa = _vm->wsa_open(_vm->seqWSATable()[wsaObj], offscreenDecode, 0); _seqMovies[wsaObj].frame = 0; _seqMovies[wsaObj].numFrames = _vm->wsa_getNumFrames(_seqMovies[wsaObj].wsa) - 1; } @@ -212,18 +208,14 @@ void SeqPlayer::s1_loadPalette() { uint8 colNum = *_seqData++; uint32 fileSize; uint8 *srcData; - if (_vm->features() & GF_DEMO) { - srcData = _res->fileData(KyraEngine::_seq_demo_COLTable[colNum], &fileSize); - } else { - srcData = _res->fileData(KyraEngine::_seq_COLTable[colNum], &fileSize); - } + srcData = _res->fileData(_vm->seqCOLTable()[colNum], &fileSize); memcpy(_screen->_currentPalette, srcData, fileSize); delete[] srcData; } void SeqPlayer::s1_loadBitmap() { uint8 cpsNum = *_seqData++; - _vm->loadBitmap(KyraEngine::_seq_CPSTable[cpsNum], 3, 3, 0); + _vm->loadBitmap(_vm->seqCPSTable()[cpsNum], 3, 3, 0); } void SeqPlayer::s1_fadeToBlack() { @@ -236,14 +228,14 @@ void SeqPlayer::s1_printText() { _screen->fillRect(0, 180, 319, 195, 12); _screen->setTextColorMap(colorMap); if (!_seqDisplayTextFlag) { - const char *str = KyraEngine::_seq_textsTableEN[txt]; + const char *str = _vm->seqTextsTable()[txt]; int x = (Screen::SCREEN_W - _screen->getTextWidth(str)) / 2; _screen->printText(str, x, 180, 0xF, 0xC); } else { - _seqDisplayedTextTimer = _system->getMillis() + 1000 / 60; + _seqDisplayedTextTimer = _system->getMillis() + 1000 / ((_vm->features() & GF_FRENCH) ? 120 : 60); _seqDisplayedText = txt; _seqDisplayedChar = 0; - const char *str = KyraEngine::_seq_textsTableEN[_seqDisplayedText]; + const char *str = _vm->seqTextsTable()[_seqDisplayedText]; _seqDisplayedTextX = (Screen::SCREEN_W - _screen->getTextWidth(str)) / 2; } } @@ -269,7 +261,7 @@ void SeqPlayer::s1_printTalkText() { } else { b = 0; } - _vm->printTalkTextMessage(KyraEngine::_seq_textsTableEN[txt], x, y, fillColor, b, 2); + _vm->printTalkTextMessage(_vm->seqTextsTable()[txt], x, y, fillColor, b, 2); } void SeqPlayer::s1_restoreTalkText() { @@ -364,7 +356,9 @@ void SeqPlayer::s1_playEffect() { void SeqPlayer::s1_playTrack() { uint8 msg = *_seqData++; - if (_vm->features() & GF_FLOPPY || _vm->features() & GF_DEMO) { +/* + // we do not have audio cd support for now + if (_vm->features() & GF_AUDIOCD) { switch (msg) { case 0: // nothing to do here... @@ -385,7 +379,7 @@ void SeqPlayer::s1_playTrack() { warning("Unknown seq. message: %.02d", msg); break; } - } else if (_vm->features() & GF_TALKIE) { + } else {*/ if (msg == 0) { // nothing to do here... } else if (msg == 1) { @@ -393,7 +387,7 @@ void SeqPlayer::s1_playTrack() { } else { _vm->snd_playTrack(msg); } - } +// } } void SeqPlayer::s1_allocTempBuffer() { @@ -429,18 +423,8 @@ void SeqPlayer::s1_playVocFile() { } void SeqPlayer::s1_displayStory() { - _screen->clearPage(3); - _screen->clearPage(0); - if (_vm->features() & GF_ENGLISH) { - _vm->loadBitmap("TEXT_ENG.CPS", 3, 3, 0); - } else if (_vm->features() & GF_GERMAN) { - _vm->loadBitmap("TEXT_GER.CPS", 3, 3, 0); - } else if (_vm->features() & GF_FRENCH) { - _vm->loadBitmap("TEXT_FRE.CPS", 3, 3, 0); - } - _screen->copyRegion(0, 0, 0, 0, 320, 200, 3, 0); - _screen->updateScreen(); - _vm->waitTicks(360); + // nothing to do here since we handle it in + // KyraEngine::seq_introStory } void SeqPlayer::s1_prefetchVocFile() { @@ -449,6 +433,9 @@ void SeqPlayer::s1_prefetchVocFile() { } bool SeqPlayer::playSequence(const uint8 *seqData, bool skipSeq) { + debug(9, "SeqPlayer::seq_playSequence(0x%X, %d)", seqData, skipSeq); + assert(seqData); + static SeqEntry floppySeqProcs[] = { // 0x00 SEQOP(3, s1_wsaOpen), @@ -543,8 +530,6 @@ bool SeqPlayer::playSequence(const uint8 *seqData, bool skipSeq) { const SeqEntry* commands; int numCommands; - debug(9, "SeqPlayer::seq_playSequence(0x%X, %d)", seqData, skipSeq); - if (_vm->features() & GF_FLOPPY || _vm->features() & GF_DEMO) { commands = floppySeqProcs; numCommands = ARRAYSIZE(floppySeqProcs); @@ -594,15 +579,15 @@ bool SeqPlayer::playSequence(const uint8 *seqData, bool skipSeq) { if (_seqDisplayTextFlag && _seqDisplayedTextTimer != 0xFFFFFFFF) { if (_seqDisplayedTextTimer < _system->getMillis()) { char charStr[2]; - charStr[0] = KyraEngine::_seq_textsTableEN[_seqDisplayedText][_seqDisplayedChar]; + charStr[0] = _vm->seqTextsTable()[_seqDisplayedText][_seqDisplayedChar]; charStr[1] = '\0'; _screen->printText(charStr, _seqDisplayedTextX, 180, 0xF, 0xC); _seqDisplayedTextX += _screen->getCharWidth(charStr[0]); ++_seqDisplayedChar; - if (KyraEngine::_seq_textsTableEN[_seqDisplayedText][_seqDisplayedChar] == '\0') { + if (_vm->seqTextsTable()[_seqDisplayedText][_seqDisplayedChar] == '\0') { _seqDisplayedTextTimer = 0xFFFFFFFF; } else { - _seqDisplayedTextTimer = _system->getMillis() + 1000 / 60; + _seqDisplayedTextTimer = _system->getMillis() + 1000 / ((_vm->features() & GF_FRENCH) ? 120 : 60); } } } diff --git a/kyra/staticres.cpp b/kyra/staticres.cpp index 9fcded2a05..709c0b7054 100644 --- a/kyra/staticres.cpp +++ b/kyra/staticres.cpp @@ -22,9 +22,247 @@ #include "common/stdafx.h" #include "kyra/kyra.h" #include "kyra/screen.h" +#include "kyra/resource.h" namespace Kyra { +#define RESFILE_VERSION 1 + +#define GAME_FLAGS (GF_FLOPPY | GF_TALKIE | GF_DEMO | GF_AUDIOCD) +#define LANGUAGE_FLAGS (GF_ENGLISH | GF_FRENCH | GF_GERMAN | GF_SPANISH | GF_LNGUNK) + +byte *getFile(PAKFile &res, const char *filename) { + uint32 size = 0; + size = res.getFileSize(filename); + if (!size) + return 0; + const byte *src = res.getFile(filename); + byte *dst = new byte[size]; + memcpy(dst, src, size); + return dst; +} + +struct LanguageTypes { + uint32 flags; + const char *ext; +}; + +static LanguageTypes languages[] = { + { GF_ENGLISH, "ENG" }, // this is the default language + { GF_FRENCH, "FRE" }, + { GF_GERMAN, "GER" }, + { GF_SPANISH, "SPA" }, + { 0, 0 } +}; + +void KyraEngine::res_loadResources(int type) { + debug(9, "res_loadResources(%d)", type); + PAKFile resFile("KYRA.DAT"); + if (!resFile.isValid() || !resFile.isOpen()) { + error("couldn't open Kyrandia resource file ('KYRA.DAT') make sure you got one file for your version"); + } + + uint32 version = 0; + uint32 gameID = 0; + uint32 featuresValue = 0; + bool loadNativeLanguage = true; + + byte *temp = 0; + + if (_features & GF_TALKIE) { + temp = getFile(resFile, "INDEX.CD"); + } else if (_features & GF_DEMO) { + temp = getFile(resFile, "INDEX.DEM"); + } else { + temp = getFile(resFile, "INDEX"); + } + if (!temp) { + error("no matching INDEX file found"); + } + + version = READ_BE_UINT32(temp); + gameID = READ_BE_UINT32((temp+4)); + featuresValue = READ_BE_UINT32((temp+8)); + + delete [] temp; + temp = 0; + + if (version < RESFILE_VERSION) { + error("invalid resource file version (%d)", version); + } + if (gameID != _game) { + error("invalid game id (%d)", gameID); + } + if ((featuresValue & GAME_FLAGS) != (_features & GAME_FLAGS)) { + error("your data file has a different game flags (0x%.08X has the data and your version has 0x%.08X)", (featuresValue & GAME_FLAGS), (_features & GAME_FLAGS)); + } + + if (!((featuresValue & LANGUAGE_FLAGS) & (_features & LANGUAGE_FLAGS))) { + char buffer[240]; + sprintf(buffer, "your data file has support for:"); + if (featuresValue & GF_ENGLISH) { + sprintf(buffer + strlen(buffer), " English"); + } + if (featuresValue & GF_FRENCH) { + sprintf(buffer + strlen(buffer), " French"); + } + if (featuresValue & GF_GERMAN) { + sprintf(buffer + strlen(buffer), " German"); + } + if (featuresValue & GF_SPANISH) { + sprintf(buffer + strlen(buffer), " Spanish"); + } + sprintf(buffer + strlen(buffer), " but not your language ("); + if (_features & GF_ENGLISH) { + sprintf(buffer + strlen(buffer), "English"); + } else if (_features & GF_FRENCH) { + sprintf(buffer + strlen(buffer), "French"); + } else if (_features & GF_GERMAN) { + sprintf(buffer + strlen(buffer), "German"); + } else if (_features & GF_SPANISH) { + sprintf(buffer + strlen(buffer), "Spanish"); + } else { + sprintf(buffer + strlen(buffer), "unknown"); + } + sprintf(buffer + strlen(buffer), ")"); + warning(buffer); + loadNativeLanguage = false; + } + +#define loadRawFile(x, y, z) \ + if (_features & GF_TALKIE) { \ + temp = getFile(x, y ".CD"); \ + } else if (_features & GF_DEMO) { \ + temp = getFile(x, y ".DEM"); \ + } else { \ + temp = getFile(x, y); \ + } \ + if (temp) { \ + z = temp; \ + temp = 0; \ + } +#define loadTable(x, y, z, a) \ + if (_features & GF_TALKIE) { \ + temp = getFile(x, y ".CD"); \ + } else if (_features & GF_DEMO) { \ + temp = getFile(x, y ".DEM"); \ + } else { \ + temp = getFile(x, y); \ + } \ + if (temp) { \ + res_loadTable(temp, z, a); \ + delete [] temp; \ + temp = 0; \ + } + + if ((type & RES_INTRO) || type == RES_ALL) { + loadRawFile(resFile, "FOREST.SEQ", _seq_Forest); + loadRawFile(resFile, "KALLAK-WRITING.SEQ", _seq_KallakWriting); + loadRawFile(resFile, "KYRANDIA-LOGO.SEQ", _seq_KyrandiaLogo); + loadRawFile(resFile, "KALLAK-MALCOLM.SEQ", _seq_KallakMalcolm); + loadRawFile(resFile, "MALCOLM-TREE.SEQ", _seq_MalcolmTree); + loadRawFile(resFile, "WESTWOOD-LOGO.SEQ", _seq_WestwoodLogo); + loadRawFile(resFile, "DEMO1.SEQ", _seq_Demo1); + loadRawFile(resFile, "DEMO2.SEQ", _seq_Demo2); + loadRawFile(resFile, "DEMO3.SEQ", _seq_Demo3); + loadRawFile(resFile, "DEMO4.SEQ", _seq_Demo4); + + loadTable(resFile, "INTRO-CPS.TXT", (byte***)&_seq_CPSTable, &_seq_CPSTable_Size); + loadTable(resFile, "INTRO-COL.TXT", (byte***)&_seq_COLTable, &_seq_COLTable_Size); + loadTable(resFile, "INTRO-WSA.TXT", (byte***)&_seq_WSATable, &_seq_WSATable_Size); + + res_loadLangTable("INTRO-STRINGS.", &resFile, (byte***)&_seq_textsTable, &_seq_textsTable_Size, loadNativeLanguage); + } + +#undef loadTable +#undef loadRawFile +} + +void KyraEngine::res_unloadResources(int type) { + debug(9, "res_unloadResources(%d)", type); + if ((type & RES_INTRO) || type == RES_ALL) { + for (int i = 0; i < _seq_WSATable_Size; ++i) { + delete [] _seq_WSATable[i]; + } + delete [] _seq_WSATable; + _seq_WSATable_Size = 0; + _seq_WSATable = 0; + + for (int i = 0; i < _seq_CPSTable_Size; ++i) { + delete [] _seq_CPSTable[i]; + } + delete [] _seq_CPSTable; + _seq_CPSTable_Size = 0; + _seq_CPSTable = 0; + + for (int i = 0; i < _seq_COLTable_Size; ++i) { + delete [] _seq_COLTable[i]; + } + delete [] _seq_COLTable; + _seq_COLTable_Size = 0; + _seq_COLTable = 0; + + for (int i = 0; i < _seq_textsTable_Size; ++i) { + delete [] _seq_textsTable[i]; + } + delete [] _seq_textsTable; + _seq_textsTable_Size = 0; + _seq_textsTable = 0; + + delete [] _seq_Forest; _seq_Forest = 0; + delete [] _seq_KallakWriting; _seq_KallakWriting = 0; + delete [] _seq_KyrandiaLogo; _seq_KyrandiaLogo = 0; + delete [] _seq_KallakMalcolm; _seq_KallakMalcolm = 0; + delete [] _seq_MalcolmTree; _seq_MalcolmTree = 0; + delete [] _seq_WestwoodLogo; _seq_WestwoodLogo = 0; + delete [] _seq_Demo1; _seq_Demo1 = 0; + delete [] _seq_Demo2; _seq_Demo2 = 0; + delete [] _seq_Demo3; _seq_Demo3 = 0; + delete [] _seq_Demo4; _seq_Demo4 = 0; + } +} + +void KyraEngine::res_loadLangTable(const char *filename, PAKFile *res, byte ***loadTo, int *size, bool nativ) { + char file[36]; + for (int i = 0; languages[i].ext; ++i) { + if (languages[i].flags != (_features & LANGUAGE_FLAGS) && nativ) { + continue; + } + + strcpy(file, filename); + strcat(file, languages[i].ext); + if (_features & GF_TALKIE) { + strcat(file, ".CD"); + } else if (_features & GF_DEMO) { + strcat(file, ".DEM"); + } + byte *temp = getFile(*res, file); + if (temp) { + res_loadTable(temp, loadTo, size); + delete [] temp; + temp = 0; + } else { + if (!nativ) + continue; + } + break; + } +} + +void KyraEngine::res_loadTable(const byte *src, byte ***loadTo, int *size) { + uint32 count = READ_BE_UINT32(src); src += 4; + *size = count; + *loadTo = new byte*[count]; + + const char *curPos = (const char*)src; + for (uint32 i = 0; i < count; ++i) { + int strLen = strlen(curPos); + (*loadTo)[i] = new byte[strLen+1]; + memcpy((*loadTo)[i], curPos, strLen+1); + curPos += strLen+1; + } +} + const ScreenDim Screen::_screenDimTable[] = { { 0x00, 0x00, 0x28, 0xC8, 0x0F, 0x0C, 0x00, 0x00 }, { 0x08, 0x48, 0x18, 0x38, 0x0F, 0x0C, 0x00, 0x00 }, @@ -48,687 +286,6 @@ const Screen::DrawShapePlotPixelCallback Screen::_drawShapePlotPixelTable[] = { const int Screen::_drawShapePlotPixelCount = ARRAYSIZE(_drawShapePlotPixelTable); -const uint8 KyraEngine::_seq_floppyData_Forest[] = { - 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1A, 0x02, 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, - 0x98, 0x00, 0x38, 0x0A, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x00, 0x41, 0x00, - 0x18, 0x16, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, - 0x00, 0x03, 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, - 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, - 0x07, 0x02, 0x05, 0x00, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0A, 0x05, - 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x05, 0x0E, 0x00, 0x18, 0x16, 0x03, 0x07, 0x02, - 0x05, 0x01, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, - 0x03, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x01, - 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x04, 0x98, - 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, - 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x05, 0x98, 0x00, 0x38, 0x16, - 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, - 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x06, 0x98, 0x00, 0x38, 0x16, 0x02, 0x16, 0x03, - 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, - 0x00, 0x18, 0x25, 0x0A, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, - 0x0B, 0x00, 0x09, 0x00, 0x0A, 0x06, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x06, 0x0E, - 0x00, 0x18, 0x17, 0x0A, 0x01, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, - 0x0B, 0x01, 0x0D, 0x00, 0x18, 0x25, 0x0A, 0x07, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, - 0x07, 0x0E, 0x00, 0x18, 0x18, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, - 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, - 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, - 0x00, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x06, 0x12, 0x00, 0x18, - 0x25, 0x0A, 0x02, 0x03, 0x07, 0x03, 0x05, 0x16, 0x02, 0x16, 0x03, 0x06, 0x09, 0x00, 0x0B, 0x02, - 0x07, 0x00, 0x0A, 0x03, 0x03, 0x07, 0x16, 0x02, 0x06, 0x09, 0x00, 0x0B, 0x03, 0x0F, 0x00, 0x13, - 0x13, 0x01, 0x07, 0x01, 0x05, 0x1D -}; - -const uint8 KyraEngine::_seq_floppyData_KallakWriting[] = { - 0x00, 0x00, 0x01, 0x0E, 0x1A, 0x1B, 0x17, 0x00, 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, - 0x00, 0x19, 0x39, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, 0x00, 0x20, 0x09, 0x14, - 0x0F, 0x2E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, - 0x18, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, - 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, - 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, - 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, - 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, - 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, - 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, - 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, - 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, - 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x2F, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, - 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, - 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, - 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, - 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, - 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, - 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, - 0x18, 0x1D, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, - 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, - 0x05, 0x01, 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x63, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, - 0x1F, 0x07, 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x8D, 0x00, 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, - 0x1F, 0x07, 0x06, 0x00, 0x1C, 0x1B, 0x0F, 0x30, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x94, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, - 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, - 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x05, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, - 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, - 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, - 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x07, - 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, - 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, - 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, - 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x63, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, - 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x18, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x7C, 0x00, 0x16, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x82, 0x00, 0x17, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x88, 0x00, 0x19, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, - 0x1D, 0x07, 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x07, - 0x06, 0x00, 0x1C, 0x06, 0x3C, 0x00, 0x1B, 0x0F, 0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, - 0x00, 0x95, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, - 0x00, 0x20, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, - 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, - 0x07, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, - 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, - 0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, - 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x06, - 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x07, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, - 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, - 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, - 0x01, 0x7F, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, - 0x00, 0x14, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, - 0x00, 0x1B, 0x07, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, - 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, - 0x07, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x07, 0x06, - 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, - 0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x07, 0x06, 0x00, 0x02, - 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x07, 0x06, 0x00, 0x18, 0x1D, 0x02, - 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x07, 0x06, 0x00, 0x06, 0x3C, 0x00, - 0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x08, 0x12, 0x06, 0x1E, 0x00, 0x0A, 0x01, 0x02, 0x00, 0x1F, - 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, - 0x00, 0x21, 0x00, 0x00, 0x10, 0x07, 0x0A, 0x00, 0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x07, 0x0A, - 0x00, 0x0B, 0x01, 0x02, 0x00, 0x18, 0x1F, 0x06, 0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, - 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x24, 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x02, 0x00, - 0x25, 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x18, 0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x07, - 0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, 0x07, 0x14, 0x00, 0x18, 0x1E, 0x02, 0x00, 0x28, - 0x00, 0x00, 0x10, 0x08, 0x06, 0x3C, 0x00, 0x18, 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, - 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, - 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, - 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, - 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, - 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, - 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, - 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, - 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x18, 0x1E, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, - 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, - 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, - 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x13, 0x1C, 0x19, 0x01, 0x0E, - 0x06, 0x3C, 0x00, 0x13, 0x01, 0x00, 0x1D -}; - -const uint8 KyraEngine::_seq_floppyData_KyrandiaLogo[] = { - 0x15, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1A, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, - 0x06, 0x00, 0x18, 0x14, 0x16, 0x04, 0x0A, 0x00, 0x03, 0x06, 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00, - 0x06, 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, 0x06, 0x16, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x06, - 0x3C, 0x00, 0x18, 0x27, 0x0A, 0x02, 0x04, 0x06, 0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, 0x02, 0x06, - 0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x18, 0x14, 0x0A, 0x02, - 0x04, 0x06, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00, 0x13, 0x01, 0x06, 0x1D -}; - -const uint8 KyraEngine::_seq_floppyData_KallakMalcom[] = { - 0x00, 0x04, 0x01, 0x1A, 0x0E, 0x17, 0x00, 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x03, - 0x0D, 0x00, 0x17, 0x00, 0x00, 0x88, 0x3F, 0x01, 0xC7, 0x0C, 0x02, 0x19, 0x00, 0x02, 0x04, 0x00, - 0x10, 0x00, 0x3A, 0x09, 0x19, 0x00, 0x19, 0x3A, 0x14, 0x18, 0x23, 0x0A, 0x00, 0x03, 0x04, 0x07, - 0x07, 0x00, 0x0B, 0x00, 0x22, 0x00, 0x10, 0x02, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x01, 0x03, 0x04, - 0x07, 0x07, 0x00, 0x0B, 0x01, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x03, 0x50, 0x00, 0x3A, 0x05, - 0x0A, 0x02, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x02, 0x17, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x04, - 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x03, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x03, 0x0A, 0x00, 0x06, - 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, - 0x00, 0x10, 0x05, 0xF0, 0x00, 0x3A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, - 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x10, 0x06, - 0xF0, 0x00, 0x3A, 0x0F, 0x0A, 0x04, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x04, 0x12, 0x00, 0x06, - 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, - 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, 0x78, 0x00, 0x10, 0x07, 0xF0, 0x00, 0x3A, 0x0F, 0x0A, - 0x05, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x05, 0x11, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, - 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x08, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x06, 0x03, - 0x04, 0x07, 0x07, 0x00, 0x0B, 0x06, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, - 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x09, 0x50, 0x00, 0x3A, 0x05, - 0x0A, 0x07, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x07, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, - 0x07, 0x07, 0x00, 0x10, 0x0A, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x08, 0x03, 0x04, 0x07, 0x07, 0x00, - 0x0B, 0x08, 0x10, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x0B, 0xF0, 0x00, - 0x3A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, - 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, - 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, - 0x07, 0x00, 0x10, 0x0C, 0xF0, 0x00, 0x3A, 0x0F, 0x0A, 0x09, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, - 0x09, 0x0E, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, - 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x03, - 0x04, 0x07, 0x07, 0x00, 0x10, 0x0D, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x0A, 0x03, 0x04, 0x07, 0x07, - 0x00, 0x0B, 0x0A, 0x0E, 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x0B, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, - 0x0B, 0x02, 0x00, 0x18, 0x20, 0x0A, 0x0C, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0C, 0x06, 0x00, - 0x18, 0x21, 0x0A, 0x0D, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0D, 0x0C, 0x00, 0x18, 0x22, 0x0A, - 0x0E, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0E, 0x0B, 0x00, 0x10, 0x0E, 0x50, 0x00, 0x3A, 0x05, - 0x0A, 0x0F, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x0F, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, - 0x07, 0x07, 0x00, 0x10, 0x0F, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x10, 0x03, 0x04, 0x07, 0x07, 0x00, - 0x0B, 0x10, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x10, 0x50, 0x00, - 0x3A, 0x05, 0x0A, 0x11, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x11, 0x0F, 0x00, 0x06, 0x3C, 0x00, - 0x03, 0x04, 0x07, 0x07, 0x00, 0x10, 0x11, 0x50, 0x00, 0x3A, 0x05, 0x0A, 0x12, 0x03, 0x04, 0x07, - 0x07, 0x00, 0x0B, 0x12, 0x14, 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x13, 0x03, 0x04, 0x07, 0x07, 0x00, - 0x0B, 0x13, 0x06, 0x00, 0x18, 0x23, 0x0A, 0x13, 0x03, 0x04, 0x07, 0x07, 0x00, 0x0B, 0x13, 0x07, - 0x00, 0x11, 0x06, 0x3C, 0x00, 0x13, 0x19, 0x01, 0x0E, 0x13, 0x01, 0x04, 0x1D -}; - -const uint8 KyraEngine::_seq_floppyData_MalcomTree[] = { - 0x00, 0x01, 0x00, 0x1A, 0x0E, 0x17, 0x00, 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0C, 0x01, - 0x0D, 0x01, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, 0x10, 0x19, 0x38, 0x09, 0x18, 0x1E, 0x14, 0x18, - 0x1F, 0x0A, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x00, 0x1F, 0x00, 0x18, 0x19, 0x0A, 0x01, - 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x18, 0x26, 0x10, 0x1F, 0x50, 0x00, 0x2D, - 0x05, 0x0A, 0x02, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x02, 0x10, 0x00, 0x11, 0x18, 0x1F, 0x03, - 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x24, - 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, 0x0A, 0x03, 0x03, 0x01, 0x06, 0x06, 0x00, - 0x0B, 0x03, 0x15, 0x00, 0x10, 0x16, 0x50, 0x00, 0x2D, 0x05, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, - 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, - 0x06, 0x00, 0x18, 0x1F, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, - 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, 0x1E, 0x03, 0x01, 0x06, 0x06, 0x00, 0x18, - 0x1A, 0x18, 0x1E, 0x0A, 0x05, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x05, 0x09, 0x00, 0x11, 0x0A, - 0x06, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x06, 0x14, 0x00, 0x18, 0x1A, 0x18, 0x1F, 0x10, 0x17, - 0x50, 0x00, 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x0A, 0x07, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x07, - 0x06, 0x00, 0x18, 0x1E, 0x06, 0x1E, 0x00, 0x10, 0x18, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, 0x06, - 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x08, 0x04, 0x01, - 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, - 0x06, 0x00, 0x0B, 0x08, 0x01, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0A, 0x09, - 0x03, 0x01, 0x06, 0x06, 0x00, 0x0B, 0x09, 0x04, 0x00, 0x18, 0x1B, 0x0A, 0x0A, 0x03, 0x01, 0x06, - 0x06, 0x00, 0x0B, 0x0A, 0x09, 0x00, 0x06, 0x14, 0x00, 0x10, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, - 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x0B, 0x03, 0x01, 0x06, 0x06, 0x00, - 0x04, 0x01, 0x06, 0x06, 0x00, 0x04, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, - 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0B, 0x01, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x03, 0x01, 0x06, - 0x06, 0x00, 0x03, 0x01, 0x06, 0x06, 0x00, 0x10, 0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x0C, 0x03, - 0x01, 0x06, 0x06, 0x00, 0x0B, 0x0C, 0x12, 0x00, 0x03, 0x01, 0x01, 0x01, 0x11, 0x15, 0x00, 0x02, - 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x10, 0x10, 0x1C, 0x50, 0x00, 0x2D, 0x05, 0x06, - 0x3C, 0x00, 0x03, 0x02, 0x03, 0x02, 0x06, 0x06, 0x00, 0x11, 0x18, 0x1C, 0x0A, 0x0F, 0x03, 0x02, - 0x06, 0x06, 0x00, 0x0B, 0x0F, 0x0D, 0x00, 0x10, 0x1D, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x10, 0x03, - 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, - 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, 0x10, 0x02, - 0x00, 0x10, 0x1E, 0x50, 0x00, 0x2D, 0x05, 0x0A, 0x11, 0x03, 0x02, 0x06, 0x06, 0x00, 0x03, 0x02, - 0x06, 0x06, 0x00, 0x03, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x04, 0x02, 0x06, - 0x06, 0x00, 0x04, 0x02, 0x06, 0x06, 0x00, 0x0B, 0x11, 0x02, 0x00, 0x06, 0xB4, 0x00, 0x13, 0x19, - 0x01, 0x0E, 0x01, 0x01, 0x13, 0x01, 0x02, 0x1D -}; - -const uint8 KyraEngine::_seq_floppyData_WestwoodLogo[] = { - 0x00, 0x03, 0x01, 0x1A, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x06, - 0x3C, 0x00, 0x18, 0x14, 0x0A, 0x00, 0x03, 0x03, 0x16, 0x01, 0x0B, 0x00, 0x08, 0x00, 0x06, 0x3C, - 0x00, 0x18, 0x27, 0x0A, 0x01, 0x03, 0x03, 0x16, 0x01, 0x0B, 0x01, 0x0B, 0x00, 0x06, 0x78, 0x00, - 0x18, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x02, 0x04, - 0x03, 0x16, 0x01, 0x0B, 0x02, 0x09, 0x00, 0x13, 0x01, 0x03, 0x1D -}; - -const uint8 KyraEngine::_seq_cdromData_KyrandiaLogo[] = { - 0x18, 0x00, 0x02, 0x00, 0x06, 0x01, 0x1D, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x07, - 0x06, 0x00, 0x19, 0x04, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, - 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x0B, 0x00, 0x03, 0x06, - 0x19, 0x00, 0x0C, 0x00, 0x06, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, - 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x03, 0x06, - 0x19, 0x00, 0x03, 0x06, 0x19, 0x00, 0x1B, 0x27, 0x0B, 0x01, 0x03, 0x06, 0x19, 0x00, 0x0C, 0x01, - 0x07, 0x00, 0x06, 0xF0, 0x00, 0x1B, 0x27, 0x0B, 0x02, 0x04, 0x06, 0x19, 0x00, 0x0C, 0x02, 0x0F, - 0x00, 0x07, 0x78, 0x00, 0x07, 0xB4, 0x00, 0x24, 0x37, 0x24, 0x38, 0x24, 0x39, 0x24, 0x3A, 0x24, - 0x3B, 0x24, 0x3C, 0x02, 0x06, 0x0D, 0x00, 0x00, 0x00, 0x19, 0x00, 0x07, 0x06, 0x00, 0x07, 0x3C, - 0x00, 0x22, 0x1C, 0x1B, 0x14, 0x0B, 0x02, 0x04, 0x06, 0x19, 0x00, 0x0C, 0x02, 0x0C, 0x00, 0x07, - 0x78, 0x00, 0x16, 0x01, 0x06, 0x20 -}; - -const uint8 KyraEngine::_seq_cdromData_WestwoodLogo[] = { - 0x00, 0x03, 0x01, 0x1D, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x19, 0x01, 0x07, 0x06, 0x00, 0x07, - 0x3C, 0x00, 0x1B, 0x14, 0x0B, 0x00, 0x03, 0x03, 0x19, 0x01, 0x0C, 0x00, 0x08, 0x00, 0x07, 0x3C, - 0x00, 0x1B, 0x27, 0x0B, 0x01, 0x03, 0x03, 0x19, 0x01, 0x0C, 0x01, 0x0B, 0x00, 0x07, 0x78, 0x00, - 0x1B, 0x14, 0x02, 0x03, 0x0A, 0x00, 0x00, 0x00, 0x19, 0x01, 0x07, 0x06, 0x00, 0x0B, 0x02, 0x04, - 0x03, 0x19, 0x01, 0x0C, 0x02, 0x09, 0x00, 0x16, 0x01, 0x03, 0x20 -}; - -const uint8 KyraEngine::_seq_cdromData_Forest[] = { - 0x00, 0x05, 0x01, 0x00, 0x07, 0x01, 0x1D, 0x02, 0x07, 0x00, 0x00, 0x00, 0x08, 0x02, 0x05, 0x00, - 0x98, 0x00, 0x38, 0x0B, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x0C, 0x00, 0x0F, 0x00, - 0x22, 0x37, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, - 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, - 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x1B, 0x16, 0x03, 0x07, - 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, - 0x05, 0x03, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, - 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x00, - 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, - 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, - 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, - 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, - 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, - 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x22, 0x38, 0x0B, 0x09, 0x03, 0x07, 0x19, 0x02, 0x07, - 0x09, 0x00, 0x0C, 0x09, 0x21, 0x00, 0x1B, 0x16, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, - 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x03, 0x98, 0x00, 0x38, 0x19, - 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x01, 0x98, 0x00, 0x38, 0x19, 0x02, - 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x04, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, - 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x22, 0x39, 0x03, 0x07, 0x19, - 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x02, 0x05, 0x05, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, - 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, - 0x00, 0x03, 0x07, 0x02, 0x05, 0x06, 0x98, 0x00, 0x38, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, - 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x1B, 0x25, - 0x0B, 0x00, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x0C, 0x00, 0x09, - 0x00, 0x0B, 0x06, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x0C, 0x06, 0x0E, 0x00, 0x22, 0x3A, - 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, - 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x1B, 0x17, 0x0B, 0x01, - 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x0C, 0x01, 0x0D, 0x00, 0x1B, - 0x25, 0x0B, 0x07, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x0C, 0x07, 0x08, 0x00, 0x03, 0x07, - 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, - 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x1B, 0x18, 0x03, 0x07, 0x03, 0x05, - 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x22, 0x3B, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, - 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, - 0x07, 0x03, 0x05, 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x03, 0x07, 0x03, 0x05, 0x19, 0x02, - 0x19, 0x03, 0x07, 0x09, 0x00, 0x07, 0x12, 0x00, 0x1B, 0x25, 0x0B, 0x02, 0x03, 0x07, 0x03, 0x05, - 0x19, 0x02, 0x19, 0x03, 0x07, 0x09, 0x00, 0x0C, 0x02, 0x07, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, - 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, - 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x22, 0x3C, - 0x0B, 0x03, 0x03, 0x07, 0x19, 0x02, 0x07, 0x09, 0x00, 0x0C, 0x03, 0x23, 0x00, 0x16, 0x01, 0x07, - 0x01, 0x05, 0x20 -}; - -const uint8 KyraEngine::_seq_cdromData_MalcomTree[] = { - 0x23, 0x00, 0x01, 0x00, 0x1D, 0x11, 0x24, 0x1C, 0x24, 0x13, 0x24, 0x14, 0x24, 0x15, 0x24, 0x16, - 0x24, 0x17, 0x24, 0x19, 0x24, 0x1B, 0x1A, 0x00, 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0F, - 0x01, 0x10, 0x01, 0x0A, 0x02, 0x01, 0x00, 0x00, 0x00, 0x10, 0x1C, 0x03, 0x0A, 0x1B, 0x1E, 0x17, - 0x1B, 0x1F, 0x0B, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, 0x00, 0x1F, 0x00, 0x1B, 0x19, 0x0B, - 0x01, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, 0x01, 0x0D, 0x00, 0x22, 0x1C, 0x13, 0x1F, 0x50, 0x00, - 0x2D, 0x05, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0B, 0x02, 0x03, 0x01, - 0x07, 0x06, 0x00, 0x0C, 0x02, 0x10, 0x00, 0x14, 0x1B, 0x1F, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, - 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x1B, 0x24, 0x1B, 0x1F, 0x03, 0x01, 0x07, - 0x06, 0x00, 0x1B, 0x1E, 0x0B, 0x03, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, 0x03, 0x15, 0x00, 0x22, - 0x13, 0x13, 0x16, 0x50, 0x00, 0x2D, 0x05, 0x1B, 0x1F, 0x0B, 0x04, 0x03, 0x01, 0x07, 0x04, 0x00, - 0x0C, 0x04, 0x08, 0x00, 0x02, 0x01, 0x64, 0x00, 0x00, 0x10, 0x1B, 0x1A, 0x1B, 0x1E, 0x0B, 0x05, - 0x03, 0x01, 0x07, 0x04, 0x00, 0x0C, 0x05, 0x09, 0x00, 0x14, 0x06, 0x3C, 0x00, 0x13, 0x17, 0x50, - 0x00, 0x2D, 0x05, 0x0B, 0x06, 0x03, 0x01, 0x07, 0x04, 0x00, 0x0C, 0x06, 0x09, 0x00, 0x22, 0x14, - 0x07, 0x1E, 0x00, 0x0B, 0x06, 0x03, 0x01, 0x07, 0x04, 0x00, 0x0C, 0x06, 0x09, 0x00, 0x1B, 0x1A, - 0x1B, 0x1F, 0x0B, 0x07, 0x03, 0x01, 0x07, 0x04, 0x00, 0x0C, 0x07, 0x06, 0x00, 0x1B, 0x1E, 0x07, - 0x1E, 0x00, 0x22, 0x15, 0x13, 0x18, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, - 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0B, 0x08, 0x04, 0x01, 0x07, 0x06, 0x00, - 0x04, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0D, - 0x08, 0x01, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0B, 0x09, 0x03, 0x01, 0x07, - 0x06, 0x00, 0x0C, 0x09, 0x04, 0x00, 0x1B, 0x1B, 0x0B, 0x0A, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, - 0x0A, 0x09, 0x00, 0x06, 0x14, 0x00, 0x22, 0x16, 0x13, 0x19, 0x50, 0x00, 0x2D, 0x05, 0x03, 0x01, - 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x0B, 0x0B, 0x03, 0x01, 0x07, 0x06, 0x00, 0x04, - 0x01, 0x07, 0x06, 0x00, 0x04, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, - 0x07, 0x06, 0x00, 0x0C, 0x0B, 0x01, 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x03, 0x01, 0x07, 0x06, - 0x00, 0x03, 0x01, 0x07, 0x06, 0x00, 0x22, 0x17, 0x13, 0x1A, 0x50, 0x00, 0x2D, 0x05, 0x0B, 0x0C, - 0x03, 0x01, 0x07, 0x06, 0x00, 0x0C, 0x0C, 0x12, 0x00, 0x03, 0x01, 0x01, 0x01, 0x14, 0x18, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x10, 0x22, 0x19, 0x13, 0x1C, 0x50, 0x00, - 0x2D, 0x05, 0x06, 0x3C, 0x00, 0x03, 0x02, 0x03, 0x02, 0x07, 0x06, 0x00, 0x14, 0x1B, 0x1C, 0x0B, - 0x0F, 0x03, 0x02, 0x07, 0x06, 0x00, 0x0C, 0x0F, 0x0D, 0x00, 0x22, 0x1B, 0x13, 0x1D, 0x50, 0x00, - 0x2D, 0x05, 0x0B, 0x10, 0x03, 0x02, 0x07, 0x04, 0x00, 0x03, 0x02, 0x07, 0x04, 0x00, 0x03, 0x02, - 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, - 0x04, 0x00, 0x0D, 0x10, 0x02, 0x00, 0x13, 0x1E, 0x50, 0x00, 0x2D, 0x05, 0x0B, 0x11, 0x03, 0x02, - 0x07, 0x04, 0x00, 0x03, 0x02, 0x07, 0x04, 0x00, 0x03, 0x02, 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, - 0x04, 0x00, 0x04, 0x02, 0x07, 0x04, 0x00, 0x04, 0x02, 0x07, 0x04, 0x00, 0x0D, 0x11, 0x01, 0x00, - 0x03, 0x02, 0x07, 0x04, 0x00, 0x07, 0xB4, 0x00, 0x16, 0x1C, 0x01, 0x01, 0x01, 0x01, 0x02, 0x20 -}; - -const uint8 KyraEngine::_seq_cdromData_KallakWriting[] = { - 0x00, 0x00, 0x01, 0x11, 0x1D, 0x1A, 0x00, 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0F, 0x00, - 0x24, 0x2B, 0x24, 0x2C, 0x24, 0x2D, 0x24, 0x2E, 0x1C, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x95, 0x00, 0x20, 0x0A, 0x17, 0x22, 0x2B, 0x1E, 0x12, 0x2E, 0x02, 0x00, 0x01, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, - 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, - 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x8D, 0x00, 0x20, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, - 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, 0x85, 0x00, - 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, - 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, - 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0D, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x0E, 0x00, - 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, - 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, - 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, - 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, 0x1B, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, 0x02, 0x00, - 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, 0x17, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, - 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, 0x19, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, 0x1F, 0x22, - 0x2C, 0x1E, 0x12, 0x2F, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, 0x06, 0x00, - 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, - 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x05, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, - 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, - 0x88, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x85, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, - 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, - 0x1B, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, - 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, - 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x67, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, - 0x65, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, - 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, - 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x82, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, - 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, - 0x1F, 0x22, 0x2D, 0x1E, 0x12, 0x30, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, - 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, 0x08, - 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, - 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x03, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x8D, 0x00, 0x20, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x05, 0x00, 0x00, 0x10, - 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x10, 0x05, 0x02, - 0x88, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x07, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x85, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x10, 0x05, 0x00, 0x82, 0x00, - 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, 0x01, 0x7F, 0x00, 0x1B, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, 0x00, 0x14, 0x08, 0x06, 0x00, - 0x1B, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, 0x00, 0x1B, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, - 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, - 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0F, 0x00, - 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, - 0x67, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, - 0x65, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x13, 0x00, 0x00, 0x10, 0x05, 0x01, 0x63, 0x00, - 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x14, 0x00, 0x00, 0x10, 0x05, 0x00, 0x63, 0x00, 0x20, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x15, 0x00, 0x00, 0x10, 0x05, 0x00, 0x65, 0x00, 0x1F, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x16, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x1D, 0x08, 0x06, 0x00, 0x02, 0x00, - 0x17, 0x00, 0x00, 0x10, 0x05, 0x00, 0x70, 0x00, 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x18, 0x00, - 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, 0x19, 0x00, 0x00, 0x10, - 0x05, 0x00, 0x7C, 0x00, 0x16, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1A, 0x00, 0x00, 0x10, 0x05, 0x00, - 0x82, 0x00, 0x17, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x00, 0x10, 0x05, 0x00, 0x88, 0x00, - 0x19, 0x08, 0x06, 0x00, 0x02, 0x00, 0x1C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x1D, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x1D, 0x00, 0x00, 0x10, 0x05, 0x00, 0x93, 0x00, 0x1F, 0x08, 0x06, 0x00, - 0x1F, 0x07, 0x3C, 0x00, 0x22, 0x2E, 0x1E, 0x12, 0x31, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, - 0x00, 0x95, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x95, - 0x00, 0x20, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, - 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x01, 0x94, 0x00, 0x1B, - 0x08, 0x06, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, - 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x10, 0x05, 0x02, 0x93, 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, - 0x1D, 0x02, 0x00, 0x03, 0x00, 0x00, 0x10, 0x05, 0x01, 0x90, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, - 0x00, 0x04, 0x00, 0x00, 0x10, 0x05, 0x00, 0x8D, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x05, - 0x00, 0x00, 0x10, 0x05, 0x01, 0x8A, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x06, - 0x00, 0x00, 0x10, 0x05, 0x02, 0x88, 0x00, 0x14, 0x08, 0x06, 0x00, 0x02, 0x00, 0x07, 0x00, 0x00, - 0x10, 0x05, 0x01, 0x85, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x08, 0x00, 0x00, - 0x10, 0x05, 0x00, 0x82, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x10, 0x05, - 0x01, 0x7F, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x00, 0x10, 0x05, 0x02, 0x7C, - 0x00, 0x14, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x0B, 0x00, 0x00, 0x10, 0x05, 0x01, 0x79, - 0x00, 0x1B, 0x08, 0x06, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x00, 0x10, 0x05, 0x00, 0x76, 0x00, 0x20, - 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, 0x00, 0x0D, 0x00, 0x00, 0x10, 0x05, 0x01, 0x73, 0x00, 0x1B, - 0x08, 0x06, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x10, 0x05, 0x02, 0x70, 0x00, 0x14, 0x08, 0x06, - 0x00, 0x02, 0x00, 0x0F, 0x00, 0x00, 0x10, 0x05, 0x01, 0x6D, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, - 0x1D, 0x02, 0x00, 0x10, 0x00, 0x00, 0x10, 0x05, 0x00, 0x6A, 0x00, 0x20, 0x08, 0x06, 0x00, 0x02, - 0x00, 0x11, 0x00, 0x00, 0x10, 0x05, 0x01, 0x67, 0x00, 0x1B, 0x08, 0x06, 0x00, 0x1B, 0x1D, 0x02, - 0x00, 0x12, 0x00, 0x00, 0x10, 0x05, 0x02, 0x65, 0x00, 0x14, 0x08, 0x06, 0x00, 0x07, 0x3C, 0x00, - 0x02, 0x00, 0x1E, 0x00, 0x00, 0x10, 0x09, 0x15, 0x07, 0x1E, 0x00, 0x0B, 0x01, 0x02, 0x00, 0x1F, - 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, 0x02, - 0x00, 0x21, 0x00, 0x00, 0x10, 0x08, 0x0A, 0x00, 0x02, 0x00, 0x22, 0x00, 0x00, 0x10, 0x08, 0x0A, - 0x00, 0x0C, 0x01, 0x02, 0x00, 0x1B, 0x1F, 0x07, 0x0A, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x10, - 0x08, 0x14, 0x00, 0x1B, 0x1E, 0x02, 0x00, 0x24, 0x00, 0x00, 0x10, 0x08, 0x14, 0x00, 0x02, 0x00, - 0x25, 0x00, 0x00, 0x10, 0x08, 0x14, 0x00, 0x1B, 0x1F, 0x02, 0x00, 0x26, 0x00, 0x00, 0x10, 0x08, - 0x14, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00, 0x10, 0x08, 0x14, 0x00, 0x1B, 0x1E, 0x02, 0x00, 0x28, - 0x00, 0x00, 0x10, 0x09, 0x07, 0x3C, 0x00, 0x1B, 0x1E, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, - 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, - 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, - 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, - 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, - 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, 0x03, - 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, - 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, - 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x1B, 0x1E, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, - 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, - 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, - 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x03, 0x00, 0x08, 0x06, 0x00, 0x16, 0x1F, 0x1C, 0x01, 0x07, - 0x3C, 0x00, 0x01, 0x00, 0x20 -}; - -const uint8 KyraEngine::_seq_cdromData_KallakMalcom[] = { - 0x00, 0x04, 0x01, 0x1D, 0x24, 0x00, 0x24, 0x01, 0x24, 0x02, 0x24, 0x0B, 0x24, 0x0C, 0x11, 0x1A, - 0x00, 0x00, 0x00, 0x3F, 0x01, 0xC7, 0x0C, 0x00, 0x0F, 0x03, 0x10, 0x00, 0x1A, 0x00, 0x00, 0x88, - 0x3F, 0x01, 0xC7, 0x0C, 0x02, 0x1C, 0x00, 0x02, 0x04, 0x00, 0x10, 0x00, 0x3A, 0x0A, 0x1C, 0x00, - 0x1C, 0x05, 0x17, 0x1B, 0x23, 0x0B, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x00, 0x23, 0x00, - 0x22, 0x00, 0x13, 0x02, 0x50, 0x00, 0x3A, 0x05, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, - 0x07, 0x00, 0x0B, 0x01, 0x03, 0x04, 0x08, 0x0E, 0x00, 0x0C, 0x01, 0x04, 0x00, 0x06, 0x3C, 0x00, - 0x22, 0x01, 0x13, 0x03, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x02, 0x03, 0x04, 0x08, 0x06, 0x00, 0x0C, - 0x02, 0x18, 0x00, 0x06, 0x3C, 0x00, 0x22, 0x02, 0x13, 0x04, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x03, - 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x03, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x24, 0x04, 0x24, 0x05, - 0x24, 0x03, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x03, 0x13, 0x05, - 0xF0, 0x00, 0x3A, 0x0F, 0x03, 0x04, 0x08, 0x0A, 0x00, 0x03, 0x04, 0x08, 0x0A, 0x00, 0x03, 0x04, - 0x08, 0x0A, 0x00, 0x03, 0x04, 0x08, 0x0A, 0x00, 0x03, 0x04, 0x08, 0x0A, 0x00, 0x07, 0x1E, 0x00, - 0x22, 0x04, 0x13, 0x06, 0xF0, 0x00, 0x3A, 0x0F, 0x0B, 0x04, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, - 0x04, 0x12, 0x00, 0x07, 0x14, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, - 0x03, 0x04, 0x08, 0x07, 0x00, 0x06, 0x3C, 0x00, 0x22, 0x05, 0x13, 0x07, 0xF0, 0x00, 0x3A, 0x0F, - 0x0B, 0x05, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, 0x05, 0x12, 0x00, 0x06, 0x3C, 0x00, 0x24, 0x06, - 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x06, 0x13, 0x08, 0x50, 0x00, - 0x3A, 0x05, 0x0B, 0x06, 0x03, 0x04, 0x08, 0x08, 0x00, 0x0C, 0x06, 0x07, 0x00, 0x06, 0x3C, 0x00, - 0x24, 0x07, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x07, 0x13, 0x09, - 0x50, 0x00, 0x3A, 0x05, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0B, 0x07, 0x03, 0x04, 0x08, 0x07, 0x00, - 0x0C, 0x07, 0x0A, 0x00, 0x06, 0x3C, 0x00, 0x22, 0x08, 0x03, 0x04, 0x08, 0x07, 0x00, 0x13, 0x0A, - 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x08, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x08, 0x0F, 0x00, 0x06, - 0x3C, 0x00, 0x24, 0x0A, 0x22, 0x09, 0x13, 0x0B, 0xF0, 0x00, 0x3A, 0x0F, 0x03, 0x04, 0x08, 0x07, - 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, - 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, - 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x07, 0x3C, 0x00, 0x22, 0x0A, 0x03, 0x04, - 0x08, 0x07, 0x00, 0x13, 0x0C, 0xF0, 0x00, 0x3A, 0x0F, 0x0B, 0x09, 0x03, 0x04, 0x08, 0x05, 0x00, - 0x0C, 0x09, 0x0F, 0x00, 0x06, 0x3C, 0x00, 0x24, 0x0B, 0x24, 0x0C, 0x24, 0x0D, 0x03, 0x04, 0x08, - 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, - 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x0B, 0x13, 0x0D, 0x50, - 0x00, 0x3A, 0x05, 0x0B, 0x0A, 0x03, 0x04, 0x08, 0x08, 0x00, 0x0C, 0x0A, 0x0E, 0x00, 0x06, 0x3C, - 0x00, 0x0B, 0x0B, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x0B, 0x02, 0x00, 0x1B, 0x20, 0x0B, 0x0C, - 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x0C, 0x06, 0x00, 0x1B, 0x21, 0x0B, 0x0D, 0x03, 0x04, 0x08, - 0x07, 0x00, 0x0C, 0x0D, 0x0C, 0x00, 0x1B, 0x22, 0x0B, 0x0E, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, - 0x0E, 0x0B, 0x00, 0x22, 0x0C, 0x13, 0x0E, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x0F, 0x03, 0x04, 0x08, - 0x07, 0x00, 0x0C, 0x0F, 0x09, 0x00, 0x06, 0x3C, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x0D, - 0x13, 0x0F, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x10, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x10, 0x09, - 0x00, 0x06, 0x3C, 0x00, 0x24, 0x0E, 0x24, 0x0F, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x0E, 0x13, - 0x10, 0x50, 0x00, 0x3A, 0x05, 0x0B, 0x11, 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x11, 0x0F, 0x00, - 0x06, 0x3C, 0x00, 0x03, 0x04, 0x08, 0x07, 0x00, 0x22, 0x0F, 0x13, 0x11, 0x50, 0x00, 0x3A, 0x05, - 0x0B, 0x12, 0x03, 0x04, 0x08, 0x05, 0x00, 0x0C, 0x12, 0x14, 0x00, 0x07, 0x3C, 0x00, 0x0B, 0x13, - 0x03, 0x04, 0x08, 0x07, 0x00, 0x0C, 0x13, 0x06, 0x00, 0x1B, 0x23, 0x22, 0x1C, 0x0B, 0x13, 0x03, - 0x04, 0x08, 0x07, 0x00, 0x0C, 0x13, 0x06, 0x00, 0x02, 0x04, 0x45, 0x10, 0x00, 0x3A, 0x14, 0x07, - 0x78, 0x00, 0x16, 0x1C, 0x01, 0x01, 0x04, 0x20 -}; - -const uint8 KyraEngine::_seq_demoData_WestwoodLogo[] = { - 0x00, 0x02, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x06, 0x3C, - 0x00, 0x0A, 0x00, 0x03, 0x02, 0x16, 0x01, 0x0B, 0x00, 0x08, 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x01, - 0x03, 0x02, 0x16, 0x01, 0x0B, 0x01, 0x0B, 0x00, 0x06, 0x78, 0x00, 0x02, 0x02, 0x0A, 0x00, 0x00, - 0x00, 0x16, 0x01, 0x06, 0x06, 0x00, 0x0A, 0x02, 0x04, 0x02, 0x16, 0x01, 0x0B, 0x02, 0x09, 0x00, - 0x13, 0x01, 0x02, 0x1A -}; - -const uint8 KyraEngine::_seq_demoData_KyrandiaLogo[] = { - 0x15, 0x00, 0x02, 0x00, 0x05, 0x01, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x06, 0x06, - 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x00, 0x03, 0x05, 0x16, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x06, 0x3C, - 0x00, 0x0A, 0x01, 0x03, 0x05, 0x16, 0x00, 0x0B, 0x01, 0x0F, 0x00, 0x06, 0x3C, 0x00, 0x0A, 0x02, - 0x04, 0x05, 0x16, 0x00, 0x0B, 0x02, 0x0F, 0x00, 0x02, 0x05, 0x0D, 0x00, 0x00, 0x00, 0x16, 0x00, - 0x06, 0x06, 0x00, 0x06, 0x78, 0x00, 0x0A, 0x02, 0x04, 0x05, 0x16, 0x00, 0x0B, 0x02, 0x0C, 0x00, - 0x13, 0x01, 0x05, 0x1A -}; - -const uint8 KyraEngine::_seq_demoData_Demo1[] = { - 0x00, 0x01, 0x00, 0x0C, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x09, 0x14, 0x06, 0x01, 0x00, - 0x06, 0x3C, 0x00, 0x0A, 0x00, 0x03, 0x01, 0x06, 0x04, 0x00, 0x0B, 0x00, 0x19, 0x00, 0x06, 0x78, - 0x00, 0x13, 0x0E, 0x01, 0x01, 0x1A -}; - -const uint8 KyraEngine::_seq_demoData_Demo2[] = { - 0x00, 0x03, 0x00, 0x0C, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x09, 0x14, 0x06, 0x01, 0x00, - 0x06, 0x3C, 0x00, 0x0A, 0x00, 0x03, 0x03, 0x06, 0x04, 0x00, 0x0B, 0x00, 0x71, 0x00, 0x13, 0x0E, - 0x01, 0x03, 0x1A -}; - -const uint8 KyraEngine::_seq_demoData_Demo3[] = { - 0x00, 0x04, 0x00, 0x0C, 0x03, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x09, 0x14, 0x0A, 0x00, 0x03, - 0x04, 0x06, 0x07, 0x00, 0x03, 0x04, 0x06, 0x07, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, - 0x07, 0x00, 0x0B, 0x00, 0x0E, 0x00, 0x03, 0x04, 0x06, 0x07, 0x00, 0x03, 0x04, 0x06, 0x07, 0x00, - 0x0A, 0x01, 0x03, 0x04, 0x06, 0x07, 0x00, 0x0B, 0x01, 0x0B, 0x00, 0x0A, 0x02, 0x02, 0x04, 0x0F, - 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x03, 0x04, 0x06, 0x07, 0x00, 0x03, 0x04, 0x06, 0x07, 0x00, - 0x0B, 0x02, 0x13, 0x00, 0x13, 0x0E, 0x01, 0x04, 0x1A -}; - -const uint8 KyraEngine::_seq_demoData_Demo4[] = { - 0x00, 0x06, 0x00, 0x0C, 0x04, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x09, 0x14, 0x0A, 0x00, 0x03, - 0x06, 0x06, 0x04, 0x00, 0x0B, 0x00, 0x39, 0x00, 0x06, 0x5A, 0x00, 0x13, 0x0E, 0x01, 0x06, 0x1A -}; - -const char *KyraEngine::_seq_WSATable[] = { - "kallak.wsa", - "tree1.wsa", - "tree2.wsa", - "westwood.wsa", - "mal-kal.wsa", - "destruct.wsa", - "kyrandia.wsa", - "shore.wsa", - "reunion.wsa", - "reuniont.wsa", - "latern.wsa" -}; - -const char *KyraEngine::_seq_demo_WSATable[] = { - "kallak.wsa", - "demo1.wsa", - "westwood.wsa", - "demo2.wsa", - "demo3.wsa", - "kyrandia.wsa", - "demo4.wsa", -}; - -const char *KyraEngine::_seq_CPSTable[] = { - "gemcut.cps", - "tree.cps" -}; - -const char *KyraEngine::_seq_COLTable[] = { - "kallak.col", - "tree_exp.col", - "ww.col", - "mal-kal.col" -}; - -const char *KyraEngine::_seq_demo_COLTable[] = { - "kallak.col", - "demo1.col", - "demo2.col", - "demo3.col", - "demo4.col", - "ww.col", - "mal-kal.col" -}; - -const char *KyraEngine::_seq_textsTableEN[] = { - "This is a text test - 1", - "This is a text test - 2", - "Greetings, Kallak...", - "...Powerful leader of the Royal Mystics!", - "Did I frighten you?", - "Malcolm!", - "I heard yesterday of your escape.", - "And have expected you before now.", - "Why would I rush?", - "I rule this land!", - "Your puny curse restrains me naught.", - "So, slay me now!", - "I have little magic left.", - "I mean to harm you, have no doubt...", - "...Now you are stone...", - "...Yet I leave your eyes.", - "I shed no tears for Kyrandia...", - "...But cannot deny you yours.", - "Malcolm the Jester has broken free!", - "He now controls the Kyragem...", - "...source of all magic in Kyrandia!", - "", - "How dare you trip ME!", - "But no, something special for you...", - "A humorous hex!", - "But I shall give fair warning.", - "Don't jump on THAT tree!", - "Don't climb up THAT tree little squirrel!", - "Boo!", - "Tis funnier that way...", - "...Is it not?", - "Ha ha ha...", - "Aren't fingers wonderful?", - "It's great to be alive!", - "Brandon!", - "Grandfather! We did it!", - "No! YOU did it!", - "Long live King Brandon!", - "Long live the Royal Mystics!", - "Now, let's go put Kyrandia back together!", - "Good idea!", - "As my first Royal Proclamation...", - "I name sandals as the official footwear of Kyrandia!", - "Well done, Brandon!", - "The Land no longer weeps...", - "And your friends have been restored!", - "Dear Brynn...", - "Malcolm has broken free!", - "Soon he will come for me.", - "Please help Brandon...", - "" -}; - const char *KyraEngine::_xmidiFiles[] = { "INTRO.XMI", "KYRA1A.XMI", |