diff options
author | Filippos Karapetis | 2011-12-08 22:48:00 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-08 22:48:00 +0200 |
commit | 128f75739c7382179e8f70e6a7098fc366d65821 (patch) | |
tree | 9b1f3c297d02f22aa71896648c92941c7b7a1ff4 | |
parent | 8b61fb168d03e045c0fec85e8ce4fbb93dd535b8 (diff) | |
download | scummvm-rg350-128f75739c7382179e8f70e6a7098fc366d65821.tar.gz scummvm-rg350-128f75739c7382179e8f70e6a7098fc366d65821.tar.bz2 scummvm-rg350-128f75739c7382179e8f70e6a7098fc366d65821.zip |
DREAMWEB: Port 'getunderzoom', 'putunderzoom', 'showdecisions', 'undertextline' to C++
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 4 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 51 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 4 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 28 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 4 |
5 files changed, 36 insertions, 55 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 1c30478b60..baea7a8fb7 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -360,6 +360,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'gettingshot', 'getundermenu', 'getundertimed', + 'getunderzoom', 'getxad', 'getyad', 'grafittidoor', @@ -526,6 +527,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'putbackobstuff', 'putundermenu', 'putundertimed', + 'putunderzoom', 'quickquit', 'quickquit2', 'random', @@ -598,6 +600,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'showbyte', 'showcity', 'showcurrentfile', + 'showdecisions', 'showdiary', 'showdiscops', 'showexit', @@ -672,6 +675,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'turnpathoff', 'turnpathon', 'twodigitnum', + 'undertextline', 'updatepeople', 'usebalcony', 'usecardreader1', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index b29e04b2dc..022b80a721 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -6265,19 +6265,6 @@ hasloadedroom: data.byte(kTextlen) = 240; } -void DreamGenContext::showDecisions() { - STACK_CHECK; - createPanel2(); - showOpBox(); - ds = data.word(kTempgraphics); - di = (60)+17; - bx = (52)+13; - al = 6; - ah = 0; - showFrame(); - underTextLine(); -} - void DreamGenContext::createName() { STACK_CHECK; push(ax); @@ -6779,44 +6766,6 @@ searchmess: printDirect(); } -void DreamGenContext::getUnderZoom() { - STACK_CHECK; - di = (8)+5; - bx = (132)+4; - ds = data.word(kBuffers); - si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)); - cl = 46; - ch = 40; - multiGet(); -} - -void DreamGenContext::putUnderZoom() { - STACK_CHECK; - di = (8)+5; - bx = (132)+4; - ds = data.word(kBuffers); - si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)); - cl = 46; - ch = 40; - multiPut(); -} - -void DreamGenContext::underTextLine() { - STACK_CHECK; - di = data.word(kTextaddressx); - bx = data.word(kTextaddressy); - _cmp(data.byte(kForeignrelease), 0); - if (flags.z()) - goto _tmp1; - _sub(bx, 3); -_tmp1: - ds = data.word(kBuffers); - si = (0); - cl = (228); - ch = (13); - multiGet(); -} - void DreamGenContext::__start() { static const uint8 src[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x13, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 0f4dcdb01e..3ca39f0eda 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -575,7 +575,6 @@ public: void getAnyAd(); void endGame(); void usePipe(); - void getUnderZoom(); void reminders(); void runTap(); void talk(); @@ -587,7 +586,6 @@ public: void deleteExText(); void entryAnims(); void getFreeAd(); - void showDecisions(); void removeObFromInv(); void heavy(); void useKey(); @@ -597,7 +595,6 @@ public: void pickupConts(); void allPalette(); void cantDrop(); - void putUnderZoom(); void findInvPos(); void rollEndCredits(); void getKeyAndLogo(); @@ -693,7 +690,6 @@ public: void createName(); void getPersonText(); void parser(); - void underTextLine(); void showNames(); void emergencyPurge(); void quitKey(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 35b0ae3ac4..14029ae835 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -3808,6 +3808,34 @@ void DreamBase::showDiary() { showFrame(tempGraphics(), kDiaryx + 176, kDiaryy + 108, 2, 0); } +void DreamGenContext::underTextLine() { + uint16 y = data.word(kTextaddressy); + if (data.byte(kForeignrelease)) + y -= 3; + ds = data.word(kBuffers); + si = kTextunder; + multiGet(ds.ptr(si, 0), data.byte(kTextaddressx), y, kUndertextsizex, kUndertextsizey); +} + +void DreamGenContext::showDecisions() { + createPanel2(); + showOpBox(); + showFrame(tempGraphics(), kOpsx + 17, kOpsy + 13, 6, 0); + underTextLine(); +} + +void DreamGenContext::getUnderZoom() { + ds = data.word(kBuffers); + si = kZoomspace; + multiGet(ds.ptr(si, 0), kZoomx + 5, kZoomy + 4, 46, 40); +} + +void DreamGenContext::putUnderZoom() { + ds = data.word(kBuffers); + si = kZoomspace; + multiPut(ds.ptr(si, 0), kZoomx + 5, kZoomy + 4, 46, 40); +} + void DreamGenContext::showWatchReel() { uint16 reelPointer = data.word(kReeltowatch); plotReel(reelPointer); diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index f4bb1ec13b..012d0a8e6d 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -550,5 +550,9 @@ } void afterNewRoom(); void madmanRun(); + void showDecisions(); + void underTextLine(); + void getUnderZoom(); + void putUnderZoom(); #endif |