diff options
Diffstat (limited to 'engines/pegasus/neighborhood')
-rw-r--r-- | engines/pegasus/neighborhood/neighborhood.cpp | 46 | ||||
-rw-r--r-- | engines/pegasus/neighborhood/neighborhood.h | 16 |
2 files changed, 62 insertions, 0 deletions
diff --git a/engines/pegasus/neighborhood/neighborhood.cpp b/engines/pegasus/neighborhood/neighborhood.cpp index 75a8df9028..6f0bf79959 100644 --- a/engines/pegasus/neighborhood/neighborhood.cpp +++ b/engines/pegasus/neighborhood/neighborhood.cpp @@ -33,10 +33,13 @@ namespace Pegasus { +Neighborhood *g_neighborhood = 0; + Neighborhood::Neighborhood(InputHandler *nextHandler, PegasusEngine *vm, const Common::String &resName, tNeighborhoodID id) : InputHandler(nextHandler), IDObject(id), _vm(vm), _resName(resName) { GameState.setOpenDoorLocation(kNoRoomID, kNoDirection); _currentAlternate = 0; _interruptionFilter = kFilterAllInput; + g_neighborhood = this; } Neighborhood::~Neighborhood() { @@ -44,6 +47,7 @@ Neighborhood::~Neighborhood() { g_allHotspots.remove(*it); _neighborhoodHotspots.deleteHotspots(); + g_neighborhood = 0; } void Neighborhood::init() { @@ -389,4 +393,46 @@ bool operator!=(const tQueueRequest &arg1, const tQueueRequest &arg2) { return !operator==(arg1, arg2); } +Common::String Neighborhood::getBriefingMovie() { + // TODO: Interaction check + + return Common::String(); +} + +Common::String Neighborhood::getEnvScanMovie() { + // TODO: Interaction check + + return Common::String(); +} + +uint Neighborhood::getNumHints() { + // TODO: Interaction check + + return 0; +} + +Common::String Neighborhood::getHintMovie(uint hintNum) { + // TODO: Interaction check + + return Common::String(); +} + +bool Neighborhood::canSolve() { + // TODO: Interaction check + + return false; +} + +void Neighborhood::doSolve() { + // TODO: Interaction check +} + +bool Neighborhood::okayToJump() { + return !_vm->playerHasItemID(kGasCanister) && !_vm->playerHasItemID(kMachineGun); +} + +tAirQuality Neighborhood::getAirQuality(const tRoomID) { + return kAirQualityGood; +} + } // End of namespace Pegasus diff --git a/engines/pegasus/neighborhood/neighborhood.h b/engines/pegasus/neighborhood/neighborhood.h index d294ffe7f0..f42171803b 100644 --- a/engines/pegasus/neighborhood/neighborhood.h +++ b/engines/pegasus/neighborhood/neighborhood.h @@ -113,6 +113,20 @@ public: virtual bool actionQueueEmpty() { return _actionQueue.empty(); } + virtual Common::String getBriefingMovie(); + virtual Common::String getEnvScanMovie(); + virtual uint getNumHints(); + virtual Common::String getHintMovie(uint); + virtual bool canSolve(); + virtual void prepareForAIHint(const Common::String &) {} + virtual void cleanUpAfterAIHint(const Common::String &) {} + virtual void doSolve(); + + virtual bool okayToJump(); + + virtual tAirQuality getAirQuality(const tRoomID); + virtual void checkAirMask() {} + protected: virtual void receiveNotification(Notification *, const tNotificationFlags); @@ -146,6 +160,8 @@ protected: tInputBits _interruptionFilter; }; +extern Neighborhood *g_neighborhood; + } // End of namespace Pegasus #endif |