diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index 206bb8e9eb6b..bb8b3dc1c5ce 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -240,6 +240,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'dumptimedtext', 'dumpwatch', 'eden', + 'edeninbath', 'edenscdplayer', 'endpaltostart', 'entercode', @@ -344,6 +345,7 @@ generator = cpp(context, "DreamGen", blacklist = [ 'lockmon', 'look', 'loopchannel0', + 'louis', 'madman', 'madmanstelly', 'madmantext', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index fca8abc61551..e08e54532edd 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -114,27 +114,6 @@ void DreamGenContext::attendant() { data.byte(kTalkedtoattendant) = 1; } -void DreamGenContext::edenInBath() { - STACK_CHECK; - _cmp(data.byte(kGeneraldead), 0); - if (flags.z()) - return /* (notinbath) */; - _cmp(data.byte(kSartaindead), 0); - if (!flags.z()) - return /* (notinbath) */; - showGameReel(); - addToPeopleList(); -} - -void DreamGenContext::louis() { - STACK_CHECK; - _cmp(data.byte(kRockstardead), 0); - if (!flags.z()) - return /* (notlouis1) */; - showGameReel(); - addToPeopleList(); -} - void DreamGenContext::louisChair() { STACK_CHECK; _cmp(data.byte(kRockstardead), 0); diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index dd3f1f9abfb3..d8cbbefa294a 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -551,7 +551,6 @@ class DreamGenContext : public Context { void getObTextStart(); void decide(); void getRidOfReels(); - void louis(); void entryTexts(); void checkInput(); void setMode(); @@ -823,7 +822,6 @@ class DreamGenContext : public Context { void useHandle(); void showPuzText(); void incRyanPage(); - void edenInBath(); void findExObject(); void manAsleep2(); void useChurchHole(); diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp index e69fd66ee42a..e6e9738f43eb 100644 --- a/engines/dreamweb/people.cpp +++ b/engines/dreamweb/people.cpp @@ -26,11 +26,11 @@ namespace DreamGen { static void (DreamGenContext::*reelCallbacks[57])() = { NULL, NULL, - NULL, &DreamGenContext::edenInBath, + NULL, NULL, NULL, NULL, NULL, NULL, &DreamGenContext::receptionist, NULL, - NULL, &DreamGenContext::louis, + NULL, NULL, &DreamGenContext::louisChair, &DreamGenContext::soldier1, &DreamGenContext::bossMan, &DreamGenContext::interviewer, &DreamGenContext::heavy, &DreamGenContext::manAsleep2, @@ -58,11 +58,11 @@ static void (DreamGenContext::*reelCallbacks[57])() = { static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = { &DreamGenContext::gamer, &DreamGenContext::sparkyDrip, - &DreamGenContext::eden, /*&DreamGenContext::edenInBath*/NULL, + &DreamGenContext::eden, &DreamGenContext::edenInBath, &DreamGenContext::sparky, &DreamGenContext::smokeBloke, &DreamGenContext::manAsleep, &DreamGenContext::drunk, /*&DreamGenContext::receptionist*/NULL, &DreamGenContext::genericPerson /*maleFan*/, - &DreamGenContext::genericPerson /*femaleFan*/, /*&DreamGenContext::louis*/NULL, + &DreamGenContext::genericPerson /*femaleFan*/, &DreamGenContext::louis, /*&DreamGenContext::louisChair*/NULL, /*&DreamGenContext::soldier1*/NULL, /*&DreamGenContext::bossMan*/NULL, /*&DreamGenContext::interviewer*/NULL, /*&DreamGenContext::heavy*/NULL, /*&DreamGenContext::manAsleep2*/NULL, @@ -408,5 +408,21 @@ void DreamGenContext::security(ReelRoutine &routine) { addToPeopleList(&routine); } +void DreamGenContext::edenInBath(ReelRoutine &routine) { + if (data.byte(kGeneraldead) == 0 || data.byte(kSartaindead) != 0) + return; + + showGameReel(); + addToPeopleList(); +} + +void DreamGenContext::louis(ReelRoutine &routine) { + if (data.byte(kRockstardead) != 0) + return; + + showGameReel(); + addToPeopleList(); +} + } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index 72a5048003a4..ad5bc4d21731 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -414,6 +414,8 @@ void introMusic(ReelRoutine &routine); void candles(ReelRoutine &routine); void security(ReelRoutine &routine); + void edenInBath(ReelRoutine &routine); + void louis(ReelRoutine &routine); void singleKey(uint8 key, uint16 x, uint16 y); void loadSaveBox(); void loadKeypad();