From bf3539dc71458c5912a621666d79bf896ee41b0e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 16 Sep 2022 19:49:52 +0800 Subject: [PATCH] 1 --- server/gameserver/metadata.h | 16 +++++++++++++++ server/gameserver/metamgr.cc | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/server/gameserver/metadata.h b/server/gameserver/metadata.h index 79b91a37..14cd471e 100644 --- a/server/gameserver/metadata.h +++ b/server/gameserver/metadata.h @@ -100,6 +100,7 @@ namespace MetaData std::vector> bullet_born_offset; std::vector> shoot_offsets; std::shared_ptr> gun_muzzle_position; + std::shared_ptr> movex_position; std::array volume = {}; int int_param1 = 0; float float_param1 = 0; @@ -133,6 +134,21 @@ namespace MetaData float l_y = 0; float l_z = 0; + float p3_t = 0; + float p3_x = 0; + float p3_y = 0; + float p3_z = 0; + + float p4_t = 0; + float p4_x = 0; + float p4_y = 0; + float p4_z = 0; + + float p5_t = 0; + float p5_x = 0; + float p5_y = 0; + float p5_z = 0; + }; struct Player diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index 1e455567..a468c1f6 100644 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -590,6 +590,21 @@ private: float l_y = anim_xobj->At("l")->At("y")->AsXValue().GetDouble(); float l_z = anim_xobj->At("l")->At("z")->AsXValue().GetDouble(); + float p3_t = anim_xobj->At("t")->AsXValue().GetDouble(); + float p3_x = anim_xobj->At("p3")->At("x")->AsXValue().GetDouble(); + float p3_y = anim_xobj->At("p3")->At("y")->AsXValue().GetDouble(); + float p3_z = anim_xobj->At("p3")->At("z")->AsXValue().GetDouble(); + + float p4_t = anim_xobj->At("t")->AsXValue().GetDouble(); + float p4_x = anim_xobj->At("p4")->At("x")->AsXValue().GetDouble(); + float p4_y = anim_xobj->At("p4")->At("y")->AsXValue().GetDouble(); + float p4_z = anim_xobj->At("p4")->At("z")->AsXValue().GetDouble(); + + float p5_t = anim_xobj->At("t")->AsXValue().GetDouble(); + float p5_x = anim_xobj->At("p5")->At("x")->AsXValue().GetDouble(); + float p5_y = anim_xobj->At("p5")->At("y")->AsXValue().GetDouble(); + float p5_z = anim_xobj->At("p5")->At("z")->AsXValue().GetDouble(); + { MetaData::Player* hero_meta = MetaMgr::Instance()->GetPlayer(hero_id); if (hero_meta) { @@ -606,6 +621,21 @@ private: anim.l_y = l_y; anim.l_z = l_z; + anim.p3_t = p3_t; + anim.p3_x = p3_x; + anim.p3_y = p3_y; + anim.p3_z = p3_z; + + anim.p4_t = p4_t; + anim.p4_x = p4_x; + anim.p4_y = p4_y; + anim.p4_z = p4_z; + + anim.p5_t = p5_t; + anim.p5_x = p5_x; + anim.p5_y = p5_y; + anim.p5_z = p5_z; + hero_meta->shot_animations[id] = anim; } } @@ -638,6 +668,10 @@ private: float y = equip_xobj->At("y")->AsXValue().GetDouble(); float z = equip_xobj->At("z")->AsXValue().GetDouble(); + float movex = equip_xobj->At("movex")->AsXValue().GetDouble(); + float movey = equip_xobj->At("movey")->AsXValue().GetDouble(); + float movez = equip_xobj->At("movez")->AsXValue().GetDouble(); + MetaData::Equip* equip_meta = MetaMgr::Instance()->GetEquip(equip_id); if (equip_meta) { equip_meta->gun_muzzle_position = std::make_shared> @@ -646,6 +680,12 @@ private: y, z ); + equip_meta->movex_position = std::make_shared> + ( + movex, + movey, + movez + ); } } }