diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 18 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 31 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 71 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 6 |
4 files changed, 35 insertions, 91 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 98b7d35b57..74109ab4e4 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -217,6 +217,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'clearsprites', 'clearstartpal', 'clearwork', + 'closefile', 'cls', 'commandonly', 'commandwithob', @@ -226,6 +227,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'convicons', 'convnum', 'copyname', + 'createfile', 'createpanel', 'createpanel2', 'credits', @@ -250,6 +252,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'doload', 'dolook', 'domix', + 'dontloadseg', 'doorway', 'dosreturn', 'doshake', @@ -343,6 +346,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'getridoftemptext', 'getroomdata', 'getroomspaths', + 'gettime', 'gettingshot', 'getundermenu', 'getundertimed', @@ -378,6 +382,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'issetobonmap', 'keeper', 'kernchars', + 'keyboardread', 'lastdest', 'lastfolder', 'liftnoise', @@ -396,6 +401,8 @@ generator = cpp(context, "DreamGen", blacklist = [ 'loadpalfromiff', 'loadpersonal', 'loadposition', + 'loadseg', + 'loadspeech', 'loadroom', 'loadroomssample', 'loadsample', @@ -433,6 +440,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'monprint', 'monks2text', 'moretalk', + 'mousecall', 'movemap', 'multidump', 'multiget', @@ -452,6 +460,8 @@ generator = cpp(context, "DreamGen", blacklist = [ 'onedigit', 'openeden', 'openfile', + 'openfilefromc', + 'openfilenocheck', 'openforsave', 'openhoteldoor', 'openhoteldoor2', @@ -504,6 +514,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'readabyte', 'readcitypic', 'readdesticon', + 'readfromfile', 'readheader', 'readkey', 'readmouse', @@ -521,12 +532,14 @@ generator = cpp(context, "DreamGen", blacklist = [ 'reexfromopen', 'removeemm', 'removesetobject', + 'resetkeyboard', 'restoreall', 'restoreems', 'restorereels', 'rockstar', 'roomname', 'saveems', + 'savefileread', 'savefilewrite', 'savegame', 'saveload', @@ -539,11 +552,14 @@ generator = cpp(context, "DreamGen", blacklist = [ 'seecommandtail', 'selectlocation', 'selectslot2', + 'set16colpalette', 'setallchanges', 'setbotleft', 'setbotright', + 'setkeyboardint', 'setlocation', 'setmode', + 'setmouse', 'setsoundoff', 'settopleft', 'settopright', @@ -564,6 +580,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'showfolder', 'showframe', 'showgamereel', + 'showgroup', 'showicon', 'showkeypad', 'showleftpage', @@ -667,6 +684,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'usewinch', 'usewindow', 'viewfolder', + 'vsync', 'volumeadjust', 'waitframes', 'walkandexamine', diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index fd93ccd55f..376302ef1c 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -34,12 +34,11 @@ namespace DreamGen { static const uint16 offset_speechfile = 0x060f; static const uint16 offset_operand1 = 0x052a; -static const uint16 offset_keys = 0x04c0; static const uint16 offset_comlist = 0x0484; -static const uint16 offset_speechfilename = 0x0609; +static const uint16 offset_money2poke = 0x0559; static const uint16 offset_discopslist = 0x05b0; static const uint16 offset_openchangesize = 0x044c; -static const uint16 offset_money2poke = 0x0559; +static const uint16 offset_keys = 0x04c0; static const uint16 offset_diarylist = 0x055c; static const uint16 offset_quitlist = 0x046e; static const uint16 offset_rootdir = 0x0538; @@ -550,15 +549,12 @@ public: void useOpenBox(); void clearBuffers(); void getObTextStart(); - void decide(); + void dumpDiaryKeys(); void entryTexts(); void checkInput(); void putUnderCentre(); void checkObjectSize(); - void showGroup(); void watchReel(); - void openFileFromC(); - void getTime(); void findText1(); void isRyanHolding(); void showSlots(); @@ -570,12 +566,9 @@ public: void resetLocation(); void introMonks2(); void greyscaleSum(); - void keyboardRead(); void getOpenedSize(); - void resetKeyboard(); void adjustUp(); void fadeScreenDownHalf(); - void mouseCall(); void fadeDownMon(); void printmessage2(); void bartender(); @@ -594,11 +587,10 @@ public: void reminders(); void runTap(); void talk(); - void dumpDiaryKeys(); + void showMonk(); void checkForExit(); void lookInInterface(); void inToInv(); - void loadSpeech(); void adjustLeft(); void deleteExText(); void entryAnims(); @@ -623,7 +615,6 @@ public: void copper(); void placeFreeObject(); void putUnderZoom(); - void vSync(); void findInvPos(); void workoutFrames(); void rollEndCredits(); @@ -632,9 +623,8 @@ public: void useCooker(); void receptionist(); void selectSlot(); - void openFileNoCheck(); + void decide(); void fadeUpMon(); - void clearChanges(); void showDiaryPage(); void transferToEx(); void reExFromInv(); @@ -643,18 +633,14 @@ public: void outOfInv(); void diaryKeyP(); void transferMap(); - void showMonk(); void diaryKeyN(); - void set16ColPalette(); void purgeAnItem(); void purgeALocation(); void notHeldError(); void getSetAd(); void soldier1(); void getUnderCentre(); - void loadSeg(); void showKeys(); - void setKeyboardInt(); void priest(); void nextColon(); void hangOnPQ(); @@ -669,7 +655,6 @@ public: void lookAtPlace(); void useAxe(); void findAllOpen(); - void readFromFile(); void quitSymbol(); void findSetObject(); void useDiary(); @@ -687,7 +672,6 @@ public: void doFade(); void dumpCurrent(); void showDiaryKeys(); - void dontLoadSeg(); void rollEndCredits2(); void useOpened(); void fillOpen(); @@ -717,12 +701,12 @@ public: void showPuzText(); void incRyanPage(); void findExObject(); + void clearChanges(); void searchForFiles(); void monkSpeaking(); void madmanRun(); void afterNewRoom(); void getExAd(); - void closeFile(); void initialMonCols(); void checkForShake(); void useButtonA(); @@ -739,18 +723,15 @@ public: void createName(); void getPersonText(); void parser(); - void setMouse(); void showLoadOps(); void underTextLine(); void showNames(); - void saveFileRead(); void emergencyPurge(); void quitKey(); void processTrigger(); void transferConToEx(); void adjustDown(); void withWhat(); - void createFile(); void fadeToWhite(); }; diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 09e9ac22fc..923d0f76af 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -473,9 +473,12 @@ void DreamGenContext::dreamweb() { seeCommandTail(); // soundStartup used to be done here... - setKeyboardInt(); + // setKeyboardInt used to be done here... allocateBuffers(); - setMouse(); + + // setMouse + data.word(kOldpointerx) = 0xffff; + fadeDOS(); getTime(); clearBuffers(); @@ -816,16 +819,6 @@ void DreamGenContext::quickQuit2() { engine->quit(); } -void DreamGenContext::keyboardRead() { - ::error("keyboardread"); //this keyboard int handler, must never be called -} - -void DreamGenContext::resetKeyboard() { -} - -void DreamGenContext::setKeyboardInt() { -} - void DreamGenContext::closeFile() { engine->closeFile(); data.byte(kHandle) = 0; @@ -845,40 +838,6 @@ bool DreamGenContext::openForLoad(unsigned int slot) { return engine->openSaveFileForReading(filename); } -void DreamGenContext::openFileNoCheck() { - const char *name = (const char *)ds.ptr(dx, 13); - debug(1, "checkSaveFile(%s)", name); - bool ok = engine->openSaveFileForReading(name); - flags._c = !ok; -} - -void DreamGenContext::openFileFromC() { - openFileNoCheck(); -} - -void DreamGenContext::createFile() { - ::error("createfile"); -} - -void DreamGenContext::dontLoadSeg() { - ax = es.word(di); - _add(di, 2); - dx = ax; - cx = 0; - unsigned pos = engine->skipBytes(dx); - dx = pos >> 16; - ax = pos & 0xffff; - flags._c = false; -} - -void DreamGenContext::mouseCall() { - uint16 x, y, state; - engine->mouseCall(&x, &y, &state); - cx = x; - dx = y; - bx = state; -} - uint8 *DreamGenContext::mapStore() { return getSegment(data.word(kMapstore)).ptr(0, 0); } @@ -899,10 +858,6 @@ uint16 DreamGenContext::readMouseState() { return state; } -void DreamGenContext::setMouse() { - data.word(kOldpointerx) = 0xffff; -} - void DreamGenContext::dumpTextLine() { if (data.byte(kNewtextline) != 1) return; @@ -1060,22 +1015,6 @@ void DreamGenContext::loadSpeech() { data.byte(kSpeechloaded) = 1; } -void DreamGenContext::saveFileRead() { - ax = engine->readFromSaveFile(ds.ptr(dx, cx), cx); -} - -void DreamGenContext::loadSeg() { - ax = es.word(di); - di += 2; - - uint16 dst_offset = dx; - uint16 size = ax; - - debug(1, "loadseg(%04x:%u, %u)", (uint16)ds, dst_offset, size); - ax = engine->readFromFile(ds.ptr(dst_offset, size), size); - flags._c = false; -} - void DreamGenContext::DOSReturn() { if (data.byte(kCommandtype) != 250) { data.byte(kCommandtype) = 250; diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index db5232717b..e6f73be04e 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -571,5 +571,11 @@ void dumpZoom(); void fadeDOS(); void selectLocation(); + void vSync(); + void showGroup(); + void loadSpeech(); + void closeFile(); + void getTime(); + void set16ColPalette(); #endif |