[Scummvm-git-logs] scummvm master -> 39b2a2f13787d254db2b227d74421a2a50eeedd3

dreammaster dreammaster at scummvm.org
Fri Feb 2 02:15:15 CET 2018


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:
39b2a2f137 XEEN: Implemented remainder of World of Xeen ending


Commit: 39b2a2f13787d254db2b227d74421a2a50eeedd3
    https://github.com/scummvm/scummvm/commit/39b2a2f13787d254db2b227d74421a2a50eeedd3
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-02-01T20:15:09-05:00

Commit Message:
XEEN: Implemented remainder of World of Xeen ending

Changed paths:
    engines/xeen/music.cpp
    engines/xeen/music.h
    engines/xeen/resources.cpp
    engines/xeen/resources.h
    engines/xeen/scripts.cpp
    engines/xeen/worldofxeen/worldofxeen.cpp
    engines/xeen/worldofxeen/worldofxeen.h
    engines/xeen/worldofxeen/worldofxeen_cutscenes.cpp
    engines/xeen/worldofxeen/worldofxeen_cutscenes.h
    engines/xeen/xeen.h


diff --git a/engines/xeen/music.cpp b/engines/xeen/music.cpp
index c9a62d5..42cb446 100644
--- a/engines/xeen/music.cpp
+++ b/engines/xeen/music.cpp
@@ -759,4 +759,8 @@ void Music::updateSoundSettings() {
 		stopSong();
 }
 
+bool Music::isMusicPlaying() const {
+	return _musicDriver->isPlaying();
+}
+
 } // End of namespace Xeen
diff --git a/engines/xeen/music.h b/engines/xeen/music.h
index 83355cb..ac1f784 100644
--- a/engines/xeen/music.h
+++ b/engines/xeen/music.h
@@ -171,6 +171,11 @@ public:
 	 * Executes special music command
 	 */
 	virtual int songCommand(uint commandId, byte volume = 0);
+
+	/**
+	 * Returns whether music is currently playing
+	 */
+	bool isPlaying() const { return _musicPlaying; }
 };
 
 class AdlibMusicDriver : public MusicDriver {
@@ -371,6 +376,11 @@ public:
 	}
 
 	/**
+	 * Returns true if music is playing
+	 */
+	bool isMusicPlaying() const;
+
+	/**
 	 * Sets whether music is on
 	 */
 	void setMusicOn(bool isOn);
diff --git a/engines/xeen/resources.cpp b/engines/xeen/resources.cpp
index 1239dd9..ddea6ca 100644
--- a/engines/xeen/resources.cpp
+++ b/engines/xeen/resources.cpp
@@ -1693,7 +1693,7 @@ const char *const Resources::NO_LOADING_IN_COMBAT =
 	"No Loading Allowed in Combat!";
 const char *const Resources::NO_SAVING_IN_COMBAT =
 	"No Saving Allowed in Combat!";
