From 5d3979e30cd11506cd6f11f6fcea660c817d79a9 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 28 Nov 2022 16:34:04 +0800 Subject: [PATCH] 1 --- server/gameserver/CMakeLists.txt | 4 ++-- server/gameserver/mapinstance.cc | 22 ++++++++++++++++++++++ server/gameserver/mapmgr.cc | 7 +++++++ server/gameserver/room.cc | 4 ++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/server/gameserver/CMakeLists.txt b/server/gameserver/CMakeLists.txt index 5b9e50f7..37d338cf 100644 --- a/server/gameserver/CMakeLists.txt +++ b/server/gameserver/CMakeLists.txt @@ -18,8 +18,8 @@ else() message(LIB_DIR: ${LIB_DIR} ) endif() -set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DNDEBUG -DNEWGS -DPVE -DATTR") -set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DDEBUG -DNEWGS -DPVE -DATTR") +set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DNDEBUG -DNEWGS -DPVE -DMAP3D") +set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -std=gnu++1z -DGAME_ID=${GAME_ID} -DDEBUG -DNEWGS -DPVE -DMAP3D") include_directories( AFTER diff --git a/server/gameserver/mapinstance.cc b/server/gameserver/mapinstance.cc index 117c4523..5ba8f3d2 100644 --- a/server/gameserver/mapinstance.cc +++ b/server/gameserver/mapinstance.cc @@ -89,6 +89,22 @@ void MapInstance::AttachRoom(Room* room, RoomInitInfo& init_info) void MapInstance::CreateThings() { map_tpl_name_ = map_meta_->RandTemplate(); +#ifdef MAP3D + { + for (int i = 1; i < 100; i++) { + MetaData::MapTplThing* p = new MetaData::MapTplThing(); + auto p2 = new metatable::MapTplThingJson; + p2->set_x(10); + p2->set_y(10); + + p->i = p2; + p->param1_int = 3; + normal_room_spawn_points_.push_back(p); + mini_room_spawn_points_.push_back(p); + } + return; + } +#endif std::map spawn_points_hash; std::vector* things = MetaMgr::Instance()->GetMapTplThing(map_tpl_name_); if (things) { @@ -176,6 +192,9 @@ void MapInstance::CreateThings() void MapInstance::CreateTerrain() { +#ifdef DMAP3D + return; +#endif metatable::TerrainJson* terrain = MetaMgr::Instance()->GetTerrainJson(map_id); std::list* layers = MetaMgr::Instance()->GetMapLayer(map_meta_->i->map_pic()); if (!terrain || !layers) { @@ -309,6 +328,9 @@ void MapInstance::CreateTerrain() void MapInstance::CreateBlock() { +#ifdef MAP3D + return; +#endif std::list* blocks = MetaMgr::Instance()->GetMapBlock(map_meta_->i->map_pic()); DummyEntity* dummy = EntityFactory::Instance()->MakeDummy(AllocUniid()); dummy->SetPos(a8::Vec2()); diff --git a/server/gameserver/mapmgr.cc b/server/gameserver/mapmgr.cc index 9b7f3f4d..8e06fa59 100644 --- a/server/gameserver/mapmgr.cc +++ b/server/gameserver/mapmgr.cc @@ -36,7 +36,9 @@ void MapMgr::Init() if (mode_hash_.find(kChiJiMode) == mode_hash_.end()) { A8_ABORT(); } +#ifdef DMAP3D MetaMgr::Instance()->CheckMapSpawnPoint(); +#endif } void MapMgr::UnInit() @@ -77,6 +79,10 @@ void MapMgr::AttachRoom(Room* room, RoomInitInfo& init_info) }); #endif } +#ifdef MAP3D + init_info.init_map_id = 2001; + MapInstance* map_instance = GetMapInstance(init_info.init_map_id); +#else MapInstance* map_instance = init_info.init_map_id == 0 ? RandMapInstance(init_info.room_mode) : GetMapInstance(init_info.init_map_id); if (!map_instance) { @@ -89,6 +95,7 @@ void MapMgr::AttachRoom(Room* room, RoomInitInfo& init_info) } #endif } +#endif if (!map_instance) { A8_ABORT(); diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index e2c209b2..935b195e 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -86,10 +86,14 @@ void Room::Init() frame_event.room = this; +#ifdef MAP3D + CreateSpawnPoints(); +#else CreateSpawnPoints(); CreateMonsterSpawnPoints(); CreateLoots(); CreateDropObjs(); +#endif InitObstacleDatas(); ShuaAndroid(); incubator_ = new Incubator();