From 2a49ff957ae90e9d58bc3c47016eee91d4eaae32 Mon Sep 17 00:00:00 2001 From: Ilya Orlov Date: Fri, 28 Sep 2018 20:13:05 +0300 Subject: [PATCH] xrRender: fix some linux compilation error (templates and typenames) --- src/Layers/xrRender/ShaderResourceTraits.h | 16 ++++++++-------- src/Layers/xrRender/SkeletonCustom.h | 6 +++--- src/Layers/xrRender/SkeletonX.cpp | 2 ++ src/Layers/xrRender/SkeletonX.h | 3 ++- src/Layers/xrRender/r__dsgraph_render.cpp | 4 ++-- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/Layers/xrRender/ShaderResourceTraits.h b/src/Layers/xrRender/ShaderResourceTraits.h index 2194115bd0c..c61efc87a45 100644 --- a/src/Layers/xrRender/ShaderResourceTraits.h +++ b/src/Layers/xrRender/ShaderResourceTraits.h @@ -8,7 +8,7 @@ struct ShaderTypeTraits; template <> struct ShaderTypeTraits { - typedef CResourceManager::map_VS MapType; + using MapType = CResourceManager::map_VS; #ifdef USE_OGL using HWShaderType = GLuint; @@ -65,7 +65,7 @@ struct ShaderTypeTraits template <> struct ShaderTypeTraits { - typedef CResourceManager::map_PS MapType; + using MapType = CResourceManager::map_PS; #ifdef USE_OGL using HWShaderType = GLuint; @@ -132,7 +132,7 @@ struct ShaderTypeTraits template <> struct ShaderTypeTraits { - typedef CResourceManager::map_GS MapType; + using MapType = CResourceManager::map_GS; #ifdef USE_OGL using HWShaderType = GLuint; @@ -191,7 +191,7 @@ struct ShaderTypeTraits template <> struct ShaderTypeTraits { - typedef CResourceManager::map_HS MapType; + using MapType = CResourceManager::map_HS; #ifdef USE_OGL using HWShaderType = GLuint; @@ -227,7 +227,7 @@ struct ShaderTypeTraits template <> struct ShaderTypeTraits { - typedef CResourceManager::map_DS MapType; + using MapType = CResourceManager::map_DS; #ifdef USE_OGL using HWShaderType = GLuint; @@ -263,7 +263,7 @@ struct ShaderTypeTraits template <> struct ShaderTypeTraits { - typedef CResourceManager::map_CS MapType; + using MapType = CResourceManager::map_CS; #ifdef USE_OGL using HWShaderType = GLuint; @@ -340,7 +340,7 @@ inline CResourceManager::map_CS& CResourceManager::GetShaderMap() template inline T* CResourceManager::CreateShader(const char* name, const char* filename /*= nullptr*/, const bool searchForEntryAndTarget /*= false*/) { - ShaderTypeTraits::MapType& sh_map = GetShaderMap::MapType>(); + typename ShaderTypeTraits::MapType& sh_map = GetShaderMap::MapType>(); LPSTR N = LPSTR(name); auto iterator = sh_map.find(N); @@ -437,7 +437,7 @@ inline void CResourceManager::DestroyShader(const T* sh) if (0 == (sh->dwFlags & xr_resource_flagged::RF_REGISTERED)) return; - ShaderTypeTraits::MapType& sh_map = GetShaderMap::MapType>(); + typename ShaderTypeTraits::MapType& sh_map = GetShaderMap::MapType>(); LPSTR N = LPSTR(*sh->cName); auto iterator = sh_map.find(N); diff --git a/src/Layers/xrRender/SkeletonCustom.h b/src/Layers/xrRender/SkeletonCustom.h index 5ed227a8ece..d51c33a8e90 100644 --- a/src/Layers/xrRender/SkeletonCustom.h +++ b/src/Layers/xrRender/SkeletonCustom.h @@ -5,7 +5,6 @@ #include "FHierrarhyVisual.h" #include "xrCore/Animation/Bone.hpp" #include "Include/xrRender/Kinematics.h" -#include "SkeletonX.h" // consts extern Lock UCalc_Mutex; @@ -15,6 +14,7 @@ class CKinematics; class CInifile; class CBoneData; struct SEnumVerticesCallback; +class CSkeletonX; // MT-locker struct UCalc_mtlock @@ -107,7 +107,7 @@ class CKinematics : public FHierrarhyVisual, public IKinematics friend class CSkeletonX; protected: //--#SM+#-- - DEFINE_VECTOR(KinematicsABT::additional_bone_transform, BONE_TRANSFORM_VECTOR, BONE_TRANSFORM_VECTOR_IT); + DEFINE_VECTOR(KinematicsABT::additional_bone_transform, BONE_TRANSFORM_VECTOR, BONE_TRANSFORM_VECTOR_IT) BONE_TRANSFORM_VECTOR m_bones_offsets; public: @@ -159,7 +159,7 @@ class CKinematics : public FHierrarhyVisual, public IKinematics virtual CBoneData* CreateBoneData(u16 ID) { return new CBoneData(ID); } virtual void IBoneInstances_Create(); virtual void IBoneInstances_Destroy(); - void Visibility_Invalidate() { Update_Visibility = TRUE; }; + void Visibility_Invalidate() { Update_Visibility = TRUE; } void Visibility_Update(); void LL_Validate(); diff --git a/src/Layers/xrRender/SkeletonX.cpp b/src/Layers/xrRender/SkeletonX.cpp index c54f80ef317..3c2b4fa9470 100644 --- a/src/Layers/xrRender/SkeletonX.cpp +++ b/src/Layers/xrRender/SkeletonX.cpp @@ -5,10 +5,12 @@ #include "stdafx.h" #pragma hdrstop +#if defined(WINDOWS) #pragma warning(push) #pragma warning(disable : 4995) #include #pragma warning(pop) +#endif #ifndef _EDITOR #include "xrEngine/Render.h" diff --git a/src/Layers/xrRender/SkeletonX.h b/src/Layers/xrRender/SkeletonX.h index dc9a03805e7..0c1200924db 100644 --- a/src/Layers/xrRender/SkeletonX.h +++ b/src/Layers/xrRender/SkeletonX.h @@ -8,6 +8,7 @@ #include "SkeletonCustom.h" #include "SkeletonXVertRender.h" +#include "xrCDB/Intersect.hpp" // refs class CKinematics; @@ -164,7 +165,7 @@ BOOL pick_bone(CKinematics* Parent, IKinematics::pick_result& r, float dist, con VERIFY(!"Not implemented"); return FALSE; } -#else USE_DX10 +#elif USE_DX10 template BOOL pick_bone(CKinematics* Parent, IKinematics::pick_result& r, float dist, const Fvector& S, const Fvector& D, Fvisual* V, u16* indices, CBoneData::FacesVec& faces) diff --git a/src/Layers/xrRender/r__dsgraph_render.cpp b/src/Layers/xrRender/r__dsgraph_render.cpp index cf3c757d84f..de6ae0580c6 100644 --- a/src/Layers/xrRender/r__dsgraph_render.cpp +++ b/src/Layers/xrRender/r__dsgraph_render.cpp @@ -412,7 +412,7 @@ template IC bool cmp_first_h(const T &lhs, const T &rhs) { return (lhs template IC void sort_front_to_back_render_and_clean(T &vec) { - std::sort(vec.begin(), vec.end(), cmp_first_l); // front-to-back + std::sort(vec.begin(), vec.end(), cmp_first_l); // front-to-back for (auto &i : vec) render_item(i); vec.clear(); @@ -421,7 +421,7 @@ IC void sort_front_to_back_render_and_clean(T &vec) template IC void sort_back_to_front_render_and_clean(T &vec) { - std::sort(vec.begin(), vec.end(), cmp_first_h); // back-to-front + std::sort(vec.begin(), vec.end(), cmp_first_h); // back-to-front for (auto &i : vec) render_item(i); vec.clear();