diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 42 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 3 | ||||
-rw-r--r-- | engines/dreamweb/people.cpp | 19 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 3 | ||||
-rw-r--r-- | engines/dreamweb/use.cpp | 25 |
5 files changed, 41 insertions, 51 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 90b3785f97..595a869e68 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -699,15 +699,6 @@ notboss: data.byte(kTalkedtoboss) = 1; } -void DreamGenContext::carParkDrip() { - STACK_CHECK; - checkSpeed(); - if (!flags.z()) - return /* (cantdrip2) */; - al = 14; - playChannel1(); -} - void DreamGenContext::keeper() { STACK_CHECK; _cmp(data.byte(kKeeperflag), 0); @@ -6641,20 +6632,6 @@ void DreamGenContext::trapDoor() { data.byte(kGetback) = 1; } -void DreamGenContext::callHotelLift() { - STACK_CHECK; - al = 12; - playChannel1(); - showFirstUse(); - data.byte(kCounttoopen) = 8; - data.byte(kGetback) = 1; - data.byte(kDestination) = 5; - data.byte(kFinaldest) = 5; - autoSetWalk(); - al = 4; - turnPathOn(); -} - void DreamGenContext::callEdensLift() { STACK_CHECK; showFirstUse(); @@ -8113,25 +8090,6 @@ nottvsoldier: putBackObStuff(); } -void DreamGenContext::useShield() { - STACK_CHECK; - _cmp(data.byte(kReallocation), 20); - if (!flags.z()) - goto notinsartroom; - _cmp(data.byte(kCombatcount), 0); - if (flags.z()) - goto notinsartroom; - data.byte(kLastweapon) = 3; - showSecondUse(); - data.byte(kGetback) = 1; - _inc(data.byte(kProgresspoints)); - removeObFromInv(); - return; -notinsartroom: - showFirstUse(); - putBackObStuff(); -} - void DreamGenContext::useButtonA() { STACK_CHECK; al = 95; diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index 67419c1ac5..928fffd150 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -687,7 +687,6 @@ public: void introMagic2(); void introMagic3(); void showDiaryPage(); - void useShield(); void getBackToOps(); void dumpSymbol(); void intro1Text(); @@ -742,7 +741,6 @@ public: void quitSymbol(); void setTopRight(); void findSetObject(); - void carParkDrip(); void useDiary(); void deleteExObject(); void moneyPoke(); @@ -806,7 +804,6 @@ public: void useGun(); void autoAppear(); void openRyan(); - void callHotelLift(); void useFullCart(); void newPlace(); void useCardReader1(); diff --git a/engines/dreamweb/people.cpp b/engines/dreamweb/people.cpp index 83533c6a2d..1bf46d32d7 100644 --- a/engines/dreamweb/people.cpp +++ b/engines/dreamweb/people.cpp @@ -51,9 +51,9 @@ static void (DreamGenContext::*reelCallbacks[57])() = { &DreamGenContext::monkAndRyan, &DreamGenContext::endGameSeq, &DreamGenContext::priest, NULL, NULL, &DreamGenContext::alleyBarkSound, - &DreamGenContext::foghornSound, &DreamGenContext::carParkDrip, - &DreamGenContext::carParkDrip, &DreamGenContext::carParkDrip, - &DreamGenContext::carParkDrip + &DreamGenContext::foghornSound, NULL, + NULL, NULL, + NULL }; static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = { @@ -83,9 +83,9 @@ static void (DreamGenContext::*reelCallbacksCPP[57])(ReelRoutine &) = { /*&DreamGenContext::monkAndRyan*/NULL, /*&DreamGenContext::endGameSeq*/NULL, /*&DreamGenContext::priest*/NULL, &DreamGenContext::madman, &DreamGenContext::madmansTelly, /*&DreamGenContext::alleyBarkSound*/NULL, - /*&DreamGenContext::foghornSound*/NULL, /*&DreamGenContext::carParkDrip*/NULL, - /*&DreamGenContext::carParkDrip*/NULL, /*&DreamGenContext::carParkDrip*/NULL, - /*&DreamGenContext::carParkDrip*/NULL + /*&DreamGenContext::foghornSound*/NULL, &DreamGenContext::carParkDrip, + &DreamGenContext::carParkDrip, &DreamGenContext::carParkDrip, + &DreamGenContext::carParkDrip }; void DreamGenContext::updatePeople() { @@ -448,5 +448,12 @@ void DreamGenContext::louis(ReelRoutine &routine) { void DreamGenContext::handClap(ReelRoutine &routine) { } +void DreamGenContext::carParkDrip(ReelRoutine &routine) { + if (!checkSpeed(routine)) + return; // cantdrip2 + + playChannel1(14); +} + } /*namespace dreamgen */ diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index daf7388e7b..799905072f 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -378,6 +378,8 @@ void useElevator4(); void useHatch(); void wheelSound(); + void callHotelLift(); + void useShield(); void checkFolderCoords(); void loadFolder(); void showFolder(); @@ -418,6 +420,7 @@ void edenInBath(ReelRoutine &routine); void louis(ReelRoutine &routine); void handClap(ReelRoutine &routine); + void carParkDrip(ReelRoutine &routine); void singleKey(uint8 key, uint16 x, uint16 y); void loadSaveBox(); void loadKeypad(); diff --git a/engines/dreamweb/use.cpp b/engines/dreamweb/use.cpp index 39423b392c..4421134f9b 100644 --- a/engines/dreamweb/use.cpp +++ b/engines/dreamweb/use.cpp @@ -287,5 +287,30 @@ void DreamGenContext::wheelSound() { putBackObStuff(); } +void DreamGenContext::callHotelLift() { + playChannel1(12); + showFirstUse(); + data.byte(kCounttoopen) = 8; + data.byte(kGetback) = 1; + data.byte(kDestination) = 5; + data.byte(kFinaldest) = 5; + autoSetWalk(); + turnPathOn(4); +} + +void DreamGenContext::useShield() { + if (data.byte(kReallocation) != 20 || data.byte(kCombatcount) == 0) { + // Not in Sart room + showFirstUse(); + putBackObStuff(); + } else { + data.byte(kLastweapon) = 3; + showSecondUse(); + data.byte(kGetback) = 1; + data.byte(kProgresspoints) = data.byte(kProgresspoints) + 1; + removeObFromInv(); + } +} + } /*namespace dreamgen */ |