11 #include "RetroPlayerAutoSave.h" 12 #include "cores/IPlayer.h" 13 #include "cores/RetroPlayer/guibridge/IGameCallback.h" 14 #include "cores/RetroPlayer/playback/IPlaybackControl.h" 15 #include "games/GameTypes.h" 16 #include "guilib/DispResource.h" 17 #include "threads/CriticalSection.h" 31 class CGUIGameMessenger;
32 class CRetroPlayerInput;
34 class CRPRenderManager;
35 class CRPStreamManager;
50 bool CloseFile(
bool reopen =
false)
override;
51 bool IsPlaying()
const override;
52 bool CanPause()
const override;
53 void Pause()
override;
54 bool HasVideo()
const override {
return true; }
55 bool HasAudio()
const override {
return true; }
56 bool HasGame()
const override {
return true; }
57 bool CanSeek()
const override;
58 void Seek(
bool bPlus =
true,
bool bLargeStep =
false,
bool bChapterOverride =
false)
override;
59 void SeekPercentage(
float fPercent = 0)
override;
60 float GetCachePercentage()
const override;
61 void SetMute(
bool bOnOff)
override;
62 void SeekTime(int64_t iTime = 0)
override;
63 bool SeekTimeRelative(int64_t iTime)
override;
64 void SetSpeed(
float speed)
override;
65 bool OnAction(
const CAction& action)
override;
66 std::string GetPlayerState()
override;
67 bool SetPlayerState(
const std::string& state)
override;
68 void FrameMove()
override;
69 void Render(
bool clear, uint32_t alpha = 255,
bool gui =
true)
override;
70 bool IsRenderingVideo()
const override;
71 bool HasGameAgent()
const override;
74 std::string GameClientID()
const override;
75 std::string GetPlayingGame()
const override;
76 std::string CreateSavestate(
bool autosave)
override;
77 bool UpdateSavestate(
const std::string& savestatePath)
override;
78 bool LoadSavestate(
const std::string& savestatePath)
override;
79 void FreeSavestateResources(
const std::string& savestatePath)
override;
80 void CloseOSDCallback()
override;
83 void SetPlaybackSpeed(
double speed)
override;
84 void EnableInput(
bool bEnable)
override;
87 bool IsAutoSaveEnabled()
const override;
88 std::string CreateAutosave()
override;
91 void SetSpeedInternal(
double speed);
97 void OnSpeedChange(
double newSpeed);
100 void CreatePlayback(
const std::string& savestatePath);
101 void ResetPlayback();
113 void RegisterWindowCallbacks();
114 void UnregisterWindowCallbacks();
119 void PrintGameInfo(
const CFileItem& file)
const;
122 uint64_t GetTotalTime();
128 std::unique_ptr<CRPProcessInfo> m_processInfo;
129 std::unique_ptr<CGUIGameMessenger> m_guiMessenger;
130 std::unique_ptr<CRPRenderManager> m_renderManager;
131 std::unique_ptr<CRPStreamManager> m_streamManager;
132 std::unique_ptr<CRetroPlayerInput> m_input;
133 std::unique_ptr<IPlayback> m_playback;
134 std::unique_ptr<IPlaybackControl> m_playbackControl;
135 std::unique_ptr<CRetroPlayerAutoSave> m_autoSave;
136 std::shared_ptr<CCheevos> m_cheevos;
139 GAME::GameClientPtr m_gameClient;
142 CCriticalSection m_mutex;
Definition: DispResource.h:26
Definition: IGameCallback.h:19
Definition: GameServices.h:37
The playback client being controlled.
Definition: IPlaybackControl.h:18
class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:22
Controller configuration window.
Definition: AudioDecoder.h:18
Definition: IPlayerCallback.h:18
Definition: RetroPlayerAutoSave.h:25
Definition: RetroPlayer.h:38
Represents a file on a share.
Definition: FileItem.h:102