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);
|
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>,
|
static void process_subcommand_invalid(shared_ptr<ServerState>,
|
||||||
shared_ptr<Lobby>, shared_ptr<Client>, uint8_t command, uint8_t flag,
|
shared_ptr<Lobby>, shared_ptr<Client>, uint8_t command, uint8_t flag,
|
||||||
const string& data) {
|
const string& data) {
|
||||||
@@ -1215,7 +1225,7 @@ subcommand_handler_t subcommand_handlers[0x100] = {
|
|||||||
/* B1 */ process_subcommand_unimplemented,
|
/* B1 */ process_subcommand_unimplemented,
|
||||||
/* B2 */ process_subcommand_unimplemented,
|
/* B2 */ process_subcommand_unimplemented,
|
||||||
/* B3 */ 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
|
/* B5 */ process_subcommand_open_shop_bb_or_unknown_ep3, // BB shop request
|
||||||
/* B6 */ process_subcommand_unimplemented, // BB shop contents (server->client only)
|
/* B6 */ process_subcommand_unimplemented, // BB shop contents (server->client only)
|
||||||
/* B7 */ process_subcommand_unimplemented, // TODO: BB buy shop item
|
/* 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');
|
string data(16, '\0');
|
||||||
PSOSubcommand* subs = reinterpret_cast<PSOSubcommand*>(data.data());
|
PSOSubcommand* subs = reinterpret_cast<PSOSubcommand*>(data.data());
|
||||||
subs[0].dword = 0x000000B6;
|
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[2].dword = 0x00000040;
|
||||||
subs[3].dword = file_data->size();
|
subs[3].dword = file_data->size();
|
||||||
data += *file_data;
|
data += *file_data;
|
||||||
|
|||||||
Reference in New Issue
Block a user