diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 3 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 26 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 27 | ||||
-rw-r--r-- | engines/dreamweb/people.cpp | 7 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 1 |
5 files changed, 43 insertions, 21 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index eee658fb37..e65f5f675d 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -432,7 +432,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'openinv', 'openlouis', 'openpoolboss', - 'openryan' + 'openryan', 'opensarters', 'opentomb', 'opentvdoor', @@ -585,7 +585,6 @@ generator = cpp(context, "DreamGen", blacklist = [ 'textforend', 'textformonk', 'titles', - 'train', 'transferinv', 'transfertext', 'trapdoor', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 33f1939d6e..c66d6b73ff 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -1200,6 +1200,32 @@ nocopper: addToPeopleList(); } +void DreamGenContext::train() { + STACK_CHECK; + return; + ax = es.word(bx+3); + _cmp(ax, 21); + if (!flags.c()) + goto notrainyet; + _inc(ax); + goto gottrainframe; +notrainyet: + randomNumber(); + _cmp(al, 253); + if (flags.c()) + return /* (notrainatall) */; + _cmp(data.byte(kManspath), 5); + if (!flags.z()) + return /* (notrainatall) */; + _cmp(data.byte(kFinaldest), 5); + if (!flags.z()) + return /* (notrainatall) */; + ax = 5; +gottrainframe: + es.word(bx+3) = ax; + showGameReel(); +} + void DreamGenContext::checkForExit() { STACK_CHECK; cl = data.byte(kRyanx); diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index faad3a0c5f..37435fa6b8 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -541,7 +541,6 @@ public: void useWire(); void getNamePos(); - void clearChanges(); void identifyOb(); void useLighter(); void runEndSeq(); @@ -564,6 +563,7 @@ public: void isRyanHolding(); void showSlots(); void useCashCard(); + void moneyPoke(); void doSomeTalk(); void showSaveOps(); void introMonks1(); @@ -577,6 +577,7 @@ public: void adjustUp(); void fadeScreenDownHalf(); void mouseCall(); + void train(); void fadeDownMon(); void bartender(); void showDiary(); @@ -600,10 +601,12 @@ public: void talk(); void dumpDiaryKeys(); void disableSoundInt(); - void priestText(); + void checkForExit(); void lookInInterface(); + void inToInv(); void loadSpeech(); void adjustLeft(); + void deleteExText(); void entryAnims(); void getFreeAd(); void showArrows(); @@ -621,14 +624,13 @@ public: void lockLightOff(); void runIntroSeq(); void advisor(); + void allPalette(); void attendant(); void cantDrop(); void copper(); void drinker(); void nextColon(); void placeFreeObject(); - void allPalette(); - void adjustRight(); void putUnderZoom(); void vSync(); void findInvPos(); @@ -641,10 +643,10 @@ public: void useCooker(); void receptionist(); void selectSlot(); - void openFileNoCheck(); void fadeUpMon(); void soundEnd(); void redes(); + void manAsleep2(); void introMagic2(); void introMagic3(); void showDiaryPage(); @@ -666,7 +668,6 @@ public: void getSetAd(); void soldier1(); void getUnderCentre(); - void checkForExit(); void loadSeg(); void showKeys(); void setKeyboardInt(); @@ -680,6 +681,7 @@ public: void searchForSame(); void getBack1(); void fadeFromWhite(); + void checkSoundInt(); void rollEm(); void poolGuard(); void lookAtPlace(); @@ -691,13 +693,13 @@ public: void findSetObject(); void useDiary(); void deleteExObject(); - void moneyPoke(); void removeFreeObject(); void lookAtCard(); void helicopter(); void getEitherAd(); void setPickup(); void dropObject(); + void openOb(); void drawItAll(); void useStereo(); void candles2(); @@ -711,7 +713,6 @@ public: void useOpened(); void fillOpen(); void signOn(); - void deleteExText(); void showGun(); void louisChair(); void locationPic(); @@ -720,6 +721,7 @@ public: void swapWithOpen(); void dreamweb(); void dropError(); + void openFileNoCheck(); void checkInside(); void findPathOfPoint(); void isSetObOnMap(); @@ -741,7 +743,7 @@ public: void showPuzText(); void incRyanPage(); void findExObject(); - void manAsleep2(); + void clearChanges(); void searchForFiles(); void monkSpeaking(); void clearRest(); @@ -753,20 +755,21 @@ public: void initialMonCols(); void checkForShake(); void useButtonA(); + void priestText(); void execCommand(); void updateSymbolBot(); void findPuzText(); void monkAndRyan(); void swapWithInv(); void useControl(); + void adjustRight(); void updateSymbolTop(); - void checkSoundInt(); void doSaveLoad(); void createName(); void getPersonText(); - void inToInv(); void parser(); void setMouse(); + void showLoadOps(); void selectLocation(); void underTextLine(); void showNames(); @@ -779,10 +782,8 @@ public: void transferConToEx(); void adjustDown(); void withWhat(); - void openOb(); void createFile(); void fadeToWhite(); - void showLoadOps(); }; } diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp index ba9e59ab4e..93a9e91dcd 100644 --- a/engines/dreamweb/people.cpp +++ b/engines/dreamweb/people.cpp @@ -41,7 +41,7 @@ static void (DreamGenContext::*reelCallbacks[57])() = { &DreamGenContext::smallCandle, NULL, &DreamGenContext::copper, &DreamGenContext::poolGuard, NULL, &DreamGenContext::businessMan, - NULL, NULL, + &DreamGenContext::train, NULL, &DreamGenContext::mugger, &DreamGenContext::helicopter, NULL, NULL, &DreamGenContext::introMagic2, &DreamGenContext::candles2, @@ -73,7 +73,7 @@ static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = { /*&DreamGenContext::smallcandle*/NULL, &DreamGenContext::security, /*&DreamGenContext::copper*/NULL, /*&DreamGenContext::poolGuard*/NULL, &DreamGenContext::rockstar, /*&DreamGenContext::businessMan*/NULL, - &DreamGenContext::train, &DreamGenContext::genericPerson /*aide*/, + /*&DreamGenContext::train*/NULL, &DreamGenContext::genericPerson /*aide*/, /*&DreamGenContext::mugger*/NULL, /*&DreamGenContext::helicopter*/NULL, &DreamGenContext::introMagic1, &DreamGenContext::introMusic, /*&DreamGenContext::introMagic2*/NULL, /*&DreamGenContext::candles2*/NULL, @@ -460,8 +460,5 @@ void DreamGenContext::foghornSound(ReelRoutine &routine) { playChannel1(13); } -void DreamGenContext::train(ReelRoutine &routine) { -} - } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 4724ae2f81..7d921766cf 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -450,7 +450,6 @@ void handClap(ReelRoutine &routine); void carParkDrip(ReelRoutine &routine); void foghornSound(ReelRoutine &routine); - void train(ReelRoutine &routine); void singleKey(uint8 key, uint16 x, uint16 y); void loadSaveBox(); void loadKeypad(); |