add subcommand B4

This commit is contained in:
Martin Michelsen
2022-05-17 23:27:52 -07:00
parent 88549fbc2b
commit e87c73c1b7
2 changed files with 12 additions and 2 deletions
+11 -1
View File
@@ -1003,6 +1003,16 @@ static void process_subcommand_forward_check_size_ep3_lobby(shared_ptr<ServerSta
forward_subcommand(l, c, command, flag, data);
}
static void process_subcommand_forward_check_size_ep3_game(shared_ptr<ServerState>,
shared_ptr<Lobby> l, shared_ptr<Client> c, uint8_t command, uint8_t flag,
const string& data) {
check_size_sc(data, sizeof(PSOSubcommand), 0xFFFF);
if (!l->is_game() || !(l->flags & Lobby::Flag::EPISODE_3_ONLY)) {
return;
}
forward_subcommand(l, c, command, flag, data);
}
static void process_subcommand_invalid(shared_ptr<ServerState>,
shared_ptr<Lobby>, shared_ptr<Client>, uint8_t command, uint8_t flag,
const string& data) {
@@ -1215,7 +1225,7 @@ subcommand_handler_t subcommand_handlers[0x100] = {
/* B1 */ process_subcommand_unimplemented,
/* B2 */ process_subcommand_unimplemented,
/* B3 */ process_subcommand_unimplemented,
/* B4 */ process_subcommand_unimplemented,
/* B4 */ process_subcommand_forward_check_size_ep3_game,
/* B5 */ process_subcommand_open_shop_bb_or_unknown_ep3, // BB shop request
/* B6 */ process_subcommand_unimplemented, // BB shop contents (server->client only)
/* B7 */ process_subcommand_unimplemented, // TODO: BB buy shop item
+1 -1
View File
@@ -1317,7 +1317,7 @@ void send_ep3_map_list(shared_ptr<Lobby> l) {
string data(16, '\0');
PSOSubcommand* subs = reinterpret_cast<PSOSubcommand*>(data.data());
subs[0].dword = 0x000000B6;
subs[1].dword = (23 + file_data->size()) & 0xFFFFFFFC;
subs[1].dword = (file_data->size() + 0x14 + 3) & 0xFFFFFFFC;
subs[2].dword = 0x00000040;
subs[3].dword = file_data->size();
data += *file_data;