[Scummvm-cvs-logs] scummvm master -> 72f65b3946278661db95fc02511444ff1658a3bf

bluegr md5 at scummvm.org
Sun Feb 27 15:49:55 CET 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
72f65b3946 SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLY


Commit: 72f65b3946278661db95fc02511444ff1658a3bf
    https://github.com/scummvm/scummvm/commit/72f65b3946278661db95fc02511444ff1658a3bf
Author: md5 (md5 at scummvm.org)
Date: 2011-02-27T06:48:53-08:00

Commit Message:
SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLY

This renaming allows us to better distinguish that this version is for games
that only had an EGA version, and avoid confusion with newer SCI1 game releases
with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2,
a SCI1 EGA game with a parser. Also, added some games for each SCI version.

Changed paths:
    engines/sci/engine/kernel_tables.h
    engines/sci/engine/kmovement.cpp
    engines/sci/engine/kparse.cpp
    engines/sci/engine/static_selectors.cpp
    engines/sci/graphics/animate.cpp
    engines/sci/graphics/view.cpp
    engines/sci/parser/vocabulary.cpp
    engines/sci/resource.cpp
    engines/sci/sci.cpp
    engines/sci/sci.h
    engines/sci/sound/drivers/midi.cpp
    engines/sci/sound/music.cpp



diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index 71892a8..6dd08d7 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -56,7 +56,7 @@ struct SciKernelMapSubEntry {
 
 #define SIG_SCIALL         SCI_VERSION_NONE, SCI_VERSION_NONE
 #define SIG_SCI0           SCI_VERSION_NONE, SCI_VERSION_01
-#define SIG_SCI1           SCI_VERSION_1_EGA, SCI_VERSION_1_LATE
+#define SIG_SCI1           SCI_VERSION_1_EGA_ONLY, SCI_VERSION_1_LATE
 #define SIG_SCI11          SCI_VERSION_1_1, SCI_VERSION_1_1
 #define SIG_SINCE_SCI11    SCI_VERSION_1_1, SCI_VERSION_NONE
 #define SIG_SCI21          SCI_VERSION_2_1, SCI_VERSION_3
diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp
index 53a3a53..bc22397 100644
--- a/engines/sci/engine/kmovement.cpp
+++ b/engines/sci/engine/kmovement.cpp
@@ -275,7 +275,7 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) {
 	bool completed = false;
 	bool handleMoveCount = g_sci->_features->handleMoveCount();
 
-	if (getSciVersion() >= SCI_VERSION_1_EGA) {
+	if (getSciVersion() >= SCI_VERSION_1_EGA_ONLY) {
 		uint client_signal = readSelectorValue(segMan, client, SELECTOR(signal));
 		writeSelectorValue(segMan, client, SELECTOR(signal), client_signal & ~kSignalHitObstacle);
 	}
@@ -307,7 +307,7 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) {
 		int16 mover_org_i2 = mover_i2;
 		int16 mover_org_di = mover_di;
 
-		if ((getSciVersion() >= SCI_VERSION_1_EGA)) {
+		if ((getSciVersion() >= SCI_VERSION_1_EGA_ONLY)) {
 			// save current position into mover
 			writeSelectorValue(segMan, mover, SELECTOR(xLast), client_x);
 			writeSelectorValue(segMan, mover, SELECTOR(yLast), client_y);
@@ -374,7 +374,7 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) {
 		writeSelectorValue(segMan, mover, SELECTOR(b_i2), mover_i2);
 		writeSelectorValue(segMan, mover, SELECTOR(b_di), mover_di);
 
-		if (getSciVersion() == SCI_VERSION_1_EGA) {
+		if (getSciVersion() == SCI_VERSION_1_EGA_ONLY) {
 			// We need to compare directly in here, complete may have happened during
 			//  the current move
 			if ((client_x == mover_x) && (client_y == mover_y))
diff --git a/engines/sci/engine/kparse.cpp b/engines/sci/engine/kparse.cpp
index e8f8ee7..c0a5e95 100644
--- a/engines/sci/engine/kparse.cpp
+++ b/engines/sci/engine/kparse.cpp
@@ -169,7 +169,7 @@ reg_t kSetSynonyms(EngineState *s, int argc, reg_t *argv) {
 	Vocabulary *voc = g_sci->getVocabulary();
 
 	// Only SCI0-SCI1 EGA games had a parser. In newer versions, this is a stub
-	if (getSciVersion() > SCI_VERSION_1_EGA)
+	if (getSciVersion() > SCI_VERSION_1_EGA_ONLY)
 		return s->r_acc;
 
 	voc->clearSynonyms();
diff --git a/engines/sci/engine/static_selectors.cpp b/engines/sci/engine/static_selectors.cpp
index 4bb61a0..96507e3 100644
--- a/engines/sci/engine/static_selectors.cpp
+++ b/engines/sci/engine/static_selectors.cpp
@@ -185,7 +185,7 @@ Common::StringArray Kernel::checkStaticSelectorNames() {
 				// dispose comes right after init
 				names[initSelectorPos + 1] = "dispose";
 
-				if ((getSciVersion() >= SCI_VERSION_1_EGA)) {
+				if ((getSciVersion() >= SCI_VERSION_1_EGA_ONLY)) {
 					// Find the xLast and yLast selectors, used in kDoBresen
 
 					// xLast and yLast always come between illegalBits and xStep
@@ -205,7 +205,7 @@ Common::StringArray Kernel::checkStaticSelectorNames() {
 
 					names[xLastSelectorPos] = "xLast";
 					names[yLastSelectorPos] = "yLast";
-				}	// if ((getSciVersion() >= SCI_VERSION_1_EGA))
+				}	// if ((getSciVersion() >= SCI_VERSION_1_EGA_ONLY))
 			}	// if (actorClass)
 
 			_segMan->uninstantiateScript(998);
diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp
index 0eb7b95..d8dd43a 100644
--- a/engines/sci/graphics/animate.cpp
+++ b/engines/sci/graphics/animate.cpp
@@ -637,10 +637,10 @@ void GfxAnimate::kernelAnimate(reg_t listReference, bool cycle, int argc, reg_t
 		// beginUpdate()/endUpdate() were introduced SCI1.
 		// Calling those for SCI0 will work most of the time but breaks minor
 		// stuff like percentage bar of qfg1ega at the character skill screen.
-		if (getSciVersion() >= SCI_VERSION_1_EGA)
+		if (getSciVersion() >= SCI_VERSION_1_EGA_ONLY)
 			_ports->beginUpdate(_ports->_picWind);
 		update();
-		if (getSciVersion() >= SCI_VERSION_1_EGA)
+		if (getSciVersion() >= SCI_VERSION_1_EGA_ONLY)
 			_ports->endUpdate(_ports->_picWind);
 	}
 
diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp
index 2956ea7..8eacecd 100644
--- a/engines/sci/graphics/view.cpp
+++ b/engines/sci/graphics/view.cpp
@@ -132,7 +132,7 @@ void GfxView::initData(GuiResourceId resourceId) {
 				//  SCI1 VGA conversion games (which will get detected as SCI1EARLY/MIDDLE/LATE) have some views
 				//  with broken mapping tables. I guess those games won't use the mapping, so I rather disable it
 				//  for them
-				if (getSciVersion() == SCI_VERSION_1_EGA) {
+				if (getSciVersion() == SCI_VERSION_1_EGA_ONLY) {
 					_EGAmapping = &_resourceData[palOffset];
 					for (EGAmapNr = 0; EGAmapNr < SCI_VIEW_EGAMAPPING_COUNT; EGAmapNr++) {
 						if (memcmp(_EGAmapping, EGAmappingStraight, SCI_VIEW_EGAMAPPING_SIZE) != 0)
diff --git a/engines/sci/parser/vocabulary.cpp b/engines/sci/parser/vocabulary.cpp
index 8d59df5..2504340 100644
--- a/engines/sci/parser/vocabulary.cpp
+++ b/engines/sci/parser/vocabulary.cpp
@@ -63,7 +63,7 @@ Vocabulary::Vocabulary(ResourceManager *resMan, bool foreign) : _resMan(resMan),
 		_resourceIdBranches += 10;
 	}
 
-	if (getSciVersion() <= SCI_VERSION_1_EGA && loadParserWords()) {
+	if (getSciVersion() <= SCI_VERSION_1_EGA_ONLY && loadParserWords()) {
 		loadSuffixes();
 		if (loadBranches())
 			// Now build a GNF grammar out of this
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp
index a16f712..1b3b481 100644
--- a/engines/sci/resource.cpp
+++ b/engines/sci/resource.cpp
@@ -67,7 +67,7 @@ const char *getSciVersionDesc(SciVersion version) {
 		return "Late SCI0";
 	case SCI_VERSION_01:
 		return "SCI01";
-	case SCI_VERSION_1_EGA:
+	case SCI_VERSION_1_EGA_ONLY:
 		return "SCI1 EGA";
 	case SCI_VERSION_1_EARLY:
 		return "Early SCI1";
@@ -2127,9 +2127,9 @@ void ResourceManager::detectSciVersion() {
 
 	if (viewCompression != kCompLZW) {
 		// If it's a different compression type from kCompLZW, the game is probably
-		// SCI_VERSION_1_EGA or later. If the views are uncompressed, it is
+		// SCI_VERSION_1_EGA_ONLY or later. If the views are uncompressed, it is
 		// likely not an early disk game.
-		s_sciVersion = SCI_VERSION_1_EGA;
+		s_sciVersion = SCI_VERSION_1_EGA_ONLY;
 		oldDecompressors = false;
 	}
 
@@ -2243,9 +2243,9 @@ void ResourceManager::detectSciVersion() {
 			return;
 		}
 
-		// New decompressors. It's either SCI_VERSION_1_EGA or SCI_VERSION_1_EARLY.
+		// New decompressors. It's either SCI_VERSION_1_EGA_ONLY or SCI_VERSION_1_EARLY.
 		if (hasSci1Voc900()) {
-			s_sciVersion = SCI_VERSION_1_EGA;
+			s_sciVersion = SCI_VERSION_1_EGA_ONLY;
 			return;
 		}
 
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index b8a0406..b460b06 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -227,7 +227,7 @@ Common::Error SciEngine::run() {
 
 	_features = new GameFeatures(segMan, _kernel);
 	// Only SCI0, SCI01 and SCI1 EGA games used a parser
-	_vocabulary = (getSciVersion() <= SCI_VERSION_1_EGA) ? new Vocabulary(_resMan, false) : NULL;
+	_vocabulary = (getSciVersion() <= SCI_VERSION_1_EGA_ONLY) ? new Vocabulary(_resMan, false) : NULL;
 	// Also, XMAS1990 apparently had a parser too. Refer to http://forums.scummvm.org/viewtopic.php?t=9135
 	if (getGameId() == GID_CHRISTMAS1990)
 		_vocabulary = new Vocabulary(_resMan, false);
diff --git a/engines/sci/sci.h b/engines/sci/sci.h
index b3e3983..72fbe0c 100644
--- a/engines/sci/sci.h
+++ b/engines/sci/sci.h
@@ -180,20 +180,24 @@ enum SciGameId {
 	GID_FANMADE	// FIXME: Do we really need/want this?
 };
 
-/** SCI versions */
+/** 
+ * SCI versions
+ * For more information, check here:
+ * http://wiki.scummvm.org/index.php/Sierra_Game_Versions#SCI_Games
+ */
 enum SciVersion {
 	SCI_VERSION_NONE,
-	SCI_VERSION_0_EARLY, // Early KQ4, 1988 xmas card
+	SCI_VERSION_0_EARLY, // KQ4 early, LSL2 early, XMAS card 1988
 	SCI_VERSION_0_LATE, // KQ4, LSL2, LSL3, SQ3 etc
 	SCI_VERSION_01, // KQ1 and multilingual games (S.old.*)
-	SCI_VERSION_1_EGA, // EGA with parser, QFG2
-	SCI_VERSION_1_EARLY, // KQ5. (EGA/VGA)
-	SCI_VERSION_1_MIDDLE, // LSL1, JONESCD. (EGA?/VGA)
-	SCI_VERSION_1_LATE, // ECO1, LSL5. (EGA/VGA)
-	SCI_VERSION_1_1, // KQ6, ECO2
-	SCI_VERSION_2, // GK1, PQ4 (Floppy), QFG4 (Floppy)
-	SCI_VERSION_2_1, // GK2, KQ7, SQ6, Torin
-	SCI_VERSION_3 // LSL7, RAMA, Lighthouse
+	SCI_VERSION_1_EGA_ONLY, // SCI 1 EGA with parser (i.e. QFG2 only)
+	SCI_VERSION_1_EARLY, // KQ5 floppy, SQ4 floppy, XMAS card 1990, Fairy tales, Jones floppy
+	SCI_VERSION_1_MIDDLE, // LSL1, Jones CD
+	SCI_VERSION_1_LATE, // Dr. Brain 1, EcoQuest 1, Longbow, PQ3, SQ1, LSL5, KQ5 CD
+	SCI_VERSION_1_1, // Dr. Brain 2, EcoQuest 1 CD, EcoQuest 2, KQ6, QFG3, SQ4CD, XMAS 1992 and many more
+	SCI_VERSION_2, // GK1, PQ4 floppy, QFG4 floppy
+	SCI_VERSION_2_1, // GK2, KQ7, LSL6 hires, MUMG Deluxe, Phantasmagoria 1, PQ4CD, PQ:SWAT, QFG4CD, Shivers 1, SQ6, Torin
+	SCI_VERSION_3 // LSL7, Lighthouse, RAMA, Phantasmagoria 2
 };
 
 /** Supported languages */
diff --git a/engines/sci/sound/drivers/midi.cpp b/engines/sci/sound/drivers/midi.cpp
index c350d38..65ccaec 100644
--- a/engines/sci/sound/drivers/midi.cpp
+++ b/engines/sci/sound/drivers/midi.cpp
@@ -955,7 +955,7 @@ int MidiPlayer_Midi::open(ResourceManager *resMan) {
 
 			// TODO: The MT-32 <-> GM mapping hasn't been worked on for SCI1 games. Throw
 			// a warning to the user
-			if (getSciVersion() >= SCI_VERSION_1_EGA)
+			if (getSciVersion() >= SCI_VERSION_1_EGA_ONLY)
 				warning("The automatic mapping for General MIDI hasn't been worked on for "
 						"SCI1 games. Music might sound wrong or broken. Please choose another "
 						"music driver for this game (e.g. Adlib or MT-32) if you are "
diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp
index f0963e7..a08525d 100644
--- a/engines/sci/sound/music.cpp
+++ b/engines/sci/sound/music.cpp
@@ -75,7 +75,7 @@ void SciMusic::init() {
 		deviceFlags |= MDT_PREFER_GM;
 
 	// Currently our CMS implementation only supports SCI1(.1)
-	if (getSciVersion() >= SCI_VERSION_1_EGA && getSciVersion() <= SCI_VERSION_1_1)
+	if (getSciVersion() >= SCI_VERSION_1_EGA_ONLY && getSciVersion() <= SCI_VERSION_1_1)
 		deviceFlags |= MDT_CMS;
 
 	uint32 dev = MidiDriver::detectDevice(deviceFlags);






More information about the Scummvm-git-logs mailing list