mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-10-31 00:06:05 +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
	 VDm
						VDm