diff options
Diffstat (limited to 'engines/avalanche/avalot.h')
-rw-r--r-- | engines/avalanche/avalot.h | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/engines/avalanche/avalot.h b/engines/avalanche/avalot.h index a80d80d275..af7ba2c71d 100644 --- a/engines/avalanche/avalot.h +++ b/engines/avalanche/avalot.h @@ -111,261 +111,6 @@ struct Sundry { // Things which must be saved over a backtobootstrap, outside DN }; #endif -class Avalot { -public: - static const int16 kXW = 30; - static const int16 kYW = 36; // x width & y whatsit - static const int16 kMargin = 5; - static const MouseHotspotType kMouseHotSpots[9]; - static const int16 kMaxSprites = 2; // Current max no. of sprites. - - // For Thinkabout: - static const bool kThing = true; - static const bool kPerson = false; - - // Magic/portal constants: - enum Magics { - kMagicNothing, // Ignore it if this line is touched. - kMagicBounce, // Bounce off this line. Not valid for portals. - kMagicExclaim, // Put up a chain of scrolls. - kMagicTransport, // Enter new room. - kMagicUnfinished, // Unfinished connection. - kMagicSpecial, // Special function. - kMagicOpenDoor // Opening door. - }; - - // These following static constants should be included in CFG when it's written. - - static const bool kSlowComputer = false; // Stops walking when mouse touches toolbar. - static const int16 kBorder = 1; // size of border on shadowboxes - static const int16 kWalk = 3; - static const int16 kRun = 5; - static const int32 kCatacombMap[8][8]; - static const char kSpludwicksOrder[3]; - static const QuasipedType kQuasipeds[16]; - - enum Pitch { - kPitchInvalid, - kPitchLower, - kPitchSame, - kPitchHigher - }; - - static const uint16 kNotes[12]; - static const TuneType kTune; - - static const char *kVersionNum; - static const char *kCopyright; - static const int16 kVersionCode = 130; // Same as kVersionCode, but numerically & without the ".". - static const int16 kGameCode = 2; // Avalot's code number - - - - Avalot(AvalancheEngine *vm); - ~Avalot(); - - bool _holdLeftMouse; - Clock _clock; - - // If this is greater than zero, the next line you type is stored in the DNA in a position dictated by the value. - // If a scroll comes up, or you leave the room, it's automatically set to zero. - byte _interrogation; - - // Former DNA structure - byte _carryNum; // How many objects you're carrying... - bool _objects[kObjectNum]; // ...and which ones they are. - int16 _dnascore; // your score, of course - int32 _money; // your current amount of dosh - Room _room; // your current room - byte _roomCount[100]; // Add one to each every time you enter a room - bool _wonNim; // Have you *won* Nim? (That's harder.) - byte _wineState; // 0=good (Notts), 1=passable(Argent) ... 3=vinegar. - bool _cwytalotGone; // Has Cwytalot rushed off to Jerusalem yet? - byte _passwordNum; // Number of the passw for this game. - bool _aylesIsAwake; // pretty obvious! - byte _drawbridgeOpen; // Between 0 (shut) and 4 (open). - byte _avariciusTalk; // How much Avaricius has said to you. - bool _rottenOnion; // And has it rotted? - bool _onionInVinegar; // Is the onion in the vinegar? - byte _givenToSpludwick; // 0 = nothing given, 1 = onion... - byte _brummieStairs; // Progression through the stairs trick. - byte _cardiffQuestionNum; // Things you get asked in Cardiff. - bool _passedCwytalotInHerts; // Have you passed Cwytalot in Herts? - bool _avvyIsAwake; // Well? Is Avvy awake? (Screen 1 only.) - bool _avvyInBed; // True if Avvy's in bed, but awake. - bool _userMovesAvvy; // If this is false, the user has no control over Avvy's movements. - byte _npcFacing; // If there's an NPC in the current room which turns it's head according to Avvy's movement (keep looking at him), this variable tells which way it's facing at the moment. - bool _givenBadgeToIby; // Have you given the badge to Iby yet? - bool _friarWillTieYouUp; // If you're going to get tied up. - bool _tiedUp; // You ARE tied up! - byte _boxContent; // 0 = money (sixpence), 254 = empty, any other number implies the contents of the box. - bool _talkedToCrapulus; // Pretty self-explanatory. - byte _jacquesState; // 0=asleep, 1=awake, 2=gets up, 3=gone. - bool _bellsAreRinging; // Is Jacques ringing the bells? - bool _standingOnDais; // In room 71, inside Cardiff Castle. - bool _takenPen; // Have you taken the pen (in Cardiff?) - bool _arrowTriggered; // And has the arrow been triggered? - bool _arrowInTheDoor; // Did the arrow hit the wall? - Common::String _favouriteDrink, _favouriteSong, _worstPlaceOnEarth, _spareEvening; // Personalisation str's - uint32 _totalTime; // Your total time playing this game, in ticks. - byte _jumpStatus; // Fixes how high you're jumping. - bool _mushroomGrowing; // Is the mushroom growing in 42? - bool _spludwickAtHome; // Is Spludwick at home? - byte _lastRoom; - byte _lastRoomNotMap; - bool _crapulusWillTell; // Will Crapulus tell you about Spludwick being away? - bool _enterCatacombsFromLustiesRoom; - bool _teetotal; // Are we touching any more drinks? - byte _malagauche; // Position of Malagauche. See Celer for more info. - char _drinking; // What's he getting you? - bool _enteredLustiesRoomAsMonk; - byte _catacombX, _catacombY; // XY coords in the catacombs. - bool _avvysInTheCupboard; // On screen 22. - bool _geidaFollows; // Is Geida following you? - byte _nextBell; // For the ringing. - bool _givenPotionToGeida; // Does Geida have the potion? - bool _lustieIsAsleep; // Is BDL asleep? - bool _beenTiedUp; // In r__Robins. - bool _sittingInPub; // Are you sitting down in the pub? - byte _spurgeTalkCount; // Count for talking to Spurge. - bool _metAvaroid; - bool _takenMushroom, _givenPenToAyles, _askedDogfoodAboutNim; - // End of former DNA Structure - - byte _lineNum; // Number of lines. - LineType _lines[50]; // For Also. - enum MouseState { kMouseStateNo, kMouseStateYes, kMouseStateVirtual } _mouse; - bool _dropsOk, _soundFx, _cheat; - Common::String _mouseText; - bool _weirdWord; - bool _letMeOut; - Common::String _scroll[15]; - byte _scrollNum, _whichwas; - byte _thinks; - bool _thinkThing; - int16 _talkX, _talkY; - byte _talkBackgroundColor, _talkFontColor; - byte _scrollBells; // no. of times to ring the bell - bool _onToolbar, _seeScroll; // TODO: maybe this means we're interacting with the toolbar / a scroll? - char _objectList[10]; - ::Graphics::Surface _digits[10]; // digitsize and rwlitesize are defined in Lucerna::load_digits() !!! - ::Graphics::Surface _directions[9]; // Maybe it will be needed to move them to the class itself instead. - // Called .free() for them in ~Gyro(). - int8 _scoreToDisplay[3]; - byte _currentMouse; // current mouse-void - Common::String _verbStr; // what you can do with your object. :-) - Common::String *_also[31][2]; - PedType _peds[15]; - MagicType _magics[15]; - MagicType _portals[7]; - FieldType _fields[30]; - byte _fieldNum; - Common::String _flags; - Common::String _listen; - byte _cp, _ledStatus, _defaultLed; - FontType _font; - bool _alive; - byte _buffer[2000]; - uint16 _bufSize; - int16 _underScroll; // Y-coord of just under the scroll text. - Common::String _roomnName; // Name of actual room - Common::String _subject; // What you're talking to them about. - byte _subjectNum; // The same thing. - bool _keyboardClick; // Is a keyboard click noise wanted? - People _him, _her; - byte _it; - int32 _roomTime; // Set to 0 when you enter a room, added to in every loop. - - People _lastPerson; // Last person to have been selected using the People menu. - bool _doingSpriteRun; // Only set to True if we're doing a sprite_run at this moment. This stops the trippancy system from moving any of the sprites. - bool _holdTheDawn; // If this is true, calling Dawn will do nothing. It's used, for example, at the start, to stop Load from dawning. - bool _isLoaded; // Is it a loaded gamestate? - Common::String _enidFilename; - - void handleKeyDown(Common::Event &event); // To replace Basher::keyboard_link() and Basher::typein(). - void setup(); - void runAvalot(); - - void init(); - void callVerb(VerbCode id); - void drawAlsoLines(); - void loadRoom(byte num); - void exitRoom(byte x); - void enterRoom(Room room, byte ped); - void thinkAbout(byte object, bool type); // Hey!!! Get it and put it!!! - void loadDigits(); // Load the scoring digits & rwlites - void drawToolbar(); - void drawScore(); - void incScore(byte num); // Add on no. of points - void useCompass(const Common::Point &cursorPos); // Click on the compass on the toolbar to control Avvy's movement. - void fxToggle(); - void refreshObjectList(); - void checkClick(); - void errorLed(); - void dusk(); - void dawn(); - void drawDirection(); // Draws the little icon at the left end of the text input field. - void gameOver(); - uint16 bearing(byte whichPed); // Returns the bearing from ped 'whichped' to Avvy, in degrees. - void fixFlashers(); - void loadAlso(byte num); - - // There are two kinds of redraw: Major and Minor. Minor is what happens when you load a game, etc. Major redraws EVERYTHING. - void minorRedraw(); - void majorRedraw(); - - void spriteRun(); - - Common::String intToStr(int32 num); - void newMouse(byte id); - void setMousePointerWait(); // Makes hourglass. - void loadMouse(byte which); - - void setBackgroundColor(byte x); - - void resetVariables(); - void newGame(); // This sets up the DNA for a completely new game. - void slowDown(); - bool setFlag(char x); - bool decreaseMoney(uint16 amount); // Called pennycheck in the original. - void hangAroundForAWhile(); - - Common::String getName(People whose); - byte getNameChar(People whose); - Common::String getThing(byte which); - char getThingChar(byte which); - Common::String getItem(byte which); // Called get_better in the original. - Common::String f5Does(); // This procedure determines what f5 does. - - void openDoor(Room whither, byte ped, byte magicnum); // Handles slidey-open doors. - void flipRoom(Room room, byte ped); - - void setRoom(People persId, Room roomId); - Room getRoom(People persId); -private: - AvalancheEngine *_vm; - - static Room _whereIs[29]; - - Common::File file; - Common::String readAlsoStringFromFile(); - void scram(Common::String &str); - void unScramble(); - - void zoomOut(int16 x, int16 y); // Only used when entering the map. - void enterNewTown(); - void findPeople(byte room); - void putGeidaAt(byte whichPed, byte ped); - void guideAvvy(Common::Point cursorPos); - - // Will be used in dusk() and dawn(). - bool _fxHidden; - - int8 fades(int8 x); - void fadeOut(byte n); - void fadeIn(byte n); -}; - } // End of namespace Avalanche #endif // AVALANCHE_AVALOT_H |