[Scummvm-cvs-logs] scummvm master -> ca32fb2b34e36d5d02452d6f6c6c1c9f56f9a6b9
tramboi
bertrand_augereau at yahoo.fr
Tue Aug 16 23:52:14 CEST 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:
ca32fb2b34 DREAMWEB: Ported 'movemap' to C++
Commit: ca32fb2b34e36d5d02452d6f6c6c1c9f56f9a6b9
https://github.com/scummvm/scummvm/commit/ca32fb2b34e36d5d02452d6f6c6c1c9f56f9a6b9
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-08-16T16:46:52-07:00
Commit Message:
DREAMWEB: Ported 'movemap' to C++
Changed paths:
devtools/tasmrecover/tasm-recover
engines/dreamweb/dreamgen.cpp
engines/dreamweb/dreamgen.h
engines/dreamweb/sprite.cpp
engines/dreamweb/stubs.cpp
engines/dreamweb/stubs.h
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 937a8eb..4af0091 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -114,6 +114,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'updatepeople',
'madmantext',
'madmode',
+ 'movemap',
], skip_output = [
# These functions are processed but not output
'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 782de3c..ff15a3e 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2615,40 +2615,6 @@ notfudge:
data.byte(kHavedoneobs) = 0;
}
-void DreamGenContext::movemap() {
- STACK_CHECK;
- _cmp(ah, 32);
- if (!flags.z())
- goto notmapup2;
- _sub(data.byte(kMapy), 20);
- data.byte(kNowinnewroom) = 1;
- return;
-notmapup2:
- _cmp(ah, 16);
- if (!flags.z())
- goto notmapupspec;
- _sub(data.byte(kMapy), 10);
- data.byte(kNowinnewroom) = 1;
- return;
-notmapupspec:
- _cmp(ah, 8);
- if (!flags.z())
- goto notmapdownspec;
- _add(data.byte(kMapy), 10);
- data.byte(kNowinnewroom) = 1;
- return;
-notmapdownspec:
- _cmp(ah, 2);
- if (!flags.z())
- goto notmaprightspec;
- _add(data.byte(kMapx), 11);
- data.byte(kNowinnewroom) = 1;
- return;
-notmaprightspec:
- _sub(data.byte(kMapx), 11);
- data.byte(kNowinnewroom) = 1;
-}
-
void DreamGenContext::deleverything() {
STACK_CHECK;
al = data.byte(kMapysize);
@@ -19088,7 +19054,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_reelsonscreen: reelsonscreen(); break;
case addr_soundonreels: soundonreels(); break;
case addr_reconstruct: reconstruct(); break;
- case addr_movemap: movemap(); break;
case addr_deleverything: deleverything(); break;
case addr_dumpeverything: dumpeverything(); break;
case addr_showpcx: showpcx(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 3a19f81..e5661aa 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -621,7 +621,6 @@ public:
static const uint16 addr_showpcx = 0xc1cc;
static const uint16 addr_dumpeverything = 0xc1c4;
static const uint16 addr_deleverything = 0xc1c0;
- static const uint16 addr_movemap = 0xc1b4;
static const uint16 addr_reconstruct = 0xc1ac;
static const uint16 addr_soundonreels = 0xc1a8;
static const uint16 addr_reelsonscreen = 0xc1a0;
@@ -1892,7 +1891,7 @@ public:
void showman();
void readmouse2();
void newplace();
- void movemap();
+ //void movemap();
void loadsample();
void usecardreader1();
void usecardreader2();
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 971a52f..2ecdac3 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -856,5 +856,26 @@ void DreamGenContext::madmode() {
data.byte(kPointermode) = 2;
}
+void DreamGenContext::movemap(uint8 param) {
+ switch (param) {
+ case 32:
+ data.byte(kMapy) -= 20;
+ break;
+ case 16:
+ data.byte(kMapy) -= 10;
+ break;
+ case 8:
+ data.byte(kMapy) += 10;
+ break;
+ case 2:
+ data.byte(kMapx) += 11;
+ break;
+ default:
+ data.byte(kMapx) -= 11;
+ break;
+ }
+ data.byte(kNowinnewroom) = 1;
+}
+
} /*namespace dreamgen */
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 2ea9779..c978d8d 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -879,8 +879,7 @@ void DreamGenContext::dealwithspecial(uint8 firstParam, uint8 secondParam) {
} else if (type == 6) {
data.byte(kNewlocation) = secondParam;
} else {
- ah = secondParam;
- movemap();
+ movemap(secondParam);
}
}
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 7e7d97e..9886e1b 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -130,5 +130,6 @@
void updatepeople();
void madmantext();
void madmode();
+ void movemap(uint8 param);
bool isCD();
More information about the Scummvm-git-logs
mailing list