/* ScummVM - Graphic Adventure Engine * * ScummVM is the legal property of its developers, whose names * are too numerous to list here. Please refer to the COPYRIGHT * file distributed with this source distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #ifndef GNAP_GROUP2_H #define GNAP_GROUP2_H #include "gnap/debugger.h" namespace Gnap { enum { kHS20Platypus = 0, kHS20GroceryStoreHat = 1, kHS20ExitParkingLot = 2, kHS20StonerGuy = 3, kHS20GroceryStoreGuy = 4, kHS20Device = 5, kHS20ExitInsideGrubCity = 6, kHS20ExitOutsideCircusWorld = 7, kHS20ExitOutsideToyStore = 8, kHS20ExitPhone = 9, kHS20WalkArea1 = 10, kHS20WalkArea2 = 11 }; enum { kHS21Platypus = 0, kHS21Banana = 1, kHS21OldLady = 2, kHS21Device = 3, kHS21ExitOutsideGrubCity = 4, kHS21WalkArea1 = 5, kHS21WalkArea2 = 6 }; enum { kHS22Platypus = 0, kHS22ExitOutsideGrubCity = 1, kHS22ExitBackGrubCity = 2, kHS22Cashier = 3, kHS22Device = 4, kHS22WalkArea1 = 5, kHS22WalkArea2 = 6 }; enum { kHS23Platypus = 0, kHS23ExitFrontGrubCity = 1, kHS23Device = 2, kHS23Cereals = 3, kHS23WalkArea1 = 4, kHS23WalkArea2 = 5 }; enum { kHS24Platypus = 0, kHS24ExitCircusWorld = 1, kHS24ExitOutsideGrubCity = 2, kHS24Device = 3, kHS24WalkArea1 = 4, kHS24WalkArea2 = 5, kHS24WalkArea3 = 6 }; enum { kHS25Platypus = 0, kHS25TicketVendor = 1, kHS25ExitOutsideCircusWorld = 2, kHS25ExitInsideCircusWorld = 3, kHS25Device = 4, kHS25Posters1 = 5, kHS25Posters2 = 6, kHS25Posters3 = 7, kHS25Posters4 = 8, kHS25WalkArea1 = 9, kHS25WalkArea2 = 10 }; enum { kHS26Platypus = 0, kHS26ExitOutsideCircusWorld = 1, kHS26ExitOutsideClown = 2, kHS26ExitArcade = 3, kHS26ExitElephant = 4, kHS26ExitBeerStand = 5, kHS26Device = 6, kHS26WalkArea1 = 7, kHS26WalkArea2 = 8 }; enum { kHS27Platypus = 0, kHS27Janitor = 1, kHS27Device = 2, kHS27Bucket = 3, kHS27ExitCircus = 4, kHS27ExitArcade = 5, kHS27ExitBeerStand = 6, kHS27ExitClown = 7, kHS27WalkArea1 = 8 }; enum { kHS28Platypus = 0, kHS28Horn = 1, kHS28Clown = 2, kHS28ExitOutsideClown = 3, kHS28EmptyBucket = 4, kHS28Device = 5, kHS28WalkArea1 = 6, kHS28WalkArea2 = 7 }; enum { kHS29Platypus = 0, kHS29Monkey = 1, kHS29Device = 2, kHS29ExitCircus = 3, kHS29ExitOutsideClown = 4, kHS29Arcade = 5, kHS29WalkArea1 = 6 }; enum { kAS20LeaveScene = 0, kAS20TalkStonerGuyNoJoint = 2, kAS20TalkStonerGuyHasJoint = 3, kAS20GrabJoint = 4, kAS20ActionDone = 5, kAS20TalkGroceryStoreGuy = 6, kAS20GrabGroceryStoreGuy = 9, kAS20GrabGroceryStoreHat = 10, kAS20SwitchGroceryStoreHat = 11, kAS20SwitchGroceryStoreHatDone = 12, kAS20GrabJointDone = 13 }; enum { kAS21TalkOldLady = 0, kAS21GrabBanana = 1, kAS21GrabBananaDone = 2, kAS21GrabOldLady = 3, kAS21UseHatWithOldLady = 4, kAS21UseHatWithOldLadyDone = 5, kAS21LeaveScene = 6 }; enum { kAS22LeaveScene = 0, kAS22TalkCashier = 1 }; enum { kAS23LookCereals = 0, kAS23GrabCereals = 1, kAS23GrabCerealsDone = 2, kAS23LeaveScene = 3 }; enum { kAS24LeaveScene = 0 }; enum { kAS25TalkTicketVendor = 0, kAS25EnterCircusWihoutTicket = 1, kAS25ShowTicketToVendor = 2, kAS25ShowTicketToVendorDone = 3, kAS25EnterCircusWihoutTicketDone = 4, kAS25LeaveScene = 5 }; enum { kAS26LeaveScene = 0 }; enum { kAS27TalkJanitor = 0, kAS27GrabBucket = 1, kAS27GrabBucketDone = 2, kAS27ShowPictureToJanitor = 3, kAS27TryEnterClownTent = 4, kAS27TryEnterClownTentDone = 5, kAS27EnterClownTent = 6, kAS27LeaveScene = 7 }; enum { kAS28UseBeerBucketWithClown = 0, kAS28UsePillBucketWithClown = 1, kAS28GrabHornFails = 2, kAS28GrabEmptyBucket = 3, kAS28GrabHornSuccess = 4, kAS28GrabHornSuccessDone = 5, kAS28GrabEmptyBucketDone = 6, kAS28GrabHornFailsDone = 7, kAS28TalkClown = 8, kAS28GnapWaiting = 9, kAS28LeaveScene = 10 }; enum { kAS29UseBananaWithMonkey = 0, kAS29LeaveScene = 2 }; class GnapEngine; class CutScene; class Scene20: public Scene { public: Scene20(GnapEngine *vm); virtual ~Scene20() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb(); private: int _currStonerGuySequenceId; int _nextStonerGuySequenceId; int _currGroceryStoreGuySequenceId; int _nextGroceryStoreGuySequenceId; int _stonerGuyCtr; int _groceryStoreGuyCtr; bool _stonerGuyShowingJoint; void stopSounds(); }; class Scene21: public Scene { public: Scene21(GnapEngine *vm); virtual ~Scene21() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _currOldLadySequenceId; int _nextOldLadySequenceId; }; class Scene22: public Scene { public: Scene22(GnapEngine *vm); virtual ~Scene22() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _currCashierSequenceId; int _nextCashierSequenceId; bool _caughtBefore; int _cashierCtr; }; class Scene23: public Scene { public: Scene23(GnapEngine *vm); virtual ~Scene23() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _currStoreClerkSequenceId; int _nextStoreClerkSequenceId; }; class Scene24: public Scene { public: Scene24(GnapEngine *vm); virtual ~Scene24() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _currWomanSequenceId; int _nextWomanSequenceId; int _boySequenceId; int _girlSequenceId; }; class Scene25: public Scene { public: Scene25(GnapEngine *vm); virtual ~Scene25() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _currTicketVendorSequenceId; int _nextTicketVendorSequenceId; void playAnims(int index); }; class Scene26: public Scene { public: Scene26(GnapEngine *vm); virtual ~Scene26() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _currKidSequenceId; int _nextKidSequenceId; }; class Scene27: public Scene { public: Scene27(GnapEngine *vm); virtual ~Scene27() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _nextJanitorSequenceId; int _currJanitorSequenceId; }; class Scene28: public Scene { public: Scene28(GnapEngine *vm); virtual ~Scene28() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _currClownSequenceId; int _nextClownSequenceId; int _clownTalkCtr; }; class Scene29: public Scene { public: Scene29(GnapEngine *vm); virtual ~Scene29() {} virtual int init(); virtual void updateHotspots(); virtual void run(); virtual void updateAnimations(); virtual void updateAnimationsCb() {}; private: int _currMonkeySequenceId; int _nextMonkeySequenceId; int _currManSequenceId; int _nextManSequenceId; }; } // End of namespace Gnap #endif // GNAP_GROUP1_H