[Scummvm-cvs-logs] SF.net SVN: scummvm: [25188] scummvm/trunk/engines/kyra
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Thu Jan 25 13:52:28 CET 2007
Revision: 25188
http://scummvm.svn.sourceforge.net/scummvm/?rev=25188&view=rev
Author: lordhoto
Date: 2007-01-25 04:52:27 -0800 (Thu, 25 Jan 2007)
Log Message:
-----------
Adds basic support for the FM Towns version with some restrictions:
- just english playable
- no audio
Modified Paths:
--------------
scummvm/trunk/engines/kyra/plugin.cpp
scummvm/trunk/engines/kyra/script.cpp
scummvm/trunk/engines/kyra/seqplayer.cpp
scummvm/trunk/engines/kyra/sequences_v1.cpp
scummvm/trunk/engines/kyra/staticres.cpp
Modified: scummvm/trunk/engines/kyra/plugin.cpp
===================================================================
--- scummvm/trunk/engines/kyra/plugin.cpp 2007-01-25 12:09:22 UTC (rev 25187)
+++ scummvm/trunk/engines/kyra/plugin.cpp 2007-01-25 12:52:27 UTC (rev 25188)
@@ -42,6 +42,7 @@
#define FLAGS(x, y, z, w, id) { UNK_LANG, kPlatformUnknown, x, y, z, w, id }
#define KYRA1_FLOPPY_FLAGS FLAGS(false, false, false, false, GI_KYRA1)
+#define KYRA1_TOWNS_FLAGS FLAGS(false, true, true, false, GI_KYRA1)
#define KYRA1_CD_FLAGS FLAGS(false, true, false, true, GI_KYRA1)
#define KYRA1_DEMO_FLAGS FLAGS(true, false, false, false, GI_KYRA1)
@@ -59,6 +60,8 @@
{ { "kyra1", 0, AD_ENTRY1("GEMCUT.EMC", "747861d2a9c643c59fdab570df5b9093"), ES_ESP, kPlatformPC }, KYRA1_FLOPPY_FLAGS }, // floppy 1.8 from clemmy
{ { "kyra1", 0, AD_ENTRY1("GEMCUT.EMC", "ef08c8c237ee1473fd52578303fc36df"), IT_ITA, kPlatformPC }, KYRA1_FLOPPY_FLAGS }, // from gourry
+ { { "kyra1", 0, AD_ENTRY1("TWMUSIC.PAK", "e53bca3a3e3fb49107d59463ec387a59"), EN_ANY, kPlatformFMTowns }, KYRA1_TOWNS_FLAGS },
+
{ { "kyra1", "CD", AD_ENTRY1("GEMCUT.PAK", "fac399fe62f98671e56a005c5e94e39f"), EN_ANY, kPlatformPC }, KYRA1_CD_FLAGS },
{ { "kyra1", "CD", AD_ENTRY1("GEMCUT.PAK", "230f54e6afc007ab4117159181a1c722"), DE_DEU, kPlatformPC }, KYRA1_CD_FLAGS },
{ { "kyra1", "CD", AD_ENTRY1("GEMCUT.PAK", "b037c41768b652a040360ffa3556fd2a"), FR_FRA, kPlatformPC }, KYRA1_CD_FLAGS },
Modified: scummvm/trunk/engines/kyra/script.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script.cpp 2007-01-25 12:09:22 UTC (rev 25187)
+++ scummvm/trunk/engines/kyra/script.cpp 2007-01-25 12:52:27 UTC (rev 25188)
@@ -184,7 +184,10 @@
if (functionOffset == (uint16)-1) {
return false;
}
- script->ip = &script->dataPtr->data[functionOffset*2];
+ if (_vm->gameFlags().platform == Common::kPlatformFMTowns)
+ script->ip = &script->dataPtr->data[functionOffset*2+2];
+ else
+ script->ip = &script->dataPtr->data[functionOffset*2];
return true;
}
Modified: scummvm/trunk/engines/kyra/seqplayer.cpp
===================================================================
--- scummvm/trunk/engines/kyra/seqplayer.cpp 2007-01-25 12:09:22 UTC (rev 25187)
+++ scummvm/trunk/engines/kyra/seqplayer.cpp 2007-01-25 12:52:27 UTC (rev 25188)
@@ -74,7 +74,7 @@
uint16 numShapes = READ_LE_UINT16(data);
if (shape < numShapes) {
uint32 offs = 0;
- if (_vm->gameFlags().isTalkie) {
+ if (_vm->gameFlags().useAltShapeHeader) {
offs = READ_LE_UINT32(data + 2 + shape * 4);
} else {
offs = READ_LE_UINT16(data + 2 + shape * 2);
Modified: scummvm/trunk/engines/kyra/sequences_v1.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sequences_v1.cpp 2007-01-25 12:09:22 UTC (rev 25187)
+++ scummvm/trunk/engines/kyra/sequences_v1.cpp 2007-01-25 12:52:27 UTC (rev 25188)
@@ -196,9 +196,9 @@
_screen->clearPage(0);
if (_flags.isTalkie) {
return;
- } else if (_flags.lang == Common::EN_ANY && _flags.platform != Common::kPlatformMacintosh) {
+ } else if (_flags.lang == Common::EN_ANY && _flags.platform == Common::kPlatformPC) {
_screen->loadBitmap("TEXT.CPS", 3, 3, 0);
- } else if (_flags.lang == Common::EN_ANY && _flags.platform == Common::kPlatformMacintosh) {
+ } else if (_flags.lang == Common::EN_ANY) {
_screen->loadBitmap("TEXT_ENG.CPS", 3, 3, 0);
} else if (_flags.lang == Common::DE_DEU) {
_screen->loadBitmap("TEXT_GER.CPS", 3, 3, 0);
Modified: scummvm/trunk/engines/kyra/staticres.cpp
===================================================================
--- scummvm/trunk/engines/kyra/staticres.cpp 2007-01-25 12:09:22 UTC (rev 25187)
+++ scummvm/trunk/engines/kyra/staticres.cpp 2007-01-25 12:52:27 UTC (rev 25188)
@@ -62,7 +62,7 @@
GF_AMIGA = 1 << 17 // this is no special version flag yet!
};
-#define GAME_FLAGS (GF_FLOPPY | GF_TALKIE | GF_DEMO | GF_AUDIOCD)
+#define GAME_FLAGS (GF_FLOPPY | GF_TALKIE | GF_DEMO/* | GF_AUDIOCD*/)
#define LANGUAGE_FLAGS (GF_ENGLISH | GF_FRENCH | GF_GERMAN | GF_SPANISH | GF_ITALIAN | GF_LNGUNK)
uint32 createFeatures(const GameFlags &flags) {
@@ -70,8 +70,8 @@
return GF_TALKIE;
if (flags.isDemo)
return GF_DEMO;
- if (flags.hasAudioCD)
- return GF_AUDIOCD;
+ //if (flags.hasAudioCD)
+ // return GF_AUDIOCD;
return GF_FLOPPY;
}
@@ -817,9 +817,9 @@
void KyraEngine::loadMainScreen(int page) {
_screen->clearPage(page);
- if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && _flags.platform != Common::kPlatformMacintosh)
+ if (_flags.lang == Common::EN_ANY && !_flags.isTalkie && _flags.platform == Common::kPlatformPC)
_screen->loadBitmap("MAIN15.CPS", page, page, 0);
- else if (_flags.lang == Common::EN_ANY && (_flags.isTalkie || _flags.platform == Common::kPlatformMacintosh))
+ else if (_flags.lang == Common::EN_ANY)
_screen->loadBitmap("MAIN_ENG.CPS", page, page, 0);
else if (_flags.lang == Common::FR_FRA)
_screen->loadBitmap("MAIN_FRE.CPS", page, page, 0);
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