merge watch

This commit is contained in:
aozhiwei 2021-08-24 11:30:04 +00:00
commit adac50a0c8
27 changed files with 1260 additions and 323 deletions

View File

@ -0,0 +1,27 @@
#include "precompile.h"
#include "cs_proto.pb.h"
#include "bornpoint.h"
#include "metamgr.h"
a8::Vec2 BornPoint::RandPoint() const
{
a8::Vec2 born_point = a8::Vec2(thing_tpl->i->x(), thing_tpl->i->y());
MetaData::Player* hum_meta = MetaMgr::Instance()->GetPlayer(40002);
if (hum_meta) {
born_point.x -= thing_tpl->i->width() / 2;
born_point.y -= thing_tpl->i->height() / 2;
born_point.x += hum_meta->i->radius() / 2;
born_point.y += hum_meta->i->radius() / 2;
int rand_x = thing_tpl->i->width() - hum_meta->i->radius();
int rand_y = thing_tpl->i->height() - hum_meta->i->radius();
if (rand_x > 0) {
born_point.x += rand() % rand_x;
}
if (rand_y > 0) {
born_point.y += rand() % rand_y;
}
}
return born_point;
}

View File

@ -0,0 +1,15 @@
#pragma once
namespace MetaData
{
struct MapTplThing;
}
struct BornPoint
{
MetaData::MapTplThing* thing_tpl = nullptr;
int player_num = 0;
int android_num = 0;
a8::Vec2 RandPoint() const;
};

View File

@ -1,6 +1,7 @@
#pragma once
#include "weakptr.h"
#include "weapon.h"
namespace MetaData
{

View File

@ -4,9 +4,20 @@
#include "buff.h"
#include "trigger.h"
#include "ability.h"
#include "weapon.h"
#include "cs_proto.pb.h"
enum CreatureStatus
{
CS_AlreadyLordMode = 1,
CS_Disable = 2,
CS_Collisioning = 3,
CS_DisableAttack = 8,
CS_End
};
namespace MetaData
{
class Skill;
@ -24,13 +35,26 @@ struct SkillCasterState
float caster_skill_param1 = 0.0f;
};
enum CreatureStatus
struct Inventory
{
CS_AlreadyLordMode = 1,
CS_Disable = 2,
CS_Collisioning = 3,
CS_DisableAttack = 8,
CS_End
int slot = 0;
int num = 0;
int itemid = 0;
};
struct HumanAbility
{
float hp = 0.0f;
float max_hp = 0.0f;
float hp_recover = 0.0f;
float atk = 0.0f;
float def = 0.0f;
float speed = 0.0f;
float shot_range = 0.0f;
float shot_speed = 0.0f;
float reload_speed = 0.0f;
float fire_rate = 0.0f;
};
struct xtimer_list;

View File

@ -8,6 +8,7 @@ namespace metatable
}
class MapInstance;
class MapService;
class DummyEntity : public Entity
{
public:

View File

@ -8,6 +8,14 @@ namespace cs
class MFObjectFull;
}
#pragma pack(1)
struct ObjectSyncFlags
{
unsigned char flags = 0;
unsigned char last_sync_frameno = 0;
};
#pragma pack()
class Room;
class ColliderComponent;
class AabbCollider;

View File

@ -3,6 +3,11 @@
#include "cs_proto.pb.h"
#include "weakptr.h"
namespace MetaData
{
struct Equip;
}
class Bullet;
class Human;
class Buff;

View File

