aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp73
-rw-r--r--engines/dreamweb/dreamgen.h1
-rw-r--r--engines/dreamweb/stubs.cpp22
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 24 insertions, 74 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 107b9c8913..e69185d6a7 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -451,6 +451,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'showrightpage',
'showryanpage',
'showseconduse',
+ 'showsymbol',
'showtime',
'showwatch',
'showword',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 0928b25253..f66cef4c93 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -8877,79 +8877,6 @@ void DreamGenContext::dumpSymbol() {
multiDump();
}
-void DreamGenContext::showSymbol() {
- STACK_CHECK;
- al = 12;
- ah = 0;
- di = (64);
- bx = (56);
- ds = data.word(kTempgraphics);
- showFrame();
- al = data.byte(kSymboltopx);
- ah = 0;
- di = ax;
- _add(di, (64)-44);
- al = data.byte(kSymboltopnum);
- bx = (56)+20;
- ds = data.word(kTempgraphics);
- ah = 32;
- push(ax);
- push(di);
- push(bx);
- push(ds);
- showFrame();
- ds = pop();
- bx = pop();
- di = pop();
- ax = pop();
- nextSymbol();
- _add(di, 49);
- push(ax);
- push(di);
- push(bx);
- push(ds);
- showFrame();
- ds = pop();
- bx = pop();
- di = pop();
- ax = pop();
- nextSymbol();
- _add(di, 49);
- showFrame();
- al = data.byte(kSymbolbotx);
- ah = 0;
- di = ax;
- _add(di, (64)-44);
- al = data.byte(kSymbolbotnum);
- _add(al, 6);
- bx = (56)+49;
- ds = data.word(kTempgraphics);
- ah = 32;
- push(ax);
- push(di);
- push(bx);
- push(ds);
- showFrame();
- ds = pop();
- bx = pop();
- di = pop();
- ax = pop();
- nextSymbol();
- _add(di, 49);
- push(ax);
- push(di);
- push(bx);
- push(ds);
- showFrame();
- ds = pop();
- bx = pop();
- di = pop();
- ax = pop();
- nextSymbol();
- _add(di, 49);
- showFrame();
-}
-
void DreamGenContext::nextSymbol() {
STACK_CHECK;
_inc(al);
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 6efddfac87..132d16de66 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -559,7 +559,6 @@ public:
void usePoolReader();
void useOpenBox();
void clearBuffers();
- void showSymbol();
void getObTextStart();
void decide();
void getRidOfReels();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 03e416e5f2..ea1f48706c 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -3120,6 +3120,28 @@ void DreamGenContext::readDestIcon() {
loadIntoTemp3("DREAMWEB.G08");
}
+void DreamGenContext::showSymbol() {
+ showFrame(tempGraphics(), kSymbolx, kSymboly, 12, 0);
+
+ showFrame(tempGraphics(), data.byte(kSymboltopx) + kSymbolx-44, kSymboly+20, data.byte(kSymboltopnum), 32);
+ al = data.byte(kSymboltopnum);
+ nextSymbol();
+ uint8 nextTopSymbol = al;
+ showFrame(tempGraphics(), data.byte(kSymboltopx) + kSymbolx+5, kSymboly+20, nextTopSymbol, 32);
+ nextSymbol();
+ uint8 nextNextTopSymbol = al;
+ showFrame(tempGraphics(), data.byte(kSymboltopx) + kSymbolx+54, kSymboly+20, nextNextTopSymbol, 32);
+
+ showFrame(tempGraphics(), data.byte(kSymbolbotx) + kSymbolx-44, kSymboly+49, 6 + data.byte(kSymbolbotnum), 32);
+ al = data.byte(kSymbolbotnum);
+ nextSymbol();
+ uint8 nextBotSymbol = al;
+ showFrame(tempGraphics(), data.byte(kSymbolbotx) + kSymbolx+5, kSymboly+49, 6 + nextBotSymbol, 32);
+ nextSymbol();
+ uint8 nextNextBotSymbol = al;
+ showFrame(tempGraphics(), data.byte(kSymbolbotx) + kSymbolx+54, kSymboly+49, 6 + nextNextBotSymbol, 32);
+}
+
void DreamGenContext::readKey() {
uint16 bufOut = data.word(kBufferout);
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index b4a217ab4b..f403afefc2 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -409,6 +409,7 @@
void loadKeypad();
void showKeypad();
void showOuterPad();
+ void showSymbol();
void showExit();
void showMan();
void panelIcons1();