22 #ifndef GUI_EVENTRECORDER_H 23 #define GUI_EVENTRECORDER_H 25 #include "common/system.h" 27 #include "common/events.h" 28 #include "common/savefile.h" 29 #include "common/singleton.h" 31 #include "engines/advancedDetector.h" 33 #ifdef ENABLE_EVENTRECORDER 35 #include "common/mutex.h" 36 #include "common/array.h" 37 #include "common/memstream.h" 38 #include "backends/mixer/mixer.h" 39 #include "common/hashmap.h" 40 #include "common/hash-str.h" 41 #include "backends/timer/sdl/sdl-timer.h" 42 #include "common/config-manager.h" 43 #include "common/recorderfile.h" 44 #include "backends/saves/recorder/recorder-saves.h" 45 #include "backends/mixer/null/null-mixer.h" 46 #include "backends/saves/default/default-saves.h" 49 #define g_eventRec (GUI::EventRecorder::instance()) 57 class SeekableReadStream;
69 ~EventRecorder()
override;
75 kRecorderPlayback = 2,
76 kRecorderPlaybackPause = 3,
82 bool processDelayMillis();
84 void processTimeAndDate(
TimeDate &td,
bool skipRecord);
85 void processMillis(uint32 &millis,
bool skipRecord);
86 void processScreenUpdate();
88 bool processAutosave();
93 void preDrawOverlayGui();
94 void postDrawOverlayGui();
143 void setRedraw(
bool redraw) {
144 _needRedraw = redraw;
154 bool checkForContinueGame();
156 void acquireRecording() {
157 assert(_acquireCount >= 0);
158 if (_acquireCount == 0) {
159 _savedState = _initialized;
160 _initialized =
false;
165 void releaseRecording() {
166 assert(_acquireCount > 0);
168 if (_acquireCount == 0)
169 _initialized = _savedState;
172 RecordMode getRecordMode()
const {
180 SDL_Surface *getSurface(
int width,
int height);
181 void RegisterEventSource();
186 void updateSubsystems();
188 void switchFastMode();
194 volatile uint32 _fakeTimer;
198 bool _needcontinueGame;
212 void setFileHeader();
217 void applyPlaybackSettings();
220 void switchTimerManagers();
224 void takeScreenshot();
235 bool allowMapping()
const override {
return false; }
237 volatile uint32 _lastMillis;
238 uint32 _lastScreenshotTime;
239 uint32 _screenshotPeriod;
243 void saveScreenShot();
244 void checkRecordedMD5();
245 void deleteTemporarySave();
246 void updateFakeTimer(uint32 millis);
247 volatile RecordMode _recordMode;
251 bool _processingMillis;
256 #endif // ENABLE_EVENTRECORDER Definition: recorderfile.h:45
Definition: recorder-saves.h:30
Definition: advancedDetector.h:163
Definition: default-timer.h:32
Definition: recorderfile.h:79
Definition: config-manager.h:59
Definition: onscreendialog.h:30
Definition: savefile.h:142
Definition: null-mixer.h:36
Definition: singleton.h:42