diff options
author | Bertrand Augereau | 2011-07-30 15:25:28 +0200 |
---|---|---|
committer | Bertrand Augereau | 2011-07-30 15:33:19 +0200 |
commit | 92938f810fc4da74ef4872728ccf19833ad12773 (patch) | |
tree | 5360c3ec0b057622340a3515a872a1265a53802d /engines | |
parent | 95fa7451d63ad674308f1134e954387c967fb9c8 (diff) | |
download | scummvm-rg350-92938f810fc4da74ef4872728ccf19833ad12773.tar.gz scummvm-rg350-92938f810fc4da74ef4872728ccf19833ad12773.tar.bz2 scummvm-rg350-92938f810fc4da74ef4872728ccf19833ad12773.zip |
DREAMWEB: 'showreelframe' ported to C++
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 19 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 3 | ||||
-rw-r--r-- | engines/dreamweb/sprite.cpp | 10 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
4 files changed, 12 insertions, 21 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 2157d4e9de..fd497a3567 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -3025,24 +3025,6 @@ void DreamGenContext::getreelstart() { _add(si, (0+(36*144))); } -void DreamGenContext::showreelframe() { - STACK_CHECK; - al = es.byte(si+2); - ah = 0; - di = ax; - _add(di, data.word(kMapadx)); - al = es.byte(si+3); - bx = ax; - _add(bx, data.word(kMapady)); - ax = es.word(si); - data.word(kCurrentframe) = ax; - findsource(); - ax = data.word(kCurrentframe); - _sub(ax, data.word(kTakeoff)); - ah = 8; - showframe(); -} - void DreamGenContext::deleverything() { STACK_CHECK; al = data.byte(kMapysize); @@ -20525,7 +20507,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) { case addr_dealwithspecial: dealwithspecial(); break; case addr_movemap: movemap(); break; case addr_getreelstart: getreelstart(); break; - case addr_showreelframe: showreelframe(); break; case addr_deleverything: deleverything(); break; case addr_dumpeverything: dumpeverything(); break; case addr_allocatework: allocatework(); break; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index ec4199856b..84f8759381 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -645,7 +645,6 @@ public: static const uint16 addr_allocatework = 0xc1c8; static const uint16 addr_dumpeverything = 0xc1c4; static const uint16 addr_deleverything = 0xc1c0; - static const uint16 addr_showreelframe = 0xc1bc; static const uint16 addr_getreelstart = 0xc1b8; static const uint16 addr_movemap = 0xc1b4; static const uint16 addr_dealwithspecial = 0xc1b0; @@ -1684,7 +1683,7 @@ public: void playguitar(); void lastfolder(); void transfermap(); - void showreelframe(); + //void showreelframe(); void showmonk(); void diarykeyn(); void set16colpalette(); diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp index 72c8c1299e..a438356e1c 100644 --- a/engines/dreamweb/sprite.cpp +++ b/engines/dreamweb/sprite.cpp @@ -552,5 +552,15 @@ void DreamGenContext::findsource() { } } +void DreamGenContext::showreelframe() { + uint16 x = es.byte(si+2) + data.word(kMapadx); + uint16 y = es.byte(si+3) + data.word(kMapady); + data.word(kCurrentframe) = es.word(si); + findsource(); + uint16 frame = data.word(kCurrentframe) - data.word(kTakeoff); + uint8 width, height; + showframe(ds.ptr(0, 0), x, y, frame, 8, &width, &height); +} + } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 0c2f4389e0..6dafdc9e14 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -87,6 +87,7 @@ void liftsprite(); void liftsprite(Sprite *sprite, ObjData *objData); void findsource(); + void showreelframe(); void turnpathonCPP(uint8 param); void turnpathoffCPP(uint8 param); void getroomspaths(); |