From c2e86e60be7b0fa4fc399c7e27982c3115e26a3b Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 6 Sep 2023 13:43:43 +0800 Subject: [PATCH] 1 --- server/gameserver/mapmgr.cc | 8 +------- server/gameserver/mt/Map.cc | 2 +- server/gameserver/mtb/Map.h | 3 +++ server/gameserver/mtb/mtb.all.cc | 3 ++- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/server/gameserver/mapmgr.cc b/server/gameserver/mapmgr.cc index 30b025fc..30f582e8 100644 --- a/server/gameserver/mapmgr.cc +++ b/server/gameserver/mapmgr.cc @@ -17,13 +17,7 @@ void MapMgr::Init() ( [this] (const mt::Map* map_meta, bool& stop) { - if (map_meta->map_id() == 2001 || - map_meta->map_id() == 1003 || -#ifdef DEBUG - (DebugCmd::EnableNewMap() && map_meta->map_id() == 2002) || -#endif - false - ) { + if (map_meta->IsOpen()) { auto map_instance = std::make_shared(); map_instance->map_id = map_meta->map_id(); map_instance->Init(); diff --git a/server/gameserver/mt/Map.cc b/server/gameserver/mt/Map.cc index 2530c3df..cd480974 100644 --- a/server/gameserver/mt/Map.cc +++ b/server/gameserver/mt/Map.cc @@ -271,7 +271,7 @@ namespace mt bool Map::IsOpen() const { - return true; + return is_open(); } } diff --git a/server/gameserver/mtb/Map.h b/server/gameserver/mtb/Map.h index 40a8b5ea..89bc4f5d 100644 --- a/server/gameserver/mtb/Map.h +++ b/server/gameserver/mtb/Map.h @@ -34,6 +34,7 @@ namespace mtb int map_type() const { return map_type_; }; int team() const { return team_; }; int star_condition() const { return star_condition_; }; + int is_open() const { return is_open_; }; bool has_map_id() const { return __flags__.test(0);}; bool has_template_list() const { return __flags__.test(1);}; @@ -59,6 +60,7 @@ namespace mtb bool has_map_type() const { return __flags__.test(21);}; bool has_team() const { return __flags__.test(22);}; bool has_star_condition() const { return __flags__.test(23);}; + bool has_is_opon() const { return __flags__.test(24);}; protected: @@ -86,6 +88,7 @@ namespace mtb int map_type_ = 0; int team_ = 0; int star_condition_ = 0; + int is_open_ = 0; public: std::bitset<21> __flags__; diff --git a/server/gameserver/mtb/mtb.all.cc b/server/gameserver/mtb/mtb.all.cc index 89889e37..bcf0d90e 100644 --- a/server/gameserver/mtb/mtb.all.cc +++ b/server/gameserver/mtb/mtb.all.cc @@ -71,7 +71,7 @@ namespace mtb { a8::reflect::Class* meta_class = nullptr; if (!meta_class) { - meta_class = new a8::reflect::Class("Map", 24, 0); + meta_class = new a8::reflect::Class("Map", 25, 0); meta_class->SetSimpleField(0, "map_id", a8::reflect::ET_INT32, my_offsetof2(Map, map_id_)); meta_class->SetSimpleField(1, "template_list", a8::reflect::ET_STRING, my_offsetof2(Map, template_list_)); meta_class->SetSimpleField(2, "map_name", a8::reflect::ET_STRING, my_offsetof2(Map, map_name_)); @@ -96,6 +96,7 @@ namespace mtb meta_class->SetSimpleField(21, "map_type", a8::reflect::ET_INT32, my_offsetof2(Map, map_type_)); meta_class->SetSimpleField(22, "team", a8::reflect::ET_INT32, my_offsetof2(Map, team_)); meta_class->SetSimpleField(23, "star_condition", a8::reflect::ET_INT32, my_offsetof2(Map, star_condition_)); + meta_class->SetSimpleField(24, "is_open", a8::reflect::ET_INT32, my_offsetof2(Map, is_open_)); } return meta_class; }