-const char *const Resources::WORLD_END_TEXT[8] = {
+const char *const Resources::WORLD_END_TEXT[9] = {
 	"\n\n\n\n\n\n\n"
 	"Congratulations Adventurers!\n\n"
 	"Let the unification ceremony begin!",
@@ -1704,7 +1704,30 @@ const char *const Resources::WORLD_END_TEXT[8] = {
 	"\xB""026Queen Kalindra presented the Cube of Power.",
 	"\xB""026Prince Roland presented the Xeen Sceptre.",
 	"\xB""026Together, they placed the Cube of Power...",
-	"\xB""026and the Sceptre, onto the Altar of Joining."
+	"\xB""026and the Sceptre, onto the Altar of Joining.",
+	"With the prophecy complete, the two sides of Xeen were united as one",
+};
+
+const char *const Resources::WORLD_CONGRATULATIONS =
+	"\x3""cCongratulations\n\n"
+	"Your Final Score is:\n\n"
+	"%010lu\n"
+	"\x3l\n"
+	"Please send this score to the Ancient's Headquarters where "
+	"you'll be added to the Hall of Legends!\n\n"
+	"Ancient's Headquarters\n"
+	"New World Computing, Inc.\n"
+	"P.O. Box 4302\n"
+	"Hollywood, CA 90078";
+const char *const Resources::WORLD_CONGRATULATIONS2 =
+	"\n\n\n\n\n\n"
+	"But wait... there's more!\n"
+	"\n\n"
+	"Include the message\n"
+	"\"%s\"\n"
+	"with your final score and receive a special bonus.";
+const char *const Resources::GOOBER[3] = {
+	"", "I am a Goober!", "I am a Super Goober!"
 };
 
 } // End of namespace Xeen
diff --git a/engines/xeen/resources.h b/engines/xeen/resources.h
index de031db..0144d9b 100644
--- a/engines/xeen/resources.h
+++ b/engines/xeen/resources.h
@@ -361,7 +361,10 @@ public:
 	static const char *const MR_WIZARD;
 	static const char *const NO_LOADING_IN_COMBAT;
 	static const char *const NO_SAVING_IN_COMBAT;
-	static const char *const WORLD_END_TEXT[8];
+	static const char *const WORLD_END_TEXT[9];
+	static const char *const WORLD_CONGRATULATIONS;
+	static const char *const WORLD_CONGRATULATIONS2;
+	static const char *const GOOBER[3];
 public:
 	/**
 	 * Initializes an instnace of the resources
diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp
index 255b9e5..3693bdd 100644
--- a/engines/xeen/scripts.cpp
+++ b/engines/xeen/scripts.cpp
@@ -1456,7 +1456,8 @@ void Scripts::doEnding(const Common::String &endStr) {
 		}
 	}
 
-	g_vm->showCutscene(endStr);
+	// TODO: Pass proper score
+	g_vm->showCutscene(endStr, state, 42);
 	g_vm->_quitMode = QMODE_MENU;
 }
 
diff --git a/engines/xeen/worldofxeen/worldofxeen.cpp b/engines/xeen/worldofxeen/worldofxeen.cpp
index 87b4013..7229a4d 100644
--- a/engines/xeen/worldofxeen/worldofxeen.cpp
+++ b/engines/xeen/worldofxeen/worldofxeen.cpp
@@ -165,7 +165,7 @@ void WorldOfXeenEngine::death() {
 	w.update();
 }
 
-void WorldOfXeenEngine::showCutscene(const Common::String &name) {
+void WorldOfXeenEngine::showCutscene(const Common::String &name, int status, uint score) {
 	_sound->stopAllAudio();
 
 	if (name == "ENDGAME")
@@ -173,7 +173,7 @@ void WorldOfXeenEngine::showCutscene(const Common::String &name) {
 	else if (name == "ENDGAME2")
 		showDarkSideEnding();
 	else if (name == "WORLDEND")
-		showWorldOfXeenEnding();
+		showWorldOfXeenEnding((GooberState)status, score);
 }
 
 } // End of namespace WorldOfXeen
diff --git a/engines/xeen/worldofxeen/worldofxeen.h b/engines/xeen/worldofxeen/worldofxeen.h
index 907bda0..1122115 100644
--- a/engines/xeen/worldofxeen/worldofxeen.h
+++ b/engines/xeen/worldofxeen/worldofxeen.h
@@ -61,7 +61,7 @@ public:
 	/**
 	 * Show a cutscene
 	 */
-	virtual void showCutscene(const Common::String &name);
+	virtual void showCutscene(const Common::String &name, int status, uint score);
 
 	/**
 	 * Set the next overall game action to do
diff --git a/engines/xeen/worldofxeen/worldofxeen_cutscenes.cpp b/engines/xeen/worldofxeen/worldofxeen_cutscenes.cpp
index 4b07359..170a2ca 100644
--- a/engines/xeen/worldofxeen/worldofxeen_cutscenes.cpp
+++ b/engines/xeen/worldofxeen/worldofxeen_cutscenes.cpp
@@ -27,7 +27,10 @@
 namespace Xeen {
 namespace WorldOfXeen {
 
-void WorldOfXeenCutscenes::showWorldOfXeenEnding() {
+void WorldOfXeenCutscenes::showWorldOfXeenEnding(GooberState state, uint score) {
+	_goober = state;
+	_finalScore = score;
+
 	worldEnding1();
 	if (!_vm->shouldQuit())
 		worldEnding2();
@@ -80,7 +83,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 
 	sound.playSong("nwblksmt.m");
 	screen.blitFrom(savedBg);
-	setWorldEndingSubtitle(Res.WORLD_END_TEXT[1]);
+	setSubtitle(Res.WORLD_END_TEXT[1]);
 	w0.update();
 	screen.fadeIn();
 
@@ -94,7 +97,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		events.updateGameCounter();
 		screen.blitFrom(savedBg);
 		sc02.draw(0, idx);
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[1]);
+		setSubtitle(Res.WORLD_END_TEXT[1]);
 		w0.update();
 
 		events.wait(2);
@@ -128,7 +131,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 			xp = SCREEN_WIDTH;
 
 		if (idx > 120)
-			setWorldEndingSubtitle(Res.WORLD_END_TEXT[2]);
+			setSubtitle(Res.WORLD_END_TEXT[2]);
 		w0.update();
 		events.wait(2);
 	}
@@ -140,7 +143,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		tower2.draw(0, 1, Common::Point(SCREEN_WIDTH / 2, 0), SPRFLAG_800);
 		sc3b[frame2 / 30].draw(frame2 % 30, 0, Common::Point(43, 65), SPRFLAG_800);
 
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[2]);
+		setSubtitle(Res.WORLD_END_TEXT[2]);
 		w0.update();
 		events.wait(2);
 	}
@@ -169,7 +172,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 	screen.loadBackground("eg140001.raw");
 	savedBg.blitFrom(screen);
 	w0.update();
-	setWorldEndingSubtitle(Res.WORLD_END_TEXT[3]);
+	setSubtitle(Res.WORLD_END_TEXT[3]);
 	screen.fadeIn();
 
 	for (int idx1 = 0; idx1 < 2 && !_vm->shouldQuit(); ++idx1) {
@@ -177,7 +180,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 			events.updateGameCounter();
 			screen.blitFrom(savedBg);
 			sc14.draw(0, idx2, Common::Point(141, 63));
-			setWorldEndingSubtitle(Res.WORLD_END_TEXT[3]);
+			setSubtitle(Res.WORLD_END_TEXT[3]);
 
 			w0.update();
 			events.wait(2);
@@ -193,7 +196,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 			events.updateGameCounter();
 			screen.blitFrom(savedBg);
 			sc14.draw(0, idx2, Common::Point(26, 21));
-			setWorldEndingSubtitle(Res.WORLD_END_TEXT[4]);
+			setSubtitle(Res.WORLD_END_TEXT[4]);
 
 			w0.update();
 			events.wait(2);
@@ -203,7 +206,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 	screen.blitFrom(savedBg);
 	sc13.draw(0, 5, Common::Point(26, 21));
 	savedBg.blitFrom(screen);
-	setWorldEndingSubtitle(Res.WORLD_END_TEXT[4]);
+	setSubtitle(Res.WORLD_END_TEXT[4]);
 	w0.update();
 
 	frame = 0;
@@ -215,7 +218,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		screen.blitFrom(savedBg);
 		sc17.draw(0, 0, Common::Point(33, idx), SPRFLAG_4000);
 		sc17.draw(0, frame, Common::Point(33, idx), SPRFLAG_4000);
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[4]);
+		setSubtitle(Res.WORLD_END_TEXT[4]);
 
 		w0.update();
 		events.wait(2);
@@ -230,7 +233,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		screen.blitFrom(savedBg);
 		sc17.draw(0, 0, Common::Point(33, 68), SPRFLAG_4000);
 		sc17.draw(0, idx, Common::Point(33, 68), SPRFLAG_4000);
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[4]);
+		setSubtitle(Res.WORLD_END_TEXT[4]);
 
 		w0.update();
 		events.wait(2);
@@ -240,7 +243,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		return;
 	screen.blitFrom(savedBg);
 	sc17.draw(0, 0, Common::Point(33, 68), SPRFLAG_4000);
-	setWorldEndingSubtitle(Res.WORLD_END_TEXT[4]);
+	setSubtitle(Res.WORLD_END_TEXT[4]);
 	w0.update();
 	screen.fadeOut();
 
@@ -268,7 +271,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 			events.updateGameCounter();
 			screen.blitFrom(savedBg);
 			sc10.draw(0, idx2, Common::Point(26, 21));
-			setWorldEndingSubtitle(Res.WORLD_END_TEXT[5]);
+			setSubtitle(Res.WORLD_END_TEXT[5]);
 
 			w0.update();
 			events.wait(3);
@@ -276,14 +279,14 @@ void WorldOfXeenCutscenes::worldEnding1() {
 	}
 
 	screen.blitFrom(savedBg);
-	setWorldEndingSubtitle(Res.WORLD_END_TEXT[5]);
+	setSubtitle(Res.WORLD_END_TEXT[5]);
 	w0.update();
 
 	for (int idx = 185; idx > 13 && !_vm->shouldQuit(); idx -= 6) {
 		events.updateGameCounter();
 		screen.blitFrom(savedBg);
 		staff.draw(0, 0, Common::Point(196, idx), SPRFLAG_4000);
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[5]);
+		setSubtitle(Res.WORLD_END_TEXT[5]);
 
 		w0.update();
 		events.wait(2);
@@ -331,7 +334,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		sc20[0].draw(0, 0, Common::Point(26, 55));
 		hands.draw(0, 0, Common::Point(58, 17));
 		cube.draw(0, 0, Common::Point(101, 11), SPRFLAG_4000);
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[6]);
+		setSubtitle(Res.WORLD_END_TEXT[6]);
 
 		w0.update();
 		events.wait(2);
@@ -347,7 +350,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		sc20[0].draw(0, 0, Common::Point(26, 55));
 		hands.draw(0, 0, Common::Point(58, 17));
 		cube.draw(0, frame, Common::Point(101, 11), SPRFLAG_4000);
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[6]);
+		setSubtitle(Res.WORLD_END_TEXT[6]);
 
 		w0.update();
 		events.wait(2);
@@ -363,7 +366,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		screen.blitFrom(savedBg);
 		sc20[0].draw(0, 0, Common::Point(26, 55));
 		cube.draw(0, frame, Common::Point(101, idx), SPRFLAG_4000);
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[6]);
+		setSubtitle(Res.WORLD_END_TEXT[6]);
 
 		w0.update();
 		events.wait(2);
@@ -384,7 +387,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		events.updateGameCounter();
 		screen.blitFrom(savedBg);
 		sc20[idx / 7].draw(0, idx % 7, Common::Point(26, 55));
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[6]);
+		setSubtitle(Res.WORLD_END_TEXT[6]);
 
 		w0.update();
 		events.wait(2);
@@ -397,7 +400,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		events.updateGameCounter();
 		screen.blitFrom(savedBg);
 		sc20[2].draw(0, idx, Common::Point(26, 55));
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[6]);
+		setSubtitle(Res.WORLD_END_TEXT[6]);
 
 		w0.update();
 		events.wait(3);
@@ -407,7 +410,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		events.updateGameCounter();
 		screen.blitFrom(savedBg);
 		sc20[3].draw(0, idx, Common::Point(26, 55));
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[6]);
+		setSubtitle(Res.WORLD_END_TEXT[6]);
 
 		w0.update();
 		events.wait(4);
@@ -416,7 +419,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 	if (_vm->shouldQuit())
 		return;
 	screen.blitFrom(savedBg);
-	setWorldEndingSubtitle(Res.WORLD_END_TEXT[6]);
+	setSubtitle(Res.WORLD_END_TEXT[6]);
 	w0.update();
 	events.updateGameCounter();
 	events.wait(30);
@@ -436,7 +439,7 @@ void WorldOfXeenCutscenes::worldEnding1() {
 		events.updateGameCounter();
 		screen.blitFrom(savedBg);
 		sc22[idx / 20].draw(0, idx % 20, Common::Point(112, 17));
-		setWorldEndingSubtitle(Res.WORLD_END_TEXT[7]);
+		setSubtitle(Res.WORLD_END_TEXT[7]);
 
 		w0.update();
 		events.wait(3);
@@ -567,7 +570,16 @@ void WorldOfXeenCutscenes::worldEnding4() {
 	Window &w0 = windows[0];
 	Graphics::ManagedSurface savedBg(SCREEN_WIDTH, SCREEN_HEIGHT);
 
-	SpriteResource sc27("sc27.eg2");
+	SpriteResource sc27("sc27.eg2"), sc30("sc30.eg2");
+	SpriteResource sc28[14] = {
+		SpriteResource("sc28a.eg2"), SpriteResource("sc28b1.eg2"),
+		SpriteResource("sc28c.eg2"), SpriteResource("sc28d.eg2"),
+		SpriteResource("sc28e.eg2"), SpriteResource("sc28f.eg2"),
+		SpriteResource("sc28g.eg2"), SpriteResource("sc28h.eg2"),
+		SpriteResource("sc28i.eg2"), SpriteResource("sc28j.eg2"),
+		SpriteResource("sc28k.eg2"), SpriteResource("sc28l.eg2"),
+		SpriteResource("sc28m.eg2"), SpriteResource("sc28n.eg2"),
+	};
 
 	screen.fadeOut();
 	screen.loadBackground("eg270001.raw");
@@ -591,11 +603,68 @@ void WorldOfXeenCutscenes::worldEnding4() {
 	sound.stopSound();
 	screen.fadeOut();
 
+	screen.loadBackground("eg280001.raw");
+	savedBg.blitFrom(screen);
+	w0.update();
+	screen.fadeIn();
+
+	for (int idx = 0; idx < 138 && !_vm->shouldQuit(); ++idx) {
+		if (!sound.isPlaying() && idx > 98)
+			sound.playSound("rumble.voc");
+
+		events.updateGameCounter();
+		sc28[idx / 10].draw(0, idx % 10, Common::Point(52, 15));
+
+		w0.update();
+		events.wait(2);
+	}
+
+	sound.stopSound();
+	if (_vm->shouldQuit())
+		return;
+
+	screen.loadPalette("white.pal");
+	screen.fadeIn();
+	sound.playSound("explosio.voc");
+	events.updateGameCounter();
+	events.wait(10);
+	if (_vm->shouldQuit())
+		return;
+
+	screen.loadPalette("eg250001.pal");
+	screen.fadeOut();
+
+	for (int idx1 = 0; idx1 < 20 && !_vm->shouldQuit(); ++idx1) {
+		for (int idx2 = 0; idx2 < 4 && !_vm->shouldQuit(); ++idx2) {
+			sc30.draw(0, idx2);
+			setSubtitle2(Res.WORLD_END_TEXT[8]);
+			w0.update();
+
+			if (!idx1 && !idx2)
+				screen.fadeIn();
+			//if (idx1 == 17) ??MUSIC
+			events.wait(2);
+		}
+	}
+
+	screen.fadeOut();
+	while (sound.isMusicPlaying() && !_vm->shouldQuit()) {
+		events.updateGameCounter();
+		events.wait(2);
+	}
+	if (_vm->shouldQuit())
+		return;
+
+	sound.playSong("outday3.m");
 
-	// TODO
+	Common::String gooberStr = Res.GOOBER[_goober];
+	Common::String congratsStr1 = Common::String::format(Res.WORLD_CONGRATULATIONS, _finalScore);
+	Common::String congratsStr2 = _goober == NON_GOOBER ? "" :
+		Common::String::format(Res.WORLD_CONGRATULATIONS2, gooberStr.c_str());
+	showPharaohEndText(congratsStr1.c_str(), congratsStr2.c_str());
 }
 
-void WorldOfXeenCutscenes::setWorldEndingSubtitle(const Common::String &msg) {
+void WorldOfXeenCutscenes::setSubtitle(const Common::String &msg) {
 	Windows &windows = *_vm->_windows;
 	const char *const FORMAT1 = "\xB""000\t000\xC""38\x3""c%s";
 	const char *const FORMAT2 = "\xB""000\t000\xC""39\x3""c%s";
@@ -603,5 +672,13 @@ void WorldOfXeenCutscenes::setWorldEndingSubtitle(const Common::String &msg) {
 	windows[28].writeString(Common::String::format(FORMAT2, msg.c_str()));
 }
 
+void WorldOfXeenCutscenes::setSubtitle2(const Common::String &msg) {
+	Windows &windows = *_vm->_windows;
+	const char *const FORMAT1 = "\xB""000\t000\xC""05\x3""c%s";
+	const char *const FORMAT2 = "\xB""000\t000\xC""11\x3""c%s";
+	windows[28].writeString(Common::String::format(FORMAT1, msg.c_str()));
+	windows[28].writeString(Common::String::format(FORMAT2, msg.c_str()));
+}
+
 } // End of namespace WorldOfXeen
 } // End of namespace Xeen
diff --git a/engines/xeen/worldofxeen/worldofxeen_cutscenes.h b/engines/xeen/worldofxeen/worldofxeen_cutscenes.h
index 0e6b22c..bd78593 100644
--- a/engines/xeen/worldofxeen/worldofxeen_cutscenes.h
+++ b/engines/xeen/worldofxeen/worldofxeen_cutscenes.h
@@ -30,15 +30,26 @@
 namespace Xeen {
 namespace WorldOfXeen {
 
+enum GooberState {
+	NON_GOOBER = 0, GOOBER = 1, SUPER_GOOBER = 2
+};
+
 class WorldOfXeenCutscenes : public CloudsCutscenes,
 	public DarkSideCutscenes {
 private:
 	XeenEngine *_vm;
+	GooberState _goober;
+	uint _finalScore;
 private:
 	/**
 	 * Sets a subtitle during the world of xeen ending
 	 */
-	void setWorldEndingSubtitle(const Common::String &msg);
+	void setSubtitle(const Common::String &msg);
+
+	/**
+	 * Sets a subtitle during the world of xeen ending
+	 */
+	void setSubtitle2(const Common::String &msg);
 
 	/**
 	 * Part 1 of World of Xeen ending
@@ -63,10 +74,10 @@ protected:
 	/**
 	 * Shows the World of Xeen ending sequence
 	 */
-	void showWorldOfXeenEnding();
+	void showWorldOfXeenEnding(GooberState state, uint score);
 public:
 	WorldOfXeenCutscenes(XeenEngine *vm) : _vm(vm), CloudsCutscenes(vm),
-		DarkSideCutscenes(vm) {}
+		DarkSideCutscenes(vm), _goober(NON_GOOBER), _finalScore(0) {}
 };
 
 } // End of namespace WorldOfXeen
diff --git a/engines/xeen/xeen.h b/engines/xeen/xeen.h
index 34ed538..a8e6441 100644
--- a/engines/xeen/xeen.h
+++ b/engines/xeen/xeen.h
@@ -202,8 +202,11 @@ public:
 
 	/**
 	 * Show a cutscene
+	 * @param name		Name of cutscene
+	 * @param status	For World of Xeen, Goober status
+	 * @param score		Final score
 	 */
-	virtual void showCutscene(const Common::String &name) {}
+	virtual void showCutscene(const Common::String &name, int status, uint score) {}
 
 	static Common::String printMil(uint value);
 





More information about the Scummvm-git-logs mailing list