aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorD G Turner2011-12-05 17:16:43 +0000
committerD G Turner2011-12-05 17:16:43 +0000
commit78c0d0730214fe905042614b597801250a2eb188 (patch)
tree97f3bd79b7cda4217b9b58fedbf3e7c52c6c1337 /engines
parent90861ce48afa81dcb934acac161ff75cb3cee80f (diff)
downloadscummvm-rg350-78c0d0730214fe905042614b597801250a2eb188.tar.gz
scummvm-rg350-78c0d0730214fe905042614b597801250a2eb188.tar.bz2
scummvm-rg350-78c0d0730214fe905042614b597801250a2eb188.zip
DREAMWEB: 'realcredits' ported to C++
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/dreamgen.cpp141
-rw-r--r--engines/dreamweb/dreamgen.h1
-rw-r--r--engines/dreamweb/stubs.cpp157
-rw-r--r--engines/dreamweb/stubs.h1
4 files changed, 158 insertions, 142 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 7c92c4fd9e..7c5d1618b4 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2523,147 +2523,6 @@ void DreamGenContext::loadIntroRoom() {
workToScreen();
}
-void DreamGenContext::realCredits() {
- STACK_CHECK;
- data.byte(kRoomssample) = 33;
- loadRoomsSample();
- data.byte(kVolume) = 0;
- mode640x480();
- cx = 35;
- hangOn();
- dx = 1113;
- showPCX();
- al = 12;
- ah = 0;
- playChannel0();
- cx = 2;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- allPalette();
- cx = 80;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- fadeScreenDowns();
- cx = 256;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- dx = 1126;
- showPCX();
- al = 12;
- ah = 0;
- playChannel0();
- cx = 2;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- allPalette();
- cx = 80;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- fadeScreenDowns();
- cx = 256;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- dx = 1139;
- showPCX();
- al = 12;
- ah = 0;
- playChannel0();
- cx = 2;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- allPalette();
- cx = 80;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- fadeScreenDowns();
- cx = 256;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- dx = 1152;
- showPCX();
- al = 12;
- ah = 0;
- playChannel0();
- cx = 2;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- allPalette();
- cx = 80;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- fadeScreenDowns();
- cx = 256;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- dx = 1165;
- showPCX();
- al = 12;
- ah = 0;
- playChannel0();
- cx = 2;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- allPalette();
- cx = 80;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- fadeScreenDowns();
- cx = 256;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- dx = 1178;
- showPCX();
- fadeScreenUps();
- cx = 60;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- al = 13;
- ah = 0;
- playChannel0();
- cx = 350;
- hangOne();
- _cmp(data.byte(kLasthardkey), 1);
- if (flags.z())
- goto realcreditsearly;
- fadeScreenDowns();
- cx = 256;
- hangOne();
-realcreditsearly:
- data.byte(kLasthardkey) = 0;
-}
-
void DreamGenContext::fillOpen() {
STACK_CHECK;
delTextLine();
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index ebd7698100..cbf65d3b54 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -757,7 +757,6 @@ public:
void useElvDoor();
void putBackObStuff();
void useLadder();
- void realCredits();
void handClap();
void afterIntroRoom();
void findAllOpen();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 5b329f2023..9c879eb968 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -3179,5 +3179,162 @@ void DreamGenContext::bibleQuote() {
data.byte(kLasthardkey) = 0;
}
+void DreamGenContext::realCredits() {
+ data.byte(kRoomssample) = 33;
+ loadRoomsSample();
+ data.byte(kVolume) = 0;
+
+ mode640x480();
+ hangOn(35);
+
+ showPCX("DREAMWEB.I01");
+ playChannel0(12, 0);
+
+ hangOne(2);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ allPalette();
+ hangOne(80);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ fadeScreenDowns();
+ hangOne(256);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ showPCX("DREAMWEB.I02");
+ playChannel0(12, 0);
+ hangOne(2);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ allPalette();
+ hangOne(80);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ fadeScreenDowns();
+ hangOne(256);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ showPCX("DREAMWEB.I03");
+ playChannel0(12, 0);
+ hangOne(2);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ allPalette();
+ hangOne(80);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ fadeScreenDowns();
+ hangOne(256);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ showPCX("DREAMWEB.I04");
+ playChannel0(12, 0);
+ hangOne(2);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ allPalette();
+ hangOne(80);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ fadeScreenDowns();
+ hangOne(256);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ showPCX("DREAMWEB.I05");
+ playChannel0(12, 0);
+ hangOne(2);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ allPalette();
+ hangOne(80);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ fadeScreenDowns();
+ hangOne(256);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ showPCX("DREAMWEB.I06");
+ fadeScreenUps();
+ hangOne(60);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ playChannel0(13, 0);
+ hangOne(350);
+
+ if (data.byte(kLasthardkey) == 1) {
+ data.byte(kLasthardkey) = 0;
+ return; // "realcreditsearly"
+ }
+
+ fadeScreenDowns();
+ hangOne(256);
+
+ data.byte(kLasthardkey) = 0;
+}
+
} /*namespace dreamgen */
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 2715863557..20e33a70ff 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -452,5 +452,6 @@
void showPCX(const ::Common::String &name);
void showPCX();
void bibleQuote();
+ void realCredits();
#endif