From 564e639edccbccb4b6d1afef92d98fbc950dbbc2 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 25 Apr 2019 18:36:46 +0800 Subject: [PATCH] 1 --- server/gameserver/bullet.cc | 2 ++ server/gameserver/gridservice.cc | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index dd8fd8c..81f2b24 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -120,7 +120,9 @@ void Bullet::OnHit(std::set& objects) obstacle->ClearColliders(); room->ScatterDrop(obstacle->pos, obstacle->meta->i->drop()); } + #if 0 obstacle->BroadcastFullState(); + #endif } } break; diff --git a/server/gameserver/gridservice.cc b/server/gameserver/gridservice.cc index 1acbe68..e9cde68 100644 --- a/server/gameserver/gridservice.cc +++ b/server/gameserver/gridservice.cc @@ -125,6 +125,12 @@ void GridService::MoveHuman(Human* hum) int new_x = (int)hum->pos.x + cell_width_; int new_y = (int)hum->pos.y + cell_width_; int new_grid_id = new_x/cell_width_ + (new_y/cell_width_) * cell_count_per_row_; + if (BroderOverFlow(new_x, new_y)) { + abort(); + } + if (new_grid_id == 0 || new_grid_id > max_grid_id_) { + abort(); + } if (new_grid_id != hum->grid_id) { std::set inc_grid_list; std::set dec_grid_list; @@ -160,6 +166,12 @@ void GridService::MoveBullet(Bullet* bullet) int new_x = (int)bullet->pos.x + cell_width_; int new_y = (int)bullet->pos.y + cell_width_; int new_grid_id = new_x/cell_width_ + (new_y/cell_width_) * cell_count_per_row_; + if (BroderOverFlow(new_x, new_y)) { + abort(); + } + if (new_grid_id == 0 || new_grid_id > max_grid_id_) { + abort(); + } if (new_grid_id != bullet->grid_id) { std::set inc_grid_list; std::set dec_grid_list;