aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorBertrand Augereau2011-08-11 23:10:30 +0200
committerBertrand Augereau2011-08-15 22:30:16 +0200
commit01ccadf7c12a2675ced62ec6f89873bf821b4c6a (patch)
treef3c1d84f85cd608d13a60a26d5610090f4279a48 /engines
parentc8d8056777e61f1ee3e56fcf00679c16aa3ebd6d (diff)
downloadscummvm-rg350-01ccadf7c12a2675ced62ec6f89873bf821b4c6a.tar.gz
scummvm-rg350-01ccadf7c12a2675ced62ec6f89873bf821b4c6a.tar.bz2
scummvm-rg350-01ccadf7c12a2675ced62ec6f89873bf821b4c6a.zip
DREAMWEB: 'getreelframeax' ported to C++
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/dreamgen.cpp17
-rw-r--r--engines/dreamweb/dreamgen.h3
-rw-r--r--engines/dreamweb/sprite.cpp10
-rw-r--r--engines/dreamweb/stubs.h1
4 files changed, 12 insertions, 19 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 72f7069686..2964d6fdf0 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2688,22 +2688,6 @@ notinthisroom:
goto updateloop;
}
-void DreamGenContext::getreelframeax() {
- STACK_CHECK;
- push(ds);
- data.word(kCurrentframe) = ax;
- findsource();
- es = ds;
- ds = pop();
- ax = data.word(kCurrentframe);
- _sub(ax, data.word(kTakeoff));
- _add(ax, ax);
- cx = ax;
- _add(ax, ax);
- _add(ax, cx);
- bx = ax;
-}
-
void DreamGenContext::reelsonscreen() {
STACK_CHECK;
reconstruct();
@@ -19483,7 +19467,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_doorway: doorway(); break;
case addr_widedoor: widedoor(); break;
case addr_updatepeople: updatepeople(); break;
- case addr_getreelframeax: getreelframeax(); break;
case addr_reelsonscreen: reelsonscreen(); break;
case addr_soundonreels: soundonreels(); break;
case addr_reconstruct: reconstruct(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index b08732c859..b5f6a5fc3c 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -631,7 +631,6 @@ public:
static const uint16 addr_reconstruct = 0xc1ac;
static const uint16 addr_soundonreels = 0xc1a8;
static const uint16 addr_reelsonscreen = 0xc1a0;
- static const uint16 addr_getreelframeax = 0xc19c;
static const uint16 addr_updatepeople = 0xc198;
static const uint16 addr_widedoor = 0xc18c;
static const uint16 addr_doorway = 0xc188;
@@ -1928,7 +1927,7 @@ public:
void fadecalculation();
void waitframes();
void clearrest();
- void getreelframeax();
+ //void getreelframeax();
void barwoman();
void roomname();
void credits();
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index a970af9fe3..be74be6c5f 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -570,6 +570,16 @@ void DreamGenContext::showgamereel() {
es.word(bx+3) = data.word(kReelpointer);
}
+void DreamGenContext::getreelframeax() {
+ push(ds);
+ data.word(kCurrentframe) = ax;
+ findsource();
+ es = ds;
+ ds = pop();
+ cx = (data.word(kCurrentframe) - data.word(kTakeoff)) * 2;
+ bx = (data.word(kCurrentframe) - data.word(kTakeoff)) * 6;
+}
+
void DreamGenContext::showrain() {
ds = data.word(kMainsprites);
si = 6*58;
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index d3602501f1..79f71ba8c8 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -101,6 +101,7 @@
void showgamereel();
void showreelframe();
void showreelframe(Reel *reel);
+ void getreelframeax();
void turnpathonCPP(uint8 param);
void turnpathoffCPP(uint8 param);
void getroomspaths();