feat(glue): make character selection screen available

This commit is contained in:
VDm 2025-03-29 23:31:27 +04:00
parent b9b070830f
commit 31f4103f12
7 changed files with 205 additions and 20 deletions

View file

@ -15,15 +15,15 @@ class CGlueMgr {
IDLE_NONE = 0,
IDLE_LOGIN_SERVER_LOGIN = 1,
IDLE_ACCOUNT_LOGIN = 2,
IDLE_3 = 3,
IDLE_4 = 4,
IDLE_CHARACTER_LIST = 3,
IDLE_REALM_LIST = 4,
IDLE_5 = 5,
IDLE_6 = 6,
IDLE_7 = 7,
IDLE_8 = 8,
IDLE_9 = 9,
IDLE_10 = 10,
IDLE_11 = 11,
IDLE_WORLD_LOGIN = 11,
IDLE_12 = 12,
IDLE_13 = 13
};
@ -48,6 +48,7 @@ class CGlueMgr {
static int32_t m_lastLoginState;
static int32_t m_loginResult;
static int32_t m_loginState;
static int32_t m_matrixChallengeCount;
static int32_t m_matrixRemaining;
static int32_t m_reconnect;
static int32_t m_reload;
@ -58,11 +59,19 @@ class CGlueMgr {
static CSimpleTop* m_simpleTop;
static int32_t m_suspended;
static int32_t m_surveyTimer;
static int32_t m_executedSurvey;
static int32_t m_surveyDownload;
static int32_t m_patchDownload;
static bool m_deleteLocalPatch;
// Static functions
static void ChangeRealm(const REALM_INFO* realmInfo);
static void DisplayLoginStatus();
// TODO a1: const EVENT_DATA_IDLE*
static int32_t HandleDisplaySizeChanged(const CSizeEvent& event);
static void GetRealmList(bool showProgress);
static void GetCharacterList();
static int32_t Idle(const void* a1, void* a2);
static void Initialize();
static void InitCursor();
@ -70,6 +79,8 @@ class CGlueMgr {
static void QuitGame();
static void PollAccountLogin(int32_t errorCode, const char* msg, int32_t complete, int32_t result, WOWCS_OPS op);
static void PollLoginServerLogin();
static void PollCharacterList(int32_t errorCode, const char* msg, int32_t complete, int32_t result, WOWCS_OPS op);
static void PollUserSurvey();
static void Resume();
static void SetCurrentAccount(const char* accountName);
static void SetLoginStateAndResult(LOGIN_STATE state, LOGIN_RESULT result, char const* addrStr, char const* stateStr, char const* resultStr, uint8_t flags);
@ -78,6 +89,16 @@ class CGlueMgr {
static void Sub4D8BA0();
static void Suspend();
static void UpdateCurrentScreen(const char* screen);
// Survey Download System
static void SurveyDownloadStart();
static void SurveyDownloadIdle();
static bool SurveyExecute();
static void SurveySendResults();
// Patch Download System
static void PatchDownloadStart();
static void PatchDownloadIdle();
};
#endif