diff options
author | Bertrand Augereau | 2011-11-18 00:01:24 +0100 |
---|---|---|
committer | Bertrand Augereau | 2011-11-18 00:01:24 +0100 |
commit | ee1c5ce78a514a8f2ab5499e65a6c0a80a9feab4 (patch) | |
tree | 5f15f0047f35e08b37fe5eed805fd88283b470db | |
parent | b400e142af0dea3038318604a28b13a55f43b90a (diff) | |
download | scummvm-rg350-ee1c5ce78a514a8f2ab5499e65a6c0a80a9feab4.tar.gz scummvm-rg350-ee1c5ce78a514a8f2ab5499e65a6c0a80a9feab4.tar.bz2 scummvm-rg350-ee1c5ce78a514a8f2ab5499e65a6c0a80a9feab4.zip |
DREAMWEB: 'loadintotemp', 'loadintotemp2', 'loadintotemp3' ported to C++
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 3 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 24 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 17 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 24 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 6 |
5 files changed, 40 insertions, 34 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index ddc6cdfd0d..3d8c9db07a 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -234,6 +234,9 @@ generator = cpp(context, "DreamGen", blacklist = [ 'standardload', 'twodigitnum', 'readsetdata', + 'loadintotemp', + 'loadintotemp2', + 'loadintotemp3', 'loadroomssample', ], skip_output = [ # These functions are processed but not output diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index bb0f7ee942..988fe0cde7 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -14098,27 +14098,6 @@ void DreamGenContext::loadtraveltext() { data.word(kTraveltext) = ax; } -void DreamGenContext::loadintotemp() { - STACK_CHECK; - ds = cs; - standardload(); - data.word(kTempgraphics) = ax; -} - -void DreamGenContext::loadintotemp2() { - STACK_CHECK; - ds = cs; - standardload(); - data.word(kTempgraphics2) = ax; -} - -void DreamGenContext::loadintotemp3() { - STACK_CHECK; - ds = cs; - standardload(); - data.word(kTempgraphics3) = ax; -} - void DreamGenContext::loadtempcharset() { STACK_CHECK; standardload(); @@ -16048,9 +16027,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) { case addr_randomnum1: randomnum1(); break; case addr_randomnum2: randomnum2(); break; case addr_loadtraveltext: loadtraveltext(); break; - case addr_loadintotemp: loadintotemp(); break; - case addr_loadintotemp2: loadintotemp2(); break; - case addr_loadintotemp3: loadintotemp3(); break; case addr_loadtempcharset: loadtempcharset(); break; case addr_loadtemptext: loadtemptext(); break; case addr_getridofreels: getridofreels(); break; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index d7cc73c634..aa46eeb9f0 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -65,9 +65,6 @@ public: static const uint16 addr_getridofreels = 0xcb38; static const uint16 addr_loadtemptext = 0xcb2c; static const uint16 addr_loadtempcharset = 0xcb24; - static const uint16 addr_loadintotemp3 = 0xcb20; - static const uint16 addr_loadintotemp2 = 0xcb1c; - static const uint16 addr_loadintotemp = 0xcb18; static const uint16 addr_loadtraveltext = 0xcb14; static const uint16 addr_randomnum2 = 0xcb08; static const uint16 addr_randomnum1 = 0xcb04; @@ -1257,6 +1254,7 @@ public: void mainscreen(); void watchreel(); void showfolder(); + void dosreturn(); //void turnanypathoff(); void openfilefromc(); void gettime(); @@ -1322,7 +1320,7 @@ public: void slabdoord(); void adjustup(); void slabdoorf(); - void loadintotemp(); + void findroominloc(); void loadintroroom(); void saveseg(); //void showblink(); @@ -1551,7 +1549,6 @@ public: void transfertoex(); void playchannel1(); void playchannel0(); - void usemon(); void steady(); //void pixelcheckset(); void reexfrominv(); @@ -1624,7 +1621,7 @@ public: void deleteexframe(); //void readsetdata(); void folderexit(); - void dosreturn(); + void usemon(); void wheelsound(); void actualsave(); void autolook(); @@ -1660,8 +1657,8 @@ public: //void printundermon(); void buttonnine(); void findallopen(); - void loadintotemp3(); - void loadintotemp2(); + //void doorway(); + //void loadintotemp2(); void gamer(); //void namestoold(); void readfromfile(); @@ -1694,7 +1691,7 @@ public: void scrollmonitor(); void setsoundoff(); void setpickup(); - //void doorway(); + //void loadintotemp3(); void dropobject(); void isitright(); void reexfromopen(); @@ -1925,7 +1922,7 @@ public: //void printboth(); //void standardload(); void undertextline(); - void findroominloc(); + //void loadintotemp(); void sitdowninbar(); void shownames(); void savefileread(); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index e824c4b6d6..086688a764 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -222,6 +222,30 @@ void DreamGenContext::standardload() { ax = standardload((const char *)cs.ptr(dx, 0)); } +void DreamGenContext::loadintotemp() { + loadintotemp((const char *)cs.ptr(dx, 0)); +} + +void DreamGenContext::loadintotemp2() { + loadintotemp2((const char *)cs.ptr(dx, 0)); +} + +void DreamGenContext::loadintotemp3() { + loadintotemp3((const char *)cs.ptr(dx, 0)); +} + +void DreamGenContext::loadintotemp(const char *fileName) { + data.word(kTempgraphics) = standardload(fileName); +} + +void DreamGenContext::loadintotemp2(const char *fileName) { + data.word(kTempgraphics2) = standardload(fileName); +} + +void DreamGenContext::loadintotemp3(const char *fileName) { + data.word(kTempgraphics3) = standardload(fileName); +} + void DreamGenContext::seecommandtail() { data.word(kSoundbaseadd) = 0x220; data.byte(kSoundint) = 5; diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index a4c2ccfdf8..47b409453f 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -25,6 +25,12 @@ void clearwork(); void standardload(); uint16 standardload(const char *fileName); // Returns a segment handle which needs to be freed with deallocatemem for symmetry + void loadintotemp(); + void loadintotemp2(); + void loadintotemp3(); + void loadintotemp(const char *fileName); + void loadintotemp2(const char *fileName); + void loadintotemp3(const char *fileName); void multidump(); void multidump(uint16 x, uint16 y, uint8 width, uint8 height); void frameoutv(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, int16 x, int16 y); |