[Scummvm-git-logs] scummvm master -> 29bccc4ab45cc71a49f6b3b22c805f76d2af5f78

bluegr noreply at scummvm.org
Sun Nov 28 02:40:35 UTC 2021


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:
29bccc4ab4 BBVS: Fix sprites for the alt demo - bug #13070. Some cleanup


Commit: 29bccc4ab45cc71a49f6b3b22c805f76d2af5f78
    https://github.com/scummvm/scummvm/commit/29bccc4ab45cc71a49f6b3b22c805f76d2af5f78
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2021-11-28T04:40:16+02:00

Commit Message:
BBVS: Fix sprites for the alt demo - bug #13070. Some cleanup

Changed paths:
    engines/bbvs/bbvs.cpp
    engines/bbvs/bbvs.h
    engines/bbvs/detection.cpp
    engines/bbvs/detection.h
    engines/bbvs/metaengine.cpp
    engines/bbvs/minigames/bbloogie.cpp
    engines/bbvs/scene.cpp


diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp
index bed7c13985..f910ed3832 100644
--- a/engines/bbvs/bbvs.cpp
+++ b/engines/bbvs/bbvs.cpp
@@ -177,7 +177,7 @@ Common::Error BbvsEngine::run() {
 	_spriteModule = new SpriteModule();
 	_sound = new SoundMan();
 
-	if (isLoogieDemo()) {
+	if (isLoogieDemo() || isLoogieAltDemo()) {
 		Minigame *minigame = new MinigameBbLoogie(this);
 
 		minigame->run(true);
diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h
index 95002dabc9..176f9085f7 100644
--- a/engines/bbvs/bbvs.h
+++ b/engines/bbvs/bbvs.h
@@ -249,7 +249,9 @@ public:
 	const Common::String getTargetName() { return _targetName; }
 	const ADGameDescription *_gameDescription;
 
+	bool isDemo() const;
 	bool isLoogieDemo() const;
+	bool isLoogieAltDemo() const;
 
 private:
 	Graphics::PixelFormat _pixelFormat;
diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp
index 1ad18829bb..bfc1244a1e 100644
--- a/engines/bbvs/detection.cpp
+++ b/engines/bbvs/detection.cpp
@@ -69,7 +69,7 @@ static const ADGameDescription gameDescriptions[] = {
 		AD_ENTRY1s("BBLOOGIE.000", "83921c65bd93be7e35056c31bd37310b", 324764),
 		Common::EN_ANY,
 		Common::kPlatformWindows,
-		GF_LOOGIE_DEMO | ADGF_DEMO | ADGF_DROPPLATFORM,
+		GF_LOOGIE_ALT_DEMO | ADGF_DEMO | ADGF_DROPPLATFORM,
 		GUIO1(GUIO_NOMIDI)
 	},
 
diff --git a/engines/bbvs/detection.h b/engines/bbvs/detection.h
index 793b465398..24f3dcca95 100644
--- a/engines/bbvs/detection.h
+++ b/engines/bbvs/detection.h
@@ -26,8 +26,9 @@
 namespace Bbvs {
 
 enum BBVSGameFeatures {
-	GF_GUILANGSWITCH =    (1 << 0), // If GUI language switch is required for menus
-	GF_LOOGIE_DEMO   =    (1 << 1)
+	GF_GUILANGSWITCH   =    (1 << 0), // If GUI language switch is required for menus
+	GF_LOOGIE_DEMO     =    (1 << 1),
+	GF_LOOGIE_ALT_DEMO =    (1 << 2)
 };
 
 } // End of namespace Bbvs
diff --git a/engines/bbvs/metaengine.cpp b/engines/bbvs/metaengine.cpp
index a80a42bfe1..ba03812ceb 100644
--- a/engines/bbvs/metaengine.cpp
+++ b/engines/bbvs/metaengine.cpp
@@ -31,10 +31,18 @@
 
 namespace Bbvs {
 
+bool BbvsEngine::isDemo() const {
+	return _gameDescription->flags & ADGF_DEMO;
+}
+
 bool BbvsEngine::isLoogieDemo() const {
 	return _gameDescription->flags & GF_LOOGIE_DEMO;
 }
 
+bool BbvsEngine::isLoogieAltDemo() const {
+	return _gameDescription->flags & GF_LOOGIE_ALT_DEMO;
+}
+
 } // End of namespace Bbvs
 
 class BbvsMetaEngine : public AdvancedMetaEngine {
diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp
index f65813a483..0c8c62044e 100644
--- a/engines/bbvs/minigames/bbloogie.cpp
+++ b/engines/bbvs/minigames/bbloogie.cpp
@@ -468,7 +468,7 @@ bool MinigameBbLoogie::updateStatus0(int mouseX, int mouseY, uint mouseButtons)
 		_objects[2].kind = 1;
 	}
 
-	if (_vm->_gameDescription->flags & ADGF_DEMO) {
+	if (_vm->isDemo()) {
 		_objects[0].frameIndex = 0;
 	}
 
@@ -576,7 +576,7 @@ bool MinigameBbLoogie::updateStatus2(int mouseX, int mouseY, uint mouseButtons)
 	} else if (_bonusDisplayDelay2 > 0) {
 		if (--_bonusDisplayDelay2 == 0) {
 			_bonusDisplayDelay3 = 150;
-			if (!(_vm->_gameDescription->flags & ADGF_DEMO)) {
+			if (!_vm->isDemo()) {
 				playSound(38);
 			}
 		} else if (_timeBonusCtr > 0) {
@@ -890,7 +890,7 @@ void MinigameBbLoogie::updateCar(int objIndex) {
 				loogieObj->ticks = getAnimation(5)->frameTicks[12];
 				obj->frameIndex = 4;
 				obj->ticks = getAnimation(2)->frameTicks[4];
-				if (!(_vm->_gameDescription->flags & ADGF_DEMO)) {
+				if (!_vm->isDemo()) {
 					playSound(34);
 				}
 				playRndSound();
@@ -927,7 +927,7 @@ void MinigameBbLoogie::updateBike(int objIndex) {
 				loogieObj->ticks = getAnimation(5)->frameTicks[12];
 				obj->frameIndex = 4;
 				obj->ticks = getAnimation(3)->frameTicks[4];
-				if (!(_vm->_gameDescription->flags & ADGF_DEMO)) {
+				if (!_vm->isDemo()) {
 					playSound(35);
 				}
 				playRndSound();
@@ -964,7 +964,7 @@ void MinigameBbLoogie::updateSquirrel(int objIndex) {
 				obj->x += kSquirrelOffX[obj->frameIndex];
 				obj->frameIndex = obj->frameIndex < 29 ? 54 : 58;
 				obj->ticks = getAnimation(7)->frameTicks[obj->frameIndex];
-				if (!(_vm->_gameDescription->flags & ADGF_DEMO)) {
+				if (!_vm->isDemo()) {
 					playSound(36);
 				}
 				playRndSound();
@@ -999,7 +999,7 @@ void MinigameBbLoogie::updatePaperPlane(int objIndex) {
 				obj->frameIndex = (obj->frameIndex + 1) % 8;
 				obj->xIncr = kPlaneOffX[obj->frameIndex];
 				obj->yIncr = kPlaneOffY[obj->frameIndex];
-				if (!(_vm->_gameDescription->flags & ADGF_DEMO)) {
+				if (!_vm->isDemo()) {
 					playSound(37);
 				}
 				playRndSound();
@@ -1310,7 +1310,7 @@ void MinigameBbLoogie::playRndSound() {
 
 bool MinigameBbLoogie::run(bool fromMainGame) {
 
-	if (!_vm->isLoogieDemo()) {
+	if (!_vm->isLoogieDemo() && !_vm->isLoogieAltDemo()) {
 		Common::strlcpy(_prefix, "bbloogie/", 20);
 	} else {
 		_prefix[0] = 0;
@@ -1320,7 +1320,7 @@ bool MinigameBbLoogie::run(bool fromMainGame) {
 
 	_numbersAnim = getAnimation(9);
 
-	if (_vm->_gameDescription->flags & ADGF_DEMO) {
+	if (_vm->isDemo() && !_vm->isLoogieAltDemo()) {
 		_backgroundSpriteIndex = 209;
 		_titleScreenSpriteIndex = 210;
 	} else {
@@ -1403,7 +1403,7 @@ void MinigameBbLoogie::update() {
 }
 
 void MinigameBbLoogie::loadSounds() {
-	if (_vm->_gameDescription->flags & ADGF_DEMO) {
+	if (_vm->isDemo()) {
 		for (uint i = 0; i < kDemoSoundFilenamesCount; ++i) {
 			Common::String filename = Common::String::format("%s%s", _prefix, kDemoSoundFilenames[i]);
 			_vm->_sound->loadSound(filename.c_str());
diff --git a/engines/bbvs/scene.cpp b/engines/bbvs/scene.cpp
index 4d5b52438c..64b5a9766d 100644
--- a/engines/bbvs/scene.cpp
+++ b/engines/bbvs/scene.cpp
@@ -215,7 +215,7 @@ bool BbvsEngine::changeScene() {
 		_sceneVisited[_currSceneNum] = 1;
 		_playVideoNumber = _newSceneNum - 30;
 		_currSceneNum = _newSceneNum;
-		if (_gameDescription->flags & ADGF_DEMO)
+		if (isDemo())
 			_newSceneNum = kAfterVideoSceneNumDemo[_playVideoNumber];
 		else
 			_newSceneNum = kAfterVideoSceneNum[_playVideoNumber];




More information about the Scummvm-git-logs mailing list