22#ifndef COMPOSER_COMPOSER_H
23#define COMPOSER_COMPOSER_H
25#include "common/formats/ini-file.h"
26#include "common/random.h"
27#include "common/system.h"
28#include "common/debug.h"
29#include "common/debug-channels.h"
30#include "common/error.h"
31#include "common/serializer.h"
32#include "common/textconsole.h"
33#include "common/rect.h"
35#include "engines/engine.h"
36#include "engines/util.h"
38#include "gui/debugger.h"
40#include "graphics/surface.h"
42#include "audio/mixer.h"
44#include "composer/resource.h"
45#include "composer/console.h"
46#include "composer/detection.h"
49 class QueuingAudioStream;
78 uint16 _scriptIdRollOn;
79 uint16 _scriptIdRollOff;
87 kEventAnimStarted = 1,
148 template <
typename T>
149 void syncArray(
Common::Serializer &ser,
Common::Array<T> &data, Common::Serializer::Version minVersion = 0, Common::Serializer::Version maxVersion = Common::Serializer::kLastVersion);
150 template <
typename T>
151 void syncList(
Common::Serializer &ser,
Common::List<T> &data, Common::Serializer::Version minVersion = 0, Common::Serializer::Version maxVersion = Common::Serializer::kLastVersion);
152 template <
typename T>
153 void syncListReverse(
Common::Serializer &ser,
Common::List<T> &data, Common::Serializer::Version minVersion = 0, Common::Serializer::Version maxVersion = Common::Serializer::kLastVersion);
154 template <
typename T>
155 void sync(
Common::Serializer &ser, T &data, Common::Serializer::Version minVersion, Common::Serializer::Version maxVersion);
167 int getGameType()
const;
168 const char *getGameId()
const;
169 uint32 getFeatures()
const;
181 uint16 _currSoundPriority;
183 uint32 _currentTime, _lastTime, _timeDelta;
190 uint _directoriesToStrip;
209 void onKeyDown(uint16 keyCode);
211 void setCursorVisible(
bool visible);
216 const Button *_lastButton;
217 uint16 _mouseSpriteId;
224 void loadLibrary(uint
id);
225 void unloadLibrary(uint
id);
227 bool hasResource(uint32 tag, uint16
id);
230 void runEvent(uint16
id, int16 param1, int16 param2, int16 param3);
231 int16 runScript(uint16
id, int16 param1, int16 param2, int16 param3);
233 int16 getArg(uint16 arg, uint16 type);
234 void setArg(uint16 arg, uint16 type, uint16 val);
235 void runScript(uint16
id);
236 int16 scriptFuncCall(uint16
id, int16 param1, int16 param2, int16 param3);
237 void runOldScript(uint16
id, uint16 wait);
238 void stopOldScript(uint16
id);
239 void tickOldScripts();
242 void loadAnimation(
Animation *&anim, uint16 animId, int16 x, int16 y, int16 eventParam, int32 size = 0);
243 void playAnimation(uint16 animId, int16 param1, int16 param2, int16 param3);
244 void stopAnimation(
Animation *anim,
bool localOnly =
false,
bool pipesOnly =
false);
245 void playWaveForAnim(uint16
id, uint16 priority,
bool bufferingOnly);
246 void processAnimFrame();
248 void playPipe(uint16
id);
251 bool spriteVisible(uint16
id, uint16 animId);
253 void removeSprite(uint16
id, uint16 animId);
256 void setButtonActive(uint16
id,
bool active);
258 void dirtySprite(
const Sprite &sprite);
260 void loadCTBL(uint16
id, uint fadePercent);
261 void setBackground(uint16
id);
263 bool initSprite(
Sprite &sprite);
265 void drawSprite(
const Sprite &sprite);
Definition: audiostream.h:370
Definition: ini-file.h:58
Definition: serializer.h:80
Definition: resource.h:52
Definition: composer.h:144
Common::Error run() override
bool hasFeature(EngineFeature f) const override
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: composer.h:156
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave=false) override
Common::Error loadGameState(int slot) override
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
Definition: composer.h:158
EngineFeature
Definition: engine.h:282
It remove(It first, It last, const T &val)
Definition: algorithm.h:466
Language
Definition: language.h:45
Definition: graphics.h:50
Definition: detection.h:40
Definition: composer.h:96
Definition: composer.h:107
Definition: composer.h:131
Definition: composer.h:123
Definition: composer.h:116
Definition: composer.h:102
Definition: graphics.h:32