diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e8240ce..ad171eab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ cmake_minimum_required (VERSION 2.8) # set(CMAKE_CONFIGURATION_TYPES "Debug;Release;Profile" CACHE STRING "" FORCE) set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE) -set (BEHAVIAC_PACKAGE_VERSION 3.6.28) +set (BEHAVIAC_PACKAGE_VERSION 3.6.29) #option( BUILD_SHARED_LIBS "set to OFF to build static libraries" ON ) SET(BUILD_SHARED_LIBS ON CACHE BOOL "set to OFF to build static libraries") @@ -267,11 +267,12 @@ set (COMPILE_POSTFIX "") if(MSVC OR BEHAVIAC_ANDROID_ON) message(STATUS "set msvc flags") # Force to always compile with W4 - if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") - STRING(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - endif() + # if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") + # STRING(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + # else() + # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") + # endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") #warning treated as error set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") diff --git a/README.md b/README.md index e9bb72e1..b0eba80e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://github.com/Tencent/behaviac/blob/master/license.txt) -[![Release Version](https://img.shields.io/badge/release-3.6.28-red.svg)](https://github.com/Tencent/behaviac/releases) +[![Release Version](https://img.shields.io/badge/release-3.6.29-red.svg)](https://github.com/Tencent/behaviac/releases) [![Updates](https://img.shields.io/badge/Platform-%20iOS%20%7C%20OS%20X%20%7C%20Android%20%7C%20Windows%20%7C%20Linux%20-brightgreen.svg)](https://github.com/Tencent/behaviac/blob/master/history.txt) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Tencent/behaviac/pulls) -##[访问http://www.behaviac.com/获取文档,教程,API,FAQ,源码,下载等一切相关资料](http://www.behaviac.com/) +## [访问http://www.behaviac.com/获取文档,教程,API,FAQ,源码,下载等一切相关资料](http://www.behaviac.com/) - behaviac是游戏AI的开发框架组件,也是游戏原型的快速设计工具 - 支持行为树BT,状态机FSM,HTN等多种范式 @@ -16,7 +16,7 @@ --------------------------------------------- -##[Visist http://www.behaviac.com/ for documents, tutorials, FAQs and all other information](http://www.behaviac.com/) +## [Visist http://www.behaviac.com/ for documents, tutorials, FAQs and all other information](http://www.behaviac.com/) - behaviac is a framework of the game AI development, and it also can be used as a rapid game prototype design tool - behaviac supports the behavior tree, finite state machine and hierarchical task network diff --git a/docs/behaviac.chm b/docs/behaviac.chm index 8b841110..f335146e 100644 Binary files a/docs/behaviac.chm and b/docs/behaviac.chm differ diff --git a/history.txt b/history.txt index b22c75e2..a0ad4944 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,6 @@ +2017-4-11 3.6.29 + Fix a bug of compiling error for GCC. + 2017-4-10 3.6.28 Improve generating the codes for the struct. Add tutorial_8 and tutorial_9. diff --git a/inc/behaviac/common/_config.h b/inc/behaviac/common/_config.h index c7bd374a..a04830dc 100644 --- a/inc/behaviac/common/_config.h +++ b/inc/behaviac/common/_config.h @@ -11,5 +11,5 @@ #define BEHAVIAC_RELEASE 0 #endif -#define BEHAVIAC_VERSION_STRING "3.6.28" +#define BEHAVIAC_VERSION_STRING "3.6.29" diff --git a/inc/behaviac/common/factory.h b/inc/behaviac/common/factory.h index 4d605def..b990c90a 100644 --- a/inc/behaviac/common/factory.h +++ b/inc/behaviac/common/factory.h @@ -67,7 +67,7 @@ namespace behaviac { } }; - typedef FactoryContainer_t::iterator CreatorIt; + typedef FactoryContainer_t::iterator IteratorCreator; BEHAVIAC_API bool FactoryRegister_(FactoryContainer_t* creators, const CStringCRC& typeID, void* typeConstructor); BEHAVIAC_API bool FactoryUnregister_(FactoryContainer_t* creators, const CStringCRC& typeID); @@ -90,21 +90,20 @@ namespace behaviac { public: virtual ~CFactory() { - CreatorIt it(creators_.begin()); - CreatorIt itEnd(creators_.end()); + IteratorCreator it(creators_list_.begin()); + IteratorCreator itEnd(creators_list_.end()); while (it != itEnd) { SFactoryBag_t& item = *it++; BEHAVIAC_FREE(item.m_typeConstructor); } - creators_.m_vector.clear(); + creators_list_.m_vector.clear(); } - virtual T* CreateObject(const CStringCRC& typeID); - typedef T* (*InstantiateFunctionPointer)(const CStringCRC& typeID); + bool IsRegistered(const CStringCRC& typeID); bool Register(const CStringCRC& typeID, InstantiateFunctionPointer instantiate, bool overwrite = false); bool UnRegister(const CStringCRC& typeID); @@ -113,97 +112,98 @@ namespace behaviac { typedef CConstructType FinalType; void* p = BEHAVIAC_MALLOC(sizeof(FinalType)); IConstructType* typeConstructor = new(p)FinalType; - return FactoryRegister_(&creators_, FINAL_TYPE::GetClassTypeId(), typeConstructor); + return FactoryRegister_(&creators_list_, FINAL_TYPE::GetClassTypeId(), typeConstructor); } template< typename FINAL_TYPE > bool UnRegister() { - return FactoryUnregister_(&creators_, FINAL_TYPE::GetClassTypeId()); + return FactoryUnregister_(&creators_list_, FINAL_TYPE::GetClassTypeId()); } - bool IsRegistered(const CStringCRC& typeID); - + virtual T* CreateObject(const CStringCRC& typeID); private: - FactoryContainer_t creators_; + FactoryContainer_t creators_list_; }; template< typename T > BEHAVIAC_FORCEINLINE bool CFactory::IsRegistered(const CStringCRC& typeID) { - creators_.Lock(); + creators_list_.Lock(); SFactoryBag_t bucket(typeID, NULL); - CreatorIt itEnd(creators_.end()); - CreatorIt itFound(std::find(creators_.begin(), itEnd, bucket)); + IteratorCreator itEnd(creators_list_.end()); + IteratorCreator itFound(std::find(creators_list_.begin(), itEnd, bucket)); if (itFound != itEnd) { - creators_.Unlock(); + creators_list_.Unlock(); return true; } else { - creators_.Unlock(); + creators_list_.Unlock(); return false; } } - template< typename T > - T* CFactory::CreateObject(const CStringCRC& typeID) { - creators_.Lock(); - SFactoryBag_t bucket(typeID, NULL); - CreatorIt itEnd(creators_.end()); - CreatorIt itFound(std::find(creators_.begin(), itEnd, bucket)); - - if (itFound != itEnd) { - IConstructType* contructType = (IConstructType*)(*itFound).m_typeConstructor; - creators_.Unlock(); - return contructType->Create(); - - } else { - BEHAVIAC_LOGWARNING("Trying to create an unregister type 0x%08X", typeID.GetUniqueID()); - - creators_.Unlock(); - return NULL; - } - } - template< typename T > bool CFactory::Register(const CStringCRC& typeID, InstantiateFunctionPointer instantiate, bool overwrite) { - creators_.Lock(); + creators_list_.Lock(); BEHAVIAC_ASSERT(instantiate); SFactoryBag_t bucket(typeID, (void*)instantiate); - CreatorIt itEnd(creators_.end()); - CreatorIt itFound(std::find(creators_.begin(), itEnd, bucket)); + IteratorCreator itEnd(creators_list_.end()); + IteratorCreator itFound(std::find(creators_list_.begin(), itEnd, bucket)); bool wasThere = (itFound != itEnd); if (!wasThere) { - creators_.push_back(bucket); + creators_list_.push_back(bucket); } else if (overwrite) { *itFound = bucket; - creators_.Unlock(); + creators_list_.Unlock(); return true; } else { BEHAVIAC_ASSERT(0, "Trying to register an already registered type %d", typeID.GetUniqueID()); } - creators_.Unlock(); + creators_list_.Unlock(); return !wasThere; } template< typename T > bool CFactory::UnRegister(const CStringCRC& typeID) { - creators_.Lock(); + creators_list_.Lock(); SFactoryBag_t bucket(typeID, NULL); - CreatorIt itEnd(creators_.end()); - CreatorIt itFound(std::find(creators_.begin(), itEnd, bucket)); + IteratorCreator itEnd(creators_list_.end()); + IteratorCreator itFound(std::find(creators_list_.begin(), itEnd, bucket)); if (itFound != itEnd) { - creators_.erase(itFound); - creators_.Unlock(); + creators_list_.erase(itFound); + creators_list_.Unlock(); return true; } BEHAVIAC_ASSERT("Cannot find the specified factory entry\n"); - creators_.Unlock(); + creators_list_.Unlock(); return false; } + + template< typename T > + T* CFactory::CreateObject(const CStringCRC& typeID) { + creators_list_.Lock(); + SFactoryBag_t bucket(typeID, NULL); + IteratorCreator itEnd(creators_list_.end()); + IteratorCreator itFound(std::find(creators_list_.begin(), itEnd, bucket)); + + if (itFound != itEnd) { + IConstructType* contructType = (IConstructType*)(*itFound).m_typeConstructor; + creators_list_.Unlock(); + return contructType->Create(); + + } + else { + BEHAVIAC_LOGWARNING("Trying to create an unregister type 0x%08X", typeID.GetUniqueID()); + + creators_list_.Unlock(); + return NULL; + } + } + }// #endif //_BEHAVIAC_COMMON_FACTORY_H_ diff --git a/inc/behaviac/common/object/tagobject.h b/inc/behaviac/common/object/tagobject.h index 4c5534c6..8b6b4930 100644 --- a/inc/behaviac/common/object/tagobject.h +++ b/inc/behaviac/common/object/tagobject.h @@ -160,7 +160,7 @@ namespace behaviac { } \ behaviac::string ToString() const \ { \ - return behaviac::StringUtils::ToString_Struct(*this); \ + return behaviac::StringUtils::ToString_Struct(*this, this->GetClassTypeName());\ } ///////////////////////////////////////////////////////////////////////////////////////// @@ -180,8 +180,6 @@ namespace behaviac { const char* szClassName = behaviac::GetClassTypeName((classFullNameWithNamespace*)0);\ behaviac::CTagObject::Save((behaviac::CTagObject*)this, node, szClassName); \ } \ - static bool IsOfMyKind(const behaviac::CTagObject*) \ - { return true; } \ static const char* GetClassTypeName() { return #classFullNameWithNamespace; } #define DECLARE_BEHAVIAC_OBJECT_STRUCT_V1(classFullNameWithNamespace) DECLARE_BEHAVIAC_OBJECT_STRUCT_V2(classFullNameWithNamespace, false) @@ -230,8 +228,6 @@ namespace behaviac { //in general, please use DECLARE_BEHAVIAC_STRUCT, unless you know what you are doing #define BEHAVIAC_DECLARE_OBJECT(classFullNameWithNamespace) \ DECLARE_BEHAVIAC_OBJECT_BASE(classFullNameWithNamespace, false) \ - static bool IsOfMyKind(const behaviac::CTagObject*) \ - { return true; } \ static const char* GetClassTypeName() \ { return #classFullNameWithNamespace; } diff --git a/inc/behaviac/common/rttibase.h b/inc/behaviac/common/rttibase.h index 9166da87..c5de5cbd 100644 --- a/inc/behaviac/common/rttibase.h +++ b/inc/behaviac/common/rttibase.h @@ -114,13 +114,6 @@ namespace behaviac { return other; } - static CRTTIBase* StaticCast(CRTTIBase* other) { - return other; - } - static const CRTTIBase* StaticCast(const CRTTIBase* other) { - return other; - } - bool IsAKindOf(const behaviac::CStringCRC& typeId) const { const CLayerInfo* info = GetHierarchyInfo(); @@ -152,9 +145,6 @@ namespace behaviac { return false; } - template inline static bool CallParent(T handler) { - return false; - } }; template @@ -307,58 +297,15 @@ namespace behaviac { return ret; } -#ifdef BEHAVIAC_DEBUG_DEFINED - template class TTemplateClassDetector {}; - - template class TClass> - class TTemplateClassDetector< TClass > { - typename TClass::You_are_using_the_wrong_macro__use__BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE1__instead m_member; - }; - - template class TClass> - class TTemplateClassDetector< TClass > { - typename TClass::You_are_using_the_wrong_macro__use__BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE2__instead m_member; - }; - - template class TClass> - class TTemplateClassDetector< TClass > { - typename TClass::You_are_using_the_wrong_macro__use__BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE3__instead m_member; - }; - - template class TClass> - class TTemplateClassDetector< TClass > { - typename TClass::You_are_using_the_wrong_macro__use__BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE4__instead m_member; - }; - - template class TClass> - class TTemplateClassDetector< TClass > { - typename TClass::You_are_using_the_wrong_macro__use__BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE5__instead m_member; - }; -#endif }// -#ifdef BEHAVIAC_DEBUG_DEFINED #define BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_TYPE_COMPOSER(__type) \ public: \ static const char* GetClassTypeName() \ { \ - behaviac::TTemplateClassDetector< __type > templateClassDetector; \ - BEHAVIAC_UNUSED_VAR(templateClassDetector); \ - \ return #__type; \ } -#else // #ifdef BEHAVIAC_DEBUG_DEFINED - -#define BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_TYPE_COMPOSER(__type) \ - public: \ - static const char* GetClassTypeName() \ - { \ - return #__type; \ - } - -#endif // #ifdef BEHAVIAC_DEBUG_DEFINED - //BEHAVIAC_OVERRIDE_TYPE_NAME_ can't be placed in a namespace #define BEHAVIAC_OVERRIDE_TYPE_NAME_(typeFullClassNameWithNamespace, szCassTypeName) \ namespace behaviac { \ @@ -370,80 +317,13 @@ namespace behaviac { #define BEHAVIAC_OVERRIDE_TYPE_NAME(typeFullNameWithNamespace) BEHAVIAC_OVERRIDE_TYPE_NAME_(typeFullNameWithNamespace, typeFullNameWithNamespace) namespace behaviac { - BEHAVIAC_API char* GenerateString1(const char* aT1, const char* aT2); - BEHAVIAC_API char* GenerateString2(const char* aT1, const char* aT2, const char* aT3); - BEHAVIAC_API char* GenerateString3(const char* aT1, const char* aT2, const char* aT3, const char* aT4); - BEHAVIAC_API char* GenerateString4(const char* aT1, const char* aT2, const char* aT3, const char* aT4, const char* aT5); - BEHAVIAC_API char* GenerateString5(const char* aT1, const char* aT2, const char* aT3, const char* aT4, const char* aT5, const char* aT6); - - class CRTTIBaseAutoFreeChar { - public: - CRTTIBaseAutoFreeChar(char* str) : m_str(str) {} - BEHAVIAC_API ~CRTTIBaseAutoFreeChar(); - char* m_str; - }; + BEHAVIAC_API char* MakeStringName1(const char* aT1, const char* aT2); + BEHAVIAC_API char* MakeStringName2(const char* aT1, const char* aT2, const char* aT3); + BEHAVIAC_API char* MakeStringName3(const char* aT1, const char* aT2, const char* aT3, const char* aT4); + BEHAVIAC_API char* MakeStringName4(const char* aT1, const char* aT2, const char* aT3, const char* aT4, const char* aT5); + BEHAVIAC_API char* MakeStringName5(const char* aT1, const char* aT2, const char* aT3, const char* aT4, const char* aT5, const char* aT6); } -#define BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER1(__type, ARG1) \ - public: \ - static const char* GetClassTypeName() \ - { \ - static CRTTIBaseAutoFreeChar szCassTypeName(GenerateString1(#__type, behaviac::GetClassTypeName((ARG1*)0))); \ - return szCassTypeName.m_str; \ - } - -#define BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER2(__type, ARG1, ARG2) \ - public: \ - static const char* GetClassTypeName() \ - { \ - static CRTTIBaseAutoFreeChar szCassTypeName(GenerateString2(#__type, behaviac::GetClassTypeName((ARG1*)0), behaviac::GetClassTypeName((ARG2*)0))); \ - return szCassTypeName.m_str; \ - } - -#define BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER3(__type, ARG1, ARG2, ARG3) \ - public: \ - static const char* GetClassTypeName() \ - { \ - static CRTTIBaseAutoFreeChar szCassTypeName(GenerateString3(#__type, behaviac::GetClassTypeName((ARG1*)0), behaviac::GetClassTypeName((ARG2*)0), behaviac::GetClassTypeName((ARG3*)0))); \ - return szCassTypeName.m_str; \ - } - -#define BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER4(__type, ARG1, ARG2, ARG3, ARG4) \ - public: \ - static const char* GetClassTypeName() \ - { \ - static CRTTIBaseAutoFreeChar szCassTypeName(GenerateString4(#__type, behaviac::GetClassTypeName((ARG1*)0), behaviac::GetClassTypeName((ARG2*)0), behaviac::GetClassTypeName((ARG3*)0), behaviac::GetClassTypeName((ARG4*)0))); \ - return szCassTypeName.m_str; \ - } - -#define BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER5(__type, ARG1, ARG2, ARG3, ARG4, ARG5) \ - public: \ - static const char* GetClassTypeName() \ - { \ - static CRTTIBaseAutoFreeChar szCassTypeName(GenerateString5(#__type, behaviac::GetClassTypeName((ARG1*)0), behaviac::GetClassTypeName((ARG2*)0), behaviac::GetClassTypeName((ARG3*)0), behaviac::GetClassTypeName((ARG4*)0), behaviac::GetClassTypeName((ARG5*)0))); \ - return szCassTypeName.m_str(); \ - } - -#define BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE1(__template, ARG1, __parent) \ - BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER1(__template, ARG1); \ - BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_PUBLIC_METHODES(__template, __parent); - -#define BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE2(__template, ARG1,ARG2, __parent) \ - BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER2(__template, ARG1, ARG2); \ - BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_PUBLIC_METHODES(__template, __parent); - -#define BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE3(__template, ARG1,ARG2, ARG3, __parent) \ - BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER3(__template, ARG1, ARG2, ARG3); \ - BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_PUBLIC_METHODES(__template, __parent); - -#define BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE4(__template, ARG1,ARG2,ARG3,ARG4, __parent) \ - BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER4(__template, ARG1, ARG2,ARG3,ARG4); \ - BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_PUBLIC_METHODES(__template, __parent); - -#define BEHAVIAC_DECLARE_TEMPLATE_DYNAMIC_TYPE5(__template, ARG1,ARG2,ARG3,ARG4,ARG5, __parent) \ - BEHAVIAC_INTERNAL_DECLARE_TEMPLATE_DYNAMIC_TYPE_COMPOSER5(__template, ARG1, ARG2,ARG3, ARG4, ARG5); \ - BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_PUBLIC_METHODES(__template, __parent); - #define BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_PUBLIC_METHODES(__type, __parent) \ protected: \ static const uint32_t sm_HierarchyLevel = __parent::sm_HierarchyLevel + 1; \ @@ -496,38 +376,7 @@ namespace behaviac { return static_cast< const __type * >( other ); \ } \ return NULL; \ - } \ - static __type *StaticCast( CRTTIBase *other ) \ - { \ - BEHAVIAC_ASSERT(!other || DynamicCast(other));\ - return static_cast< __type * >( other ); \ - } \ - static const __type *StaticCast( const CRTTIBase *other ) \ - { \ - BEHAVIAC_ASSERT(!other || DynamicCast(other));\ - return static_cast< const __type * >( other ); \ - } \ - inline static bool IsOfMyKind( CRTTIBase *other ) \ - { \ - return (DynamicCast( other ) != NULL); \ - } \ - inline static bool IsOfMyKind( const CRTTIBase *other ) \ - { \ - return (DynamicCast( other ) != NULL); \ - } \ - inline static bool IsOfMyKind( CRTTIBase & other ) \ - { \ - return IsOfMyKind(&other); \ - } \ - inline static bool IsOfMyKind( const CRTTIBase & other ) \ - { \ - return IsOfMyKind(&other); \ - }\ - template inline static bool CallParent(__TypeOfHandler handler)\ - {\ - handler.template Call();\ - return true;\ - } + } #define BEHAVIAC_DECLARE_DYNAMIC_TYPE(__type, __parent) \ BEHAVIAC_INTERNAL_DECLARE_DYNAMIC_TYPE_COMPOSER(__type); \ diff --git a/inc/behaviac/common/string/fromstring.h b/inc/behaviac/common/string/fromstring.h index 9dea7624..afe63ff2 100644 --- a/inc/behaviac/common/string/fromstring.h +++ b/inc/behaviac/common/string/fromstring.h @@ -32,6 +32,9 @@ namespace behaviac { template bool ParseString(const char* str, T& val); + template + inline bool FromString_Struct(const char* str, T& val); + namespace internal { template struct FromStringSelector { diff --git a/inc/behaviac/common/string/tostring.h b/inc/behaviac/common/string/tostring.h index a2df0576..1040e00f 100644 --- a/inc/behaviac/common/string/tostring.h +++ b/inc/behaviac/common/string/tostring.h @@ -28,10 +28,16 @@ namespace behaviac { template behaviac::string EnumValueToString(const T& v); + template + inline const char* GetClassTypeName(T*); + namespace StringUtils { template behaviac::string ToString(const T& val); + template + inline behaviac::string ToString_Struct(T& val, const char* szClassName); + namespace internal { template inline behaviac::string ToString(const T& val) { diff --git a/inc/behaviac/property/operators.inl b/inc/behaviac/property/operators.inl index 5487552b..ac08a216 100644 --- a/inc/behaviac/property/operators.inl +++ b/inc/behaviac/property/operators.inl @@ -18,6 +18,8 @@ namespace behaviac { + bool Equal_Struct(void* lhs, void* rhs, const char* szClassName); + namespace PrivateDetails { namespace Meta diff --git a/integration/demo_running/behaviac/version.txt b/integration/demo_running/behaviac/version.txt index c170a8a7..b16f877e 100644 --- a/integration/demo_running/behaviac/version.txt +++ b/integration/demo_running/behaviac/version.txt @@ -1 +1 @@ -3.6.28 +3.6.29 diff --git a/integration/unity/Assets/Scripts/behaviac/BehaviacUnitTest/behaviac_generated/types/AgentProperties.cs b/integration/unity/Assets/Scripts/behaviac/BehaviacUnitTest/behaviac_generated/types/AgentProperties.cs index 94b7c3e4..e24a6c07 100644 --- a/integration/unity/Assets/Scripts/behaviac/BehaviacUnitTest/behaviac_generated/types/AgentProperties.cs +++ b/integration/unity/Assets/Scripts/behaviac/BehaviacUnitTest/behaviac_generated/types/AgentProperties.cs @@ -315,7 +315,7 @@ class CInstanceConst_Act : CInstanceConst public CInstanceConst_Act(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 2); + Debug.Check(paramStrs != null && paramStrs.Count == 2); _Var_B_Loop = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _Var_List_EnumTest = (CInstanceMember>)AgentMeta.ParseProperty>(paramStrs[1]); @@ -339,7 +339,7 @@ class CInstanceConst_TestNS_Float2 : CInstanceConst public CInstanceConst_TestNS_Float2(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 2); + Debug.Check(paramStrs != null && paramStrs.Count == 2); _x = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _y = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); @@ -364,7 +364,7 @@ class CInstanceConst_BSASN_TransitPlan : CInstanceConst public CInstanceConst_BSASN_TransitPlan(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 3); + Debug.Check(paramStrs != null && paramStrs.Count == 3); _plan_ID = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _plan_selection_precedence = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); @@ -391,7 +391,7 @@ class CInstanceConst_BSASN_SpatialCoord : CInstanceConst public CInstanceConst_BSASN_SpatialCoord(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 2); + Debug.Check(paramStrs != null && paramStrs.Count == 2); _coordX = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _coordY = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); @@ -416,7 +416,7 @@ class CInstanceConst_UnityEngine_Vector3 : CInstanceConst public CInstanceConst_UnityEngine_Vector3(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 3); + Debug.Check(paramStrs != null && paramStrs.Count == 3); _x = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _y = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); @@ -443,7 +443,7 @@ class CInstanceConst_TestNamespace_Float2 : CInstanceConst public CInstanceConst_TestNamespace_Float2(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 2); + Debug.Check(paramStrs != null && paramStrs.Count == 2); _x = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _y = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); @@ -467,7 +467,7 @@ class CInstanceConst_TestNamespace_ClassAsValueType : CInstanceConst paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 2); + Debug.Check(paramStrs != null && paramStrs.Count == 2); _x = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _y = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); @@ -497,7 +497,7 @@ class CInstanceConst_TNS_ST_PER_WRK_kEmployee : CInstanceConst paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 8); + Debug.Check(paramStrs != null && paramStrs.Count == 8); _id = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _name = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); @@ -540,7 +540,7 @@ class CInstanceConst_TNS_ST_kCar : CInstanceConst public CInstanceConst_TNS_ST_kCar(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 3); + Debug.Check(paramStrs != null && paramStrs.Count == 3); _brand = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _price = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); @@ -566,7 +566,7 @@ class CInstanceConst_StructTest : CInstanceConst public CInstanceConst_StructTest(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 1); + Debug.Check(paramStrs != null && paramStrs.Count == 1); _a = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); } diff --git a/integration/unity/Assets/Scripts/behaviac/runtime/version.txt b/integration/unity/Assets/Scripts/behaviac/runtime/version.txt index c170a8a7..b16f877e 100644 --- a/integration/unity/Assets/Scripts/behaviac/runtime/version.txt +++ b/integration/unity/Assets/Scripts/behaviac/runtime/version.txt @@ -1 +1 @@ -3.6.28 +3.6.29 diff --git a/projects/vs2010/behaviac.vcxproj.filters b/projects/vs2010/behaviac.vcxproj.filters index 4a1c0c54..655963a5 100644 --- a/projects/vs2010/behaviac.vcxproj.filters +++ b/projects/vs2010/behaviac.vcxproj.filters @@ -2,166 +2,166 @@ - {CAB4CD7C-69F9-9F4C-98D8-A4A6FFFD95B8} + {9437C4F2-390B-924B-8336-E0E9BDC85325} - {AB219EDA-E483-F941-85D4-5B6CD8D02293} + {D7A9FF62-6FDE-F644-97FA-838FC15D1F63} - {D1D78CE5-24FE-9643-A7EF-0BD6D5D7E368} + {9679E09F-A156-4E40-891B-3773D6CDE678} - {1FE29C2D-2CB2-2B4D-BD6E-FB0BCA7AA551} + {03A3B111-BAA2-FF4E-96FE-03B982D6E8B6} - {C692D605-C11C-3C4A-82E8-1D4DA4FA16A0} + {FE268E6B-2424-CC42-BD8A-3062276DB8B9} - {1BA7633A-6DE7-374C-A700-839FA43C00BF} + {3D3F59E3-C4AC-2C4F-8B5D-F6AFC2115D8A} - {1E3E912C-43F9-EC4B-BC2D-E10250BBF027} + {2A41E8D5-09CE-C844-8BA9-C859C08FADD1} - {0FD53B45-973A-1546-9855-29264A34C1E1} + {3299494B-0D26-B14D-A071-8F93E8E53DDA} - {84FC8BD1-62C5-2D49-8A37-7E6D824DC680} + {15917C05-E6CB-2A4D-96B0-AFE340F336CD} - {657FF1DE-8124-DD4D-9208-5C354403B2D9} + {14D1A348-9771-284F-B617-4D59718FD848} - {BFCB97DF-723B-4547-8D91-68A94B73EFD6} + {229A608E-01B9-CD47-B857-E6563C77B4D3} - {65D799FE-17D0-9547-A74A-E808C9EF2BA7} + {DC781CFB-EAB1-0440-B3E1-EA45F756FDB6} - {051E4A73-C72C-944A-B32B-1C18FE5CB37B} + {57B98C83-2F21-F34D-9F9A-8FD52EB86E28} - {AC465781-1B69-6E49-AB9D-3B531AE08325} + {18612DAD-2F40-3644-A370-E9A85E5B4C28} - {6E261D07-9600-634D-A32E-CDB703E80687} + {D902BE91-A6F2-B748-ABDB-3B5B03235A74} - {6968FF50-59A4-3F4B-9841-B7DEF35B6099} + {A6EAC9C1-27A0-6446-919A-12F9166B169C} - {A9B99240-E874-C84D-84FC-BD4C23255D41} + {E79EC157-413F-B04D-A651-14DA2B4DAB17} - {1D063FA6-B039-4242-BDF6-3068A543FC0E} + {7BF1BF0C-DC4E-874F-A664-643EB2097B71} - {83D27BF5-312E-5344-A868-B9C7ED28DA4A} + {D607904C-7425-E446-84B5-3EFF3B0045CB} - {D5C0A23A-6DAB-5F48-A1CB-3EA12E73CAEB} + {9A83F374-E3FF-424F-8C01-857FEE74409C} - {B75596BB-954B-A14A-B8AF-944F43CC5285} + {15F04C1A-17F3-A841-949B-7D628F8F4199} - {F27C848C-14A5-EE44-8854-694C1E29A8BB} + {28C00760-F93E-6F43-A44B-FB184E54615C} - {C24A4CA6-23DE-7F44-ADDC-E04A11289F88} + {44885568-7359-F64F-81BF-D440BFDD8CE5} - {3919DD83-5D75-A247-B5FA-A244D20C1902} + {F721308B-336C-5146-A7B5-517E03030FC8} - {9E6C25F0-0D5F-9F45-813D-928050A06465} + {1151EF41-0579-9D4B-9552-02F87EDEBCC1} - {A3641592-3F96-6B40-9EF8-EBF8635F3A6B} + {E1822852-DA59-E744-9596-EBB5750E6F50} - {C9E45F06-5C89-D84D-B951-D82C53BE2397} + {E518FE29-2C6E-6941-9280-CBB3E92AC72A} - {C72A6F1F-B148-3742-B199-135C908A0D81} + {9AAA5B9E-5C94-4C44-839F-19A6D199CA3B} - {BA538D9D-E789-7746-9361-D99636B6DC2D} + {1E98485C-DB7C-E84E-80F4-A47D223CFC0B} - {2E8BEF49-DF23-BD44-BEE9-2FE963CB5E3D} + {21F01E3B-3808-C345-942D-9C5B4E5F9096} - {AF7D4FD4-DFF4-084E-A466-B22129387E0A} + {F77B567B-C838-974F-B37E-5288FF9DC2B0} - {9A3F6947-E801-F548-A97B-3E6CC6E22440} + {4EEC0D86-B06D-9042-88C4-B72109412845} - {14F1FE2D-C588-2146-9C1B-E44149DA47AD} + {26ACA6EC-AA2A-BE48-84DD-C4EC711BC4A7} - {D3236BC7-87CE-364D-8B8D-87FF1E331CFD} + {96215C6B-3FE6-9D44-8463-F71C1C2C405B} - {FCE0EED6-A7FD-304A-ABF8-A320C693869B} + {515B20B2-CD27-2D4C-AA1F-5A11286A406A} - {7E9EC4A9-A284-2B40-B75B-19575E4C2FC4} + {069B2798-0905-8D4C-B925-5B3B1084197D} - {DEA51248-5D6B-254D-BCA6-02249F159D13} + {60FEA1E4-8B16-8545-B65D-99927B3AF28C} - {283C183A-A0A8-6E4D-B3C1-43E6962183A1} + {0D28D71D-8024-3B44-A8F3-AF1B5A0610F9} - {B358E224-E74F-AC4A-8898-FA8F4DB20FE6} + {C772EFA8-189E-0541-A1B9-393E5FB7CDB4} - {87E85C98-D8DF-DE41-9F3D-4567BE03343D} + {1DDE7EEA-6224-944F-98F7-49A8DAA5F57D} - {4EDBB280-5B74-304C-98A3-051A5B37CFBC} + {8CC811F5-F96E-D04D-A963-43458DC01616} - {4ECFCA65-454E-8948-8A68-C8BAA647207B} + {A65756FC-578D-0148-AD2F-457A77050E30} - {0C83B20F-B66D-524F-B3B1-126282EE9BD1} + {17AF15C0-8621-EF47-A5EA-67D4F20EE0DA} - {FDD374CB-2137-E747-8A2B-C658E8689E0E} + {57E19918-5E36-2E49-9284-6518CAEE0CC6} - {2493B2F4-3230-5E49-8E6A-F3EAA1952CAB} + {380B15AF-4CCF-3545-B6FF-AD67A7B2238F} - {DDF27A2A-C550-924D-8E1F-F018C1B21F40} + {B6C79B1F-2A30-754C-B7CB-9B58FFE37F16} - {49DE4036-E251-8D43-B810-61F051F2F56E} + {6DAD381B-4E41-694E-9C38-F351C32E4553} - {C81EE134-2F5B-D249-A013-418A96166133} + {C4249FB8-810B-8441-B33E-D185B0B19FDE} - {25B392B6-7900-7D49-9C8C-8B200DC43D2F} + {EEB57B0F-CD31-C742-8F8E-633BB9B1486D} - {99F4075E-148E-4B43-AD19-4744244EAAD2} + {3300CA6D-5B4E-1A49-8184-88FF66110BED} - {EB2D65FC-A381-4C41-8052-8A77D4F9BA9F} + {5E2CEDE0-5625-A64B-874A-4502E145A1C9} - {1AA6EA8B-870A-2B4E-AB75-33C83EA482EC} + {C2449B5C-5CB9-2C42-87D9-B6CC823E432F} - {566BC513-A47A-744B-8D73-9D78F3C96C3F} + {293BDC62-DEC1-DE4E-A4C6-9918DA41FA28} - {E3F172F9-D9A4-CE47-8395-C34B62976BCA} + {6AE8309A-C13F-504A-8D52-7189DC15E9A2} diff --git a/projects/vs2010/btperformance.vcxproj.filters b/projects/vs2010/btperformance.vcxproj.filters index 10fed47f..25bf4c50 100644 --- a/projects/vs2010/btperformance.vcxproj.filters +++ b/projects/vs2010/btperformance.vcxproj.filters @@ -2,22 +2,22 @@ - {42871054-4976-6941-8798-3AE52742CB7D} + {6D3D185D-4232-424A-A261-2D4BDE1B1D28} - {BA9D245B-7FF7-844D-9EFE-9F743C9DF686} + {29CC1704-A253-574B-808C-2CD71CFEC123} - {86408ADF-4C17-9E4C-BBAE-B1E167C68C5B} + {3D763294-8EFB-C446-94D8-B1D021CDB050} - {2DA1B06C-145B-E64E-9427-1FAEE22C5940} + {1FC94CCE-EF10-6042-BFE3-485E40F96A77} - {60647D90-F5C5-C345-9B84-03FA1DE1FDC2} + {61381E67-05C4-A245-B43B-0CB4F462DE2E} - {1F913256-FF7B-CF47-A5EE-CD965F704D21} + {A1603F4A-0D55-C74C-9626-52AB3CFD59A5} diff --git a/projects/vs2010/btremotetest.vcxproj.filters b/projects/vs2010/btremotetest.vcxproj.filters index 4aef74a7..d5669a05 100644 --- a/projects/vs2010/btremotetest.vcxproj.filters +++ b/projects/vs2010/btremotetest.vcxproj.filters @@ -2,25 +2,25 @@ - {C3A7DF87-5C29-6D48-83FD-994D599F8A58} + {98F84664-534A-6D45-BB69-C480C38DDE28} - {709C975A-D344-7C4E-8833-70679BC38D08} + {FF9ADA0E-EF5B-534A-9662-A736B2E60212} - {BA435CFC-F1C5-7F4E-B19E-8B7608B5C71F} + {5597AFCE-1C54-314A-A974-E55C8832AD79} - {6A8EEBEB-AACD-4E4B-ACEB-C44B91E34A22} + {EEDB8ED5-5850-4A4B-9C66-2C992477506B} - {FF96083D-25E8-BE44-B1DB-94119A1563DE} + {AB72820C-455E-DF4A-AE61-19BAABE67FA4} - {06153E0F-142B-8145-887B-28E3355A3FE4} + {C3CDE9FC-D03F-E142-876F-30C8EE30FA7D} - {1EA4326E-FCDA-BF4F-B70D-93E08F39669F} + {AF807133-81D1-D546-B7F7-FB4F358CC7AE} diff --git a/projects/vs2010/btunittest.vcxproj.filters b/projects/vs2010/btunittest.vcxproj.filters index b13da3ad..c91b2b0b 100644 --- a/projects/vs2010/btunittest.vcxproj.filters +++ b/projects/vs2010/btunittest.vcxproj.filters @@ -2,52 +2,52 @@ - {3EB7904A-B4CD-DB4E-8624-6CBCD9BF1AD6} + {DA925C08-3226-174D-889B-2350614FAC83} - {FD303B56-352D-724A-BAEF-66D099166F25} + {FABED2B0-C223-874F-BEEA-D9A89BFA922B} - {0A1DE4D9-9A2D-DF41-A9D8-5365F8A60FBC} + {B71C5D71-862E-624E-9525-E014D90E8E1C} - {853C4633-5A5F-D54D-A549-03434A3EF1AD} + {330CC22A-F9F3-DD4C-907E-67F77D653DC8} - {AF76F533-BB0A-1441-8779-D8847ECEDCEC} + {9341030E-7A27-F544-964B-04EFF123358D} - {8F2393F7-C5F3-284E-9F3A-D830BA2CE90D} + {8D3D9BE2-2CD3-C64A-8C0A-FEF9159CD500} - {0420A020-DDF6-4E4B-8ADE-783069FF8A26} + {A51E79F2-26E5-2E40-B2BD-26AF139200F0} - {A76C1653-0189-FA4E-BEF3-1F9587B83459} + {1EBA2A96-3338-5B42-822E-6AD127E0D385} - {45694359-AF20-8B44-A000-54F91F568E85} + {68CEFF5B-4B47-FA48-AF0E-16DF0158D907} - {6998F683-1ABF-1D4F-A9FB-0801C90FBCBE} + {6C6161EA-4FF1-6643-8FDF-23A47E9420C7} - {7040D467-92EA-2B45-945A-E0DB4E280636} + {CBEBE8DB-F9C3-ED43-B7AE-A3717F1B29CD} - {5730C524-3978-5047-BC13-5C80F0C0E309} + {CA622E43-AEB3-074E-A80F-2375252ED443} - {1C15E229-2D1A-6143-8B41-F6EED66B9354} + {CFF72EB0-F1E8-2044-9C1B-4AE258D5B73A} - {CA4746DC-E866-A742-B5F0-A288458B6CEC} + {F7BED9E0-F8F0-0C4E-9100-FD1A383F7C7E} - {9BDD18F2-9EF0-9F47-AEAC-08F545DFD16A} + {C02E6510-829B-4041-99F3-5E9468E9C0AC} - {D7C86857-6710-C64E-8F5F-3ED1E5C77FDA} + {3830C063-7DD2-3E48-8810-55300F5E3E1E} diff --git a/projects/vs2010/demo_running.vcxproj.filters b/projects/vs2010/demo_running.vcxproj.filters index baca8226..08ac53f0 100644 --- a/projects/vs2010/demo_running.vcxproj.filters +++ b/projects/vs2010/demo_running.vcxproj.filters @@ -2,28 +2,28 @@ - {2755BB43-D2E2-C548-B1CA-95672C57A289} + {B85BAABB-E642-9044-B380-DDE66172F9B6} - {7BAED0F4-9957-2146-B8DA-98BA633BE4DE} + {1D401B97-63E7-7A4B-9C93-9C50BC6E68E2} - {72A5678B-7BE9-E948-B08E-8C96384D0A6A} + {417C976C-5047-1749-95FA-0C120663A717} - {5205C33B-6FD8-9848-8445-F8EBE415106D} + {882BC1CE-8EF9-8040-9189-4C03FEC31263} - {44521E05-E93C-A14B-8190-F0CD1F37CCAD} + {FDFED95A-6743-5D4D-884C-84F9AACC330C} - {B020244F-2C91-CD47-993A-363CE2CE6A63} + {28659621-642E-734D-9F7B-5D8EC44771AC} - {4B70AC7D-3F98-7A48-8DF1-AB42DA646784} + {12729EA1-EE0C-0A43-814C-066DE594A255} - {0F3F7645-278D-904E-A721-736A264D54D6} + {0D3FF098-BC8A-854D-AFAB-CFA7D9BE0BF8} diff --git a/projects/vs2010/tutorial_1.vcxproj.filters b/projects/vs2010/tutorial_1.vcxproj.filters index a0cf737f..66c4f2b9 100644 --- a/projects/vs2010/tutorial_1.vcxproj.filters +++ b/projects/vs2010/tutorial_1.vcxproj.filters @@ -2,22 +2,22 @@ - {7E6A26EF-A0B6-2F4A-8780-8B4EFEDFB2C9} + {B7FCF798-446B-3740-82D6-E265538F3F3C} - {0D0303A5-DF60-BF47-B873-4D20B383DFE6} + {4B79ABE7-B2C8-994F-B9A1-A8A413C8264D} - {B99E5C85-23AE-FE45-BA85-3A8075E10290} + {374B1C7F-46FE-F14E-AB06-A4962B6FABF9} - {F9D98C8A-D7DC-354A-8C19-0F4C60517D50} + {5693033A-524B-4A46-AC3E-5CEAEB992519} - {97F98197-2C1E-9949-A17E-B5C7EE4C0422} + {5936772B-B6EE-3C4C-8E44-7D5EBD3E7BE6} - {10B652D6-2466-0848-B533-B7DAF52EB48C} + {F75DFB5B-0015-F04F-97C8-C316A07F9529} diff --git a/projects/vs2010/tutorial_1_1.vcxproj.filters b/projects/vs2010/tutorial_1_1.vcxproj.filters index 39132f69..5dde0bc3 100644 --- a/projects/vs2010/tutorial_1_1.vcxproj.filters +++ b/projects/vs2010/tutorial_1_1.vcxproj.filters @@ -2,22 +2,22 @@ - {8CBD4B62-FF35-8540-B8CD-44BE28873C47} + {DF23714C-C753-8940-B31D-5A021F47F96F} - {D3B394D5-8138-574A-823A-13CEE29360F3} + {D5F7D368-2537-3246-B472-8C09392B1D9D} - {B3485BD7-32F3-D34E-9ADF-FBD8C4D39312} + {5C0BE386-23FC-C747-B12D-4153388B1379} - {7B518A2C-BDF4-BA44-93A1-2730EAB7A29C} + {86D8FA25-C26C-1A43-ADFE-B6157A1DC340} - {9B892A98-D5D8-EE41-AE0E-95FBFB5E0507} + {429E4581-1C4C-684C-8186-BA3AF04508E8} - {C47DF37D-9D28-C74C-B8B5-9AC347E89E79} + {A31E9652-7716-B641-A039-6EA8B7DC14AC} diff --git a/projects/vs2010/tutorial_1_2.vcxproj.filters b/projects/vs2010/tutorial_1_2.vcxproj.filters index fa0114a6..e0720f0f 100644 --- a/projects/vs2010/tutorial_1_2.vcxproj.filters +++ b/projects/vs2010/tutorial_1_2.vcxproj.filters @@ -2,22 +2,22 @@ - {F231C438-D2D3-564F-9CDC-30C3BC50FAF6} + {F838A038-1447-3841-B7C5-349C57A07CD3} - {D85A253F-60E7-A941-8A2D-558A9DE0F9C7} + {06D652C0-6FFE-DF47-9CE9-6C53E623F71D} - {0614276C-45ED-7543-AF18-EECE22A61A62} + {D3147008-6419-9B45-8B87-3133A840EB93} - {53E05656-0A16-554A-B579-DC73060B61D5} + {17960072-0FAD-C04A-8373-EE8D698A9788} - {1FFD77AE-0882-5543-8E20-90D1B74A911E} + {2DF899DE-9C5D-F44D-AFDF-5AE9E13C254F} - {25CDF073-B29B-5249-93E3-66560199F767} + {225267F5-D1CA-D442-A8F4-92C1F194A134} diff --git a/projects/vs2010/tutorial_2.vcxproj.filters b/projects/vs2010/tutorial_2.vcxproj.filters index 10dcb742..0e8bfcad 100644 --- a/projects/vs2010/tutorial_2.vcxproj.filters +++ b/projects/vs2010/tutorial_2.vcxproj.filters @@ -2,25 +2,25 @@ - {6885A6E9-02F7-B04B-85F2-72F03F3BF367} + {0F08CE3A-3C46-B448-A34C-F5014278DC13} - {EE64B0FF-2A6A-CA40-B176-19BD0BB8795C} + {F4D9999B-97AE-524B-99B5-A58C17BE4EF3} - {0C8F985E-FBC8-834B-AF94-D36906A97431} + {A8471881-6625-384D-9207-6C8FAA2791B2} - {10EA6184-E76E-6D4A-8D40-3339C7E4D1EE} + {2FFA3324-4769-034A-AB35-38FA4292532C} - {4F899394-43D6-CF46-9259-CABFD3418097} + {F20E4102-7938-5949-A99C-AB44AC5C0DF5} - {78BD894A-9599-4A42-B1DD-E32EDFC6102E} + {F1B4AFA4-F0A9-8048-BB97-E3E66C699C14} - {C04E8FCA-0707-6B46-824F-64816CA15162} + {859F5687-0C13-C743-9225-B6823F2EA1F1} diff --git a/projects/vs2010/tutorial_3.vcxproj.filters b/projects/vs2010/tutorial_3.vcxproj.filters index c727dc0c..162d3365 100644 --- a/projects/vs2010/tutorial_3.vcxproj.filters +++ b/projects/vs2010/tutorial_3.vcxproj.filters @@ -2,22 +2,22 @@ - {AE56A91B-4F3A-3940-AEC4-66C9A9004C1F} + {862B5828-5345-4549-8364-18A57B2B0CA9} - {44659B43-FCFA-384E-AC5C-E37B7D7612A2} + {27F5EF0C-FEE7-A149-91BC-22DCED0792BF} - {A022CC44-AB9A-D042-90E4-77089C002568} + {AE8B2786-DA94-AD44-BC42-009111980C29} - {42FC78F0-92E3-8641-B2FE-3284D7F163FD} + {6FF2FA3B-DFC6-564B-979A-EA63D6B58FC6} - {5F9922E5-428C-2F48-8C35-EA8145016CA8} + {642FCCBB-450B-AC45-AE0B-F844D84A15FE} - {3440748A-9DED-CC4C-972B-570577846CE8} + {916F599E-EEEA-8B43-9A2C-6DB08F78A116} diff --git a/projects/vs2010/tutorial_4.vcxproj.filters b/projects/vs2010/tutorial_4.vcxproj.filters index e167ab49..0b6a7d09 100644 --- a/projects/vs2010/tutorial_4.vcxproj.filters +++ b/projects/vs2010/tutorial_4.vcxproj.filters @@ -2,22 +2,22 @@ - {60515F9C-9D1D-EE44-892C-EBEE89A1A169} + {70E4EF63-503C-6041-88BD-7579024B8DF6} - {0A9E266D-7D28-024D-A2DF-3B782101F90C} + {01CA340D-0427-5142-B1CE-243E00A24857} - {04EC561C-04F8-A546-ACB1-CD1CE8538E07} + {CB34E419-52B2-F345-9A29-5AEDB104BA35} - {C815BFCB-214A-F342-8AE7-009309F70851} + {2179B798-20D2-2146-B87F-B1A945DA38A1} - {6D8F56C0-37DC-D04B-BC83-F049EF22C00E} + {1D70F57C-500A-5C4B-A99C-A653430499BC} - {DDE39BC8-4811-6545-BE03-BCEAA37AE403} + {4484159F-7FC6-8D46-A7F8-ADE48C04DB80} diff --git a/projects/vs2010/tutorial_5.vcxproj.filters b/projects/vs2010/tutorial_5.vcxproj.filters index 873998be..b9b65686 100644 --- a/projects/vs2010/tutorial_5.vcxproj.filters +++ b/projects/vs2010/tutorial_5.vcxproj.filters @@ -2,22 +2,22 @@ - {A176B079-BC33-884B-BFD6-6FA05C4A6F94} + {6747EF49-49D1-534F-B708-880E23EFC33F} - {A088F691-4968-4A42-A527-24054358E15A} + {50F9D304-A7D3-D044-8CC9-8BAF30A70C70} - {69200A6D-801F-BE44-9003-636E5E1E3528} + {50D11C71-E5F4-6941-B968-F196F5A3550C} - {481337BA-F38F-C043-A128-DECB205605A3} + {D7518961-5B21-A344-8956-B623D847D013} - {7D334A1E-57E9-E442-97A5-F89D482A2895} + {3955DD08-B97F-694C-B3C5-615CC3AE6400} - {232A0EDE-5E7F-E049-B18E-8B83F3278172} + {1B25FA97-C2CE-BE49-9961-E9C4B89B1DC4} diff --git a/projects/vs2010/tutorial_6.vcxproj.filters b/projects/vs2010/tutorial_6.vcxproj.filters index 7ec53cf8..2acbc86b 100644 --- a/projects/vs2010/tutorial_6.vcxproj.filters +++ b/projects/vs2010/tutorial_6.vcxproj.filters @@ -2,22 +2,22 @@ - {E8B5AD37-BA01-A74A-BB6B-E35CF602B8CA} + {58F276DC-8532-4B45-91E0-26E03C2BE9E1} - {6D71F33C-11B3-B147-85B7-E6543CD8A19A} + {BD9B86D4-0067-E844-A21E-7E7420433AC2} - {473CA3B1-8F51-C041-8F63-3B5B9E4655F1} + {C1DE7A2D-3A0E-CA41-85F5-6EC4EC52AA36} - {AF3B7BFF-0FA0-5442-AA89-3C8F67B49EE4} + {DBD9308E-ADA7-3446-A29C-76FD6AA673C4} - {3652CD7C-E34C-4F46-BC5C-3D3801EE83C7} + {00655871-5944-2940-99A3-034D7F9F0AB1} - {5966D255-A3E9-734E-9A13-B78E9169BEC6} + {38F9819D-E8D5-9F4A-9A71-3E71BF898796} diff --git a/projects/vs2010/tutorial_7.vcxproj.filters b/projects/vs2010/tutorial_7.vcxproj.filters index 3c42b09f..c80b474b 100644 --- a/projects/vs2010/tutorial_7.vcxproj.filters +++ b/projects/vs2010/tutorial_7.vcxproj.filters @@ -2,22 +2,22 @@ - {809C0155-0651-C249-AFD6-E63DFF140982} + {12654467-F98B-6742-A8F1-70274E94F961} - {945CD08C-B122-DA45-AF0B-3F44EF1BBA6C} + {203AF745-567B-044C-8C2A-9A7A1F2CE83E} - {6BEC0EFA-76EA-1C4C-8DD2-A1CB63B290AB} + {4DC405E6-C86E-E748-9918-3FA68024F874} - {2011234E-B480-6C44-8E38-4AE241F415C8} + {D7E51B43-B232-584A-A80D-E745ACDE0F13} - {CE1EF278-56AD-844E-B598-ADD3EA0DD413} + {FD07AEB3-4C0F-8B42-8D61-26C679AA8256} - {4E51D225-DFC6-C84A-8FB1-87CC3AA33631} + {CCFC1A6C-5732-9742-95CC-23CF466A1E40} diff --git a/projects/vs2010/tutorial_8.vcxproj.filters b/projects/vs2010/tutorial_8.vcxproj.filters index 867c0d42..72612c46 100644 --- a/projects/vs2010/tutorial_8.vcxproj.filters +++ b/projects/vs2010/tutorial_8.vcxproj.filters @@ -2,25 +2,25 @@ - {2BA566FD-7116-B04E-8E53-9D25C51B6B2E} + {EB913D9A-5E26-354D-A592-EA1FE17E7891} - {2DD67788-F579-2948-80CB-1B30C299C514} + {C6B07CF7-23E9-294E-A45C-AB275E1E7E44} - {98BA065B-E08E-ED45-8073-46CA70FE528C} + {31436702-19F9-8A4F-879C-BE8BE9EB9F93} - {0FF200C5-DD43-B449-BFF6-6CAC64BF3698} + {10C102DB-7E89-8349-85DB-C74BE71FFB71} - {B1740BD4-4908-F64C-BEF9-63859C28A7DB} + {4AEFE44F-FD80-6945-843A-15559F4E2EA1} - {00036E08-C166-244C-B119-CC4702B00B7D} + {9737966F-439E-754A-8175-0F20475390BE} - {C3AC33E9-A135-B649-BC40-D964415AC128} + {DC67C289-F656-6148-9203-A6336A99D6E8} diff --git a/projects/vs2010/tutorial_9.vcxproj.filters b/projects/vs2010/tutorial_9.vcxproj.filters index adee9ea9..19108ecb 100644 --- a/projects/vs2010/tutorial_9.vcxproj.filters +++ b/projects/vs2010/tutorial_9.vcxproj.filters @@ -2,22 +2,22 @@ - {0005950B-7EC1-9241-86BC-20D03E67A102} + {02CD6670-48A9-D74B-93F6-EE7D2E965DE0} - {A8D2AD7B-1A85-D04F-8897-CBA7EC790B09} + {B19C38B7-0D1F-FF41-8E6B-B27758B8C349} - {35BE697B-28DC-8344-B80D-3FA24AA52386} + {CCE65DC4-43CA-EE4A-BDC9-FF1B9C8B4178} - {046EA60E-BFED-8D4D-8D58-1CFC69F279CA} + {6AC8D43F-14E8-944B-818B-2ED4D65444CD} - {4CEBD47D-0A84-1B4A-859E-2FCC47858AAE} + {A170D361-6988-FC41-BE39-5A735159F21D} - {C5D42BBA-5BF8-EE41-A93C-F7FCA95904C1} + {4A5E48AF-A548-4143-9C0A-48320D783097} diff --git a/projects/vs2010/usertest.vcxproj.filters b/projects/vs2010/usertest.vcxproj.filters index 04f5c737..f42714c2 100644 --- a/projects/vs2010/usertest.vcxproj.filters +++ b/projects/vs2010/usertest.vcxproj.filters @@ -2,28 +2,28 @@ - {603FAFB5-EC76-D74A-AED4-5F92B0F3DBB8} + {A866F956-25B4-1644-8718-8C1F6E167A81} - {D19FF994-AB05-AF4C-8EFF-C1BDF4B03D50} + {0E693485-48B2-C04A-AF3F-FD06FFAA08A7} - {3712D792-6374-2D42-8940-6317D8A39C12} + {97F66E1B-45C0-2F42-9683-7A910F5F665B} - {16F2E93C-EF9A-3D47-A699-78AD690B614F} + {FD7D7FDE-50C8-E141-BA16-FB78E1181B91} - {A9A59E82-5CFB-6A4B-AA7F-FD0A33D8F2DE} + {36774513-7630-CD42-8799-243E4AF65152} - {582EC4C8-9427-C141-A988-D58002A16EB4} + {7B05EE81-9CFD-AC4B-A8E2-BD2CB1926179} - {F6F45047-A83F-EB46-843B-F3B8EFABB470} + {A4E2E458-AE9C-2643-8BC6-B07EEB360ACE} - {1FA2087B-A1D6-FD47-8171-EC8AA444F6F7} + {3E292501-0589-E24D-B4C1-7A830631E6C9} diff --git a/projects/vs2013/behaviac.vcxproj.filters b/projects/vs2013/behaviac.vcxproj.filters index 019d5757..9e9d8526 100644 --- a/projects/vs2013/behaviac.vcxproj.filters +++ b/projects/vs2013/behaviac.vcxproj.filters @@ -2,166 +2,166 @@ - {129B6F6C-166D-6644-8524-ED52E95D9E53} + {2DB946B6-183A-5745-BB8D-28FF99F2B578} - {82A1A608-5DC3-C647-804C-CE636479455F} + {EF45C414-527B-2D49-9A3C-9628E51C706A} - {29C2F008-4804-8548-AA6D-A1C308E6B9F7} + {6B7F2FFE-EC9C-CA4F-A37E-7E537247CD95} - {991E635D-32B2-4540-A8B3-76263232F9A6} + {6DFF32CF-A263-DC4A-B07B-BFB0D30A3D11} - {77C17832-63D0-4F47-95D3-E207718E61C0} + {B92D1BBA-9013-2D45-850D-321EDFBC8EB4} - {16F3AAFA-6EC2-B241-B3D1-C9A17BD93F99} + {312F0D42-9B6F-8E4B-9373-BC999EBF6911} - {69EB2514-BC4E-1C4B-978E-EA95DB8FC3E6} + {BD5A937F-F9D9-6C4D-B056-B16702A702F4} - {E6B4E00A-4776-4A46-B4B7-73E057568754} + {6C31B3DE-3B6B-1C4C-A865-A308152F2D57} - {2F0AA48F-9FCE-4D40-B4A9-5969ED19F099} + {BE115DD5-8AF8-0A4E-B804-8CDBBB32587B} - {2518C11B-8E51-4541-9CF0-19F00811B670} + {AE9D4213-DBC3-B241-8D89-522FB858A942} - {F5A928EA-3B3C-8243-925E-E3A205934026} + {0AA6877E-10B4-5542-9E27-31A211955963} - {D7C81407-00D7-EA42-9CB3-7155624CF8B4} + {A77F563F-A613-DA44-B6F2-A67851718FE2} - {91FE8971-4F7A-D84E-BDDA-754ABB8448B3} + {53F09A62-6042-D241-984A-3B18B297CE21} - {8D273403-9B12-4844-9133-76074CA12623} + {E0E247F2-2C55-1E45-9468-693943747CD0} - {2BC296E4-6CFD-2141-953D-DC3B1D347340} + {0610DCD0-DD1D-9D47-8EB8-9950E5920742} - {F222ABBE-E92A-7440-8E2F-15A10D29649A} + {674D9DC1-9288-D444-AC41-0A01CE630432} - {D5DBB048-00D1-374C-AB5F-8D98B54A1DDF} + {38E40F10-F5A4-1A49-A55F-5A3B5749CDE0} - {12F95E65-F14B-7143-B764-8E1DADCAC1E8} + {0157B063-A0DF-5E47-8D2D-1D6490463BFD} - {30E5947D-1B8F-0A47-88DA-43761377F9B3} + {D16DDCFE-8B47-E240-9BDD-DB66A5ACB0E6} - {22EBCB64-0470-4C4C-AC51-E67665601475} + {BC0426D3-4EF3-DF4B-ADF5-02A200A878C3} - {D1ED3B04-D481-DB47-B75B-6B81C0D2A0DB} + {AACCF899-ACAE-1645-B64E-F542B1E4D585} - {89E79FD9-CBA8-0248-B6AD-DCD2731513CD} + {0A6A1B2D-F483-0A4C-83A1-AA4C611DBA7B} - {A6381FC7-B0C3-EF4A-96A0-FE7C80521787} + {B518AE73-5A51-8E46-BE1D-B9593027E716} - {2410DA85-FD7D-E14F-884A-9B870EA6ADBC} + {0B896FF1-A069-674C-A417-2C43F1BA2E9B} - {8403C27B-E982-9640-86DF-19DA989FC118} + {CA4592A0-CD42-D046-9E91-0116D9C5C232} - {EA3D4EE5-0B51-F649-AFD3-BA12FAD65189} + {706351E2-7BCC-F34B-8EFA-C9EEFF12616F} - {8C5F3732-2885-6C45-96CF-E3E7EDBFC92C} + {71E9EFB5-FCCA-FA4E-812B-A6121F3906D9} - {4FE14B94-CF60-5D4A-9D0A-72702DCEDC82} + {24832199-8C6D-C747-8B73-DFCE92EF7A62} - {C3FC16B0-65F5-B04E-BDD3-7F2C6B882855} + {96F8E527-57A7-F746-B3E5-F53418AA6B1D} - {8B18DC7F-A79B-854B-ACAD-E7A4D8E07DDB} + {F17B420E-CE42-784A-9278-38AA74A293E3} - {F8954025-2990-5B4A-9A86-4B199BB6AFF0} + {152637EF-58C9-7B4D-A80D-239FE72C9064} - {5D527FC7-C2DD-5640-A32E-CF89DE197B9A} + {6C78840E-4563-F041-A176-506C9C752EBC} - {36EBD924-649B-0643-BDB4-90B6FD6C5ED1} + {02A6D66D-C48B-664D-897B-ECF3CEB6F518} - {CD26DE0E-A164-C947-9ADA-A9C79766FE5B} + {E50511A5-1E5A-014D-8F89-794C4EC6DE23} - {3D4E8686-52D1-864D-B4EE-EC2BD3A560A2} + {74B3602B-2D98-CF48-9108-8DDF97DDE8CC} - {CD997999-E91C-F843-B7E3-9B520580843F} + {43A1BB45-9B91-4040-9031-4352C58ACA18} - {21B310EB-5724-6F4C-8CB6-A3B2664F2D5B} + {AA85E29A-17F6-F74A-8A0B-BD19B0AB2450} - {C0E2FD19-00F5-9A48-8E2F-428CB819CC99} + {EB4FD9E1-4925-7A41-8DE9-979A6F0C1B11} - {E3DCE12A-3AEE-B848-9224-96715880CB4B} + {99BEEAAD-283C-3746-A5F1-89A6428F3508} - {EAE0DF22-3CDC-8E4A-B4EC-B3CCA2DAFDD2} + {0A82FE15-3592-3340-8C2D-87FC41D87906} - {CDBA1EE9-E36C-1645-8566-98270BD7263F} + {29812DF8-D2C9-3342-B6D0-38CC75984A4C} - {C0E05753-A49A-7E49-8C5C-433AEAE6E636} + {1D26F119-7FEC-0942-A267-41DFDCC910D7} - {56984871-F003-714F-B9AB-0FB1A6A2F3B5} + {2579C8FF-7748-9144-81A0-71D279F6D2E3} - {69E04734-D5F2-F842-A2F6-29EE7133C60E} + {920112A5-6E34-F94B-B681-0699B3F53756} - {B3ADAC97-CDF0-6744-BF2B-D21811D7744C} + {83F23914-0110-0A4F-BF08-0B6FDC6EB931} - {9D64EC63-F645-EE46-A0A9-9BA72EA3CC1E} + {D9E4DB37-465D-E34B-A80B-4B4AE933CA0B} - {BB95D274-E59D-3C4B-86E0-C0FDCFAF3801} + {54239E17-8F75-9140-902D-C0542D759979} - {4A859B5A-4E6C-5848-BCCC-3DC9B4FCD61F} + {EF06A6CD-93F3-9F4C-B6CE-9D5F3A9D9652} - {2CCD4C11-2008-024B-A0B6-CF5208669246} + {49E52345-7ADB-0D46-9B4B-1AD3C6749282} - {0A56E00E-2A41-7247-A411-051D81D76247} + {22231F63-56B4-544C-9A3F-4D03977874F8} - {292FD7DA-0EC5-D144-8D3A-9A20F67F6B89} + {CA914322-31AE-4E46-9A11-35294EEEAD69} - {3CAB6324-4B41-624D-9A79-9B258220023F} + {AC777A20-1C98-2044-ADE2-039384998C30} - {F62302C0-9369-E24F-93D4-87E91EF90984} + {AFDDF7DB-2595-904F-908B-0E004B2EA034} - {A61537F6-3510-EA4C-8D86-1D6C201708FA} + {0D49C834-358C-9146-B42E-FF8BF42EF272} diff --git a/projects/vs2013/btperformance.vcxproj.filters b/projects/vs2013/btperformance.vcxproj.filters index 55eeb3cf..b28827bf 100644 --- a/projects/vs2013/btperformance.vcxproj.filters +++ b/projects/vs2013/btperformance.vcxproj.filters @@ -2,22 +2,22 @@ - {5ABA8594-CD4E-C449-B36A-71A96205C57E} + {1E8F9368-E8FD-DB4F-AB84-049404B172BF} - {E826D32F-E285-4143-80F8-544A7497AC8B} + {EAD2BD61-386C-2D4E-B3D7-A09E7AE5FFB6} - {2ADEB6B9-83E2-DC46-BD4D-DAD02861705C} + {8EA32867-7518-C44B-A521-A92A89FAF472} - {E7E7B835-9490-484D-9A04-863D84D26E6D} + {FEBD2126-F156-4F49-A3AA-6664E0AD722A} - {7FC13A38-E6F5-524E-929A-EEF8FC533F1B} + {0C02B160-21A5-CB48-A228-2FF77A3EEBAF} - {2A618236-7547-B74B-AEB1-8B3CD312793B} + {A55CE73D-6F72-3546-A8E2-93224872BD15} diff --git a/projects/vs2013/btremotetest.vcxproj.filters b/projects/vs2013/btremotetest.vcxproj.filters index eab1584f..a70fd935 100644 --- a/projects/vs2013/btremotetest.vcxproj.filters +++ b/projects/vs2013/btremotetest.vcxproj.filters @@ -2,25 +2,25 @@ - {97B93824-C7BE-234E-B2FD-1215A4CBFF75} + {B15E7B4E-A7C6-204D-846C-AD5B80529B63} - {CA7ED3CC-701D-154C-814B-18248FB7C109} + {BF419734-B9C6-B14E-A34C-9A3B85BD304F} - {9363981C-C270-BA4F-9DF0-FE5CC4037A9A} + {F60EB83C-B82B-E343-A07A-54B206278816} - {49F757C9-48D0-F14A-B6A7-E0390318FAA2} + {F21AF7FE-91A6-C343-9EF1-8A8F596BDF29} - {14518D89-7E1E-4E4B-BF80-F2169E8FE32F} + {6100C447-CCAF-3E41-AA5B-401B01895320} - {3632F0C0-914B-1641-B693-CF7A2507FE4D} + {FB0359E5-B4F9-4341-8726-7D71C55824DA} - {E5A6781B-E550-D141-905C-12258CB47AFD} + {9C79F7AA-1626-354C-A1FB-B150F5B16DD7} diff --git a/projects/vs2013/btunittest.vcxproj.filters b/projects/vs2013/btunittest.vcxproj.filters index 48e6b3b6..d378884e 100644 --- a/projects/vs2013/btunittest.vcxproj.filters +++ b/projects/vs2013/btunittest.vcxproj.filters @@ -2,52 +2,52 @@ - {08422D58-8517-3249-A208-176BC0863B37} + {E57C4F7C-F01D-9549-A719-341C4D318F45} - {32161CCB-EB5F-E84A-98B7-D25F80EB6212} + {8EA361CF-3B90-A44B-B66F-DB593EA7D69B} - {05DEC998-C78B-DA40-B9F3-B45E81650A36} + {99EA32AD-30EA-CB40-A0D8-F6270CE58600} - {104988E2-8BB9-6B43-AC57-1BD96826D272} + {C0227682-6793-8E4B-8B7F-C40C1468130C} - {92BB84B5-D875-A64A-B23A-89886250D900} + {ACE117F3-B2EE-654A-9C5B-4F5D8520CDE7} - {A8EFCBFB-D087-5747-8184-61077DA03E43} + {C10DEA2F-5F4C-844D-8C60-C379AC8A1023} - {B9FD997D-1432-4145-94B6-522CD406B988} + {50245F9F-FE97-B344-BCB4-29F6BA4E1B0F} - {89BA95A0-50DF-9947-A0E4-55CEA6DEC069} + {FC584359-BAC1-364F-9C72-75295BF38F4A} - {92A60610-8812-9D42-BB65-32BBDDB63414} + {61E0E880-9518-5E44-A76C-C08A26003175} - {A3F3595A-124C-0241-B7ED-AF36B738409F} + {E44E4C43-A8A8-BF48-B6F3-FFAEBE47313A} - {3F610143-3EE8-5F49-AF32-2E5A61AA0A93} + {88369B07-23C6-374C-BFDA-BF619714116D} - {9FD3E53A-6F29-BB47-9704-4830A3407775} + {70433FAA-D7FF-EB47-A0A0-42ACC9F94561} - {ADA034F1-F403-8247-9453-14C56507CE7A} + {B8341EBA-8EA0-D347-93B8-218F76BF406C} - {2CF83371-8FE6-D149-BD94-40273255FCCF} + {8A4D3B67-FFD5-1043-BE5A-27501FED2440} - {3EFD5CDD-DCEC-3A4C-A8A3-763A7E8B6929} + {EC7C3565-7ADB-494C-970A-6661F517A591} - {37764A88-16D0-C54F-BC0E-D2F18AC918DA} + {F10E2C9F-0561-7845-B864-0DA252E43457} diff --git a/projects/vs2013/demo_running.vcxproj.filters b/projects/vs2013/demo_running.vcxproj.filters index 09e02932..82ba30c5 100644 --- a/projects/vs2013/demo_running.vcxproj.filters +++ b/projects/vs2013/demo_running.vcxproj.filters @@ -2,28 +2,28 @@ - {87FD4BEA-A48B-5E49-B17D-A99CB3884094} + {FEA27D04-3F4E-F441-B49D-628790C9893C} - {697DC99C-DE5C-3547-A510-EE27839952BA} + {B5CFDC3F-9DBA-214B-90AD-8C33DD80BAD3} - {9D9EFF0A-AC61-7F41-AA1E-5A70EB764931} + {3DB9AC87-0AD1-7540-BED4-226BE698CF97} - {60C3255F-CC6F-E641-BC16-372A722A9AB9} + {5A2BE01F-A721-5143-9F72-08B36A3E81CA} - {B1B34E4B-0973-4D47-A91B-0D38C3FC9654} + {69EBED2B-81AD-7447-BAE8-DAE056A11970} - {F9670055-C17E-B541-90C7-607DE586F248} + {9D08404C-A443-9640-8101-BE8843913EA7} - {06B032C1-2061-5A41-95A2-5F9BFEA99E65} + {188815DE-8585-AB4E-B9B4-732C53A84440} - {FF5D0CE6-9872-1546-A9CA-235E4E0AD309} + {6B53B211-1599-AA44-AD59-4C7F06FB4C42} diff --git a/projects/vs2013/tutorial_1.vcxproj.filters b/projects/vs2013/tutorial_1.vcxproj.filters index 92528f1f..cee437fa 100644 --- a/projects/vs2013/tutorial_1.vcxproj.filters +++ b/projects/vs2013/tutorial_1.vcxproj.filters @@ -2,22 +2,22 @@ - {2A022A8D-96DF-CD4B-9650-01530AA9F5AE} + {D5DA447D-8AE6-1B48-9AC2-BC5A126DD7A3} - {C4F6FE6D-8575-3A4A-9C80-5657DB1E1DDD} + {06AC7A1E-C286-6F4B-A85D-A7F9EE63A8B8} - {EA9AEF31-9D17-FB4D-BED2-97E470D401EF} + {84C759C8-FC8F-624C-AB8E-1BF496D01183} - {5FF9A0B3-0FF7-A24D-BE9C-BF61C613C3EA} + {44E3CEC9-70B1-354A-8FC8-2244E26C057B} - {3FC278CF-D516-EE45-992B-27FB9DEF123C} + {82C1B7C2-3B7E-1741-A71D-8278D986A6A9} - {02D80761-862B-F442-A8F1-4F0A45C54928} + {4476A866-78E9-C244-B145-8309953389D9} diff --git a/projects/vs2013/tutorial_1_1.vcxproj.filters b/projects/vs2013/tutorial_1_1.vcxproj.filters index e7aa609f..d79308cd 100644 --- a/projects/vs2013/tutorial_1_1.vcxproj.filters +++ b/projects/vs2013/tutorial_1_1.vcxproj.filters @@ -2,22 +2,22 @@ - {D051C665-55B1-6A4C-B3F4-E6C0D56BA5DB} + {F0AD829C-DB20-F648-A36D-B5BA5ACF0BE3} - {94A1D30D-67BC-344F-9DDB-E979C0F6DFC2} + {4503C0FD-3325-664B-A946-E2A7B04AE14F} - {B653F180-3234-4D4F-B228-ACA6E746E0B6} + {7F7BD4EC-70F9-7D47-9925-3B9697B03B84} - {4345BA21-003B-D94F-AABB-C130F35343C0} + {38CC0161-EC8B-1744-834E-E0067EED6E27} - {408D25A7-BDA0-B846-A938-8F8C44B2DAE7} + {C98CDF14-A1B0-C64E-BCD2-661A541AA6CF} - {94D209A0-355E-F040-83B6-36DCB83C5CA7} + {DB7D2F4C-D552-334B-81D7-E6CBEAF2CFA8} diff --git a/projects/vs2013/tutorial_1_2.vcxproj.filters b/projects/vs2013/tutorial_1_2.vcxproj.filters index 62a133ba..9a4815e4 100644 --- a/projects/vs2013/tutorial_1_2.vcxproj.filters +++ b/projects/vs2013/tutorial_1_2.vcxproj.filters @@ -2,22 +2,22 @@ - {1AD385FD-0814-934E-A451-F1956C3587BE} + {F7F40EA9-AC30-8548-B047-F78099F73AB5} - {26F74CB5-84C0-DC46-9A73-252AA914A0FF} + {0A4AEE8A-716D-B44A-8AB9-775A22D71B76} - {F7DE8AEB-55AC-D749-896C-BD749D46D081} + {1E0E27B8-5821-454A-8169-C0EACC4BB549} - {015913D3-403B-D641-A7AB-C2EB30AA0217} + {C0F401E2-530D-A64B-A603-7B1EB9EC06E7} - {16F4A258-8311-864F-BDCC-E9AD30DBE4DF} + {617D2B8F-350F-444A-90C9-E0F1368DA773} - {A963AFD1-3467-2446-B3B3-F129452CB6C4} + {A8D1A20E-A95A-894E-9E94-1B3CF4F677B5} diff --git a/projects/vs2013/tutorial_2.vcxproj.filters b/projects/vs2013/tutorial_2.vcxproj.filters index 8465284d..c73f5b30 100644 --- a/projects/vs2013/tutorial_2.vcxproj.filters +++ b/projects/vs2013/tutorial_2.vcxproj.filters @@ -2,25 +2,25 @@ - {C9B90155-6D5C-C244-9D60-5C51B8DAD3FD} + {0B01C53B-7CCB-E248-93D5-050E6B084022} - {F3FEAE93-7FEC-8344-9882-C214356085A7} + {E03E2DCA-D500-744C-B0D2-93AF07B22126} - {F8EBC520-FE58-1B4A-9E91-9F019C9FF14F} + {C950E938-149F-7246-9B58-F991AC47380F} - {C80D17E4-9F19-6F46-85F6-5D4734B5F7BA} + {2BDA0C88-46D7-864A-B0C8-0EEC0F2BCCEB} - {164F6BB1-7BC0-E744-8384-7E444E192AEC} + {A902508C-B108-3C4A-BBFB-FA0806B39FB0} - {9BB5CF58-30B0-774E-A03F-1883370E9BEC} + {596B8DF2-D38F-F344-9501-3A6F3EBF566D} - {B4B392DF-FA6D-4B4C-BC35-75712BF6F9C5} + {DF8EB1F3-FDEB-7E4B-ACCD-3499364A15FB} diff --git a/projects/vs2013/tutorial_3.vcxproj.filters b/projects/vs2013/tutorial_3.vcxproj.filters index cfc2c980..57a7a0df 100644 --- a/projects/vs2013/tutorial_3.vcxproj.filters +++ b/projects/vs2013/tutorial_3.vcxproj.filters @@ -2,22 +2,22 @@ - {06254079-67C1-9F43-8AC4-017D9878DAC3} + {840E15CD-5937-B345-8A65-9EA231072FE8} - {0F344120-B430-0F40-99A8-4A29CFD0A261} + {16152F45-DE51-1149-AECE-7B25CEB7EB0F} - {C22AD63C-B6E1-6A48-8341-827C6569A0A7} + {4A35D7D2-E1F2-5F47-B3AD-1B9652CC8557} - {4F458AAB-F022-F342-BFC5-DAAC79E710D1} + {8001AD00-D1F5-AD4B-B7DA-C43222AE3E8C} - {0103FA5C-8B33-C64D-A827-4654B430312F} + {E6231D6C-B2BE-AF44-A3C5-F2A7F4615DD2} - {52F322DE-ECDB-F945-969B-D072D75236AA} + {A42B38EF-6B41-4E48-8264-B67BBF3631E2} diff --git a/projects/vs2013/tutorial_4.vcxproj.filters b/projects/vs2013/tutorial_4.vcxproj.filters index 28e394e1..96d9df49 100644 --- a/projects/vs2013/tutorial_4.vcxproj.filters +++ b/projects/vs2013/tutorial_4.vcxproj.filters @@ -2,22 +2,22 @@ - {00B5BA09-5DBB-4544-ACED-D147089F406B} + {B60FB793-7D9E-BF4F-A109-0F924FD78710} - {A9D65B81-FADC-4C4B-ADE0-103B8CC6268E} + {C91A4363-0997-DE4B-9DC7-558BF8A0EBE8} - {8EEB0A32-06DA-994C-92D6-63AC97EDD5D0} + {3D6139C4-07C1-8140-9ABF-311830098CCA} - {A973A837-F247-B24F-8A24-4A9F5AF1CA89} + {29903D13-3F20-1B45-A082-0A46459E5131} - {3FA55E81-74AC-684B-BA53-4EEAA0BD68AC} + {7A05950F-14AB-6342-90A8-09C8D0209E00} - {6C9343E2-9B5D-3440-BCE1-A94613A1DE54} + {8E3587D0-CAC3-B640-B700-AD7318C76001} diff --git a/projects/vs2013/tutorial_5.vcxproj.filters b/projects/vs2013/tutorial_5.vcxproj.filters index ac1889aa..41ff1a6d 100644 --- a/projects/vs2013/tutorial_5.vcxproj.filters +++ b/projects/vs2013/tutorial_5.vcxproj.filters @@ -2,22 +2,22 @@ - {575C3908-9A4B-E44E-9DC2-255E49FA6035} + {A837DDB2-1893-E146-A279-00D1E87E1639} - {2CFF6271-F8A9-4449-8A41-D1A587209BDD} + {E9D36F75-CC41-7B40-A350-4851FD70102D} - {0AB569CF-D10E-9541-BC7E-13CDE0B7B657} + {0F84A2BB-2210-3C48-8715-4B901F7A3CA1} - {12DA3E77-3C31-D24F-9956-BB465E09AEC5} + {921AB3DB-144C-5E48-9B71-0D7CAF33735F} - {A2DEAEEF-0F54-D740-9B4C-78CCAA7A0290} + {36E86F25-7AEB-0B45-AF94-187389F3F8DD} - {81D0FA33-2A5A-6F44-8D07-F3F7ADD6F3E6} + {98FC2F50-7145-CA46-BCA4-6EA81A0512B3} diff --git a/projects/vs2013/tutorial_6.vcxproj.filters b/projects/vs2013/tutorial_6.vcxproj.filters index 869534a4..3a4e555f 100644 --- a/projects/vs2013/tutorial_6.vcxproj.filters +++ b/projects/vs2013/tutorial_6.vcxproj.filters @@ -2,22 +2,22 @@ - {1CC6BE37-205F-2B45-A697-EC652A69EDD2} + {075C1AB2-2BFA-FB43-B4F0-AA300BC28B96} - {E66735E6-E6B9-CD41-A946-0BB597AA247D} + {86F3135F-EAB7-8346-BBC6-17690FDDE2FB} - {079FF7C0-AC85-0046-BA7C-6A9380B89A57} + {8CE900C9-D92F-CB46-A9F4-A3DD619613F1} - {67AF62E3-F185-C14B-84B0-1F7ECB093DE4} + {D0F764D4-A8B5-EE42-A4C3-6825100953A9} - {92DBF220-B977-7F49-A9A4-273874F3279D} + {C8397755-03EB-BB4D-961C-532D4BD6EE6C} - {9A5B8EAF-D385-1944-BB3F-4D1BBE577A3B} + {692ED294-73EF-DF4F-ABB3-178D345A5D9F} diff --git a/projects/vs2013/tutorial_7.vcxproj.filters b/projects/vs2013/tutorial_7.vcxproj.filters index 9cdff2f4..879137f1 100644 --- a/projects/vs2013/tutorial_7.vcxproj.filters +++ b/projects/vs2013/tutorial_7.vcxproj.filters @@ -2,22 +2,22 @@ - {8882A9DD-4DBD-C840-9D6C-89472CEF21B2} + {01551C6A-30A4-4F46-8986-2B1AE677E0C5} - {ADCDE095-B63C-124A-9696-16B2756D90D9} + {742144E4-9115-594A-BEF6-6D671F1E05E5} - {F4621D9B-E04C-DA40-8301-51C1150FE7AF} + {EB0032CC-E04F-8249-8789-1DF1EFE1D004} - {9CC50F7A-DCCF-0E4B-B748-1068EAD27682} + {BAD716AD-1B03-B940-9C23-5B9A1055467A} - {4C20C77B-3367-C341-832F-C555EC0B41BF} + {C22F8993-BE64-C04D-B834-935EA4A47756} - {D4342F83-FED4-F043-8D21-B14A5E3E345B} + {1506F8EE-CE28-9B4C-A3B5-83EF6028BC0C} diff --git a/projects/vs2013/tutorial_8.vcxproj.filters b/projects/vs2013/tutorial_8.vcxproj.filters index 00d42e64..5f81df9c 100644 --- a/projects/vs2013/tutorial_8.vcxproj.filters +++ b/projects/vs2013/tutorial_8.vcxproj.filters @@ -2,25 +2,25 @@ - {C34EC379-F6F1-174E-ACA8-235B085CE581} + {E4130ECA-C659-C24A-BDFE-FE0B889B8A7E} - {8CB76155-985B-9045-9D9E-5CB1177FF311} + {69A4BD47-5B14-E940-AC27-B8F02B3BE688} - {7C39285F-B822-434B-81A6-942BE5C9B828} + {D29D4212-FF4E-4F43-92B8-ABD3CAF9ED49} - {A2FA8E2D-FD07-1846-B1A4-67B0DA59B145} + {824AEEFB-5592-F941-BBC1-80E3CF6ED55C} - {DACB4E83-91EF-A64C-AB2B-A4AD3F72AA06} + {F81DBB12-67B7-9F43-A698-42C5764427D9} - {BCA8F70C-05DA-644D-92AE-0230841438DA} + {D134B40C-1E34-F94B-A12B-B728E3EE7640} - {A6150EDC-FE0D-FB46-84F4-6336203EDAF2} + {BC07C1AF-3B48-B142-99E2-8126F1115C34} diff --git a/projects/vs2013/tutorial_9.vcxproj.filters b/projects/vs2013/tutorial_9.vcxproj.filters index 5bc8d1ab..18b95091 100644 --- a/projects/vs2013/tutorial_9.vcxproj.filters +++ b/projects/vs2013/tutorial_9.vcxproj.filters @@ -2,22 +2,22 @@ - {85C7197B-F32E-8241-937B-5BAA16FF04E4} + {6CBF7546-22FA-7542-8FD9-7298F939E856} - {76BB6A98-C466-C24E-A7B0-7D0D5F1EA85E} + {5739E3DA-4E5A-8440-B18B-B3A20F61CCB2} - {788C4B43-4739-F940-A34F-3AEC397FD6E3} + {3AB61290-CDF6-CE45-A86A-F425A09D0ABC} - {E74384BB-298C-2C4E-9407-543F2B03BFAD} + {CA16D346-5016-7044-B51E-DE0FA229256B} - {BC463743-B170-5F40-8ABE-00A6B050C962} + {59B5D920-83DC-B34D-8FFD-1CC5A061AE40} - {1D22879B-BDBD-5647-B090-8D6803490CAD} + {DED54045-6F59-4648-A803-D93126D7406D} diff --git a/projects/vs2013/usertest.vcxproj.filters b/projects/vs2013/usertest.vcxproj.filters index ac151950..cd223342 100644 --- a/projects/vs2013/usertest.vcxproj.filters +++ b/projects/vs2013/usertest.vcxproj.filters @@ -2,28 +2,28 @@ - {77B2697C-FDBD-364E-847E-0A7C48AD4F07} + {A7B57A61-0630-E345-9E31-3513FFD4A18B} - {CEF499C7-BB40-7346-867D-A7DEDCA5E3E9} + {89E6E947-B949-6646-9644-A034A1CE5D09} - {77C23F57-F9D0-324A-AA80-6BC86E86DC91} + {E347A19B-7AA0-EC44-BAE2-6F8623D36AC1} - {4FC8E9F1-943C-6740-A57D-8E5B156EF54E} + {59E3B1C5-43E6-9B4F-A8AF-F133957E6870} - {27F095B0-D9B4-1841-8383-2C884EA0999F} + {0AE3C392-01AA-264E-B32F-5604B7868AB9} - {FFFF78E3-4E6E-D540-AE0B-AA837975C26C} + {469E0539-D37C-4646-8B79-4DA5C320B804} - {9E7522CA-AE28-1B42-AE5F-16AA5E41263D} + {305E4CA7-7F3F-6545-AFD3-4DB380D27991} - {3BB39C89-BF39-ED48-9544-D2803B64CFE4} + {B68DB01B-8575-B246-96D4-BC1154F27F29} diff --git a/src/common/factory.cpp b/src/common/factory.cpp index 64c70019..7f8d6d7d 100644 --- a/src/common/factory.cpp +++ b/src/common/factory.cpp @@ -20,8 +20,8 @@ namespace behaviac { bool FactoryUnregister_(FactoryContainer_t* creators, const behaviac::CStringCRC& typeID) { creators->Lock(); SFactoryBag_t bucket(typeID, NULL); - CreatorIt itEnd(creators->end()); - CreatorIt itFound(std::find(creators->begin(), itEnd, bucket)); + IteratorCreator itEnd(creators->end()); + IteratorCreator itFound(std::find(creators->begin(), itEnd, bucket)); if (itFound != itEnd) { SFactoryBag_t& item = *itFound; @@ -39,8 +39,8 @@ namespace behaviac { bool FactoryRegister_(FactoryContainer_t* creators, const behaviac::CStringCRC& typeID, void* typeConstructor) { SFactoryBag_t bucket(typeID, typeConstructor); creators->Lock(); - CreatorIt itEnd(creators->end()); - CreatorIt itFound(std::find(creators->begin(), itEnd, bucket)); + IteratorCreator itEnd(creators->end()); + IteratorCreator itFound(std::find(creators->begin(), itEnd, bucket)); bool wasThere = (itFound != itEnd); //Add it only once diff --git a/src/common/file/listfiles.cpp b/src/common/file/listfiles.cpp index 4fbd3eca..c6118a6a 100644 --- a/src/common/file/listfiles.cpp +++ b/src/common/file/listfiles.cpp @@ -15,9 +15,6 @@ #include "./listfiles.h" #ifndef _MSC_VER -#ifndef _LISTFILES_USE_READDIR -size_t _listfiles_dir_tent_buf_size(_LISTFILES_DIR* dirp); -#endif #else # pragma warning(push) # pragma warning (disable : 4996) @@ -31,10 +28,6 @@ static void _listfiles_get_ext(listfiles_file_t* pFile); int listfiles_open(listfiles_dir_t* pDir, const char* szPath) { #ifndef _MSC_VER -#ifndef _LISTFILES_USE_READDIR - int error; - int size; -#endif #else char path_buf[_LISTFILES_PATH_MAX]; #endif @@ -55,9 +48,6 @@ int listfiles_open(listfiles_dir_t* pDir, const char* szPath) { pDir->_h = INVALID_HANDLE_VALUE; #else pDir->_d = NULL; -#ifndef _LISTFILES_USE_READDIR - pDir->_ep = NULL; -#endif #endif listfiles_close(pDir); @@ -88,30 +78,7 @@ int listfiles_open(listfiles_dir_t* pDir, const char* szPath) { // read first pFile pDir->has_next = 1; #ifndef _MSC_VER -#ifdef _LISTFILES_USE_READDIR pDir->_e = _listfiles_readdir(pDir->_d); -#else - // allocate dirent buffer for readdir_r - // conversion to int - size = _listfiles_dir_tent_buf_size(pDir->_d); - - if (size == -1) { - return -1; - } - - pDir->_ep = (struct _listfiles_dir_tent*)_LISTFILES_MALLOC(size); - - if (pDir->_ep == NULL) { - return -1; - } - - error = readdir_r(pDir->_d, pDir->_ep, &pDir->_e); - - if (error != 0) { - return -1; - } - -#endif if (pDir->_e == NULL) { pDir->has_next = 0; @@ -151,10 +118,6 @@ void listfiles_close(listfiles_dir_t* pDir) { pDir->_d = NULL; pDir->_e = NULL; -#ifndef _LISTFILES_USE_READDIR - _LISTFILES_FREE(pDir->_ep); - pDir->_ep = NULL; -#endif #endif } @@ -172,21 +135,9 @@ int listfiles_next(listfiles_dir_t* pDir) { #ifdef _MSC_VER if (FindNextFile(pDir->_h, &pDir->_f) == 0) -#else -#ifdef _LISTFILES_USE_READDIR - pDir->_e = _listfiles_readdir(pDir->_d); - #else - if (pDir->_ep == NULL) { - return -1; - } - - if (readdir_r(pDir->_d, pDir->_ep, &pDir->_e) != 0) { - return -1; - } - -#endif + pDir->_e = _listfiles_readdir(pDir->_d); if (pDir->_e == NULL) #endif @@ -301,36 +252,6 @@ void _listfiles_get_ext(listfiles_file_t* pFile) { } } -#ifndef _MSC_VER -#ifndef _LISTFILES_USE_READDIR - -size_t _listfiles_dir_tent_buf_size(_LISTFILES_DIR* dirp) { - long name_max = 0; - size_t name_end = 0; - (void)dirp; - -#if defined _LISTFILES_USE_FPATHCONF - name_max = fpathconf(dirfd(dirp), _PC_NAME_MAX); - - if (name_max == -1) -#if defined(NAME_MAX) - name_max = (NAME_MAX > 255) ? NAME_MAX : 255; - -#else - return (size_t)(-1); -#endif -#elif defined(NAME_MAX) - name_max = (NAME_MAX > 255) ? NAME_MAX : 255; -#else -#error "buffer size for readdir_r cannot be determined" -#endif - name_end = (size_t)offsetof(struct _listfiles_dir_tent, d_name) + name_max + 1; - return (name_end > sizeof(struct _listfiles_dir_tent) ? - name_end : sizeof(struct _listfiles_dir_tent)); -} -#endif -#endif - # if defined (_MSC_VER) # pragma warning(pop) # endif diff --git a/src/common/file/listfiles.h b/src/common/file/listfiles.h index 771bc49d..ebb95501 100644 --- a/src/common/file/listfiles.h +++ b/src/common/file/listfiles.h @@ -57,13 +57,6 @@ #define _listfiles_strrchr strrchr #define _listfiles_strncmp strncmp -#ifdef _LISTFILES_USE_READDIR_R -// Use readdir by default -#else -# define _LISTFILES_USE_READDIR -#endif - -// mingw32 has two versions of dirent, ASCII and UNICODE #ifndef _MSC_VER #define _LISTFILES_DIR DIR #define _listfiles_dir_tent dirent @@ -96,9 +89,6 @@ typedef struct listfiles_dir_t { #else _LISTFILES_DIR* _d; struct _listfiles_dir_tent* _e; -#ifndef _LISTFILES_USE_READDIR - struct _listfiles_dir_tent* _ep; -#endif #endif } listfiles_dir_t; diff --git a/src/common/rttibase.cpp b/src/common/rttibase.cpp index a73bfe50..63b05c33 100644 --- a/src/common/rttibase.cpp +++ b/src/common/rttibase.cpp @@ -14,14 +14,14 @@ #include "behaviac/common/rttibase.h" namespace behaviac { - char* GenerateString1(const char* aT1, const char* aT2) { + char* MakeStringName1(const char* aT1, const char* aT2) { size_t size = strlen(aT1) + strlen(aT2); char* str = (char*)BEHAVIAC_MALLOC_WITHTAG(size + 1, "CRTTIBase"); string_cpy(str, aT1); string_cat(str, aT2); return str; } - char* GenerateString2(const char* aT1, const char* aT2, const char* aT3) { + char* MakeStringName2(const char* aT1, const char* aT2, const char* aT3) { size_t size = strlen(aT1) + strlen(aT2) + strlen(aT3); char* str = (char*)BEHAVIAC_MALLOC_WITHTAG(size + 1, "CRTTIBase"); string_cpy(str, aT1); @@ -29,7 +29,7 @@ namespace behaviac { string_cat(str, aT3); return str; } - char* GenerateString3(const char* aT1, const char* aT2, const char* aT3, const char* aT4) { + char* MakeStringName3(const char* aT1, const char* aT2, const char* aT3, const char* aT4) { size_t size = strlen(aT1) + strlen(aT2) + strlen(aT3) + strlen(aT4); char* str = (char*)BEHAVIAC_MALLOC_WITHTAG(size + 1, "CRTTIBase"); string_cpy(str, aT1); @@ -38,7 +38,7 @@ namespace behaviac { string_cat(str, aT4); return str; } - char* GenerateString4(const char* aT1, const char* aT2, const char* aT3, const char* aT4, const char* aT5) { + char* MakeStringName4(const char* aT1, const char* aT2, const char* aT3, const char* aT4, const char* aT5) { size_t size = strlen(aT1) + strlen(aT2) + strlen(aT3) + strlen(aT4) + strlen(aT5); char* str = (char*)BEHAVIAC_MALLOC_WITHTAG(size + 1, "CRTTIBase"); string_cpy(str, aT1); @@ -48,7 +48,7 @@ namespace behaviac { string_cat(str, aT5); return str; } - char* GenerateString5(const char* aT1, const char* aT2, const char* aT3, const char* aT4, const char* aT5, const char* aT6) { + char* MakeStringName5(const char* aT1, const char* aT2, const char* aT3, const char* aT4, const char* aT5, const char* aT6) { size_t size = strlen(aT1) + strlen(aT2) + strlen(aT3) + strlen(aT4) + strlen(aT5) + strlen(aT6); char* str = (char*)BEHAVIAC_MALLOC_WITHTAG(size + 1, "CRTTIBase"); string_cpy(str, aT1); @@ -60,10 +60,6 @@ namespace behaviac { return str; } - CRTTIBaseAutoFreeChar::~CRTTIBaseAutoFreeChar() { - BEHAVIAC_FREE(m_str); - } - template<> void CRTTIBase::TLayerInfoDecl<1>::InitClassLayerInfo(char const* szCassTypeName, const CRTTIBase::CLayerInfoBase* parent_) { InternalInitClassLayerInfo(szCassTypeName, parent_); diff --git a/src/fsm/alwaystransition.cpp b/src/fsm/alwaystransition.cpp index b4cc66ce..13baa5d0 100644 --- a/src/fsm/alwaystransition.cpp +++ b/src/fsm/alwaystransition.cpp @@ -48,6 +48,8 @@ namespace behaviac { } bool AlwaysTransition::Evaluate(Agent* pAgent, EBTStatus status) { + BEHAVIAC_UNUSED_VAR(pAgent); + if (this->m_transitionPhase == ETP_Always) { return true; } else if (status == BT_SUCCESS && (this->m_transitionPhase == ETP_Success || this->m_transitionPhase == ETP_Exit)) { diff --git a/test/btperformance/btperformance.cpp b/test/btperformance/btperformance.cpp index e02a8f48..ffd83289 100644 --- a/test/btperformance/btperformance.cpp +++ b/test/btperformance/btperformance.cpp @@ -225,6 +225,7 @@ int main(int argc, char** argv) CommandLineParameterParser CLPP(argc, argv); //if to wait for the key to end bool bWait = CLPP.ParameterExist("-wait"); + BEHAVIAC_UNUSED_VAR(bWait); int countAgents = CLPP.ParameterEqualExist("-agents="); @@ -254,7 +255,8 @@ int main(int argc, char** argv) //behaviac::Socket::ShutdownConnection(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/test/btremotetest/remote_test.cpp b/test/btremotetest/remote_test.cpp index 3a3476f5..c269e3c4 100644 --- a/test/btremotetest/remote_test.cpp +++ b/test/btremotetest/remote_test.cpp @@ -15,35 +15,44 @@ #include "BTPlayer.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -using namespace std; -using namespace behaviac; - -CBTPlayer* g_player = NULL; +#endif +#if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } +#endif + +using namespace std; + +CBTPlayer* g_player = NULL; bool InitBehavic(behaviac::Workspace::EFileFormat ff) { @@ -125,7 +134,8 @@ int main(int argc, char** argv) CleanupPlayer(); CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/test/btunittest/main.cpp b/test/btunittest/main.cpp index b744f79d..4e9cf7b6 100644 --- a/test/btunittest/main.cpp +++ b/test/btunittest/main.cpp @@ -161,6 +161,7 @@ int main(int argc, char** argv) CommandLineParameterParser CLPP(argc, argv); //if to wait for the key to end bool bWait = CLPP.ParameterExist("-wait"); + BEHAVIAC_UNUSED_VAR(bWait); //CConfig::GetInstance()->LoadConfig("setting.xml"); @@ -184,10 +185,10 @@ int main(int argc, char** argv) _CrtSetBreakAlloc(s_breakalloc); #endif - bool bVerbose = false; - int result = my_main(bVerbose); + int result = my_main(false); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return result; diff --git a/test/demo_running/demo_running.cpp b/test/demo_running/demo_running.cpp index d9fab386..7f3224a1 100644 --- a/test/demo_running/demo_running.cpp +++ b/test/demo_running/demo_running.cpp @@ -15,46 +15,45 @@ #include "BTPlayer.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "demo_running", __VA_ARGS__)) -#else - #define LOGI printf #endif -//#define LOGI BEHAVIAC_LOGINFO - - -using namespace std; -using namespace behaviac; - -CBTPlayer* g_player = NULL; #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +CBTPlayer* g_player = NULL; + bool InitBehavic(behaviac::Workspace::EFileFormat ff, const char* szFilePath = "../test/demo_running/behaviac/exported", const char* szExportMetaFile = "../test/demo_running/behaviac/demo_running.xml") @@ -148,7 +147,8 @@ int main(int argc, char** argv) Run(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/test/usertest/usertest.cpp b/test/usertest/usertest.cpp index 4ecc9178..be876360 100644 --- a/test/usertest/usertest.cpp +++ b/test/usertest/usertest.cpp @@ -16,6 +16,7 @@ #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif #include @@ -33,21 +34,21 @@ unsigned int g_uiRunCount = 0; static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } @@ -166,7 +167,8 @@ int main(int argc, char** argv) CleanupPlayer(); CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tools/designer/BehaviacDesigner/Properties/AssemblyInfo.cs b/tools/designer/BehaviacDesigner/Properties/AssemblyInfo.cs index bb96831a..6241936e 100644 --- a/tools/designer/BehaviacDesigner/Properties/AssemblyInfo.cs +++ b/tools/designer/BehaviacDesigner/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ // Build Number // Revision // -[assembly: AssemblyVersion("3.6.28")] -[assembly: AssemblyFileVersion("3.6.28")] +[assembly: AssemblyVersion("3.6.29")] +[assembly: AssemblyFileVersion("3.6.29")] diff --git a/tools/designer/Plugins/PluginBehaviac/Exporters/ExporterCs.cs b/tools/designer/Plugins/PluginBehaviac/Exporters/ExporterCs.cs index 934de2ef..248ce4d7 100644 --- a/tools/designer/Plugins/PluginBehaviac/Exporters/ExporterCs.cs +++ b/tools/designer/Plugins/PluginBehaviac/Exporters/ExporterCs.cs @@ -1279,7 +1279,7 @@ private void PreExportMeta(StringWriter file) } } - file.WriteLine("\t\t\t\tDebug.Check(paramStrs.Count == {0});", validPropCount); + file.WriteLine("\t\t\t\tDebug.Check(paramStrs != null && paramStrs.Count == {0});", validPropCount); file.WriteLine(); validPropCount = 0; diff --git a/tutorials/CsTutorials/behaviac/runtime/version.txt b/tutorials/CsTutorials/behaviac/runtime/version.txt index c170a8a7..b16f877e 100644 --- a/tutorials/CsTutorials/behaviac/runtime/version.txt +++ b/tutorials/CsTutorials/behaviac/runtime/version.txt @@ -1 +1 @@ -3.6.28 +3.6.29 diff --git a/tutorials/tutorial_1/cpp/tutorial_1.cpp b/tutorials/tutorial_1/cpp/tutorial_1.cpp index 6326af47..59018783 100644 --- a/tutorials/tutorial_1/cpp/tutorial_1.cpp +++ b/tutorials/tutorial_1/cpp/tutorial_1.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_1", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -123,7 +125,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_1/unity/Assets/Scripts/behaviac/runtime/version.txt b/tutorials/tutorial_1/unity/Assets/Scripts/behaviac/runtime/version.txt index c170a8a7..b16f877e 100644 --- a/tutorials/tutorial_1/unity/Assets/Scripts/behaviac/runtime/version.txt +++ b/tutorials/tutorial_1/unity/Assets/Scripts/behaviac/runtime/version.txt @@ -1 +1 @@ -3.6.28 +3.6.29 diff --git a/tutorials/tutorial_1/workspace/tutorial_1_cs.workspace.xml b/tutorials/tutorial_1/workspace/tutorial_1_cs.workspace.xml index 2aaf2d37..3e25545f 100644 --- a/tutorials/tutorial_1/workspace/tutorial_1_cs.workspace.xml +++ b/tutorials/tutorial_1/workspace/tutorial_1_cs.workspace.xml @@ -1,11 +1,6 @@  - - False - 1 - ../../cpp - False 1 diff --git a/tutorials/tutorial_1_1/cpp/tutorial_1_1.cpp b/tutorials/tutorial_1_1/cpp/tutorial_1_1.cpp index 6ad2d7f1..e6efe648 100644 --- a/tutorials/tutorial_1_1/cpp/tutorial_1_1.cpp +++ b/tutorials/tutorial_1_1/cpp/tutorial_1_1.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_1_1", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -123,7 +125,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_1_1/workspace/tutorial_1_1_cs.workspace.xml b/tutorials/tutorial_1_1/workspace/tutorial_1_1_cs.workspace.xml index 5becf376..e178c64f 100644 --- a/tutorials/tutorial_1_1/workspace/tutorial_1_1_cs.workspace.xml +++ b/tutorials/tutorial_1_1/workspace/tutorial_1_1_cs.workspace.xml @@ -1,11 +1,6 @@  - - False - 1 - ../../cpp - False 1 diff --git a/tutorials/tutorial_1_2/cpp/tutorial_1_2.cpp b/tutorials/tutorial_1_2/cpp/tutorial_1_2.cpp index 9ed1e9ea..8366bf9a 100644 --- a/tutorials/tutorial_1_2/cpp/tutorial_1_2.cpp +++ b/tutorials/tutorial_1_2/cpp/tutorial_1_2.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_1_2", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -SecondAgent* g_SecondAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +SecondAgent* g_SecondAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -123,7 +125,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_2/cpp/tutorial_2.cpp b/tutorials/tutorial_2/cpp/tutorial_2.cpp index c5fe1848..f679f92e 100644 --- a/tutorials/tutorial_2/cpp/tutorial_2.cpp +++ b/tutorials/tutorial_2/cpp/tutorial_2.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_2", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -151,7 +153,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_2/workspace/tutorial_2_cs.workspace.xml b/tutorials/tutorial_2/workspace/tutorial_2_cs.workspace.xml index a995a70a..c0eb0be9 100644 --- a/tutorials/tutorial_2/workspace/tutorial_2_cs.workspace.xml +++ b/tutorials/tutorial_2/workspace/tutorial_2_cs.workspace.xml @@ -1,11 +1,6 @@  - - True - 1 - ../../cpp - True diff --git a/tutorials/tutorial_3/cpp/tutorial_3.cpp b/tutorials/tutorial_3/cpp/tutorial_3.cpp index f8542f63..208eadaf 100644 --- a/tutorials/tutorial_3/cpp/tutorial_3.cpp +++ b/tutorials/tutorial_3/cpp/tutorial_3.cpp @@ -13,21 +13,17 @@ #include "behaviac_generated/types/behaviac_types.h" -#if BEHAVIAC_CCDEFINE_MSVC -#include -#endif - #if BEHAVIAC_CCDEFINE_ANDROID #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) #else #define LOGI printf -#endif -using namespace std; +#if BEHAVIAC_CCDEFINE_MSVC + #include + #include +#endif -FirstAgent* g_FirstAgent = NULL; -SecondAgent* g_SecondAgent = NULL; -SecondAgent* g_ThirdAgent = NULL; +#endif #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() @@ -37,21 +33,27 @@ static void SetExePath() GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) + while (_tcschr(p, L'\\')) { - p = strchr(p, '\\'); + p = _tcschr(p, L'\\'); p++; } - *p = '\0'; + *p = L'\0'; SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; +SecondAgent* g_SecondAgent = NULL; +SecondAgent* g_ThirdAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -130,7 +132,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_3/workspace/tutorial_3_cs.workspace.xml b/tutorials/tutorial_3/workspace/tutorial_3_cs.workspace.xml index 92aeb821..02542526 100644 --- a/tutorials/tutorial_3/workspace/tutorial_3_cs.workspace.xml +++ b/tutorials/tutorial_3/workspace/tutorial_3_cs.workspace.xml @@ -1,11 +1,6 @@  - - True - 1 - ../../cpp - False diff --git a/tutorials/tutorial_4/cpp/tutorial_4.cpp b/tutorials/tutorial_4/cpp/tutorial_4.cpp index a004b79f..799af418 100644 --- a/tutorials/tutorial_4/cpp/tutorial_4.cpp +++ b/tutorials/tutorial_4/cpp/tutorial_4.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_4", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -123,7 +125,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_5/cpp/tutorial_5.cpp b/tutorials/tutorial_5/cpp/tutorial_5.cpp index 1b96fc1a..054dae26 100644 --- a/tutorials/tutorial_5/cpp/tutorial_5.cpp +++ b/tutorials/tutorial_5/cpp/tutorial_5.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_5", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -147,7 +149,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_5/workspace/tutorial_5_cs.workspace.xml b/tutorials/tutorial_5/workspace/tutorial_5_cs.workspace.xml index 3ce3f8d8..dd4522f3 100644 --- a/tutorials/tutorial_5/workspace/tutorial_5_cs.workspace.xml +++ b/tutorials/tutorial_5/workspace/tutorial_5_cs.workspace.xml @@ -1,11 +1,6 @@  - - False - 1 - ../../cpp - False 1 diff --git a/tutorials/tutorial_6/cpp/tutorial_6.cpp b/tutorials/tutorial_6/cpp/tutorial_6.cpp index 50be500a..4cf33cb6 100644 --- a/tutorials/tutorial_6/cpp/tutorial_6.cpp +++ b/tutorials/tutorial_6/cpp/tutorial_6.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_6", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -122,7 +124,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_7/cpp/tutorial_7.cpp b/tutorials/tutorial_7/cpp/tutorial_7.cpp index e859141b..580859e7 100644 --- a/tutorials/tutorial_7/cpp/tutorial_7.cpp +++ b/tutorials/tutorial_7/cpp/tutorial_7.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_7", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -132,7 +134,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_8/cpp/tutorial_8.cpp b/tutorials/tutorial_8/cpp/tutorial_8.cpp index d61c50a0..4790c68c 100644 --- a/tutorials/tutorial_8/cpp/tutorial_8.cpp +++ b/tutorials/tutorial_8/cpp/tutorial_8.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_8", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -120,7 +122,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_8/cs/behaviac_generated/types/AgentProperties.cs b/tutorials/tutorial_8/cs/behaviac_generated/types/AgentProperties.cs index de5dd36c..0cfee300 100644 --- a/tutorials/tutorial_8/cs/behaviac_generated/types/AgentProperties.cs +++ b/tutorials/tutorial_8/cs/behaviac_generated/types/AgentProperties.cs @@ -31,7 +31,7 @@ class CInstanceConst_FirstStruct : CInstanceConst public CInstanceConst_FirstStruct(string typeName, string valueStr) : base(typeName, valueStr) { List paramStrs = behaviac.StringUtils.SplitTokensForStruct(valueStr); - Debug.Check(paramStrs.Count == 2); + Debug.Check(paramStrs != null && paramStrs.Count == 2); _s1 = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[0]); _s2 = (CInstanceMember)AgentMeta.ParseProperty(paramStrs[1]); diff --git a/tutorials/tutorial_8/workspace/tutorial_8_cs.workspace.xml b/tutorials/tutorial_8/workspace/tutorial_8_cs.workspace.xml index 1b24ed06..e5d0f3d1 100644 --- a/tutorials/tutorial_8/workspace/tutorial_8_cs.workspace.xml +++ b/tutorials/tutorial_8/workspace/tutorial_8_cs.workspace.xml @@ -1,11 +1,6 @@  - - False - 1 - ../../cpp - False diff --git a/tutorials/tutorial_9/cpp/tutorial_9.cpp b/tutorials/tutorial_9/cpp/tutorial_9.cpp index f0c9bef5..f23dda8a 100644 --- a/tutorials/tutorial_9/cpp/tutorial_9.cpp +++ b/tutorials/tutorial_9/cpp/tutorial_9.cpp @@ -13,43 +13,45 @@ #include "behaviac_generated/types/behaviac_types.h" +#if BEHAVIAC_CCDEFINE_ANDROID +#define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_3", __VA_ARGS__)) +#else +#define LOGI printf + #if BEHAVIAC_CCDEFINE_MSVC #include +#include #endif -#if BEHAVIAC_CCDEFINE_ANDROID - #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, "tutorial_9", __VA_ARGS__)) -#else - #define LOGI printf #endif -using namespace std; - -FirstAgent* g_FirstAgent = NULL; - #if !BEHAVIAC_CCDEFINE_ANDROID static void SetExePath() { #if BEHAVIAC_CCDEFINE_MSVC - TCHAR szCurPath[_MAX_PATH]; + TCHAR szCurPath[_MAX_PATH]; - GetModuleFileName(NULL, szCurPath, _MAX_PATH); + GetModuleFileName(NULL, szCurPath, _MAX_PATH); - char* p = szCurPath; + TCHAR* p = szCurPath; - while (strchr(p, '\\')) - { - p = strchr(p, '\\'); - p++; - } + while (_tcschr(p, L'\\')) + { + p = _tcschr(p, L'\\'); + p++; + } - *p = '\0'; + *p = L'\0'; - SetCurrentDirectory(szCurPath); + SetCurrentDirectory(szCurPath); #endif } #endif +using namespace std; + +FirstAgent* g_FirstAgent = NULL; + bool InitBehavic() { LOGI("InitBehavic\n"); @@ -120,7 +122,8 @@ int main(int argc, char** argv) CleanupBehaviac(); - int ret = system("pause"); + printf("Press any key to continue..."); + int ret = getchar(); BEHAVIAC_UNUSED_VAR(ret); return 0; diff --git a/tutorials/tutorial_9/workspace/tutorial_9_cs.workspace.xml b/tutorials/tutorial_9/workspace/tutorial_9_cs.workspace.xml index 98a0fc20..3490faa8 100644 --- a/tutorials/tutorial_9/workspace/tutorial_9_cs.workspace.xml +++ b/tutorials/tutorial_9/workspace/tutorial_9_cs.workspace.xml @@ -1,11 +1,6 @@  - - False - 1 - ../../cpp - False diff --git a/version.txt b/version.txt index c170a8a7..b16f877e 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -3.6.28 +3.6.29