aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/use.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dreamweb/use.cpp')
-rw-r--r--engines/dreamweb/use.cpp32
1 files changed, 25 insertions, 7 deletions
diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp
index 5a80a33bd5..5cb1f6b92c 100644
--- a/engines/dreamweb/use.cpp
+++ b/engines/dreamweb/use.cpp
@@ -163,10 +163,6 @@ void DreamGenContext::useRoutine() {
data.byte(kCommandtype) = 255;
}
-void DreamGenContext::useText() {
- useText(es.ptr(si, 0));
-}
-
void DreamGenContext::useText(const uint8 *string) {
createPanel();
showPanel();
@@ -1408,7 +1404,6 @@ void DreamGenContext::usePipe() {
putBackObStuff();
} else {
showPuzText(14, 300);
- showPuzText();
putBackObStuff();
}
}
@@ -1572,7 +1567,7 @@ void DreamGenContext::useAltar() {
}
}
-void DreamGenContext::withWhat() {
+void DreamBase::withWhat() {
uint8 commandLine[64] = "OBJECT NAME ONE ";
createPanel();
@@ -1590,7 +1585,7 @@ void DreamGenContext::withWhat() {
data.byte(kCommandtype) = 255;
readMouse();
showPointer();
- workToScreen();
+ workToScreenCPP();
delPointer();
data.byte(kInvopen) = 2;
}
@@ -1666,4 +1661,27 @@ void DreamGenContext::useStereo() {
}
}
+uint16 DreamBase::checkInside(uint16 command, uint16 type) {
+ for (uint16 index = 0; index < kNumexobjects; index++) {
+ DynObject *object = getExAd(index);
+ if (object->mapad[1] == command && object->mapad[0] == type)
+ return index;
+ }
+
+ return kNumexobjects;
+}
+
+void DreamBase::showPuzText(uint16 command, uint16 count) {
+ createPanel();
+ showPanel();
+ showMan();
+ showExit();
+ obIcons();
+ uint16 offset = kTextstart + getSegment(data.word(kPuzzletext)).word(command * 2);
+ const uint8 *string = getSegment(data.word(kPuzzletext)).ptr(offset, 0);
+ printDirect(string, 36, 104, 241, 241 & 1);
+ workToScreenM();
+ hangOnP(count);
+}
+
} // End of namespace DreamGen