From 41721944793d8d609a5cd8566dd2fff96df4c968 Mon Sep 17 00:00:00 2001 From: offtkp Date: Sat, 21 Oct 2023 11:55:26 +0300 Subject: [PATCH] Implement getFps hc function --- include/emulator.hpp | 1 + src/hydra_core.cpp | 4 ++++ third_party/hydra_core | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/emulator.hpp b/include/emulator.hpp index 745ede6d1..a5b1d7689 100644 --- a/include/emulator.hpp +++ b/include/emulator.hpp @@ -117,4 +117,5 @@ class Emulator { ServiceManager& getServiceManager() { return kernel.getServiceManager(); } RendererType getRendererType() const { return config.rendererType; } Renderer* getRenderer() { return gpu.getRenderer(); } + u64 getTicks() { return cpu.getTicks(); } }; diff --git a/src/hydra_core.cpp b/src/hydra_core.cpp index f71fc0bf5..3968f802b 100644 --- a/src/hydra_core.cpp +++ b/src/hydra_core.cpp @@ -21,6 +21,7 @@ class HC_GLOBAL HydraCore final : public hydra::IBase, public hydra::IOpenGlRend // IFrontendDriven void runFrame() override; + uint16_t getFps() override; // IInput void setPollInputCallback(void (*callback)()) override; @@ -69,10 +70,13 @@ void HydraCore::runFrame() { int y = !!checkButtonCallback(0, hydra::ButtonType::Analog1Up) - !!checkButtonCallback(0, hydra::ButtonType::Analog1Down); hid.setCirclepadX(x * 0x9C); hid.setCirclepadY(y * 0x9C); + hid.updateInputs(emulator->getTicks()); emulator->runFrame(); } +uint16_t HydraCore::getFps() { return 60; } + void HydraCore::reset() { emulator->reset(Emulator::ReloadOption::Reload); } hydra::Size HydraCore::getNativeSize() { return {400, 480}; } diff --git a/third_party/hydra_core b/third_party/hydra_core index 090c8a74e..51a2dceb3 160000 --- a/third_party/hydra_core +++ b/third_party/hydra_core @@ -1 +1 @@ -Subproject commit 090c8a74e0a970052ca8c63050a17e918036d3d8 +Subproject commit 51a2dceb312a7e175264c266a1762f57d3604020