@ -0,0 +1,844 @@
<?xml version="1.0" encoding="UTF-8"?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6"/>
<Project>
<Option title="gameserver"/>
<Option makefile_is_custom="1"/>
<Option compiler="gcc"/>
<Option virtualFolders="CMake Files\;"/>
<Build>
<Target title="all">
<Option working_dir="/home/azw/pub/2005/1/game2005/server/gameserver"/>
<Option type="4"/>
<MakeCommands>
<Build command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 all"/>
<CompileFile command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="edit_cache">
<Option working_dir="/home/azw/pub/2005/1/game2005/server/gameserver"/>
<Option type="4"/>
<MakeCommands>
<Build command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 edit_cache"/>
<CompileFile command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="script_pb_protocol">
<Option working_dir="/home/azw/pub/2005/1/game2005/server/gameserver"/>
<Option type="4"/>
<MakeCommands>
<Build command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 script_pb_protocol"/>
<CompileFile command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="rebuild_cache">
<Option working_dir="/home/azw/pub/2005/1/game2005/server/gameserver"/>
<Option type="4"/>
<MakeCommands>
<Build command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 rebuild_cache"/>
<CompileFile command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="gameserver2005">
<Option output="/home/azw/pub/2005/1/game2005/server/bin/gameserver2005" prefix_auto="0" extension_auto="0"/>
<Option working_dir="/home/azw/pub/2005/1/game2005/server/gameserver/../bin"/>
<Option object_output="./"/>
<Option type="1"/>
<Option compiler="gcc"/>
<Compiler>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/a8engine"/>
<Add directory="/usr/include/mysql"/>
<Add directory="/usr/include/jsoncpp"/>
<Add directory="/usr/include/hiredis"/>
<Add directory="/usr/include/eigen3"/>
<Add directory="/usr/include/glm"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/behaviac/inc"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/recastnavigation/Recast/Include"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/recastnavigation/Detour/Include"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/recastnavigation/DetourTileCache/Include"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/."/>
</Compiler>
<MakeCommands>
<Build command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 gameserver2005"/>
<CompileFile command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
<Target title="gameserver2005/fast">
<Option output="/home/azw/pub/2005/1/game2005/server/bin/gameserver2005" prefix_auto="0" extension_auto="0"/>
<Option working_dir="/home/azw/pub/2005/1/game2005/server/gameserver/../bin"/>
<Option object_output="./"/>
<Option type="1"/>
<Option compiler="gcc"/>
<Compiler>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/a8engine"/>
<Add directory="/usr/include/mysql"/>
<Add directory="/usr/include/jsoncpp"/>
<Add directory="/usr/include/hiredis"/>
<Add directory="/usr/include/eigen3"/>
<Add directory="/usr/include/glm"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/behaviac/inc"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/recastnavigation/Recast/Include"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/recastnavigation/Detour/Include"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/../../third_party/recastnavigation/DetourTileCache/Include"/>
<Add directory="/home/azw/pub/2005/1/game2005/server/gameserver/."/>
</Compiler>
<MakeCommands>
<Build command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 gameserver2005/fast"/>
<CompileFile command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 &quot;$file&quot;"/>
<Clean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
<DistClean command="/usr/bin/gmake -f &quot;/home/azw/pub/2005/1/game2005/server/gameserver/Makefile&quot; VERBOSE=1 clean"/>
</MakeCommands>
</Target>
</Build>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/GGListener.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/GGListener.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/ability.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/ability.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/aicomponent.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/aicomponent.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/android.ai.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/android.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/android.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/app.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/app.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/bornpoint.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/bornpoint.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/buff.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/buff.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/building.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/building.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/bullet.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/bullet.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/car.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/car.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/collider.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/collider.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/creature.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/creature.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/cs_msgid.pb.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/cs_proto.pb.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/dummyentity.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/dummyentity.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/entity.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/entity.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/entityfactory.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/entityfactory.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/explosion.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/explosion.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/frag_mitask.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/frag_mitask.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/frameevent.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/frameevent.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/framemaker.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/framemaker.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/gamelog.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/gamelog.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/gasdata.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/gasdata.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/global.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/global.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/gridcell.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/gridcell.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/gridservice.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/gridservice.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/handlermgr.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/handlermgr.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/hero.ai.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/hero.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/hero.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/human.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/human.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/incubator.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/incubator.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/jsondatamgr.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/jsondatamgr.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/loot.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/loot.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/main.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mapblock.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mapblock.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mapinstance.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mapinstance.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mapmgr.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mapmgr.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mapservice.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mapservice.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/metadata.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/metadata.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/metamgr.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/metamgr.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/metatable.pb.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/microtask.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/microtask.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/mine_sweeper.ai.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/moveableentity.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/moveableentity.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/obstacle.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/obstacle.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/perfmonitor.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/perfmonitor.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/player.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/player.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/playermgr.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/playermgr.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/room.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/room.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/roomentity.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/roomentity.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/roommgr.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/roommgr.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/roomobstacle.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/roomobstacle.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/select_target.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/select_target.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/skill.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/skill.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/skin.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/skin.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/smoke_mitask.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/smoke_mitask.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/ss_msgid.pb.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/ss_proto.pb.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/team.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/team.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/trigger.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/trigger.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/typeconvert.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/typeconvert.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/types.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/types.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/weakptr.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/weakptr.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/weapon.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/weapon.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/asynctcpclient.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/asynctcpclient.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/basehttpsession.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/basehttpsession.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/collision.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/collision.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/csvreader.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/csvreader.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/curl.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/curl.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/eventfd.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/eventfd.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/httpsession.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/httpsession.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/inifile.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/inifile.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/ioloop.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/ioloop.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/jsonlog.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/jsonlog.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/luaengine.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/luaengine.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/mixedsession.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/mixedsession.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/mutable_xobject.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/mutable_xobject.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/mysql.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/mysql.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/openssl.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/openssl.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/perfmonitor.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/perfmonitor.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/pyengine.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/pyengine.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/redis.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/redis.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/stringlist.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/stringlist.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/strutils.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/strutils.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/sysutils.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/sysutils.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/tcpclient.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/tcpclient.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/tcplistener.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/tcplistener.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/tcpsession.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/tcpsession.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/tcpsessionpool.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/tcpsessionpool.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/timer.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/timer.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/timer_attacher.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/timer_attacher.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/timerfd.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/timerfd.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/udpclient.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/udpclient.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/udplistener.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/udplistener.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/udplog.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/udplog.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/uuid.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/uuid.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/vec2.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/vec2.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/vec3.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/vec3.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/websocketsession.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/websocketsession.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/xobject.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/xobject.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/xtimer.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/xtimer.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/xvalue.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/a8engine/a8/xvalue.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/dbpool.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/dbpool.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/dynmodule.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/dynmodule.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/httpclientpool.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/httpclientpool.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/inputgeom.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/inputgeom.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/msgqueue.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/msgqueue.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/navigation.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/navigation.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/navigation_handle.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/navigation_handle.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/netmsghandler.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/netmsghandler.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/protoutils.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/protoutils.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/scriptengine.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/scriptengine.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/tglog.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/tglog.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/tiledmap.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/tiledmap.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/types.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/types.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/utils.cc">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/framework/cpp/utils.h">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Detour/Source/DetourAlloc.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Detour/Source/DetourAssert.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Detour/Source/DetourCommon.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Detour/Source/DetourNavMesh.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Detour/Source/DetourNavMeshBuilder.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Detour/Source/DetourNavMeshQuery.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Detour/Source/DetourNode.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/DetourTileCache/Source/DetourTileCache.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/DetourTileCache/Source/DetourTileCacheBuilder.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/Recast.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastAlloc.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastArea.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastAssert.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastContour.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastFilter.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastLayers.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastMesh.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastMeshDetail.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastRasterization.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/third_party/recastnavigation/Recast/Source/RecastRegion.cpp">
<Option target="gameserver2005"/>
</Unit>
<Unit filename="/home/azw/pub/2005/1/game2005/server/gameserver/CMakeLists.txt">
<Option virtualFolder="CMake Files\"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="all" />
<File name="frameevent.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1901" topLine="32" />
</Cursor>
</File>
<File name="player.cc" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="47380" topLine="1382" />
</Cursor>
</File>
<File name="types.h" open="1" top="1" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="13" topLine="0" />
</Cursor>
</File>
<File name="roommgr.cc" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="16990" topLine="471" />
</Cursor>
</File>
<File name="android.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="394" topLine="0" />
</Cursor>
</File>
<File name="human.cc" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="94214" topLine="2908" />
</Cursor>
</File>
<File name="human.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="12385" topLine="12" />
</Cursor>
</File>
</CodeBlocks_layout_file>

