Restyle server browser UI; hide overlay on join
Restyles the server browser to match main-menu/settings (Futura PT Demibold, amber/green palette, yellow selection bars, shared panel chrome), removes SVG border strips, and tweaks modal width/layout. Adds JS + C++ coordination so the custom main-menu overlay hides when a server join begins (C++ invokes onSessionLoading and calls HideMainMenu; CompleteJoinFailure restores the menu/browser). Controller glyph tint now derives from --co-amber. Updates changelog and dev-log; includes compiled Vault109 script update.
This commit is contained in:
@@ -212,10 +212,21 @@ namespace F4T::ServerBrowser
|
||||
LogInfo(std::format(" Joined server '{}'.", a_entry.name));
|
||||
}
|
||||
|
||||
void RestoreMainMenuAfterJoinFailure()
|
||||
{
|
||||
if (F4T::PrismaUI::IsMainMenuVisible()) {
|
||||
return;
|
||||
}
|
||||
|
||||
F4T::PrismaUI::ShowMainMenu();
|
||||
F4T::PrismaUI::ShowServerBrowser();
|
||||
}
|
||||
|
||||
void CompleteJoinFailure(const ServerEntry& a_entry, std::string_view a_reason)
|
||||
{
|
||||
F4T::Networking::DisconnectFromLocalServer();
|
||||
PushConnectionStatusEvent();
|
||||
RestoreMainMenuAfterJoinFailure();
|
||||
DispatchEvent(nlohmann::json{
|
||||
{ "type", "joinFailed" },
|
||||
{ "serverId", a_entry.id },
|
||||
@@ -259,6 +270,13 @@ namespace F4T::ServerBrowser
|
||||
{ "message", "Loading game..." }
|
||||
});
|
||||
|
||||
if (g_api && g_view != 0 && g_api->IsValid(g_view)) {
|
||||
g_api->Invoke(g_view, "if(window.onSessionLoading){window.onSessionLoading();}");
|
||||
}
|
||||
|
||||
// Hide the custom main menu overlay before the vanilla loading screen appears.
|
||||
F4T::PrismaUI::HideMainMenu();
|
||||
|
||||
const auto* taskInterface = F4SE::GetTaskInterface();
|
||||
if (!taskInterface) {
|
||||
a_error = "Game task interface is unavailable.";
|
||||
|
||||
Reference in New Issue
Block a user