27#ifndef AVALANCHE_AVALANCHE_H
28#define AVALANCHE_AVALANCHE_H
30#include "avalanche/console.h"
31#include "avalanche/graphics.h"
32#include "avalanche/parser.h"
33#include "avalanche/avalot.h"
34#include "avalanche/dialogs.h"
35#include "avalanche/background.h"
36#include "avalanche/sequence.h"
37#include "avalanche/timer.h"
38#include "avalanche/animation.h"
39#include "avalanche/dropdown.h"
40#include "avalanche/closing.h"
41#include "avalanche/sound.h"
42#include "avalanche/nim.h"
43#include "avalanche/clock.h"
44#include "avalanche/ghostroom.h"
45#include "avalanche/help.h"
46#include "avalanche/shootemup.h"
47#include "avalanche/mainmenu.h"
48#include "avalanche/highscore.h"
50#include "common/error.h"
51#include "common/serializer.h"
53#include "engines/engine.h"
55#include "graphics/cursorman.h"
63struct AvalancheGameDescription;
69static const int kSavegameVersion = 2;
109 uint32 getFeatures()
const;
110 const char *getGameId()
const;
113 const char *getCopyrightString()
const;
121 bool loadGame(
const int16 slot);
123 uint32 getTimeInSeconds();
135 static const bool kThing =
true;
136 static const bool kPerson =
false;
138 static const char kSpludwicksOrder[3];
140 static const uint16 kNotes[12];
150 bool _objects[kObjectNum];
159 byte _drawbridgeOpen;
162 bool _onionInVinegar;
163 byte _givenToSpludwick;
165 byte _cardiffQuestionNum;
170 bool _givenBadgeToIby;
171 bool _friarWillTieYouUp;
174 bool _talkedToCrapulus;
176 bool _bellsAreRinging;
177 bool _standingOnDais;
179 bool _arrowInTheDoor;
180 Common::String _favoriteDrink, _favoriteSong, _worstPlaceOnEarth, _spareEvening;
184 bool _mushroomGrowing;
185 bool _crapulusWillTell;
186 bool _enterCatacombsFromLustiesRoom;
190 bool _enteredLustiesRoomAsMonk;
191 byte _catacombX, _catacombY;
192 bool _avvysInTheCupboard;
194 bool _givenPotionToGeida;
195 bool _lustieIsAsleep;
198 byte _spurgeTalkCount;
200 bool _takenMushroom, _givenPenToAyles, _askedDogfoodAboutNim;
203 bool _showDebugLines;
211 bool _animationsEnabled;
212 char _objectList[10];
223 byte _cp, _ledStatus;
231 bool _doingSpriteRun;
236 void callVerb(VerbCode
id);
237 void loadBackground(
byte num);
238 void loadRoom(
byte num);
239 void thinkAbout(
byte object,
bool type);
240 void incScore(
byte num);
242 void refreshObjectList();
246 void drawDirection();
248 uint16 bearing(
byte whichPed);
258 bool getFlag(
char x);
259 bool decreaseMoney(uint16 amount);
265 void openDoor(Room whither,
byte ped,
byte magicnum);
266 void flipRoom(Room room,
byte ped);
268 void setRoom(People persId, Room roomId);
269 Room getRoom(People persId);
271 static const int16 kMaxSprites = 2;
272 static Room _whereIs[29];
276 byte _fxPal[16][16][3];
278 bool _spludwickAtHome;
279 bool _passedCwytalotInHerts;
282 byte _lastRoomNotMap;
283 byte _roomCount[100];
287 int8 _scoreToDisplay[3];
292 void initVariables();
298 void findPeople(
byte room);
299 void putGeidaAt(
byte whichPed,
byte ped);
301 void enterRoom(Room room,
byte ped);
302 void exitRoom(
byte x);
308 void loadAlso(
byte num);
309 void resetAllVariables();
310 void resetVariables();
Definition: animation.h:92
Definition: avalanche.h:78
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave=false) override
bool hasFeature(EngineFeature f) const override
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Common::Error run() override
Common::Error loadGameState(int slot) override
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: background.h:47
Definition: ghostroom.h:43
Definition: graphics.h:50
Definition: highscore.h:39
Definition: sequence.h:35
Definition: titlescreen.h:32
Definition: serializer.h:80
EngineFeature
Definition: engine.h:282
ErrorCode
Definition: error.h:47
Definition: algorithm.h:29
Definition: detection.h:32