aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus/neighborhood
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pegasus/neighborhood')
-rw-r--r--engines/pegasus/neighborhood/neighborhood.cpp46
-rw-r--r--engines/pegasus/neighborhood/neighborhood.h16
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