From a389f1e46e7ceee0958c6d4c83c22bfd3afc87ee Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Thu, 17 Nov 2011 15:08:34 +0100 Subject: [PATCH] DREAMWEB: 'oldtonames' and 'namestoold' ported to C++ --- devtools/tasmrecover/tasm-recover | 2 ++ engines/dreamweb/dreamgen.cpp | 22 ---------------------- engines/dreamweb/dreamgen.h | 12 +++++------- engines/dreamweb/saveload.cpp | 7 +++++++ engines/dreamweb/stubs.h | 2 ++ 5 files changed, 16 insertions(+), 29 deletions(-) diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 63c93776658d..709efab6e4d6 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -65,6 +65,8 @@ generator = cpp(context, "DreamGen", blacklist = [ 'printsprites', 'printasprite', 'eraseoldobs', + 'oldtonames', + 'namestoold', 'clearsprites', 'makesprite', 'showframe', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 8f88560f7f1a..073e7c2310e7 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -12217,26 +12217,6 @@ void DreamGenContext::shownames() { goto shownameloop; } -void DreamGenContext::namestoold() { - STACK_CHECK; - ds = cs; - si = 8579; - di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)); - es = data.word(kBuffers); - cx = 17*4; - _movsb(cx, true); -} - -void DreamGenContext::oldtonames() { - STACK_CHECK; - es = cs; - di = 8579; - si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)); - ds = data.word(kBuffers); - cx = 17*4; - _movsb(cx, true); -} - void DreamGenContext::saveposition() { STACK_CHECK; makeheader(); @@ -16061,8 +16041,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) { case addr_shownames: shownames(); break; case addr_dosreturn: dosreturn(); break; case addr_error: error(); break; - case addr_namestoold: namestoold(); break; - case addr_oldtonames: oldtonames(); break; case addr_savefilewrite: savefilewrite(); break; case addr_savefileread: savefileread(); break; case addr_saveposition: saveposition(); break; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index a89fb435b312..f031fd633423 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -169,8 +169,6 @@ class DreamGenContext : public Context { static const uint16 addr_saveposition = 0xc898; static const uint16 addr_savefileread = 0xc894; static const uint16 addr_savefilewrite = 0xc890; - static const uint16 addr_oldtonames = 0xc88c; - static const uint16 addr_namestoold = 0xc888; static const uint16 addr_error = 0xc884; static const uint16 addr_generalerror = 0xcbbc; static const uint16 addr_dosreturn = 0xc880; @@ -1295,7 +1293,7 @@ class DreamGenContext : public Context { void showsaveops(); void intromonks1(); void resetlocation(); - void oldtonames(); + //void oldtonames(); void showdiscops(); void advisor(); void additionaltext(); @@ -1358,7 +1356,7 @@ class DreamGenContext : public Context { void showsymbol(); void endgameseq(); //void cancelch0(); - void setbotleft(); + void turnonpower(); void findfirstpath(); //void cancelch1(); void loadold(); @@ -1368,7 +1366,7 @@ class DreamGenContext : public Context { //void aboutturn(); void usealtar(); void createpanel2(); - void turnonpower(); + void setbotleft(); void manasleep2(); void moretalk(); //void printslow(); @@ -1648,7 +1646,7 @@ class DreamGenContext : public Context { void deleverything(); void fadescreendown(); //void findxyfrompath(); - void namestoold(); + void poolguard(); //void getxad(); void openinv(); void lookatplace(); @@ -1668,7 +1666,7 @@ class DreamGenContext : public Context { void loadintotemp3(); void loadintotemp2(); void gamer(); - void poolguard(); + //void namestoold(); void readfromfile(); void initialinv(); void quitsymbol(); diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp index 02a128837b20..6faab5554fad 100644 --- a/engines/dreamweb/saveload.cpp +++ b/engines/dreamweb/saveload.cpp @@ -352,5 +352,12 @@ void DreamGenContext::savegame() { } } +void DreamGenContext::namestoold() { + memcpy(segRef(data.word(kBuffers)).ptr(kZoomspace, 0), cs.ptr(kSavenames, 0), 17*4); +} + +void DreamGenContext::oldtonames() { + memcpy(cs.ptr(kSavenames, 0), segRef(data.word(kBuffers)).ptr(kZoomspace, 0), 17*4); +} } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index ce54e27066de..8769716efaaf 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -62,6 +62,8 @@ void getnumber(); uint8 getnumber(const Frame *charSet, const uint8 *string, uint16 maxWidth, bool centered, uint16 *offset); uint8 kernchars(uint8 firstChar, uint8 secondChar, uint8 width); + void oldtonames(); + void namestoold(); void getroomdata(); Room *getroomdata(uint8 room); void readheader();