aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/stubs.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2011-12-07 00:31:00 +0200
committerFilippos Karapetis2011-12-07 00:31:00 +0200
commit9d93065b0353bef287778ffaf88ad984feca2826 (patch)
treeeae03d1ecf628ac458f0360f6d28e41836be2d9a /engines/dreamweb/stubs.cpp
parent495114037111f4c6a91b6df6a8046916c90aba6b (diff)
downloadscummvm-rg350-9d93065b0353bef287778ffaf88ad984feca2826.tar.gz
scummvm-rg350-9d93065b0353bef287778ffaf88ad984feca2826.tar.bz2
scummvm-rg350-9d93065b0353bef287778ffaf88ad984feca2826.zip
DREAMWEB: 'moretalk' and 'redes' ported to C++
Diffstat (limited to 'engines/dreamweb/stubs.cpp')
-rw-r--r--engines/dreamweb/stubs.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 0598230902..e00ebcd681 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -3769,4 +3769,57 @@ void DreamGenContext::putBackObStuff() {
delPointer();
}
+void DreamGenContext::redes() {
+ if (data.byte(kCh1playing) != 255 || data.byte(kTalkmode) != 2) {
+ blank();
+ return;
+ }
+
+ if (data.byte(kCommandtype) != 217) {
+ data.byte(kCommandtype) = 217;
+ commandOnly(50);
+ }
+
+ if (!(data.word(kMousebutton) & 1))
+ return;
+
+ delPointer();
+ createPanel();
+ showPanel();
+ showMan();
+ showExit();
+ convIcons();
+ startTalk();
+ readMouse();
+ showPointer();
+ workToScreen();
+ delPointer();
+}
+
+void DreamGenContext::moreTalk() {
+ if (data.byte(kTalkmode) != 0) {
+ redes();
+ return;
+ }
+
+ if (data.byte(kCommandtype) != 215) {
+ data.byte(kCommandtype) = 215;
+ commandOnly(49);
+ }
+
+ if (data.word(kMousebutton) == data.word(kOldbutton))
+ return; // nomore
+
+ if (!(data.word(kMousebutton) & 1))
+ return;
+
+ data.byte(kTalkmode) = 2;
+ data.byte(kTalkpos) = 4;
+
+ if (data.byte(kCharacter) < 100)
+ doSomeTalk(); // not second part
+ else
+ data.byte(kTalkpos) = 48;
+}
+
} // End of namespace DreamGen