23#ifndef ZVISION_ZVISION_H
24#define ZVISION_ZVISION_H
26#include "common/events.h"
27#include "common/random.h"
28#include "common/system.h"
29#include "engines/engine.h"
30#include "graphics/pixelformat.h"
31#include "gui/debugger.h"
32#include "zvision/detection.h"
33#include "zvision/core/clock.h"
55struct ZvisionGameDescription;
90static const ScreenLayout zgiLayout {
99 ROTATION_SCREEN_EDGE_OFFSET = 60,
100 MAX_ROTATION_SPEED = 400,
112 kZVisionActionRestore,
114 kZVisionActionPreferences,
115 kZVisionActionShowFPS,
116 kZVisionActionSkipCutscene,
121extern const char *mainKeymapId;
122extern const char *gameKeymapId;
123extern const char *cutscenesKeymapId;
164 int _frameRenderDelay;
165 int _renderedFrameCount;
167 int16 _mouseVelocity;
168 int16 _keyboardVelocity;
171 bool _videoIsPlaying;
172 bool _breakMainLoop =
false;
174 uint8 _cheatBuffer[KEYBUF_SIZE];
180 ZVisionGameId getGameId()
const;
182 uint32 getFeatures()
const;
185 return _scriptManager;
188 return _renderManager;
190 CursorManager *getCursorManager()
const {
191 return _cursorManager;
193 FileManager *getFileManager()
const {
196 SaveManager *getSaveManager()
const {
199 StringManager *getStringManager()
const {
200 return _stringManager;
202 TextRenderer *getTextRenderer()
const {
203 return _textRenderer;
205 MidiManager *getMidiManager()
const {
208 MenuManager *getMenuManager()
const {
211 SubtitleManager *getSubtitleManager()
const {
212 return _subtitleManager;
214 VolumeManager *getVolumeManager()
const {
215 return _volumeManager;
223 int16 getKeyboardVelocity()
const {
224 return _keyboardVelocity;
226 int16 getMouseVelocity()
const {
227 return _mouseVelocity;
230 uint8 getZvisionKey(Common::KeyCode scummKeyCode);
240 void initScreen(
bool hiRes =
false);
252 void playVideo(
Video::VideoDecoder &videoDecoder,
Common::Rect destRect =
Common::Rect(0, 0, 0, 0),
bool skippable =
true, uint16 sub = 0,
Common::Rect srcRect =
Common::Rect(0, 0, 0, 0));
255 void setRenderDelay(uint);
257 static void fpsTimerCallback(
void *refCon);
263 bool isWidescreen() {
272 bool quit(
bool askFirst =
true,
bool streaming =
false);
283 onMouseMove(_system->getEventManager()->getMousePos());
295 void processEvents();
299 void registerDefaultSettings();
301 void cheatCodes(uint8 key);
302 void pushKeyToCheatBuf(uint8 key);
303 bool checkCode(
const char *code);
304 uint8 getBufferedKey(uint8 pos);
EngineFeature
Definition: engine.h:282
Definition: video_decoder.h:53
Definition: cursor_manager.h:57
Definition: file_manager.h:31
Definition: render_manager.h:48
Definition: save_manager.h:49
Definition: script_manager.h:143
Definition: string_manager.h:35
Definition: subtitle_manager.h:78
Definition: volume_manager.h:42
Common::Error saveGameState(int slot, const Common::String &desc, bool isAutosave=false) override
bool canLoadGameStateCurrently(Common::U32String *msg=nullptr) override
bool hasFeature(EngineFeature f) const override
Common::Error run() override
bool canSaveGameStateCurrently(Common::U32String *msg=nullptr) override
void pauseEngineIntern(bool pause) override
void syncSoundSettings() override
Common::Error loadGameState(int slot) override
void playVideo(Video::VideoDecoder &videoDecoder, Common::Rect destRect=Common::Rect(0, 0, 0, 0), bool skippable=true, uint16 sub=0, Common::Rect srcRect=Common::Rect(0, 0, 0, 0))
Language
Definition: language.h:45
Definition: algorithm.h:29
Definition: focus_list.h:27
Definition: detection.h:52