diff options
| -rw-r--r-- | engines/scumm/detection_tables.h | 2 | ||||
| -rw-r--r-- | engines/scumm/he/sprite_he.cpp | 7 | ||||
| -rw-r--r-- | engines/scumm/scumm.h | 1 | 
3 files changed, 9 insertions, 1 deletions
| diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h index 1dccbd32a3..ae334c201c 100644 --- a/engines/scumm/detection_tables.h +++ b/engines/scumm/detection_tables.h @@ -389,7 +389,7 @@ static const GameSettings gameVariantsTable[] = {  	{"freddicove", "HE 100", 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},  	// Restructured the Scumm engine -	{"pjgames", 0, 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)}, +	{"pjgames", 0, 0, GID_PJGAMES, 6, 100, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},  	// Added the use of bink videos  	{"Soccer2004", 0, 0, GID_SOCCER2004, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)}, diff --git a/engines/scumm/he/sprite_he.cpp b/engines/scumm/he/sprite_he.cpp index f902b67997..245a986531 100644 --- a/engines/scumm/he/sprite_he.cpp +++ b/engines/scumm/he/sprite_he.cpp @@ -264,6 +264,13 @@ int Sprite::getSpriteFlagRemapPalette(int spriteId) {  int Sprite::getSpriteFlagAutoAnim(int spriteId) {  	assertRange(1, spriteId, _varNumSprites, "sprite"); +	// WORKAROUND: Two scripts (room 2 script 2070/2071) compare against +	// a return value of one, but the original game returned the flag value +	// (0x200000) for true. These scripts bugs caused problems (infinite loop +	// and beans not appearing) in the Jumping Beans mini games under ScummVM. +	if (_vm->_game.id == GID_PJGAMES) +		return 0; +  	return ((_spriteTable[spriteId].flags & kSFAutoAnim) != 0) ? 1 : 0;  } diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index be5a83d8c9..36d05077c6 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -256,6 +256,7 @@ enum ScummGameId {  	GID_BASEBALL2003,  	GID_BASKETBALL,  	GID_MOONBASE, +	GID_PJGAMES,  	GID_HECUP		// CUP demos  }; | 
