mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-04-18 02:52:47 +03:00
chore(glue): update CGlueMgr::Idle
This commit is contained in:
parent
ccc1fd1d69
commit
30a78b00b5
@ -6,6 +6,7 @@
|
||||
#include "console/Client.hpp"
|
||||
#include "console/Device.hpp"
|
||||
#include "console/Screen.hpp"
|
||||
#include "console/Command.hpp"
|
||||
#include "db/Db.hpp"
|
||||
#include "glue/CGlueMgr.hpp"
|
||||
#include "gx/Screen.hpp"
|
||||
@ -23,7 +24,15 @@
|
||||
#include <bc/os/Path.hpp>
|
||||
#include <bc/file/File.hpp>
|
||||
|
||||
|
||||
CVar* Client::g_accountNameVar;
|
||||
CVar* Client::g_accountListVar;
|
||||
CVar* Client::g_accountUsesTokenVar;
|
||||
CVar* Client::g_movieVar;
|
||||
CVar* Client::g_expansionMovieVar;
|
||||
CVar* Client::g_movieSubtitleVar;
|
||||
|
||||
|
||||
HEVENTCONTEXT Client::g_clientEventContext;
|
||||
char Client::g_currentLocaleName[5] = {};
|
||||
|
||||
@ -36,6 +45,16 @@ static char* s_localeArray[12] = {
|
||||
};
|
||||
|
||||
|
||||
int32_t CCommand_ReloadUI(const char*, const char*) {
|
||||
// TODO:
|
||||
return 1;
|
||||
}
|
||||
|
||||
int32_t CCommand_Perf(const char*, const char*) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
void AsyncFileInitialize() {
|
||||
// TODO
|
||||
AsyncFileReadInitialize(0, 100);
|
||||
@ -47,18 +66,20 @@ void BaseInitializeGlobal() {
|
||||
|
||||
void ClientMiscInitialize() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
Client::g_accountListVar = CVar::Register(
|
||||
"accountList",
|
||||
"List of wow accounts for saved Blizzard account",
|
||||
0,
|
||||
"",
|
||||
nullptr,
|
||||
4,
|
||||
false,
|
||||
nullptr,
|
||||
false
|
||||
);
|
||||
void ClientRegisterConsoleCommands() {
|
||||
ConsoleCommandRegister("reloadUI", &CCommand_ReloadUI, CATEGORY::GRAPHICS, nullptr);
|
||||
ConsoleCommandRegister("perf", &CCommand_Perf, CATEGORY::DEBUG, nullptr);
|
||||
|
||||
const auto game = CATEGORY::GAME;
|
||||
|
||||
Client::g_accountNameVar = CVar::Register("accountName", "Saved account name", 64, "", nullptr, game);
|
||||
Client::g_accountListVar = CVar::Register("accountList", "List of wow accounts for saved Blizzard account", 0, "", nullptr, game);
|
||||
Client::g_accountUsesTokenVar = CVar::Register("g_accountUsesToken", "Saved whether uses authenticator", 0, "0", nullptr, game);
|
||||
Client::g_movieVar = CVar::Register("movie", "Show movie on startup", 0, "1", nullptr, game);
|
||||
Client::g_expansionMovieVar = CVar::Register("expansionMovie", "Show expansion movie on startup", 0, "1", nullptr, game);
|
||||
Client::g_movieSubtitleVar = CVar::Register("movieSubtitle", "Show movie subtitles", 0, "0", nullptr, game);
|
||||
|
||||
// TODO
|
||||
}
|
||||
@ -559,7 +580,7 @@ void WowClientInit() {
|
||||
|
||||
ClientMiscInitialize();
|
||||
|
||||
// sub_401B60();
|
||||
ClientRegisterConsoleCommands();
|
||||
|
||||
ClientDBInitialize();
|
||||
|
||||
@ -617,27 +638,22 @@ void WowClientInit() {
|
||||
// sub_421630();
|
||||
// }
|
||||
|
||||
// TODO
|
||||
// if (byte_B2F9E1 != 1) {
|
||||
// if ((g_playIntroMovie + 48) == 1) {
|
||||
// CVar::Set(g_playIntroMovie, "0", 1, 0, 0, 1);
|
||||
// CGlueMgr::SetScreen("movie");
|
||||
// } else {
|
||||
// CGlueMgr::SetScreen("login");
|
||||
// }
|
||||
// } else {
|
||||
// if ((dword_B2F980 + 48) == 1) {
|
||||
// CVar::Set(dword_B2F980, "0", 1, 0, 0, 1);
|
||||
// CVar::Set(g_playIntroMovie, "0", 1, 0, 0, 1);
|
||||
// CGlueMgr::SetScreen("movie");
|
||||
// } else {
|
||||
// CGlueMgr::SetScreen("login");
|
||||
// }
|
||||
// }
|
||||
|
||||
// TODO
|
||||
// - temporary until above logic is implemented
|
||||
CGlueMgr::SetScreen("login");
|
||||
if (s_expansionLevel != 1) {
|
||||
if (Client::g_movieVar->GetInt()) {
|
||||
Client::g_movieVar->Set("0", true, false, false, true);
|
||||
CGlueMgr::SetScreen("movie");
|
||||
} else {
|
||||
CGlueMgr::SetScreen("login");
|
||||
}
|
||||
} else {
|
||||
if (Client::g_expansionMovieVar->GetInt()) {
|
||||
Client::g_expansionMovieVar->Set("0", true, false, false, true);
|
||||
Client::g_movieVar->Set("0", true, false, false, true);
|
||||
CGlueMgr::SetScreen("movie");
|
||||
} else {
|
||||
CGlueMgr::SetScreen("login");
|
||||
}
|
||||
}
|
||||
|
||||
// TODO
|
||||
// CGlueMgr::m_pendingTimerAlert = dword_B2F9D8;
|
||||
|
@ -7,7 +7,12 @@
|
||||
class CVar;
|
||||
|
||||
namespace Client {
|
||||
extern CVar* g_accountNameVar;
|
||||
extern CVar* g_accountListVar;
|
||||
extern CVar* g_accountUsesTokenVar;
|
||||
extern CVar* g_movieVar;
|
||||
extern CVar* g_expansionMovieVar;
|
||||
extern CVar* g_movieSubtitleVar;
|
||||
extern HEVENTCONTEXT g_clientEventContext;
|
||||
extern char g_currentLocaleName[5];
|
||||
}
|
||||
|
@ -43,6 +43,8 @@ unsigned char InterfaceKey[256] = {
|
||||
int32_t CGlueMgr::m_acceptedEULA = 1; // TODO
|
||||
int32_t CGlueMgr::m_acceptedTerminationWithoutNotice;
|
||||
int32_t CGlueMgr::m_acceptedTOS = 1; // TODO
|
||||
int32_t CGlueMgr::m_processServerAlert = 1;
|
||||
int32_t CGlueMgr::m_pendingTimerAlert;
|
||||
int32_t CGlueMgr::m_accountMsgAvailable;
|
||||
char CGlueMgr::m_accountName[1280];
|
||||
float CGlueMgr::m_aspect;
|
||||
@ -199,7 +201,30 @@ int32_t CGlueMgr::HandleDisplaySizeChanged(const CSizeEvent& event) {
|
||||
|
||||
// TODO a1: const EVENT_DATA_IDLE*
|
||||
int32_t CGlueMgr::Idle(const void* a1, void* a2) {
|
||||
// TODO
|
||||
// TODO:
|
||||
// if (gxDevice->IsStereoEnabled) {
|
||||
// CGlueMgr::SetUIDepth(gxDevice->StereoGetConvergence);
|
||||
// }
|
||||
|
||||
auto loginConnection = ClientServices::LoginConnection();
|
||||
if (loginConnection) {
|
||||
// Virtual call (loginConnection + 184) leads to nullsub
|
||||
// Checked by tracing in debugger
|
||||
}
|
||||
|
||||
if (CGlueMgr::m_processServerAlert) {
|
||||
// TODO:
|
||||
// v2 = SStrLen("SERVERALERT:");
|
||||
// FrameScript_SignalEvent(0x15u, "%s", &CGlueMgr::m_serverAlert[(_DWORD)&v2[CGlueMgr::m_serverAlert[0] != -17 ? 0 : 3]]);
|
||||
CGlueMgr::m_processServerAlert = 0;
|
||||
}
|
||||
|
||||
if (CGlueMgr::m_pendingTimerAlert) {
|
||||
FrameScript_SignalEvent(0x21u, "%d", CGlueMgr::m_pendingTimerAlert);
|
||||
CGlueMgr::m_pendingTimerAlert = 0;
|
||||
}
|
||||
|
||||
// TODO: CKBPage::UpdateLoadingQueue();
|
||||
|
||||
if (CGlueMgr::m_idleState == IDLE_NONE) {
|
||||
if (CGlueMgr::m_reload) {
|
||||
@ -213,18 +238,17 @@ int32_t CGlueMgr::Idle(const void* a1, void* a2) {
|
||||
CGlueMgr::m_reload = 0;
|
||||
}
|
||||
|
||||
// TODO
|
||||
// if (CGlueMgr::m_accountMsgAvailable) {
|
||||
// FrameScript_SignalEvent(0x22u, 0);
|
||||
// CGlueMgr::m_accountMsgAvailable = 0;
|
||||
// }
|
||||
if (CGlueMgr::m_accountMsgAvailable) {
|
||||
FrameScript_SignalEvent(0x22u, 0);
|
||||
CGlueMgr::m_accountMsgAvailable = 0;
|
||||
}
|
||||
|
||||
// TODO sub_4D84A0();
|
||||
// TODO CGlueMgr::HandleBattlenetDisconnect();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// TODO
|
||||
// TODO: LOOP { ConsoleWrite(GRUNT DEBUG MESSAGE) }
|
||||
|
||||
WOWCS_OPS op;
|
||||
const char* msg;
|
||||
|
@ -32,6 +32,8 @@ class CGlueMgr {
|
||||
static int32_t m_acceptedEULA;
|
||||
static int32_t m_acceptedTerminationWithoutNotice;
|
||||
static int32_t m_acceptedTOS;
|
||||
static int32_t m_processServerAlert;
|
||||
static int32_t m_pendingTimerAlert;
|
||||
static int32_t m_accountMsgAvailable;
|
||||
static char m_accountName[];
|
||||
static float m_aspect;
|
||||
|
Loading…
Reference in New Issue
Block a user