void net_recv_game_init_data(SerializeBuffer& sb, int sender, GameStateInitData& init_data, PlayerData& pd) { //Write seed sb.read_int(init_data.seed); init_data.seed_set_by_network_message = true; //Read player data int localidx; sb.read_int(localidx); pd.set_local_player_idx(localidx); int playern; sb.read_int(playern); LANARTS_ASSERT(pd.all_players().empty()); for (int i = 0; i < playern; i++) { std::string name; class_id classtype; int net_id; sb.read(name); sb.read_int(classtype); sb.read_int(net_id); pd.register_player(name, NULL, classtype, net_id); } printf("Received init packet: seed = 0x%X, localid = %d, nplayers = %d\n", init_data.seed, localidx, playern); }
// Only the server is concerned with this message void net_recv_connection_affirm(SerializeBuffer& sb, int sender, PlayerData& pd) { std::string name; class_id classtype; sb.read(name); sb.read_int(classtype); printf("connection affirm read\n"); pd.register_player(name, NULL, classtype, sender); printf("now there are %d players\n", (int)pd.all_players().size()); pd.set_local_player_idx(0); }