add subcommand B4
This commit is contained in:
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user