View File

View File

@ -0,0 +1,29 @@
#pragma once
namespace MetaData
{
struct Map;
struct SafeArea;
struct SafeAreaPos;
struct Equip;
struct EquipUpgrade;
struct MapTplThing;
}
struct GasData
{
GasMode_e gas_mode = GasInactive;
a8::Vec2 pos_old;
a8::Vec2 pos_old_bk;
a8::Vec2 pre_pos_old;
a8::Vec2 pos_new;
float rad_old = 0.0f;
float rad_new = 0.0f;
float gas_progress = 0.0f;
long long gas_start_frameno = 0;
MetaData::SafeArea* old_area_meta = nullptr;
MetaData::SafeArea* new_area_meta = nullptr;
MetaData::SafeAreaPos* pos_list = nullptr;
bool is_last_gas = false;
int gas_count = 0;
};

View File

@ -2,6 +2,7 @@
#include "creature.h"
#include "GGListener.h"
#include "skin.h"
namespace MetaData
{
@ -22,6 +23,54 @@ struct PartObject
EntityWeakPtr object;
};
struct KillInfo
{
int killer_id = 0;
int killer_team_id = 0;
int weapon_id = 0;
std::string msg;
};
struct HumanBehavior
{
long long curr_start_destory_box_frameno = 0;
int curr_destory_box_times = 0;
int total_destory_box_times = 0;
};
struct PlayerStats
{
int kills = 0;
long long last_kill_frameno = 0;
int damage_amount_in = 0;
int damage_amount_out = 0;
int heal_amount = 0;
int rescue_member = 0;
int rescue_guild_member = 0;
int history_time_alive = 0;
int history_kills = 0;
int history_damage_amount = 0;
int history_heal_amount = 0;
int gold = 0;
int score = 0;
std::vector<std::pair<int, int>> items;
int pass_score = 0;
int rank_score = 0;
std::vector<std::pair<int, int>> extra_drop;
int killer_id = 0;
std::string killer_name;
int weapon_id = 0;
int rank = 0;
int skill_times = 0;
int dead_times = 0;
};
struct xtimer_list;
class CircleCollider;
class AabbCollider;
@ -100,7 +149,7 @@ class Human : public Creature
xtimer_list* downed_timer = nullptr;
std::set<Human*> kill_humans;
BornPoint* born_point = nullptr;
struct BornPoint* born_point = nullptr;
bool shot_start = false;
bool shot_hold = false;

