22#ifndef HYPNO_GRAMMAR_H
23#define HYPNO_GRAMMAR_H
25#include "common/array.h"
26#include "common/hash-ptr.h"
27#include "common/hash-str.h"
28#include "common/list.h"
29#include "common/queue.h"
30#include "common/rect.h"
31#include "common/str.h"
33#include "video/smk_decoder.h"
45 uint32 getSignatureVersion(uint32 signature)
const override;
135 type = SwapPointerAction;
155 type = PaletteAction;
164 type = HighlightAction;
165 condition = condition_;
173 type = BackgroundAction;
176 condition = condition_;
190 type = OverlayAction;
224 type = LoadCheckpointAction;
238 type = CutsceneAction;
268 condition = condition_;
280 type = AmbientAction;
301 condition = condition_;
315 variable = variable_;
362 type = ChangeLevelAction;
380 playMusicDuringIntro =
false;
389 bool playMusicDuringIntro;
399 resolution =
"640x480";
407 FrameInfo(uint32 start_, uint32 length_) {
413 return start + length;
426 ScriptInfo(uint32 time_, uint32 mode_, uint32 actor_, uint32 cursor_) {
428 mode = ScriptMode(mode_);
454 explosionAnimation =
"";
457 interactionFrame = 0;
458 noEnemySound =
false;
459 enemySoundRate = 22050;
462 playInteractionAudio =
false;
464 jumpToTimeAfterKilled = 0;
466 waitForClickAfterInteraction = 0;
477 uint32 pointsToShoot;
481 uint32 objKillsCount;
482 uint32 objMissesCount;
485 uint32 paletteOffset;
489 uint32 missedAnimation;
493 uint32 enemySoundRate;
504 uint32 interactionFrame;
507 bool playInteractionAudio;
515 int jumpToTimeAfterKilled;
517 uint32 waitForClickAfterInteraction;
518 uint32 warningVideoIdx;
534 segmentRepetition = 0;
537 uint32 segmentRepetition;
556 Segment(
byte type_, uint32 start_, uint32 size_) {
577 soundRate = soundRate_;
606 objKillsRequired[0] = 0;
607 objKillsRequired[1] = 0;
608 objMissesAllowed[0] = 0;
609 objMissesAllowed[1] = 0;
616 additionalSoundRate = 0;
620 nextLevelVideo.
clear();
621 postStatsVideo.
clear();
622 backgroundVideo.
clear();
628 defeatNoEnergyFirstVideo.
clear();
629 defeatMissBossVideo.
clear();
630 defeatNoEnergySecondVideo.
clear();
631 missBoss1Video.
clear();
632 missBoss2Video.
clear();
633 hitBoss1Video.
clear();
634 hitBoss2Video.
clear();
636 briefingVideo.
clear();
637 additionalVideo.
clear();
638 additionalSound.
clear();
642 objKillsRequired[0] = 0;
643 objKillsRequired[1] = 0;
644 objMissesAllowed[0] = 0;
645 objMissesAllowed[1] = 0;
664 uint32 objKillsRequired [2];
665 uint32 objMissesAllowed [2];
694 uint32 targetSoundRate;
696 uint32 shootSoundRate;
698 uint32 enemySoundRate;
702 uint32 additionalSoundRate;
704 uint32 noAmmoSoundRate;
710 type = TransitionLevel;
719 type = TransitionLevel;
752 targetsDestroyed = 0;
754 friendliesEncountered = 0;
761 uint32 targetsDestroyed;
762 uint32 targetsMissed;
763 uint32 friendliesEncountered;
void clear()
Definition: array.h:321
void clear()
Definition: list.h:245
Definition: grammar.h:277
Definition: grammar.h:600
Definition: grammar.h:745
Definition: grammar.h:571
Definition: grammar.h:170
Definition: grammar.h:359
Definition: grammar.h:732
Definition: grammar.h:235
Definition: grammar.h:200
Definition: grammar.h:405
Definition: grammar.h:311
Definition: grammar.h:161
Definition: grammar.h:104
bool loadStream(Common::SeekableReadStream *stream) override
Definition: grammar.h:253
Definition: grammar.h:375
Definition: grammar.h:221
Definition: grammar.h:214
Definition: grammar.h:121
Definition: grammar.h:187
Definition: grammar.h:152
Definition: grammar.h:262
Definition: grammar.h:228
Definition: grammar.h:207
Definition: grammar.h:395
Definition: grammar.h:424
Definition: grammar.h:554
Definition: grammar.h:531
Definition: grammar.h:440
Definition: grammar.h:523
Definition: grammar.h:244
Definition: grammar.h:132
Definition: grammar.h:322
Definition: grammar.h:333
Definition: grammar.h:141
Definition: grammar.h:707
Definition: grammar.h:294
Definition: smk_decoder.h:77