void GameScreen::deserialize(GameState *gs, SerializeBuffer &serializer) { serializer.read_int(index); // hud details not serialized as they are ephermal user interface state serializer.read(focus_player_id); current_level = read_gamemap(gs, serializer); serializer.read(last_player_pos); }
void ItemInst::deserialize(GameState* gs, SerializeBuffer& serializer) { GameInst::deserialize(gs, serializer); item.deserialize(serializer); serializer.read(quantity); serializer.read(dropped_by); serializer.read(pickup_by_dropper); }
void net_recv_game_init_data(SerializeBuffer& sb, int sender, GameStateInitData& init_data, PlayerData& pd) { //Write seed sb.read(init_data); init_data.received_init_data = true; //Read player data int localidx; sb.read_int(localidx); int playern; sb.read_int(playern); LANARTS_ASSERT(pd.all_players().empty()); for (int i = 0; i < playern; i++) { std::string name; std::string classtype; int net_id; sb.read(name); sb.read(classtype); sb.read_int(net_id); pd.register_player(name, NULL, classtype, LuaValue(), (i == localidx), net_id); } printf( "Received init packet: seed = 0x%X, localid = %d, nplayers = %d, " "frame_action_repeat = %d, regen_level_on_death = %d, network_debug_mode = %d, time_per_step = %f\n", init_data.seed, localidx, playern, init_data.frame_action_repeat, (int) init_data.regen_on_death, (int) init_data.network_debug_mode, init_data.time_per_step); }
void StoreInst::deserialize(GameState* gs, SerializeBuffer& serializer) { GameInst::deserialize(gs, serializer); sidebar_display.init(this, gs->game_hud().sidebar_content_area()); inv.deserialize(serializer); serializer.read(last_seen_spr); serializer.read(spriteid); }
// Only the server is concerned with this message void net_recv_connection_affirm(SerializeBuffer& sb, int sender, PlayerData& pd) { printf("Recv conn with size=%d\n", sb.size()); std::string name; std::string classtype; sb.read(name); sb.read(classtype); printf("connection affirm read\n"); pd.register_player(name, NULL, classtype, LuaValue(), /* is local player */ false, sender); printf("now there are %d players\n", (int) pd.all_players().size()); }
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); }
static void write_or_assert_hash(SerializeBuffer& sb, unsigned int hash, bool is_writing) { if (is_writing) { sb.write_int(hash); } else { unsigned int val; sb.read(val); if (val != hash) { printf("Values 0x%X and 0x%X do not match!\n", val, hash); LANARTS_ASSERT(false); } } }
void ChatMessage::deserialize(SerializeBuffer& serializer) { serializer.read(sender); serializer.read(message); serializer.read(sender_colour); serializer.read(message_colour); }
void AnimatedInst::deserialize(GameState* gs, SerializeBuffer& serializer) { GameInst::deserialize(gs, serializer); DESERIALIZE_POD_REGION(serializer, this, textcol, animatetime); serializer.read(text); }
void MonsterController::deserialize(SerializeBuffer& serializer) { serializer.read_container(mids); serializer.read(monsters_wandering_flag); }