Add custom main-menu overlay & input routing
Integrates a PrismaUI full-screen main-menu overlay with input capture and a bridge to the server browser. Adds F4TMainMenuBridge and F4TMainMenuVanillaSettings stubs, exposes Show/Hide/IsMainMenuVisible/IsCustomMenuInputCaptured in F4TPrismaUI, and routes gamepad input via SetMainMenuActive in F4TMenuInput. MainMenuInject implements robust readiness checks with Bink/frame gating and disables legacy multiplayer-row injection (constexpr false). Fixes cursor clipping by clearing RE::MenuCursor constraints each frame and removes unsupported viewport meta from HTML. Adds window.CO_App/handleControllerInput stubs and updates docs/changelog.
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
namespace F4T::MainMenu
|
||||
{
|
||||
namespace MainMenuBridge
|
||||
{
|
||||
void ForwardControllerInput(const char* a_button, const char* a_phase);
|
||||
void Initialize();
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ namespace RE
|
||||
namespace F4T::MainMenuInject
|
||||
{
|
||||
bool IsMainMenuOnMainPanel(const RE::UI* a_ui);
|
||||
bool IsMainMenuReadyForCustomOverlay(const RE::UI* a_ui);
|
||||
void SetMainMenuInputSuppressed(bool a_suppressed);
|
||||
void Install();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
namespace F4T::MainMenuVanillaSettings
|
||||
{
|
||||
void OpenGameSettings();
|
||||
void Initialize();
|
||||
}
|
||||
@@ -10,6 +10,7 @@ namespace F4T::MenuInput
|
||||
{
|
||||
void Register();
|
||||
void SetBrowserActive(bool a_active);
|
||||
void SetMainMenuActive(bool a_active);
|
||||
bool IsGamepadConnected();
|
||||
void PollGamepad();
|
||||
bool ForwardButtonEvent(const RE::ButtonEvent* a_event);
|
||||
|
||||
@@ -3,7 +3,14 @@
|
||||
namespace F4T::PrismaUI
|
||||
{
|
||||
void OnGameDataReady();
|
||||
|
||||
void ShowServerBrowser();
|
||||
void HideServerBrowser();
|
||||
bool IsBrowserVisible();
|
||||
|
||||
void ShowMainMenu();
|
||||
void HideMainMenu();
|
||||
bool IsMainMenuVisible();
|
||||
|
||||
bool IsCustomMenuInputCaptured();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user