aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdevtools/tasmrecover/tasm-recover2
-rw-r--r--engines/dreamweb/dreamgen.cpp69
-rw-r--r--engines/dreamweb/dreamgen.h2
-rw-r--r--engines/dreamweb/stubs.cpp28
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 31 insertions, 71 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index b989217bf0..cd8d46af4d 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -342,6 +342,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'drunk',
'dumpblink',
'dumpcurrent',
+ 'dumpdiarykeys',
'dumpeverything',
'dumpkeypad',
'dumpmap',
@@ -395,6 +396,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'findormake',
'findroominloc',
'findsource',
+ 'findtext1',
'findxyfrompath',
'finishedwalking',
'folderexit',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 725e682a14..e2b5530b2e 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -4202,75 +4202,6 @@ gotkeyp:
showDiaryPage();
}
-void DreamGenContext::dumpDiaryKeys() {
- STACK_CHECK;
- _cmp(data.byte(kPresscount), 1);
- if (!flags.z())
- goto notdumpdiary;
- _cmp(data.byte(kSartaindead), 1);
- if (flags.z())
- goto notsartadd;
- _cmp(data.byte(kDiarypage), 5);
- if (!flags.z())
- goto notsartadd;
- _cmp(data.byte(kDiarypage), 5);
- if (!flags.z())
- goto notsartadd;
- al = 6;
- getLocation();
- _cmp(al, 1);
- if (flags.z())
- goto notsartadd;
- al = 6;
- setLocation();
- delPointer();
- al = 12;
- findText1();
- di = 70;
- bx = 106;
- dl = 241;
- ah = 16;
- printDirect();
- workToScreenM();
- cx = 200;
- hangOnP();
- createPanel();
- showIcon();
- showDiary();
- showDiaryPage();
- workToScreenM();
- showPointer();
- return;
-notsartadd:
- di = (68+24)+48;
- bx = (48+12)+15;
- cl = 200;
- ch = 16;
- multiDump();
-notdumpdiary:
- di = (68+24)+94;
- bx = (48+12)+97;
- cl = 16;
- ch = 16;
- multiDump();
- di = (68+24)+151;
- bx = (48+12)+71;
- cl = 16;
- ch = 16;
- multiDump();
-}
-
-void DreamGenContext::findText1() {
- STACK_CHECK;
- ah = 0;
- si = ax;
- _add(si, si);
- es = data.word(kTextfile1);
- ax = es.word(si);
- _add(ax, (66*2));
- si = ax;
-}
-
void DreamGenContext::showSlots() {
STACK_CHECK;
di = (60)+7;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index f5c333be36..48b40feb37 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -488,7 +488,6 @@ public:
void clearBuffers();
void getObTextStart();
void checkObjectSize();
- void findText1();
void isRyanHolding();
void showSlots();
void useCashCard();
@@ -507,7 +506,6 @@ public:
void startTalk();
void getAnyAd();
void reminders();
- void dumpDiaryKeys();
void checkForExit();
void lookInInterface();
void inToInv();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 4fc46ad3aa..e753efd72a 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -4599,4 +4599,32 @@ void DreamGenContext::showDiaryPage() {
useCharset1();
}
+void DreamGenContext::dumpDiaryKeys() {
+ if (data.byte(kPresscount) == 1) {
+ if (data.byte(kSartaindead) != 1 && data.byte(kDiarypage) == 5 && DreamBase::getLocation(6) != 1) {
+ // Add Sartain Industries note
+ DreamBase::setLocation(6);
+ delPointer();
+ uint16 offset = kTextstart + getSegment(data.word(kTextfile1)).word(12 * 2);
+ const uint8 *string = getSegment(data.word(kTextfile1)).ptr(offset, 0);
+ uint16 y = 106;
+ printDirect(&string, 70, &y, 241, 241 & 1);
+ workToScreenM();
+ hangOnP(200);
+ createPanel();
+ showIcon();
+ showDiary();
+ showDiaryPage();
+ workToScreenM();
+ showPointer();
+ return;
+ } else {
+ multiDump(kDiaryx + 48, kDiaryy + 15, 200, 16);
+ }
+ }
+
+ multiDump(kDiaryx + 94, kDiaryy + 97, 16, 16);
+ multiDump(kDiaryx + 151, kDiaryy + 71, 16, 16);
+}
+
} // End of namespace DreamGen
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index da01c9b26c..50a8faaf34 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -582,5 +582,6 @@
void updateSymbolTop();
void updateSymbolBot();
void showDiaryPage();
+ void dumpDiaryKeys();
#endif