From 66affb72c47be23c30dacd2528d0a20aedb21de2 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Sat, 28 Apr 2018 17:16:44 -0700 Subject: [PATCH 01/23] Core migration complete --- Core.lua | 1 - Source/Core | 2 +- Source/Engine/EditorSupport/FbxSupport.cpp | 2 +- Source/Engine/EditorSupport/Image.cpp | 2 +- .../Engine/EditorSupport/PngImageLoader.cpp | 2 +- .../Engine/EditorSupport/TgaImageLoader.cpp | 2 +- .../Engine/GraphicsTypes/GraphicsSceneView.h | 2 +- Source/Engine/GraphicsTypes/VertexTypes.h | 2 +- Source/Engine/MathSimd/Color.cpp | 13 - Source/Engine/MathSimd/Color.h | 88 ------- Source/Engine/MathSimd/Color.inl | 248 ------------------ Source/Engine/Rendering/RRenderCommandProxy.h | 2 +- Source/Tools/EditorScene/Colors.h | 2 +- Source/Tools/EditorScene/GridSettings.h | 2 +- Source/Tools/EditorScene/Viewport.h | 2 +- 15 files changed, 11 insertions(+), 361 deletions(-) delete mode 100644 Source/Engine/MathSimd/Color.cpp delete mode 100644 Source/Engine/MathSimd/Color.h delete mode 100644 Source/Engine/MathSimd/Color.inl diff --git a/Core.lua b/Core.lua index a5e0e8360..2300accf7 100644 --- a/Core.lua +++ b/Core.lua @@ -201,7 +201,6 @@ project( prefix .. "Inspect" ) prefix .. "Reflect", prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", } configuration {} diff --git a/Source/Core b/Source/Core index a4d346418..fcb7efc18 160000 --- a/Source/Core +++ b/Source/Core @@ -1 +1 @@ -Subproject commit a4d34641889655706c1abfa300dac73883dbb95e +Subproject commit fcb7efc1834ba392a83a0affa9452eafb7aefade diff --git a/Source/Engine/EditorSupport/FbxSupport.cpp b/Source/Engine/EditorSupport/FbxSupport.cpp index 0042afe09..8d3f730d6 100644 --- a/Source/Engine/EditorSupport/FbxSupport.cpp +++ b/Source/Engine/EditorSupport/FbxSupport.cpp @@ -6,7 +6,7 @@ #include "MathSimd/Vector2.h" #include "Foundation/StringConverter.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" using namespace Helium; diff --git a/Source/Engine/EditorSupport/Image.cpp b/Source/Engine/EditorSupport/Image.cpp index a97e82c33..1279e056c 100644 --- a/Source/Engine/EditorSupport/Image.cpp +++ b/Source/Engine/EditorSupport/Image.cpp @@ -4,7 +4,7 @@ #include "EditorSupport/Image.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" using namespace Helium; diff --git a/Source/Engine/EditorSupport/PngImageLoader.cpp b/Source/Engine/EditorSupport/PngImageLoader.cpp index 1a3e278d2..6815fbee0 100644 --- a/Source/Engine/EditorSupport/PngImageLoader.cpp +++ b/Source/Engine/EditorSupport/PngImageLoader.cpp @@ -6,7 +6,7 @@ #include "Foundation/Stream.h" #include "Foundation/StringConverter.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" #include "EditorSupport/Image.h" #define PNG_USER_MEM_SUPPORTED diff --git a/Source/Engine/EditorSupport/TgaImageLoader.cpp b/Source/Engine/EditorSupport/TgaImageLoader.cpp index 3e16d0132..70cc4689d 100644 --- a/Source/Engine/EditorSupport/TgaImageLoader.cpp +++ b/Source/Engine/EditorSupport/TgaImageLoader.cpp @@ -5,7 +5,7 @@ #include "EditorSupport/TgaImageLoader.h" #include "Foundation/Stream.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" #include "EditorSupport/Image.h" using namespace Helium; diff --git a/Source/Engine/GraphicsTypes/GraphicsSceneView.h b/Source/Engine/GraphicsTypes/GraphicsSceneView.h index 3074f64c1..e671cfcc4 100644 --- a/Source/Engine/GraphicsTypes/GraphicsSceneView.h +++ b/Source/Engine/GraphicsTypes/GraphicsSceneView.h @@ -6,7 +6,7 @@ #include "MathSimd/Vector2.h" #include "MathSimd/Vector3.h" #include "MathSimd/Frustum.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" #include "Rendering/RRenderResource.h" namespace Helium diff --git a/Source/Engine/GraphicsTypes/VertexTypes.h b/Source/Engine/GraphicsTypes/VertexTypes.h index b535fb138..e92b41f1f 100644 --- a/Source/Engine/GraphicsTypes/VertexTypes.h +++ b/Source/Engine/GraphicsTypes/VertexTypes.h @@ -5,7 +5,7 @@ #include "Math/Float16.h" #include "MathSimd/Vector2.h" #include "MathSimd/Vector3.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" namespace Helium { diff --git a/Source/Engine/MathSimd/Color.cpp b/Source/Engine/MathSimd/Color.cpp deleted file mode 100644 index b991e37c7..000000000 --- a/Source/Engine/MathSimd/Color.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "Precompile.h" - -#include "MathSimd/Color.h" -#include "Reflect/TranslatorDeduction.h" - -using namespace Helium; - -HELIUM_DEFINE_BASE_STRUCT( Helium::Color ); - -void Color::PopulateMetaType( Reflect::MetaStruct& comp ) -{ - comp.AddField( &Color::m_color, "m_color" ); -} \ No newline at end of file diff --git a/Source/Engine/MathSimd/Color.h b/Source/Engine/MathSimd/Color.h deleted file mode 100644 index a08eb8f12..000000000 --- a/Source/Engine/MathSimd/Color.h +++ /dev/null @@ -1,88 +0,0 @@ -#pragma once - -#include "MathSimd/API.h" -#include "Foundation/Math.h" -#include "Reflect/MetaStruct.h" - -namespace Helium -{ - /// 32-bit ARGB color value. - struct HELIUM_MATH_SIMD_API Color : Reflect::Struct - { - public: - HELIUM_DECLARE_BASE_STRUCT(Color); - static void PopulateMetaType( Reflect::MetaStruct& comp ); - - /// @name Construction/Destruction - //@{ - inline Color(); - inline Color( uint8_t r, uint8_t g, uint8_t b, uint8_t a ); - inline Color( float32_t r, float32_t g, float32_t b, float32_t a ); - inline explicit Color( uint32_t argb ); - //@} - - /// @name Data Access - //@{ - inline uint8_t GetR() const; - inline uint8_t GetG() const; - inline uint8_t GetB() const; - inline uint8_t GetA() const; - inline uint32_t GetArgb() const; - inline void SetR( uint8_t r ); - inline void SetG( uint8_t g ); - inline void SetB( uint8_t b ); - inline void SetA( uint8_t a ); - inline void SetArgb( uint32_t argb ); - - inline float32_t GetFloatR() const; - inline float32_t GetFloatG() const; - inline float32_t GetFloatB() const; - inline float32_t GetFloatA() const; - inline void SetFloatR( float32_t r ); - inline void SetFloatG( float32_t g ); - inline void SetFloatB( float32_t b ); - inline void SetFloatA( float32_t a ); - //@} - - /// @name Overloaded Operators - //@{ - inline bool operator==( const Color& rOther ) const; - inline bool operator!=( const Color& rOther ) const; - //@} - - private: - - /// Color data. - union - { - /// Packed color value. - uint32_t m_color; - - /// Individual color components. - struct - { -#if HELIUM_ENDIAN_LITTLE - /// Blue component. - uint8_t b; - /// Green component. - uint8_t g; - /// Red component. - uint8_t r; - /// Alpha component. - uint8_t a; -#else - /// Alpha component. - uint8_t a; - /// Red component. - uint8_t r; - /// Green component. - uint8_t g; - /// Blue component. - uint8_t b; -#endif - } m_components; - }; - }; -} - -#include "MathSimd/Color.inl" diff --git a/Source/Engine/MathSimd/Color.inl b/Source/Engine/MathSimd/Color.inl deleted file mode 100644 index 9c2cd3d90..000000000 --- a/Source/Engine/MathSimd/Color.inl +++ /dev/null @@ -1,248 +0,0 @@ -/// Constructor. -/// -/// No elements are initialized by default. Color values will need to be set before use. -Helium::Color::Color() -{ -} - -/// Constructor. -/// -/// @param[in] r Red component. -/// @param[in] g Green component. -/// @param[in] b Blue component. -/// @param[in] a Alpha component. -Helium::Color::Color( uint8_t r, uint8_t g, uint8_t b, uint8_t a ) -{ - m_components.r = r; - m_components.g = g; - m_components.b = b; - m_components.a = a; -} - -/// Constructor. -/// -/// @param[in] r Red component. -/// @param[in] g Green component. -/// @param[in] b Blue component. -/// @param[in] a Alpha component. -Helium::Color::Color( float32_t r, float32_t g, float32_t b, float32_t a ) -{ - m_components.r = static_cast< uint8_t >( Clamp( r, 0.0f, 1.0f ) * 255.0f + 0.5f ); - m_components.g = static_cast< uint8_t >( Clamp( g, 0.0f, 1.0f ) * 255.0f + 0.5f ); - m_components.b = static_cast< uint8_t >( Clamp( b, 0.0f, 1.0f ) * 255.0f + 0.5f ); - m_components.a = static_cast< uint8_t >( Clamp( a, 0.0f, 1.0f ) * 255.0f + 0.5f ); -} - -/// Constructor. -/// -/// @param[in] argb Packed color value (alpha stored in the most-significant byte, followed by red, then green, and -/// finally blue). -Helium::Color::Color( uint32_t argb ) -{ - m_color = argb; -} - -/// Get the red component value. -/// -/// @return Red component. -/// -/// @see GetG(), GetB(), GetA(), GetArgb(), SetR(), SetG(), SetB(), SetA(), SetArgb() -uint8_t Helium::Color::GetR() const -{ - return m_components.r; -} - -/// Get the green component value. -/// -/// @return Green component. -/// -/// @see GetR(), GetB(), GetA(), GetArgb(), SetR(), SetG(), SetB(), SetA(), SetArgb() -uint8_t Helium::Color::GetG() const -{ - return m_components.g; -} - -/// Get the blue component value. -/// -/// @return Blue component. -/// -/// @see GetR(), GetG(), GetA(), GetArgb(), SetR(), SetG(), SetB(), SetA(), SetArgb() -uint8_t Helium::Color::GetB() const -{ - return m_components.b; -} - -/// Get the alpha component value. -/// -/// @return Alpha component. -/// -/// @see GetR(), GetG(), GetB(), GetArgb(), SetR(), SetG(), SetB(), SetA(), SetArgb() -uint8_t Helium::Color::GetA() const -{ - return m_components.a; -} - -/// Get the 32-bit packed color value. -/// -/// @return Packed color value (alpha stored in the most-significant byte, followed by red, then green, and finally -/// blue). -/// @see GetR(), GetG(), GetB(), GetA(), SetR(), SetG(), SetB(), SetA(), SetArgb() -uint32_t Helium::Color::GetArgb() const -{ - return m_color; -} - -/// Set the red component value. -/// -/// @param[in] r Red component. -/// -/// @see SetG(), SetB(), SetA(), SetArgb(), GetR(), GetG(), GetB(), GetA(), GetArgb() -void Helium::Color::SetR( uint8_t r ) -{ - m_components.r = r; -} - -/// Set the green component value. -/// -/// @param[in] g Green component. -/// -/// @see SetR(), SetB(), SetA(), SetArgb(), GetR(), GetG(), GetB(), GetA(), GetArgb() -void Helium::Color::SetG( uint8_t g ) -{ - m_components.g = g; -} - -/// Set the blue component value. -/// -/// @param[in] b Blue component. -/// -/// @see SetR(), SetG(), SetA(), SetArgb(), GetR(), GetG(), GetB(), GetA(), GetArgb() -void Helium::Color::SetB( uint8_t b ) -{ - m_components.b = b; -} - -/// Set the alpha component value. -/// -/// @param[in] a Alpha component. -/// -/// @see SetR(), SetG(), SetB(), SetArgb(), GetR(), GetG(), GetB(), GetA(), GetArgb() -void Helium::Color::SetA( uint8_t a ) -{ - m_components.a = a; -} - -/// Set the 32-bit packed color value. -/// -/// @param[in] argb Packed color value (alpha stored in the most-significant byte, followed by red, then green, and -/// finally blue). -/// -/// @see SetR(), SetG(), SetB(), SetA(), GetR(), GetG(), GetB(), GetA(), GetArgb() -void Helium::Color::SetArgb( uint32_t argb ) -{ - m_color = argb; -} - -/// Get the red component as a floating-point value in the range from 0 to 1. -/// -/// @return Red component. -/// -/// @see GetFloatG(), GetFloatB(), GetFloatA(), SetFloatR(), SetFloatG(), SetFloatB(), SetFloatA() -float32_t Helium::Color::GetFloatR() const -{ - return static_cast< float32_t >( m_components.r ) * ( 1.0f / 255.0f ); -} - -/// Get the green component as a floating-point value in the range from 0 to 1. -/// -/// @return Green component. -/// -/// @see GetFloatR(), GetFloatB(), GetFloatA(), SetFloatR(), SetFloatG(), SetFloatB(), SetFloatA() -float32_t Helium::Color::GetFloatG() const -{ - return static_cast< float32_t >( m_components.g ) * ( 1.0f / 255.0f ); -} - -/// Get the blue component as a floating-point value in the range from 0 to 1. -/// -/// @return Blue component. -/// -/// @see GetFloatR(), GetFloatG(), GetFloatA(), SetFloatR(), SetFloatG(), SetFloatB(), SetFloatA() -float32_t Helium::Color::GetFloatB() const -{ - return static_cast< float32_t >( m_components.b ) * ( 1.0f / 255.0f ); -} - -/// Get the alpha component as a floating-point value in the range from 0 to 1. -/// -/// @return Alpha component. -/// -/// @see GetFloatR(), GetFloatG(), GetFloatB(), SetFloatR(), SetFloatG(), SetFloatB(), SetFloatA() -float32_t Helium::Color::GetFloatA() const -{ - return static_cast< float32_t >( m_components.a ) * ( 1.0f / 255.0f ); -} - -/// Set the red component as a floating-point value in the range from 0 to 1. -/// -/// @param r Red component. -/// -/// @see SetFloatG(), SetFloatB(), SetFloatA(), GetFloatR(), GetFloatG(), GetFloatB(), GetFloatA() -void Helium::Color::SetFloatR( float32_t r ) -{ - m_components.r = static_cast< uint8_t >( Clamp( r, 0.0f, 1.0f ) * 255.0f + 0.5f ); -} - -/// Set the green component as a floating-point value in the range from 0 to 1. -/// -/// @param g Green component. -/// -/// @see SetFloatR(), SetFloatB(), SetFloatA(), GetFloatR(), GetFloatG(), GetFloatB(), GetFloatA() -void Helium::Color::SetFloatG( float32_t g ) -{ - m_components.g = static_cast< uint8_t >( Clamp( g, 0.0f, 1.0f ) * 255.0f + 0.5f ); -} - -/// Set the blue component as a floating-point value in the range from 0 to 1. -/// -/// @param b Blue component. -/// -/// @see SetFloatR(), SetFloatG(), SetFloatA(), GetFloatR(), GetFloatG(), GetFloatB(), GetFloatA() -void Helium::Color::SetFloatB( float32_t b ) -{ - m_components.b = static_cast< uint8_t >( Clamp( b, 0.0f, 1.0f ) * 255.0f + 0.5f ); -} - -/// Set the alpha component as a floating-point value in the range from 0 to 1. -/// -/// @param a Alpha component. -/// -/// @see SetFloatR(), SetFloatG(), SetFloatB(), GetFloatR(), GetFloatG(), GetFloatB(), GetFloatA() -void Helium::Color::SetFloatA( float32_t a ) -{ - m_components.a = static_cast< uint8_t >( Clamp( a, 0.0f, 1.0f ) * 255.0f + 0.5f ); -} - -/// Equality comparison operator. -/// -/// @param[in] rOther Color with which to compare. -/// -/// @return True if this color and the given color are the same, false if not. -/// -/// @see operator!=() -bool Helium::Color::operator==( const Color& rOther ) const -{ - return ( m_color == rOther.m_color ); -} - -/// Inequality comparison operator. -/// -/// @param[in] rOther Color with which to compare. -/// -/// @return True if this color and the given color are different, false if they are the same. -/// -/// @see operator==() -bool Helium::Color::operator!=( const Color& rOther ) const -{ - return ( m_color != rOther.m_color ); -} diff --git a/Source/Engine/Rendering/RRenderCommandProxy.h b/Source/Engine/Rendering/RRenderCommandProxy.h index 32021e92c..3763fa867 100644 --- a/Source/Engine/Rendering/RRenderCommandProxy.h +++ b/Source/Engine/Rendering/RRenderCommandProxy.h @@ -2,7 +2,7 @@ #include "Rendering/RRenderResource.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" #include "Rendering/RendererTypes.h" namespace Helium diff --git a/Source/Tools/EditorScene/Colors.h b/Source/Tools/EditorScene/Colors.h index 37ab48b1f..07ba1bf04 100644 --- a/Source/Tools/EditorScene/Colors.h +++ b/Source/Tools/EditorScene/Colors.h @@ -1,6 +1,6 @@ #pragma once -#include "MathSimd/Color.h" +#include "Math/Color.h" #include "EditorScene/API.h" diff --git a/Source/Tools/EditorScene/GridSettings.h b/Source/Tools/EditorScene/GridSettings.h index a93da0c4d..d4b048b1c 100644 --- a/Source/Tools/EditorScene/GridSettings.h +++ b/Source/Tools/EditorScene/GridSettings.h @@ -2,7 +2,7 @@ #include "EditorScene/API.h" #include "EditorScene/SettingsManager.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" #include "Reflect/TranslatorDeduction.h" namespace Helium diff --git a/Source/Tools/EditorScene/Viewport.h b/Source/Tools/EditorScene/Viewport.h index b6e1cd83d..852be7c1a 100644 --- a/Source/Tools/EditorScene/Viewport.h +++ b/Source/Tools/EditorScene/Viewport.h @@ -7,7 +7,7 @@ #include "Reflect/MetaEnum.h" #include "Application/UndoQueue.h" -#include "MathSimd/Color.h" +#include "Math/Color.h" #include "EditorScene/API.h" #include "EditorScene/Render.h" From 6bf24a46e4790bc5f919b9a58e0f0d8210141828 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Sun, 27 May 2018 20:46:36 -0700 Subject: [PATCH 02/23] Finish cleaning up test data, move bull into spearate test project (can't make it work, not sure why, on the list --- Data/Editor/System.json | 19 - Data/Meshes/cube.fbx | 332 -------------- Data/Meshes/cube.fbx.json | 9 - Data/Meshes/sphere.fbx | 416 ------------------ Data/Meshes/sphere.fbx.json | 9 - .../Data}/Animations/TestBull_anim.fbx | Bin .../Config/DefaultLin/GraphicsConfig.json | 9 +- .../Config/DefaultMac/GraphicsConfig.json | 9 +- .../Config/DefaultWin/GraphicsConfig.json | 9 +- Projects/TestBull/Data/Editor/System.json | 19 + .../Data}/Fonts/Bitstream Vera License.txt | 0 .../TestBull/Data}/Fonts/DebugLarge.json | 0 .../TestBull/Data}/Fonts/DebugMedium.json | 0 .../TestBull/Data}/Fonts/DebugSmall.json | 0 .../TestBull/Data}/Fonts/Vera-Bold-Italic.ttf | Bin .../TestBull/Data}/Fonts/Vera-Bold.ttf | Bin .../TestBull/Data}/Fonts/Vera-Italic.ttf | Bin .../TestBull/Data}/Fonts/Vera.ttf | Bin Projects/TestBull/Data/Materials/Default.json | 13 + .../TestBull/Data}/Materials/TestBull.json | 0 .../TestBull/Data}/Meshes/TestBull.fbx | Bin .../TestBull/Data}/Meshes/TestBull.fbx.json | 0 .../Data/Scenes/TestScene/Camera.json | 25 ++ .../Scenes/TestScene/SceneDefinition.json | 11 + .../Data/Scenes/TestScene/TestBull.json | 17 + .../TestBull/Data}/Shaders/Common.inl | 0 .../TestBull/Data}/Shaders/PrePass.hlsl | 0 .../Data}/Shaders/ScreenSpaceTexture.hlsl | 0 .../TestBull/Data}/Shaders/ScreenText.hlsl | 0 .../TestBull/Data}/Shaders/Simple.hlsl | 0 .../TestBull/Data}/Shaders/StandardBase.hlsl | 0 Projects/TestBull/Data/System/System.json | 8 + .../TestBull/Data/System/WorldDefinition.json | 25 ++ Projects/TestBull/Data/Textures/Default.png | Bin 0 -> 15133 bytes .../TestBull/Data}/Textures/TestBull_DM.png | Bin .../TestBull/Data}/Textures/TestBull_NM.png | Bin .../TestBull/Data}/Textures/TestBull_SM.png | Bin Projects/TestBull/Source/Main/Icon.ico | Bin 0 -> 13094 bytes Projects/TestBull/Source/Main/Main.cpp | 132 ++++++ Projects/TestBull/Source/Main/Main.rc | 84 ++++ Projects/TestBull/Source/Main/Types.cpp | 10 + Projects/TestBull/Source/Main/resource.h | 16 + .../TestBull/Source/Module/Precompile.cpp | 13 + Projects/TestBull/Source/Module/Precompile.h | 13 + Shared.lua | 1 + Tools.lua | 1 + 46 files changed, 400 insertions(+), 800 deletions(-) delete mode 100644 Data/Editor/System.json delete mode 100644 Data/Meshes/cube.fbx delete mode 100644 Data/Meshes/cube.fbx.json delete mode 100644 Data/Meshes/sphere.fbx delete mode 100644 Data/Meshes/sphere.fbx.json rename {Data => Projects/TestBull/Data}/Animations/TestBull_anim.fbx (100%) rename {Data => Projects/TestBull/Data}/Config/DefaultLin/GraphicsConfig.json (77%) rename {Data => Projects/TestBull/Data}/Config/DefaultMac/GraphicsConfig.json (77%) rename {Data => Projects/TestBull/Data}/Config/DefaultWin/GraphicsConfig.json (77%) create mode 100644 Projects/TestBull/Data/Editor/System.json rename {Data => Projects/TestBull/Data}/Fonts/Bitstream Vera License.txt (100%) rename {Data => Projects/TestBull/Data}/Fonts/DebugLarge.json (100%) rename {Data => Projects/TestBull/Data}/Fonts/DebugMedium.json (100%) rename {Data => Projects/TestBull/Data}/Fonts/DebugSmall.json (100%) rename {Data => Projects/TestBull/Data}/Fonts/Vera-Bold-Italic.ttf (100%) rename {Data => Projects/TestBull/Data}/Fonts/Vera-Bold.ttf (100%) rename {Data => Projects/TestBull/Data}/Fonts/Vera-Italic.ttf (100%) rename {Data => Projects/TestBull/Data}/Fonts/Vera.ttf (100%) create mode 100644 Projects/TestBull/Data/Materials/Default.json rename {Data => Projects/TestBull/Data}/Materials/TestBull.json (100%) rename {Data => Projects/TestBull/Data}/Meshes/TestBull.fbx (100%) rename {Data => Projects/TestBull/Data}/Meshes/TestBull.fbx.json (100%) create mode 100644 Projects/TestBull/Data/Scenes/TestScene/Camera.json create mode 100644 Projects/TestBull/Data/Scenes/TestScene/SceneDefinition.json create mode 100644 Projects/TestBull/Data/Scenes/TestScene/TestBull.json rename {Data => Projects/TestBull/Data}/Shaders/Common.inl (100%) rename {Data => Projects/TestBull/Data}/Shaders/PrePass.hlsl (100%) rename {Data => Projects/TestBull/Data}/Shaders/ScreenSpaceTexture.hlsl (100%) rename {Data => Projects/TestBull/Data}/Shaders/ScreenText.hlsl (100%) rename {Data => Projects/TestBull/Data}/Shaders/Simple.hlsl (100%) rename {Data => Projects/TestBull/Data}/Shaders/StandardBase.hlsl (100%) create mode 100644 Projects/TestBull/Data/System/System.json create mode 100644 Projects/TestBull/Data/System/WorldDefinition.json create mode 100644 Projects/TestBull/Data/Textures/Default.png rename {Data => Projects/TestBull/Data}/Textures/TestBull_DM.png (100%) rename {Data => Projects/TestBull/Data}/Textures/TestBull_NM.png (100%) rename {Data => Projects/TestBull/Data}/Textures/TestBull_SM.png (100%) create mode 100644 Projects/TestBull/Source/Main/Icon.ico create mode 100644 Projects/TestBull/Source/Main/Main.cpp create mode 100644 Projects/TestBull/Source/Main/Main.rc create mode 100644 Projects/TestBull/Source/Main/Types.cpp create mode 100644 Projects/TestBull/Source/Main/resource.h create mode 100644 Projects/TestBull/Source/Module/Precompile.cpp create mode 100644 Projects/TestBull/Source/Module/Precompile.h diff --git a/Data/Editor/System.json b/Data/Editor/System.json deleted file mode 100644 index ba75d5756..000000000 --- a/Data/Editor/System.json +++ /dev/null @@ -1,19 +0,0 @@ -[ - { - "Helium::SystemDefinition": { - "m_SystemComponents": [ - - ], - "m_ComponentTypeConfigs": [ - { - "m_ComponentTypeName": "Helium::BulletBodyComponent", - "m_PoolSize": 64 - }, - { - "m_ComponentTypeName": "ExampleGame::AvatarControllerComponent", - "m_PoolSize": 64 - } - ] - } - } -] \ No newline at end of file diff --git a/Data/Meshes/cube.fbx b/Data/Meshes/cube.fbx deleted file mode 100644 index ffa1cbe86..000000000 --- a/Data/Meshes/cube.fbx +++ /dev/null @@ -1,332 +0,0 @@ -; FBX 6.1.0 project file -; Created by Blender FBX Exporter -; for support mail: ideasman42@gmail.com -; ---------------------------------------------------- - -FBXHeaderExtension: { - FBXHeaderVersion: 1003 - FBXVersion: 6100 - CreationTimeStamp: { - Version: 1000 - Year: 2013 - Month: 06 - Day: 20 - Hour: 03 - Minute: 20 - Second: 26 - Millisecond: 0 - } - Creator: "FBX SDK/FBX Plugins build 20070228" - OtherFlags: { - FlagPLE: 0 - } -} -CreationTime: "2013-06-20 03:20:26:000" -Creator: "Blender version 2.67 (sub 0)" - -; Object definitions -;------------------------------------------------------------------ - -Definitions: { - Version: 100 - Count: 4 - ObjectType: "Model" { - Count: 1 - } - ObjectType: "Geometry" { - Count: 1 - } - ObjectType: "Material" { - Count: 2 - } - ObjectType: "Pose" { - Count: 1 - } - ObjectType: "GlobalSettings" { - Count: 1 - } -} - -; Object properties -;------------------------------------------------------------------ - -Objects: { - Model: "Model::Cube", "Mesh" { - Version: 232 - Properties60: { - Property: "QuaternionInterpolate", "bool", "",0 - Property: "Visibility", "Visibility", "A+",1 - Property: "Lcl Translation", "Lcl Translation", "A+",0.000000000000000,0.000000000000000,0.000000000000000 - Property: "Lcl Rotation", "Lcl Rotation", "A+",-90.000009334538021,0.000000000000000,0.000000000000000 - Property: "Lcl Scaling", "Lcl Scaling", "A+",1.000000000000000,1.000000000000000,1.000000000000000 - Property: "RotationOffset", "Vector3D", "",0,0,0 - Property: "RotationPivot", "Vector3D", "",0,0,0 - Property: "ScalingOffset", "Vector3D", "",0,0,0 - Property: "ScalingPivot", "Vector3D", "",0,0,0 - Property: "TranslationActive", "bool", "",0 - Property: "TranslationMin", "Vector3D", "",0,0,0 - Property: "TranslationMax", "Vector3D", "",0,0,0 - Property: "TranslationMinX", "bool", "",0 - Property: "TranslationMinY", "bool", "",0 - Property: "TranslationMinZ", "bool", "",0 - Property: "TranslationMaxX", "bool", "",0 - Property: "TranslationMaxY", "bool", "",0 - Property: "TranslationMaxZ", "bool", "",0 - Property: "RotationOrder", "enum", "",0 - Property: "RotationSpaceForLimitOnly", "bool", "",0 - Property: "AxisLen", "double", "",10 - Property: "PreRotation", "Vector3D", "",0,0,0 - Property: "PostRotation", "Vector3D", "",0,0,0 - Property: "RotationActive", "bool", "",0 - Property: "RotationMin", "Vector3D", "",0,0,0 - Property: "RotationMax", "Vector3D", "",0,0,0 - Property: "RotationMinX", "bool", "",0 - Property: "RotationMinY", "bool", "",0 - Property: "RotationMinZ", "bool", "",0 - Property: "RotationMaxX", "bool", "",0 - Property: "RotationMaxY", "bool", "",0 - Property: "RotationMaxZ", "bool", "",0 - Property: "RotationStiffnessX", "double", "",0 - Property: "RotationStiffnessY", "double", "",0 - Property: "RotationStiffnessZ", "double", "",0 - Property: "MinDampRangeX", "double", "",0 - Property: "MinDampRangeY", "double", "",0 - Property: "MinDampRangeZ", "double", "",0 - Property: "MaxDampRangeX", "double", "",0 - Property: "MaxDampRangeY", "double", "",0 - Property: "MaxDampRangeZ", "double", "",0 - Property: "MinDampStrengthX", "double", "",0 - Property: "MinDampStrengthY", "double", "",0 - Property: "MinDampStrengthZ", "double", "",0 - Property: "MaxDampStrengthX", "double", "",0 - Property: "MaxDampStrengthY", "double", "",0 - Property: "MaxDampStrengthZ", "double", "",0 - Property: "PreferedAngleX", "double", "",0 - Property: "PreferedAngleY", "double", "",0 - Property: "PreferedAngleZ", "double", "",0 - Property: "InheritType", "enum", "",0 - Property: "ScalingActive", "bool", "",0 - Property: "ScalingMin", "Vector3D", "",1,1,1 - Property: "ScalingMax", "Vector3D", "",1,1,1 - Property: "ScalingMinX", "bool", "",0 - Property: "ScalingMinY", "bool", "",0 - Property: "ScalingMinZ", "bool", "",0 - Property: "ScalingMaxX", "bool", "",0 - Property: "ScalingMaxY", "bool", "",0 - Property: "ScalingMaxZ", "bool", "",0 - Property: "GeometricTranslation", "Vector3D", "",0,0,0 - Property: "GeometricRotation", "Vector3D", "",0,0,0 - Property: "GeometricScaling", "Vector3D", "",1,1,1 - Property: "LookAtProperty", "object", "" - Property: "UpVectorProperty", "object", "" - Property: "Show", "bool", "",1 - Property: "NegativePercentShapeSupport", "bool", "",1 - Property: "DefaultAttributeIndex", "int", "",0 - Property: "Color", "Color", "A",0.8,0.8,0.8 - Property: "Size", "double", "",100 - Property: "Look", "enum", "",1 - } - MultiLayer: 0 - MultiTake: 1 - Shading: Y - Culling: "CullingOff" - Vertices: 15.156249,15.156249,-15.156249,15.156249,-15.156249,-15.156249,-15.156251,-15.156248,-15.156249,-15.156244,15.156255,-15.156249,15.156257,15.156241,15.156249,15.156240,-15.156259,15.156249,-15.156255,-15.156244,15.156249 - ,-15.156249,15.156249,15.156249 - PolygonVertexIndex: 0,1,2,-4,4,7,6,-6,0,4,5,-2,1,5,6,-3,2,6,7,-4,4,0,3,-8 - Edges: - GeometryVersion: 124 - LayerElementNormal: 0 { - Version: 101 - Name: "" - MappingInformationType: "ByVertice" - ReferenceInformationType: "Direct" - Normals: 0.577349185943604,0.577349185943604,-0.577349185943604,0.577349185943604,-0.577349185943604,-0.577349185943604 - ,-0.577349185943604,-0.577349185943604,-0.577349185943604,-0.577349185943604,0.577349185943604,-0.577349185943604 - ,0.577349185943604,0.577349185943604,0.577349185943604,0.577349185943604,-0.577349185943604,0.577349185943604 - ,-0.577349185943604,-0.577349185943604,0.577349185943604,-0.577349185943604,0.577349185943604,0.577349185943604 - } - LayerElementSmoothing: 0 { - Version: 102 - Name: "" - MappingInformationType: "ByPolygon" - ReferenceInformationType: "Direct" - Smoothing: 0,0,0,0,0,0 - } - LayerElementMaterial: 0 { - Version: 101 - Name: "" - MappingInformationType: "AllSame" - ReferenceInformationType: "IndexToDirect" - Materials: 0 - } - Layer: 0 { - Version: 100 - LayerElement: { - Type: "LayerElementNormal" - TypedIndex: 0 - } - LayerElement: { - Type: "LayerElementMaterial" - TypedIndex: 0 - } - LayerElement: { - Type: "LayerElementSmoothing" - TypedIndex: 0 - } - } - } - Material: "Material::Material", "" { - Version: 102 - ShadingModel: "lambert" - MultiLayer: 0 - Properties60: { - Property: "ShadingModel", "KString", "", "Lambert" - Property: "MultiLayer", "bool", "",0 - Property: "EmissiveColor", "ColorRGB", "",0.8000,0.8000,0.8000 - Property: "EmissiveFactor", "double", "",0.0000 - Property: "AmbientColor", "ColorRGB", "",0.0000,0.0000,0.0000 - Property: "AmbientFactor", "double", "",1.0000 - Property: "DiffuseColor", "ColorRGB", "",0.8000,0.8000,0.8000 - Property: "DiffuseFactor", "double", "",0.8000 - Property: "Bump", "Vector3D", "",0,0,0 - Property: "TransparentColor", "ColorRGB", "",1,1,1 - Property: "TransparencyFactor", "double", "",0.0000 - Property: "SpecularColor", "ColorRGB", "",1.0000,1.0000,1.0000 - Property: "SpecularFactor", "double", "",0.2500 - Property: "ShininessExponent", "double", "",80.0 - Property: "ReflectionColor", "ColorRGB", "",0,0,0 - Property: "ReflectionFactor", "double", "",1 - Property: "Emissive", "ColorRGB", "",0,0,0 - Property: "Ambient", "ColorRGB", "",0.0,0.0,0.0 - Property: "Diffuse", "ColorRGB", "",0.8,0.8,0.8 - Property: "Specular", "ColorRGB", "",1.0,1.0,1.0 - Property: "Shininess", "double", "",9.6 - Property: "Opacity", "double", "",1.0 - Property: "Reflectivity", "double", "",0 - } - } - Material: "Material::unnamed", "" { - Version: 102 - ShadingModel: "phong" - MultiLayer: 0 - Properties60: { - Property: "ShadingModel", "KString", "", "Phong" - Property: "MultiLayer", "bool", "",0 - Property: "EmissiveColor", "ColorRGB", "",0.8000,0.8000,0.8000 - Property: "EmissiveFactor", "double", "",0.0000 - Property: "AmbientColor", "ColorRGB", "",0.0000,0.0000,0.0000 - Property: "AmbientFactor", "double", "",0.5000 - Property: "DiffuseColor", "ColorRGB", "",0.8000,0.8000,0.8000 - Property: "DiffuseFactor", "double", "",1.0000 - Property: "Bump", "Vector3D", "",0,0,0 - Property: "TransparentColor", "ColorRGB", "",1,1,1 - Property: "TransparencyFactor", "double", "",0.0000 - Property: "SpecularColor", "ColorRGB", "",0.8000,0.8000,0.8000 - Property: "SpecularFactor", "double", "",0.2000 - Property: "ShininessExponent", "double", "",80.0 - Property: "ReflectionColor", "ColorRGB", "",0,0,0 - Property: "ReflectionFactor", "double", "",1 - Property: "Emissive", "ColorRGB", "",0,0,0 - Property: "Ambient", "ColorRGB", "",0.0,0.0,0.0 - Property: "Diffuse", "ColorRGB", "",0.8,0.8,0.8 - Property: "Specular", "ColorRGB", "",0.8,0.8,0.8 - Property: "Shininess", "double", "",20.0 - Property: "Opacity", "double", "",1.0 - Property: "Reflectivity", "double", "",0 - } - } - Pose: "Pose::BIND_POSES", "BindPose" { - Type: "BindPose" - Version: 100 - Properties60: { - } - NbPoseNodes: 1 - PoseNode: { - Node: "Model::Cube" - Matrix: 0.000000075497901,0.000000000000000,-1.000000000000000,0.000000000000000,-1.000000000000000,0.000000000000000,-0.000000075497901,0.000000000000000,0.000000000000000,1.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,1.000000000000000 - } - } - GlobalSettings: { - Version: 1000 - Properties60: { - Property: "UpAxis", "int", "",1 - Property: "UpAxisSign", "int", "",1 - Property: "FrontAxis", "int", "",2 - Property: "FrontAxisSign", "int", "",1 - Property: "CoordAxis", "int", "",0 - Property: "CoordAxisSign", "int", "",1 - Property: "UnitScaleFactor", "double", "",1 - } - } -} - -; Object relations -;------------------------------------------------------------------ - -Relations: { - Model: "Model::Cube", "Mesh" { - } - Model: "Model::Producer Perspective", "Camera" { - } - Model: "Model::Producer Top", "Camera" { - } - Model: "Model::Producer Bottom", "Camera" { - } - Model: "Model::Producer Front", "Camera" { - } - Model: "Model::Producer Back", "Camera" { - } - Model: "Model::Producer Right", "Camera" { - } - Model: "Model::Producer Left", "Camera" { - } - Model: "Model::Camera Switcher", "CameraSwitcher" { - } - Material: "Material::Material", "" { - } - Material: "Material::unnamed", "" { - } -} - -; Object connections -;------------------------------------------------------------------ - -Connections: { - Connect: "OO", "Model::Cube", "Model::Scene" - Connect: "OO", "Material::Material", "Model::Cube" -} -;Takes and animation section -;---------------------------------------------------- - -Takes: { - Current: "" -} -;Version 5 settings -;------------------------------------------------------------------ - -Version5: { - AmbientRenderSettings: { - Version: 101 - AmbientLightColor: 0.0,0.0,0.0,0 - } - FogOptions: { - FogEnable: 0 - FogMode: 0 - FogDensity: 0.000 - FogStart: 5.000 - FogEnd: 25.000 - FogColor: 0.1,0.1,0.1,1 - } - Settings: { - FrameRate: "24" - TimeFormat: 1 - SnapOnFrames: 0 - ReferenceTimeIndex: -1 - TimeLineStartTime: 0 - TimeLineStopTime: 479181389250 - } - RendererSetting: { - DefaultCamera: "Producer Perspective" - DefaultViewingMode: 0 - } -} diff --git a/Data/Meshes/cube.fbx.json b/Data/Meshes/cube.fbx.json deleted file mode 100644 index 6ffb22f20..000000000 --- a/Data/Meshes/cube.fbx.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "Helium::Mesh": { - "m_materials": [ - "/Materials:TestBull" - ] - } - } -] \ No newline at end of file diff --git a/Data/Meshes/sphere.fbx b/Data/Meshes/sphere.fbx deleted file mode 100644 index 7c921d4d3..000000000 --- a/Data/Meshes/sphere.fbx +++ /dev/null @@ -1,416 +0,0 @@ -; FBX 6.1.0 project file -; Created by Blender FBX Exporter -; for support mail: ideasman42@gmail.com -; ---------------------------------------------------- - -FBXHeaderExtension: { - FBXHeaderVersion: 1003 - FBXVersion: 6100 - CreationTimeStamp: { - Version: 1000 - Year: 2013 - Month: 06 - Day: 20 - Hour: 03 - Minute: 12 - Second: 12 - Millisecond: 0 - } - Creator: "FBX SDK/FBX Plugins build 20070228" - OtherFlags: { - FlagPLE: 0 - } -} -CreationTime: "2013-06-20 03:12:12:000" -Creator: "Blender version 2.67 (sub 0)" - -; Object definitions -;------------------------------------------------------------------ - -Definitions: { - Version: 100 - Count: 3 - ObjectType: "Model" { - Count: 1 - } - ObjectType: "Geometry" { - Count: 1 - } - ObjectType: "Material" { - Count: 1 - } - ObjectType: "Pose" { - Count: 1 - } - ObjectType: "GlobalSettings" { - Count: 1 - } -} - -; Object properties -;------------------------------------------------------------------ - -Objects: { - Model: "Model::Icosphere", "Mesh" { - Version: 232 - Properties60: { - Property: "QuaternionInterpolate", "bool", "",0 - Property: "Visibility", "Visibility", "A+",1 - Property: "Lcl Translation", "Lcl Translation", "A+",0.000000000000000,0.000000000000000,0.000000000000000 - Property: "Lcl Rotation", "Lcl Rotation", "A+",-90.000009334538021,0.000000000000000,0.000000000000000 - Property: "Lcl Scaling", "Lcl Scaling", "A+",1.000000000000000,1.000000000000000,1.000000000000000 - Property: "RotationOffset", "Vector3D", "",0,0,0 - Property: "RotationPivot", "Vector3D", "",0,0,0 - Property: "ScalingOffset", "Vector3D", "",0,0,0 - Property: "ScalingPivot", "Vector3D", "",0,0,0 - Property: "TranslationActive", "bool", "",0 - Property: "TranslationMin", "Vector3D", "",0,0,0 - Property: "TranslationMax", "Vector3D", "",0,0,0 - Property: "TranslationMinX", "bool", "",0 - Property: "TranslationMinY", "bool", "",0 - Property: "TranslationMinZ", "bool", "",0 - Property: "TranslationMaxX", "bool", "",0 - Property: "TranslationMaxY", "bool", "",0 - Property: "TranslationMaxZ", "bool", "",0 - Property: "RotationOrder", "enum", "",0 - Property: "RotationSpaceForLimitOnly", "bool", "",0 - Property: "AxisLen", "double", "",10 - Property: "PreRotation", "Vector3D", "",0,0,0 - Property: "PostRotation", "Vector3D", "",0,0,0 - Property: "RotationActive", "bool", "",0 - Property: "RotationMin", "Vector3D", "",0,0,0 - Property: "RotationMax", "Vector3D", "",0,0,0 - Property: "RotationMinX", "bool", "",0 - Property: "RotationMinY", "bool", "",0 - Property: "RotationMinZ", "bool", "",0 - Property: "RotationMaxX", "bool", "",0 - Property: "RotationMaxY", "bool", "",0 - Property: "RotationMaxZ", "bool", "",0 - Property: "RotationStiffnessX", "double", "",0 - Property: "RotationStiffnessY", "double", "",0 - Property: "RotationStiffnessZ", "double", "",0 - Property: "MinDampRangeX", "double", "",0 - Property: "MinDampRangeY", "double", "",0 - Property: "MinDampRangeZ", "double", "",0 - Property: "MaxDampRangeX", "double", "",0 - Property: "MaxDampRangeY", "double", "",0 - Property: "MaxDampRangeZ", "double", "",0 - Property: "MinDampStrengthX", "double", "",0 - Property: "MinDampStrengthY", "double", "",0 - Property: "MinDampStrengthZ", "double", "",0 - Property: "MaxDampStrengthX", "double", "",0 - Property: "MaxDampStrengthY", "double", "",0 - Property: "MaxDampStrengthZ", "double", "",0 - Property: "PreferedAngleX", "double", "",0 - Property: "PreferedAngleY", "double", "",0 - Property: "PreferedAngleZ", "double", "",0 - Property: "InheritType", "enum", "",0 - Property: "ScalingActive", "bool", "",0 - Property: "ScalingMin", "Vector3D", "",1,1,1 - Property: "ScalingMax", "Vector3D", "",1,1,1 - Property: "ScalingMinX", "bool", "",0 - Property: "ScalingMinY", "bool", "",0 - Property: "ScalingMinZ", "bool", "",0 - Property: "ScalingMaxX", "bool", "",0 - Property: "ScalingMaxY", "bool", "",0 - Property: "ScalingMaxZ", "bool", "",0 - Property: "GeometricTranslation", "Vector3D", "",0,0,0 - Property: "GeometricRotation", "Vector3D", "",0,0,0 - Property: "GeometricScaling", "Vector3D", "",1,1,1 - Property: "LookAtProperty", "object", "" - Property: "UpVectorProperty", "object", "" - Property: "Show", "bool", "",1 - Property: "NegativePercentShapeSupport", "bool", "",1 - Property: "DefaultAttributeIndex", "int", "",0 - Property: "Color", "Color", "A",0.8,0.8,0.8 - Property: "Size", "double", "",100 - Property: "Look", "enum", "",1 - } - MultiLayer: 0 - MultiTake: 1 - Shading: Y - Culling: "CullingOff" - Vertices: 0.000000,0.000000,-20.000004,14.472150,-10.514508,-8.944392,-5.527761,-17.012989,-8.944399,-17.888529,0.000000,-8.944314,-5.527761,17.012989,-8.944399,14.472150,10.514508,-8.944392,5.527761,-17.012989,8.944399 - ,-14.472150,-10.514508,8.944392,-14.472150,10.514508,8.944392,5.527761,17.012989,8.944399,17.888529,0.000000,8.944314,0.000000,0.000000,20.000004,4.063619,-2.952358,-19.358997,8.506455,-6.180229,-17.013088 - ,12.190936,-8.857130,-13.150380,10.638820,-13.634252,-10.046037,5.257378,-16.180237,-10.514755,-0.592786,-17.283688,-10.046041,-4.656432,-14.331265,-13.150388,-3.249112,-9.999907,-17.013094,-1.552133,-4.777055,-19.358997 - ,4.063619,2.952358,-19.358997,8.506455,6.180229,-17.013088,12.190936,8.857130,-13.150380,16.254589,5.904756,-10.046015,17.012962,0.000000,-10.514721,16.254589,-5.904756,-10.046015,-9.679430,-14.331295,-10.046037 - ,-13.763791,-9.999941,-10.514727,-16.621017,-4.777069,-10.045976,-15.068837,0.000000,-13.150297,-10.514598,0.000000,-17.013039,-5.022941,0.000000,-19.358982,-16.621017,4.777070,-10.045976,-13.763791,9.999941,-10.514727 - ,-9.679430,14.331295,-10.046037,-4.656432,14.331265,-13.150388,-3.249112,9.999907,-17.013094,-1.552133,4.777055,-19.358997,-0.592786,17.283688,-10.046041,5.257378,16.180237,-10.514755,10.638820,13.634252,-10.046037 - ,17.213957,8.857153,-5.023018,19.021160,6.180254,0.000000,19.132519,2.952368,5.022990,19.132519,-2.952368,5.022990,19.021160,-6.180254,-0.000000,17.213957,-8.857153,-5.023018,13.743175,-13.634310,-5.023040 - ,11.755715,-16.180338,0.000000,8.720139,-17.283762,5.023042,3.104303,-19.108446,5.023032,0.000000,-20.000004,-0.000000,-3.104303,-19.108446,-5.023032,-8.720139,-17.283762,-5.023042,-11.755715,-16.180340,0.000000 - ,-13.743174,-13.634310,5.023039,-17.213957,-8.857153,5.023018,-19.021160,-6.180254,-0.000000,-19.132519,-2.952368,-5.022990,-19.132519,2.952368,-5.022990,-19.021160,6.180254,0.000000,-17.213957,8.857153,5.023018 - ,-13.743175,13.634310,5.023040,-11.755715,16.180338,-0.000000,-8.720139,17.283762,-5.023042,-3.104303,19.108446,-5.023032,0.000000,20.000004,0.000000,3.104303,19.108446,5.023032,8.720139,17.283762,5.023042 - ,11.755715,16.180340,-0.000000,13.743174,13.634310,-5.023039,16.621017,-4.777070,10.045976,13.763791,-9.999941,10.514727,9.679430,-14.331295,10.046037,0.592786,-17.283688,10.046041,-5.257378,-16.180237,10.514755 - ,-10.638820,-13.634252,10.046037,-16.254589,-5.904756,10.046015,-17.012962,0.000000,10.514721,-16.254589,5.904756,10.046015,-10.638820,13.634252,10.046037,-5.257378,16.180237,10.514755,0.592786,17.283688,10.046041 - ,9.679430,14.331295,10.046037,13.763791,9.999941,10.514727,16.621017,4.777069,10.045976,15.068837,0.000000,13.150297,10.514598,0.000000,17.013039,5.022941,0.000000,19.358982,1.552133,-4.777056,19.358997 - ,3.249112,-9.999907,17.013094,4.656432,-14.331265,13.150388,-4.063619,-2.952358,19.358997,-8.506455,-6.180229,17.013088,-12.190936,-8.857130,13.150380,-4.063619,2.952358,19.358997,-8.506455,6.180229,17.013088 - ,-12.190936,8.857130,13.150380,1.552133,4.777056,19.358997,3.249112,9.999907,17.013094,4.656432,14.331265,13.150388,1.055807,-13.763710,-14.472239,2.763974,-8.506414,-17.888588,7.236101,-11.755586,-14.472221 - ,13.416344,3.249137,-14.472216,13.416354,-3.249156,-14.472205,8.944221,-0.000015,-17.888575,-12.763895,-5.257275,-14.472188,-7.236029,-5.257288,-17.888573,-8.944212,-10.514575,-14.472213,-8.944214,10.514544,-14.472234 - ,-7.236026,5.257252,-17.888582,-12.763898,5.257258,-14.472193,7.236071,11.755588,-14.472236,2.763937,8.506429,-17.888586,1.055782,13.763728,-14.472221,20.000004,0.000000,0.000000,18.944269,-3.249152,-5.527922 - ,18.944269,3.249152,-5.527922,6.180346,-19.021133,0.000000,2.763983,-19.021103,-5.527952,8.944314,-17.012970,-5.527956,-16.180372,-11.755669,0.000000,-17.236069,-8.506481,-5.527928,-13.416384,-13.763817,-5.527947 - ,-16.180372,11.755669,-0.000000,-13.416384,13.763817,-5.527947,-17.236067,8.506481,-5.527928,6.180346,19.021133,-0.000000,8.944314,17.012972,-5.527956,2.763982,19.021103,-5.527952,13.416411,-13.763799,5.527925 - ,16.180378,-11.755662,-0.000038,17.236086,-8.506466,5.527890,-8.944318,-17.012972,5.527938,-6.180345,-19.021133,-0.000016,-2.763986,-19.021107,5.527937,-18.944269,3.249154,5.527919,-20.000004,-0.000007,0.000012 - ,-18.944263,-3.249158,5.527933,-2.763971,19.021107,5.527943,-6.180331,19.021137,-0.000010,-8.944303,17.012980,5.527946,17.236088,8.506441,5.527925,16.180389,11.755645,0.000000,13.416414,13.763786,5.527949 - ,7.236008,-5.257260,17.888588,8.944186,-10.514565,14.472237,12.763874,-5.257283,14.472205,-2.763947,-8.506392,17.888603,-7.236075,-11.755571,14.472248,-1.055792,-13.763701,14.472251,-8.944200,0.000000,17.888586 - ,-13.416335,3.249141,14.472220,-13.416335,-3.249141,14.472220,-2.763946,8.506392,17.888603,-1.055792,13.763701,14.472251,-7.236075,11.755571,14.472248,7.236008,5.257260,17.888588,12.763874,5.257284,14.472205 - ,8.944185,10.514565,14.472236 - PolygonVertexIndex: 0,12,-21,1,14,-27,0,20,-33,0,32,-39,0,38,-22,1,26,-48,2,17,-54,3,29,-60,4,35,-66,5,41,-72,1,47,-49,2,53,-55,3,59,-61 - ,4,65,-67,5,71,-43,6,74,-93,7,77,-96,8,80,-99,9,83,-102,10,86,-88,18,17,-3,19,102,-19,20,103,-20,18,102,-18,102,16,-18,19,103,-103 - ,103,104,-103,102,104,-17,104,15,-17,20,12,-104,12,13,-104,103,13,-105,13,14,-105,104,14,-16,14,1,-16,24,23,-6,25,105,-25,26,106,-26,24,105,-24 - ,105,22,-24,25,106,-106,106,107,-106,105,107,-23,107,21,-23,26,14,-107,14,13,-107,106,13,-108,13,12,-108,107,12,-22,12,0,-22,30,29,-4,31,108,-31 - ,32,109,-32,30,108,-30,108,28,-30,31,109,-109,109,110,-109,108,110,-29,110,27,-29,32,20,-110,20,19,-110,109,19,-111,19,18,-111,110,18,-28,18,2,-28 - ,36,35,-5,37,111,-37,38,112,-38,36,111,-36,111,34,-36,37,112,-112,112,113,-112,111,113,-35,113,33,-35,38,32,-113,32,31,-113,112,31,-114,31,30,-114 - ,113,30,-34,30,3,-34,23,41,-6,22,114,-24,21,115,-23,23,114,-42,114,40,-42,22,115,-115,115,116,-115,114,116,-41,116,39,-41,21,38,-116,38,37,-116 - ,115,37,-117,37,36,-117,116,36,-40,36,4,-40,45,44,-11,46,117,-46,47,118,-47,45,117,-45,117,43,-45,46,118,-118,118,119,-118,117,119,-44,119,42,-44 - ,47,26,-119,26,25,-119,118,25,-120,25,24,-120,119,24,-43,24,5,-43,51,50,-7,52,120,-52,53,121,-53,51,120,-51,120,49,-51,52,121,-121,121,122,-121 - ,120,122,-50,122,48,-50,53,17,-122,17,16,-122,121,16,-123,16,15,-123,122,15,-49,15,1,-49,57,56,-8,58,123,-58,59,124,-59,57,123,-57,123,55,-57 - ,58,124,-124,124,125,-124,123,125,-56,125,54,-56,59,29,-125,29,28,-125,124,28,-126,28,27,-126,125,27,-55,27,2,-55,63,62,-9,64,126,-64,65,127,-65 - ,63,126,-63,126,61,-63,64,127,-127,127,128,-127,126,128,-62,128,60,-62,65,35,-128,35,34,-128,127,34,-129,34,33,-129,128,33,-61,33,3,-61,69,68,-10 - ,70,129,-70,71,130,-71,69,129,-69,129,67,-69,70,130,-130,130,131,-130,129,131,-68,131,66,-68,71,41,-131,41,40,-131,130,40,-132,40,39,-132,131,39,-67 - ,39,4,-67,50,74,-7,49,132,-51,48,133,-50,50,132,-75,132,73,-75,49,133,-133,133,134,-133,132,134,-74,134,72,-74,48,47,-134,47,46,-134,133,46,-135 - ,46,45,-135,134,45,-73,45,10,-73,56,77,-8,55,135,-57,54,136,-56,56,135,-78,135,76,-78,55,136,-136,136,137,-136,135,137,-77,137,75,-77,54,53,-137 - ,53,52,-137,136,52,-138,52,51,-138,137,51,-76,51,6,-76,62,80,-9,61,138,-63,60,139,-62,62,138,-81,138,79,-81,61,139,-139,139,140,-139,138,140,-80 - ,140,78,-80,60,59,-140,59,58,-140,139,58,-141,58,57,-141,140,57,-79,57,7,-79,68,83,-10,67,141,-69,66,142,-68,68,141,-84,141,82,-84,67,142,-142 - ,142,143,-142,141,143,-83,143,81,-83,66,65,-143,65,64,-143,142,64,-144,64,63,-144,143,63,-82,63,8,-82,44,86,-11,43,144,-45,42,145,-44,44,144,-87 - ,144,85,-87,43,145,-145,145,146,-145,144,146,-86,146,84,-86,42,71,-146,71,70,-146,145,70,-147,70,69,-147,146,69,-85,69,9,-85,90,89,-12,91,147,-91 - ,92,148,-92,90,147,-90,147,88,-90,91,148,-148,148,149,-148,147,149,-89,149,87,-89,92,74,-149,74,73,-149,148,73,-150,73,72,-150,149,72,-88,72,10,-88 - ,93,90,-12,94,150,-94,95,151,-95,93,150,-91,150,91,-91,94,151,-151,151,152,-151,150,152,-92,152,92,-92,95,77,-152,77,76,-152,151,76,-153,76,75,-153 - ,152,75,-93,75,6,-93,96,93,-12,97,153,-97,98,154,-98,96,153,-94,153,94,-94,97,154,-154,154,155,-154,153,155,-95,155,95,-95,98,80,-155,80,79,-155 - ,154,79,-156,79,78,-156,155,78,-96,78,7,-96,99,96,-12,100,156,-100,101,157,-101,99,156,-97,156,97,-97,100,157,-157,157,158,-157,156,158,-98,158,98,-98 - ,101,83,-158,83,82,-158,157,82,-159,82,81,-159,158,81,-99,81,8,-99,89,99,-12,88,159,-90,87,160,-89,89,159,-100,159,100,-100,88,160,-160,160,161,-160 - ,159,161,-101,161,101,-101,87,86,-161,86,85,-161,160,85,-162,85,84,-162,161,84,-102,84,9,-102 - Edges: - GeometryVersion: 124 - LayerElementNormal: 0 { - Version: 101 - Name: "" - MappingInformationType: "ByVertice" - ReferenceInformationType: "Direct" - Normals: 0.000000000000000,0.000000000000000,-1.000000000000000,0.723593831062317,-0.525711834430695,-0.447218239307404 - ,-0.276375621557236,-0.850642442703247,-0.447218239307404,-0.894405961036682,0.000000000000000,-0.447187721729279 - ,-0.276375621557236,0.850642442703247,-0.447218239307404,0.723593831062317,0.525711834430695,-0.447218239307404 - ,0.276375621557236,-0.850642442703247,0.447218239307404,-0.723593831062317,-0.525711834430695,0.447218239307404 - ,-0.723593831062317,0.525711834430695,0.447218239307404,0.276375621557236,0.850642442703247,0.447218239307404 - ,0.894405961036682,0.000000000000000,0.447187721729279,0.000000000000000,0.000000000000000,1.000000000000000 - ,0.210943937301636,-0.153263956308365,-0.965391993522644,0.425305962562561,-0.308999896049500,-0.850642442703247 - ,0.604205429553986,-0.438978254795074,-0.664967775344849,0.523636579513550,-0.686971664428711,-0.503799557685852 - ,0.262855917215347,-0.808984637260437,-0.525711834430695,-0.019837031140924,-0.863551735877991,-0.503799557685852 - ,-0.230780974030495,-0.710287809371948,-0.664967775344849,-0.162450030446053,-0.499984741210938,-0.850642442703247 - ,-0.080568864941597,-0.247962892055511,-0.965391993522644,0.210943937301636,0.153263956308365,-0.965391993522644 - ,0.425305962562561,0.308999896049500,-0.850642442703247,0.604205429553986,0.438978254795074,-0.664967775344849 - ,0.815179884433746,0.285714298486710,-0.503799557685852,0.850642442703247,0.000000000000000,-0.525711834430695 - ,0.815179884433746,-0.285714298486710,-0.503799557685852,-0.491531103849411,-0.710287809371948,-0.503799557685852 - ,-0.688161849975586,-0.499984741210938,-0.525711834430695,-0.827448368072510,-0.247962892055511,-0.503799557685852 - ,-0.746848940849304,0.000000000000000,-0.664967775344849,-0.525711834430695,0.000000000000000,-0.850642442703247 - ,-0.260750144720078,0.000000000000000,-0.965391993522644,-0.827448368072510,0.247962892055511,-0.503799557685852 - ,-0.688161849975586,0.499984741210938,-0.525711834430695,-0.491531103849411,0.710287809371948,-0.503799557685852 - ,-0.230780974030495,0.710287809371948,-0.664967775344849,-0.162450030446053,0.499984741210938,-0.850642442703247 - ,-0.080568864941597,0.247962892055511,-0.965391993522644,-0.019837031140924,0.863551735877991,-0.503799557685852 - ,0.262855917215347,0.808984637260437,-0.525711834430695,0.523636579513550,0.686971664428711,-0.503799557685852 - ,0.864986121654510,0.438978254795074,-0.243049412965775,0.951048314571381,0.308999896049500,0.000000000000000 - ,0.957823395729065,0.153263956308365,0.243049412965775,0.957823395729065,-0.153263956308365,0.243049412965775 - ,0.951048314571381,-0.308999896049500,0.000000000000000,0.864986121654510,-0.438978254795074,-0.243049412965775 - ,0.684804856777191,-0.686971664428711,-0.243049412965775,0.587755978107452,-0.809015154838562,0.000000000000000 - ,0.441724896430969,-0.863582253456116,0.243049412965775,0.150212109088898,-0.958281219005585,0.243049412965775 - ,0.000000000000000,-1.000000000000000,0.000000000000000,-0.150212109088898,-0.958281219005585,-0.243049412965775 - ,-0.441724896430969,-0.863582253456116,-0.243049412965775,-0.587755978107452,-0.809015154838562,0.000000000000000 - ,-0.684804856777191,-0.686971664428711,0.243049412965775,-0.864986121654510,-0.438978254795074,0.243049412965775 - ,-0.951048314571381,-0.308999896049500,0.000000000000000,-0.957823395729065,-0.153263956308365,-0.243049412965775 - ,-0.957823395729065,0.153263956308365,-0.243049412965775,-0.951048314571381,0.308999896049500,0.000000000000000 - ,-0.864986121654510,0.438978254795074,0.243049412965775,-0.684804856777191,0.686971664428711,0.243049412965775 - ,-0.587755978107452,0.809015154838562,0.000000000000000,-0.441724896430969,0.863582253456116,-0.243049412965775 - ,-0.150212109088898,0.958281219005585,-0.243049412965775,0.000000000000000,1.000000000000000,0.000000000000000 - ,0.150212109088898,0.958281219005585,0.243049412965775,0.441724896430969,0.863582253456116,0.243049412965775 - ,0.587755978107452,0.809015154838562,0.000000000000000,0.684804856777191,0.686971664428711,-0.243049412965775 - ,0.827448368072510,-0.247962892055511,0.503799557685852,0.688161849975586,-0.499984741210938,0.525711834430695 - ,0.491531103849411,-0.710287809371948,0.503799557685852,0.019837031140924,-0.863551735877991,0.503799557685852 - ,-0.262855917215347,-0.808984637260437,0.525711834430695,-0.523636579513550,-0.686971664428711,0.503799557685852 - ,-0.815179884433746,-0.285714298486710,0.503799557685852,-0.850642442703247,0.000000000000000,0.525711834430695 - ,-0.815179884433746,0.285714298486710,0.503799557685852,-0.523636579513550,0.686971664428711,0.503799557685852 - ,-0.262855917215347,0.808984637260437,0.525711834430695,0.019837031140924,0.863551735877991,0.503799557685852 - ,0.491531103849411,0.710287809371948,0.503799557685852,0.688161849975586,0.499984741210938,0.525711834430695 - ,0.827448368072510,0.247962892055511,0.503799557685852,0.746848940849304,0.000000000000000,0.664967775344849 - ,0.525711834430695,0.000000000000000,0.850642442703247,0.260750144720078,0.000000000000000,0.965391993522644 - ,0.080568864941597,-0.247962892055511,0.965391993522644,0.162450030446053,-0.499984741210938,0.850642442703247 - ,0.230780974030495,-0.710287809371948,0.664967775344849,-0.210943937301636,-0.153263956308365,0.965391993522644 - ,-0.425305962562561,-0.308999896049500,0.850642442703247,-0.604205429553986,-0.438978254795074,0.664967775344849 - ,-0.210943937301636,0.153263956308365,0.965391993522644,-0.425305962562561,0.308999896049500,0.850642442703247 - ,-0.604205429553986,0.438978254795074,0.664967775344849,0.080568864941597,0.247962892055511,0.965391993522644 - ,0.162450030446053,0.499984741210938,0.850642442703247,0.230780974030495,0.710287809371948,0.664967775344849 - ,0.059205908328295,-0.683492541313171,-0.727530717849731,0.140629291534424,-0.432844012975693,-0.890408039093018 - ,0.353831589221954,-0.587755978107452,-0.727530717849731,0.668324828147888,0.154881432652473,-0.727530717849731 - ,0.668324828147888,-0.154881432652473,-0.727530717849731,0.455122530460358,0.000000000000000,-0.890408039093018 - ,-0.631733119487762,-0.267494738101959,-0.727530717849731,-0.368205815553665,-0.267494738101959,-0.890408039093018 - ,-0.449629187583923,-0.518143236637115,-0.727530717849731,-0.449629187583923,0.518143236637115,-0.727530717849731 - ,-0.368205815553665,0.267494738101959,-0.890408039093018,-0.631733119487762,0.267494738101959,-0.727530717849731 - ,0.353831589221954,0.587755978107452,-0.727530717849731,0.140629291534424,0.432844012975693,-0.890408039093018 - ,0.059205908328295,0.683492541313171,-0.727530717849731,0.999938964843750,0.000000000000000,-0.008850367739797 - ,0.949613928794861,-0.154881432652473,-0.272408217191696,0.949613928794861,0.154881432652473,-0.272408217191696 - ,0.308999896049500,-0.951017796993256,-0.008850367739797,0.146122619509697,-0.950987279415131,-0.272408217191696 - ,0.440748304128647,-0.855250716209412,-0.272408217191696,-0.808984637260437,-0.587755978107452,-0.008850367739797 - ,-0.859309673309326,-0.432844012975693,-0.272408217191696,-0.677205741405487,-0.683492541313171,-0.272408217191696 - ,-0.808984637260437,0.587755978107452,-0.008850367739797,-0.677205741405487,0.683492541313171,-0.272408217191696 - ,-0.859309673309326,0.432844012975693,-0.272408217191696,0.308999896049500,0.951017796993256,-0.008850367739797 - ,0.440748304128647,0.855250716209412,-0.272408217191696,0.146122619509697,0.950987279415131,-0.272408217191696 - ,0.677205741405487,-0.683492541313171,0.272408217191696,0.808984637260437,-0.587755978107452,0.008850367739797 - ,0.859309673309326,-0.432844012975693,0.272408217191696,-0.440748304128647,-0.855250716209412,0.272408217191696 - ,-0.308999896049500,-0.951017796993256,0.008850367739797,-0.146122619509697,-0.950987279415131,0.272408217191696 - ,-0.949613928794861,0.154881432652473,0.272408217191696,-0.999938964843750,0.000000000000000,0.008850367739797 - ,-0.949613928794861,-0.154881432652473,0.272408217191696,-0.146122619509697,0.950987279415131,0.272408217191696 - ,-0.308999896049500,0.951017796993256,0.008850367739797,-0.440748304128647,0.855250716209412,0.272408217191696 - ,0.859309673309326,0.432844012975693,0.272408217191696,0.808984637260437,0.587755978107452,0.008850367739797 - ,0.677205741405487,0.683492541313171,0.272408217191696,0.368205815553665,-0.267494738101959,0.890408039093018 - ,0.449629187583923,-0.518143236637115,0.727530717849731,0.631733119487762,-0.267494738101959,0.727530717849731 - ,-0.140629291534424,-0.432844012975693,0.890408039093018,-0.353831589221954,-0.587725460529327,0.727530717849731 - ,-0.059205908328295,-0.683492541313171,0.727530717849731,-0.455122530460358,0.000000000000000,0.890408039093018 - ,-0.668324828147888,0.154881432652473,0.727530717849731,-0.668324828147888,-0.154881432652473,0.727530717849731 - ,-0.140629291534424,0.432844012975693,0.890408039093018,-0.059205908328295,0.683492541313171,0.727530717849731 - ,-0.353831589221954,0.587725460529327,0.727530717849731,0.368205815553665,0.267494738101959,0.890408039093018 - ,0.631733119487762,0.267494738101959,0.727530717849731,0.449629187583923,0.518143236637115,0.727530717849731 - } - LayerElementSmoothing: 0 { - Version: 102 - Name: "" - MappingInformationType: "ByPolygon" - ReferenceInformationType: "Direct" - Smoothing: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - } - Layer: 0 { - Version: 100 - LayerElement: { - Type: "LayerElementNormal" - TypedIndex: 0 - } - LayerElement: { - Type: "LayerElementSmoothing" - TypedIndex: 0 - } - } - } - Material: "Material::unnamed", "" { - Version: 102 - ShadingModel: "phong" - MultiLayer: 0 - Properties60: { - Property: "ShadingModel", "KString", "", "Phong" - Property: "MultiLayer", "bool", "",0 - Property: "EmissiveColor", "ColorRGB", "",0.8000,0.8000,0.8000 - Property: "EmissiveFactor", "double", "",0.0000 - Property: "AmbientColor", "ColorRGB", "",0.0000,0.0000,0.0000 - Property: "AmbientFactor", "double", "",0.5000 - Property: "DiffuseColor", "ColorRGB", "",0.8000,0.8000,0.8000 - Property: "DiffuseFactor", "double", "",1.0000 - Property: "Bump", "Vector3D", "",0,0,0 - Property: "TransparentColor", "ColorRGB", "",1,1,1 - Property: "TransparencyFactor", "double", "",0.0000 - Property: "SpecularColor", "ColorRGB", "",0.8000,0.8000,0.8000 - Property: "SpecularFactor", "double", "",0.2000 - Property: "ShininessExponent", "double", "",80.0 - Property: "ReflectionColor", "ColorRGB", "",0,0,0 - Property: "ReflectionFactor", "double", "",1 - Property: "Emissive", "ColorRGB", "",0,0,0 - Property: "Ambient", "ColorRGB", "",0.0,0.0,0.0 - Property: "Diffuse", "ColorRGB", "",0.8,0.8,0.8 - Property: "Specular", "ColorRGB", "",0.8,0.8,0.8 - Property: "Shininess", "double", "",20.0 - Property: "Opacity", "double", "",1.0 - Property: "Reflectivity", "double", "",0 - } - } - Pose: "Pose::BIND_POSES", "BindPose" { - Type: "BindPose" - Version: 100 - Properties60: { - } - NbPoseNodes: 1 - PoseNode: { - Node: "Model::Icosphere" - Matrix: 0.000000075497901,0.000000000000000,-1.000000000000000,0.000000000000000,-1.000000000000000,0.000000000000000,-0.000000075497901,0.000000000000000,0.000000000000000,1.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,0.000000000000000,1.000000000000000 - } - } - GlobalSettings: { - Version: 1000 - Properties60: { - Property: "UpAxis", "int", "",1 - Property: "UpAxisSign", "int", "",1 - Property: "FrontAxis", "int", "",2 - Property: "FrontAxisSign", "int", "",1 - Property: "CoordAxis", "int", "",0 - Property: "CoordAxisSign", "int", "",1 - Property: "UnitScaleFactor", "double", "",1 - } - } -} - -; Object relations -;------------------------------------------------------------------ - -Relations: { - Model: "Model::Icosphere", "Mesh" { - } - Model: "Model::Producer Perspective", "Camera" { - } - Model: "Model::Producer Top", "Camera" { - } - Model: "Model::Producer Bottom", "Camera" { - } - Model: "Model::Producer Front", "Camera" { - } - Model: "Model::Producer Back", "Camera" { - } - Model: "Model::Producer Right", "Camera" { - } - Model: "Model::Producer Left", "Camera" { - } - Model: "Model::Camera Switcher", "CameraSwitcher" { - } - Material: "Material::unnamed", "" { - } -} - -; Object connections -;------------------------------------------------------------------ - -Connections: { - Connect: "OO", "Model::Icosphere", "Model::Scene" -} -;Takes and animation section -;---------------------------------------------------- - -Takes: { - Current: "" -} -;Version 5 settings -;------------------------------------------------------------------ - -Version5: { - AmbientRenderSettings: { - Version: 101 - AmbientLightColor: 0.0,0.0,0.0,0 - } - FogOptions: { - FogEnable: 0 - FogMode: 0 - FogDensity: 0.000 - FogStart: 5.000 - FogEnd: 25.000 - FogColor: 0.1,0.1,0.1,1 - } - Settings: { - FrameRate: "24" - TimeFormat: 1 - SnapOnFrames: 0 - ReferenceTimeIndex: -1 - TimeLineStartTime: 0 - TimeLineStopTime: 479181389250 - } - RendererSetting: { - DefaultCamera: "Producer Perspective" - DefaultViewingMode: 0 - } -} diff --git a/Data/Meshes/sphere.fbx.json b/Data/Meshes/sphere.fbx.json deleted file mode 100644 index 6ffb22f20..000000000 --- a/Data/Meshes/sphere.fbx.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "Helium::Mesh": { - "m_materials": [ - "/Materials:TestBull" - ] - } - } -] \ No newline at end of file diff --git a/Data/Animations/TestBull_anim.fbx b/Projects/TestBull/Data/Animations/TestBull_anim.fbx similarity index 100% rename from Data/Animations/TestBull_anim.fbx rename to Projects/TestBull/Data/Animations/TestBull_anim.fbx diff --git a/Data/Config/DefaultLin/GraphicsConfig.json b/Projects/TestBull/Data/Config/DefaultLin/GraphicsConfig.json similarity index 77% rename from Data/Config/DefaultLin/GraphicsConfig.json rename to Projects/TestBull/Data/Config/DefaultLin/GraphicsConfig.json index fb86192ec..1a21c6aad 100644 --- a/Data/Config/DefaultLin/GraphicsConfig.json +++ b/Projects/TestBull/Data/Config/DefaultLin/GraphicsConfig.json @@ -1,8 +1,7 @@ [ { - "Helium::ConfigAsset": { - "m_ConfigObject": - { + "Helium::ConfigAsset": { + "m_ConfigObject": { "Helium::GraphicsConfig": { "m_Width": 800, "m_Height": 600, @@ -10,8 +9,8 @@ "m_MaxAnisotropy": 10, "m_bFullscreen": false, "m_ShadowMode": "NONE" - } - } + } + } } } ] diff --git a/Data/Config/DefaultMac/GraphicsConfig.json b/Projects/TestBull/Data/Config/DefaultMac/GraphicsConfig.json similarity index 77% rename from Data/Config/DefaultMac/GraphicsConfig.json rename to Projects/TestBull/Data/Config/DefaultMac/GraphicsConfig.json index fb86192ec..1a21c6aad 100644 --- a/Data/Config/DefaultMac/GraphicsConfig.json +++ b/Projects/TestBull/Data/Config/DefaultMac/GraphicsConfig.json @@ -1,8 +1,7 @@ [ { - "Helium::ConfigAsset": { - "m_ConfigObject": - { + "Helium::ConfigAsset": { + "m_ConfigObject": { "Helium::GraphicsConfig": { "m_Width": 800, "m_Height": 600, @@ -10,8 +9,8 @@ "m_MaxAnisotropy": 10, "m_bFullscreen": false, "m_ShadowMode": "NONE" - } - } + } + } } } ] diff --git a/Data/Config/DefaultWin/GraphicsConfig.json b/Projects/TestBull/Data/Config/DefaultWin/GraphicsConfig.json similarity index 77% rename from Data/Config/DefaultWin/GraphicsConfig.json rename to Projects/TestBull/Data/Config/DefaultWin/GraphicsConfig.json index fb86192ec..1a21c6aad 100644 --- a/Data/Config/DefaultWin/GraphicsConfig.json +++ b/Projects/TestBull/Data/Config/DefaultWin/GraphicsConfig.json @@ -1,8 +1,7 @@ [ { - "Helium::ConfigAsset": { - "m_ConfigObject": - { + "Helium::ConfigAsset": { + "m_ConfigObject": { "Helium::GraphicsConfig": { "m_Width": 800, "m_Height": 600, @@ -10,8 +9,8 @@ "m_MaxAnisotropy": 10, "m_bFullscreen": false, "m_ShadowMode": "NONE" - } - } + } + } } } ] diff --git a/Projects/TestBull/Data/Editor/System.json b/Projects/TestBull/Data/Editor/System.json new file mode 100644 index 000000000..641b08cb5 --- /dev/null +++ b/Projects/TestBull/Data/Editor/System.json @@ -0,0 +1,19 @@ +[ + { + "Helium::SystemDefinition": { + "m_SystemComponents": [ + + ], + "m_ComponentTypeConfigs": [ + { + "m_ComponentTypeName": "Helium::BulletBodyComponent", + "m_PoolSize": 64 + }, + { + "m_ComponentTypeName": "GameLibrary::AvatarControllerComponent", + "m_PoolSize": 64 + } + ] + } + } +] \ No newline at end of file diff --git a/Data/Fonts/Bitstream Vera License.txt b/Projects/TestBull/Data/Fonts/Bitstream Vera License.txt similarity index 100% rename from Data/Fonts/Bitstream Vera License.txt rename to Projects/TestBull/Data/Fonts/Bitstream Vera License.txt diff --git a/Data/Fonts/DebugLarge.json b/Projects/TestBull/Data/Fonts/DebugLarge.json similarity index 100% rename from Data/Fonts/DebugLarge.json rename to Projects/TestBull/Data/Fonts/DebugLarge.json diff --git a/Data/Fonts/DebugMedium.json b/Projects/TestBull/Data/Fonts/DebugMedium.json similarity index 100% rename from Data/Fonts/DebugMedium.json rename to Projects/TestBull/Data/Fonts/DebugMedium.json diff --git a/Data/Fonts/DebugSmall.json b/Projects/TestBull/Data/Fonts/DebugSmall.json similarity index 100% rename from Data/Fonts/DebugSmall.json rename to Projects/TestBull/Data/Fonts/DebugSmall.json diff --git a/Data/Fonts/Vera-Bold-Italic.ttf b/Projects/TestBull/Data/Fonts/Vera-Bold-Italic.ttf similarity index 100% rename from Data/Fonts/Vera-Bold-Italic.ttf rename to Projects/TestBull/Data/Fonts/Vera-Bold-Italic.ttf diff --git a/Data/Fonts/Vera-Bold.ttf b/Projects/TestBull/Data/Fonts/Vera-Bold.ttf similarity index 100% rename from Data/Fonts/Vera-Bold.ttf rename to Projects/TestBull/Data/Fonts/Vera-Bold.ttf diff --git a/Data/Fonts/Vera-Italic.ttf b/Projects/TestBull/Data/Fonts/Vera-Italic.ttf similarity index 100% rename from Data/Fonts/Vera-Italic.ttf rename to Projects/TestBull/Data/Fonts/Vera-Italic.ttf diff --git a/Data/Fonts/Vera.ttf b/Projects/TestBull/Data/Fonts/Vera.ttf similarity index 100% rename from Data/Fonts/Vera.ttf rename to Projects/TestBull/Data/Fonts/Vera.ttf diff --git a/Projects/TestBull/Data/Materials/Default.json b/Projects/TestBull/Data/Materials/Default.json new file mode 100644 index 000000000..7b5b029cc --- /dev/null +++ b/Projects/TestBull/Data/Materials/Default.json @@ -0,0 +1,13 @@ +[ + { + "Helium::Material": { + "m_spShader": "/Shaders:StandardBase.hlsl", + "m_textureParameters": [ + { + "name": "DiffuseMap", + "value": "/Textures:Default.png" + } + ] + } + } +] \ No newline at end of file diff --git a/Data/Materials/TestBull.json b/Projects/TestBull/Data/Materials/TestBull.json similarity index 100% rename from Data/Materials/TestBull.json rename to Projects/TestBull/Data/Materials/TestBull.json diff --git a/Data/Meshes/TestBull.fbx b/Projects/TestBull/Data/Meshes/TestBull.fbx similarity index 100% rename from Data/Meshes/TestBull.fbx rename to Projects/TestBull/Data/Meshes/TestBull.fbx diff --git a/Data/Meshes/TestBull.fbx.json b/Projects/TestBull/Data/Meshes/TestBull.fbx.json similarity index 100% rename from Data/Meshes/TestBull.fbx.json rename to Projects/TestBull/Data/Meshes/TestBull.fbx.json diff --git a/Projects/TestBull/Data/Scenes/TestScene/Camera.json b/Projects/TestBull/Data/Scenes/TestScene/Camera.json new file mode 100644 index 000000000..996045dc9 --- /dev/null +++ b/Projects/TestBull/Data/Scenes/TestScene/Camera.json @@ -0,0 +1,25 @@ +[ + { + "Helium::EntityDefinition": { + "m_Components": ["1", "2"] + } + }, + { + "GameLibrary::CameraComponentDefinition": { + "m_NearClip": 1.0, + "m_FarClip": 5000.0, + "m_Fov": 90, + "m_Name": "DefaultCamera" + } + }, + { + "Helium::TransformComponentDefinition": { + "m_Position": { + "m_vectorAsFloatArray": [ 0, 0, -50, 0 ] + }, + "m_Rotation": { + "m_quatAsFloatArray": [ 0, 0, 0, 1 ] + } + } + } +] \ No newline at end of file diff --git a/Projects/TestBull/Data/Scenes/TestScene/SceneDefinition.json b/Projects/TestBull/Data/Scenes/TestScene/SceneDefinition.json new file mode 100644 index 000000000..312711f6c --- /dev/null +++ b/Projects/TestBull/Data/Scenes/TestScene/SceneDefinition.json @@ -0,0 +1,11 @@ +[ + { + "Helium::SceneDefinition": { + "m_Entities": [ + "/Scenes/TestScene:TestBull", + "/Scenes/TestScene:Camera" + ], + "m_WorldDefinition": "/System:WorldDefinition" + } + } +] \ No newline at end of file diff --git a/Projects/TestBull/Data/Scenes/TestScene/TestBull.json b/Projects/TestBull/Data/Scenes/TestScene/TestBull.json new file mode 100644 index 000000000..78e39a509 --- /dev/null +++ b/Projects/TestBull/Data/Scenes/TestScene/TestBull.json @@ -0,0 +1,17 @@ +[ + { + "Helium::EntityDefinition": { + "m_Components": [ + { + "Helium::TransformComponentDefinition": { + } + }, + { + "Helium::MeshComponentDefinition": { + "m_Mesh": "Meshes/TestBull.fbx" + } + } + ] + } + } +] \ No newline at end of file diff --git a/Data/Shaders/Common.inl b/Projects/TestBull/Data/Shaders/Common.inl similarity index 100% rename from Data/Shaders/Common.inl rename to Projects/TestBull/Data/Shaders/Common.inl diff --git a/Data/Shaders/PrePass.hlsl b/Projects/TestBull/Data/Shaders/PrePass.hlsl similarity index 100% rename from Data/Shaders/PrePass.hlsl rename to Projects/TestBull/Data/Shaders/PrePass.hlsl diff --git a/Data/Shaders/ScreenSpaceTexture.hlsl b/Projects/TestBull/Data/Shaders/ScreenSpaceTexture.hlsl similarity index 100% rename from Data/Shaders/ScreenSpaceTexture.hlsl rename to Projects/TestBull/Data/Shaders/ScreenSpaceTexture.hlsl diff --git a/Data/Shaders/ScreenText.hlsl b/Projects/TestBull/Data/Shaders/ScreenText.hlsl similarity index 100% rename from Data/Shaders/ScreenText.hlsl rename to Projects/TestBull/Data/Shaders/ScreenText.hlsl diff --git a/Data/Shaders/Simple.hlsl b/Projects/TestBull/Data/Shaders/Simple.hlsl similarity index 100% rename from Data/Shaders/Simple.hlsl rename to Projects/TestBull/Data/Shaders/Simple.hlsl diff --git a/Data/Shaders/StandardBase.hlsl b/Projects/TestBull/Data/Shaders/StandardBase.hlsl similarity index 100% rename from Data/Shaders/StandardBase.hlsl rename to Projects/TestBull/Data/Shaders/StandardBase.hlsl diff --git a/Projects/TestBull/Data/System/System.json b/Projects/TestBull/Data/System/System.json new file mode 100644 index 000000000..7ee46744a --- /dev/null +++ b/Projects/TestBull/Data/System/System.json @@ -0,0 +1,8 @@ +[ + { + "Helium::SystemDefinition": { + "m_SystemComponents": [ + ] + } + } +] diff --git a/Projects/TestBull/Data/System/WorldDefinition.json b/Projects/TestBull/Data/System/WorldDefinition.json new file mode 100644 index 000000000..0b8f2278e --- /dev/null +++ b/Projects/TestBull/Data/System/WorldDefinition.json @@ -0,0 +1,25 @@ +[ + { + "Helium::WorldDefinition": { + "m_Components": [ + { + "GameLibrary::ScreenSpaceTextComponentDefinition": { + "m_Text": "Hit 'C' to use debug camera. WASD to move and mouse to look.", + "m_Position": { + "m_vectorAsFloatArray": [ 0.02, 0.05 ] + } + } + }, + { + "Helium::GraphicsManagerComponentDefinition": { + } + }, + { + "GameLibrary::CameraManagerComponentDefinition": { + "m_DefaultCameraName": "DefaultCamera" + } + } + ] + } + } +] \ No newline at end of file diff --git a/Projects/TestBull/Data/Textures/Default.png b/Projects/TestBull/Data/Textures/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..5624dfb233bd94bf8cad3cf44f68a561a25c099a GIT binary patch literal 15133 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4Yzkn2Dage(c!@6@aFM%AEbVpxD z28NCO+PnvcRI%9zaz@tk6KxtBvDpZ8Mv%3; znM)@&8$r&vWw}Yw3&W34kB@p465^w=3Qf*~FagWRZN-siPOiDf!?Sr6j=Z?J%Glt{ zD)h_^&+%su7_7#Tp^R3WGap_vYUyb3LW}s(gaocY@Mf9m+%GgSYD;JpI$FFA-r{w% zeE=!wM^IDf$%hr8Semww%$k-kBNV;m3UAKNZcGeAZxO?r$@y$;k+@o+k$WX2(nc*! z`#KuD;C|6)LIT&7__IumgTEn07jv{GK`CQKJJpcB{pk1swDCD0LnSKh?rTRolcU{c z$bjPLs03tWbntbXpE6Z-VT{W{TeqV%$!JZ2(zh9qnq+jS1lqv0w8=tg=)wD-z?qfN z&g5uc9cheWv@=OWXOc$aFZ$vag5h&2Xp^alYDdX8?m5EnWw2@jALD8dAHAppodJiYucFdPkQoLq`%v z`|9BOYVeIp#OWEB6R%e%9bO!UG+BnaF>Q3}Y_zYA mND-qw*n#W8zTNkpJ#5j`Y|#h2Z-84`89ZJ6T-G@yGywqNSLrVR literal 0 HcmV?d00001 diff --git a/Data/Textures/TestBull_DM.png b/Projects/TestBull/Data/Textures/TestBull_DM.png similarity index 100% rename from Data/Textures/TestBull_DM.png rename to Projects/TestBull/Data/Textures/TestBull_DM.png diff --git a/Data/Textures/TestBull_NM.png b/Projects/TestBull/Data/Textures/TestBull_NM.png similarity index 100% rename from Data/Textures/TestBull_NM.png rename to Projects/TestBull/Data/Textures/TestBull_NM.png diff --git a/Data/Textures/TestBull_SM.png b/Projects/TestBull/Data/Textures/TestBull_SM.png similarity index 100% rename from Data/Textures/TestBull_SM.png rename to Projects/TestBull/Data/Textures/TestBull_SM.png diff --git a/Projects/TestBull/Source/Main/Icon.ico b/Projects/TestBull/Source/Main/Icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..01047c333e9aa2e9762587431b7128dbc6caaccd GIT binary patch literal 13094 zcmeHtd0dX!-~am_&0NE5X2w^{YW5jMGa^f*RkpIWDwR;uLYqRXlFCvk(Mn7yN(-S> zQpk-$sE{^Hwjs(ohTrF$>%Lo*d7kI>dVc>s@7L=-%V)dJIoEZc?ehU7P=JO8IDYOA z=u)X~U$MUEZNQ0Wg9eH9)OUfZ&w<~6m(@Q6e7*;Mrm6=0{OBhE2{C*kX0NBOUcJJO zRVJt}-wMO=zv4jB2Ha{ok3jRWs61JMvw5p=FwPNW`%_?RFag0XvvBX;J*2Gjz>(c6 z5a%)#H?J0B!K7iREZu|3qRsHOnFRM)BN1k+jf@S}$ll_QYZo)Id6_wq0v6-y`I9Kz z9gCJbbtugU#kFfqa5dM$rK9Wc^hq1)DhqJs^e*IW^G5n+2h7t~Lrj1L%5tJmw8ItB zY#-dXauShCXCrN`J?v(wVrz&s%qA!!XrT@+9p8d8g-HloVGJ(|O`JTGjs!15R7vv? z=`?_}K_547-o#21RqRi4g@gVGTt0IYrCEtMTe2TTX<^8TvO)fiAnc0p#>u_w zaPe>mQiCm#=rtEvvB79=yn@!2n>f0g`gi3#oQ&1sF>eAw=BXnk+!iq&GjQ=(DvFYQ zP+yUZLn+IU5#fRtfBy}uDJocPqmQ*q^wHMVhWmG#aq-Lv97*4VTi5I0Zax`}H5G{R znS=Ai2{@gfh~zbP$VpfVo9Sb4tDzj#B@sBDz7l&P9N=c8ifC7TlwMb(K6toJZPq^AMO z3wNRXKq$)h2Ou@n26=yM#Qv=zIIuMkckbMQ^UP7GI&}oMuV2Q3>1tSJu7NE}CgV(T zHnzAKq9i>We*`-s++G)J7iwdh?;Lm4U5&XI!tXfQzX*;+N0DiTz2C?(;`h z#6o07uf+3bPw?>G9Xz;q12=Bm!2GErQGMaR*lPC1f z?!sci@9;JmgSGAkh;W;Mg5(X@N8iPhN3D3&+Jaf*hQLfq2{)TAVg9sHu%9ss^%u+G zvp^T?=4)c(VqF9}O?!PR_+P9Ke%yh<|3ka)cc`|P-v4jgXjf6V>ZI&+RiVB9-?AV| z*H$EI<$Nz9M=P~QjDwWe(jihQ5wVN~{$*6-=mS1H@1m z&a~54_Kb99VK^J1o(vHAs(EFlp7Wh;Z^9jCy~;{+HVWMh5b;@)o?h=hd;bl6dh6*m zJ?p^$Q%_GzQyQqxkumw=WEZj6H65swmX_Y#0FCR_>%DtlD(0B{=Rt<> z@9WeBY3DA`dslD_2^l(;A+DKgvt$A%yp{|N32~%B?ED>2>l<@&u4kDrsJ5#gJow(a zeZ%57wIj*8o|9wOWeCVxxsp;}6E%j)% zpqoAs-rb^RlI11}#Kf31rEAfM$@Qr%tDBnijogd~JG-lIxN_G*;?;{jp5E>yXPJ9z1?L!o06}a!enA@KINNjfwV4yd(@3pOXRl4-8Begk+K*A#VT~YPo)WtZ;NF z)1Tf+U*pPM$tR@KYY?}}raz@!|HHdXtDus>?1zqW zB{R@!E*}AU_l8MHCW3ofS`6ubA?k0izRaH~S(?V7H5G8Df7YDS_~ zYqA>66t}5sXTCjnP~(b)s4S8E#itOK93YasRxBj9Y9)#tc>LJgvGsy5Nr^D@gxc;8 zt$Dj;27Y2>ju6%bS=HG{xX|k8%}4O@V*^J=H{qx_+XTxWEavZY%t6loAyS*H{+8h8 z=xD(7X_N~P>tYG{L{}Yh@@Ee{&i8y5)BasLy&NBTYaBH_&tc}_xBW4Mn zH-@tTr2m2OwZp>RJ{%3CKT0h2knSOFwMf?&4qr1C^=pldQ-r`84&$lcsJ(pY};wcTEtk^^LGwJt} z(S>tz{j0-=pG%g_af>99%U!0sE|txse_lor&JCB1U+wVWKEhif#*u`+tlT|YL)?in zvfv}vS4d2JAY`53$R>#@vDibZL)=i2o+Ug;(;Z>uZpeCa~qHkPQlxGX)lTnF<&G@;L&5%*m1iQvpq>GIT z3Wj!e$+2!CSQC%P$~?=O&9pi8Q~FTGi%qt(GgMI62zYxd+t~#OvdP(jWZH`4Gd1Nl zqOL5>m2;8X;bSF6xq9GR|3H-ssWyXfFzO z5=>aVT1bu+5zXeUTe3>*S@EAJH}Zp=o-C|hoxskJfUUp(>6R81fz9g-yP5EAv23(X zt|{gg|H$ZqN=wUWe}7xHgnatxr-dIBvbk48IFk)G;uYPl`jRi@LZm@@Or7bc78a_| z+$qBhrgV2LBe2ovjL$@oWR=3gRJlI3Z`W3TrEX-DEC+9aB=@Vgce2;n8DDY{BO{X6 z-oBkb9?;g-j#O7yk#&t_yW8jQ&dOAd6@^sP)gwturq2xYPe_QRGlm>Rhh9?@t2QD( zHX)&ZCv}9?)VTKV-@mhge{Sls&+RpQ#`R-K*0rW4O#XPFrluycqTo-sKZK8Q8Crf(4(t9uT7&#SB6C|ImN@!FqP!3I_X0*K0ZFRyxiku zcN85GSJJi#BG03|Je8z1JF5dkiU01q?@|Z6tnY@RBV~s+`Ev5h0jVU#guAK(_wV1= z%*@P;JljpZGvRC`$!L=7>*~NN!f68o1CRRpsGd<@??L?2Ot8DUXu!3uuFgQEXZ0u* z1LC^ANgZI{wq~8Ovhrze;o}Z4gDR(qQ>V#OjXWkz;o z+R1NHr&}z>U*+obj6pebjE9PfipQ8tWnOo3UB%e4i>@~q5&y;U&+{z1BJX)TQ~tMy z%Pev+L5L6AA-9pYBTQ6&bI-f9MrMJsRjcl=;*AzbU8Mf4!pEV*3@`nAzq?yo(Mf+r zceac|cYkseOL*x8@HH#6&;L;$mE|fz^9)ajxLU>JZgP z@g=W9ovV`pdCtv{A$d+uWf0_f1Fxc&JTDgOk~igkBA?%Tvf}@*dNDIj9WCZr_q;)* zx3^o~A9*hCuRNEJhdh^$7aw*u@P6E2$N2IG(0Fr$^rE;SdLP`t*B$Sx{r!<3f1f14 z*kp;lR(4O^mwtojC%-4wkWi%ukT`buo1wfY8;kW-P`Yb5?p!OUyFDHJ_19lGlCc?k zH!r5U+d}M%55l@-1~_vt815F@s6L*AE7j+a9PETR&zY!{7U52F1Iluf5a2is1>2VL zJGi3c)p+*gG3<>e!hQBA{8@XH?%k?zGTRSf4%6X3PlN7@*U???JVepGVs^9};#ZjQ zJF~WjEy&vJ2Y=g1bPv5Bjs~jy{;wd(6U*mMM6lI(G+Zo2g7-YM{M8KGnX1?sG#AIS zH_`pJ6RJ-i!G+QkG+wHtyGkRv|J;oudlKMcG!D`O@pLC%g|i0(=q^F(d^XpvT;Tpa=8L-3cplN7v$;P;T95@- zqp@hJI*6j}?#QIRw6?b5?(LgM@Ha*FCTH@YNwJLPzW`d7_L6_;#f!h;V5o*j@=Y<{ z&T_+1++Sv*^&1w=RL7EOBT#?70Q(Z1`8w24b(H2@KU`~S#60pHdCgTv@WM&huxJ7< zAK!qqsKt0d>qkxHY3}Fqww;2-(^L@eZ3Jn~dhRQWUulkIrfR4;U5o&;v559FM+(iY zZ4d6_;r%<IX=4M~+7j-gG=YFt2S{K=z9_%^`;pE3;Yfr3) z3G&I;ld;~K`+8bv4O%*LBwT6DSuuDZm{;(uJ6Ix@u$Tzrx{7-JkjB-QMgvapY;In87f*ef{?W~7z@~u@KT7yl# zX0!+K=Dy$kF^fTGNm|oi(6{vh&z?TP)5nkK*NVrF9^zrkUGhENfg8R5AWJp)T4~X~ zMH6etC+tst*htzx1UgMeq{C#KF32Q*^b}k^wjP_D+h?90W`*vgzHuVh{;eD0xnXZ^0?^EkB* ziN3uCAC5|-v#1=2QHKZjYHx;GFQp2Dn>S~C`1>6C#6=iXDD{$Ch#Pa}LU#6lG&MEn zhh)of;mjCW8{!<5H~#a_r^F_t*-!Fa!EYTlDm!w4tCxN}c+$aPrpUi6e4zhec;u#$ z`yCGcc!_m0PUXi_duwY2#$Oq`cG37zbZPnWW%;YRA61xvIHe^6qH1eD(X6RHDv{hD zJ$m$%JCe<#N3XG6qD1_@$(Di5)_c!R+jpB?JG^gA_)K!~h_&^t2Fv8Wh+QGS z)|RYg>3Yx=tl_yX z*R+OzQS~j|AmaBw{Z?qGo@9AwXZ&SIwYN_9C;sX|S#$-Pn&0Jq_U>A${xE1Y@f)uj z|M0^PEw{H&$`Gv(;XF?A6_rk1ZzO)%j)rU3t__j6QA+rndXZWs$)sY#jMkzeR?i-tS*Uxrfc#%pD2^s$()o0i5riBuiJ9$`GI79FWPq{0?D?B`G z*yOp44ZPPnt3fKm-&)LqpH$i~tMxsR4OP?JFMjRK?+hsUdC$Z?&wBs*MXsr;j1QY% zCL29Ef1m@~9~n*l#YWBsM!0AEbmj4OnGbaP<10U9xR2;yQ>oT{!>$F}To-=4&~@8_ zT^rnMyKt%UU2X00^-g2Aj&)jpytekc*V(LIR4YQG6O-0{I@8fX&5v(6d|%LMjgEF7 zvC|v-HP9iuSUh)1Snh{6??L1|CMW+jkiOg&v&-z$)`p!g`E%Jm<#+m7(XV}<(uXQN zfbUZROi@>!$oDGswKX`jBaqLj$M&V*+=(KbI~0T<=b3yRet7>DojInUxwZ%nwC1LT zd-2$zyq#Mpo?;^IHCLl-&q{>R{QgIn4eHMAqj-;X6eE#_T8iC>q&OHhf6tvXnqo%W zaHT8^?li}qD9FKuBXKnUwjn2GH4=RnAU$j;O7_I@y$jpJ*v%e?YnM;(b@K?t-~=t6 zOmQ)uC_l6fXY#{wiq@RwhV#hVu>qD8TXEs|UIbX_AR%}juAC`^$Lx`apm~~|t8P^1 z;_}5axPQBe_BW>doLf!%G8VUyO6yxwLp|~-UL%{%lx(lGkm4_H)gR+~g<^_{Nn5)Z zw{O(*eF@vU*i0UV#;Q`>y?YmH9cJTHek#StOvTy5X>c?dPq8$!P<12%d!oFkjhE@X zI0p@vDrk>LXGt3!R2()(drr48p6n}K7qLiP*_ipw8eivAA)yitkmLF6PjAdLqJ>8)F--)!XQNoD*e>JrsYFpS+B(+efnhfU(9< z+__Or=iG@D|K-Nxm=@`cfSb7{Ur$-gkEa=}uXD!oJxP#-8kSq@qV~)Igu2b3TQPm1T+=ECE7*dD2|zLsLWPEo9tKi}7fF3>{M653a9SV;S|XLR1b zPw&14wzL;>Hy90P<8g4MZ=da}E*#H8$Rb@ttTe%K+JhzenNqA)1jP$cY!$`r+aJx%%~(XSRt?o>v4UdXg6Q18j`p?@b`xlSdKY$6m1%FTg8BNR;7)rq z*SXqQWu}T{Ruiy>_JM2XYxFQ1{Etar%ja93oSk#Tm_SA@5Nsn`j+ z{e31Vbn3KJ`sIki=D~vp|9pXo6BbQBMAddQ7moO{<3%V)(*g^5hPV9Yi zDbYlD7Y3%acR{LfuCO_hFt?L9D>^%R-rB4?n6a7*&nd{>v{dT8;Euj7#qY#*lK<0+ zd8EqJ>6KL})#&TrS>P^fk<|X2f8?1xbZ!2fT;A|}S+DeOKKg?+^hhDSf0GdDf6ksi zphRjCvqry9f0F-{%RA31Be`@P9i4O*>adXtI#r6onivx)`&y+^)j?_*efs1H!pC2I zb^pW_l95QZiQxdWnJhDB#YuwNAXVNVseR@h;kSZ<3f(-nS(RLvl7R&x5+su4yp$(Q z&SVYxS~`C6CPnhh_3!_^Tv#GW-~^UXABMAhkFaU-czVfF>FzBD2LHyODUsMbW;!zs zc%3J^B$A=L&~#wSZfcNJdSgPH?jD9R$q#$>EVMEBd@HYt$<{JSEiVmjn{b26yZGuW z-6nh{k*KizHGCi`;}l(eUl%T~IzUj`Oi-3c#hcWx?=cKeY&g(19DBYve^ zejTTz=I%BbHHze)W;ebk_frMY=X-?tn}%>nF?p8}$Y1wfV>WkA%zk3xo|`IS1&LVv zl$v_8ll&>p%5^t+GMi7LPo6ZItme<8gq|Rg)b8BbNxq!(R+}{PFa%QR+qd8TR=$Cz z~17>1yK&&m16qo${eB3yrc6p51x3BT^ z_O=~eFmL`B*OoC#+xF9q`}U3L5C>AGOlg=i$J(POSkIZ$Fl9ZL|P};J$p8_p6FWL#fg$C2ruee#K5j+V%AdsLJ(4Wlx9TsU8U6bP09%^4b4gF zTc5%RZG&(p>5N9*r2Au8-oSFYPnPG!tWI~#ujhV@PVnRD|6X3q v?Dg=x21f7HE_r+9xx7E}T;5-K|K;P+K0d{=@gf5PG26$J%6xofInitialize( + memoryHeapPreInitialization, + assetLoaderInitialization, + configInitialization, + windowManagerInitialization, + rendererInitialization, + systemDefinitionPath); + + if( bSystemInitSuccess ) + { + World *pWorld = NULL; + + { + AssetLoader *pAssetLoader = AssetLoader::GetInstance(); + SceneDefinitionPtr spSceneDefinition; + + AssetPath scenePath( "/Scenes/TestScene:SceneDefinition" ); + pAssetLoader->LoadObject(scenePath, spSceneDefinition ); + + HELIUM_ASSERT( !spSceneDefinition->GetAllFlagsSet( Asset::FLAG_BROKEN ) ); + + pWorld = pGameSystem->LoadScene(spSceneDefinition.Get()); + } + + HELIUM_ASSERT( pWorld ); + + if ( pWorld ) + { + Window::NativeHandle windowHandle = rendererInitialization.GetMainWindow()->GetNativeHandle(); + Input::Initialize(windowHandle, false); + Input::SetWindowSize( + rendererInitialization.GetMainWindow()->GetWidth(), + rendererInitialization.GetMainWindow()->GetHeight()); + + // Run the application. + result = pGameSystem->Run(); + } + } + + // Shut down and destroy the system. + pGameSystem->Shutdown(); + GameSystem::Shutdown(); + } + + // Perform final cleanup. + ThreadLocalStackAllocator::ReleaseMemoryHeap(); + +#if HELIUM_ENABLE_MEMORY_TRACKING + DynamicMemoryHeap::LogMemoryStats(); + ThreadLocalStackAllocator::ReleaseMemoryHeap(); +#endif + + return result; +} diff --git a/Projects/TestBull/Source/Main/Main.rc b/Projects/TestBull/Source/Main/Main.rc new file mode 100644 index 000000000..765878d18 --- /dev/null +++ b/Projects/TestBull/Source/Main/Main.rc @@ -0,0 +1,84 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "windows.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Chinese (P.R.C.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS) +#ifdef _WIN32 +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED +#pragma code_page(936) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Chinese (P.R.C.) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON "Icon.ico" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/Projects/TestBull/Source/Main/Types.cpp b/Projects/TestBull/Source/Main/Types.cpp new file mode 100644 index 000000000..4633378c6 --- /dev/null +++ b/Projects/TestBull/Source/Main/Types.cpp @@ -0,0 +1,10 @@ +#include "Precompile.h" +#include "Bullet/BulletEngine.h" + +namespace Helium +{ + void EnumerateDynamicTypes() + { + { Helium::BulletSystemComponent i; } + } +} \ No newline at end of file diff --git a/Projects/TestBull/Source/Main/resource.h b/Projects/TestBull/Source/Main/resource.h new file mode 100644 index 000000000..8fd8814b4 --- /dev/null +++ b/Projects/TestBull/Source/Main/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by ExampleMain.rc +// +#define IDI_ICON1 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/Projects/TestBull/Source/Module/Precompile.cpp b/Projects/TestBull/Source/Module/Precompile.cpp new file mode 100644 index 000000000..077eb3c04 --- /dev/null +++ b/Projects/TestBull/Source/Module/Precompile.cpp @@ -0,0 +1,13 @@ +#include "Precompile.h" + +#include "Platform/MemoryHeap.h" + +#if HELIUM_HEAP + +HELIUM_DEFINE_DEFAULT_MODULE_HEAP( Game ); + +#if HELIUM_DEBUG +#include "Platform/NewDelete.h" +#endif + +#endif // HELIUM_HEAP diff --git a/Projects/TestBull/Source/Module/Precompile.h b/Projects/TestBull/Source/Module/Precompile.h new file mode 100644 index 000000000..c168e9d35 --- /dev/null +++ b/Projects/TestBull/Source/Module/Precompile.h @@ -0,0 +1,13 @@ +#pragma once + +#include "Platform/Trace.h" +#include "Framework/GameSystem.h" +#include "FrameworkImpl/MemoryHeapPreInitializationImpl.h" +#include "FrameworkImpl/AssetLoaderInitializationImpl.h" +#include "FrameworkImpl/ConfigInitializationImpl.h" +#include "FrameworkImpl/WindowManagerInitializationImpl.h" +#include "FrameworkImpl/RendererInitializationImpl.h" +#include "Foundation/FilePath.h" +#include "Engine/FileLocations.h" +#include "Engine/CacheManager.h" +#include "GameLibrary/Precompile.h" diff --git a/Shared.lua b/Shared.lua index 0cb6095e9..72f28a6e9 100644 --- a/Shared.lua +++ b/Shared.lua @@ -583,3 +583,4 @@ project( prefix .. "GameLibrary" ) Helium.DoGameMainProjectSettings( "PhysicsDemo" ) Helium.DoGameMainProjectSettings( "ShapeShooter" ) Helium.DoGameMainProjectSettings( "SideScroller" ) +Helium.DoGameMainProjectSettings( "TestBull" ) diff --git a/Tools.lua b/Tools.lua index 77d5cf9b1..bda681d35 100644 --- a/Tools.lua +++ b/Tools.lua @@ -590,3 +590,4 @@ project( prefix .. "Editor" ) Helium.DoGameModuleProjectSettings( "PhysicsDemo" ) Helium.DoGameModuleProjectSettings( "ShapeShooter" ) Helium.DoGameModuleProjectSettings( "SideScroller" ) +Helium.DoGameModuleProjectSettings( "TestBull" ) From 030b4f5b19b06173c431797face1d488f306df85 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Wed, 13 Jun 2018 18:46:43 -0700 Subject: [PATCH 03/23] Update for renamed repo --- Documentation/Intro-Architecture.md | 2 +- Documentation/Intro-History.md | 2 +- Documentation/Intro-Organization.md | 4 ++-- Documentation/System-AssetLoader.md | 2 +- Documentation/System-Components.md | 2 +- README.md | 9 ++++----- Source/Engine/MathSimd/LICENSE.md | 28 ---------------------------- 7 files changed, 10 insertions(+), 39 deletions(-) delete mode 100644 Source/Engine/MathSimd/LICENSE.md diff --git a/Documentation/Intro-Architecture.md b/Documentation/Intro-Architecture.md index befbd66ad..6b5bb291b 100644 --- a/Documentation/Intro-Architecture.md +++ b/Documentation/Intro-Architecture.md @@ -1,4 +1,4 @@ -![Helium Game Engine](https://raw.github.com/HeliumProject/Helium/master/Documentation/Helium.png) +![Helium Game Engine](https://raw.github.com/HeliumProject/Engine/master/Documentation/Helium.png) # Architecture # diff --git a/Documentation/Intro-History.md b/Documentation/Intro-History.md index 8a0628b50..987f51091 100644 --- a/Documentation/Intro-History.md +++ b/Documentation/Intro-History.md @@ -1,4 +1,4 @@ -![Helium Game Engine](https://raw.github.com/HeliumProject/Helium/master/Documentation/Helium.png) +![Helium Game Engine](https://raw.github.com/HeliumProject/Engine/master/Documentation/Helium.png) # History # diff --git a/Documentation/Intro-Organization.md b/Documentation/Intro-Organization.md index 8bb359c4c..0294efe2a 100644 --- a/Documentation/Intro-Organization.md +++ b/Documentation/Intro-Organization.md @@ -1,4 +1,4 @@ -![Helium Game Engine](https://raw.github.com/HeliumProject/Helium/master/Documentation/Helium.png) +![Helium Game Engine](https://raw.github.com/HeliumProject/Engine/master/Documentation/Helium.png) # Code Organization # @@ -86,4 +86,4 @@ Editor is a [wxWidgets](http://wxwidgets.org) application that is the user-facin '''I want to use my own physics/rendering/etc.''' - Create a world-level component for the manager. Create entity-level component(s) as needed for per-game-object things. For example, meshes or physical bodies. The bullet integration is a good example of how to inject your own middleware and is actually not very much code. Remember, use the asset pipeline to your advantage! The data-management tools provided by helium can make existing middleware extremely to fast to work with. -'''I have a question and it's not on this list''' - Join freenode, channel #helium, and ask away. If you're still stuck and think something is broken, you could also create a github issue. https://github.com/HeliumProject/Helium/issues +'''I have a question and it's not on this list''' - Join freenode, channel #helium, and ask away. If you're still stuck and think something is broken, you could also create a github issue. https://github.com/HeliumProject/Engine/issues diff --git a/Documentation/System-AssetLoader.md b/Documentation/System-AssetLoader.md index f9193ff15..9f3caa997 100644 --- a/Documentation/System-AssetLoader.md +++ b/Documentation/System-AssetLoader.md @@ -1,4 +1,4 @@ -![Helium Game Engine](https://raw.github.com/HeliumProject/Helium/master/Documentation/Helium.png) +![Helium Game Engine](https://raw.github.com/HeliumProject/Engine/master/Documentation/Helium.png) # WARNING # diff --git a/Documentation/System-Components.md b/Documentation/System-Components.md index f01c9987b..53e99db25 100644 --- a/Documentation/System-Components.md +++ b/Documentation/System-Components.md @@ -1,4 +1,4 @@ -![Helium Game Engine](https://raw.github.com/HeliumProject/Helium/master/Documentation/Helium.png) +![Helium Game Engine](https://raw.github.com/HeliumProject/Engine/master/Documentation/Helium.png) # Component System # diff --git a/README.md b/README.md index a228fec82..f781fbb7e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![Build Status](https://travis-ci.org/HeliumProject/Helium.svg?branch=master)](https://travis-ci.org/HeliumProject/Helium) +[![Build Status](https://travis-ci.org/HeliumProject/Engine.svg?branch=master)](https://travis-ci.org/HeliumProject/Engine) -![Helium Game Engine](https://raw.github.com/HeliumProject/Helium/master/Documentation/Helium.png) +![Helium Game Engine](https://raw.github.com/HeliumProject/Engine/master/Documentation/Helium.png) Helium aspires to be a fully-featured open-source game engine: * Permissively licensed (BSD-style) @@ -22,9 +22,8 @@ Systems # Resources # * Website: [http://heliumproject.org](http://heliumproject.org) -* GitHub: [http://github.com/HeliumProject/Helium](http://github.com/HeliumProject/Helium) -* Google Groups: [https://groups.google.com/group/heliumproject](https://groups.google.com/group/heliumproject) -* IRC: #helium @ irc.freenode.net +* GitHub: [http://github.com/HeliumProject/Engine](http://github.com/HeliumProject/Engine) +* Slack: [http://heliumproject.slack.com](http://heliumproject.slack.com) (ask @gorlak for an invite) # Building # diff --git a/Source/Engine/MathSimd/LICENSE.md b/Source/Engine/MathSimd/LICENSE.md deleted file mode 100644 index 54081fe5f..000000000 --- a/Source/Engine/MathSimd/LICENSE.md +++ /dev/null @@ -1,28 +0,0 @@ -Helium Open License -------------------- - -Portions Copyright (c) 201x, WhiteMoon Dreams, Inc. -Portions Copyright (c) 200x, Insomniac Games, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notices, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -Neither the name of Whitemoon Dreams, Inc. nor Insomniac Games, Inc. nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Suggested Header for Source Files ---------------------------------- - -\ -\ -Portions Copyright (C) 201x Whitemoon Dreams, Inc. -Portions Copyright (C) 200x Insomniac Games, Inc. - -This library is free software; you can redistribute it and/or modify it under the terms of the Helium Open License. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even an implied warranty. See the Helium Open License for more details. - -You should have received a copy of the Helium Open License along with this code; if not, visit: http://github.com/HeliumProject/Helium From 050e084a287139decc45d539e59d3fd64a1d902b Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Wed, 13 Jun 2018 18:52:07 -0700 Subject: [PATCH 04/23] tidy up docs --- CODING => CODING.md | 0 LICENSE.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) rename CODING => CODING.md (100%) create mode 100644 LICENSE.md diff --git a/CODING b/CODING.md similarity index 100% rename from CODING rename to CODING.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 000000000..54081fe5f --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,28 @@ +Helium Open License +------------------- + +Portions Copyright (c) 201x, WhiteMoon Dreams, Inc. +Portions Copyright (c) 200x, Insomniac Games, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright notices, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +Neither the name of Whitemoon Dreams, Inc. nor Insomniac Games, Inc. nor the names of their contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Suggested Header for Source Files +--------------------------------- + +\ +\ +Portions Copyright (C) 201x Whitemoon Dreams, Inc. +Portions Copyright (C) 200x Insomniac Games, Inc. + +This library is free software; you can redistribute it and/or modify it under the terms of the Helium Open License. + +This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even an implied warranty. See the Helium Open License for more details. + +You should have received a copy of the Helium Open License along with this code; if not, visit: http://github.com/HeliumProject/Helium From f709ae0f003748d15ae170322f1c8be240829943 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Wed, 13 Jun 2018 19:06:47 -0700 Subject: [PATCH 05/23] add real markdown to coding guide --- CODING.md | 419 ++++++++++++++++++++++++++---------------------------- 1 file changed, 205 insertions(+), 214 deletions(-) diff --git a/CODING.md b/CODING.md index 7f83bd983..09d95e405 100644 --- a/CODING.md +++ b/CODING.md @@ -1,6 +1,5 @@ -######################################################################## Helium Coding Guidelines -######################################################################## +======================== Naming Conventions ================== @@ -13,159 +12,147 @@ Namespaces Namespaces should be used sparingly to logically delineate code. Namespace names should start with a capital letter and use camel casing, eg: - namespace ExampleNamespace - { - ... - } +```cpp +namespace ExampleNamespace +{ +} +``` Structs and Classes ------------------- Both structs and classes should using camel casing and begin with a capital letter, eg: - class ExampleClass - { - ... - } - - struct ExampleStruct - { - ... - } +```cpp +class ExampleClass +{ +} + +struct ExampleStruct +{ +} +``` Enums ----- * Enums should be placed in their own explicit namespace - so as not to contaminate the containing namespace with extraneous symbols -** namespace name is plural - as the container for all of the enum symbols; the namespace name is used to refer to individual enum values as FileAccessFlags::Append rather than just Append + * namespace name is plural - as the container for all of the enum symbols; the namespace name is used to refer to individual enum values as FileAccessFlags::Append rather than just Append * enum � used to declare variables; the name is -** plural if an enum variable may contain more than one of the enum flags: and cannot share the same name as the encapsulating namespace: FindFileFlags::FindFlags flags -** singular if the enum values are mutually exclusive, allowing you to declare a variable that is ONE of many enum values: FileAccessFlags::FileMode mode + * plural if an enum variable may contain more than one of the enum flags: and cannot share the same name as the encapsulating namespace: FindFileFlags::FindFlags flags + * singular if the enum values are mutually exclusive, allowing you to declare a variable that is ONE of many enum values: FileAccessFlags::FileMode mode * enum member names should be CamelCase, with leading uppercase character; they should NOT be all caps or prefixed with a character indicator like �k_� * use a typedef to shorten enum variable declaration � shortening FileAccessFlags::FileModes modes to FileModes modes; enum typedef shares the same name as the enum Note: When you refer to an enum inside a type, you do not need to specify the name of the enum � which results in the following compiler warning: - warning C4482: nonstandard extension used: enum 'enum' used in qualified name ----------------------------------EXAMPLE-------------------------------- - namespace FileAccessFlags - { - enum FileAccessFlag - { - Read = 1 << 0, - Write = 1 << 1, - Append = 1 << 2, - Truncate = 1 << 3, - RandomAccess = 1 << 4, - SequentialAccess = 1 << 5, - }; - } - typedef u32 FileAccessFlag; - - ... +``` + warning C4482: nonstandard extension used: enum 'enum' used in qualified name +``` - void MyFunc( FileAccessFlag flags ) +```cpp +namespace FileAccessFlags +{ + enum FileAccessFlag { - if ( flags & FileAccessFlags::Append ) - return OPEN_EXISTING; - } + Read = 1 << 0, + Write = 1 << 1, + Append = 1 << 2, + Truncate = 1 << 3, + RandomAccess = 1 << 4, + SequentialAccess = 1 << 5, + }; +} +typedef u32 FileAccessFlag; - ... +void MyFunc( FileAccessFlag flags ) +{ + if ( flags & FileAccessFlags::Append ) + return OPEN_EXISTING; +} - FileAccessFlag flags = ( FileAccessFlag ) ( FileAccessFlags::Append | FileAccessFlags::Write ); -------------------------------/END EXAMPLE------------------------------ +FileAccessFlag flags = ( FileAccessFlag ) ( FileAccessFlags::Append | FileAccessFlags::Write ); +``` ----------------------------------EXAMPLE-------------------------------- - namespace BrowserDisplayModes +```cpp +namespace BrowserDisplayModes +{ + enum BrowserDisplayMode { - enum BrowserDisplayMode - { - Details = 0, - List, - Thumbnail, - }; - } - typedef BrowserDisplayModes::BrowserDisplayMode BrowserDisplayMode; - - ... + Details = 0, + List, + Thumbnail, + }; +} +typedef BrowserDisplayModes::BrowserDisplayMode BrowserDisplayMode; - void MyFunc( BrowserDisplayMode modes ) +void MyFunc( BrowserDisplayMode modes ) +{ + if ( modes & BrowserDisplayModes::Append ) { - if ( modes & BrowserDisplayModes::Append ) return OPEN_EXISTING; } +} - ... - - BrowserDisplayMode modes = ( BrowserDisplayMode ) ( BrowserDisplayModes::Append | BrowserDisplayModes::Write ); -------------------------------/END EXAMPLE------------------------------ +BrowserDisplayMode modes = ( BrowserDisplayMode ) ( BrowserDisplayModes::Append | BrowserDisplayModes::Write ); +``` Variables --------- - Local Variables - --------------- - Local variables and function parameters should be camel case and begin -with a lower case letter, eg: +Local variables and function parameters should be camel case and begin with a lower case letter, eg: - int localVariable = 0; +```cpp +int localVariable = 0; +``` - Member Variables - ---------------- - Member variables should be defined with the "m_" prefix and use camel case, -beginning with a capital letter following the member prefix, eg: +Member variables should be defined with the "m_" prefix and use camel case, beginning with a capital letter following the member prefix, eg: - int m_MemberVariable; +```cpp +int m_MemberVariable; +``` - Global Variables - ---------------- - Global variables, externalized from the source file, should be defined in the -header files with the "g_" prefix, use camel case and begin with a capital -letter following their prefix, eg: +Global variables, externalized from the source file, should be defined in the header files with the "g_" prefix, use camel case and begin with a capital letter following their prefix, eg: - extern MODULE_API int g_GlobalVariable; +```cpp +extern MODULE_API int g_GlobalVariable; +``` - Static Variables - ---------------- - Static variables should be defined in the source file with the "s_" prefix, -use camel case and begin with a capital letter following their prefix, eg: +Static variables should be defined in the source file with the "s_" prefix, use camel case and begin with a capital letter following their prefix, eg: - static const char* s_StaticVariable = "Hello world\n"; +```cpp +static const char* s_StaticVariable = "Hello world\n"; +``` - Constants - --------- +Constants +--------- - External - -------- - Externalized constants, defined in the header file, should be made using -either Enums (see above) or the C convention of #define, written in all caps, -and underscore separated, eg: +Externalized constants, defined in the header file, should be made using either Enums (see above) or the C convention of #define, written in all caps, and underscore separated, eg: - #define POUND_DEFINED_CONSTANT 1024 +```cpp +#define POUND_DEFINED_CONSTANT 1024 +``` - Internal - -------- - If a constant is never externalized from a source file, the C++ const -modifier may be used instead, and the constant should be defined as a Static -variable (see above). +If a constant is never externalized from a source file, the C++ const modifier may be used instead, and the constant should be defined as a static variable (see above). Macros ------ -In general, C-style macros should not be used when it is possible to use a C++ -inline function instead. Where C-style macros are necessary, they should be -written in all caps with underscores to separate each word. Additionally, to -denote them as belonging to the Helium project, they should begin with the -'HELIUM_' prefix, eg: +In general, C-style macros should not be used when it is possible to use a C++ inline function instead. Where C-style macros are necessary, they should be written in all caps with underscores to separate each word. Additionally, to denote them as belonging to the Helium project, they should begin with the 'HELIUM_' prefix, eg: - HELIUM_ASSERT( ... ) +```cpp +HELIUM_ASSERT( ... ) +``` Files & Fodlers --------------- A file should be named after the class that it contains, and placed under a folder related to its functionality or the module it belongs to, eg: - Module/ +``` Module/Bar.h +``` + +```cpp namespace Helium { class Bar @@ -178,8 +165,13 @@ folder related to its functionality or the module it belongs to, eg: ... } } - +``` + +``` Module/Bar.cpp +``` + +```cpp using namespace Helium; Bar::Bar() @@ -193,8 +185,13 @@ folder related to its functionality or the module it belongs to, eg: void Bar::Func() { } +``` +``` Module/Subsystem/Blah.h +``` + +```cpp namespace Helium { class Blah @@ -204,8 +201,13 @@ folder related to its functionality or the module it belongs to, eg: ~Blah(); } } - +``` + +``` Module/Subsystem/Blah.cpp +``` + +```cpp using namespace Helium; Blah::Blah() @@ -215,141 +217,130 @@ folder related to its functionality or the module it belongs to, eg: Blah::~Blah(); { } +``` Status/Error/Warning Message Formatting ======================================= -It is important that messages to the user (console printing, message box text, -and exception message bodies) be homogeneous and in good form: - - - Use complete sentences, and do not abbreviate words (eg: "vert", "jnt") - - Use periods. Phrases are bad for code that amend other module's messages. - - Don't use exclamation points. Errors are raised with color coding so they - are unnecessary. - - Don't put code in messages. It only makes the messages harder to understand - for users. - - *Under no circumstances* should a message tell the user to go tell a - particular named programmer about a problem, or to get help directly from - them. (eg: "Tell Reddy", "Grab Sam") - - All references to assets and files should be surrounded in single - quotes (', not `). - - Do not use newline characters in exception message text. - -Eg: - - Good - ---- - throw IG::Exception( "Triangle vertex limit exceeded. The limit is 256 triangles." ); - ERR( "Triangle vertex limit exceeded. The limit is 256 triangles.\n" ); +It is important that messages to the user (console printing, message box text, and exception message bodies) be homogeneous and in good form: + +- Use complete sentences, and do not abbreviate words (eg: "vert", "jnt") +- Use periods. Phrases are bad for code that amend other module's messages. +- Don't use exclamation points. Errors are raised with color coding so they are unnecessary. +- Don't put code in messages. It only makes the messages harder to understand for users. +- *Under no circumstances* should a message tell the user to go tell a particular named programmer about a problem, or to get help directly from them. (eg: "Tell Reddy", "Grab Sam") +- All references to assets and files should be surrounded in single quotes (', not \`). +- Do not use newline characters in exception message text. + +Good +---- + +```cpp +throw Helium::Exception( "Triangle vertex limit exceeded. The limit is 256 triangles." ); +``` - Bad - --- - throw IG::Exception( "Tri vert limit too far!!\nIncrease limit in TriPool.cpp (go tell Reddy or Fred)\n" ); - throw IG::Exception( "mTracks[AT_ROTATE_X]->isSampled() && mTracks[AT_ROTATE_Y]->isSampled() && mTracks[AT_ROTATE_Z]->isSampled()\n" ); +Bad +--- + +```cpp +throw Helium::Exception( "Tri vert limit too far!!\nIncrease limit in TriPool.cpp (go tell Reddy or Fred)\n" ); +throw Helium::Exception( "mTracks[AT_ROTATE_X]->isSampled() && mTracks[AT_ROTATE_Y]->isSampled() && mTracks[AT_ROTATE_Z]->isSampled()\n" ); +``` Spacing, Tabs, Newlines, etc. ============================= - - Use spaces instead of tab characters. - - Use 4-space indenting. - - Place curly braces on their own line. - - Put spaces after open parentheses and before close parentheses. - - Put spaces after open brackets and before close brackets. - - Prefer to add spacing to code to help make it more easily readable. - - Append reference/pointer qualifier to the data type as opposed to the - variable name, as it is more descriptive of the type of data that one - expects to be in the variable as opposed to the variable itself. - - Do *not* attempt to align variable declarations or function declarations in - classes using spaces, these tend to rot over time and are more trouble than - they are worth. - -Eg: - - void SomeClass::SomeFunction( const OtherClass& otherClass, FooClass* foo ) - { - HELIUM_ASSERT( otherClass.IsOk() ); - - if ( !otherClass.IsReady() ) - { - otherClass.MakeReady(); - } - - int buffer[ 1234 ]; - otherClass.DoIt( &buffer, 1234 ); - - foo->Process( &buffer, 1234 ); - } +- Use spaces instead of tab characters. +- Use 4-space indenting. +- Place curly braces on their own line. +- Put spaces after open parentheses and before close parentheses. +- Put spaces after open brackets and before close brackets. +- Prefer to add spacing to code to help make it more easily readable. +- Append reference/pointer qualifier to the data type as opposed to the variable name, as it is more descriptive of the type of data that one expects to be in the variable as opposed to the variable itself. +- Do *not* attempt to align variable declarations or function declarations in classes using spaces, these tend to rot over time and are more trouble than they are worth. + +```cpp +void SomeClass::SomeFunction( const OtherClass& otherClass, FooClass* foo ) +{ + HELIUM_ASSERT( otherClass.IsOk() ); + + if ( !otherClass.IsReady() ) + { + otherClass.MakeReady(); + } + + int buffer[ 1234 ]; + otherClass.DoIt( &buffer, 1234 ); + + foo->Process( &buffer, 1234 ); +} +``` - Variable Declarations - --------------------- +Variable Declarations +--------------------- - Good - ---- - ... - int m_SomeInt; - float m_SomeFloat; - ... - void SomeFunction(); - int SomeOtherFunction(); - ... - - Bad - --- - ... - // this will rot when someone changes a type, or it will take someone - // unnecessary time when they add a new variable that changes the spacing - int m_SomeInt; // note the unnecessary spaces following 'int' here - float m_SomeFloat; - ... - void SomeFunction(); - int SomeOtherFunction(); // again, note the unnecessary spaces - ... - +Good +---- + +```cpp +int m_SomeInt; +float m_SomeFloat; + +void SomeFunction(); +int SomeOtherFunction(); +``` + +Bad +--- + +```cpp +// this will rot when someone changes a type, or it will take someone +// unnecessary time when they add a new variable that changes the spacing +int m_SomeInt; // note the unnecessary spaces following 'int' here +float m_SomeFloat; + +void SomeFunction(); +int SomeOtherFunction(); // again, note the unnecessary spaces +``` + File Paths ========== -All internal paths are expected to contain only forward slashes; however, they -will be displayed to the user with the native platform's slashes. This makes -it easier for the user to cut/copy/paste the paths into a command prompt. +All internal paths are expected to contain only forward slashes; however, they will be displayed to the user with the native platform's slashes. This makes it easier for the user to cut/copy/paste the paths into a command prompt. Internal folder paths should always have a trailing slash. -There are several functions in the File subsystem to help manage paths. The -Helium::Path object is the preferred way to work with a path (as opposed to -using a bare string). The Path object has a variety of useful functions and -static methods for working with (and modifying) paths. +There are several functions in the File subsystem to help manage paths. The Helium::Path object is the preferred way to work with a path (as opposed to using a bare string). The Path object has a variety of useful functions and static methods for working with (and modifying) paths. Hints for Writing Clean Class Declarations ========================================== - - Write the header file to be easy to see what the interface is; write for - humans reading your code to see how to use it. - - Try to group similar functions (that work on similar data or support - related functionality) next to each other. + - Write the header file to be easy to see what the interface is; write for humans reading your code to see how to use it. + - Try to group similar functions (that work on similar data or support related functionality) next to each other. - Getter and setter functions should be adjoint. - Since we read top-to-bottom, put publicly accessible things at the top. - Eg: +```cpp +class FOUNDATION_API Example : public Helium::RefCountBase< Example > +{ +public: + Example(); + virtual ~Example(); - class FOUNDATION_API Example : public Helium::RefCountBase< Example > - { - public: - Example(); - virtual ~Example(); - - virtual bool IsCool(); - bool ConvertToInts( int* ints ); - void DoTheThing(); + virtual bool IsCool(); + bool ConvertToInts( int* ints ); + void DoTheThing(); - protected: - virtual bool DoSomethingElse(); +protected: + virtual bool DoSomethingElse(); - public: - std::string m_SomeString; - int32_t m_SomeInt; - - private: - int32_t m_SomePrivateInt; - - void Validate(); - }; +public: + std::string m_SomeString; + int32_t m_SomeInt; + +private: + int32_t m_SomePrivateInt; + + void Validate(); +}; +``` \ No newline at end of file From 515ece54def1db4a7aa6ca925b23ac0dff664a8a Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Wed, 13 Jun 2018 19:09:01 -0700 Subject: [PATCH 06/23] CODING.md --- CODING.md | 116 +++++++++++++++++++++++++++--------------------------- 1 file changed, 59 insertions(+), 57 deletions(-) diff --git a/CODING.md b/CODING.md index 09d95e405..946b77248 100644 --- a/CODING.md +++ b/CODING.md @@ -52,22 +52,24 @@ Note: When you refer to an enum inside a type, you do not need to specify the na ```cpp namespace FileAccessFlags { - enum FileAccessFlag - { - Read = 1 << 0, - Write = 1 << 1, - Append = 1 << 2, - Truncate = 1 << 3, - RandomAccess = 1 << 4, - SequentialAccess = 1 << 5, - }; + enum FileAccessFlag + { + Read = 1 << 0, + Write = 1 << 1, + Append = 1 << 2, + Truncate = 1 << 3, + RandomAccess = 1 << 4, + SequentialAccess = 1 << 5, + }; } typedef u32 FileAccessFlag; void MyFunc( FileAccessFlag flags ) { - if ( flags & FileAccessFlags::Append ) - return OPEN_EXISTING; + if ( flags & FileAccessFlags::Append ) + { + return OPEN_EXISTING; + } } FileAccessFlag flags = ( FileAccessFlag ) ( FileAccessFlags::Append | FileAccessFlags::Write ); @@ -76,21 +78,21 @@ FileAccessFlag flags = ( FileAccessFlag ) ( FileAccessFlags::Append | FileAccess ```cpp namespace BrowserDisplayModes { - enum BrowserDisplayMode - { - Details = 0, - List, - Thumbnail, - }; + enum BrowserDisplayMode + { + Details = 0, + List, + Thumbnail, + }; } typedef BrowserDisplayModes::BrowserDisplayMode BrowserDisplayMode; void MyFunc( BrowserDisplayMode modes ) { - if ( modes & BrowserDisplayModes::Append ) - { - return OPEN_EXISTING; - } + if ( modes & BrowserDisplayModes::Append ) + { + return OPEN_EXISTING; + } } BrowserDisplayMode modes = ( BrowserDisplayMode ) ( BrowserDisplayModes::Append | BrowserDisplayModes::Write ); @@ -153,18 +155,18 @@ folder related to its functionality or the module it belongs to, eg: ``` ```cpp - namespace Helium +namespace Helium +{ + class Bar { - class Bar - { - public: - Bar(); - ~Bar(); - - void Func(); - ... - } + public: + Bar(); + ~Bar(); + + void Func(); + ... } +} ``` ``` @@ -172,19 +174,19 @@ folder related to its functionality or the module it belongs to, eg: ``` ```cpp - using namespace Helium; +using namespace Helium; - Bar::Bar() - { - } +Bar::Bar() +{ +} - Bar~Bar() - { - } +Bar~Bar() +{ +} - void Bar::Func() - { - } +void Bar::Func() +{ +} ``` ``` @@ -192,15 +194,15 @@ folder related to its functionality or the module it belongs to, eg: ``` ```cpp - namespace Helium +namespace Helium +{ + class Blah { - class Blah - { - public: - Blah(); - ~Blah(); - } + public: + Blah(); + ~Blah(); } +} ``` ``` @@ -208,15 +210,15 @@ folder related to its functionality or the module it belongs to, eg: ``` ```cpp - using namespace Helium; - - Blah::Blah() - { - } - - Blah::~Blah(); - { - } +using namespace Helium; + +Blah::Blah() +{ +} + +Blah::~Blah(); +{ +} ``` Status/Error/Warning Message Formatting From d110c5ecb9bbfaa3477badff865c7d6c2cc685c8 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Wed, 13 Jun 2018 19:13:23 -0700 Subject: [PATCH 07/23] CODING.md --- CODING.md | 71 +++++++++++++++++++++---------------------------------- 1 file changed, 27 insertions(+), 44 deletions(-) diff --git a/CODING.md b/CODING.md index 946b77248..92b7ec125 100644 --- a/CODING.md +++ b/CODING.md @@ -1,16 +1,12 @@ -Helium Coding Guidelines -======================== +# Coding Guidelines -Naming Conventions -================== -In general, code should be as self documenting as possible. All names should be -composed of complete and descriptive words; words should not be shortened or -abbreviated except in rare and obvious (to the average developer) cases. +## Naming Conventions -Namespaces ----------- -Namespaces should be used sparingly to logically delineate code. Namespace -names should start with a capital letter and use camel casing, eg: +In general, code should be as self documenting as possible. All names should be composed of complete and descriptive words; words should not be shortened or abbreviated except in rare and obvious (to the average developer) cases. + +### Namespaces + +Namespaces should be used sparingly to logically delineate code. Namespace names should start with a capital letter and use camel casing, eg: ```cpp namespace ExampleNamespace @@ -18,10 +14,9 @@ namespace ExampleNamespace } ``` -Structs and Classes -------------------- -Both structs and classes should using camel casing and begin with a capital -letter, eg: +### Structs and Classes + +Both structs and classes should using camel casing and begin with a capital letter, eg: ```cpp class ExampleClass @@ -33,8 +28,8 @@ struct ExampleStruct } ``` -Enums ------ +### Enums + * Enums should be placed in their own explicit namespace - so as not to contaminate the containing namespace with extraneous symbols * namespace name is plural - as the container for all of the enum symbols; the namespace name is used to refer to individual enum values as FileAccessFlags::Append rather than just Append * enum � used to declare variables; the name is @@ -98,8 +93,7 @@ void MyFunc( BrowserDisplayMode modes ) BrowserDisplayMode modes = ( BrowserDisplayMode ) ( BrowserDisplayModes::Append | BrowserDisplayModes::Write ); ``` -Variables ---------- +### Variables Local variables and function parameters should be camel case and begin with a lower case letter, eg: @@ -125,8 +119,7 @@ Static variables should be defined in the source file with the "s_" prefix, use static const char* s_StaticVariable = "Hello world\n"; ``` -Constants ---------- +### Constants Externalized constants, defined in the header file, should be made using either Enums (see above) or the C convention of #define, written in all caps, and underscore separated, eg: @@ -136,8 +129,7 @@ Externalized constants, defined in the header file, should be made using either If a constant is never externalized from a source file, the C++ const modifier may be used instead, and the constant should be defined as a static variable (see above). -Macros ------- +### Macros In general, C-style macros should not be used when it is possible to use a C++ inline function instead. Where C-style macros are necessary, they should be written in all caps with underscores to separate each word. Additionally, to denote them as belonging to the Helium project, they should begin with the 'HELIUM_' prefix, eg: @@ -145,8 +137,8 @@ In general, C-style macros should not be used when it is possible to use a C++ i HELIUM_ASSERT( ... ) ``` -Files & Fodlers ---------------- +## Files & Fodlers + A file should be named after the class that it contains, and placed under a folder related to its functionality or the module it belongs to, eg: @@ -221,8 +213,7 @@ Blah::~Blah(); } ``` -Status/Error/Warning Message Formatting -======================================= +## Status/Error/Warning Message Formatting It is important that messages to the user (console printing, message box text, and exception message bodies) be homogeneous and in good form: @@ -234,23 +225,20 @@ It is important that messages to the user (console printing, message box text, a - All references to assets and files should be surrounded in single quotes (', not \`). - Do not use newline characters in exception message text. -Good ----- +### Good ```cpp throw Helium::Exception( "Triangle vertex limit exceeded. The limit is 256 triangles." ); ``` -Bad ---- +### Bad ```cpp throw Helium::Exception( "Tri vert limit too far!!\nIncrease limit in TriPool.cpp (go tell Reddy or Fred)\n" ); throw Helium::Exception( "mTracks[AT_ROTATE_X]->isSampled() && mTracks[AT_ROTATE_Y]->isSampled() && mTracks[AT_ROTATE_Z]->isSampled()\n" ); ``` -Spacing, Tabs, Newlines, etc. -============================= +## Spacing, Tabs, Newlines, etc. - Use spaces instead of tab characters. - Use 4-space indenting. @@ -278,11 +266,9 @@ void SomeClass::SomeFunction( const OtherClass& otherClass, FooClass* foo ) } ``` -Variable Declarations ---------------------- - -Good ----- +## Variable Declarations + +### Good ```cpp int m_SomeInt; @@ -292,8 +278,7 @@ void SomeFunction(); int SomeOtherFunction(); ``` -Bad ---- +### Bad ```cpp // this will rot when someone changes a type, or it will take someone @@ -305,8 +290,7 @@ void SomeFunction(); int SomeOtherFunction(); // again, note the unnecessary spaces ``` -File Paths -========== +## File Paths All internal paths are expected to contain only forward slashes; however, they will be displayed to the user with the native platform's slashes. This makes it easier for the user to cut/copy/paste the paths into a command prompt. @@ -314,8 +298,7 @@ Internal folder paths should always have a trailing slash. There are several functions in the File subsystem to help manage paths. The Helium::Path object is the preferred way to work with a path (as opposed to using a bare string). The Path object has a variety of useful functions and static methods for working with (and modifying) paths. -Hints for Writing Clean Class Declarations -========================================== +## Tips for Writing Clean Class Declarations - Write the header file to be easy to see what the interface is; write for humans reading your code to see how to use it. - Try to group similar functions (that work on similar data or support related functionality) next to each other. From 2d281fed777986e13c7f99c45370b379f34c1d4a Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Fri, 13 Jul 2018 15:01:33 -0700 Subject: [PATCH 08/23] Move core submodule to root, update build scripts --- .gitmodules | 2 +- Core | 1 + Core.lua | 60 ++++++++++++++++++++++++++--------------------------- Helium.lua | 2 +- Source/Core | 1 - 5 files changed, 33 insertions(+), 33 deletions(-) create mode 160000 Core delete mode 160000 Source/Core diff --git a/.gitmodules b/.gitmodules index 21ba53294..1604d9ee9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -41,5 +41,5 @@ path = Dependencies/zlib url = https://github.com/HeliumProject/zlib.git [submodule "Source/Core"] - path = Source/Core + path = Core url = https://github.com/HeliumProject/Core.git diff --git a/Core b/Core new file mode 160000 index 000000000..058f086d0 --- /dev/null +++ b/Core @@ -0,0 +1 @@ +Subproject commit 058f086d05c45bc4dcfb87699387106e4fdae883 diff --git a/Core.lua b/Core.lua index 2300accf7..fd215c2bf 100644 --- a/Core.lua +++ b/Core.lua @@ -5,40 +5,40 @@ require "Helium" project( prefix .. "Platform" ) - Helium.DoModuleProjectSettings( "Source/Core", "HELIUM", "Platform", "PLATFORM" ) + Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Platform", "PLATFORM" ) files { - "Source/Core/Platform/*.cpp", - "Source/Core/Platform/*.h", - "Source/Core/Platform/*.inl", + "Core/Source/Platform/*.cpp", + "Core/Source/Platform/*.h", + "Core/Source/Platform/*.inl", } excludes { - "Source/Core/Platform/*Tests.*", + "Core/Source/Platform/*Tests.*", } configuration "windows" excludes { - "Source/Core/Platform/*Posix.*", - "Source/Core/Platform/*Mac.*", - "Source/Core/Platform/*Lin.*", + "Core/Source/Platform/*Posix.*", + "Core/Source/Platform/*Mac.*", + "Core/Source/Platform/*Lin.*", } configuration "macosx" excludes { - "Source/Core/Platform/*Win.*", - "Source/Core/Platform/*Lin.*", + "Core/Source/Platform/*Win.*", + "Core/Source/Platform/*Lin.*", } configuration "linux" excludes { - "Source/Core/Platform/*Win.*", - "Source/Core/Platform/*Mac.*", + "Core/Source/Platform/*Win.*", + "Core/Source/Platform/*Mac.*", } configuration { "SharedLib", "linux" } @@ -56,7 +56,7 @@ project( prefix .. "PlatformTests" ) files { - "Source/Core/Platform/*Tests.*", + "Core/Source/Platform/*Tests.*", } links @@ -66,16 +66,16 @@ project( prefix .. "PlatformTests" ) project( prefix .. "Foundation" ) - Helium.DoModuleProjectSettings( "Source/Core", "HELIUM", "Foundation", "FOUNDATION" ) + Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Foundation", "FOUNDATION" ) files { - "Source/Core/Foundation/**", + "Core/Source/Foundation/**", } excludes { - "Source/Core/Foundation/*Tests.*", + "Core/Source/Foundation/*Tests.*", } configuration "SharedLib" @@ -92,7 +92,7 @@ project( prefix .. "FoundationTests" ) files { - "Source/Core/Foundation/*Tests.*", + "Core/Source/Foundation/*Tests.*", } links @@ -103,11 +103,11 @@ project( prefix .. "FoundationTests" ) project( prefix .. "Application" ) - Helium.DoModuleProjectSettings( "Source/Core", "HELIUM", "Application", "APPLICATION" ) + Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Application", "APPLICATION" ) files { - "Source/Core/Application/**", + "Core/Source/Application/**", } configuration "SharedLib" @@ -121,11 +121,11 @@ project( prefix .. "Application" ) project( prefix .. "Reflect" ) - Helium.DoModuleProjectSettings( "Source/Core", "HELIUM", "Reflect", "REFLECT" ) + Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Reflect", "REFLECT" ) files { - "Source/Core/Reflect/**", + "Core/Source/Reflect/**", } configuration "SharedLib" @@ -139,11 +139,11 @@ project( prefix .. "Reflect" ) project( prefix .. "Persist" ) - Helium.DoModuleProjectSettings( "Source/Core", "HELIUM", "Persist", "PERSIST" ) + Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Persist", "PERSIST" ) files { - "Source/Core/Persist/**", + "Core/Source/Persist/**", } configuration "SharedLib" @@ -159,11 +159,11 @@ project( prefix .. "Persist" ) project( prefix .. "Mongo" ) - Helium.DoModuleProjectSettings( "Source/Core", "HELIUM", "Mongo", "MONGO" ) + Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Mongo", "MONGO" ) files { - "Source/Core/Mongo/**", + "Core/Source/Mongo/**", } configuration "SharedLib" @@ -180,16 +180,16 @@ project( prefix .. "Mongo" ) project( prefix .. "Inspect" ) - Helium.DoModuleProjectSettings( "Source/Core", "HELIUM", "Inspect", "INSPECT" ) + Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Inspect", "INSPECT" ) files { - "Source/Core/Inspect/**", + "Core/Source/Inspect/**", } includedirs { - "Source/Core/Inspect", + "Core/Source/Inspect", } configuration "SharedLib" @@ -207,11 +207,11 @@ project( prefix .. "Inspect" ) project( prefix .. "Math" ) - Helium.DoModuleProjectSettings( "Source/Core", "HELIUM", "Math", "MATH" ) + Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Math", "MATH" ) files { - "Source/Core/Math/**", + "Core/Source/Math/**", } configuration "SharedLib" diff --git a/Helium.lua b/Helium.lua index 346fcdfc2..a0c16be82 100644 --- a/Helium.lua +++ b/Helium.lua @@ -134,7 +134,7 @@ Helium.DoBasicProjectSettings = function() includedirs { - "Source/Core", + "Core/Source", "Source/Engine", "Source/Tools", "Dependencies", diff --git a/Source/Core b/Source/Core deleted file mode 160000 index fcb7efc18..000000000 --- a/Source/Core +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fcb7efc1834ba392a83a0affa9452eafb7aefade From 3db28bdb575feb1de990716b7b14eac80e7cb9af Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Mon, 16 Jul 2018 12:16:57 -0700 Subject: [PATCH 09/23] add mkdir -p to app bundle on macosx --- premake5.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/premake5.lua b/premake5.lua index 2bd6f6b63..641aad7d7 100644 --- a/premake5.lua +++ b/premake5.lua @@ -8,6 +8,10 @@ function PublishBundle( bin ) os.execute("robocopy /njs /nfl /ndl /nc /ns /np /MIR \"Source\\Tools\\Editor\\Icons\\Helium\" \"Bin\\Profile\\Icons\" *.png") os.execute("robocopy /njs /nfl /ndl /nc /ns /np /MIR \"Source\\Tools\\Editor\\Icons\\Helium\" \"Bin\\Release\\Icons\" *.png") elseif os.host() == "macosx" then + os.execute("mkdir -p Bin/Debug/" .. Helium.GetBundleResourcePath()) + os.execute("mkdir -p Bin/Intermediate/" .. Helium.GetBundleResourcePath()) + os.execute("mkdir -p Bin/Profile/" .. Helium.GetBundleResourcePath()) + os.execute("mkdir -p Bin/Release/" .. Helium.GetBundleResourcePath()) os.copyfile( "Source/Tools/Editor/Icons/Helium.icns", "Bin/Debug/" .. Helium.GetBundleResourcePath() ) os.copyfile( "Source/Tools/Editor/Icons/Helium.icns", "Bin/Intermediate/" .. Helium.GetBundleResourcePath() ) os.copyfile( "Source/Tools/Editor/Icons/Helium.icns", "Bin/Profile/" .. Helium.GetBundleResourcePath() ) From c89efa153b86fb67df38109bbf2ec01e3a10f83e Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Mon, 16 Jul 2018 23:46:14 -0700 Subject: [PATCH 10/23] Update Core from master --- Core | 2 +- Core.lua | 5 +++++ Projects/PhysicsDemo/Source/Main/Main.cpp | 2 +- Projects/ShapeShooter/Source/Main/Main.cpp | 2 +- Projects/SideScroller/Source/Main/Main.cpp | 2 +- Projects/TestBull/Source/Main/Main.cpp | 2 +- 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Core b/Core index 058f086d0..3e504df81 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 058f086d05c45bc4dcfb87699387106e4fdae883 +Subproject commit 3e504df811fbcc1b6f793cf570ada375aa3879d5 diff --git a/Core.lua b/Core.lua index fd215c2bf..b35534a37 100644 --- a/Core.lua +++ b/Core.lua @@ -128,6 +128,11 @@ project( prefix .. "Reflect" ) "Core/Source/Reflect/**", } + excludes + { + "Core/Source/Reflect/*Tests.*", + } + configuration "SharedLib" links { diff --git a/Projects/PhysicsDemo/Source/Main/Main.cpp b/Projects/PhysicsDemo/Source/Main/Main.cpp index 3cf377973..f70254e71 100644 --- a/Projects/PhysicsDemo/Source/Main/Main.cpp +++ b/Projects/PhysicsDemo/Source/Main/Main.cpp @@ -48,7 +48,7 @@ int main( int argc, const char* argv[] ) { #ifdef HELIUM_DEBUG HELIUM_TRACE_SET_LEVEL( TraceLevels::Debug ); - Log::EnableStream( Log::Streams::Debug, true ); + Log::EnableChannel( Log::Channels::Debug, true ); #endif int32_t result = 0; diff --git a/Projects/ShapeShooter/Source/Main/Main.cpp b/Projects/ShapeShooter/Source/Main/Main.cpp index ec1f41fb2..38e740210 100644 --- a/Projects/ShapeShooter/Source/Main/Main.cpp +++ b/Projects/ShapeShooter/Source/Main/Main.cpp @@ -40,7 +40,7 @@ int main( int argc, const char* argv[] ) { #ifdef HELIUM_DEBUG HELIUM_TRACE_SET_LEVEL( TraceLevels::Debug ); - Log::EnableStream( Log::Streams::Debug, true ); + Log::EnableChannel( Log::Channels::Debug, true ); #endif int32_t result = 0; diff --git a/Projects/SideScroller/Source/Main/Main.cpp b/Projects/SideScroller/Source/Main/Main.cpp index 72503bad7..6b12276ac 100644 --- a/Projects/SideScroller/Source/Main/Main.cpp +++ b/Projects/SideScroller/Source/Main/Main.cpp @@ -40,7 +40,7 @@ int main( int argc, const char* argv[] ) { #ifdef HELIUM_DEBUG HELIUM_TRACE_SET_LEVEL( TraceLevels::Debug ); - Log::EnableStream( Log::Streams::Debug, true ); + Log::EnableChannel( Log::Channels::Debug, true ); #endif int32_t result = 0; diff --git a/Projects/TestBull/Source/Main/Main.cpp b/Projects/TestBull/Source/Main/Main.cpp index fce16bf9c..38595f0e5 100644 --- a/Projects/TestBull/Source/Main/Main.cpp +++ b/Projects/TestBull/Source/Main/Main.cpp @@ -48,7 +48,7 @@ int main( int argc, const char* argv[] ) { #ifdef HELIUM_DEBUG HELIUM_TRACE_SET_LEVEL( TraceLevels::Debug ); - Log::EnableStream( Log::Streams::Debug, true ); + Log::EnableChannel( Log::Channels::Debug, true ); #endif int32_t result = 0; From 06ea91a55af5f0b66040ed9b1d0eff55b44203dc Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 19 Jul 2018 14:37:34 -0700 Subject: [PATCH 11/23] Add pch as premake option, update Core --- Core | 2 +- Helium.lua | 54 +++++++++++-------- Shared.lua | 9 ++-- .../Tools/EditorScene/PropertiesGenerator.cpp | 2 +- Tools.lua | 3 +- premake5.lua | 6 ++- 6 files changed, 42 insertions(+), 34 deletions(-) diff --git a/Core b/Core index 3e504df81..7ab366f3c 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 3e504df811fbcc1b6f793cf570ada375aa3879d5 +Subproject commit 7ab366f3cd823d00b13ea7152e1fac8ed5188088 diff --git a/Helium.lua b/Helium.lua index a0c16be82..a8a08f459 100644 --- a/Helium.lua +++ b/Helium.lua @@ -1,5 +1,11 @@ require "Dependencies/Helium" +newoption +{ + trigger = "pch", + description = "Build with precompiled headers", +} + Helium.CheckEnvironment = function () print("\nChecking Environment...\n") @@ -297,22 +303,21 @@ Helium.DoModuleProjectSettings = function( baseDirectory, tokenPrefix, moduleNam "HELIUM_MODULE=" .. moduleName } - if os.host() == "windows" then - - local header = "Precompile.h" - if os.host() == "macosx" then - header = path.join( moduleName, header ) - header = path.join( baseDirectory, header ) - header = path.join( "..", header ) - header = path.join( "..", header ) - end - pchheader( header ) + if _OPTIONS["pch"] then + pchheader( "Precompile.h" ) local source = "Precompile.cpp" source = path.join( moduleName, source ) source = path.join( baseDirectory, source ) pchsource( source ) - + + local include = "" + source = path.join( moduleName, include ) + source = path.join( baseDirectory, include ) + includedirs + { + include, + } end Helium.DoBasicProjectSettings() @@ -488,10 +493,14 @@ Helium.DoGameModuleProjectSettings = function( name ) "Projects", } - configuration "windows" + if _OPTIONS["pch"] then pchheader( "Precompile.h" ) pchsource( "Projects/" .. name .. "/Source/Module/Precompile.cpp" ) - configuration {} + includedirs + { + "Projects/" .. name .. "/Source/Module", + } + end files { @@ -532,8 +541,6 @@ Helium.DoGameMainProjectSettings = function( name ) Helium.DoGameProjectSettings() - entrypoint "WinMainCRTStartup" - files { "Projects/" .. name .. "/Source/Module/*.cpp", @@ -542,17 +549,20 @@ Helium.DoGameMainProjectSettings = function( name ) "Projects/" .. name .. "/Source/Main/*.h", } + if _OPTIONS["pch"] then + pchheader( "Precompile.h" ) + pchsource( "Projects/" .. name .. "/Source/Module/Precompile.cpp" ) + includedirs + { + "Projects/" .. name .. "/Source/Module" + } + end + configuration "windows" + entrypoint "WinMainCRTStartup" files { "Projects/" .. name .. "/Source/Main/*.rc", } - pchheader( "Precompile.h" ) - pchsource( "Projects/" .. name .. "/Source/Module/Precompile.cpp" ) - - configuration "not windows" - includedirs { "Projects/" .. name .. "/Source/Module" } - - configuration {} end diff --git a/Shared.lua b/Shared.lua index 72f28a6e9..125578ec4 100644 --- a/Shared.lua +++ b/Shared.lua @@ -518,18 +518,15 @@ project( prefix .. "GameLibrary" ) "Projects/GameLibrary/**", } - configuration "windows" + if _OPTIONS["pch"] then pchheader( "Precompile.h" ) pchsource( "Projects/GameLibrary/Precompile.cpp" ) - - configuration "not windows" includedirs { "Projects/GameLibrary", } - - configuration {} - + end + configuration "SharedLib" if _OPTIONS[ "gfxapi" ] == "direct3d" then diff --git a/Source/Tools/EditorScene/PropertiesGenerator.cpp b/Source/Tools/EditorScene/PropertiesGenerator.cpp index 44ab2759b..2760a8b74 100644 --- a/Source/Tools/EditorScene/PropertiesGenerator.cpp +++ b/Source/Tools/EditorScene/PropertiesGenerator.cpp @@ -3,7 +3,7 @@ #include "Foundation/Log.h" -#include "Inspect/Controls/LabelControl.h" +#include "Inspect/LabelControl.h" using namespace Helium; using namespace Helium::Editor; diff --git a/Tools.lua b/Tools.lua index bda681d35..8c58aa02b 100644 --- a/Tools.lua +++ b/Tools.lua @@ -206,10 +206,9 @@ project( prefix .. "Editor" ) "Example", } - if os.host() == "windows" then + if _OPTIONS["pch"] then pchheader( "Precompile.h" ) pchsource( "Source/Tools/Editor/Precompile.cpp" ) - else includedirs { "Source/Tools/Editor", diff --git a/premake5.lua b/premake5.lua index 641aad7d7..2f2592866 100644 --- a/premake5.lua +++ b/premake5.lua @@ -33,12 +33,14 @@ function PublishBundle( bin ) end -newoption { +newoption +{ trigger = "core", description = "Core components only", } -newoption { +newoption +{ trigger = "gfxapi", value = "API", description = "Choose a particular 3D API for rendering", From 78899d874481bee41b30e2fe43a58764c6eef0fa Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 19 Jul 2018 14:46:12 -0700 Subject: [PATCH 12/23] update travis slack security --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2f9121338..57cd361bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,8 +73,8 @@ script: notifications: slack: - rooms: - secure: nn6rH9yj4/eJYNkAXrMIk4oVrweT3rznA5ATtuHzFeeG5uMT0qr1c1yQqDsSKsxtPan1RFo2awJ/PZkGQmuRVTcmVuaHs0eLPVrTXgfy2yjjuqwg4aLlK7PBEnv6oxUDyJOo9K9RYMcPIqXu0vcikgo+C4Oc6qL5MiOa7RleVjI= on_start: never on_success: always on_failure: always + rooms: + secure: JmcTj31DKTd/G3urwJxpOt0MhXhlzJtgCWs3xDRu5cvtrIC0m9oV8Y661WyJ35ooTc6zktwPDdiD/t1NdpjEXpGMRFy8WCjcv8831cO0jX3g4e9Gs+auBEJRHBOjlW+YfX7gJC/JQxXkEtTQOztXJpPrXCgmkzk7e4s9wEBSxtMVyUx51A3ECc0h3Qxs2Gdh3zAAhjFoMixQc6jhCyrMv5p+TtUI/ohqm1JXp43FnINnRzqUU3FJPX58FO0Qq5mAa90zvfGfihURVs9yoIo3Ro0LHIZhuIPLE5cFMuxrnh61nOMTDRm2WgGTi8t7r2g9xaMbICiapHH1LdZubAKr0vVgLib9sH8S1dNd29Hw9uFqm9e7WswU6W1lk/2ZbmZJ6+XEqTxvFzXz5wWUkQj8DtVi+ZczVBE3lk1lhWzorQsbGepwuPEbSyVD2AbCSLDNIhHlRB2COAeLnXOCvOczTvMdpSAVVYxAbC7u5i+5ejCRkNt1z8DTEM8OGoInlyzRM8aOq5tK2PasJOdblICF0AjSwV7NEX0nr9G/7uO6Fo9eseCCzgLceQpqq6t+GDltb9UUB/nwfd13yadJj7WtdhgQrNF/57NpJBfqkfiI9wO/6Bhnot1L5OvVZaNFjV6McZHhXoGQ6oMCGdhk50XSYfxAOU0psXicMkjLkV8whTU= From 6942dd5712aa684045622acce32474eadac8859c Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 19 Jul 2018 14:48:17 -0700 Subject: [PATCH 13/23] update travis config to mirror Core --- .travis.yml | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 57cd361bb..c4f0fc703 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,4 @@ language: cpp - -#linux globals dist: trusty sudo: required addons: @@ -10,7 +8,6 @@ addons: packages: - gcc-5 - g++-5 - matrix: include: - os: linux @@ -56,21 +53,16 @@ matrix: git: submodules: false - before_install: - git submodule update --init --recursive -- ./.travis.before_install.$TRAVIS_OS_NAME.sh - +- "./.travis.before_install.$TRAVIS_OS_NAME.sh" script: - cd Dependencies -- ../premake.sh --core --wx-config=${WX_CONFIG} gmake -- cd Build -- make -j4 config=${CONFIG}_x64 -- cd ../.. -- ./premake.sh --core gmake -- cd Build -- make -j4 config=${CONFIG}_x64 - +- "../premake.sh gmake --architecture=${ARCH}" +- make -C Build -j4 config=${CONFIG} +- cd .. +- "./premake.sh gmake --architecture=${ARCH} ${ARGS}" +- make -C Build -j4 config=${CONFIG} notifications: slack: on_start: never From b611e5c29b1f9220bb1f093667c7b251345802c3 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 19 Jul 2018 16:21:41 -0700 Subject: [PATCH 14/23] fix premake args --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c4f0fc703..2a69a6675 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,10 +58,10 @@ before_install: - "./.travis.before_install.$TRAVIS_OS_NAME.sh" script: - cd Dependencies -- "../premake.sh gmake --architecture=${ARCH}" +- "../premake.sh --core --wx-config=${WX_CONFIG} gmake" - make -C Build -j4 config=${CONFIG} - cd .. -- "./premake.sh gmake --architecture=${ARCH} ${ARGS}" +- "./premake.sh --core gmake" - make -C Build -j4 config=${CONFIG} notifications: slack: From 29b41e22cd43ff94c0afb7e3f7e59fed95568888 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Sat, 21 Jul 2018 12:01:41 -0700 Subject: [PATCH 15/23] rename workspaces --- Core | 2 +- Helium.code-workspace => Engine.code-workspace | 0 Helium.sublime-project => Engine.sublime-project | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename Helium.code-workspace => Engine.code-workspace (100%) rename Helium.sublime-project => Engine.sublime-project (100%) diff --git a/Core b/Core index 7ab366f3c..b2b9978a4 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 7ab366f3cd823d00b13ea7152e1fac8ed5188088 +Subproject commit b2b9978a457947a9a182d8b4da898de15dc4f93a diff --git a/Helium.code-workspace b/Engine.code-workspace similarity index 100% rename from Helium.code-workspace rename to Engine.code-workspace diff --git a/Helium.sublime-project b/Engine.sublime-project similarity index 100% rename from Helium.sublime-project rename to Engine.sublime-project From bb82dcb630bc850df92db0ba52f94bc8d004b3d0 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Sat, 21 Jul 2018 14:25:47 -0700 Subject: [PATCH 16/23] Refresh premake scripts --- Core | 2 +- Dependencies/Dependencies.lua | 437 ------------------ Dependencies/{fbx.lua => premake-fbx.lua} | 2 +- .../{wxWidgets.lua => premake-wx.lua} | 2 +- Dependencies/{Helium.lua => premake.lua} | 0 Dependencies/premake5.lua | 434 ++++++++++++++++- Runtime.lua | 13 - Core.lua => premake-core.lua | 136 +++++- premake-runtime.lua | 14 + Shared.lua => premake-shared.lua | 11 +- Tools.lua => premake-tools.lua | 18 +- Helium.lua => premake.lua | 29 +- premake5.lua | 23 +- 13 files changed, 612 insertions(+), 509 deletions(-) delete mode 100644 Dependencies/Dependencies.lua rename Dependencies/{fbx.lua => premake-fbx.lua} (99%) rename Dependencies/{wxWidgets.lua => premake-wx.lua} (99%) rename Dependencies/{Helium.lua => premake.lua} (100%) delete mode 100644 Runtime.lua rename Core.lua => premake-core.lua (66%) create mode 100644 premake-runtime.lua rename Shared.lua => premake-shared.lua (98%) rename Tools.lua => premake-tools.lua (98%) rename Helium.lua => premake.lua (97%) diff --git a/Core b/Core index b2b9978a4..6a0ec4916 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit b2b9978a457947a9a182d8b4da898de15dc4f93a +Subproject commit 6a0ec4916b977eda66f201482e0ef9b6511bceaf diff --git a/Dependencies/Dependencies.lua b/Dependencies/Dependencies.lua deleted file mode 100644 index 531cbdcdd..000000000 --- a/Dependencies/Dependencies.lua +++ /dev/null @@ -1,437 +0,0 @@ -local thisFileLocation = ... -if thisFileLocation == nil then - thisFileLocation = '.' -end -thisFileLocation = path.getdirectory( thisFileLocation ) - -require( thisFileLocation .. '/Helium' ) - -configuration {} -- just in case - --- core alphabetical! - -project "googletest" - uuid "1DCBDADD-043A-4853-8118-5D437106309A" - kind "StaticLib" - language "C++" - includedirs - { - "googletest/googletest/include", - "googletest/googletest/include/internal", - "googletest/googletest", - } - files - { - "googletest/googletest/include/**.h", - "googletest/googletest/src/**.cc", - } - excludes - { - "googletest/googletest/src/gtest-all.cc", - } - -project "mongo-c" - uuid "2704694D-D087-4703-9D4F-124D56E17F3F" - kind "StaticLib" - language "C" - defines - { - "MONGO_HAVE_STDINT=1", - "MONGO_STATIC_BUILD=1", - } - files - { - "mongo-c/src/*.h", - "mongo-c/src/*.c", - } - -if _OPTIONS[ "core" ] then - return -end - --- non-core alphabetical! - -project "bullet" - uuid "23112391-0616-46AF-B0C2-5325E8530FBC" - kind "StaticLib" - language "C++" - includedirs - { - "bullet/src/", - } - files - { - "bullet/src/btBulletCollisionCommon.h", - "bullet/src/btBulletDynamicsCommon.h", - "bullet/src/LinearMath/**.cpp", - "bullet/src/LinearMath/**.h", - "bullet/src/BulletCollision/**.h", - "bullet/src/BulletCollision/**.cpp", - "bullet/src/BulletDynamics/**.h", - "bullet/src/BulletDynamics/**.cpp", - } - -project "freetype" - uuid "53C96BED-38E8-4A1f-81E0-45D09AFD33EB" - kind "StaticLib" - language "C" - defines - { - "_LIB", - "FT2_BUILD_LIBRARY", - } - includedirs - { - "freetype/include", - } - files - { - "freetype/src/autofit/autofit.c", - "freetype/src/bdf/bdf.c", - "freetype/src/cff/cff.c", - "freetype/src/base/ftbase.c", - "freetype/src/base/ftbitmap.c", - "freetype/src/cache/ftcache.c", - "freetype/src/base/ftfstype.c", - "freetype/src/base/ftgasp.c", - "freetype/src/base/ftglyph.c", - "freetype/src/gzip/ftgzip.c", - "freetype/src/base/ftinit.c", - "freetype/src/lzw/ftlzw.c", - "freetype/src/base/ftstroke.c", - "freetype/src/base/ftsystem.c", - "freetype/src/smooth/smooth.c", - "freetype/src/base/ftbbox.c", - "freetype/src/base/ftmm.c", - "freetype/src/base/ftpfr.c", - "freetype/src/base/ftsynth.c", - "freetype/src/base/fttype1.c", - "freetype/src/base/ftwinfnt.c", - "freetype/src/base/ftxf86.c", - "freetype/src/base/ftlcdfil.c", - "freetype/src/base/ftgxval.c", - "freetype/src/base/ftotval.c", - "freetype/src/base/ftpatent.c", - "freetype/src/pcf/pcf.c", - "freetype/src/pfr/pfr.c", - "freetype/src/psaux/psaux.c", - "freetype/src/pshinter/pshinter.c", - "freetype/src/psnames/psmodule.c", - "freetype/src/raster/raster.c", - "freetype/src/sfnt/sfnt.c", - "freetype/src/truetype/truetype.c", - "freetype/src/type1/type1.c", - "freetype/src/cid/type1cid.c", - "freetype/src/type42/type42.c", - "freetype/src/winfonts/winfnt.c", - "freetype/include/ft2build.h", - "freetype/include/freetype/config/ftconfig.h", - "freetype/include/freetype/config/ftheader.h", - "freetype/include/freetype/config/ftmodule.h", - "freetype/include/freetype/config/ftoption.h", - "freetype/include/freetype/config/ftstdlib.h", - } - configuration "windows" - files - { - "freetype/builds/win32/ftdebug.c", - } - -project "glfw" - uuid "57AEB010-23D1-11E3-8224-0800200C9A66" - kind "SharedLib" - language "C" - - files - { - "glfw/include/GLFW/*.h", - "glfw/src/*.h", - "glfw/src/*.c", - "glfw/deps/*.h", - "glfw/deps/*.c", - "glfw/deps/GL/*.h", - } - - configuration "linux" - defines - { - "_GLFW_BUILD_DLL=1", - "_GLFW_X11=1", - "_GLFW_GLX=1", - "_GLFW_HAS_GLXGETPROCADDRESS=1", - "_GLFW_HAS_DLOPEN=1", - "_GLFW_VERSION_FULL=\"3.0.3\"", - "_GLFW_USE_OPENGL=1", - } - excludes - { - "glfw/src/cocoa*", - "glfw/src/win32*", - "glfw/src/wgl*", - "glfw/src/nsgl*", - "glfw/src/egl*", - "glfw/deps/GL/wglext.h", - } - links - { - "GL", - "X11", - "Xrandr", - "Xi", - } - - configuration "macosx" - defines - { - "_GLFW_BUILD_DLL=1", - "_GLFW_COCOA=1", - "_GLFW_NSGL=1", - "_GLFW_VERSION_FULL=\"3.0.3\"", - "_GLFW_USE_OPENGL=1", - } - files - { - "glfw/src/*.m" - } - excludes - { - "glfw/src/win32*", - "glfw/src/x11*", - "glfw/src/glx*", - "glfw/src/egl*", - "glfw/src/wgl*", - "glfw/deps/GL/wglext.h", - } - linkoptions - { - "-Wl,-install_name,@executable_path/libglfw.dylib", -- set the install name to load us from the folder of the loader - "-framework OpenGL", - "-framework AGL", - "-framework IOKit", - "-framework Cocoa", - } - - -- Premake bug requires us to redefine version number differently on Windows. - -- Bug: http://sourceforge.net/p/premake/bugs/275/ - configuration "windows" - defines - { - "_GLFW_BUILD_DLL=1", - "_GLFW_NO_DLOAD_WINMM=1", - "_GLFW_WIN32=1", - "_GLFW_WGL=1", - "_GLFW_VERSION_FULL=\"3.0.3\"", - "_GLFW_USE_OPENGL=1", - } - excludes - { - "glfw/src/cocoa*", - "glfw/src/x11*", - "glfw/src/glx*", - "glfw/src/egl*", - "glfw/src/nsgl*", - } - links - { - "opengl32", - "winmm", - } - - if not os.isfile( "glfw/src/config.h" ) then - os.copyfile( "glfwconfig.h.prebuilt", "glfw/src/config.h" ); - end - - local file = io.open("../.git/modules/Dependencies/glfw/info/exclude", "w"); - file:write("src/config.h\n"); - file:close(); - -project "glew" - uuid "31858500-702D-11E3-981F-0800200C9A66" - kind "SharedLib" - language "C" - - includedirs - { - "glew/include" - } - - files - { - "glew/include/GL/*.h", - "glew/src/glew.c", - "glew/src/glewinfo.c", - } - - defines - { - "GLEW_BUILD=1", - } - - configuration { "linux" } - links - { - "GL", - } - configuration { "macosx" } - linkoptions - { - "-Wl,-install_name,@executable_path/libglew.dylib", -- set the install name to load us from the folder of the loader - "-framework OpenGL", - "-framework AGL", - "-framework Cocoa", - } - configuration { "windows" } - links - { - "opengl32", - } - configuration{} - -project "libpng" - uuid "46BA228E-C636-4468-9CBD-7CD4F12FBB33" - kind "StaticLib" - language "C++" - includedirs - { - "zlib" - } - files - { - "libpng/*.h", - "libpng/*.c", - } - - if not os.isfile( "libpng/pnglibconf.h" ) then - os.copyfile( "libpng/scripts/pnglibconf.h.prebuilt", "libpng/pnglibconf.h" ); - end - - local file = io.open("../.git/modules/Dependencies/libpng/info/exclude", "w"); - file:write("pnglibconf.h\n"); - file:close(); - -project "nvtt" - uuid "6753B918-F16E-4C13-8DA7-4F9A6DB58B77" - kind "StaticLib" - language "C++" - includedirs - { - "nvtt/extern/poshlib", - "nvtt/src", - "nvtt/src/nvtt/squish", - } - files - { - "nvtt/extern/poshlib/*.h", - "nvtt/extern/poshlib/*.cpp", - "nvtt/src/nvmath/*.h", - "nvtt/src/nvmath/*.cpp", - "nvtt/src/nvcore/*.h", - "nvtt/src/nvcore/*.cpp", - "nvtt/src/nvthread/*.h", - "nvtt/src/nvthread/*.cpp", - "nvtt/src/nvimage/*.h", - "nvtt/src/nvimage/*.cpp", - "nvtt/src/nvtt/*.h", - "nvtt/src/nvtt/*.cpp", - "nvtt/src/nvtt/cuda/*.h", - "nvtt/src/nvtt/cuda/*.cpp", - "nvtt/src/nvtt/squish/*.h", - "nvtt/src/nvtt/squish/*.cpp", - } - excludes - { - "nvtt/src/nvcore/Tokenizer.*", - "nvtt/src/nvimage/ConeMap.*", - "nvtt/src/nvimage/KtxFile.*", - "nvtt/src/nvtt/squish/alpha.*", - "nvtt/src/nvtt/squish/clusterfit.*", - "nvtt/src/nvtt/squish/rangefit.*", - "nvtt/src/nvtt/squish/singlecolourfit.*", - "nvtt/src/nvtt/squish/singlechannelfit.*", - "nvtt/src/nvtt/squish/squish.*", - "nvtt/src/nvtt/CompressorDX11.*", - } - - configuration "linux" - includedirs - { - "nvtt/project/linux", - } - - configuration "macosx" - includedirs - { - "nvtt/project/macosx", - } - - if _ACTION == "vs2008" then - configuration "windows" - includedirs - { - "nvtt/project/vc9", - } - else - configuration "windows" - includedirs - { - "nvtt/project/vc10", - } - end - - -- Override inline function expansion and intrinsic function usage settings for Debug builds. - configuration { "windows", "Debug" } - buildoptions - { - "/Ob2", - "/Oi", - } - editandcontinue "Off" - -project "ois" - uuid "4A37964A-C2F4-4FA7-B744-9C4D292DAA22" - kind "StaticLib" - language "C++" - includedirs - { - "ois/includes/", - } - files - { - "ois/src/*.cpp", - } - - configuration "linux" - files - { - "ois/src/linux/*.cpp" - } - - configuration "macosx" - files - { - "ois/src/mac/*.cpp" - } - - configuration "windows" - files - { - "ois/src/win32/*.cpp", - } - -project "zlib" - uuid "23112391-0616-46AF-B0C2-5325E8530FBA" - kind "StaticLib" - language "C++" - files - { - "zlib/*.h", - "zlib/*.c", - } - excludes - { - "zlib/gz*.h", - "zlib/gz*.c", - "zlib/minigzip.c", - } - --- alphabetical! diff --git a/Dependencies/fbx.lua b/Dependencies/premake-fbx.lua similarity index 99% rename from Dependencies/fbx.lua rename to Dependencies/premake-fbx.lua index 6bdcc45cf..3b4dd2269 100644 --- a/Dependencies/fbx.lua +++ b/Dependencies/premake-fbx.lua @@ -4,7 +4,7 @@ if thisFileLocation == nil then end thisFileLocation = path.getdirectory( thisFileLocation ) -require( thisFileLocation .. '/Helium' ) +require( thisFileLocation .. '/premake' ) Helium.RequiredFbxVersion = '2018.1.1' diff --git a/Dependencies/wxWidgets.lua b/Dependencies/premake-wx.lua similarity index 99% rename from Dependencies/wxWidgets.lua rename to Dependencies/premake-wx.lua index 46f708294..65992de0d 100644 --- a/Dependencies/wxWidgets.lua +++ b/Dependencies/premake-wx.lua @@ -4,7 +4,7 @@ if thisFileLocation == nil then end thisFileLocation = path.getdirectory( thisFileLocation ) -require( thisFileLocation .. '/Helium' ) +require( thisFileLocation .. '/premake' ) wxVersion = "3.1" wxVersionShort = "310" diff --git a/Dependencies/Helium.lua b/Dependencies/premake.lua similarity index 100% rename from Dependencies/Helium.lua rename to Dependencies/premake.lua diff --git a/Dependencies/premake5.lua b/Dependencies/premake5.lua index 8bade949d..c13a6e665 100644 --- a/Dependencies/premake5.lua +++ b/Dependencies/premake5.lua @@ -4,9 +4,9 @@ if thisFileLocation == nil then end thisFileLocation = path.getdirectory( thisFileLocation ) -require( thisFileLocation .. '/Helium' ) -require( thisFileLocation .. '/fbx' ) -require( thisFileLocation .. '/wxWidgets' ) +require( thisFileLocation .. '/premake' ) +require( thisFileLocation .. '/premake-fbx' ) +require( thisFileLocation .. '/premake-wx' ) function CheckEnvironment() @@ -183,7 +183,433 @@ if _ACTION then configuration "Release" targetdir( "../Bin/Release/" .. Helium.GetBundleExecutablePath() ) - dofile "Dependencies.lua" + -- core alphabetical! + + project "googletest" + uuid "1DCBDADD-043A-4853-8118-5D437106309A" + kind "StaticLib" + language "C++" + includedirs + { + "googletest/googletest/include", + "googletest/googletest/include/internal", + "googletest/googletest", + } + files + { + "googletest/googletest/include/**.h", + "googletest/googletest/src/**.cc", + } + excludes + { + "googletest/googletest/src/gtest-all.cc", + } + + project "mongo-c" + uuid "2704694D-D087-4703-9D4F-124D56E17F3F" + kind "StaticLib" + language "C" + defines + { + "MONGO_HAVE_STDINT=1", + "MONGO_STATIC_BUILD=1", + } + files + { + "mongo-c/src/*.h", + "mongo-c/src/*.c", + } + + if _OPTIONS[ "core" ] then + return + end + + -- non-core alphabetical! + + project "bullet" + uuid "23112391-0616-46AF-B0C2-5325E8530FBC" + kind "StaticLib" + language "C++" + includedirs + { + "bullet/src/", + } + files + { + "bullet/src/btBulletCollisionCommon.h", + "bullet/src/btBulletDynamicsCommon.h", + "bullet/src/LinearMath/**.cpp", + "bullet/src/LinearMath/**.h", + "bullet/src/BulletCollision/**.h", + "bullet/src/BulletCollision/**.cpp", + "bullet/src/BulletDynamics/**.h", + "bullet/src/BulletDynamics/**.cpp", + } + + project "freetype" + uuid "53C96BED-38E8-4A1f-81E0-45D09AFD33EB" + kind "StaticLib" + language "C" + defines + { + "_LIB", + "FT2_BUILD_LIBRARY", + } + includedirs + { + "freetype/include", + } + files + { + "freetype/src/autofit/autofit.c", + "freetype/src/bdf/bdf.c", + "freetype/src/cff/cff.c", + "freetype/src/base/ftbase.c", + "freetype/src/base/ftbitmap.c", + "freetype/src/cache/ftcache.c", + "freetype/src/base/ftfstype.c", + "freetype/src/base/ftgasp.c", + "freetype/src/base/ftglyph.c", + "freetype/src/gzip/ftgzip.c", + "freetype/src/base/ftinit.c", + "freetype/src/lzw/ftlzw.c", + "freetype/src/base/ftstroke.c", + "freetype/src/base/ftsystem.c", + "freetype/src/smooth/smooth.c", + "freetype/src/base/ftbbox.c", + "freetype/src/base/ftmm.c", + "freetype/src/base/ftpfr.c", + "freetype/src/base/ftsynth.c", + "freetype/src/base/fttype1.c", + "freetype/src/base/ftwinfnt.c", + "freetype/src/base/ftxf86.c", + "freetype/src/base/ftlcdfil.c", + "freetype/src/base/ftgxval.c", + "freetype/src/base/ftotval.c", + "freetype/src/base/ftpatent.c", + "freetype/src/pcf/pcf.c", + "freetype/src/pfr/pfr.c", + "freetype/src/psaux/psaux.c", + "freetype/src/pshinter/pshinter.c", + "freetype/src/psnames/psmodule.c", + "freetype/src/raster/raster.c", + "freetype/src/sfnt/sfnt.c", + "freetype/src/truetype/truetype.c", + "freetype/src/type1/type1.c", + "freetype/src/cid/type1cid.c", + "freetype/src/type42/type42.c", + "freetype/src/winfonts/winfnt.c", + "freetype/include/ft2build.h", + "freetype/include/freetype/config/ftconfig.h", + "freetype/include/freetype/config/ftheader.h", + "freetype/include/freetype/config/ftmodule.h", + "freetype/include/freetype/config/ftoption.h", + "freetype/include/freetype/config/ftstdlib.h", + } + configuration "windows" + files + { + "freetype/builds/win32/ftdebug.c", + } + + project "glfw" + uuid "57AEB010-23D1-11E3-8224-0800200C9A66" + kind "SharedLib" + language "C" + + files + { + "glfw/include/GLFW/*.h", + "glfw/src/*.h", + "glfw/src/*.c", + "glfw/deps/*.h", + "glfw/deps/*.c", + "glfw/deps/GL/*.h", + } + + configuration "linux" + defines + { + "_GLFW_BUILD_DLL=1", + "_GLFW_X11=1", + "_GLFW_GLX=1", + "_GLFW_HAS_GLXGETPROCADDRESS=1", + "_GLFW_HAS_DLOPEN=1", + "_GLFW_VERSION_FULL=\"3.0.3\"", + "_GLFW_USE_OPENGL=1", + } + excludes + { + "glfw/src/cocoa*", + "glfw/src/win32*", + "glfw/src/wgl*", + "glfw/src/nsgl*", + "glfw/src/egl*", + "glfw/deps/GL/wglext.h", + } + links + { + "GL", + "X11", + "Xrandr", + "Xi", + } + + configuration "macosx" + defines + { + "_GLFW_BUILD_DLL=1", + "_GLFW_COCOA=1", + "_GLFW_NSGL=1", + "_GLFW_VERSION_FULL=\"3.0.3\"", + "_GLFW_USE_OPENGL=1", + } + files + { + "glfw/src/*.m" + } + excludes + { + "glfw/src/win32*", + "glfw/src/x11*", + "glfw/src/glx*", + "glfw/src/egl*", + "glfw/src/wgl*", + "glfw/deps/GL/wglext.h", + } + linkoptions + { + "-Wl,-install_name,@executable_path/libglfw.dylib", -- set the install name to load us from the folder of the loader + "-framework OpenGL", + "-framework AGL", + "-framework IOKit", + "-framework Cocoa", + } + + -- Premake bug requires us to redefine version number differently on Windows. + -- Bug: http://sourceforge.net/p/premake/bugs/275/ + configuration "windows" + defines + { + "_GLFW_BUILD_DLL=1", + "_GLFW_NO_DLOAD_WINMM=1", + "_GLFW_WIN32=1", + "_GLFW_WGL=1", + "_GLFW_VERSION_FULL=\"3.0.3\"", + "_GLFW_USE_OPENGL=1", + } + excludes + { + "glfw/src/cocoa*", + "glfw/src/x11*", + "glfw/src/glx*", + "glfw/src/egl*", + "glfw/src/nsgl*", + } + links + { + "opengl32", + "winmm", + } + + if not os.isfile( "glfw/src/config.h" ) then + os.copyfile( "glfwconfig.h.prebuilt", "glfw/src/config.h" ); + end + + local file = io.open("../.git/modules/Dependencies/glfw/info/exclude", "w"); + file:write("src/config.h\n"); + file:close(); + + project "glew" + uuid "31858500-702D-11E3-981F-0800200C9A66" + kind "SharedLib" + language "C" + + includedirs + { + "glew/include" + } + + files + { + "glew/include/GL/*.h", + "glew/src/glew.c", + "glew/src/glewinfo.c", + } + + defines + { + "GLEW_BUILD=1", + } + + configuration { "linux" } + links + { + "GL", + } + configuration { "macosx" } + linkoptions + { + "-Wl,-install_name,@executable_path/libglew.dylib", -- set the install name to load us from the folder of the loader + "-framework OpenGL", + "-framework AGL", + "-framework Cocoa", + } + configuration { "windows" } + links + { + "opengl32", + } + configuration{} + + project "libpng" + uuid "46BA228E-C636-4468-9CBD-7CD4F12FBB33" + kind "StaticLib" + language "C++" + includedirs + { + "zlib" + } + files + { + "libpng/*.h", + "libpng/*.c", + } + + if not os.isfile( "libpng/pnglibconf.h" ) then + os.copyfile( "libpng/scripts/pnglibconf.h.prebuilt", "libpng/pnglibconf.h" ); + end + + local file = io.open("../.git/modules/Dependencies/libpng/info/exclude", "w"); + file:write("pnglibconf.h\n"); + file:close(); + + project "nvtt" + uuid "6753B918-F16E-4C13-8DA7-4F9A6DB58B77" + kind "StaticLib" + language "C++" + includedirs + { + "nvtt/extern/poshlib", + "nvtt/src", + "nvtt/src/nvtt/squish", + } + files + { + "nvtt/extern/poshlib/*.h", + "nvtt/extern/poshlib/*.cpp", + "nvtt/src/nvmath/*.h", + "nvtt/src/nvmath/*.cpp", + "nvtt/src/nvcore/*.h", + "nvtt/src/nvcore/*.cpp", + "nvtt/src/nvthread/*.h", + "nvtt/src/nvthread/*.cpp", + "nvtt/src/nvimage/*.h", + "nvtt/src/nvimage/*.cpp", + "nvtt/src/nvtt/*.h", + "nvtt/src/nvtt/*.cpp", + "nvtt/src/nvtt/cuda/*.h", + "nvtt/src/nvtt/cuda/*.cpp", + "nvtt/src/nvtt/squish/*.h", + "nvtt/src/nvtt/squish/*.cpp", + } + excludes + { + "nvtt/src/nvcore/Tokenizer.*", + "nvtt/src/nvimage/ConeMap.*", + "nvtt/src/nvimage/KtxFile.*", + "nvtt/src/nvtt/squish/alpha.*", + "nvtt/src/nvtt/squish/clusterfit.*", + "nvtt/src/nvtt/squish/rangefit.*", + "nvtt/src/nvtt/squish/singlecolourfit.*", + "nvtt/src/nvtt/squish/singlechannelfit.*", + "nvtt/src/nvtt/squish/squish.*", + "nvtt/src/nvtt/CompressorDX11.*", + } + + configuration "linux" + includedirs + { + "nvtt/project/linux", + } + + configuration "macosx" + includedirs + { + "nvtt/project/macosx", + } + + if _ACTION == "vs2008" then + configuration "windows" + includedirs + { + "nvtt/project/vc9", + } + else + configuration "windows" + includedirs + { + "nvtt/project/vc10", + } + end + + -- Override inline function expansion and intrinsic function usage settings for Debug builds. + configuration { "windows", "Debug" } + buildoptions + { + "/Ob2", + "/Oi", + } + editandcontinue "Off" + + project "ois" + uuid "4A37964A-C2F4-4FA7-B744-9C4D292DAA22" + kind "StaticLib" + language "C++" + includedirs + { + "ois/includes/", + } + files + { + "ois/src/*.cpp", + } + + configuration "linux" + files + { + "ois/src/linux/*.cpp" + } + + configuration "macosx" + files + { + "ois/src/mac/*.cpp" + } + + configuration "windows" + files + { + "ois/src/win32/*.cpp", + } + + project "zlib" + uuid "23112391-0616-46AF-B0C2-5325E8530FBA" + kind "StaticLib" + language "C++" + files + { + "zlib/*.h", + "zlib/*.c", + } + excludes + { + "zlib/gz*.h", + "zlib/gz*.c", + "zlib/minigzip.c", + } + + -- alphabetical! end --]] \ No newline at end of file diff --git a/Runtime.lua b/Runtime.lua deleted file mode 100644 index be3e856c5..000000000 --- a/Runtime.lua +++ /dev/null @@ -1,13 +0,0 @@ -require "Dependencies/Helium" -require "Helium" - -prefix = "Helium-Runtime-" -group "Runtime" - -dofile "Core.lua" - -if _OPTIONS[ "core" ] then - return -end - -dofile "Shared.lua" diff --git a/Core.lua b/premake-core.lua similarity index 66% rename from Core.lua rename to premake-core.lua index b35534a37..13f7354fa 100644 --- a/Core.lua +++ b/premake-core.lua @@ -1,7 +1,7 @@ -require "Dependencies/Helium" -require "Dependencies/fbx" +require "Dependencies/premake" +require "Dependencies/premake-fbx" -require "Helium" +require "premake" project( prefix .. "Platform" ) @@ -97,8 +97,8 @@ project( prefix .. "FoundationTests" ) links { + prefix .. "Foundation", prefix .. "Platform", - prefix .. "Foundation" } project( prefix .. "Application" ) @@ -110,15 +110,36 @@ project( prefix .. "Application" ) "Core/Source/Application/**", } + excludes + { + "Core/Source/Application/*Tests.*", + } + configuration "SharedLib" links { - prefix .. "Platform", prefix .. "Foundation", + prefix .. "Platform", } configuration {} +project( prefix .. "ApplicationTests" ) + + Helium.DoTestsProjectSettings() + + files + { + "Core/Source/Application/*Tests.*", + } + + links + { + prefix .. "Application", + prefix .. "Foundation", + prefix .. "Platform", + } + project( prefix .. "Reflect" ) Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Reflect", "REFLECT" ) @@ -136,12 +157,28 @@ project( prefix .. "Reflect" ) configuration "SharedLib" links { - prefix .. "Platform", prefix .. "Foundation", + prefix .. "Platform", } configuration {} +project( prefix .. "ReflectTests" ) + + Helium.DoTestsProjectSettings() + + files + { + "Core/Source/Reflect/*Tests.*", + } + + links + { + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform" + } + project( prefix .. "Persist" ) Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Persist", "PERSIST" ) @@ -151,6 +188,11 @@ project( prefix .. "Persist" ) "Core/Source/Persist/**", } + excludes + { + "Core/Source/Persist/*Tests.*", + } + configuration "SharedLib" links { @@ -162,6 +204,23 @@ project( prefix .. "Persist" ) configuration {} +project( prefix .. "PersistTests" ) + + Helium.DoTestsProjectSettings() + + files + { + "Core/Source/Persist/*Tests.*", + } + + links + { + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform" + } + project( prefix .. "Mongo" ) Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Mongo", "MONGO" ) @@ -171,6 +230,11 @@ project( prefix .. "Mongo" ) "Core/Source/Mongo/**", } + excludes + { + "Core/Source/Mongo/*Tests.*", + } + configuration "SharedLib" links { @@ -183,6 +247,24 @@ project( prefix .. "Mongo" ) configuration {} +project( prefix .. "MongoTests" ) + + Helium.DoTestsProjectSettings() + + files + { + "Core/Source/Mongo/*Tests.*", + } + + links + { + prefix .. "Mongo", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform" + } + project( prefix .. "Inspect" ) Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Inspect", "INSPECT" ) @@ -192,9 +274,9 @@ project( prefix .. "Inspect" ) "Core/Source/Inspect/**", } - includedirs + excludes { - "Core/Source/Inspect", + "Core/Source/Inspect/*Tests.*", } configuration "SharedLib" @@ -210,6 +292,23 @@ project( prefix .. "Inspect" ) configuration {} +project( prefix .. "InspectTests" ) + + Helium.DoTestsProjectSettings() + + files + { + "Core/Source/Inspect/*Tests.*", + } + + links + { + prefix .. "Inspect", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform" + } + project( prefix .. "Math" ) Helium.DoModuleProjectSettings( "Core/Source", "HELIUM", "Math", "MATH" ) @@ -219,6 +318,11 @@ project( prefix .. "Math" ) "Core/Source/Math/**", } + excludes + { + "Core/Source/Math/*Tests.*", + } + configuration "SharedLib" links { @@ -229,3 +333,19 @@ project( prefix .. "Math" ) } configuration {} + +project( prefix .. "MathTests" ) + + Helium.DoTestsProjectSettings() + + files + { + "Core/Source/Math/*Tests.*", + } + + links + { + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform" + } diff --git a/premake-runtime.lua b/premake-runtime.lua new file mode 100644 index 000000000..7e8cb7337 --- /dev/null +++ b/premake-runtime.lua @@ -0,0 +1,14 @@ +require "Dependencies/premake" +require "premake" + +tools = false +prefix = "Helium-Runtime-" +group "Runtime" + +dofile "premake-core.lua" + +if _OPTIONS[ "core" ] then + return +end + +dofile "premake-shared.lua" diff --git a/Shared.lua b/premake-shared.lua similarity index 98% rename from Shared.lua rename to premake-shared.lua index 125578ec4..801f1b2cc 100644 --- a/Shared.lua +++ b/premake-shared.lua @@ -1,7 +1,7 @@ -require "Dependencies/Helium" -require "Dependencies/fbx" +require "Dependencies/premake" +require "Dependencies/premake-fbx" -require "Helium" +require "premake" project( prefix .. "MathSimd" ) @@ -511,6 +511,7 @@ project( prefix .. "GameLibrary" ) "Dependencies/freetype/include", "Dependencies/bullet/src", "Projects", + "Projects/GameLibrary", } files @@ -521,10 +522,6 @@ project( prefix .. "GameLibrary" ) if _OPTIONS["pch"] then pchheader( "Precompile.h" ) pchsource( "Projects/GameLibrary/Precompile.cpp" ) - includedirs - { - "Projects/GameLibrary", - } end configuration "SharedLib" diff --git a/Tools.lua b/premake-tools.lua similarity index 98% rename from Tools.lua rename to premake-tools.lua index 8c58aa02b..4375b22d5 100644 --- a/Tools.lua +++ b/premake-tools.lua @@ -1,17 +1,19 @@ -require "Dependencies/Helium" -require "Dependencies/wxWidgets" -require "Helium" +require "Dependencies/premake" +require "Dependencies/premake-fbx" +require "Dependencies/premake-wx" +require "premake" +tools = true prefix = "Helium-Tools-" group "Tools" -dofile "Core.lua" +dofile "premake-core.lua" if _OPTIONS[ "core" ] then return end -dofile "Shared.lua" +dofile "premake-shared.lua" project( prefix .. "PcSupport" ) @@ -188,6 +190,7 @@ project( prefix .. "Editor" ) defines { + "HELIUM_HEAP=1", "HELIUM_MODULE=Editor", "WXUSINGDLL=1", "wxNO_EXPAT_LIB=1", @@ -199,6 +202,7 @@ project( prefix .. "Editor" ) includedirs { + "Source/Tools/Editor", "Dependencies/freetype/include", "Dependencies/p4api/include", "Dependencies/wxWidgets/include", @@ -209,10 +213,6 @@ project( prefix .. "Editor" ) if _OPTIONS["pch"] then pchheader( "Precompile.h" ) pchsource( "Source/Tools/Editor/Precompile.cpp" ) - includedirs - { - "Source/Tools/Editor", - } end if _OPTIONS[ "gfxapi" ] == "direct3d" then diff --git a/Helium.lua b/premake.lua similarity index 97% rename from Helium.lua rename to premake.lua index a8a08f459..ec7730993 100644 --- a/Helium.lua +++ b/premake.lua @@ -1,10 +1,4 @@ -require "Dependencies/Helium" - -newoption -{ - trigger = "pch", - description = "Build with precompiled headers", -} +require "Dependencies/premake" Helium.CheckEnvironment = function () @@ -100,11 +94,6 @@ Helium.DoBasicProjectSettings = function() "FatalWarnings", } - defines - { - "HELIUM_HEAP=1", - } - if _OPTIONS[ "gfxapi" ] == "direct3d" then defines { @@ -188,11 +177,6 @@ Helium.DoTestsProjectSettings = function() Helium.DoBasicProjectSettings() - defines - { - "HELIUM_MODULE=Tests" - } - includedirs { ".", @@ -300,6 +284,7 @@ Helium.DoModuleProjectSettings = function( baseDirectory, tokenPrefix, moduleNam defines { + "HELIUM_HEAP=1", "HELIUM_MODULE=" .. moduleName } @@ -362,6 +347,7 @@ Helium.DoGameProjectSettings = function( name ) defines { + "HELIUM_HEAP=1", "HELIUM_MODULE=Game", } @@ -549,13 +535,14 @@ Helium.DoGameMainProjectSettings = function( name ) "Projects/" .. name .. "/Source/Main/*.h", } + includedirs + { + "Projects/" .. name .. "/Source/Module" + } + if _OPTIONS["pch"] then pchheader( "Precompile.h" ) pchsource( "Projects/" .. name .. "/Source/Module/Precompile.cpp" ) - includedirs - { - "Projects/" .. name .. "/Source/Module" - } end configuration "windows" diff --git a/premake5.lua b/premake5.lua index 2f2592866..51c73a0de 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1,4 +1,4 @@ -require "Helium" +require "./premake" function PublishBundle( bin ) @@ -39,6 +39,18 @@ newoption description = "Core components only", } +newoption +{ + trigger = "pch", + description = "Build with precompiled headers", +} + +if not _OPTIONS[ "pch" ] then + if os.host() == "windows" then + _OPTIONS[ "pch" ] = true + end +end + newoption { trigger = "gfxapi", @@ -66,7 +78,7 @@ if _ACTION then PublishBundle() end - workspace "Helium" + workspace "Engine" startproject "Helium-Tools-Editor" Helium.DoBasicWorkspaceSettings() @@ -87,10 +99,7 @@ if _ACTION then targetdir( "Bin/Release/" .. Helium.GetBundleExecutablePath() ) libdirs { "Bin/Release/" .. Helium.GetBundleExecutablePath() } - tools = false - dofile "Runtime.lua" - - tools = true - dofile "Tools.lua" + dofile "premake-runtime.lua" + dofile "premake-tools.lua" end \ No newline at end of file From ad7d22473e2edb43278a60ca8e6153dfe8965166 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Sat, 21 Jul 2018 20:30:36 -0700 Subject: [PATCH 17/23] tidy up links --- premake-shared.lua | 152 +++++++++++++++++++++++---------------------- premake-tools.lua | 46 +++++++------- premake.lua | 2 +- 3 files changed, 101 insertions(+), 99 deletions(-) diff --git a/premake-shared.lua b/premake-shared.lua index 801f1b2cc..38a930d09 100644 --- a/premake-shared.lua +++ b/premake-shared.lua @@ -15,10 +15,11 @@ project( prefix .. "MathSimd" ) configuration "SharedLib" links { - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", + -- core prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } configuration {} @@ -35,13 +36,14 @@ project( prefix .. "Engine" ) configuration "SharedLib" links { + prefix .. "MathSimd", + -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "EngineJobs" ) @@ -57,14 +59,14 @@ project( prefix .. "EngineJobs" ) links { prefix .. "Engine", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "Windowing" ) @@ -108,14 +110,14 @@ project( prefix .. "Windowing" ) prefix .. "Engine", prefix .. "EngineJobs", prefix .. "Framework", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "Rendering" ) @@ -133,14 +135,14 @@ project( prefix .. "Rendering" ) { prefix .. "Engine", prefix .. "EngineJobs", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } if _OPTIONS[ "gfxapi" ] == "direct3d" then @@ -161,14 +163,14 @@ project( prefix .. "RenderingD3D9" ) prefix .. "Engine", prefix .. "EngineJobs", prefix .. "Rendering", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } elseif _OPTIONS[ "gfxapi" ] == "opengl" then @@ -189,14 +191,14 @@ project( prefix .. "RenderingGL" ) prefix .. "Engine", prefix .. "EngineJobs", prefix .. "Rendering", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } end @@ -217,14 +219,14 @@ project( prefix .. "GraphicsTypes" ) prefix .. "Engine", prefix .. "EngineJobs", prefix .. "Rendering", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "GraphicsJobs" ) @@ -244,14 +246,14 @@ project( prefix .. "GraphicsJobs" ) prefix .. "EngineJobs", prefix .. "Rendering", prefix .. "GraphicsTypes", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "Graphics" ) @@ -273,14 +275,14 @@ project( prefix .. "Graphics" ) prefix .. "Rendering", prefix .. "GraphicsTypes", prefix .. "GraphicsJobs", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "Components" ) @@ -304,13 +306,13 @@ project( prefix .. "Components" ) prefix .. "GraphicsJobs", prefix .. "Graphics", prefix .. "Ois", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "Bullet" ) @@ -338,13 +340,13 @@ project( prefix .. "Bullet" ) prefix .. "Rendering", -- (for debug drawing) prefix .. "GraphicsTypes", -- (for debug drawing) prefix .. "Graphics", -- (for debug drawing) + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", "bullet", } @@ -374,13 +376,13 @@ project( prefix .. "Ois" ) prefix .. "GraphicsTypes", prefix .. "GraphicsJobs", prefix .. "Graphics", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", "ois", } @@ -399,14 +401,14 @@ project( prefix .. "Framework" ) { prefix .. "Engine", prefix .. "EngineJobs", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "FrameworkImpl" ) @@ -491,14 +493,14 @@ project( prefix .. "FrameworkImpl" ) prefix .. "GraphicsJobs", prefix .. "Graphics", prefix .. "Framework", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "GameLibrary" ) @@ -561,14 +563,14 @@ project( prefix .. "GameLibrary" ) prefix .. "Components", prefix .. "Bullet", prefix .. "Ois", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", "ois", "mongo-c", diff --git a/premake-tools.lua b/premake-tools.lua index 4375b22d5..d88bb6bb3 100644 --- a/premake-tools.lua +++ b/premake-tools.lua @@ -30,14 +30,14 @@ project( prefix .. "PcSupport" ) prefix .. "Engine", prefix .. "EngineJobs", prefix .. "Rendering", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "PreprocessingPc" ) @@ -60,14 +60,14 @@ project( prefix .. "PreprocessingPc" ) prefix .. "GraphicsJobs", prefix .. "Graphics", prefix .. "PcSupport", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", } project( prefix .. "EditorSupport" ) @@ -104,14 +104,14 @@ project( prefix .. "EditorSupport" ) prefix .. "Framework", prefix .. "PcSupport", prefix .. "PreprocessingPc", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Foundation", + prefix .. "Platform", "freetype", "libpng", @@ -143,16 +143,16 @@ project( prefix .. "EditorScene" ) prefix .. "PcSupport", prefix .. "PreprocessingPc", prefix .. "EditorSupport", + prefix .. "MathSimd", -- core - prefix .. "Platform", - prefix .. "Foundation", - prefix .. "Application", - prefix .. "Reflect", - prefix .. "Persist", prefix .. "Inspect", prefix .. "Math", - prefix .. "MathSimd", + prefix .. "Persist", + prefix .. "Reflect", + prefix .. "Application", + prefix .. "Foundation", + prefix .. "Platform", } if _OPTIONS[ "gfxapi" ] == "direct3d" then @@ -245,11 +245,11 @@ project( prefix .. "Editor" ) prefix .. "Windowing", prefix .. "EngineJobs", prefix .. "Engine", + prefix .. "MathSimd", -- core - prefix .. "MathSimd", - prefix .. "Math", prefix .. "Inspect", + prefix .. "Math", prefix .. "Persist", prefix .. "Reflect", prefix .. "Application", diff --git a/premake.lua b/premake.lua index ec7730993..152eb16e4 100644 --- a/premake.lua +++ b/premake.lua @@ -398,9 +398,9 @@ Helium.DoGameProjectSettings = function( name ) prefix .. "Windowing", prefix .. "EngineJobs", prefix .. "Engine", + prefix .. "MathSimd", -- core - prefix .. "MathSimd", prefix .. "Math", prefix .. "Persist", prefix .. "Reflect", From e04e7c78940fa233d29a79d79ab8bbd4e5beeade Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 9 Aug 2018 13:39:10 -0700 Subject: [PATCH 18/23] Update Core, add new persist static startup/shutdown API calls --- Core | 2 +- Dependencies/premake.lua | 1 + Source/Engine/Engine/Config.cpp | 3 +-- Source/Engine/Framework/GameSystem.cpp | 3 +++ Source/Engine/PcSupport/LooseAssetFileWatcher.cpp | 2 +- Source/Engine/PcSupport/LoosePackageLoader.cpp | 4 ++-- Source/Tools/Editor/App.cpp | 2 ++ Source/Tools/Editor/ProjectViewModel.cpp | 1 + Source/Tools/EditorScene/Scene.cpp | 3 +-- 9 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Core b/Core index 6a0ec4916..94723312f 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 6a0ec4916b977eda66f201482e0ef9b6511bceaf +Subproject commit 94723312fd5a21d5779f096cb59c1eb7f26f157a diff --git a/Dependencies/premake.lua b/Dependencies/premake.lua index a79758758..e52a7a5fd 100644 --- a/Dependencies/premake.lua +++ b/Dependencies/premake.lua @@ -117,6 +117,7 @@ Helium.Publish = function( files ) print( path .. "\n\t-> " .. destination ) os.copyfile( path, destination ) -- linux returns non-zero if the target file is identical (!?) + print( path .. " -> " .. destination ) -- the files were copied, complete this entry files[ i ] = nil diff --git a/Source/Engine/Engine/Config.cpp b/Source/Engine/Engine/Config.cpp index 2b2f4c88f..457486328 100644 --- a/Source/Engine/Engine/Config.cpp +++ b/Source/Engine/Engine/Config.cpp @@ -43,8 +43,7 @@ Helium::FilePath Helium::Config::GetUserConfigObjectFilePath( Name name ) cacheFilePath += m_defaultConfigPackagePath.ToFilePathString(); cacheFilePath += Helium::s_InternalPathSeparator; cacheFilePath += *name; - cacheFilePath += "."; - cacheFilePath += Persist::ArchiveExtensions[ Persist::ArchiveTypes::Json ]; + cacheFilePath += ".json"; return FilePath( *cacheFilePath ); } diff --git a/Source/Engine/Framework/GameSystem.cpp b/Source/Engine/Framework/GameSystem.cpp index b6e5c0bd1..a65890ba1 100644 --- a/Source/Engine/Framework/GameSystem.cpp +++ b/Source/Engine/Framework/GameSystem.cpp @@ -6,6 +6,7 @@ #include "Foundation/FilePath.h" #include "Foundation/DirectoryIterator.h" #include "Reflect/Registry.h" +#include "Persist/Archive.h" #include "Platform/Timer.h" #include "Platform/Process.h" #include "Engine/Config.h" @@ -89,6 +90,7 @@ bool GameSystem::Initialize( AsyncLoader::Startup(); CacheManager::Startup(); Reflect::Startup(); + Persist::Startup(); rMemoryHeapPreInitialization.Startup(); rAssetLoaderInitialization.Startup(); @@ -178,6 +180,7 @@ void GameSystem::Cleanup() m_pAssetLoaderInitialization = NULL; } + Persist::Shutdown(); Reflect::Shutdown(); AssetType::Shutdown(); Asset::Shutdown(); diff --git a/Source/Engine/PcSupport/LooseAssetFileWatcher.cpp b/Source/Engine/PcSupport/LooseAssetFileWatcher.cpp index 3a179ff05..8e4f3c00f 100644 --- a/Source/Engine/PcSupport/LooseAssetFileWatcher.cpp +++ b/Source/Engine/PcSupport/LooseAssetFileWatcher.cpp @@ -159,7 +159,7 @@ void LooseAssetFileWatcher::TrackEverything() // Skip directories continue; } - else if ( item.m_Path.Extension() == Persist::ArchiveExtensions[ Persist::ArchiveTypes::Json ] ) + else if ( item.m_Path.Extension() == "json" ) { // JSON files get handled special objectName.Set( item.m_Path.Basename().c_str() ); diff --git a/Source/Engine/PcSupport/LoosePackageLoader.cpp b/Source/Engine/PcSupport/LoosePackageLoader.cpp index f24b4e71e..57bd17083 100644 --- a/Source/Engine/PcSupport/LoosePackageLoader.cpp +++ b/Source/Engine/PcSupport/LoosePackageLoader.cpp @@ -259,7 +259,7 @@ bool LoosePackageLoader::BeginPreload() } else #endif - if ( item.m_Path.Extension() == Persist::ArchiveExtensions[Persist::ArchiveTypes::Json] ) + if ( item.m_Path.Extension() == "json" ) { HELIUM_TRACE( TraceLevels::Info, "- Reading file [%s]\n", item.m_Path.Data() ); @@ -1101,7 +1101,7 @@ bool LoosePackageLoader::TickDeserialize( LoadRequest* pRequest ) AsyncLoader* pAsyncLoader = AsyncLoader::GetInstance(); HELIUM_ASSERT( pAsyncLoader ); - FilePath object_file_path = m_packageDirPath + *rObjectData.objectPath.GetName() + "." + Persist::ArchiveExtensions[Persist::ArchiveTypes::Json]; + FilePath object_file_path = m_packageDirPath + *rObjectData.objectPath.GetName() + ".json"; bool load_properties_from_file = true; size_t object_file_size = 0; diff --git a/Source/Tools/Editor/App.cpp b/Source/Tools/Editor/App.cpp index ebc81a466..127fc33b2 100644 --- a/Source/Tools/Editor/App.cpp +++ b/Source/Tools/Editor/App.cpp @@ -156,6 +156,7 @@ bool App::OnInit() Editor::PerforceWaitDialog::EnableWaitDialog( true ); Perforce::Startup(); Reflect::Startup(); + Persist::Startup(); LoadSettings(); @@ -201,6 +202,7 @@ int App::OnExit() SaveSettings(); + Persist::Shutdown(); Reflect::Shutdown(); Perforce::Shutdown(); Editor::PerforceWaitDialog::EnableWaitDialog( false ); diff --git a/Source/Tools/Editor/ProjectViewModel.cpp b/Source/Tools/Editor/ProjectViewModel.cpp index 2c8cc3ec4..23578a4be 100644 --- a/Source/Tools/Editor/ProjectViewModel.cpp +++ b/Source/Tools/Editor/ProjectViewModel.cpp @@ -232,6 +232,7 @@ bool ProjectViewModel::OpenProject( const FilePath& project ) m_InitializerStack.Push( Asset::Shutdown ); m_InitializerStack.Push( AssetType::Shutdown ); m_InitializerStack.Push( Reflect::Startup, Reflect::Shutdown ); + m_InitializerStack.Push( Persist::Startup, Persist::Shutdown ); m_InitializerStack.Push( LooseAssetLoader::Startup, LooseAssetLoader::Shutdown ); m_InitializerStack.Push( AssetPreprocessor::Startup, AssetPreprocessor::Shutdown ); diff --git a/Source/Tools/EditorScene/Scene.cpp b/Source/Tools/EditorScene/Scene.cpp index 61611f2a3..d82bfe9d5 100644 --- a/Source/Tools/EditorScene/Scene.cpp +++ b/Source/Tools/EditorScene/Scene.cpp @@ -611,10 +611,9 @@ void Scene::ArchiveStatus( const Persist::ArchiveStatus& info ) case Persist::ArchiveStates::ArchiveStarting: { std::string verb = info.m_Archive.GetMode() == Persist::ArchiveModes::Read ? "Opening" : "Saving"; - std::string type = info.m_Archive.GetType() == Persist::ArchiveTypes::Json ? "JSON" : "MessagePack"; std::ostringstream str; - str << verb << " " << type << " File: " << info.m_Archive.GetPath().Data(); + str << verb << " File: " << info.m_Archive.GetPath().Data(); e_StatusChanged.Raise( str.str() ); break; } From e29e111651b0deec77813cd7cadfd0092c4781d2 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 9 Aug 2018 17:37:41 -0700 Subject: [PATCH 19/23] Update core, re-root some include statements to route though tighter include paths --- Core | 2 +- Source/Engine/Ois/OisSystem.cpp | 2 +- premake.lua | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Core b/Core index 94723312f..f77e2e029 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 94723312fd5a21d5779f096cb59c1eb7f26f157a +Subproject commit f77e2e029e467c472566f5a2aaa2865c756b0436 diff --git a/Source/Engine/Ois/OisSystem.cpp b/Source/Engine/Ois/OisSystem.cpp index 24b78f404..9487a7d72 100644 --- a/Source/Engine/Ois/OisSystem.cpp +++ b/Source/Engine/Ois/OisSystem.cpp @@ -1,7 +1,7 @@ #include "Precompile.h" #include "OisSystem.h" -#include "ois/includes/OIS.h" +#include using namespace Helium; diff --git a/premake.lua b/premake.lua index 152eb16e4..dcc882065 100644 --- a/premake.lua +++ b/premake.lua @@ -132,7 +132,9 @@ Helium.DoBasicProjectSettings = function() "Core/Source", "Source/Engine", "Source/Tools", - "Dependencies", + "Dependencies/rapidjson/include", + "Dependencies/mongo-c/src", + "Dependencies/ois/includes", } configuration { "windows", "SharedLib or *App" } From 19969cfa2d12dac003c2007b2227f89b9767ea1b Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 9 Aug 2018 17:40:42 -0700 Subject: [PATCH 20/23] Fix mongo test build --- premake-core.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/premake-core.lua b/premake-core.lua index 13f7354fa..722dd3fab 100644 --- a/premake-core.lua +++ b/premake-core.lua @@ -262,7 +262,8 @@ project( prefix .. "MongoTests" ) prefix .. "Persist", prefix .. "Reflect", prefix .. "Foundation", - prefix .. "Platform" + prefix .. "Platform", + "mongo-c", } project( prefix .. "Inspect" ) From 26e9d7d5a15df874c5cd1900d7e77d28df67d124 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 16 Aug 2018 17:29:51 -0700 Subject: [PATCH 21/23] Update core, alias more windows.h types --- Core | 2 +- Projects/PhysicsDemo/Source/Main/Main.cpp | 1 + Projects/ShapeShooter/Source/Main/Main.cpp | 1 + Projects/SideScroller/Source/Main/Main.cpp | 1 + Projects/TestBull/Source/Main/Main.cpp | 1 + .../WindowManagerInitializationImpl.h | 4 ++-- .../WindowManagerInitializationImplWin.cpp | 2 +- .../Engine/PreprocessingPc/PcPreprocessor.cpp | 2 ++ Source/Engine/RenderingD3D9/D3D9Renderer.cpp | 2 ++ Source/Engine/RenderingD3D9/D3D9Renderer.h | 1 + Source/Engine/Windowing/Window.h | 2 +- Source/Engine/Windowing/WindowManager.h | 8 +++---- Source/Engine/Windowing/WindowManagerWin.cpp | 23 ++++++++++--------- Source/Engine/Windowing/WindowWin.cpp | 4 +++- Source/Tools/Editor/Precompile.h | 4 ++++ Source/Tools/EditorScene/DeviceManager.cpp | 8 ------- Source/Tools/EditorScene/DeviceManager.h | 12 ---------- Source/Tools/EditorScene/Viewport.cpp | 4 ---- Source/Tools/EditorScene/Viewport.h | 8 ------- 19 files changed, 37 insertions(+), 53 deletions(-) diff --git a/Core b/Core index f77e2e029..2846f2aa1 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit f77e2e029e467c472566f5a2aaa2865c756b0436 +Subproject commit 2846f2aa1f87171dfbff602a26cfe316e02d4ea5 diff --git a/Projects/PhysicsDemo/Source/Main/Main.cpp b/Projects/PhysicsDemo/Source/Main/Main.cpp index f70254e71..697f756c8 100644 --- a/Projects/PhysicsDemo/Source/Main/Main.cpp +++ b/Projects/PhysicsDemo/Source/Main/Main.cpp @@ -41,6 +41,7 @@ using namespace Helium; /// /// @return Result code of the application. #if HELIUM_OS_WIN +#include "Platform/SystemWin.h" int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int nCmdShow ) #else int main( int argc, const char* argv[] ) diff --git a/Projects/ShapeShooter/Source/Main/Main.cpp b/Projects/ShapeShooter/Source/Main/Main.cpp index 38e740210..1d3cec7d7 100644 --- a/Projects/ShapeShooter/Source/Main/Main.cpp +++ b/Projects/ShapeShooter/Source/Main/Main.cpp @@ -33,6 +33,7 @@ using namespace Helium; /// /// @return Result code of the application. #if HELIUM_OS_WIN +#include "Platform/SystemWin.h" int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int nCmdShow ) #else int main( int argc, const char* argv[] ) diff --git a/Projects/SideScroller/Source/Main/Main.cpp b/Projects/SideScroller/Source/Main/Main.cpp index 6b12276ac..73067a7db 100644 --- a/Projects/SideScroller/Source/Main/Main.cpp +++ b/Projects/SideScroller/Source/Main/Main.cpp @@ -33,6 +33,7 @@ using namespace Helium; /// /// @return Result code of the application. #if HELIUM_OS_WIN +#include "Platform/SystemWin.h" int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int nCmdShow ) #else int main( int argc, const char* argv[] ) diff --git a/Projects/TestBull/Source/Main/Main.cpp b/Projects/TestBull/Source/Main/Main.cpp index 38595f0e5..87942e5f5 100644 --- a/Projects/TestBull/Source/Main/Main.cpp +++ b/Projects/TestBull/Source/Main/Main.cpp @@ -41,6 +41,7 @@ using namespace Helium; /// /// @return Result code of the application. #if HELIUM_OS_WIN +#include "Platform/SystemWin.h" int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR /*lpCmdLine*/, int nCmdShow ) #else int main( int argc, const char* argv[] ) diff --git a/Source/Engine/FrameworkImpl/WindowManagerInitializationImpl.h b/Source/Engine/FrameworkImpl/WindowManagerInitializationImpl.h index fde52baac..021e24692 100644 --- a/Source/Engine/FrameworkImpl/WindowManagerInitializationImpl.h +++ b/Source/Engine/FrameworkImpl/WindowManagerInitializationImpl.h @@ -12,7 +12,7 @@ namespace Helium /// @name Construction/Destruction //@{ #if HELIUM_DIRECT3D - WindowManagerInitializationImpl( HINSTANCE hInstance, int nCmdShow ); + WindowManagerInitializationImpl( void* hInstance, int nCmdShow ); #else WindowManagerInitializationImpl(); #endif @@ -27,7 +27,7 @@ namespace Helium protected: #if HELIUM_DIRECT3D /// Handle to the application instance. - HINSTANCE m_hInstance; + void* m_hInstance; /// Flags specifying how the application window should be shown. int m_nCmdShow; #endif diff --git a/Source/Engine/FrameworkImpl/WindowManagerInitializationImplWin.cpp b/Source/Engine/FrameworkImpl/WindowManagerInitializationImplWin.cpp index e8880c897..2bd5fbbf6 100644 --- a/Source/Engine/FrameworkImpl/WindowManagerInitializationImplWin.cpp +++ b/Source/Engine/FrameworkImpl/WindowManagerInitializationImplWin.cpp @@ -9,7 +9,7 @@ using namespace Helium; /// /// @param[in] hInstance Handle to the application instance. /// @param[in] nCmdShow Flags specifying how the application window should be shown (passed in from WinMain()). -WindowManagerInitializationImpl::WindowManagerInitializationImpl( HINSTANCE hInstance, int nCmdShow ) +WindowManagerInitializationImpl::WindowManagerInitializationImpl( void* hInstance, int nCmdShow ) : m_hInstance( hInstance ) , m_nCmdShow( nCmdShow ) { diff --git a/Source/Engine/PreprocessingPc/PcPreprocessor.cpp b/Source/Engine/PreprocessingPc/PcPreprocessor.cpp index d75343e3f..3487b01f5 100644 --- a/Source/Engine/PreprocessingPc/PcPreprocessor.cpp +++ b/Source/Engine/PreprocessingPc/PcPreprocessor.cpp @@ -10,6 +10,8 @@ #if HELIUM_DIRECT3D +#include "Platform/SystemWin.h" + #pragma warning( push ) #pragma warning( disable:4005 ) #include diff --git a/Source/Engine/RenderingD3D9/D3D9Renderer.cpp b/Source/Engine/RenderingD3D9/D3D9Renderer.cpp index b882d18c0..df3c1d9c2 100644 --- a/Source/Engine/RenderingD3D9/D3D9Renderer.cpp +++ b/Source/Engine/RenderingD3D9/D3D9Renderer.cpp @@ -24,6 +24,8 @@ #include "RenderingD3D9/D3D9VertexInputLayout.h" #include "RenderingD3D9/D3D9VertexShader.h" +#undef Yield + namespace Helium { HELIUM_DECLARE_RPTR( RFence ); diff --git a/Source/Engine/RenderingD3D9/D3D9Renderer.h b/Source/Engine/RenderingD3D9/D3D9Renderer.h index 4340563e5..aadfc5663 100644 --- a/Source/Engine/RenderingD3D9/D3D9Renderer.h +++ b/Source/Engine/RenderingD3D9/D3D9Renderer.h @@ -6,6 +6,7 @@ #include "Platform/Assert.h" #include "Foundation/DynamicArray.h" +#include "Platform/SystemWin.h" #include /// @defgroup d3d9error Direct3D 9 Error Handling diff --git a/Source/Engine/Windowing/Window.h b/Source/Engine/Windowing/Window.h index 99aa01a20..17f68b74b 100644 --- a/Source/Engine/Windowing/Window.h +++ b/Source/Engine/Windowing/Window.h @@ -18,7 +18,7 @@ namespace Helium #if HELIUM_OPENGL typedef GLFWwindow* Handle; #elif HELIUM_DIRECT3D - typedef HWND Handle; + typedef void* Handle; #endif #if HELIUM_OS_LINUX diff --git a/Source/Engine/Windowing/WindowManager.h b/Source/Engine/Windowing/WindowManager.h index 76bca089f..56bad9ca5 100644 --- a/Source/Engine/Windowing/WindowManager.h +++ b/Source/Engine/Windowing/WindowManager.h @@ -12,7 +12,7 @@ namespace Helium /// @name Initialization //@{ #if HELIUM_DIRECT3D - bool Initialize( HINSTANCE hInstance, int nCmdShow ); + bool Initialize( void* hInstance, int nCmdShow ); #else bool Initialize(); #endif @@ -41,11 +41,11 @@ namespace Helium protected: #if HELIUM_DIRECT3D /// Handle to the application instance. - HINSTANCE m_hInstance; + void* m_hInstance; /// Flags specifying how the application window should be shown. int m_nCmdShow; /// Default window class atom. - ATOM m_windowClassAtom; + uint16_t m_windowClassAtom; #elif HELIUM_OPENGL /// Flag to indicate successful initialization. bool m_isInitialized; @@ -66,7 +66,7 @@ namespace Helium #if HELIUM_DIRECT3D /// @name Window Procedure Callback //@{ - static LRESULT CALLBACK WindowProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ); + static uintptr_t __stdcall WindowProc( void* hWnd, uint32_t msg, uintptr_t wParam, uintptr_t lParam ); //@} #elif HELIUM_OPENGL /// @name Window System Callbacks diff --git a/Source/Engine/Windowing/WindowManagerWin.cpp b/Source/Engine/Windowing/WindowManagerWin.cpp index 58d50dea0..156bfd96b 100644 --- a/Source/Engine/Windowing/WindowManagerWin.cpp +++ b/Source/Engine/Windowing/WindowManagerWin.cpp @@ -1,6 +1,7 @@ #include "Precompile.h" #include "Windowing/WindowManager.h" +#include "Platform/SystemWin.h" #include "Windowing/Window.h" using namespace Helium; @@ -26,7 +27,7 @@ WindowManager::~WindowManager() /// @return True if window manager initialization was successful, false if not. /// /// @see Shutdown() -bool WindowManager::Initialize( HINSTANCE hInstance, int nCmdShow ) +bool WindowManager::Initialize( void* hInstance, int nCmdShow ) { HELIUM_ASSERT( hInstance ); @@ -34,10 +35,10 @@ bool WindowManager::Initialize( HINSTANCE hInstance, int nCmdShow ) WNDCLASSEXW windowClass; windowClass.cbSize = sizeof( windowClass ); windowClass.style = 0; - windowClass.lpfnWndProc = WindowProc; + windowClass.lpfnWndProc = reinterpret_cast(&WindowProc); windowClass.cbClsExtra = 0; windowClass.cbWndExtra = 0; - windowClass.hInstance = hInstance; + windowClass.hInstance = static_cast(hInstance); windowClass.hIcon = NULL; windowClass.hCursor = NULL; windowClass.hbrBackground = NULL; @@ -69,7 +70,7 @@ void WindowManager::Cleanup() HELIUM_ASSERT( m_hInstance ); HELIUM_VERIFY( UnregisterClass( reinterpret_cast< LPCTSTR >( static_cast< uintptr_t >( m_windowClassAtom ) ), - m_hInstance ) ); + static_cast(m_hInstance) ) ); m_windowClassAtom = 0; } @@ -168,7 +169,7 @@ Window* WindowManager::Create( Window::Parameters& rParameters ) windowRect.bottom - windowRect.top, NULL, NULL, - m_hInstance, + static_cast(m_hInstance), pWindow ); HELIUM_ASSERT( hWnd ); if( !hWnd ) @@ -196,7 +197,7 @@ Window* WindowManager::Create( Window::Parameters& rParameters ) /// @param[in] lParam Additional message information (dependent on the message sent). /// /// @return Result of the message processing (dependent on the message sent). -LRESULT CALLBACK WindowManager::WindowProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) +uintptr_t __stdcall WindowManager::WindowProc( void* hWnd, uint32_t msg, uintptr_t wParam, uintptr_t lParam ) { HELIUM_ASSERT( hWnd ); @@ -213,14 +214,14 @@ LRESULT CALLBACK WindowManager::WindowProc( HWND hWnd, UINT msg, WPARAM wParam, Window* pWindow = static_cast< Window* >( pCreateStruct->lpCreateParams ); HELIUM_ASSERT( pWindow ); - SetWindowLongPtr( hWnd, GWLP_USERDATA, reinterpret_cast< LONG_PTR >( pWindow ) ); + SetWindowLongPtr( static_cast(hWnd), GWLP_USERDATA, reinterpret_cast< LONG_PTR >( pWindow ) ); return 0; } case WM_CLOSE: { - Window* pWindow = reinterpret_cast< Window* >( GetWindowLongPtr( hWnd, GWLP_USERDATA ) ); + Window* pWindow = reinterpret_cast< Window* >( GetWindowLongPtr( static_cast(hWnd), GWLP_USERDATA ) ); HELIUM_ASSERT( pWindow ); pWindow->Destroy(); @@ -231,9 +232,9 @@ LRESULT CALLBACK WindowManager::WindowProc( HWND hWnd, UINT msg, WPARAM wParam, case WM_DESTROY: { // Window is being destroyed, so clear reference to Window object and destroy it. - Window* pWindow = reinterpret_cast< Window* >( GetWindowLongPtr( hWnd, GWLP_USERDATA ) ); + Window* pWindow = reinterpret_cast< Window* >( GetWindowLongPtr( static_cast(hWnd), GWLP_USERDATA ) ); HELIUM_ASSERT( pWindow ); - SetWindowLongPtr( hWnd, GWLP_USERDATA, 0 ); + SetWindowLongPtr( static_cast(hWnd), GWLP_USERDATA, 0 ); const Delegate& rOnDestroyed = pWindow->GetOnDestroyed(); if( rOnDestroyed.Valid() ) @@ -247,5 +248,5 @@ LRESULT CALLBACK WindowManager::WindowProc( HWND hWnd, UINT msg, WPARAM wParam, } } - return DefWindowProc( hWnd, msg, wParam, lParam ); + return DefWindowProc( static_cast(hWnd), msg, wParam, lParam ); } diff --git a/Source/Engine/Windowing/WindowWin.cpp b/Source/Engine/Windowing/WindowWin.cpp index 4ef0c3fa3..c2ed10ec7 100644 --- a/Source/Engine/Windowing/WindowWin.cpp +++ b/Source/Engine/Windowing/WindowWin.cpp @@ -1,6 +1,8 @@ #include "Precompile.h" #include "Windowing/Window.h" +#include "Platform/SystemWin.h" + using namespace Helium; /// @fn void Window::Destroy() @@ -17,5 +19,5 @@ using namespace Helium; void Window::Destroy() { HELIUM_ASSERT( m_pHandle ); - HELIUM_VERIFY( DestroyWindow( m_pHandle ) ); + HELIUM_VERIFY( DestroyWindow( static_cast( m_pHandle ) ) ); } diff --git a/Source/Tools/Editor/Precompile.h b/Source/Tools/Editor/Precompile.h index 64cb6cfe1..03c1b1539 100644 --- a/Source/Tools/Editor/Precompile.h +++ b/Source/Tools/Editor/Precompile.h @@ -1,6 +1,10 @@ #pragma once #include "Platform/System.h" +#ifdef HELIUM_OS_WIN +# include "Platform/SystemWin.h" +# undef GetUserName +#endif // // Std Library diff --git a/Source/Tools/EditorScene/DeviceManager.cpp b/Source/Tools/EditorScene/DeviceManager.cpp index b90e08520..57a1b2397 100644 --- a/Source/Tools/EditorScene/DeviceManager.cpp +++ b/Source/Tools/EditorScene/DeviceManager.cpp @@ -16,11 +16,7 @@ bool DeviceManager::m_Unique = false; uint32_t DeviceManager::m_InitCount = 0; DeviceManager* DeviceManager::m_Clients[MAX_DEVICE_COUNT] = {0}; RRenderContextPtr DeviceManager::sm_spMainRenderContext; -#if HELIUM_OS_WIN -HWND DeviceManager::sm_hMainRenderContextWnd; -#else void* DeviceManager::sm_hMainRenderContextWnd; -#endif uint32_t DeviceManager::sm_mainRenderContextWidth; uint32_t DeviceManager::sm_mainRenderContextHeight; @@ -82,11 +78,7 @@ void DeviceManager::SetUnique() } /////////////////////////////////////////////////////////////////////////////////////////////////// -#if HELIUM_OS_WIN -bool DeviceManager::Init( HWND hwnd, uint32_t back_buffer_width, uint32_t back_buffer_height, uint32_t /*init_flags*/ ) -#else bool DeviceManager::Init( void* hwnd, uint32_t back_buffer_width, uint32_t back_buffer_height, uint32_t /*init_flags*/ ) -#endif { Helium::Renderer* pRenderer = NULL; if ( !sm_spMainRenderContext ) diff --git a/Source/Tools/EditorScene/DeviceManager.h b/Source/Tools/EditorScene/DeviceManager.h index 8cdf30a52..7d0183235 100644 --- a/Source/Tools/EditorScene/DeviceManager.h +++ b/Source/Tools/EditorScene/DeviceManager.h @@ -39,11 +39,7 @@ namespace Helium virtual ~DeviceManager(); static void SetUnique(); // call before init -#if HELIUM_OS_WIN - bool Init( HWND hwnd, uint32_t back_buffer_width, uint32_t back_buffer_height, uint32_t init_flags = 0 ); -#else bool Init( void* hwnd, uint32_t back_buffer_width, uint32_t back_buffer_height, uint32_t init_flags = 0 ); -#endif private: bool ResizeSwapChain( uint32_t width, uint32_t height ); @@ -66,11 +62,7 @@ namespace Helium private: /// Window to which rendering is performed. -#if HELIUM_OS_WIN - HWND m_hWnd; -#else void* m_hWnd; -#endif /// Render context. Helium::RRenderContextPtr m_spRenderContext; @@ -81,11 +73,7 @@ namespace Helium /// Main render context. static Helium::RRenderContextPtr sm_spMainRenderContext; /// Main render context window handle. -#if HELIUM_OS_WIN - static HWND sm_hMainRenderContextWnd; -#else static void* sm_hMainRenderContextWnd; -#endif /// Main render context width. static uint32_t sm_mainRenderContextWidth; /// Main render context heigth. diff --git a/Source/Tools/EditorScene/Viewport.cpp b/Source/Tools/EditorScene/Viewport.cpp index 5a1869211..fae019f1e 100644 --- a/Source/Tools/EditorScene/Viewport.cpp +++ b/Source/Tools/EditorScene/Viewport.cpp @@ -35,11 +35,7 @@ const Helium::Color Viewport::s_YellowMaterial = Editor::Colors::YELLOW; const Helium::Color Viewport::s_GreenMaterial = Editor::Colors::GREEN; const Helium::Color Viewport::s_BlueMaterial = Editor::Colors::BLUE; -#if HELIUM_OS_WIN -Viewport::Viewport( HWND wnd, SettingsManager* settingsManager) -#else Viewport::Viewport( void* wnd, SettingsManager* settingsManager) -#endif : m_Window( wnd ) , m_SettingsManager( settingsManager ) , m_SceneViewId( Invalid< uint32_t >() ) diff --git a/Source/Tools/EditorScene/Viewport.h b/Source/Tools/EditorScene/Viewport.h index 852be7c1a..145c3ab87 100644 --- a/Source/Tools/EditorScene/Viewport.h +++ b/Source/Tools/EditorScene/Viewport.h @@ -218,11 +218,7 @@ namespace Helium static const Helium::Color s_GreenMaterial; static const Helium::Color s_BlueMaterial; -#if HELIUM_OS_WIN - Viewport( HWND wnd, SettingsManager* settingsManager ); -#else Viewport( void* wnd, SettingsManager* settingsManager ); -#endif ~Viewport(); void BindToWorld( World* newWorld ); @@ -450,11 +446,7 @@ namespace Helium GraphicsScene *GetGraphicsScene(); private: -#if HELIUM_OS_WIN - HWND m_Window; -#else void* m_Window; -#endif Point m_Size; bool m_Focused; From ee6ec06166f5bebc87d9e87aef21e3ed12fe31d9 Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Thu, 16 Aug 2018 18:03:36 -0700 Subject: [PATCH 22/23] bump Core for posix fix --- Core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core b/Core index 2846f2aa1..ef5be61ad 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 2846f2aa1f87171dfbff602a26cfe316e02d4ea5 +Subproject commit ef5be61ad6d8f3c9a7060465850c6a54c1c8f268 From 9372ed85711f95cd9530d74116d4fd64f218409e Mon Sep 17 00:00:00 2001 From: Geoff Evans Date: Mon, 20 Aug 2018 11:18:11 -0400 Subject: [PATCH 23/23] Update Core,mongo-c submodules --- Core | 2 +- Dependencies/mongo-c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Core b/Core index ef5be61ad..b36436729 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit ef5be61ad6d8f3c9a7060465850c6a54c1c8f268 +Subproject commit b364367293c84b5cf33ba7947773434d035daca8 diff --git a/Dependencies/mongo-c b/Dependencies/mongo-c index 14dc25959..03c40057d 160000 --- a/Dependencies/mongo-c +++ b/Dependencies/mongo-c @@ -1 +1 @@ -Subproject commit 14dc259592c1a00d348c15f577ccbaa7a7d1aa40 +Subproject commit 03c40057d03f970786316a4eeb9aec9171a9be0e