25 #include "common/random.h" 26 #include "common/savefile.h" 27 #include "common/serializer.h" 28 #include "common/str.h" 29 #include "common/rect.h" 30 #include "engines/engine.h" 31 #include "gui/debugger.h" 32 #include "graphics/surface.h" 33 #include "cge/console.h" 34 #include "cge/bitmap.h" 35 #include "cge/sound.h" 53 class ResourceManager;
58 #define kSavegameVersion 3 59 #define kSavegameStrSize 11 72 #define kSceneMax kSceneNx * kSceneNy 74 #define kCryptSeed 0xA5 107 kCGEDebugBitmap = 1 << 0,
108 kCGEDebugFile = 1 << 1,
109 kCGEDebugEngine = 1 << 2
117 kNullCB = 0, kQGame, kMiniStep, kXScene, kSoundSetVolume
124 int16 saveYear, saveMonth, saveDay;
125 int16 saveHour, saveMinutes;
129 extern const char *savegameStr;
137 char _path[kPathMax];
146 uint16 width(
const char *text);
152 uint32 _lastFrame, _lastTick;
157 bool savegameExists(
int slotNumber);
167 static const int _maxSceneArr[5];
169 bool _showBoundariesFl;
176 int _pocref[kPocketNX];
189 uint8 _clusterMap[kMapZCnt][kMapXCnt];
197 Bar _barriers[kSceneMax + 1];
217 Sprite *_pocket[kPocketNX];
232 void switchScene(
int newScene);
233 void startCountDown();
236 void optionTouch(
int opt, uint16 mask);
238 bool loadGame(
int slotNumber,
SavegameHeader *header = NULL,
bool tiny =
false);
239 void setMapBrick(
int x,
int z);
240 void switchMapping();
241 void loadSprite(
const char *fname,
int ref,
int scene,
int col,
int row,
int pos);
242 void loadScript(
const char *fname);
245 bool showTitle(
const char *name);
246 void movie(
const char *ext);
247 void inf(
const char *text,
bool wideSpace =
false);
270 void selectPocket(
int n);
271 void expandSprite(
Sprite *spr);
272 void contractSprite(
Sprite *spr);
273 int findPocket(
Sprite *spr);
274 void feedSnail(
Sprite *spr, SnList snq);
278 void heroCover(
int cvr);
279 void trouble(
int seq,
int text);
284 void switchColorMode();
287 void miniStep(
int stp);
288 void postMiniStep(
int stp);
289 void showBak(
int ref);
290 void initSceneValues();
291 char *mergeExt(
char *buf,
const char *name,
const char *ext);
292 int takeEnum(
const char **tab,
const char *text);
293 int newRandom(
int range);
296 Sprite *spriteAt(
int x,
int y);
300 void snBackPt(
Sprite *spr,
int stp);
301 void snHBarrier(
const int scene,
const int barX);
302 void snVBarrier(
const int scene,
const int barY);
303 void snCover(
Sprite *spr,
int xref);
304 void snFlag(
int indx,
bool v);
305 void snFlash(
bool on);
306 void snGame(
Sprite *spr,
int num);
307 void snGhost(
Bitmap *bmp);
308 void snGive(
Sprite *spr,
int stp);
309 void snHide(
Sprite *spr,
int val);
310 void snKeep(
Sprite *spr,
int stp);
312 void snLevel(
Sprite *spr,
int lev);
313 void snLight(
bool in);
314 void snMouse(
bool on);
315 void snNNext(
Sprite *spr,
int p);
316 void snPort(
Sprite *spr,
int port);
317 void snReach(
Sprite *spr,
int mode);
318 void snRelZ(
Sprite *spr,
int z);
319 void snRNNext(
Sprite *spr,
int p);
320 void snRTNext(
Sprite *spr,
int p);
321 void snSend(
Sprite *spr,
int val);
322 void snRelX(
Sprite *spr,
int x);
323 void snRelY(
Sprite *spr,
int y);
324 void snRmNear(
Sprite *spr);
325 void snRmTake(
Sprite *spr);
326 void snRSeq(
Sprite *spr,
int val);
327 void snSeq(
Sprite *spr,
int val);
328 void snSetRef(
Sprite *spr,
int nr);
329 void snSetX(
Sprite *spr,
int x);
330 void snSetX0(
int scene,
int x0);
331 void snSetXY(
Sprite *spr, uint16 xy);
332 void snSetY(
Sprite *spr,
int y);
333 void snSetY0(
int scene,
int y0);
334 void snSetZ(
Sprite *spr,
int z);
335 void snSlave(
Sprite *spr,
int ref);
336 void snSound(
Sprite *spr,
int wav);
337 void snSwap(
Sprite *spr,
int xref);
338 void snTNext(
Sprite *spr,
int p);
339 void snTrans(
Sprite *spr,
int trans);
341 void snWalk(
Sprite *spr,
int x,
int y);
342 void snZTrim(
Sprite *spr);
EngineFeature
Definition: engine.h:253
Definition: savefile.h:54
Definition: advancedDetector.h:163
Definition: serializer.h:79
bool skipThumbnail(Common::SeekableReadStream &in)
Definition: cge_main.h:86