feat(glue): handle COP_CONNECT in CGlueMgr::PollAccountLogin

This commit is contained in:
fallenoak 2025-10-03 23:39:42 -05:00
parent 99bc6f46f5
commit d3d28c1bce
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
3 changed files with 10 additions and 2 deletions

View File

@ -19,6 +19,7 @@
#include "ui/Interface.hpp" #include "ui/Interface.hpp"
#include "ui/ScriptFunctions.hpp" #include "ui/ScriptFunctions.hpp"
#include "util/Filesystem.hpp" #include "util/Filesystem.hpp"
#include "util/Locale.hpp"
#include "util/Log.hpp" #include "util/Log.hpp"
#include <common/MD5.hpp> #include <common/MD5.hpp>
#include <cstdio> #include <cstdio>
@ -410,8 +411,7 @@ void CGlueMgr::PollAccountLogin(int32_t errorCode, const char* msg, int32_t comp
} }
if (op == COP_CONNECT) { if (op == COP_CONNECT) {
// TODO ClientServices::Connection()->AccountLogin(CGlueMgr::m_accountName, "", CURRENT_REGION, CURRENT_LANGUAGE);
return; return;
} }
} }

View File

@ -110,6 +110,12 @@ const char* s_errorCodeTokens[] = {
"CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME", "CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME",
}; };
void ClientConnection::AccountLogin(const char* name, const char* password, int32_t region, WOW_LOCALE locale) {
// Assertion-like thing
this->Initiate(COP_AUTHENTICATE, 11, nullptr);
}
void ClientConnection::AccountLogin_Finish(int32_t errorCode) { void ClientConnection::AccountLogin_Finish(int32_t errorCode) {
this->Complete(errorCode == 12, errorCode); this->Complete(errorCode == 12, errorCode);
} }

View File

@ -3,6 +3,7 @@
#include "net/connection/RealmConnection.hpp" #include "net/connection/RealmConnection.hpp"
#include "net/Types.hpp" #include "net/Types.hpp"
#include "util/Locale.hpp"
class RealmResponse; class RealmResponse;
@ -23,6 +24,7 @@ class ClientConnection : public RealmConnection {
ClientConnection(RealmResponse* realmResponse) ClientConnection(RealmResponse* realmResponse)
: RealmConnection(realmResponse) : RealmConnection(realmResponse)
{}; {};
void AccountLogin(const char* name, const char* password, int32_t region, WOW_LOCALE locale);
void AccountLogin_Finish(int32_t authResult); void AccountLogin_Finish(int32_t authResult);
void AccountLogin_Queued(); void AccountLogin_Queued();
void Cancel(int32_t errorCode); void Cancel(int32_t errorCode);