Put HUD toggle hotkey behind an export. (#245)

This commit is contained in:
Skyth (Asilkan) 2025-01-30 19:16:36 +03:00 committed by GitHub
parent 9fea5f9e4c
commit fefb08cc4b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 41 additions and 44 deletions

View file

@ -1,3 +1,41 @@
#include "frontend_listener.h"
#include <kernel/memory.h>
#include <ui/options_menu.h>
#include <os/logger.h>
#include <user/config.h>
#include <sdl_listener.h>
FrontendListener m_frontendListener;
static class FrontendListener : public SDLEventListener
{
bool m_isF8KeyDown = false;
public:
void OnSDLEvent(SDL_Event* event) override
{
if (!Config::HUDToggleHotkey || OptionsMenu::s_isVisible)
return;
switch (event->type)
{
case SDL_KEYDOWN:
{
if (event->key.keysym.sym != SDLK_F8 || m_isF8KeyDown)
break;
// アプリケーション設定 / 開発用 / デバッグ / HUD / 全 HUD 描画
const auto ms_IsRenderHud = (bool*)g_memory.Translate(0x8328BB26);
*ms_IsRenderHud = !*ms_IsRenderHud;
LOGFN("HUD {}", *ms_IsRenderHud ? "ON" : "OFF");
m_isF8KeyDown = true;
break;
}
case SDL_KEYUP:
m_isF8KeyDown = event->key.keysym.sym != SDLK_F8;
break;
}
}
} g_frontendlistener;

View file

@ -1,42 +0,0 @@
#pragma once
#include <kernel/memory.h>
#include <ui/options_menu.h>
#include <os/logger.h>
#include <sdl_listener.h>
class FrontendListener : public SDLEventListener
{
bool m_isF8KeyDown = false;
public:
void OnSDLEvent(SDL_Event* event) override
{
if (OptionsMenu::s_isVisible)
return;
switch (event->type)
{
case SDL_KEYDOWN:
{
if (event->key.keysym.sym != SDLK_F8 || m_isF8KeyDown)
break;
// アプリケーション設定 / 開発用 / デバッグ / HUD / 全 HUD 描画
const auto ms_IsRenderHud = (bool*)g_memory.Translate(0x8328BB26);
*ms_IsRenderHud = !*ms_IsRenderHud;
LOGFN("HUD {}", *ms_IsRenderHud ? "ON" : "OFF");
m_isF8KeyDown = true;
break;
}
case SDL_KEYUP:
m_isF8KeyDown = event->key.keysym.sym != SDLK_F8;
break;
}
}
};

View file

@ -84,3 +84,4 @@ CONFIG_DEFINE_HIDDEN("Exports", bool, HomingAttackOnBoost, true);
CONFIG_DEFINE_HIDDEN("Exports", bool, SaveScoreAtCheckpoints, false);
CONFIG_DEFINE_HIDDEN("Exports", bool, SkipIntroLogos, false);
CONFIG_DEFINE_HIDDEN("Exports", bool, UseOfficialTitleOnTitleBar, false);
CONFIG_DEFINE_HIDDEN("Exports", bool, HUDToggleHotkey, false);