add some undocumented client commands from PC, GC and BB

This commit is contained in:
Martin Michelsen
2022-06-26 11:41:25 -07:00
parent cf8dd69edc
commit 47f97f357f
6 changed files with 481 additions and 132 deletions
+7 -5
View File
@@ -117,7 +117,7 @@ static HandlerResult process_server_gc_9A(shared_ptr<ServerState>,
return HandlerResult::FORWARD;
}
C_LoginWithUnusedSpace_GC_9E cmd;
C_LoginExtended_GC_9E cmd;
if (session.remote_guild_card_number == 0) {
cmd.player_tag = 0xFFFF0000;
cmd.guild_card_number = 0xFFFFFFFF;
@@ -127,7 +127,8 @@ static HandlerResult process_server_gc_9A(shared_ptr<ServerState>,
}
cmd.unused = 0;
cmd.sub_version = session.sub_version;
cmd.unused2.data()[1] = 1;
cmd.is_extended = session.remote_guild_card_number ? 0 : 1;
cmd.unknown_a1 = 1;
cmd.serial_number = string_printf("%08" PRIX32 "", session.license->serial_number);
cmd.access_key = session.license->access_key;
cmd.serial_number2 = cmd.serial_number;
@@ -139,8 +140,8 @@ static HandlerResult process_server_gc_9A(shared_ptr<ServerState>,
// right after the client config data
session.server_channel.send(
0x9E, 0x01, &cmd,
sizeof(C_LoginWithUnusedSpace_GC_9E) - (session.remote_guild_card_number ? sizeof(cmd.unused_space) : 0));
0x9E, 0x01, &cmd,
cmd.is_extended ? sizeof(C_LoginExtended_GC_9E) : sizeof(C_Login_GC_9E));
return HandlerResult::SUPPRESS;
}
@@ -209,7 +210,8 @@ static HandlerResult process_server_pc_gc_patch_02_17(shared_ptr<ServerState> s,
}
cmd.unused = 0xFFFFFFFFFFFF0000;
cmd.sub_version = session.sub_version;
cmd.unused2.data()[1] = 1;
cmd.is_extended = 0;
cmd.unknown_a1 = 1;
cmd.serial_number = string_printf("%08" PRIX32 "",
session.license->serial_number);
cmd.access_key = session.license->access_key;