feat(glue): add CGlueMgr::PollRealmList

This commit is contained in:
fallenoak 2025-10-08 23:46:26 -05:00
parent 5cf2a7f6e2
commit 8130d75496
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
2 changed files with 39 additions and 0 deletions

View File

@ -382,6 +382,11 @@ int32_t CGlueMgr::Idle(const void* a1, void* a2) {
break;
}
case IDLE_REALM_LIST: {
CGlueMgr::PollRealmList(msg, complete, result, op);
break;
}
case IDLE_ENTER_WORLD: {
CGlueMgr::PollEnterWorld();
break;
@ -703,6 +708,39 @@ void CGlueMgr::PollLoginServerLogin() {
}
}
void CGlueMgr::PollRealmList(const char* msg, int32_t complete, int32_t result, WOWCS_OPS op) {
FrameScript_SignalEvent(UPDATE_STATUS_DIALOG, "%s", msg);
if (CGlueMgr::HandleBattlenetDisconnect()) {
CGlueMgr::SetIdleState(IDLE_NONE);
}
if (!complete) {
return;
}
// Error
if (result == 0) {
FrameScript_SignalEvent(OPEN_STATUS_DIALOG, "%s%s", "OKAY", msg);
CGlueMgr::SetIdleState(IDLE_NONE);
}
// Success
CGlueMgr::SetIdleState(IDLE_NONE);
FrameScript_SignalEvent(CLOSE_STATUS_DIALOG, nullptr);
CRealmList::UpdateList();
if (CGlueMgr::m_accountMsgAvailable) {
FrameScript_SignalEvent(ACCOUNT_MESSAGES_AVAILABLE, nullptr);
CGlueMgr::m_accountMsgAvailable = 0;
}
}
void CGlueMgr::QuitGame() {
ClientPostClose(0);
}

View File

@ -74,6 +74,7 @@ class CGlueMgr {
static void PollCharacterList(const char* msg, int32_t complete, int32_t result, int32_t errorCode);
static void PollEnterWorld();
static void PollLoginServerLogin();
static void PollRealmList(const char* msg, int32_t complete, int32_t result, WOWCS_OPS op);
static void QuitGame();
static void Resume();
static void SetCurrentAccount(const char* accountName);