From bc6ca0022ef5d16e8264d4f29099e77e5ae3b251 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 23 Apr 2019 17:03:31 +0800 Subject: [PATCH] update_msg -> msg --- server/gameserver/framemaker.cc | 47 +++++++++++++++++---------------- server/gameserver/framemaker.h | 1 - server/gameserver/player.cc | 2 ++ 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/server/gameserver/framemaker.cc b/server/gameserver/framemaker.cc index bb72306..38e9a58 100644 --- a/server/gameserver/framemaker.cc +++ b/server/gameserver/framemaker.cc @@ -4,58 +4,59 @@ cs::SMUpdate* FrameMaker::MakeUpdateMsg(Human* hum) { + cs::SMUpdate* msg = new cs::SMUpdate; #if 0 - update_msg->Clear(); + msg->Clear(); { - update_msg->set_ack(last_seq_id); + msg->set_ack(last_seq_id); #if 0 { for (auto& pair : room->frame_data.deleted_objects_hash) { if (pair.first <= room->frame_no) { for (auto& itr : pair.second) { - update_msg->add_del_objids(itr); + msg->add_del_objids(itr); } } } for (auto& pair : room->frame_data.shots_hash) { if (pair.first <= room->frame_no) { for (auto& itr : pair.second) { - *update_msg->add_shots() = itr; + *msg->add_shots() = itr; } } } for (auto& pair : room->frame_data.bullets_hash) { if (pair.first <= room->frame_no) { for (auto& itr : pair.second) { - *update_msg->add_bullets() = itr; + *msg->add_bullets() = itr; } } } for (auto& pair : room->frame_data.explosions_hash) { if (pair.first <= room->frame_no) { for (auto& itr : pair.second) { - *update_msg->add_explosions() = itr; + *msg->add_explosions() = itr; } } } for (auto& pair : room->frame_data.smokes_hash) { if (pair.first <= room->frame_no) { for (auto& itr : pair.second) { - *update_msg->add_smokes() = itr; + *msg->add_smokes() = itr; } } } for (auto& pair : room->frame_data.emotes_hash) { if (pair.first <= room->frame_no) { for (auto& itr : pair.second) { - *update_msg->add_emotes() = itr; + *msg->add_emotes() = itr; } } } for (auto& pair : room->frame_data.airdrops_hash) { if (pair.first <= room->frame_no) { for (auto& itr : pair.second) { - *update_msg->mutable_airdrop() = itr; + *msg->mutable_airdrop() = itr; break; } } @@ -65,39 +66,39 @@ cs::SMUpdate* FrameMaker::MakeUpdateMsg(Human* hum) if (team_members) { for (auto& itr : *team_members) { if (itr != this) { - itr->FillMFTeamData(update_msg->add_team_data()); + itr->FillMFTeamData(msg->add_team_data()); } } } if (room->gas_data.gas_mode == GasJump) { - cs::MFPlane* p = update_msg->mutable_plane(); + cs::MFPlane* p = msg->mutable_plane(); room->plane.start_point.ToPB(p->mutable_start_point()); room->plane.end_point.ToPB(p->mutable_end_point()); } - if (send_update_msg_times == 0) { + if (send_msg_times == 0) { room->FetchBuilding(this); } for (auto& itr : new_objects) { - itr->FillMFObjectFull(update_msg->add_full_objects()); + itr->FillMFObjectFull(msg->add_full_objects()); } for (auto& itr : part_objects) { - itr->FillMFObjectPart(update_msg->add_part_objects()); + itr->FillMFObjectPart(msg->add_part_objects()); } - if (send_update_msg_times == 0 || need_sync_active_player) { - update_msg->set_active_player_id(entity_uniid); - FillMFActivePlayerData(update_msg->mutable_active_player_data()); + if (send_msg_times == 0 || need_sync_active_player) { + msg->set_active_player_id(entity_uniid); + FillMFActivePlayerData(msg->mutable_active_player_data()); need_sync_active_player = false; } - if (send_update_msg_times == 0 || last_sync_gas_frameno < room->gas_data.gas_start_frameno) { + if (send_msg_times == 0 || last_sync_gas_frameno < room->gas_data.gas_start_frameno) { last_sync_gas_frameno = room->gas_data.gas_start_frameno; - FillMFGasData(update_msg->mutable_gas_data()); + FillMFGasData(msg->mutable_gas_data()); } if (room->gas_data.gas_mode == GasMoving) { - update_msg->set_gas_progress(room->gas_data.gas_progress); - room->gas_data.pos_old.ToPB(update_msg->mutable_gas_pos_old()); + msg->set_gas_progress(room->gas_data.gas_progress); + room->gas_data.pos_old.ToPB(msg->mutable_gas_pos_old()); } - update_msg->set_alive_count(room->AliveCount()); + msg->set_alive_count(room->AliveCount()); } #endif - return nullptr; + return msg; } diff --git a/server/gameserver/framemaker.h b/server/gameserver/framemaker.h index 94f9f4e..9ee74f6 100644 --- a/server/gameserver/framemaker.h +++ b/server/gameserver/framemaker.h @@ -7,7 +7,6 @@ class Room; class FrameMaker { public: - Room* room = nullptr; cs::SMUpdate* MakeUpdateMsg(Human* hum); }; diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 0d4c184..d2c6f7c 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -719,6 +719,8 @@ void Player::SendUpdateMsg() cs::SMUpdate* msg = room->frame_maker.MakeUpdateMsg(this); if (msg) { SendNotifyMsg(*msg); + delete msg; + msg = nullptr; } if (send_gameover) { UpdateGameOver();