35 #ifndef GRIFFON_GRIFFON_H 36 #define GRIFFON_GRIFFON_H 38 #include "common/scummsys.h" 39 #include "common/error.h" 40 #include "common/events.h" 41 #include "common/random.h" 42 #include "engines/engine.h" 44 #include "audio/mixer.h" 46 #include "graphics/managed_surface.h" 52 #define kSoundHandles 16 97 kScriptFindCrystal = 3,
98 kScriptFindShield = 4,
101 kScriptBlueFlask = 7,
102 kScriptGardenMasterKey = 8,
103 kScriptLightningBomb = 9,
104 kScriptBlueFlaskChest = 10,
105 kScriptLightningChest = 11,
106 kScriptArmourChest = 12,
107 kScriptCitadelMasterKey = 13,
108 kScriptEndOfGame = 14,
109 kScriptGetSword3 = 15,
112 kScriptKeyChest1 = 20,
118 kMonsterBabyDragon = 1,
121 kMonsterBlackKnight = 4,
122 kMonsterFireHydra = 5,
123 kMonsterRedDragon = 6,
125 kMonsterYellowDragon = 8,
127 kMonsterDragon2 = 10,
128 kMonsterFinalBoss = 11,
129 kMonsterBatKitty = 12
133 enum GriffonActions {
142 kGriffonCutsceneSpeedUp
145 #define kEpsilon 0.001 168 float spellCharge[5];
170 float attackStrength;
242 float headTargetX[4];
243 float headTargetY[4];
277 float fireballs[7][4];
348 void syncSoundSettings()
override;
361 void castSpell(
int spellnum,
float homex,
float homey,
float enemyx,
float enemyy,
int damagewho);
363 void damageNPC(
int npcnum,
int damage,
int spell);
364 void damagePlayer(
int damage);
373 void title(
int mode);
376 void renderSaveStates();
379 void drawAnims(
int Layer);
381 void drawNPCs(
int mode);
382 void drawOver(
int modx,
int mody);
395 void addFloatIcon(
int ico,
float xloc,
float yloc);
396 void addFloatText(
const char *stri,
float xloc,
float yloc,
int col);
397 void eventText(
const char *stri);
400 void drawProgress(
int w,
int wm);
404 void handleWalking();
406 void processTrigger(
int trignum);
413 void updateSpellsUnder();
418 void loadMap(
int mapnum);
428 int loadPlayer(
int slotnum);
435 void setChannelVolume(
int channel,
int volume);
436 int getSoundHandle();
437 int playSound(
DataChunk *chunk,
bool looped =
false);
438 void pauseSoundChannel(
int channel);
439 void haltSoundChannel(
int channel);
440 void resumeSoundChannel(
int channel);
441 bool isSoundChannelPlaying(
int channel);
446 void pauseEngineIntern(
bool pause)
override;
447 bool canLoadGameStateCurrently(
Common::U32String *msg =
nullptr)
override {
return true; }
448 bool canSaveGameStateCurrently(
Common::U32String *msg =
nullptr)
override {
return _gameMode == kGameModePlay; }
449 int getAutosaveSlot()
const override {
return 4; }
461 unsigned int _clipSurround[4][4];
464 int _rampData[40][24];
472 int _curItem, _itemTicks;
478 int _scriptFlag[100][10], _saveSlot;
481 int _ticks, _ticksPassed, _nextTicks, _ticksAtPauseStart;
482 float _fp, _fps, _fpsr;
483 int _secsInGame, _secStart;
496 float _postInfo[21][3];
505 Spell _spellInfo[kMaxSpell];
510 bool _movingUp, _movingDown, _movingLeft, _movingRight;
516 int _tileinfo[3][40][24][3];
529 AnimSet _animSet2[7], _animSet9[7];
532 float _objectFrame[256][2];
537 int _objectTile[33][9][3][3][2];
539 int _objectMap[21][15];
541 int _objectMapFull[1000][21][15];
545 int _triggers[10000][9];
548 int _triggerLoc[320][240], _triggerNbr;
551 NPC _npcInfo[kMaxNPC];
555 DataChunk *_musicGardens1, *_musicGardens2, *_musicGardens3, *_musicGardens4, *_musicBoss, *_musicMenu, *_musicEndOfGame;
556 int _musicChannel, _menuChannel;
557 bool _playingBoss, _playingGardens;
564 int _roomLocks[201], _lockType;
572 int _ysort[2401], _lasty, _firsty;
582 #endif // GRIFFON_GRIFFON_H Definition: managed_surface.h:51
Definition: griffon.h:319
EngineFeature
Definition: engine.h:253
Definition: griffon.h:342
Definition: griffon.h:186
Definition: griffon.h:147
Definition: griffon.h:298
Definition: griffon.h:326
Definition: griffon.h:255
Definition: griffon.h:306
Definition: griffon.h:313
Definition: griffon.h:195
Definition: griffon.h:293
Definition: griffon.h:284