Game operations
More...
|
| | Class: CStream |
| | Class: kodi::addon::CInstanceGame::CStream Game stream handler
|
| |
Game operations
These are mandatory functions for using this add-on for gameplay functionality.
Game operation parts in interface:
Copy this to your project and extend with your parts or leave functions complete away where not used or supported.
◆ CloseGame()
| void kodi::addon::CInstanceGame::CloseGame |
( |
void | | ) |
|
|
inline |
Callback to Kodi Function
Requests the frontend to stop the current game
◆ GetGameTiming()
Get timing information about the loaded game.
- Parameters
-
| [out] | timing_info | The info structure to fill |
- Returns
- The error, or GAME_ERROR_NO_ERROR if info was filled
◆ GetPlaybackSpeed()
| double kodi::addon::CInstanceGame::GetPlaybackSpeed |
( |
| ) |
|
|
inline |
Callback to Kodi Function
Get the speed the game is being played back at
- Returns
- The speed as a multiple of normal speed
The value is the same one Kodi shows the user, so it follows the player's fast-forward and rewind semantics:
1.0 is normal speed
0.0 is paused
- greater than
1.0 is fast-forward
- between
0.0 and 1.0 is slow motion
- less than
0.0 is rewind
Rewind is driven by Kodi replaying saved states, so a client is run forwards even while the speed is negative. A client that changes its behaviour with the speed should read the sign as "the user is going
backwards", not as a direction to run in.
◆ GetRegion()
| virtual GAME_REGION kodi::addon::CInstanceGame::GetRegion |
( |
| ) |
|
|
inlinevirtual |
Get region of the loaded game.
- Returns
- The region, or GAME_REGION_UNKNOWN if unknown or no game is loaded
◆ LoadGame()
| virtual GAME_ERROR kodi::addon::CInstanceGame::LoadGame |
( |
const std::string & | url | ) |
|
|
inlinevirtual |
◆ LoadGameSpecial()
Load a game that requires multiple files.
- Parameters
-
| [in] | type | The game type |
| [in] | urls | An array of urls |
- Returns
- The error, or GAME_ERROR_NO_ERROR if the game was loaded
◆ LoadStandalone()
| virtual GAME_ERROR kodi::addon::CInstanceGame::LoadStandalone |
( |
| ) |
|
|
inlinevirtual |
Begin playing without a game file.
If the add-on supports standalone mode, it must add the <supports_standalone> tag to the extension point in addon.xml:
<supports_no_game>false</supports_no_game>
- Returns
- The error, or GAME_ERROR_NO_ERROR if the game add-on was loaded
◆ RequiresGameLoop()
| virtual bool kodi::addon::CInstanceGame::RequiresGameLoop |
( |
| ) |
|
|
inlinevirtual |
Return true if the client requires the frontend to provide a game loop.
The game loop is a thread that calls RunFrame() in a loop at a rate determined by the playback speed and the client's FPS.
- Returns
- True if the frontend should provide a game loop, false otherwise
◆ Reset()
| virtual GAME_ERROR kodi::addon::CInstanceGame::Reset |
( |
| ) |
|
|
inlinevirtual |
◆ RunFrame()
| virtual GAME_ERROR kodi::addon::CInstanceGame::RunFrame |
( |
| ) |
|
|
inlinevirtual |
Run a single frame for add-ons that use a game loop.
- Returns
- The error, or GAME_ERROR_NO_ERROR if there was no error
◆ SetGameTiming()
Callback to Kodi Function
Update the video and audio timing of the running game
- Parameters
-
| [in] | timingInfo | The new video frame rate and audio sample rate |
This updates timing reported by the add-on after gameplay has started. Add-ons should call this when the game changes its timing dynamically.
◆ UnloadGame()
| virtual GAME_ERROR kodi::addon::CInstanceGame::UnloadGame |
( |
| ) |
|
|
inlinevirtual |
Unload the current game.
Unloads a currently loaded game
- Returns
- The error, or GAME_ERROR_NO_ERROR if the game was unloaded