implement bb meet user

This commit is contained in:
Martin Michelsen
2022-07-30 00:26:41 -07:00
parent cf59858e1e
commit 2cb49030f0
2 changed files with 16 additions and 4 deletions
+8 -4
View File
@@ -1158,10 +1158,14 @@ struct C_Login_BB_93 {
le_uint32_t guild_card_number;
ptext<char, 0x08> unused;
le_uint32_t team_id;
ptext<char, 0x10> username;
ptext<char, 0x20> unused2;
ptext<char, 0x10> password;
ptext<char, 0x28> unused3;
ptext<char, 0x30> username;
ptext<char, 0x30> password;
// These fields map to the same fields in C_Login_MeetUserExtension. There is
// no equivalent of the name field from that structure on BB (though newserv
// doesn't use it anyway).
le_uint32_t menu_id;
le_uint32_t preferred_lobby_id;
// Note: Unlike other versions, BB puts the version string in the client
// config at connect time. So the first time the server gets this command, it
+8
View File
@@ -107,6 +107,14 @@ void process_login_complete(shared_ptr<ServerState> s, shared_ptr<Client> c) {
send_ep3_rank_update(c);
}
// On BB, send the pre-lobby event, if set. This normally happens on the
// login server immediately after the encryption init command, but on BB we
// don't know the client's state until after we receive the login command,
// so we do it here instead.
if ((c->version == GameVersion::BB) && s->pre_lobby_event) {
send_change_event(c, s->pre_lobby_event);
}
if (s->welcome_message.empty() ||
(c->flags & Client::Flag::NO_MESSAGE_BOX_CLOSE_CONFIRMATION) ||
!(c->flags & Client::Flag::AT_WELCOME_MESSAGE)) {