aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp37
-rw-r--r--engines/dreamweb/dreamgen.h1
-rw-r--r--engines/dreamweb/stubs.cpp52
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 54 insertions, 38 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index c258de6cd2..3fb7dfaa7e 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -543,6 +543,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'restorereels',
'rockstar',
'roomname',
+ 'runintroseq',
'saveems',
'savefileread',
'savefilewrite',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 356b853029..aaa531ff8e 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -1567,43 +1567,6 @@ void DreamGenContext::showMonk() {
showFrame();
}
-void DreamGenContext::runIntroSeq() {
- STACK_CHECK;
- data.byte(kGetback) = 0;
-moreintroseq:
- vSync();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto earlyendrun;
- spriteUpdate();
- vSync();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto earlyendrun;
- delEverything();
- printSprites();
- reelsOnScreen();
- afterIntroRoom();
- useTimedText();
- vSync();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto earlyendrun;
- dumpMap();
- dumpTimedText();
- vSync();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto earlyendrun;
- _cmp(data.byte(kGetback), 1);
- if (!flags.z())
- goto moreintroseq;
- return;
-earlyendrun:
- getRidOfTempText();
- clearBeforeLoad();
-}
-
void DreamGenContext::runEndSeq() {
STACK_CHECK;
atmospheres();
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 714ce3af2e..ca9f56158c 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -608,7 +608,6 @@ public:
void dirFile();
void pickupConts();
void lockLightOff();
- void runIntroSeq();
void advisor();
void allPalette();
void cantDrop();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 923d0f76af..e75c7cde4f 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -3239,6 +3239,58 @@ void DreamGenContext::realCredits() {
data.byte(kLasthardkey) = 0;
}
+void DreamGenContext::runIntroSeq() {
+ data.byte(kGetback) = 0;
+
+ do {
+ vSync();
+
+ if (data.byte(kLasthardkey) == 1) {
+ getRidOfTempText();
+ clearBeforeLoad();
+ return; // "earlyendrun"
+ }
+
+ spriteUpdate();
+ vSync();
+
+ if (data.byte(kLasthardkey) == 1) {
+ getRidOfTempText();
+ clearBeforeLoad();
+ return; // "earlyendrun"
+ }
+
+ delEverything();
+ printSprites();
+ reelsOnScreen();
+ afterIntroRoom();
+ useTimedText();
+ vSync();
+
+ if (data.byte(kLasthardkey) == 1) {
+ getRidOfTempText();
+ clearBeforeLoad();
+ return; // "earlyendrun"
+ }
+
+ dumpMap();
+ dumpTimedText();
+ vSync();
+
+ if (data.byte(kLasthardkey) == 1) {
+ getRidOfTempText();
+ clearBeforeLoad();
+ return; // "earlyendrun"
+ }
+
+ } while (data.byte(kGetback) != 1);
+
+ // These were not called in this program arc
+ // in the original code.. Bug?
+ //getRidOfTempText();
+ //clearBeforeLoad();
+}
+
void DreamGenContext::intro() {
loadTempText("DREAMWEB.T82");
loadPalFromIFF();
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 97486152c7..2699605bd0 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -500,6 +500,7 @@
void showPCX(const Common::String &name);
void bibleQuote();
void realCredits();
+ void runIntroSeq();
void intro();
void fadeScreenUp();
void fadeScreenUps();