feat(client): implement auth response handler in realm adapter

This commit is contained in:
fallenoak 2023-04-03 23:34:31 -05:00
parent 23d537103e
commit 1b27761d0c
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
5 changed files with 58 additions and 26 deletions

View file

@ -1,5 +1,18 @@
#include "client/ClientRealmResponseAdapter.hpp"
void ClientRealmResponseAdapter::HandleAuthResponse(RealmConnection* connection, uint8_t authResult) {
void AccountDataInitialize(bool a1) {
// TODO
}
void ClientRealmResponseAdapter::HandleAuthResponse(RealmConnection* realmConnection, uint8_t authResult) {
auto clientConnection = static_cast<ClientConnection*>(realmConnection);
// AUTH_WAIT_QUEUE
if (authResult == 27) {
clientConnection->AccountLogin_Queued();
} else {
clientConnection->AccountLogin_Finish(authResult);
}
AccountDataInitialize(true);
}

View file

@ -6,8 +6,8 @@
class ClientRealmResponseAdapter : public RealmResponse {
public:
// Virtual member functions
virtual void HandleAuthResponse(RealmConnection* connection, uint8_t authResult);
virtual void GameServerResult(RealmConnection* connection, const char* a2, const char* a3, const char* a4) {};
virtual void HandleAuthResponse(RealmConnection* realmConnection, uint8_t authResult);
virtual void GameServerResult(RealmConnection* realmConnection, const char* a2, const char* a3, const char* a4) {};
};
#endif

View file

@ -22,12 +22,12 @@ bool ClientServices::s_selectRealmInfoValid;
void ClientServices::ConnectToSelectedServer() {
if (!ClientServices::s_selectRealmInfoValid && !ClientServices::SetSelectedRealmInfo(0)) {
ClientServices::Connection()->SetStatus(0, 39);
ClientServices::Connection()->Complete(0, 39);
return;
}
if (ClientServices::Connection()->GetState() != NS_INITIALIZED) {
ClientServices::Connection()->SetStatus(0, 39);
ClientServices::Connection()->Complete(0, 39);
return;
}
@ -210,12 +210,12 @@ void ClientServices::RealmEnumCallback(uint32_t a2) {
auto connection = ClientServices::Connection();
if (a2 == 1) {
connection->SetStatus(0, 23);
connection->Complete(0, 23);
return;
}
if (a2 == 2 || a2 == 3 || a2 == 4) {
connection->SetStatus(0, 37);
connection->Complete(0, 37);
return;
}