[Scummvm-cvs-logs] scummvm master -> 5461b03983a58ba63b2a86cc6042d9a99cb771f4
tramboi
bertrand_augereau at yahoo.fr
Fri Nov 18 04:26:47 CET 2011
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5461b03983 DREAMWEB: 'delcurs' ported to C++
Commit: 5461b03983a58ba63b2a86cc6042d9a99cb771f4
https://github.com/scummvm/scummvm/commit/5461b03983a58ba63b2a86cc6042d9a99cb771f4
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-11-17T21:25:54-08:00
Commit Message:
DREAMWEB: 'delcurs' ported to C++
Changed paths:
devtools/tasmrecover/tasm-recover
engines/dreamweb/dreamgen.cpp
engines/dreamweb/dreamgen.h
engines/dreamweb/stubs.cpp
engines/dreamweb/stubs.h
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index bf9f304..2c5f1f3 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -239,6 +239,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'loadintotemp3',
'loadtempcharset',
'printcurs',
+ 'delcurs',
'loadroomssample',
], skip_output = [
# These functions are processed but not output
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 24c804e..4899673 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -7294,42 +7294,6 @@ void DreamGenContext::triggermessage() {
data.byte(kLasttrigger) = 0;
}
-void DreamGenContext::delcurs() {
- STACK_CHECK;
- push(es);
- push(bx);
- push(di);
- push(ds);
- push(dx);
- push(si);
- di = data.word(kCurslocx);
- bx = data.word(kCurslocy);
- cl = 6;
- ch = 8;
- _cmp(data.byte(kForeignrelease), 0);
- if (flags.z())
- goto _tmp1;
- _sub(bx, 3);
- ch = 11;
-_tmp1:
- push(di);
- push(bx);
- push(cx);
- ds = data.word(kBuffers);
- si = (0);
- multiput();
- cx = pop();
- bx = pop();
- di = pop();
- multidump();
- si = pop();
- dx = pop();
- ds = pop();
- di = pop();
- bx = pop();
- es = pop();
-}
-
void DreamGenContext::useobject() {
STACK_CHECK;
data.byte(kWithobject) = 255;
@@ -15685,7 +15649,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_monmessage: monmessage(); break;
case addr_processtrigger: processtrigger(); break;
case addr_triggermessage: triggermessage(); break;
- case addr_delcurs: delcurs(); break;
case addr_useobject: useobject(); break;
case addr_wheelsound: wheelsound(); break;
case addr_runtap: runtap(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 512f7e6..643ed0b 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -342,7 +342,6 @@ public:
static const uint16 addr_runtap = 0xc58c;
static const uint16 addr_wheelsound = 0xc588;
static const uint16 addr_useobject = 0xc580;
- static const uint16 addr_delcurs = 0xc57c;
static const uint16 addr_triggermessage = 0xc574;
static const uint16 addr_processtrigger = 0xc570;
static const uint16 addr_monmessage = 0xc56c;
@@ -1848,7 +1847,7 @@ public:
void getexad();
void openforsave();
void closefile();
- void delcurs();
+ //void delcurs();
void randomaccess();
//void calcfrframe();
//void checkifex();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index eb8f2b8..f8f3be9 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -270,6 +270,20 @@ void DreamGenContext::printcurs() {
multidump(x - 6, y, 12, height);
}
+void DreamGenContext::delcurs() {
+ uint16 x = data.word(kCurslocx);
+ uint16 y = data.word(kCurslocy);
+ uint16 width = 6;
+ uint16 height;
+ if (data.byte(kForeignrelease)) {
+ y -= 3;
+ height = 11;
+ } else
+ height = 8;
+ multiput(segRef(data.word(kBuffers)).ptr(kTextunder, 0), x, y, width, height);
+ multidump(x, y, width, height);
+}
+
void DreamGenContext::seecommandtail() {
data.word(kSoundbaseadd) = 0x220;
data.byte(kSoundint) = 5;
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index ca7b74f..1475b71 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -34,6 +34,7 @@
void loadtempcharset();
void loadtempcharset(const char *fileName);
void printcurs();
+ void delcurs();
void multidump();
void multidump(uint16 x, uint16 y, uint8 width, uint8 height);
void frameoutv(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, int16 x, int16 y);
More information about the Scummvm-git-logs
mailing list