mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2025-04-10 19:15:13 +00:00
Added a screensaver-game-select custom event
This commit is contained in:
parent
eccf485d6d
commit
fe10e14b80
|
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
#include "FileData.h"
|
#include "FileData.h"
|
||||||
#include "Log.h"
|
#include "Log.h"
|
||||||
|
#include "Scripting.h"
|
||||||
#include "SystemData.h"
|
#include "SystemData.h"
|
||||||
#include "UIModeController.h"
|
#include "UIModeController.h"
|
||||||
#include "components/VideoFFmpegComponent.h"
|
#include "components/VideoFFmpegComponent.h"
|
||||||
|
|
@ -88,6 +89,7 @@ void Screensaver::startScreensaver(bool generateMediaList)
|
||||||
if (Settings::getInstance()->getBool("ScreensaverSlideshowCustomImages")) {
|
if (Settings::getInstance()->getBool("ScreensaverSlideshowCustomImages")) {
|
||||||
if (generateMediaList)
|
if (generateMediaList)
|
||||||
generateCustomImageList();
|
generateCustomImageList();
|
||||||
|
|
||||||
pickRandomCustomImage(path);
|
pickRandomCustomImage(path);
|
||||||
|
|
||||||
// We've cycled through all games, so start from the beginning again.
|
// We've cycled through all games, so start from the beginning again.
|
||||||
|
|
@ -103,7 +105,9 @@ void Screensaver::startScreensaver(bool generateMediaList)
|
||||||
else {
|
else {
|
||||||
if (generateMediaList)
|
if (generateMediaList)
|
||||||
generateImageList();
|
generateImageList();
|
||||||
|
|
||||||
pickRandomImage(path);
|
pickRandomImage(path);
|
||||||
|
triggerCustomEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// We've cycled through all games, so start from the beginning again.
|
// We've cycled through all games, so start from the beginning again.
|
||||||
|
|
@ -151,7 +155,9 @@ void Screensaver::startScreensaver(bool generateMediaList)
|
||||||
// Load a random video.
|
// Load a random video.
|
||||||
if (generateMediaList)
|
if (generateMediaList)
|
||||||
generateVideoList();
|
generateVideoList();
|
||||||
|
|
||||||
pickRandomVideo(path);
|
pickRandomVideo(path);
|
||||||
|
triggerCustomEvent();
|
||||||
|
|
||||||
// We've cycled through all games, so start from the beginning again.
|
// We've cycled through all games, so start from the beginning again.
|
||||||
if (mVideoFiles.size() == 0 && mFilesInventory.size() > 0)
|
if (mVideoFiles.size() == 0 && mFilesInventory.size() > 0)
|
||||||
|
|
@ -783,3 +789,13 @@ void Screensaver::generateOverlayInfo()
|
||||||
mGameOverlayRectangleCoords.push_back(mGameOverlay->getSize().x + marginX * 2.0f);
|
mGameOverlayRectangleCoords.push_back(mGameOverlay->getSize().x + marginX * 2.0f);
|
||||||
mGameOverlayRectangleCoords.push_back(mGameOverlay->getSize().y);
|
mGameOverlayRectangleCoords.push_back(mGameOverlay->getSize().y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Screensaver::triggerCustomEvent()
|
||||||
|
{
|
||||||
|
if (mCurrentGame == nullptr)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Scripting::fireEvent("screensaver-game-select", mCurrentGame->getPath(),
|
||||||
|
mCurrentGame->metadata.get("name"), mCurrentGame->getSystem()->getName(),
|
||||||
|
mCurrentGame->getSystem()->getFullName());
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ private:
|
||||||
void pickRandomVideo(std::string& path);
|
void pickRandomVideo(std::string& path);
|
||||||
void pickRandomCustomImage(std::string& path);
|
void pickRandomCustomImage(std::string& path);
|
||||||
void generateOverlayInfo();
|
void generateOverlayInfo();
|
||||||
|
void triggerCustomEvent();
|
||||||
|
|
||||||
Renderer* mRenderer;
|
Renderer* mRenderer;
|
||||||
Window* mWindow;
|
Window* mWindow;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue