Skip to content

Commit

Permalink
xrAICore: now build on Linux
Browse files Browse the repository at this point in the history
  • Loading branch information
eagleivg committed Jun 12, 2018
1 parent 3e74439 commit 1b8ecad
Show file tree
Hide file tree
Showing 27 changed files with 265 additions and 271 deletions.
2 changes: 2 additions & 0 deletions src/Common/PlatformLinux.inl
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,9 @@ typedef dirent DirEntryType;
#define stricmp strcasecmp
#define strncpy_s(dest, size, source, num) (NULL == strncpy(dest, source, num))
#define strcpy_s(dest, num, source) (NULL == strcpy(dest, source))
#define strcat_s(dest, num, source) (dest == strcat(dest, source))
#define _vsnprintf vsnprintf
#define vsprintf_s(dest, size, format, args) vsprintf(dest, format, args)
#define _alloca alloca
#define _snprintf snprintf
#define sprintf_s(buffer, buffer_size, stringbuffer, ...) sprintf(buffer, stringbuffer, ##__VA_ARGS__)
Expand Down
4 changes: 2 additions & 2 deletions src/Common/object_loader.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ struct CLoader
template <bool pointer>
static void load_data(std::enable_if_t<!pointer, T&> data, M& stream, const P& p)
{
CHelper1<T>::load_data<object_type_traits::is_base_and_derived<ISerializable, T>::value>(data, stream, p);
CHelper1<T>::template load_data<object_type_traits::is_base_and_derived<ISerializable, T>::value>(data, stream, p);
}

template <bool pointer>
Expand Down Expand Up @@ -117,7 +117,7 @@ struct CLoader
template <bool a>
static void load_data(std::enable_if_t<!a, T&> data, M& stream, const P& p)
{
CHelper<T>::load_data<object_type_traits::is_pointer<T>::value>(data, stream, p);
CHelper<T>::template load_data<object_type_traits::is_pointer<T>::value>(data, stream, p);
}

template <bool a>
Expand Down
22 changes: 11 additions & 11 deletions src/xrAICore/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
project(xrAICore)

list(APPEND DIRS
"."
"Components"
"Navigation"
"Navigation/PatrolPath"
"Navigation/PathManagers"
)
"."
"Components"
"Navigation"
"Navigation/PatrolPath"
"Navigation/PathManagers"
)

add_dir("${DIRS}")

include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/..
${CMAKE_CURRENT_SOURCE_DIR}/../../Externals/luabind
${CMAKE_CURRENT_SOURCE_DIR}/../../sdk/include
)
${CMAKE_CURRENT_SOURCE_DIR}/..
${CMAKE_CURRENT_SOURCE_DIR}/../../Externals/luabind
${CMAKE_CURRENT_SOURCE_DIR}/../../sdk/include
)

#foreach(header ${${PROJECT_NAME}__INCLUDES})
# if (${header} MATCHES _inline.h$)
Expand All @@ -26,4 +26,4 @@ add_definitions(-DXRAICORE_EXPORTS -DAI_COMPILER -D_SECURE_SCL=0)
add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}__SOURCES} ${${PROJECT_NAME}__INCLUDES})

set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
target_link_libraries(${PROJECT_NAME} xrCore xrAPI xrScriptEngine luabind LuaJIT)
target_link_libraries(${PROJECT_NAME} xrCore xrAPI xrScriptEngine luabind luajit)
16 changes: 8 additions & 8 deletions src/xrAICore/Components/condition_state.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,26 @@ class CConditionState
typedef _world_property COperatorCondition;

protected:
xr_vector<COperatorCondition> m_conditions;
xr_vector<_world_property> m_conditions;
u32 m_hash;

public:
IC CConditionState();
IC virtual ~CConditionState();
IC const xr_vector<COperatorCondition>& conditions() const;
IC u8 weight(const CConditionState& condition) const;
IC void add_condition(const COperatorCondition& condition);
IC void remove_condition(const typename COperatorCondition::_condition_type& condition);
IC const xr_vector<_world_property>& conditions() const;
IC u8 weight(const _world_property& condition) const;
IC void add_condition(const _world_property& condition);
IC void remove_condition(const typename _world_property::condition_type& condition);
IC void add_condition(
typename xr_vector<COperatorCondition>::const_iterator& J, const COperatorCondition& condition);
IC void add_condition_back(const COperatorCondition& condition);
typename xr_vector<_world_property>::const_iterator& J, const _world_property& condition);
IC void add_condition_back(const _world_property& condition);
IC bool includes(const CConditionState& condition) const;
IC void clear();
IC bool operator<(const CConditionState& condition) const;
IC CConditionState<_world_property>& operator-=(const CConditionState& condition);
IC bool operator==(const CConditionState& condition) const;
IC u32 hash_value() const;
IC const COperatorCondition* property(const typename COperatorCondition::_condition_type& condition) const;
IC const _world_property* property(const typename _world_property::condition_type& condition) const;
};

#include "xrAICore/Components/condition_state_inline.h"
68 changes: 34 additions & 34 deletions src/xrAICore/Components/condition_state_inline.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,41 +22,41 @@ IC CConditionStateAbstract::CConditionState()
TEMPLATE_SPECIALIZATION
CConditionStateAbstract::~CConditionState() {}
TEMPLATE_SPECIALIZATION
IC const xr_vector<typename CConditionStateAbstract::COperatorCondition>& CConditionStateAbstract::conditions() const
IC const xr_vector<_world_property>& CConditionStateAbstract::conditions() const
{
return (m_conditions);
}

TEMPLATE_SPECIALIZATION
IC void CConditionStateAbstract::add_condition_back(const COperatorCondition& condition)
IC void CConditionStateAbstract::add_condition_back(const _world_property& condition)
{
THROW(m_conditions.empty() || (m_conditions.back().condition() < condition.condition()));
m_conditions.push_back(condition);
m_hash ^= condition.hash_value();
}

TEMPLATE_SPECIALIZATION
IC void CConditionStateAbstract::add_condition(const COperatorCondition& condition)
IC void CConditionStateAbstract::add_condition(const _world_property& condition)
{
typename xr_vector<COperatorCondition>::iterator I = std::lower_bound(m_conditions.begin(), m_conditions.end(), condition);
typename xr_vector<_world_property>::iterator I = std::lower_bound(m_conditions.begin(), m_conditions.end(), condition);
THROW((I == m_conditions.end()) || ((*I).condition() != condition.condition()));
m_conditions.insert(I, condition);
m_hash ^= condition.hash_value();
}

TEMPLATE_SPECIALIZATION
IC void CConditionStateAbstract::remove_condition(const typename COperatorCondition::_condition_type& condition)
IC void CConditionStateAbstract::remove_condition(const typename _world_property::condition_type& condition)
{
typename xr_vector<COperatorCondition>::iterator I = std::lower_bound(
m_conditions.begin(), m_conditions.end(), COperatorCondition(condition, COperatorCondition::_value_type(0)));
typename xr_vector<_world_property>::iterator I = std::lower_bound(
m_conditions.begin(), m_conditions.end(), _world_property(condition, typename _world_property::value_type(0)));
THROW((I != m_conditions.end()) && ((*I).condition() == condition));
m_hash ^= (*I).hash_value();
m_conditions.erase(I);
}

TEMPLATE_SPECIALIZATION
IC void CConditionStateAbstract::add_condition(
typename xr_vector<COperatorCondition>::const_iterator& J, const COperatorCondition& condition)
typename xr_vector<_world_property>::const_iterator& J, const _world_property& condition)
{
m_conditions.insert(m_conditions.begin() + (J - m_conditions.begin()), condition);
m_hash ^= condition.hash_value();
Expand All @@ -70,13 +70,13 @@ IC void CConditionStateAbstract::clear()
}

