aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus/pegasus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pegasus/pegasus.cpp')
-rw-r--r--engines/pegasus/pegasus.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp
index 1441ff4f3c..463e81e52e 100644
--- a/engines/pegasus/pegasus.cpp
+++ b/engines/pegasus/pegasus.cpp
@@ -1396,10 +1396,11 @@ void PegasusEngine::die(const DeathReason reason) {
void PegasusEngine::doDeath() {
#ifdef USE_THEORADEC
// The updated demo has a new Theora video for the closing
- if (isDemo() && _deathReason == kPlayerWonGame) {
+ if (isDVDDemo() && _deathReason == kPlayerWonGame) {
Video::TheoraDecoder decoder;
if (decoder.loadFile("Images/Demo TSA/DemoClosing.ogg")) {
+ throwAwayEverything();
decoder.start();
playMovieScaled(&decoder, 0, 0);
}
@@ -1612,12 +1613,14 @@ void PegasusEngine::startNewGame() {
GameState.setPrehistoricBreakerThrown(false);
#ifdef USE_THEORADEC
- // The updated demo has a new Theora video for the closing
- Video::TheoraDecoder decoder;
+ if (isDVD()) {
+ // The updated demo has a new Theora video for the closing
+ Video::TheoraDecoder decoder;
- if (decoder.loadFile("Images/Demo TSA/DemoOpening.ogg")) {
- decoder.start();
- playMovieScaled(&decoder, 0, 0);
+ if (decoder.loadFile("Images/Demo TSA/DemoOpening.ogg")) {
+ decoder.start();
+ playMovieScaled(&decoder, 0, 0);
+ }
}
#endif
} else {