aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/monitor.cpp
diff options
context:
space:
mode:
authorBertrand Augereau2011-12-04 19:00:04 +0100
committerBertrand Augereau2011-12-04 19:22:01 +0100
commitb7f416b3d906d017eaac869cf5bb473fec43eab7 (patch)
treea83e34563b51632539a38f074ea1c1ad6a379b67 /engines/dreamweb/monitor.cpp
parentdfd1ff2db33f16b3a9c8e832aeb1bced4c1ea0d8 (diff)
downloadscummvm-rg350-b7f416b3d906d017eaac869cf5bb473fec43eab7.tar.gz
scummvm-rg350-b7f416b3d906d017eaac869cf5bb473fec43eab7.tar.bz2
scummvm-rg350-b7f416b3d906d017eaac869cf5bb473fec43eab7.zip
DREAMWEB: 'delChar' ported to C++
Diffstat (limited to 'engines/dreamweb/monitor.cpp')
-rw-r--r--engines/dreamweb/monitor.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp
index ebd160a98f..fff38d3801 100644
--- a/engines/dreamweb/monitor.cpp
+++ b/engines/dreamweb/monitor.cpp
@@ -148,6 +148,19 @@ void DreamGenContext::input() {
}
}
+void DreamGenContext::delChar() {
+ char *inputLine = (char *)cs.ptr(kInputline, 0);
+ --data.word(kCurpos);
+ inputLine[data.word(kCurpos) * 2] = 0;
+ uint8 width = inputLine[data.word(kCurpos) * 2 + 1];
+ data.word(kMonadx) -= width;
+ data.word(kCurslocx) -= width;
+ uint16 offset = data.word(kCurpos);
+ offset = ((offset & 0x00ff) << 8) | ((offset & 0xff00) >> 8);
+ multiPut(getSegment(data.word(kMapstore)).ptr(offset, 0), data.word(kMonadx), data.word(kMonady), 8, 8);
+ multiDump(data.word(kMonadx), data.word(kMonady), al, 8);
+}
+
void DreamGenContext::printCurs() {
uint16 x = data.word(kCurslocx);
uint16 y = data.word(kCurslocy);