[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