[Scummvm-git-logs] scummvm master -> d9d8106fb620800c3f68efdbf7919d9481da97f6

neuromancer neuromancer at users.noreply.github.com
Thu Nov 11 19:58:20 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:
d9d8106fb6 HYPNO: added support to play credits video in spider


Commit: d9d8106fb620800c3f68efdbf7919d9481da97f6
    https://github.com/scummvm/scummvm/commit/d9d8106fb620800c3f68efdbf7919d9481da97f6
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2021-11-11T20:57:17+01:00

Commit Message:
HYPNO: added support to play credits video in spider

Changed paths:
    engines/hypno/hypno.h
    engines/hypno/spider/spider.cpp


diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index 211d356946..30c2b30e24 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -263,6 +263,7 @@ public:
 	void loadAssets() override;
 	void loadAssetsDemo();
 	void loadAssetsFullGame();
+	void showCredits() override;
 
 	void drawShoot(const Common::Point &target) override;
 	void drawPlayer() override;
diff --git a/engines/hypno/spider/spider.cpp b/engines/hypno/spider/spider.cpp
index 37e82a2e6c..af142455be 100644
--- a/engines/hypno/spider/spider.cpp
+++ b/engines/hypno/spider/spider.cpp
@@ -54,6 +54,11 @@ void SpiderEngine::loadAssetsFullGame() {
 	if (missions == nullptr || missions->listMembers(files) == 0)
 		error("Failed to load any file from missions.lib");
 
+	Code *credits = new Code();
+	credits->name = "credits";
+	credits->prefix = prefix;
+	_levels["credits"] = credits;
+
 	Scene *sc;
 	ChangeLevel *cl;
 
@@ -117,6 +122,9 @@ void SpiderEngine::loadAssetsFullGame() {
 	cl = new ChangeLevel("mainmenu.mi_");
 	sc->hots[4].actions.push_back(cl);
 
+	cl = new ChangeLevel("credits");
+	sc->hots[5].actions.push_back(cl);
+
 	sc = (Scene *) _levels["combmenu.mi_"]; 
 
 	cl = new ChangeLevel("options.mi_");
@@ -189,7 +197,7 @@ void SpiderEngine::loadAssetsDemo() {
 	cl = new ChangeLevel("sixdemo/mis/alley.mis");
 	sc->hots[2].actions.push_back(cl);
 
-	cl = new ChangeLevel("sixdemo/puz_matr");
+	cl = new ChangeLevel("puz_matr");
 	sc->hots[3].actions.push_back(cl);
 
 	cl = new ChangeLevel("sixdemo/mis/shoctalk.mis");
@@ -215,17 +223,19 @@ void SpiderEngine::loadAssetsDemo() {
 	loadSceneLevel("sixdemo/mis/shoctalk.mis", "", "sixdemo");
 
 	Code *matrix = new Code();
-	matrix->name = "sixdemo/puz_matr";
+	matrix->name = "puz_matr";
 	matrix->intros.push_back("spiderman/demo/aleyc01s.smk");
 	matrix->levelIfWin = "sixdemo/mis/demo.mis";
 	matrix->levelIfLose = "sixdemo/mis/demo.mis";
-	_levels["sixdemo/puz_matr"] = matrix;
+	_levels["puz_matr"] = matrix;
 	_soundPath = "c_misc/sound.lib/";
 }
 
 void SpiderEngine::runCode(Code *code) {
-	if (code->name == "sixdemo/puz_matr")
+	if (code->name == "puz_matr")
 		runMatrix(code);
+	else if (code->name == "credits")
+		showCredits();
 	else
 		error("invalid puzzle");
 }
@@ -311,4 +321,10 @@ void SpiderEngine::runMatrix(Code *code) {
 	}
 }
 
+void SpiderEngine::showCredits() {
+	MVideo video("cine/credits.smk", Common::Point(0, 0), false, false, false);
+	runIntro(video);
+	_nextLevel = "mainmenu.mi_";
+}
+
 } // End of namespace Hypno




More information about the Scummvm-git-logs mailing list