Преглед изворни кода

Bugfix: Removing bison executable from Linux build, as it was breaking it
- Bison appears to be unable to handle redistribution due to hardcoded absolute install paths from the host machine. Instead both bison and flex are now expected to be installed through distributon specific packages, as specified in the updated documentation.

Marko Pintera пре 8 година
родитељ
комит
287a89d860

+ 3 - 1
.gitignore

@@ -13,9 +13,11 @@ Data/Settings.asset
 Data/.version
 Data/.version
 Data/Engine/*
 Data/Engine/*
 !Data/Engine/.gitkeep
 !Data/Engine/.gitkeep
+!Data/Engine/ShaderDependencies.json
 !Data/Engine/Includes
 !Data/Engine/Includes
 !Data/Engine/Shaders
 !Data/Engine/Shaders
 Data/Editor/*
 Data/Editor/*
+!Data/Editor/ShaderDependencies.json
 !Data/Editor/EmptyCSScriptText.txt
 !Data/Editor/EmptyCSScriptText.txt
 !Data/Editor/EmptyShaderText.txt
 !Data/Editor/EmptyShaderText.txt
 !Data/Editor/Layout.asset
 !Data/Editor/Layout.asset
@@ -31,4 +33,4 @@ BsEngineConfig.h
 BsFrameworkConfig.h
 BsFrameworkConfig.h
 Source/Experimental
 Source/Experimental
 Source/MBansheeEngine/Generated
 Source/MBansheeEngine/Generated
-Source/MBansheeEditor/Generated
+Source/MBansheeEditor/Generated

+ 65 - 0
Data/Editor/ShaderDependencies.json

@@ -0,0 +1,65 @@
+{
+    "ClearHandleAlpha.bsl": null,
+    "DockDropOverlay.bsl": null,
+    "GizmoPicking.bsl": null,
+    "GizmoPickingAlpha.bsl": null,
+    "IconGizmo.bsl": null,
+    "LineGizmo.bsl": [
+        {
+            "Path": "LineGizmo.bslinc"
+        }
+    ],
+    "LineHandle.bsl": [
+        {
+            "Path": "LineGizmo.bslinc"
+        }
+    ],
+    "PickingAlphaCullCCW.bsl": [
+        {
+            "Path": "PickingAlphaCull.bslinc"
+        }
+    ],
+    "PickingAlphaCullCW.bsl": [
+        {
+            "Path": "PickingAlphaCull.bslinc"
+        }
+    ],
+    "PickingAlphaCullNone.bsl": [
+        {
+            "Path": "PickingAlphaCull.bslinc"
+        }
+    ],
+    "PickingCullCCW.bsl": [
+        {
+            "Path": "PickingCull.bslinc"
+        }
+    ],
+    "PickingCullCW.bsl": [
+        {
+            "Path": "PickingCull.bslinc"
+        }
+    ],
+    "PickingCullNone.bsl": [
+        {
+            "Path": "PickingCull.bslinc"
+        }
+    ],
+    "SceneGrid.bsl": null,
+    "Selection.bsl": [
+        {
+            "Path": "SelectionBase.bslinc"
+        }
+    ],
+    "SolidGizmo.bsl": [
+        {
+            "Path": "SolidGizmo.bslinc"
+        }
+    ],
+    "SolidHandle.bsl": [
+        {
+            "Path": "SolidGizmo.bslinc"
+        }
+    ],
+    "TextGizmo.bsl": null,
+    "WireGizmo.bsl": null
+}

+ 541 - 0
Data/Engine/ShaderDependencies.json

@@ -0,0 +1,541 @@
+{
+    "Blit.bsl": null,
+    "Clear.bsl": null,
+    "DebugDraw.bsl": null,
+    "Default.bsl": [
+        {
+            "Path": "Surface.bslinc"
+        },
+        {
+            "Path": "BasePass.bslinc"
+        },
+        {
+            "Path": "NormalVertexInput.bslinc"
+        },
+        {
+            "Path": "SkinnedVertexInput.bslinc"
+        },
+        {
+            "Path": "PerObjectData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferOutput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        }
+    ],
+    "DeferredDirectionalLight.bsl": [
+        {
+            "Path": "DeferredLightCommon.bslinc"
+        },
+        {
+            "Path": "LightingCommon.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        }
+    ],
+    "DeferredPointLight.bsl": [
+        {
+            "Path": "DeferredLightCommon.bslinc"
+        },
+        {
+            "Path": "LightingCommon.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        }
+    ],
+    "Diffuse.bsl": [
+        {
+            "Path": "Surface.bslinc"
+        },
+        {
+            "Path": "BasePass.bslinc"
+        },
+        {
+            "Path": "NormalVertexInput.bslinc"
+        },
+        {
+            "Path": "SkinnedVertexInput.bslinc"
+        },
+        {
+            "Path": "PerObjectData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferOutput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        }
+    ],
+    "FlatFramebufferToTexture.bsl": null,
+    "IrradianceComputeSH.bsl": [
+        {
+            "Path": "SHCommon.bslinc"
+        },
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        }
+    ],
+    "IrradianceEvaluate.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "SHCommon.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "IrradianceProjectSH.bsl": [
+        {
+            "Path": "SHCommon.bslinc"
+        },
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "IrradianceReduceSH.bsl": [
+        {
+            "Path": "SHCommon.bslinc"
+        },
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        }
+    ],
+    "LightGridLLCreation.bsl": [
+        {
+            "Path": "LightGridCommon.bslinc"
+        },
+        {
+            "Path": "ImageBasedLighting.bslinc"
+        },
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        },
+        {
+            "Path": "LightingCommon.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        }
+    ],
+    "LightGridLLReduction.bsl": [
+        {
+            "Path": "LightGridCommon.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        }
+    ],
+    "MSAACoverage.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "MSAACoverageStencil.bsl": [
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPBuildHiZ.bsl": [
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPCreateTonemapLUT.bsl": [
+        {
+            "Path": "PPWhiteBalance.bslinc"
+        },
+        {
+            "Path": "PPTonemapCommon.bslinc"
+        }
+    ],
+    "PPDownsample.bsl": [
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPEncodeDepth.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPEyeAdaptHistogram.bsl": null,
+    "PPEyeAdaptHistogramReduce.bsl": [
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPEyeAdaptation.bsl": [
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPFXAA.bsl": [
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPGaussianBlur.bsl": [
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPGaussianDOFCombine.bsl": [
+        {
+            "Path": "PPGaussianDOFCommon.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPGaussianDOFSeparate.bsl": [
+        {
+            "Path": "PPGaussianDOFCommon.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPSSAO.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPSSAOBlur.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPSSAODownsample.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPSSRResolve.bsl": [
+        {
+            "Path": "TemporalResolve.bslinc"
+        },
+        {
+            "Path": "ColorSpace.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPSSRStencil.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPSSRTrace.bsl": [
+        {
+            "Path": "RayMarch.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "ColorSpace.bslinc"
+        },
+        {
+            "Path": "ImportanceSampling.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "PPTonemapping.bsl": [
+        {
+            "Path": "PPTonemapCommon.bslinc"
+        }
+    ],
+    "ReflectionCubeDownsample.bsl": [
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "ReflectionCubeImportanceSample.bsl": [
+        {
+            "Path": "ImportanceSampling.bslinc"
+        },
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        },
+        {
+            "Path": "PPBase.bslinc"
+        }
+    ],
+    "ShadowDepthCube.bsl": [
+        {
+            "Path": "ShadowDepthBase.bslinc"
+        },
+        {
+            "Path": "NormalVertexInput.bslinc"
+        },
+        {
+            "Path": "SkinnedVertexInput.bslinc"
+        },
+        {
+            "Path": "PerObjectData.bslinc"
+        }
+    ],
+    "ShadowDepthDirectional.bsl": [
+        {
+            "Path": "ShadowDepthBase.bslinc"
+        },
+        {
+            "Path": "NormalVertexInput.bslinc"
+        },
+        {
+            "Path": "SkinnedVertexInput.bslinc"
+        },
+        {
+            "Path": "PerObjectData.bslinc"
+        }
+    ],
+    "ShadowDepthNormal.bsl": [
+        {
+            "Path": "ShadowDepthBase.bslinc"
+        },
+        {
+            "Path": "NormalVertexInput.bslinc"
+        },
+        {
+            "Path": "SkinnedVertexInput.bslinc"
+        },
+        {
+            "Path": "PerObjectData.bslinc"
+        }
+    ],
+    "ShadowProject.bsl": [
+        {
+            "Path": "ShadowProjectionCommon.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        }
+    ],
+    "ShadowProjectOmni.bsl": [
+        {
+            "Path": "ShadowProjectionCommon.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        }
+    ],
+    "ShadowProjectStencil.bsl": [
+        {
+            "Path": "ShadowProjectionCommon.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        }
+    ],
+    "Skybox.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        }
+    ],
+    "SpriteImageAlpha.bsl": [
+        {
+            "Path": "SpriteImage.bslinc"
+        }
+    ],
+    "SpriteImageNoAlpha.bsl": [
+        {
+            "Path": "SpriteImage.bslinc"
+        }
+    ],
+    "SpriteLine.bsl": null,
+    "SpriteText.bsl": null,
+    "TetrahedraRender.bsl": [
+        {
+            "Path": "PerCameraData.bslinc"
+        }
+    ],
+    "TiledDeferredImageBasedLighting.bsl": [
+        {
+            "Path": "ImageBasedLighting.bslinc"
+        },
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        },
+        {
+            "Path": "LightingCommon.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        }
+    ],
+    "TiledDeferredLighting.bsl": [
+        {
+            "Path": "ImageBasedLighting.bslinc"
+        },
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        },
+        {
+            "Path": "LightingCommon.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferInput.bslinc"
+        }
+    ],
+    "Transparent.bsl": [
+        {
+            "Path": "Surface.bslinc"
+        },
+        {
+            "Path": "ImageBasedLighting.bslinc"
+        },
+        {
+            "Path": "ReflectionCubemapCommon.bslinc"
+        },
+        {
+            "Path": "LightingCommon.bslinc"
+        },
+        {
+            "Path": "SurfaceData.bslinc"
+        },
+        {
+            "Path": "LightGridCommon.bslinc"
+        },
+        {
+            "Path": "BasePass.bslinc"
+        },
+        {
+            "Path": "NormalVertexInput.bslinc"
+        },
+        {
+            "Path": "SkinnedVertexInput.bslinc"
+        },
+        {
+            "Path": "PerObjectData.bslinc"
+        },
+        {
+            "Path": "PerCameraData.bslinc"
+        },
+        {
+            "Path": "GBufferOutput.bslinc"
+        }
+    ]
+}

+ 2 - 0
Documentation/GitHub/compiling.md

@@ -84,6 +84,8 @@ The following dependencies will need to be installed manually. Which ones are re
   - **Mono** (Editor only)
   - **Mono** (Editor only)
     - Required for compilation of C# code. Optional if not building the editor.
     - Required for compilation of C# code. Optional if not building the editor.
     - Debian/Ubuntu: *apt-get install mono-complete*
     - Debian/Ubuntu: *apt-get install mono-complete*
+  - **Bison & Flex**
+    - Debian/Ubuntu: *apt-get install bison flex*
   - (Or equivalent packages for your distribution)
   - (Or equivalent packages for your distribution)
 
 
 **All OS**
 **All OS**

+ 10 - 6
Documentation/GitHub/dependencies.md

@@ -125,18 +125,22 @@ Additionally, if the dependency structure still isn't clear, download one of the
 - Bison 3.0.4
 - Bison 3.0.4
 - **Windows**
 - **Windows**
   - http://sourceforge.net/projects/winflexbison/files/
   - http://sourceforge.net/projects/winflexbison/files/
-- **Linux/Mac**
-  - http://ftp.gnu.org/gnu/bison/
+- **Linux**
+  - Debian/Ubuntu: *apt-get install bison*
+  - Or equivalent package for your distribution
 - Required by BansheeSL
 - Required by BansheeSL
-   
+- Executable (tool)
+ 
 **flex**
 **flex**
 - Flex 2.6.1
 - Flex 2.6.1
 - **Windows**
 - **Windows**
   - http://sourceforge.net/projects/winflexbison/files/
   - http://sourceforge.net/projects/winflexbison/files/
-- **Linux/Mac**
-  - https://github.com/westes/flex/releases
+- **Linux**
+  - Debian/Ubuntu: *apt-get install flex*
+  - Or equivalent package for your distribution
 - Required by BansheeSL
 - Required by BansheeSL
-	
+- Executable (tool)
+
 **BansheeSBGen**
 **BansheeSBGen**
  - Banshee Script Binding Generator 1.0
  - Banshee Script Binding Generator 1.0
  - https://github.com/BearishSun/BansheeSBGen
  - https://github.com/BearishSun/BansheeSBGen

+ 2 - 2
Documentation/GitHub/features.md

@@ -68,7 +68,7 @@ All features listed here are the ones currently available (implemented). If you
     * PNG, PSD, BMP, JPG, etc. images
     * PNG, PSD, BMP, JPG, etc. images
     * OTF, TTF fonts
     * OTF, TTF fonts
 	* OGG, FLAC, WAV, MP3 sounds
 	* OGG, FLAC, WAV, MP3 sounds
-    * HLSL9, HLSL11, GLSL shaders
+    * HLSL, GLSL shaders
 * __GUI system__
 * __GUI system__
   * Unicode text rendering and input
   * Unicode text rendering and input
   * Easy to use layout based system
   * Easy to use layout based system
@@ -114,7 +114,7 @@ All features listed here are the ones currently available (implemented). If you
   * Separate high level engine API
   * Separate high level engine API
   * Integrated runtime for maximum performance
   * Integrated runtime for maximum performance
   * Full access to .NET framework
   * Full access to .NET framework
-  * Integration with Visual Studio
+  * Integration with Visual Studio, MonoDevelop
   * Automatic serialization
   * Automatic serialization
 	* Works with custom components, resources or arbitrary types
 	* Works with custom components, resources or arbitrary types
 	* Save/load data with no additional code
 	* Save/load data with no additional code

+ 1 - 1
Source/CMakeLists.txt

@@ -5,7 +5,7 @@ project (Banshee)
 set (BS_VERSION_MAJOR 0)
 set (BS_VERSION_MAJOR 0)
 set (BS_VERSION_MINOR 4)
 set (BS_VERSION_MINOR 4)
 
 
-set (BS_PREBUILT_DEPENDENCIES_VERSION 14)
+set (BS_PREBUILT_DEPENDENCIES_VERSION 15)
 set (BS_SRC_DEPENDENCIES_VERSION 15)
 set (BS_SRC_DEPENDENCIES_VERSION 15)
 set (BS_BUILTIN_ASSETS_VERSION 3)
 set (BS_BUILTIN_ASSETS_VERSION 3)