[Scummvm-cvs-logs] SF.net SVN: scummvm:[45906] scummvm/trunk

athrxx at users.sourceforge.net athrxx at users.sourceforge.net
Sat Nov 14 23:51:37 CET 2009


Revision: 45906
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45906&view=rev
Author:   athrxx
Date:     2009-11-14 22:51:35 +0000 (Sat, 14 Nov 2009)

Log Message:
-----------
KYRA: added kyra 1 pc98 static data to kyra.dat (intro forest sequence is still broken)

Modified Paths:
--------------
    scummvm/trunk/dists/engine-data/kyra.dat
    scummvm/trunk/engines/kyra/gui_lok.cpp
    scummvm/trunk/engines/kyra/kyra_lok.cpp
    scummvm/trunk/engines/kyra/kyra_lok.h
    scummvm/trunk/engines/kyra/resource.h
    scummvm/trunk/engines/kyra/seqplayer.cpp
    scummvm/trunk/engines/kyra/sequences_lok.cpp
    scummvm/trunk/engines/kyra/sound.h
    scummvm/trunk/engines/kyra/sound_intern.h
    scummvm/trunk/engines/kyra/sound_lok.cpp
    scummvm/trunk/engines/kyra/sound_towns.cpp
    scummvm/trunk/engines/kyra/staticres.cpp
    scummvm/trunk/tools/create_kyradat/create_kyradat.cpp
    scummvm/trunk/tools/create_kyradat/create_kyradat.h
    scummvm/trunk/tools/create_kyradat/games.cpp
    scummvm/trunk/tools/create_kyradat/tables.cpp

Modified: scummvm/trunk/dists/engine-data/kyra.dat
===================================================================
(Binary files differ)

Modified: scummvm/trunk/engines/kyra/gui_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lok.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/gui_lok.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -364,6 +364,7 @@
 	int offsetOptions = 0;
 	int offsetMainMenu = 0;
 	int offsetOn = 0;
+	int offsetPC98 = 0;
 
 	int walkspeedGarbageOffset = 36;
 	int menuLabelGarbageOffset = 0;
@@ -396,11 +397,14 @@
 		offsetOn = offsetMainMenu = offsetOptions = offset = 32;
 	} else if (_vm->gameFlags().lang == Common::DE_DEU) {
 		offset = offsetMainMenu = offsetOn = offsetOptions = 24;
-	} else if (_vm->gameFlags().platform == Common::kPlatformFMTowns || _vm->gameFlags().platform == Common::kPlatformPC98) {
+	} else if (_vm->gameFlags().platform == Common::kPlatformFMTowns) {
 		offset = 1;
 		offsetOptions = 10;
 		offsetOn = 0;
 		walkspeedGarbageOffset = 0;
+	} else if (_vm->gameFlags().platform == Common::kPlatformPC98) {
+		offsetMainMenu = offsetOptions = offsetOn = offset = 47;
+		offsetPC98 = 1;
 	}
 
 	assert(offset + (_vm->gameFlags().isTalkie ? 28 : 23) < _vm->_guiStringsSize);
@@ -421,17 +425,17 @@
 	_menu[0].item[4].itemString = _vm->_guiStrings[5];
 
 	// Cancel
-	_menu[2].item[5].itemString = _vm->_guiStrings[10];
+	_menu[2].item[5].itemString = _vm->_guiStrings[10 + offsetPC98];
 
 	// Enter a description of your saved game:
-	_menu[3].menuNameString = _vm->_guiStrings[11];
+	_menu[3].menuNameString = _vm->_guiStrings[11 + offsetPC98];
 	// Save
-	_menu[3].item[0].itemString = _vm->_guiStrings[12];
+	_menu[3].item[0].itemString = _vm->_guiStrings[12 + offsetPC98];
 	// Cancel
-	_menu[3].item[1].itemString = _vm->_guiStrings[10];
+	_menu[3].item[1].itemString = _vm->_guiStrings[10 + offsetPC98];
 
 	// Rest in peace, Brandon
-	_menu[4].menuNameString = _vm->_guiStrings[13];
+	_menu[4].menuNameString = _vm->_guiStrings[13 + offsetPC98];
 	// Load a game
 	_menu[4].item[0].itemString = _vm->_guiStrings[1];
 	// Quit playing
@@ -601,7 +605,7 @@
 	_screen->savePageToDisk("SEENPAGE.TMP", 0);
 
 	_menu[2].menuNameString = _vm->_guiStrings[8]; // Select a position to save to:
-	_specialSavegameString = _vm->_guiStrings[9]; // [ EMPTY SLOT ]
+	_specialSavegameString = _vm->_guiStrings[_vm->gameFlags().platform == Common::kPlatformPC98 ? 10: 9]; // [ EMPTY SLOT ]
 	for (int i = 0; i < 5; i++)
 		_menu[2].item[i].callback = BUTTON_FUNCTOR(GUI_LoK, this, &GUI_LoK::saveGame);
 