View File

@ -12,6 +12,7 @@
#include "entityfactory.h"
#include "dummyentity.h"
#include "mapblock.h"
#include "roommgr.h"
const int MAP_GRID_WIDTH = 64;

View File

@ -18,7 +18,7 @@ class MapService;
class GridService;
class Room;
class MapBlock;
struct RoomInitInfo;
class MapInstance
{
public:

View File

@ -5,6 +5,7 @@
#include "mapinstance.h"
#include "metamgr.h"
#include "cs_proto.pb.h"
#include "roommgr.h"
void MapMgr::Init()
{

View File

@ -2,6 +2,7 @@
class MapInstance;
class Room;
struct RoomInitInfo;
class MapMgr : public a8::Singleton<MapMgr>
{
private:

View File

@ -21,6 +21,7 @@ class CircleCollider;
class AabbCollider;
class Bullet;
class RoomObstacle;
class MapService;
class Obstacle : public Entity
{
public:

View File

@ -6,6 +6,8 @@
#include "framemaker.h"
#include "gridservice.h"
#include "mapservice.h"
#include "gasdata.h"
#include "bornpoint.h"
namespace MetaData
{
@ -38,6 +40,37 @@ class Car;
class Hero;
class Incubator;
class Team;
class MapInstance;
struct RoomInitInfo;
struct ObstacleData
{
int flags = 0;
float health = 0.0f;
bool dead = false;
long long dead_frameno = 0;
int team_id = 0;
int master_id = 0;
int door_open_times = 0;
DoorState_e door_state = DoorStateClose;
std::map<int, std::tuple<long long, a8::Vec2>>* interaction_humans = nullptr;
};
struct Plane
{
a8::Vec2 start_point;
a8::Vec2 end_point;
a8::Vec2 dir;
a8::Vec2 curr_pos;
};
struct CarObject
{
int car_id = 0;
a8::Vec2 pos;
bool taken = false;
};
class Room
{
public:

View File

@ -8,6 +8,44 @@ namespace cs
class CMReconnect;
}
namespace MetaData
{
struct Map;
struct MapTplThing;
}
class GridService;
class MapService;
class MapInstance;
class Building;
struct RoomInitInfo
{
int room_idx = 0;
RoomMode_e room_mode = kChiJiMode;
long long room_uuid = 0;
RoomType_e room_type = RT_NewBrid;
int creator_game_times = 0;
int creator_register_time = 0;
int creator_proto_version = 0;
int creator_channel = 0;
bool force_entry_newbie_room = false;
int init_map_id = 0;
const MetaData::Map* map_meta = nullptr;
std::string map_tpl_name;
GridService* grid_service = nullptr;
MapService* map_service = nullptr;
MapInstance* map_instance = nullptr;
const std::vector<MetaData::MapTplThing*>* mini_room_spawn_points = nullptr;
const std::vector<MetaData::MapTplThing*>* normal_room_spawn_points = nullptr;
const std::vector<MetaData::MapTplThing*>* room_monster_spawn_points = nullptr;
const MetaData::MapTplThing* level0room_born_point_meta = nullptr;
const MetaData::MapTplThing* level1room_born_point_meta = nullptr;
const std::vector<MetaData::MapTplThing*>* loots = nullptr;
const std::vector<Building*>* buildings = nullptr;
const std::vector<MetaData::MapTplThing*>* level0room_spec_things = nullptr;
};
class Room;
class RoomMgr : public a8::Singleton<RoomMgr>
{

10
server/gameserver/skin.cc Normal file
View File

@ -0,0 +1,10 @@
#include "precompile.h"
#include "cs_proto.pb.h"
#include "skin.h"
void Skin::ToPB(cs::MFSkin* pb_obj)
{
pb_obj->set_skin_id(skin_id);
pb_obj->set_skin_lv(skin_lv);
}

10
server/gameserver/skin.h Normal file
View File

@ -0,0 +1,10 @@
#pragma once
struct Skin
{
int tank_uniid = 0;
int skin_id = 0;
int skin_lv = 0;
void ToPB(cs::MFSkin* pb_obj);
};

View File

@ -3,6 +3,7 @@
namespace MetaData
{
struct Buff;
struct Equip;
};
class Weapon;

View File

@ -1,107 +1,3 @@
#include "precompile.h"
#include "cs_proto.pb.h"
#include "metamgr.h"
void Weapon::Clear()
{
weapon_id = 0;
weapon_lv = 0;
ammo = 0;
meta = 0;
bullet_meta = nullptr;
upgrade_meta = nullptr;
}
void Weapon::ToPB(cs::MFWeapon* pb_obj)
{
pb_obj->set_weapon_id(weapon_id);
pb_obj->set_weapon_lv(weapon_lv);
pb_obj->set_ammo(ammo);
}
void Weapon::Recalc()
{
upgrade_meta = MetaMgr::Instance()->GetEquipUpgrade(weapon_id);
bullet_meta = MetaMgr::Instance()->GetEquip(meta->i->use_bullet());
}
int Weapon::GetClipVolume()
{
if (upgrade_meta) {
return meta->i->clip_volume() +
upgrade_meta->GetAttrValue(weapon_lv, kHAT_Volume);
} else {
return meta->i->clip_volume();
}
}
float Weapon::GetAttrValue(HumanAttrType_e attr_type)
{
if (!meta) {
return 0;
}
switch (attr_type) {
case kHAT_Atk:
{
return meta->i->atk() +
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
case kHAT_FireRate:
{
return meta->i->fire_rate() -
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
case kHAT_Volume:
{
return meta->i->clip_volume() +
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
case kHAT_MaxHp:
{
return meta->i->max_hp() +
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
case kHAT_ReloadTime:
{
return meta->i->reload_time() -
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
default:
return 0;
}
}
void Skin::ToPB(cs::MFSkin* pb_obj)
{
pb_obj->set_skin_id(skin_id);
pb_obj->set_skin_lv(skin_lv);
}
a8::Vec2 BornPoint::RandPoint() const
{
a8::Vec2 born_point = a8::Vec2(thing_tpl->i->x(), thing_tpl->i->y());
MetaData::Player* hum_meta = MetaMgr::Instance()->GetPlayer(40002);
if (hum_meta) {
born_point.x -= thing_tpl->i->width() / 2;
born_point.y -= thing_tpl->i->height() / 2;
born_point.x += hum_meta->i->radius() / 2;
born_point.y += hum_meta->i->radius() / 2;
int rand_x = thing_tpl->i->width() - hum_meta->i->radius();
int rand_y = thing_tpl->i->height() - hum_meta->i->radius();
if (rand_x > 0) {
born_point.x += rand() % rand_x;
}
if (rand_y > 0) {
born_point.y += rand() % rand_y;
}
}
return born_point;
}

View File

@ -1,212 +1 @@
#pragma once
namespace MetaData
{
struct Map;
struct SafeArea;
struct SafeAreaPos;
struct Equip;
struct EquipUpgrade;
struct MapTplThing;
}
namespace cs
{
class MFWeapon;
class MFSkin;
}
struct GasData
{
GasMode_e gas_mode = GasInactive;
a8::Vec2 pos_old;
a8::Vec2 pos_old_bk;
a8::Vec2 pre_pos_old;
a8::Vec2 pos_new;
float rad_old = 0.0f;
float rad_new = 0.0f;
float gas_progress = 0.0f;
long long gas_start_frameno = 0;
MetaData::SafeArea* old_area_meta = nullptr;
MetaData::SafeArea* new_area_meta = nullptr;
MetaData::SafeAreaPos* pos_list = nullptr;
bool is_last_gas = false;
int gas_count = 0;
};
struct Weapon
{
int weapon_idx = 0;
int weapon_id = 0;
int weapon_lv = 0;
int ammo = 0;
MetaData::Equip* meta = nullptr;
MetaData::Equip* bullet_meta = nullptr;
void Clear();
void ToPB(cs::MFWeapon* pb_obj);
void Recalc();
int GetClipVolume();
float GetAttrValue(HumanAttrType_e attr_type);
MetaData::EquipUpgrade* GetUpgradeMeta() { return upgrade_meta;}
private:
MetaData::EquipUpgrade* upgrade_meta = nullptr;
};
struct Skin
{
int tank_uniid = 0;
int skin_id = 0;
int skin_lv = 0;
void ToPB(cs::MFSkin* pb_obj);
};
struct PlayerStats
{
int kills = 0;
long long last_kill_frameno = 0;
int damage_amount_in = 0;
int damage_amount_out = 0;
int heal_amount = 0;
int rescue_member = 0;
int rescue_guild_member = 0;
int history_time_alive = 0;
int history_kills = 0;
int history_damage_amount = 0;
int history_heal_amount = 0;
int gold = 0;
int score = 0;
std::vector<std::pair<int, int>> items;
int pass_score = 0;
int rank_score = 0;
std::vector<std::pair<int, int>> extra_drop;
int killer_id = 0;
std::string killer_name;
int weapon_id = 0;
int rank = 0;
int skill_times = 0;
int dead_times = 0;
};
struct CarObject
{
int car_id = 0;
a8::Vec2 pos;
bool taken = false;
};
struct BornPoint
{
MetaData::MapTplThing* thing_tpl = nullptr;
int player_num = 0;
int android_num = 0;
a8::Vec2 RandPoint() const;
};
struct Plane
{
a8::Vec2 start_point;
a8::Vec2 end_point;
a8::Vec2 dir;
a8::Vec2 curr_pos;
};
struct HumanAbility
{
float hp = 0.0f;
float max_hp = 0.0f;
float hp_recover = 0.0f;
float atk = 0.0f;
float def = 0.0f;
float speed = 0.0f;
float shot_range = 0.0f;
float shot_speed = 0.0f;
float reload_speed = 0.0f;
float fire_rate = 0.0f;
};
struct HumanBehavior
{
long long curr_start_destory_box_frameno = 0;
int curr_destory_box_times = 0;
int total_destory_box_times = 0;
};
struct ObstacleData
{
int flags = 0;
float health = 0.0f;
bool dead = false;
long long dead_frameno = 0;
int team_id = 0;
int master_id = 0;
int door_open_times = 0;
DoorState_e door_state = DoorStateClose;
std::map<int, std::tuple<long long, a8::Vec2>>* interaction_humans = nullptr;
};
struct KillInfo
{
int killer_id = 0;
int killer_team_id = 0;
int weapon_id = 0;
std::string msg;
};
struct Inventory
{
int slot = 0;
int num = 0;
int itemid = 0;
};
#pragma pack(1)
struct ObjectSyncFlags
{
unsigned char flags = 0;
unsigned char last_sync_frameno = 0;
};
#pragma pack()
class GridService;
class MapService;
class MapInstance;
class Building;
struct RoomInitInfo
{
int room_idx = 0;
RoomMode_e room_mode = kChiJiMode;
long long room_uuid = 0;
RoomType_e room_type = RT_NewBrid;
int creator_game_times = 0;
int creator_register_time = 0;
int creator_proto_version = 0;
int creator_channel = 0;
bool force_entry_newbie_room = false;
int init_map_id = 0;
const MetaData::Map* map_meta = nullptr;
std::string map_tpl_name;
GridService* grid_service = nullptr;
MapService* map_service = nullptr;
MapInstance* map_instance = nullptr;
const std::vector<MetaData::MapTplThing*>* mini_room_spawn_points = nullptr;
const std::vector<MetaData::MapTplThing*>* normal_room_spawn_points = nullptr;
const std::vector<MetaData::MapTplThing*>* room_monster_spawn_points = nullptr;
const MetaData::MapTplThing* level0room_born_point_meta = nullptr;
const MetaData::MapTplThing* level1room_born_point_meta = nullptr;
const std::vector<MetaData::MapTplThing*>* loots = nullptr;
const std::vector<Building*>* buildings = nullptr;
const std::vector<MetaData::MapTplThing*>* level0room_spec_things = nullptr;
};

View File

@ -0,0 +1,79 @@
#include "precompile.h"
#include "weapon.h"
#include "cs_proto.pb.h"
#include "metamgr.h"
void Weapon::Clear()
{
weapon_id = 0;
weapon_lv = 0;
ammo = 0;
meta = 0;
bullet_meta = nullptr;
upgrade_meta = nullptr;
}
void Weapon::ToPB(cs::MFWeapon* pb_obj)
{
pb_obj->set_weapon_id(weapon_id);
pb_obj->set_weapon_lv(weapon_lv);
pb_obj->set_ammo(ammo);
}
void Weapon::Recalc()
{
upgrade_meta = MetaMgr::Instance()->GetEquipUpgrade(weapon_id);
bullet_meta = MetaMgr::Instance()->GetEquip(meta->i->use_bullet());
}
int Weapon::GetClipVolume()
{
if (upgrade_meta) {
return meta->i->clip_volume() +
upgrade_meta->GetAttrValue(weapon_lv, kHAT_Volume);
} else {
return meta->i->clip_volume();
}
}
float Weapon::GetAttrValue(HumanAttrType_e attr_type)
{
if (!meta) {
return 0;
}
switch (attr_type) {
case kHAT_Atk:
{
return meta->i->atk() +
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
case kHAT_FireRate:
{
return meta->i->fire_rate() -
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
case kHAT_Volume:
{
return meta->i->clip_volume() +
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
case kHAT_MaxHp:
{
return meta->i->max_hp() +
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
case kHAT_ReloadTime:
{
return meta->i->reload_time() -
(upgrade_meta ? upgrade_meta->GetAttrValue(weapon_lv, attr_type) : 0);
}
break;
default:
return 0;
}
}

View File

@ -0,0 +1,33 @@
#pragma once
namespace cs
{
class MFWeapon;
class MFSkin;
}
namespace MetaData
{
struct Equip;
struct EquipUpgrade;
}
struct Weapon
{
int weapon_idx = 0;
int weapon_id = 0;
int weapon_lv = 0;
int ammo = 0;
MetaData::Equip* meta = nullptr;
MetaData::Equip* bullet_meta = nullptr;
void Clear();
void ToPB(cs::MFWeapon* pb_obj);
void Recalc();
int GetClipVolume();
float GetAttrValue(HumanAttrType_e attr_type);
MetaData::EquipUpgrade* GetUpgradeMeta() { return upgrade_meta;}
private:
MetaData::EquipUpgrade* upgrade_meta = nullptr;
};

View File

@ -1154,6 +1154,7 @@ message SMGameOver
optional bool victory = 5; //
optional int32 total_human_num = 12; //
optional int32 alive_human_num = 13; //
optional int32 watchable = 8; //
repeated MFPlayerStats player_stats = 6; //
optional string room_uuid = 7; //id