[Scummvm-git-logs] scummvm master -> 9f344b99e6b07a167a58e5934347f79f75168aaa

sev- sev at scummvm.org
Mon Aug 24 21:54:14 UTC 2020


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

Summary:
886e3544e3 BBVS: Support for the Loogie demo
9f344b99e6 NEWS: Mention BBVS Loogie minigame demo support


Commit: 886e3544e36fa23f41c177059999dab2f02b5710
    https://github.com/scummvm/scummvm/commit/886e3544e36fa23f41c177059999dab2f02b5710
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-24T23:52:38+02:00

Commit Message:
BBVS: Support for the Loogie demo

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


diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp
index 8d65a54e47..e0d9f36787 100644
--- a/engines/bbvs/bbvs.cpp
+++ b/engines/bbvs/bbvs.cpp
@@ -177,6 +177,20 @@ Common::Error BbvsEngine::run() {
 	_spriteModule = new SpriteModule();
 	_sound = new SoundMan();
 
+	if (isLoogieDemo()) {
+		Minigame *minigame = new MinigameBbLoogie(this);
+
+		minigame->run(true);
+
+		delete minigame;
+		delete _sound;
+		delete _spriteModule;
+		delete _gameModule;
+		delete _screen;
+
+		return Common::kNoError;
+	}
+
 	allocSnapshot();
 
 	newGame();
diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h
index 1d8cfa3c60..84dee3a2b9 100644
--- a/engines/bbvs/bbvs.h
+++ b/engines/bbvs/bbvs.h
@@ -229,6 +229,8 @@ public:
 	const Common::String getTargetName() { return _targetName; }
 	const ADGameDescription *_gameDescription;
 
+	bool isLoogieDemo() const;
+
 private:
 	Graphics::PixelFormat _pixelFormat;
 
diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp
index 4cae78e4cc..ddbf173384 100644
--- a/engines/bbvs/detection.cpp
+++ b/engines/bbvs/detection.cpp
@@ -34,8 +34,16 @@ static const PlainGameDescriptor bbvsGames[] = {
 	{ 0, 0 }
 };
 
+enum BBVSGameFeatures {
+	GF_LOOGIE_DEMO = (1 << 0)
+};
+
 namespace Bbvs {
 
+bool BbvsEngine::isLoogieDemo() const {
+	return _gameDescription->flags & GF_LOOGIE_DEMO;
+}
+
 static const ADGameDescription gameDescriptions[] = {
 	{
 		"bbvs",
@@ -46,6 +54,7 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_DROPPLATFORM,
 		GUIO1(GUIO_NOMIDI)
 	},
+
 	{
 		"bbvs",
 		"Demo",
@@ -55,6 +64,17 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_DEMO | ADGF_DROPPLATFORM,
 		GUIO1(GUIO_NOMIDI)
 	},
+
+	{
+		"bbvs",
+		"Loogie Demo",
+		AD_ENTRY1s("BBLOOGIE.000", "607d3bf55ec6458dce484473b1eecb4d", 324416),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		GF_LOOGIE_DEMO | ADGF_DEMO | ADGF_DROPPLATFORM,
+		GUIO1(GUIO_NOMIDI)
+	},
+
 	{
 		"bbvs",
 		0,
diff --git a/engines/bbvs/minigames/bbloogie.cpp b/engines/bbvs/minigames/bbloogie.cpp
index b7c5cd6eb4..6e45c16faf 100644
--- a/engines/bbvs/minigames/bbloogie.cpp
+++ b/engines/bbvs/minigames/bbloogie.cpp
@@ -1310,6 +1310,12 @@ void MinigameBbLoogie::playRndSound() {
 
 bool MinigameBbLoogie::run(bool fromMainGame) {
 
+	if (!_vm->isLoogieDemo()) {
+		Common::strlcpy(_prefix, "bbloogie/", 20);
+	} else {
+		_prefix[0] = 0;
+	}
+
 	memset(_objects, 0, sizeof(_objects));
 
 	_numbersAnim = getAnimation(9);
@@ -1336,7 +1342,7 @@ bool MinigameBbLoogie::run(bool fromMainGame) {
 	initVars();
 
 	_spriteModule = new SpriteModule();
-	_spriteModule->load("bbloogie/bbloogie.000");
+	_spriteModule->load(Common::String::format("%sbbloogie.000", _prefix).c_str());
 
 	Palette palette = _spriteModule->getPalette();
 	_vm->_screen->setPalette(palette);
@@ -1399,12 +1405,12 @@ void MinigameBbLoogie::update() {
 void MinigameBbLoogie::loadSounds() {
 	if (_vm->_gameDescription->flags & ADGF_DEMO) {
 		for (uint i = 0; i < kDemoSoundFilenamesCount; ++i) {
-			Common::String filename = Common::String::format("bbloogie/%s", kDemoSoundFilenames[i]);
+			Common::String filename = Common::String::format("%s%s", _prefix, kDemoSoundFilenames[i]);
 			_vm->_sound->loadSound(filename.c_str());
 		}
 	} else {
 		for (uint i = 0; i < kSoundFilenamesCount; ++i) {
-			Common::String filename = Common::String::format("bbloogie/%s", kSoundFilenames[i]);
+			Common::String filename = Common::String::format("%s%s", _prefix, kSoundFilenames[i]);
 			_vm->_sound->loadSound(filename.c_str());
 		}
 	}
diff --git a/engines/bbvs/minigames/bbloogie.h b/engines/bbvs/minigames/bbloogie.h
index 3570d69929..4a275dcfe8 100644
--- a/engines/bbvs/minigames/bbloogie.h
+++ b/engines/bbvs/minigames/bbloogie.h
@@ -82,6 +82,8 @@ public:
 	int _principalCtr, _principalFirstFrameIndex, _principalLastFrameIndex;
 	bool _principalAngry;
 
+	char _prefix[20];
+
 	const ObjAnimation *getAnimation(int animIndex);
 
 	void buildDrawList(DrawList &drawList);


Commit: 9f344b99e6b07a167a58e5934347f79f75168aaa
    https://github.com/scummvm/scummvm/commit/9f344b99e6b07a167a58e5934347f79f75168aaa
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-24T23:53:50+02:00

Commit Message:
NEWS: Mention BBVS Loogie minigame demo support

Changed paths:
    NEWS.md


diff --git a/NEWS.md b/NEWS.md
index e3c0a638ce..afee65e5bc 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -29,6 +29,7 @@ For a more comprehensive changelog of the latest experimental code, see:
 
  BBVS:
    - Added support for the demo, available from our website.
+   - Added support for the Loogie minigame demo.
 
  Dreamweb:
    - Added support for Russian fan-translation.




More information about the Scummvm-git-logs mailing list