TEMPLATE_SPECIALIZATION
IC u8 CConditionStateAbstract::weight(const CConditionState& condition) const
IC u8 CConditionStateAbstract::weight(const _world_property& condition) const
{
u8 result = 0;
typename xr_vector<COperatorCondition>::const_iterator I = conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator E = conditions().end();
typename xr_vector<COperatorCondition>::const_iterator i = condition.conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator e = condition.conditions().end();
typename xr_vector<_world_property>::const_iterator I = conditions().begin();
typename xr_vector<_world_property>::const_iterator E = conditions().end();
typename xr_vector<_world_property>::const_iterator i = condition.conditions().begin();
typename xr_vector<_world_property>::const_iterator e = condition.conditions().end();
for (; (I != E) && (i != e);)
if ((*I).condition() < (*i).condition())
++I;
Expand All @@ -95,10 +95,10 @@ IC u8 CConditionStateAbstract::weight(const CConditionState& condition) const
TEMPLATE_SPECIALIZATION
IC bool CConditionStateAbstract::operator<(const CConditionState& condition) const
{
typename xr_vector<COperatorCondition>::const_iterator I = conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator E = conditions().end();
typename xr_vector<COperatorCondition>::const_iterator i = condition.conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator e = condition.conditions().end();
typename xr_vector<_world_property>::const_iterator I = conditions().begin();
typename xr_vector<_world_property>::const_iterator E = conditions().end();
typename xr_vector<_world_property>::const_iterator i = condition.conditions().begin();
typename xr_vector<_world_property>::const_iterator e = condition.conditions().end();
for (; (I != E) && (i != e); ++I, ++i)
if (*I < *i)
return (true);
Expand All @@ -118,10 +118,10 @@ IC bool CConditionStateAbstract::operator==(const CConditionState& condition) co
{
if (hash_value() != condition.hash_value())
return (false);
typename xr_vector<COperatorCondition>::const_iterator I = conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator E = conditions().end();
typename xr_vector<COperatorCondition>::const_iterator i = condition.conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator e = condition.conditions().end();
typename xr_vector<_world_property>::const_iterator I = conditions().begin();
typename xr_vector<_world_property>::const_iterator E = conditions().end();
typename xr_vector<_world_property>::const_iterator i = condition.conditions().begin();
typename xr_vector<_world_property>::const_iterator e = condition.conditions().end();
for (; (I != E) && (i != e); ++I, ++i)
if (!(*I == *i))
return (false);
Expand All @@ -134,11 +134,11 @@ TEMPLATE_SPECIALIZATION
IC CConditionState<_world_property>& CConditionStateAbstract::operator-=(const CConditionState& condition)
{
m_hash = 0;
xr_vector<COperatorCondition> temp;
typename xr_vector<COperatorCondition>::const_iterator I = conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator E = conditions().end();
typename xr_vector<COperatorCondition>::const_iterator i = condition.conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator e = condition.conditions().end();
xr_vector<_world_property> temp;
typename xr_vector<_world_property>::const_iterator I = conditions().begin();
typename xr_vector<_world_property>::const_iterator E = conditions().end();
typename xr_vector<_world_property>::const_iterator i = condition.conditions().begin();
typename xr_vector<_world_property>::const_iterator e = condition.conditions().end();
for (; (I != E) && (i != e);)
if ((*I).condition() < (*i).condition())
++I;
Expand All @@ -161,10 +161,10 @@ IC CConditionState<_world_property>& CConditionStateAbstract::operator-=(const C
TEMPLATE_SPECIALIZATION
IC bool CConditionStateAbstract::includes(const CConditionState& condition) const
{
typename xr_vector<COperatorCondition>::const_iterator I = conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator E = conditions().end();
typename xr_vector<COperatorCondition>::const_iterator i = condition.conditions().begin();
typename xr_vector<COperatorCondition>::const_iterator e = condition.conditions().end();
typename xr_vector<_world_property>::const_iterator I = conditions().begin();
typename xr_vector<_world_property>::const_iterator E = conditions().end();
typename xr_vector<_world_property>::const_iterator i = condition.conditions().begin();
typename xr_vector<_world_property>::const_iterator e = condition.conditions().end();
for (; (I != E) && (i != e);)
if ((*I).condition() < (*i).condition())
++I;
Expand All @@ -183,11 +183,11 @@ IC bool CConditionStateAbstract::includes(const CConditionState& condition) cons
TEMPLATE_SPECIALIZATION
IC u32 CConditionStateAbstract::hash_value() const { return (m_hash); }
TEMPLATE_SPECIALIZATION
IC const typename CConditionStateAbstract::COperatorCondition* CConditionStateAbstract::property(
const typename CConditionStateAbstract::COperatorCondition::_condition_type& condition) const
IC const _world_property* CConditionStateAbstract::property(
const typename _world_property::condition_type& condition) const
{
typename xr_vector<COperatorCondition>::const_iterator I = std::lower_bound(
conditions().begin(), conditions().end(), COperatorCondition(condition, COperatorCondition::_value_type(0)));
typename xr_vector<_world_property>::const_iterator I = std::lower_bound(
conditions().begin(), conditions().end(), _world_property(condition, typename _world_property::value_type(0)));
if (I == m_conditions.end())
return (0);
else
Expand Down
3 changes: 0 additions & 3 deletions src/xrAICore/Components/operator_abstract.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@
template <typename _world_property, typename _edge_value_type>
class COperatorAbstract
{
public:
typedef _edge_value_type _edge_value_type;

protected:
typedef CConditionState<_world_property> inherited;
typedef inherited CSConditionState;
Expand Down
Loading

0 comments on commit 1b8ecad

Please sign in to comment.