@@ -803,7 +807,7 @@
 int GUI_LoK::quitPlaying(Button *button) {
 	updateMenuButton(button);
 
-	if (quitConfirm(_vm->_guiStrings[14])) { // Are you sure you want to quit playing?
+	if (quitConfirm(_vm->_guiStrings[_vm->gameFlags().platform == Common::kPlatformPC98 ? 15 : 14])) { // Are you sure you want to quit playing?
 		_vm->quitGame();
 	} else {
 		initMenu(_menu[_toplevelMenu]);

Modified: scummvm/trunk/engines/kyra/kyra_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_lok.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/kyra_lok.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -196,7 +196,7 @@
 		error("Couldn't init sound");
 
 	if (_flags.platform == Common::kPlatformPC98)
-		_sound->loadSoundFile(_introSfxDataPC98, _introSfxDataPC98Size);
+		_sound->loadSoundFile("introsfx.98");
 	else
 		_sound->loadSoundFile(0);
 

Modified: scummvm/trunk/engines/kyra/kyra_lok.h
===================================================================
--- scummvm/trunk/engines/kyra/kyra_lok.h	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/kyra_lok.h	2009-11-14 22:51:35 UTC (rev 45906)
@@ -511,9 +511,6 @@
 	static const int8 _amigaTrackMap[];
 	static const int _amigaTrackMapSize;
 
-	static const uint8 _introSfxDataPC98[];
-	static const int _introSfxDataPC98Size;
-
 	// TODO: get rid of all variables having pointers to the static resources if possible
 	// i.e. let them directly use the _staticres functions
 	void initStaticResource();
@@ -535,11 +532,15 @@
 	const char * const *_seq_COLTable;
 	const char * const *_seq_textsTable;
 
+	const char * const *_storyStrings;
+
 	int _seq_WSATable_Size;
 	int _seq_CPSTable_Size;
 	int _seq_COLTable_Size;
 	int _seq_textsTable_Size;
 
+	int _storyStringsSize;
+
 	const char * const *_itemList;
 	const char * const *_takenList;
 	const char * const *_placedList;

Modified: scummvm/trunk/engines/kyra/resource.h
===================================================================
--- scummvm/trunk/engines/kyra/resource.h	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/resource.h	2009-11-14 22:51:35 UTC (rev 45906)
@@ -180,6 +180,9 @@
 	k1TownsSFXbtTable,
 	k1TownsCDATable,
 
+	k1PC98StoryStrings,
+	k1PC98IntroSfx,
+
 	k1AmigaIntroSFXTable,
 	k1AmigaGameSFXTable,
 

Modified: scummvm/trunk/engines/kyra/seqplayer.cpp
===================================================================
--- scummvm/trunk/engines/kyra/seqplayer.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/seqplayer.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -429,11 +429,14 @@
 void SeqPlayer::s1_playTrack() {
 	uint8 msg = *_seqData++;
 
-	if (msg == 1) {
+	if (msg == 0 && _vm->gameFlags().platform == Common::kPlatformPC98) {
+		_sound->haltTrack();
+
+	} else if (msg == 1) {
 		_sound->beginFadeOut();
 	} else {
 		_sound->haltTrack();
-		if (_vm->gameFlags().platform == Common::kPlatformFMTowns || _vm->gameFlags().platform == Common::kPlatformPC98)
+		if (_vm->gameFlags().platform == Common::kPlatformFMTowns)
 			msg += 2;
 		_sound->playTrack(msg);
 	}

Modified: scummvm/trunk/engines/kyra/sequences_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sequences_lok.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/sequences_lok.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -136,7 +136,7 @@
 		delay(90 * _tickLength);
 		_screen->fadeToBlack();
 		if (!_abortIntroFlag)
-			snd_playWanderScoreViaMap(57, 0);
+			snd_playWanderScoreViaMap(_flags.platform == Common::kPlatformFMTowns ? 57 : 2, 0);
 	}
 
 	_screen->clearPage(0);
@@ -264,20 +264,34 @@
 	_screen->copyPage(3, 0);
 
 	if (_flags.lang == Common::JA_JPN) {
-		const int x1 = (Screen::SCREEN_W - _screen->getTextWidth(_seq_textsTable[18])) / 2;
-		const int x2 = (Screen::SCREEN_W - _screen->getTextWidth(_seq_textsTable[19])) / 2;
 		const int y1 = 175;
-		const int y2 = 184;
+		int x1, x2, y2, col1;
+		const char *s1, *s2;
 
-		uint8 colorMap[] = { 0, 15, 12, 12 };
-		_screen->setTextColor(colorMap, 0, 3);
+		if (_flags.platform == Common::kPlatformFMTowns) {
+			s1 = _seq_textsTable[18];
+			s2 = _seq_textsTable[19];
+			x1 = (Screen::SCREEN_W - _screen->getTextWidth(s1)) / 2;
+			x2 = (Screen::SCREEN_W - _screen->getTextWidth(s2)) / 2;
+			uint8 colorMap[] = { 0, 15, 12, 12 };
+			_screen->setTextColor(colorMap, 0, 3);
+			y2 = 184;
+			col1 = 5;
 
-		_screen->printText(_seq_textsTable[18], x1, y1, 5, 8);
-		_screen->printText(_seq_textsTable[19], x2, y2, 5, 8);
+		} else {
+			s1 = _storyStrings[0];
+			s2 = _storyStrings[1];
+			x1 = x2 = 54;
+			y2 = 185;
+			col1 = 15;
+		}
+
+		_screen->printText(s1, x1, y1, col1, 8);
+		_screen->printText(s2, x2, y2, col1, 8);		
 	}
 
 	_screen->updateScreen();
-	//debugC(0, kDebugLevelMain, "skipFlag %i, %i", skipFlag(), _tickLength);
+	//debugC(0,, 0xkDebugLevelMain,, 0x"skipFlag, 0x%i,, 0x%i",, 0xskipFlag(),, 0x_tickLength);
 	delay(360 * _tickLength);
 }
 
@@ -1082,7 +1096,7 @@
 				if (i == 4)
 					snd_playSoundEffect(0x3E);
 				else if (i == 20)
-					snd_playSoundEffect(0x0E);
+					snd_playSoundEffect(_flags.platform == Common::kPlatformPC98 ? 0x13 : 0x0E);
 				nextTime = _system->getMillis() + 8 * _tickLength;
 				_finalA->displayFrame(i, 0, 8, 8, 0, 0, 0);
 				_screen->updateScreen();

Modified: scummvm/trunk/engines/kyra/sound.h
===================================================================
--- scummvm/trunk/engines/kyra/sound.h	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/sound.h	2009-11-14 22:51:35 UTC (rev 45906)
@@ -108,12 +108,6 @@
 	virtual void loadSoundFile(Common::String file) = 0;
 
 	/**
-	 * Load hard coded data for playing music
-	 * (and somtimes sound effects) from.
-	 */
-	virtual void loadSoundFile(const uint8 *data, int len) {}
-
-	/**
 	 * Load a sound file for playing sound
 	 * effects from.
 	 */
@@ -275,7 +269,6 @@
 	void loadSoundFile(uint file) { _music->loadSoundFile(file); _sfx->loadSoundFile(file); }
 	void loadSoundFile(Common::String file) { _music->loadSoundFile(file); _sfx->loadSoundFile(file); }
 	
-	void loadSoundFile(const uint8 *data, int len) { _sfx->loadSoundFile(data, len); }
 	void loadSfxFile(Common::String file) { _sfx->loadSoundFile(file); }
 
 	void playTrack(uint8 track) { _music->playTrack(track); }

Modified: scummvm/trunk/engines/kyra/sound_intern.h
===================================================================
--- scummvm/trunk/engines/kyra/sound_intern.h	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/sound_intern.h	2009-11-14 22:51:35 UTC (rev 45906)
@@ -172,7 +172,6 @@
 	void process() {}
 	void loadSoundFile(uint file) {}
 	void loadSoundFile(Common::String file);
-	void loadSoundFile(const uint8 *data, int len);
 
 	void playTrack(uint8 track);
 	void haltTrack();

Modified: scummvm/trunk/engines/kyra/sound_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sound_lok.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/sound_lok.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -36,7 +36,7 @@
 			track -= 16;
 	}
 
-	if ((_flags.platform == Common::kPlatformFMTowns || _flags.platform == Common::kPlatformPC98) && track == 49) {
+	if (_flags.platform == Common::kPlatformFMTowns && track == 49) {
 		snd_playWanderScoreViaMap(56, 1);
 		return;
 	}
@@ -64,7 +64,7 @@
 	} else if (_flags.platform == Common::kPlatformPC98) {
 		if (command == 1) {
 			_sound->beginFadeOut();
-		} else if (command >= 2) {
+		} else if (command >= 2 && command < 53 || command == 55) {
 			if (_lastMusicCommand != command)
 				_sound->playTrack(command);
 		} else {

Modified: scummvm/trunk/engines/kyra/sound_towns.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sound_towns.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/sound_towns.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -4054,12 +4054,6 @@
 	_sfxTrackData = _vm->resource()->fileData(file.c_str(), 0);
 }
 
-void SoundPC98::loadSoundFile(const uint8 *data, int len) {
-	delete[] _sfxTrackData;
-	_sfxTrackData = new uint8[len];
-	memcpy(_sfxTrackData, data, len);
-}
-
 void SoundPC98::playTrack(uint8 track) {
 	track += extraOffset();
 

Modified: scummvm/trunk/engines/kyra/staticres.cpp
===================================================================
--- scummvm/trunk/engines/kyra/staticres.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/engines/kyra/staticres.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -45,7 +45,7 @@
 
 namespace Kyra {
 
-#define RESFILE_VERSION 59
+#define RESFILE_VERSION 60
 
 namespace {
 bool checkKyraDat(Common::SeekableReadStream *file) {
@@ -325,6 +325,10 @@
 		{ k1TownsSFXbtTable, kRawData, "SFXBTTABLE" },
 		{ k1TownsCDATable, kRawData, "CDATABLE" },
 
+		// PC98 specific
+		{ k1PC98StoryStrings, kLanguageList, "INTROSTORY." },
+		{ k1PC98IntroSfx, kRawData, "INTROSFX" },
+
 		// CREDITS (used in FM-TOWNS and AMIGA)
 		{ k1CreditsStrings, kRawData, "CREDITS" },
 
@@ -1379,6 +1383,8 @@
 		filename += ".CD";
 	else if (_vm->gameFlags().isDemo)
 		filename += ".DEM";
+	else if (_vm->gameFlags().platform == Common::kPlatformPC98 && _vm->gameFlags().gameID == GI_KYRA1)
+		filename += ".98";
 	else if (_vm->gameFlags().platform == Common::kPlatformFMTowns || _vm->gameFlags().platform == Common::kPlatformPC98)
 		filename += ".TNS";
 	else if (_vm->gameFlags().platform == Common::kPlatformAmiga)
@@ -1455,6 +1461,8 @@
 	_guiStrings = _staticres->loadStrings(k1GUIStrings, _guiStringsSize);
 	_configStrings = _staticres->loadStrings(k1ConfigStrings, _configStringsSize);
 
+	_storyStrings = _staticres->loadStrings(k1PC98StoryStrings, _storyStringsSize);
+
 	_soundFiles = _staticres->loadStrings(k1AudioTracks, _soundFilesSize);
 	_soundFilesIntro = _staticres->loadStrings(k1AudioTracksIntro, _soundFilesIntroSize);
 	_cdaTrackTable = (const int32 *)_staticres->loadRawData(k1TownsCDATable, _cdaTrackTableSize);
@@ -1511,7 +1519,7 @@
 	} else if (_flags.platform == Common::kPlatformPC98) {
 		_soundData[0].fileList = tIntro98;
 		_soundData[0].fileListLen = 1;
-		_soundData[0].extraOffset = -56;
+		_soundData[0].extraOffset = -1;
 		_soundData[1].fileList = tIngame98;
 		_soundData[1].fileListLen = 1;
 		_soundData[1].extraOffset = -1;
@@ -2445,59 +2453,6 @@
 
 const int KyraEngine_LoK::_amigaTrackMapSize = ARRAYSIZE(KyraEngine_LoK::_amigaTrackMap);
 
-const uint8 KyraEngine_LoK::_introSfxDataPC98[] = {
-	0x56, 0x00, 0x43, 0x00, 0x7C, 0x00, 0x69, 0x00, 0xA2, 0x00, 0x8F, 0x00, 0x00, 0x00, 0xB5, 0x00,
-	0x00, 0x00, 0xE5, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x45, 0x01,
-	0x00, 0x00, 0x54, 0x01, 0x00, 0x00, 0x68, 0x01, 0x8D, 0x01, 0x7C, 0x01, 0xBD, 0x01, 0x9E, 0x01,
-	0xF0, 0x01, 0xDC, 0x01, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x2B, 0x02, 0x59, 0x02, 0x40, 0x02,
-	0xF1, 0x00, 0xFF, 0xF1, 0x09, 0x32, 0x81, 0x49, 0x81, 0x52, 0x81, 0x59, 0x81, 0xF7, 0x01, 0x03,
-	0xC7, 0x00, 0xFF, 0x42, 0x32, 0xFF, 0xF1, 0x05, 0x30, 0x81, 0x47, 0x81, 0x50, 0x81, 0x57, 0x81,
-	0xF7, 0x01, 0x03, 0xC7, 0x00, 0xFF, 0x41, 0x32, 0xFF, 0xF1, 0x0C, 0x32, 0x81, 0x49, 0x81, 0x52,
-	0x81, 0x59, 0x81, 0xF7, 0x01, 0x03, 0xC7, 0x00, 0xFF, 0x42, 0x32, 0xFF, 0xF1, 0x08, 0x30, 0x81,
-	0x47, 0x81, 0x50, 0x81, 0x57, 0x81, 0xF7, 0x01, 0x03, 0xC7, 0x00, 0xFF, 0x41, 0x32, 0xFF, 0xF1,
-	0x0F, 0x32, 0x81, 0x49, 0x81, 0x52, 0x81, 0x59, 0x81, 0xF7, 0x01, 0x03, 0xC7, 0x00, 0xFF, 0x42,
-	0x32, 0xFF, 0xF1, 0x0C, 0x30, 0x81, 0x47, 0x81, 0x50, 0x81, 0x57, 0x81, 0xF7, 0x01, 0x03, 0xC7,
-	0x00, 0xFF, 0x41, 0x32, 0xFF, 0xF1, 0x0A, 0x39, 0x01, 0x44, 0x01, 0x49, 0x01, 0xFC, 0xF6, 0x05,
-	0x05, 0xB7, 0x00, 0x39, 0x01, 0x44, 0x01, 0x49, 0x01, 0xF6, 0x02, 0x02, 0xC3, 0x00, 0xFB, 0xFB,
-	0xFB, 0xFB, 0x39, 0x01, 0x44, 0x01, 0x49, 0x01, 0xF6, 0x02, 0x02, 0xD2, 0x00, 0xFC, 0xFC, 0xF6,
-	0x05, 0x05, 0xC3, 0x00, 0xFF, 0xF1, 0x0F, 0x69, 0x81, 0x59, 0x81, 0x49, 0x01, 0x39, 0x81, 0x54,
-	0x01, 0xF6, 0x02, 0x02, 0xED, 0x00, 0x80, 0x04, 0xFB, 0xFB, 0xFB, 0xF6, 0x03, 0x03, 0xED, 0x00,
-	0xFF, 0xF1, 0x0C, 0x69, 0x81, 0x49, 0x81, 0x59, 0x81, 0x39, 0x01, 0x62, 0x81, 0x57, 0x01, 0x60,
-	0x01, 0xFC, 0xF6, 0x03, 0x03, 0x0B, 0x01, 0x62, 0x81, 0x57, 0x01, 0x60, 0x01, 0xFB, 0xF6, 0x03,
-	0x03, 0x17, 0x01, 0xFB, 0xFB, 0xFB, 0xF6, 0x05, 0x05, 0x0B, 0x01, 0xFF, 0xF1, 0x0F, 0xF4, 0x09,
-	0xF7, 0x01, 0x01, 0x54, 0x01, 0xC8, 0x27, 0x09, 0xF4, 0x42, 0x10, 0x08, 0xFB, 0xF6, 0x0E, 0x0E,
-	0x3A, 0x01, 0xF4, 0x80, 0xFF, 0xF1, 0x08, 0xF4, 0x41, 0x10, 0x01, 0xFC, 0xF6, 0x07, 0x07, 0x49,
-	0x01, 0xF4, 0x80, 0xFF, 0xF1, 0x0C, 0xF9, 0x0E, 0xFA, 0x12, 0x64, 0x04, 0x0B, 0x60, 0x03, 0x80,
-	0x03, 0x60, 0x03, 0x80, 0x03, 0x60, 0x12, 0xFF, 0xF1, 0x0C, 0xF9, 0x0E, 0xFA, 0x12, 0x18, 0x04,
-	0x0B, 0x70, 0x02, 0x80, 0x02, 0x72, 0x02, 0x80, 0x02, 0x73, 0x0B, 0xFF, 0xF1, 0x0E, 0xF3, 0x00,
-	0xF7, 0x01, 0x05, 0x39, 0xFF, 0xFF, 0x30, 0x30, 0xF1, 0x07, 0x3B, 0x0A, 0xFF, 0xF1, 0x0C, 0xF3,
-	0x0A, 0xF7, 0x01, 0x05, 0x39, 0xFF, 0xFF, 0x60, 0x30, 0xF1, 0x05, 0x6B, 0x0A, 0xFF, 0xF1, 0x0E,
-	0xF3, 0x00, 0xF7, 0x01, 0x05, 0x39, 0xFF, 0xFF, 0x30, 0x30, 0xF1, 0x0C, 0x69, 0x01, 0x75, 0x02,
-	0x72, 0x01, 0x64, 0x02, 0x70, 0x01, 0xFB, 0xF6, 0x0B, 0x0B, 0xAC, 0x01, 0xFF, 0xF1, 0x0C, 0xF3,
-	0x0A, 0xF7, 0x01, 0x05, 0x39, 0xFF, 0xFF, 0x60, 0x31, 0xF1, 0x0A, 0x69, 0x01, 0x75, 0x02, 0x72,
-	0x01, 0x64, 0x02, 0x70, 0x01, 0xFB, 0xF6, 0x09, 0x09, 0xCB, 0x01, 0xFF, 0xF1, 0x0F, 0xF3, 0x00,
-	0x24, 0x81, 0x29, 0x01, 0xF6, 0x08, 0x08, 0xE0, 0x01, 0xFB, 0xF6, 0x0E, 0x0E, 0xE0, 0x01, 0xFF,
-	0xF1, 0x0F, 0xF3, 0x0D, 0x24, 0x81, 0x22, 0x01, 0xF6, 0x08, 0x08, 0xF4, 0x01, 0xFB, 0xF6, 0x0E,
-	0x0E, 0xF4, 0x01, 0xFF, 0xF1, 0x0C, 0x29, 0x81, 0xFC, 0x24, 0x81, 0xFC, 0x29, 0x81, 0xFC, 0x34,
-	0x81, 0x35, 0x81, 0x36, 0x81, 0x35, 0x81, 0x34, 0x81, 0x33, 0x81, 0x32, 0x81, 0x33, 0x01, 0xF6,
-	0x02, 0x02, 0x0F, 0x02, 0xFB, 0xF6, 0x0E, 0x0E, 0x0F, 0x02, 0xFF, 0xF1, 0x0F, 0xF4, 0x0B, 0x29,
-	0x81, 0x27, 0x81, 0xF4, 0x43, 0x29, 0x02, 0xFB, 0xF6, 0x0E, 0x0E, 0x35, 0x02, 0xF4, 0x80, 0xFF,
-	0xF1, 0x0E, 0xF7, 0x01, 0x01, 0x09, 0x03, 0xFF, 0x44, 0x08, 0xF1, 0x0C, 0xF7, 0x01, 0x04, 0xC8,
-	0x00, 0xFF, 0x1B, 0x1E, 0xF1, 0x06, 0x1B, 0x1E, 0xFF, 0xF1, 0x0F, 0xF4, 0x4F, 0xF7, 0x01, 0x05,
-	0xC7, 0x00, 0xFF, 0x19, 0x04, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x0F, 0xFB, 0x10, 0x04,
-	0xFB, 0xF6, 0x07, 0x07, 0x6E, 0x02, 0xF1, 0x08, 0x10, 0x04, 0xFB, 0xF6, 0x07, 0x07, 0x78, 0x02,
-	0xF4, 0x80, 0xFF, 0xF1, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
-};
-
-const int KyraEngine_LoK::_introSfxDataPC98Size = ARRAYSIZE(KyraEngine_LoK::_introSfxDataPC98);
-
 // kyra engine v2 static data
 
 const int GUI_v2::_sliderBarsPosition[] = {

Modified: scummvm/trunk/tools/create_kyradat/create_kyradat.cpp
===================================================================
--- scummvm/trunk/tools/create_kyradat/create_kyradat.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/tools/create_kyradat/create_kyradat.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -37,7 +37,7 @@
 #include "md5.h"
 
 enum {
-	kKyraDatVersion = 59,
+	kKyraDatVersion = 60,
 	kIndexSize = 12
 };
 
@@ -157,6 +157,10 @@
 	{ kKyra1TownsSFXbtTable, kTypeRawData, "SFXBTTABLE" },
 	{ kKyra1TownsCDATable, kTypeRawData, "CDATABLE" },
 
+	// PC98 specific
+	{ kKyra1PC98StoryStrings, kTypeLanguageList, "INTROSTORY" },
+	{ kKyra1PC98IntroSfx, kTypeRawData, "INTROSFX" },
+
 	// AMIGA specific
 	{ kAmigaIntroSFXTable, kTypeAmigaSfxTable, "SFXINTRO" },
 	{ kAmigaGameSFXTable, kTypeAmigaSfxTable, "SFXGAME" },
@@ -344,7 +348,7 @@
 const PlatformExtension platformTable[] = {
 	{ kPlatformAmiga, "AMG" },
 	{ kPlatformFMTowns, "TNS" },
-	{ kPlatformPC98, "TNS" },		// HACK
+	{ kPlatformPC98, "98" },
 
 	{ -1, 0 }
 };

Modified: scummvm/trunk/tools/create_kyradat/create_kyradat.h
===================================================================
--- scummvm/trunk/tools/create_kyradat/create_kyradat.h	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/tools/create_kyradat/create_kyradat.h	2009-11-14 22:51:35 UTC (rev 45906)
@@ -147,6 +147,8 @@
 	kKyra1TownsSFXwdTable,
 	kKyra1TownsSFXbtTable,
 	kKyra1TownsCDATable,
+	kKyra1PC98StoryStrings,
+	kKyra1PC98IntroSfx,
 	kCreditsStrings,
 
 	kAmigaIntroSFXTable,

Modified: scummvm/trunk/tools/create_kyradat/games.cpp
===================================================================
--- scummvm/trunk/tools/create_kyradat/games.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/tools/create_kyradat/games.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -52,6 +52,9 @@
 	{ kKyra1, EN_ANY, kPlatformFMTowns, -1, "5a3ad60ccd0f2e29463e0368cd14a60d" },
 	{ kKyra1, JA_JPN, kPlatformFMTowns, -1, "5a3ad60ccd0f2e29463e0368cd14a60d" },
 
+	// PC-98
+	{ kKyra1, JA_JPN, kPlatformPC98, -1, "b9c06ac5177f5bf1f1acc0eea3937f6d" },
+
 	GAME_DUMMY_ENTRY
 };
 
@@ -424,6 +427,95 @@
 	-1
 };
 
+const int kyra1PC98Need[] = {
+	kKallakWritingSeq,
+	kMalcolmTreeSeq,
+	kWestwoodLogoSeq,
+	kKyrandiaLogoSeq,
+	kKallakMalcolmSeq,
+	kForestSeq,
+	kIntroCPSStrings,
+	kIntroCOLStrings,
+	kIntroWSAStrings,
+	kIntroStrings,
+	kRoomList,
+	kRoomFilenames,
+	kCharacterImageFilenames,
+	kDefaultShapes,
+	kItemNames,
+	kTakenStrings,
+	kPlacedStrings,
+	kDroppedStrings,
+	kNoDropStrings,
+	kAmuleteAnimSeq,
+	kPaletteList1,
+	kPaletteList2,
+	kPaletteList3,
+	kPaletteList4,
+	kPaletteList5,
+	kPaletteList6,
+	kPaletteList7,
+	kPaletteList8,
+	kPaletteList9,
+	kPaletteList10,
+	kPaletteList11,
+	kPaletteList12,
+	kPaletteList13,
+	kPaletteList14,
+	kPaletteList15,
+	kPaletteList16,
+	kPaletteList17,
+	kPaletteList18,
+	kPaletteList19,
+	kPaletteList20,
+	kPaletteList21,
+	kPaletteList22,
+	kPaletteList23,
+	kPaletteList24,
+	kPaletteList25,
+	kPaletteList26,
+	kPaletteList27,
+	kPaletteList28,
+	kPaletteList29,
+	kPaletteList30,
+	kPaletteList31,
+	kPaletteList32,
+	kPaletteList33,
+	kPutDownString,
+	kWaitAmuletString,
+	kBlackJewelString,
+	kHealingTipString,
+	kPoisonGoneString,
+	kHealing1Shapes,
+	kHealing2Shapes,
+	kThePoisonStrings,
+	kFluteStrings,
+	kPoisonDeathShapes,
+	kFluteShapes,
+	kWinter1Shapes,
+	kWinter2Shapes,
+	kWinter3Shapes,
+	kDrinkShapes,
+	kWispShapes,
+	kMagicAnimShapes,
+	kBranStoneShapes,
+	kWispJewelStrings,
+	kMagicJewelStrings,
+	kFlaskFullString,
+	kFullFlaskString,
+	kOutroReunionSeq,
+	kOutroHomeString,
+	kVeryCleverString,
+	kGUIStrings,
+	kNewGameString,
+	kConfigStrings,
+
+	kKyra1PC98StoryStrings,
+	kKyra1PC98IntroSfx,
+	kCreditsStrings,
+	-1
+};
+
 const int kyra1AmigaNeed[] = {
 	kKallakWritingSeq,
 	kMalcolmTreeSeq,
@@ -858,6 +950,8 @@
 
 	{ kKyra1, kPlatformFMTowns, -1, kyra1TownsNeed },
 
+	{ kKyra1, kPlatformPC98, -1, kyra1PC98Need },
+
 	{ kKyra1, kPlatformPC, kDemoVersion, kyra1DemoNeed },
 
 	{ kKyra1, kPlatformPC, kDemoCDVersion, kyra1DemoCDNeed },

Modified: scummvm/trunk/tools/create_kyradat/tables.cpp
===================================================================
--- scummvm/trunk/tools/create_kyradat/tables.cpp	2009-11-14 22:25:24 UTC (rev 45905)
+++ scummvm/trunk/tools/create_kyradat/tables.cpp	2009-11-14 22:51:35 UTC (rev 45906)
@@ -36,6 +36,8 @@
 	{ UNK_LANG, kPlatformAmiga, { 0x00000273, 0x00001D80, { { 0x18, 0x32, 0xB7, 0xFB, 0xD8, 0x1A, 0x6D, 0x83, 0x75, 0xF5, 0x2B, 0xF7, 0xC0, 0xFD, 0x85, 0xEF } } } },
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x00000196, 0x00001468, { { 0x06, 0x8D, 0xC1, 0x9B, 0xBC, 0x28, 0xE8, 0x36, 0x43, 0x67, 0x34, 0xAA, 0x78, 0xB9, 0xCB, 0x72 } } } },
+	
+	{ UNK_LANG, kPlatformPC98, { 0x0000013B, 0x0000128A, { { 0xD8, 0xB1, 0xFF, 0x57, 0xC9, 0x5D, 0xE1, 0x23, 0xA5, 0xA0, 0x4B, 0x0F, 0x28, 0xAC, 0x56, 0x83 } } } },
 
 	EXTRACT_END_ENTRY
 };
@@ -48,6 +50,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x000007F7, 0x00006E23, { { 0x97, 0x8C, 0x63, 0x8D, 0x91, 0x68, 0xA5, 0x63, 0x55, 0x43, 0xE7, 0xE0, 0x12, 0xF9, 0x80, 0xA4 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x000007F3, 0x00006D9E, { { 0x3E, 0x83, 0xA4, 0xBF, 0x43, 0xAC, 0xDD, 0x41, 0x33, 0xC3, 0x33, 0x4E, 0xAE, 0x08, 0xB6, 0xDA } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -67,6 +71,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x0000026D, 0x00002188, { { 0x7E, 0x3B, 0x06, 0x69, 0x11, 0x59, 0xBE, 0x42, 0xCB, 0x33, 0x9C, 0x15, 0xCF, 0x61, 0xF6, 0xB0 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x0000026C, 0x00002145, { { 0x95, 0xB7, 0x9E, 0x63, 0x99, 0xFA, 0x22, 0xBF, 0x62, 0x37, 0xC2, 0x2B, 0x40, 0x73, 0x53, 0x83 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -78,6 +84,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x00000218, 0x00001551, { { 0x30, 0x42, 0xD3, 0x7D, 0x6B, 0x43, 0x3B, 0xC7, 0x63, 0x56, 0x7D, 0x12, 0xE0, 0x53, 0x41, 0x48 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x00000217, 0x0000150E, { { 0x41, 0xFC, 0xD3, 0xAC, 0x8D, 0x1C, 0x11, 0x4E, 0xE0, 0x0C, 0xF6, 0x93, 0xA9, 0x22, 0x53, 0x7F } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -129,6 +137,8 @@
 	{ UNK_LANG, kPlatformAmiga, { 0x0000054A, 0x0000785F, { { 0x55, 0xEA, 0xB8, 0x7F, 0x3A, 0x86, 0xCD, 0xA6, 0xBC, 0xA7, 0x9A, 0x39, 0xED, 0xF5, 0x30, 0x0A } } } },
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x00000547, 0x00007876, { { 0x7A, 0xC7, 0x80, 0x34, 0x7A, 0x1B, 0xAB, 0xF8, 0xA7, 0x2F, 0x63, 0x3C, 0xDA, 0x89, 0x3F, 0x82 } } } },
+	
+	{ UNK_LANG, kPlatformPC98, { 0x00000548, 0x00007889, { { 0x17, 0xE9, 0x40, 0xBA, 0x4A, 0xBD, 0xC6, 0x62, 0x56, 0x96, 0xD6, 0x1B, 0x11, 0xF3, 0xD8, 0x14 } } } },
 
 	EXTRACT_END_ENTRY
 };
@@ -142,6 +152,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x00000015, 0x0000071D, { { 0x59, 0x65, 0x08, 0xF9, 0x4C, 0x81, 0xA1, 0xE3, 0x68, 0xF7, 0xE3, 0xF6, 0x33, 0x5F, 0xF5, 0x36 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x00000015, 0x0000071D, { { 0x59, 0x65, 0x08, 0xF9, 0x4C, 0x81, 0xA1, 0xE3, 0x68, 0xF7, 0xE3, 0xF6, 0x33, 0x5F, 0xF5, 0x36 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -153,6 +165,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x00000030, 0x00000F09, { { 0x05, 0x7B, 0x69, 0xB7, 0x6A, 0xC3, 0x7F, 0xD9, 0x7E, 0x51, 0x87, 0xA5, 0x31, 0xD8, 0x80, 0xB3 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x00000030, 0x00000F09, { { 0x05, 0x7B, 0x69, 0xB7, 0x6A, 0xC3, 0x7F, 0xD9, 0x7E, 0x51, 0x87, 0xA5, 0x31, 0xD8, 0x80, 0xB3 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -164,6 +178,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x00000093, 0x00002E5D, { { 0xAB, 0xD1, 0x32, 0x89, 0x2A, 0x8D, 0xC0, 0x2C, 0x87, 0x87, 0xA3, 0x14, 0x2A, 0x2A, 0x22, 0x7F } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x00000093, 0x00002E5D, { { 0xAB, 0xD1, 0x32, 0x89, 0x2A, 0x8D, 0xC0, 0x2C, 0x87, 0x87, 0xA3, 0x14, 0x2A, 0x2A, 0x22, 0x7F } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -189,6 +205,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x00000545, 0x0001A84C, { { 0xEF, 0xE2, 0xE4, 0x92, 0xE1, 0x18, 0xF8, 0x3C, 0x91, 0x29, 0x4D, 0x82, 0xA4, 0x3E, 0xE6, 0x7D } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x000005FB, 0x0003163E, { { 0x16, 0x28, 0x83, 0xCE, 0x29, 0x94, 0x9F, 0x82, 0xDC, 0xD4, 0x06, 0xE8, 0x67, 0xC9, 0x56, 0x29 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x000005D0, 0x00032AD7, { { 0xEE, 0x36, 0x93, 0xDD, 0x71, 0x02, 0xE9, 0x0D, 0x54, 0xDE, 0xB6, 0xE1, 0x09, 0x59, 0x60, 0x64 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -205,6 +223,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x00000007, 0x000003E8, { { 0x68, 0x35, 0x87, 0x53, 0xD9, 0x53, 0x1F, 0x13, 0x24, 0x61, 0x0D, 0x8D, 0x33, 0x91, 0xF3, 0x47 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000007, 0x000003E8, { { 0x68, 0x35, 0x87, 0x53, 0xD9, 0x53, 0x1F, 0x13, 0x24, 0x61, 0x0D, 0x8D, 0x33, 0x91, 0xF3, 0x47 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -215,6 +235,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x0000034C, 0x0000B7AA, { { 0x7C, 0x1B, 0x89, 0x09, 0xF0, 0x87, 0x3C, 0x64, 0x3D, 0x0E, 0x61, 0xCC, 0x09, 0x8D, 0xC9, 0x95 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x0000034C, 0x0000B7AA, { { 0x7C, 0x1B, 0x89, 0x09, 0xF0, 0x87, 0x3C, 0x64, 0x3D, 0x0E, 0x61, 0xCC, 0x09, 0x8D, 0xC9, 0x95 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -225,6 +247,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x000064E8, 0x0010312B, { { 0x94, 0x5C, 0x87, 0x35, 0x35, 0x6B, 0x3E, 0xBF, 0x55, 0x3D, 0xDB, 0xD9, 0xFB, 0x97, 0x27, 0x5D } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x000064E8, 0x0010312B, { { 0x94, 0x5C, 0x87, 0x35, 0x35, 0x6B, 0x3E, 0xBF, 0x55, 0x3D, 0xDB, 0xD9, 0xFB, 0x97, 0x27, 0x5D } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -235,6 +259,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x000000F7, 0x00003A8F, { { 0x1F, 0xAB, 0x8E, 0x5F, 0xAD, 0x76, 0x57, 0x37, 0xD7, 0x9B, 0x3F, 0x35, 0x4B, 0xA0, 0x98, 0x37 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x000000F7, 0x00003A8F, { { 0x1F, 0xAB, 0x8E, 0x5F, 0xAD, 0x76, 0x57, 0x37, 0xD7, 0x9B, 0x3F, 0x35, 0x4B, 0xA0, 0x98, 0x37 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -243,6 +269,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x0000005D, 0x0000154E, { { 0xA7, 0x7E, 0x03, 0x0A, 0x81, 0x54, 0xD2, 0x5D, 0x7B, 0x33, 0x07, 0xBF, 0x70, 0x01, 0x4B, 0x79 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x0000005D, 0x0000154E, { { 0xA7, 0x7E, 0x03, 0x0A, 0x81, 0x54, 0xD2, 0x5D, 0x7B, 0x33, 0x07, 0xBF, 0x70, 0x01, 0x4B, 0x79 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -271,6 +299,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x00000505, 0x00018B13, { { 0x62, 0x76, 0x84, 0x5D, 0x8D, 0xBA, 0x23, 0xC5, 0x67, 0x26, 0x22, 0xBD, 0xBE, 0x81, 0x2D, 0xFF } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x00000587, 0x000247A1, { { 0xE8, 0xCA, 0x1E, 0x34, 0x05, 0xE5, 0x08, 0xCA, 0xA7, 0xFE, 0x55, 0xCB, 0x75, 0xD0, 0xA7, 0x19 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x000004CF, 0x000247A1, { { 0xBE, 0x80, 0x3F, 0x10, 0xF7, 0x3A, 0x85, 0xD1, 0xE8, 0x24, 0xE6, 0x4E, 0x8F, 0x17, 0xC9, 0x2E } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -293,6 +323,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x0000001C, 0x00000AED, { { 0x32, 0xD2, 0x87, 0x67, 0x3D, 0x01, 0x50, 0xF3, 0xFA, 0x19, 0x7A, 0xB0, 0xF8, 0x6F, 0x8A, 0x07 } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x0000001F, 0x00000EB7, { { 0x7F, 0x8C, 0xFF, 0x35, 0x30, 0x71, 0x9A, 0x78, 0xCC, 0x07, 0x11, 0x86, 0xE3, 0x0D, 0x16, 0xDF } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000016, 0x00000C56, { { 0x97, 0xF0, 0x57, 0xCC, 0x03, 0x06, 0x41, 0xDC, 0xFC, 0xD5, 0xA2, 0x35, 0x0C, 0x71, 0x37, 0xCC } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -310,6 +342,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x0000000D, 0x0000074C, { { 0x0E, 0x1C, 0x1F, 0xD2, 0xCF, 0xBF, 0x40, 0xE1, 0x59, 0x0F, 0x1B, 0x46, 0xED, 0x8B, 0x96, 0x8E } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x0000000D, 0x0000074C, { { 0x0E, 0x1C, 0x1F, 0xD2, 0xCF, 0xBF, 0x40, 0xE1, 0x59, 0x0F, 0x1B, 0x46, 0xED, 0x8B, 0x96, 0x8E } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -327,6 +361,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x0000000B, 0x0000059F, { { 0xDD, 0x5E, 0x51, 0x7E, 0xD9, 0xFC, 0xCD, 0xAD, 0x6B, 0x93, 0x71, 0xBE, 0x83, 0x63, 0x3F, 0x88 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x0000000B, 0x0000059F, { { 0xDD, 0x5E, 0x51, 0x7E, 0xD9, 0xFC, 0xCD, 0xAD, 0x6B, 0x93, 0x71, 0xBE, 0x83, 0x63, 0x3F, 0x88 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -348,6 +384,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x0000007A, 0x0000323C, { { 0x00, 0x7F, 0x8E, 0x2E, 0x7B, 0xFC, 0x06, 0x0B, 0x7A, 0x7F, 0x17, 0xAF, 0x47, 0x82, 0xC1, 0x16 } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x00000061, 0x00002E9C, { { 0x8A, 0xFA, 0x43, 0x26, 0x68, 0x6D, 0x5A, 0x59, 0x0C, 0x9E, 0xCB, 0x28, 0x43, 0x33, 0x54, 0x49 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000042, 0x000025C2, { { 0x6F, 0x34, 0x59, 0x17, 0x22, 0xCE, 0x1A, 0x82, 0x18, 0xE3, 0x9F, 0x86, 0x84, 0xF1, 0x8E, 0x0C } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -365,6 +403,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x00000029, 0x0000187D, { { 0xDE, 0xEE, 0x66, 0x88, 0x57, 0xF5, 0xF9, 0x2E, 0xD2, 0x14, 0xF5, 0x83, 0xA0, 0x0D, 0x96, 0x86 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000029, 0x0000187D, { { 0xDE, 0xEE, 0x66, 0x88, 0x57, 0xF5, 0xF9, 0x2E, 0xD2, 0x14, 0xF5, 0x83, 0xA0, 0x0D, 0x96, 0x86 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -384,6 +424,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x00000029, 0x000017A7, { { 0xFD, 0xA3, 0xAD, 0x24, 0x16, 0x49, 0x22, 0x6F, 0x52, 0xE9, 0x50, 0x11, 0x51, 0x38, 0xCA, 0xE0 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000029, 0x000017A7, { { 0xFD, 0xA3, 0xAD, 0x24, 0x16, 0x49, 0x22, 0x6F, 0x52, 0xE9, 0x50, 0x11, 0x51, 0x38, 0xCA, 0xE0 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -403,6 +445,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x00000035, 0x0000205F, { { 0x33, 0xD6, 0x19, 0xEE, 0xEA, 0xDD, 0x9F, 0xB5, 0x77, 0x0C, 0x8E, 0x84, 0x5E, 0x61, 0x22, 0x3E } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000035, 0x0000205F, { { 0x33, 0xD6, 0x19, 0xEE, 0xEA, 0xDD, 0x9F, 0xB5, 0x77, 0x0C, 0x8E, 0x84, 0x5E, 0x61, 0x22, 0x3E } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -425,6 +469,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x0000003C, 0x000013B4, { { 0xE9, 0x54, 0xF1, 0xEC, 0x64, 0x5A, 0xEB, 0xC7, 0xAA, 0x7E, 0xA2, 0x9F, 0xE8, 0xFB, 0x3A, 0x82 } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x0000003D, 0x000017D1, { { 0x7C, 0x93, 0x62, 0x32, 0x47, 0xB9, 0x78, 0x03, 0x86, 0x8D, 0x99, 0xB8, 0x86, 0x68, 0xEF, 0x3A } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000016, 0x00000B60, { { 0xFF, 0x8C, 0xC0, 0x1B, 0x2C, 0x0C, 0x23, 0x89, 0x93, 0x79, 0xC5, 0xCD, 0xAC, 0xF9, 0xEA, 0xA7 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -444,6 +490,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x0000002B, 0x00001949, { { 0xC7, 0xE3, 0x0A, 0x6B, 0x8F, 0xCA, 0xBC, 0x3A, 0xDC, 0x76, 0x48, 0xD3, 0x8B, 0xD9, 0x44, 0x2E } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x0000002B, 0x00001949, { { 0xC7, 0xE3, 0x0A, 0x6B, 0x8F, 0xCA, 0xBC, 0x3A, 0xDC, 0x76, 0x48, 0xD3, 0x8B, 0xD9, 0x44, 0x2E } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -468,6 +516,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x00000075, 0x00002B94, { { 0xA5, 0x4C, 0xBF, 0x5F, 0xD3, 0xF8, 0x6D, 0xE4, 0xB4, 0x8E, 0x64, 0x84, 0xD9, 0xBA, 0x2B, 0x33 } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x00000067, 0x00002C6B, { { 0x55, 0x56, 0x6B, 0xEA, 0xEF, 0x34, 0xDA, 0x23, 0x23, 0xF4, 0x9D, 0x0F, 0xBF, 0xC3, 0x1F, 0xDA } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000037, 0x00001EDF, { { 0xA8, 0x42, 0x79, 0xEB, 0x82, 0xAF, 0x03, 0xD7, 0x03, 0xF9, 0xE0, 0x60, 0xD4, 0x87, 0xAD, 0x2E } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -487,6 +537,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x0000000F, 0x0000087E, { { 0xD8, 0xF1, 0x40, 0x9D, 0x9C, 0x15, 0x9E, 0xBD, 0x69, 0xE5, 0xE1, 0x51, 0x34, 0x22, 0xF3, 0x75 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x0000000F, 0x0000087E, { { 0xD8, 0xF1, 0x40, 0x9D, 0x9C, 0x15, 0x9E, 0xBD, 0x69, 0xE5, 0xE1, 0x51, 0x34, 0x22, 0xF3, 0x75 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -508,6 +560,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x00000092, 0x0000334E, { { 0xC9, 0x02, 0xB5, 0xEF, 0x90, 0xA8, 0x9C, 0x6E, 0xAD, 0xD6, 0x1F, 0xCC, 0x71, 0x9F, 0x19, 0x2C } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x000000A0, 0x00003EEB, { { 0x4B, 0x0C, 0xD5, 0xF0, 0xFE, 0x05, 0xF5, 0x09, 0x96, 0xA9, 0xE4, 0xDD, 0x86, 0x8D, 0x79, 0x3C } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000045, 0x00002350, { { 0xAD, 0x17, 0xA0, 0x40, 0x86, 0x0E, 0x1D, 0x2F, 0xA7, 0x14, 0x5B, 0x81, 0x38, 0x09, 0x80, 0x21 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -527,6 +581,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x0000005A, 0x000024F9, { { 0xCA, 0x1F, 0x62, 0x23, 0x22, 0x25, 0x4A, 0x94, 0x8A, 0x50, 0x59, 0xD5, 0xB4, 0x4E, 0xF1, 0xA6 } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x00000053, 0x00002745, { { 0x7A, 0xBB, 0xFC, 0x30, 0xB6, 0xCE, 0x61, 0xD4, 0xDB, 0xB0, 0xE6, 0xB2, 0xF4, 0x4D, 0x81, 0x35 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000032, 0x00001CDF, { { 0xB7, 0x08, 0x8D, 0x67, 0xB2, 0x0F, 0x59, 0x2D, 0xA6, 0x36, 0x21, 0x7B, 0x8B, 0x89, 0xE3, 0xED } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -544,6 +600,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x0000001F, 0x00001135, { { 0x90, 0x52, 0x4A, 0x95, 0xE4, 0x89, 0xD6, 0x0A, 0xE1, 0x2E, 0x98, 0x11, 0x02, 0xF5, 0x79, 0x37 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x0000001F, 0x00001135, { { 0x90, 0x52, 0x4A, 0x95, 0xE4, 0x89, 0xD6, 0x0A, 0xE1, 0x2E, 0x98, 0x11, 0x02, 0xF5, 0x79, 0x37 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -565,6 +623,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x0000009D, 0x00003521, { { 0xAB, 0x74, 0x71, 0x5C, 0x6E, 0x65, 0xF5, 0x5E, 0xB0, 0x6E, 0x0E, 0xC7, 0x56, 0xCB, 0x55, 0x98 } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x0000007D, 0x000039CE, { { 0x9E, 0xBE, 0x13, 0x7F, 0x4D, 0x4B, 0xCB, 0x08, 0xC3, 0xE5, 0xF1, 0xC2, 0xD3, 0x69, 0x9E, 0xDF } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000079, 0x000039CE, { { 0xEF, 0x3F, 0x36, 0xD4, 0x6C, 0x64, 0x74, 0x9A, 0xFE, 0x13, 0xB5, 0x77, 0x9A, 0xCF, 0x15, 0x5C } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -582,6 +642,8 @@
 
 	{ JA_JPN, kPlatformFMTowns, { 0x0000002F, 0x00001BDF, { { 0x32, 0x2C, 0x60, 0x1E, 0xB7, 0xE0, 0xFE, 0x5F, 0xEA, 0xEF, 0xA4, 0x73, 0xAC, 0xCB, 0xBA, 0xFE } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x0000002F, 0x00001BDF, { { 0x32, 0x2C, 0x60, 0x1E, 0xB7, 0xE0, 0xFE, 0x5F, 0xEA, 0xEF, 0xA4, 0x73, 0xAC, 0xCB, 0xBA, 0xFE } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -600,6 +662,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x00000015, 0x0000052B, { { 0xAB, 0xD2, 0x16, 0x26, 0xC2, 0x86, 0xFA, 0xC8, 0x42, 0xCD, 0x16, 0xCD, 0x25, 0xB7, 0x44, 0xDC } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x0000001B, 0x00000EC8, { { 0x13, 0x9A, 0xBC, 0x8F, 0xE2, 0x4B, 0xD7, 0x0B, 0xC0, 0x81, 0x60, 0x10, 0xC2, 0xA6, 0x9C, 0xFA } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x0000001B, 0x00000EC8, { { 0x13, 0x9A, 0xBC, 0x8F, 0xE2, 0x4B, 0xD7, 0x0B, 0xC0, 0x81, 0x60, 0x10, 0xC2, 0xA6, 0x9C, 0xFA } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -661,6 +725,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x0000006A, 0x00001EDA, { { 0xE2, 0xDA, 0xEC, 0x87, 0x4A, 0x27, 0xD8, 0xC1, 0x57, 0xE7, 0xD8, 0xD7, 0x87, 0x5F, 0x3A, 0xEB } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x0000006A, 0x00001EDA, { { 0xE2, 0xDA, 0xEC, 0x87, 0x4A, 0x27, 0xD8, 0xC1, 0x57, 0xE7, 0xD8, 0xD7, 0x87, 0x5F, 0x3A, 0xEB } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -683,6 +749,8 @@
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x00000063, 0x00001E41, { { 0xDA, 0xA1, 0x93, 0x68, 0xBF, 0xB3, 0xBB, 0xD1, 0x2E, 0xF9, 0xB2, 0x25, 0x72, 0xD9, 0xA6, 0x00 } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x00000063, 0x00001E41, { { 0xDA, 0xA1, 0x93, 0x68, 0xBF, 0xB3, 0xBB, 0xD1, 0x2E, 0xF9, 0xB2, 0x25, 0x72, 0xD9, 0xA6, 0x00 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -905,6 +973,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x000001FC, 0x00009D9A, { { 0xE8, 0x39, 0x46, 0x0A, 0x41, 0xC3, 0xDC, 0x33, 0x6E, 0xC5, 0x5D, 0x99, 0xCC, 0xF6, 0xDD, 0xCC } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x0000025F, 0x0000E56A, { { 0x77, 0x9A, 0x02, 0x52, 0xED, 0x62, 0x23, 0x5A, 0x58, 0x78, 0x19, 0x52, 0x03, 0xD7, 0x88, 0x40 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x00000213, 0x0000EC5A, { { 0x3B, 0xBA, 0xFB, 0x61, 0x34, 0x60, 0x25, 0xDA, 0x48, 0xBF, 0x95, 0x7F, 0x7F, 0xB6, 0xE4, 0x55 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -929,6 +999,8 @@
 	{ EN_ANY, kPlatformFMTowns, { 0x0000004A, 0x000016E9, { { 0x37, 0x12, 0xAD, 0x4C, 0xB8, 0x2C, 0xF5, 0x75, 0x20, 0x74, 0xA0, 0xFD, 0x58, 0xB1, 0x71, 0x77 } } } },
 	{ JA_JPN, kPlatformFMTowns, { 0x00000057, 0x00002262, { { 0xC5, 0x9A, 0x4A, 0xE3, 0xDF, 0xD3, 0x0E, 0x8E, 0xBB, 0xAF, 0x75, 0xD3, 0x67, 0xB1, 0xF6, 0x08 } } } },
 
+	{ JA_JPN, kPlatformPC98, { 0x0000003F, 0x00001E9D, { { 0x8A, 0x3C, 0x78, 0x6B, 0x3F, 0x0A, 0x7D, 0x92, 0x16, 0x39, 0xEB, 0x1C, 0x84, 0x9E, 0x4F, 0x84 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -950,12 +1022,26 @@
 	EXTRACT_END_ENTRY
 };
 
+const ExtractEntrySearchData kKyra1PC98StoryStringsProvider[] = {
+	{ JA_JPN, kPlatformPC98, { 0x00000054, 0x00002FAD, { { 0xCB, 0x25, 0xD1, 0xFA, 0x65, 0xCE, 0xD5, 0xE6, 0xAD, 0xE3, 0x48, 0x25, 0xC8, 0x51, 0xC6, 0x12 } } } },
+
+	EXTRACT_END_ENTRY
+};
+
+const ExtractEntrySearchData kKyra1PC98IntroSfxProvider[] = {
+	{ UNK_LANG, kPlatformPC98, { 0x00000300, 0x00017445, { { 0xC3, 0x54, 0x4A, 0x58, 0x00, 0x33, 0xEA, 0xF1, 0x20, 0xA8, 0x0C, 0xDE, 0x7A, 0x94, 0xAB, 0x5E } } } },
+
+	EXTRACT_END_ENTRY
+};
+
 const ExtractEntrySearchData kCreditsStringsProvider[] = {
 	{ EN_ANY, kPlatformAmiga, { 0x000004CC, 0x000182F7, { { 0x7D, 0x14, 0xA6, 0xEC, 0x12, 0x67, 0xAC, 0xA7, 0x7B, 0xF8, 0x44, 0x19, 0x52, 0xCC, 0x3A, 0x65 } } } },
 	{ DE_DEU, kPlatformAmiga, { 0x000004FB, 0x00019987, { { 0x8B, 0xF1, 0x61, 0xB9, 0x3E, 0xA4, 0x28, 0x9B, 0x45, 0x86, 0xD1, 0xF0, 0xC3, 0x35, 0x44, 0xA0 } } } },
 
 	{ UNK_LANG, kPlatformFMTowns, { 0x0000058C, 0x0001AD16, { { 0xFC, 0x1B, 0xE6, 0xEB, 0x03, 0x1C, 0x54, 0x93, 0x64, 0x53, 0xB1, 0x17, 0x9D, 0x95, 0x1B, 0x4A } } } },
 
+	{ UNK_LANG, kPlatformPC98, { 0x00000530, 0x00019571, { { 0x38, 0x4F, 0xE0, 0x74, 0x27, 0x21, 0xEC, 0x63, 0x41, 0x32, 0xB1, 0xD9, 0xA5, 0x65, 0x62, 0x71 } } } },
+
 	EXTRACT_END_ENTRY
 };
 
@@ -1766,6 +1852,8 @@
 	{ kKyra1TownsSFXwdTable, kKyra1TownsSFXwdTableProvider },
 	{ kKyra1TownsSFXbtTable, kKyra1TownsSFXbtTableProvider },
 	{ kKyra1TownsCDATable, kKyra1TownsCDATableProvider },
+	{ kKyra1PC98StoryStrings, kKyra1PC98StoryStringsProvider },
+	{ kKyra1PC98IntroSfx, kKyra1PC98IntroSfxProvider },
 	{ kCreditsStrings, kCreditsStringsProvider },
 	{ kAmigaIntroSFXTable, kAmigaIntroSFXTableProvider },
 	{ kAmigaGameSFXTable, kAmigaGameSFXTableProvider },


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list