diff options
| author | Travis Howell | 2005-10-15 11:03:32 +0000 | 
|---|---|---|
| committer | Travis Howell | 2005-10-15 11:03:32 +0000 | 
| commit | 4d85ddbc28263ab140f82af1ee9dfd8326c7cfac (patch) | |
| tree | b0ee82b8077a9951fd0e0fc57e97fcf97dc01b1d | |
| parent | dca6f248eea71c2674a8475860c6c2129cf58a4d (diff) | |
| download | scummvm-rg350-4d85ddbc28263ab140f82af1ee9dfd8326c7cfac.tar.gz scummvm-rg350-4d85ddbc28263ab140f82af1ee9dfd8326c7cfac.tar.bz2 scummvm-rg350-4d85ddbc28263ab140f82af1ee9dfd8326c7cfac.zip | |
Several later HE games use sprites for subtitles.
svn-id: r19098
| -rw-r--r-- | scumm/scumm.cpp | 16 | ||||
| -rw-r--r-- | scumm/scumm.h | 9 | ||||
| -rw-r--r-- | scumm/string.cpp | 7 | 
3 files changed, 19 insertions, 13 deletions
| diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 716c1c3360..f7d2f6184b 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -315,7 +315,7 @@ static const ScummGameSettings scumm_settings[] = {  	// Humongous Entertainment Scumm Version ?  	{"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_FREDDICOVE, 6, 99, MDT_NONE, -	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR | GF_MULTIPLE_VERSIONS, Common::kPlatformWindows}, +	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_HE_NOSUBTITLES | GF_16BIT_COLOR | GF_MULTIPLE_VERSIONS, Common::kPlatformWindows},  	{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 99, MDT_NONE,  	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED, Common::kPlatformWindows},  	{"FreddisFunShop", "Freddi Fish's One-Stop Fun Shop", GID_FUNSHOP, 6, 99, MDT_NONE, @@ -327,7 +327,7 @@ static const ScummGameSettings scumm_settings[] = {  	{"putttime", "Putt-Putt Travels Through Time", GID_HEGAME, 6, 99, MDT_NONE,  	 GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, Common::kPlatformWindows},  	{"spyozon", "Spyfox 3: Operation Ozone", GID_HEGAME, 6, 99, MDT_NONE, -	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, +	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},  	{"baseball2001", "Backyard Baseball 2001", GID_HEGAME, 6, 99, MDT_NONE,  	 GF_USE_KEY | GF_NEW_COSTUMES | GF_16BIT_COLOR, Common::kPlatformWindows}, @@ -338,7 +338,7 @@ static const ScummGameSettings scumm_settings[] = {  	{"basketball", "Backyard Basketball", GID_HEGAME, 6, 100, MDT_NONE,  	 GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},  	{"pjgames", "Pajama Sam: Games to Play On Any Day", GID_HEGAME, 6, 100, MDT_NONE, -	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, +	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},  	// Uses smacker in external files  	{"BluesBirthdayDemo", "Blue's Birthday Adventure (Demo)", GID_HEGAME, 6, 98, MDT_NONE, @@ -424,15 +424,15 @@ static const ScummGameSettings multiple_versions_md5_settings[] = {  	 GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows},  	{"b8955d7d23b4972229060d1592489fef", "Freddi Fish 5: The Case of the Creature of Coral Cave (Updated)", GID_HEGAME, 6, 100, MDT_NONE, -	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, // FreddiDZZ +	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, // FreddiDZZ  	{"4ce2d5b355964bbcb5e5ce73236ef868", "Freddi Fish 5: The Case of the Creature of Coral Cave (Updated Ru)", GID_HEGAME, 6, 100, MDT_NONE, -	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, +	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},  	{"21abe302e1b1e2b66d6f5c12e241ebfd", "Freddi Fish 5: The Case of the Creature of Coral Cave (Unencrypted)", GID_HEGAME, 6, 99, MDT_NONE, -	 GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, +	 GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},  	{"45082a5c9f42ba14dacfe1fdeeba819d", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_FREDDICOVE, 6, 100, MDT_NONE, -	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, +	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},  	{"6b257bb2827dd894b8109a50a1a18b5a", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_FREDDICOVE, 6, 100, MDT_NONE, -	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows}, +	 GF_USE_KEY | GF_NEW_COSTUMES | GF_HE_NOSUBTITLES | GF_HE_LOCALIZED | GF_16BIT_COLOR, Common::kPlatformWindows},  	{"4dbff3787aedcd96b0b325f2d92d7ad9", "Freddi Fish and Luther's Maze Madness (Updated)", GID_HEGAME, 6, 100, MDT_NONE,  	 GF_USE_KEY | GF_NEW_COSTUMES, Common::kPlatformWindows}, diff --git a/scumm/scumm.h b/scumm/scumm.h index 6a8ca85ab8..b2e9177cab 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -124,16 +124,19 @@ enum GameFeatures {  	 *  HE Games with more global scripts and different sprite handling  	 *  i.e. read it as HE version 9.85. Used for HE98 only.  	 */ -	GF_HE_985			   = 1 << 14, +	GF_HE_985		= 1 << 14,  	/** HE games with 16 bit color */  	GF_16BIT_COLOR         = 1 << 15, +	/** HE games which use sprites for subtitles */ +	GF_HE_NOSUBTITLES      = 1 << 16, +  	/** Games with multiple versions */ -	GF_MULTIPLE_VERSIONS   = 1 << 16, +	GF_MULTIPLE_VERSIONS   = 1 << 17,  	/** A demo, not a full blown game. */ -	GF_DEMO                = 1 << 17 +	GF_DEMO                = 1 << 18  };  /* SCUMM Debug Channels */ diff --git a/scumm/string.cpp b/scumm/string.cpp index 773d19782b..3cd7777adf 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -404,7 +404,9 @@ loc_avoid_ks_fe:  			if (_version <= 3) {  				_charset->printChar(c);  			} else { -				if ((_imuseDigital && _sound->isSoundRunning(kTalkSoundID)) && (!ConfMan.getBool("subtitles") || VAR(VAR_VOICE_MODE) == 0)) { +				if (_features & GF_HE_NOSUBTITLES) { +					// HE games which use sprites for subtitles +				} else if ((_imuseDigital && _sound->isSoundRunning(kTalkSoundID)) && (!ConfMan.getBool("subtitles") || VAR(VAR_VOICE_MODE) == 0)) {  					// Special case for games using imuse digital.for sound  				} else if (_heversion >= 60 && !ConfMan.getBool("subtitles") && _sound->isSoundRunning(1)) {  					// Special case for HE games @@ -413,8 +415,9 @@ loc_avoid_ks_fe:  				} else if (!ConfMan.getBool("subtitles") && (_haveMsg == 0xFE || _mixer->isSoundHandleActive(_sound->_talkChannelHandle))) {  					// Subtitles are turned off, and there is a voice version  					// of this message -> don't print it. -				} else +				} else {  					_charset->printChar(c); +				}  			}  			if (cmi_pos_hack) {  				cmi_pos_hack = false; | 
