maybe fix spectator team map loading
This commit is contained in:
@@ -6219,11 +6219,13 @@ struct G_Unknown_GC_Ep3_6xB3x3A_CAx3A {
|
|||||||
G_CardServerDataCommandHeader header = {0xB3, sizeof(G_Unknown_GC_Ep3_6xB3x3A_CAx3A) / 4, 0, 0x3A, 0, 0, 0, 0, 0};
|
G_CardServerDataCommandHeader header = {0xB3, sizeof(G_Unknown_GC_Ep3_6xB3x3A_CAx3A) / 4, 0, 0x3A, 0, 0, 0, 0, 0};
|
||||||
} __packed__;
|
} __packed__;
|
||||||
|
|
||||||
// 6xB4x3B: Unknown
|
// 6xB4x3B: Load current environment
|
||||||
// TODO: Document this from Episode 3 client/server disassembly
|
// This command is used to send spectators in a spectator team to the main
|
||||||
|
// battle. A 6xB4x05 and 6xB6x41 command shouldhave been sent before this, to
|
||||||
|
// set the map state that should appear for the new spectator.
|
||||||
|
|
||||||
struct G_Unknown_GC_Ep3_6xB4x3B {
|
struct G_LoadCurrentEnvironment_GC_Ep3_6xB4x05 {
|
||||||
G_CardBattleCommandHeader header = {0xB4, sizeof(G_Unknown_GC_Ep3_6xB4x3B) / 4, 0, 0x3B, 0, 0, 0};
|
G_CardBattleCommandHeader header = {0xB4, sizeof(G_LoadCurrentEnvironment_GC_Ep3_6xB4x05) / 4, 0, 0x3B, 0, 0, 0};
|
||||||
parray<uint8_t, 4> unused;
|
parray<uint8_t, 4> unused;
|
||||||
} __packed__;
|
} __packed__;
|
||||||
|
|
||||||
|
|||||||
@@ -273,8 +273,15 @@ void Server::send_commands_for_joining_spectator(Channel& c, bool is_trial) cons
|
|||||||
if (should_send_state) {
|
if (should_send_state) {
|
||||||
c.send(0xC9, 0x00, this->prepare_6xB4x07_decks_update());
|
c.send(0xC9, 0x00, this->prepare_6xB4x07_decks_update());
|
||||||
c.send(0xC9, 0x00, this->prepare_6xB4x1C_names_update());
|
c.send(0xC9, 0x00, this->prepare_6xB4x1C_names_update());
|
||||||
G_Unknown_GC_Ep3_6xB4x3B cmd_3B;
|
{
|
||||||
c.send(0xC9, 0x00, &cmd_3B, sizeof(cmd_3B));
|
G_UpdateMap_GC_Ep3_6xB4x05 cmd_05;
|
||||||
|
cmd_05.state = *this->map_and_rules;
|
||||||
|
this->send(cmd_05);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
G_LoadCurrentEnvironment_GC_Ep3_6xB4x05 cmd_3B;
|
||||||
|
c.send(0xC9, 0x00, &cmd_3B, sizeof(cmd_3B));
|
||||||
|
}
|
||||||
c.send(0xC9, 0x00, this->prepare_6xB4x50_trap_tile_locations());
|
c.send(0xC9, 0x00, this->prepare_6xB4x50_trap_tile_locations());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user