Просмотр исходного кода

Started work on BansheeSL
Added Bison and Flex licenses

Marko Pintera 10 лет назад
Родитель
Сommit
08462c5604

+ 30 - 0
BansheeEngine.sln

@@ -155,6 +155,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BansheeD3D11RenderSystem",
 EndProject
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Guides", "Guides", "{4259680D-8A9B-4C17-B75B-CA29482AB299}"
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Guides", "Guides", "{4259680D-8A9B-4C17-B75B-CA29482AB299}"
 	ProjectSection(SolutionItems) = preProject
 	ProjectSection(SolutionItems) = preProject
+		BisonCompilationGuide.txt = BisonCompilationGuide.txt
 		Dependencies.txt = Dependencies.txt
 		Dependencies.txt = Dependencies.txt
 		Mono-3.2.3-IntegrationGuide.txt = Mono-3.2.3-IntegrationGuide.txt
 		Mono-3.2.3-IntegrationGuide.txt = Mono-3.2.3-IntegrationGuide.txt
 		Mono-3.4.0-IntegrationGuide.txt = Mono-3.4.0-IntegrationGuide.txt
 		Mono-3.4.0-IntegrationGuide.txt = Mono-3.4.0-IntegrationGuide.txt
@@ -162,6 +163,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Guides", "Guides", "{425968
 		NVTTCompilationGuide.txt = NVTTCompilationGuide.txt
 		NVTTCompilationGuide.txt = NVTTCompilationGuide.txt
 	EndProjectSection
 	EndProjectSection
 EndProject
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BansheeSL", "BansheeSL\BansheeSL.vcxproj", "{2BA791F1-87F6-4863-A784-D07FF605AC5E}"
+	ProjectSection(ProjectDependencies) = postProject
+		{9B21D41C-516B-43BF-9B10-E99B599C7589} = {9B21D41C-516B-43BF-9B10-E99B599C7589}
+		{CC7F9445-71C9-4559-9976-FF0A64DCB582} = {CC7F9445-71C9-4559-9976-FF0A64DCB582}
+		{07B0C186-5173-46F2-BE26-7E4148BD0CCA} = {07B0C186-5173-46F2-BE26-7E4148BD0CCA}
+	EndProjectSection
+EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
 		Debug|Any CPU = Debug|Any CPU
@@ -583,6 +591,27 @@ Global
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|Win32.Build.0 = Release|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|Win32.Build.0 = Release|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|x64.ActiveCfg = Release|x64
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|x64.ActiveCfg = Release|x64
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|x64.Build.0 = Release|x64
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|x64.Build.0 = Release|x64
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Debug|Any CPU.ActiveCfg = Debug|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Debug|Win32.ActiveCfg = Debug|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Debug|Win32.Build.0 = Debug|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Debug|x64.ActiveCfg = Debug|x64
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Debug|x64.Build.0 = Debug|x64
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.DebugRelease|Any CPU.ActiveCfg = Release|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.DebugRelease|Mixed Platforms.ActiveCfg = Release|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.DebugRelease|Mixed Platforms.Build.0 = Release|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Release|Any CPU.ActiveCfg = Release|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Release|Mixed Platforms.Build.0 = Release|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Release|Win32.ActiveCfg = Release|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Release|Win32.Build.0 = Release|Win32
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Release|x64.ActiveCfg = Release|x64
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE
@@ -604,6 +633,7 @@ Global
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A} = {32E4E2B7-1B4D-4B06-AD87-57CEE00BC247}
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A} = {32E4E2B7-1B4D-4B06-AD87-57CEE00BC247}
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B} = {32E4E2B7-1B4D-4B06-AD87-57CEE00BC247}
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B} = {32E4E2B7-1B4D-4B06-AD87-57CEE00BC247}
 		{4259680D-8A9B-4C17-B75B-CA29482AB299} = {1D081E5A-615A-4C06-B2DF-0D8D9390DE02}
 		{4259680D-8A9B-4C17-B75B-CA29482AB299} = {1D081E5A-615A-4C06-B2DF-0D8D9390DE02}
+		{2BA791F1-87F6-4863-A784-D07FF605AC5E} = {32E4E2B7-1B4D-4B06-AD87-57CEE00BC247}
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SubversionScc) = preSolution
 	GlobalSection(SubversionScc) = preSolution
 		Svn-Managed = True
 		Svn-Managed = True

+ 234 - 0
BansheeSL/BansheeSL.vcxproj

@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="DebugRelease|Win32">
+      <Configuration>DebugRelease</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="DebugRelease|x64">
+      <Configuration>DebugRelease</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2BA791F1-87F6-4863-A784-D07FF605AC5E}</ProjectGuid>
+    <RootNamespace>BansheeSL</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v120</PlatformToolset>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v120</PlatformToolset>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v120</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v120</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v120</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v120</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>..\bin\x86\$(Configuration)\</OutDir>
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir>..\bin\$(Platform)\$(Configuration)\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>..\bin\x86\$(Configuration)\</OutDir>
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir>..\bin\$(Platform)\$(Configuration)\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">
+    <OutDir>..\bin\x86\$(Configuration)\</OutDir>
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir>..\bin\$(Platform)\$(Configuration)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <SDLCheck>false</SDLCheck>
+      <AdditionalIncludeDirectories>../BansheeCore/Include;../BansheeUtility/Include;../BansheeEngine/Include;./Include;../Dependencies/Include</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SL_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalLibraryDirectories>../lib/x86/$(Configuration);../Dependencies/lib/x86/Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>BansheeCore.lib;BansheeUtility.lib;BansheeEngine.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ImportLibrary>..\lib\x86\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <SDLCheck>false</SDLCheck>
+      <AdditionalIncludeDirectories>../BansheeCore/Include;../BansheeUtility/Include;../BansheeEngine/Include;./Include;../Dependencies/Include</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SL_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalLibraryDirectories>../lib/$(Platform)/$(Configuration);../Dependencies/lib/x64/Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>BansheeCore.lib;BansheeUtility.lib;BansheeEngine.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ImportLibrary>..\lib\$(Platform)\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>false</SDLCheck>
+      <AdditionalIncludeDirectories>../BansheeCore/Include;../BansheeUtility/Include;../BansheeEngine/Include;./Include;../Dependencies/Include</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SL_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DebugInformationFormat>None</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>../lib/x86/$(Configuration);../Dependencies/lib/x86/Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>BansheeCore.lib;BansheeUtility.lib;BansheeEngine.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ImportLibrary>..\lib\x86\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>false</SDLCheck>
+      <AdditionalIncludeDirectories>../BansheeCore/Include;../BansheeUtility/Include;../BansheeEngine/Include;./Include;../Dependencies/Include</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SL_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <DebugInformationFormat>None</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>../lib/$(Platform)/$(Configuration);../Dependencies/lib/x64/Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>BansheeCore.lib;BansheeUtility.lib;BansheeEngine.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ImportLibrary>..\lib\$(Platform)\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>false</SDLCheck>
+      <AdditionalIncludeDirectories>../BansheeCore/Include;../BansheeUtility/Include;../BansheeEngine/Include;./Include;../Dependencies/Include</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SL_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>../lib/x86/$(Configuration);../Dependencies/lib/x86/Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>BansheeCore.lib;BansheeUtility.lib;BansheeEngine.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ImportLibrary>..\lib\x86\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>false</SDLCheck>
+      <AdditionalIncludeDirectories>../BansheeCore/Include;../BansheeUtility/Include;../BansheeEngine/Include;./Include;../Dependencies/Include</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SL_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>../lib/$(Platform)/$(Configuration);../Dependencies/lib/x64/Debug</AdditionalLibraryDirectories>
+      <AdditionalDependencies>BansheeCore.lib;BansheeUtility.lib;BansheeEngine.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ImportLibrary>..\lib\$(Platform)\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="Include\BsSLPrerequisites.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 22 - 0
BansheeSL/BansheeSL.vcxproj.filters

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="Include\BsSLPrerequisites.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>

+ 19 - 0
BansheeSL/Include/BsSLPrerequisites.h

@@ -0,0 +1,19 @@
+#pragma once
+
+#include "BsPrerequisites.h"
+
+#if (BS_PLATFORM == BS_PLATFORM_WIN32) && !defined(__MINGW32__)
+#	ifdef BS_SL_EXPORTS
+#		define BS_SL_EXPORT __declspec(dllexport)
+#	else
+#       if defined( __MINGW32__ )
+#           define BS_SL_EXPORT
+#       else
+#    		define BS_SL_EXPORT __declspec(dllimport)
+#       endif
+#	endif
+#elif defined ( BS_GCC_VISIBILITY )
+#    define BS_SL_EXPORT  __attribute__ ((visibility("default")))
+#else
+#    define BS_SL_EXPORTS
+#endif

+ 17 - 0
BisonCompilationGuide.txt

@@ -0,0 +1,17 @@
+Set up MinGW environment so you can compile Bison:
+ - Download MinGW from: http://www.mingw.org/ and install
+  - Make sure your installation has these packages:
+     - mingw-developer-toolkit
+     - mingw32-base
+     - msys-base
+  - Launch MSYS from MinGW/msys/1.0/msys.bat
+  - Mount MinGW in MSYS: mount c:/mingw /mingw
+
+Download Bison source from: https://www.gnu.org/software/bison/ and extract it somewhere on your system.
+Configure and compile:
+ - Launch MSYS from MinGW/msys/1.0/msys.bat
+ - input "path/to/bison/folder/configure --prefix=/mingw" (no quotes) and wait
+  - replace "path/to/bison/folder" with actual path. Do not call "./configure" while you are in Bison folder. You must be outside of it, 
+    and then input the path to configure as shown above, otherwise you will run into issues with linking.
+ - input "make" (no quotes) and wait
+If successful your "bison.exe" executable will be in /src subfolder of the folder you called configure and make in.

+ 11 - 0
Dependencies.txt

@@ -44,9 +44,19 @@ BansheeD3D11RenderSystem & BansheeD3D9RenderSystem (both optional) rely on:
   - http://www.microsoft.com/en-us/download/details.aspx?id=6812
   - http://www.microsoft.com/en-us/download/details.aspx?id=6812
   - After installing the SDK make sure DXSDK_DIR environment variable is set up pointing to the installation path
   - After installing the SDK make sure DXSDK_DIR environment variable is set up pointing to the installation path
 
 
+BansheeFX (optional) relies on:
+ - Bison 3.0.4.
+  - Install as a tool, (ToolFolder) is "Bison".
+  - See BisonCompilationGuide.txt for compilation instructions
+  - https://www.gnu.org/software/bison/
+ - Flex 2.5.39
+  - Install as a tool, (ToolFolder) is "Flex".
+  - http://gnuwin32.sourceforge.net/packages/flex.htm
+
 Place plug-in specific dependency files in:
 Place plug-in specific dependency files in:
  - Library include files in (BansheeRootDir)/(PluginDir)/Dependencies/Include
  - Library include files in (BansheeRootDir)/(PluginDir)/Dependencies/Include
  - Static library files in (BansheeRootDir)/(PluginDir)/Dependencies/lib/(Platform)/(Configuration)
  - Static library files in (BansheeRootDir)/(PluginDir)/Dependencies/lib/(Platform)/(Configuration)
+ - Tools in (BansheeRootDir)/(PluginDir)/Dependencies/tools/(ToolFolder)
  - Dynamic library files in (BansheeRootDir)/bin/(Platform)/(Configuration)
  - Dynamic library files in (BansheeRootDir)/bin/(Platform)/(Configuration)
 
 
 ----------------------------------------------------------------------------------
 ----------------------------------------------------------------------------------
@@ -55,6 +65,7 @@ Place plug-in specific dependency files in:
   (BansheeRootDir) - Path to BansheeEngine folder
   (BansheeRootDir) - Path to BansheeEngine folder
   (Platform) - Platform you're compiling for, e.g. x86, x64, etc.
   (Platform) - Platform you're compiling for, e.g. x86, x64, etc.
   (Configuration) - Debug, Release, DebugRelease
   (Configuration) - Debug, Release, DebugRelease
+  (ToolFolder) - Folder with the name of the tool. Each tool is expected to be in its own folder.
 
 
 Other notes:
 Other notes:
  - Some dependencies might not come with DebugRelease binaries, in which case use Release binaries (copy them to DebugRelease folder)
  - Some dependencies might not come with DebugRelease binaries, in which case use Release binaries (copy them to DebugRelease folder)

+ 1 - 0
License/Third Party/Bison.txt

@@ -0,0 +1 @@
+For convenience reasons Banshee is distributed with a unmodified binary executable of Bison. Bison is not integrated into Banshee in any way and is used as a tool during the build process. Bison is licensed under GPL which you must respect if you integrate it into your application or modify its source. You may download the Bison source and view the license terms on "https://www.gnu.org/software/bison". 

+ 48 - 0
License/Third Party/Flex.txt

@@ -0,0 +1,48 @@
+This product includes software developed by the
+	University of California, Berkeley and its contributors
+
+For convenience reasons Banshee is distributed with a unmodified binary executable of GnuWin32 Flex. 
+Flex is not integrated into Banshee in any way and is used as a tool during the build process. 
+Flex is licensed under a slightly modified BSD license. You may download the Flex source from 
+"http://gnuwin32.sourceforge.net/packages/flex.htm".
+
+The original license follows below:
+
+Flex carries the copyright used for BSD software, slightly modified
+because it originated at the Lawrence Berkeley (not Livermore!) Laboratory,
+which operates under a contract with the Department of Energy:
+
+	Copyright (c) 1990 The Regents of the University of California.
+	All rights reserved.
+
+	This code is derived from software contributed to Berkeley by
+	Vern Paxson.
+
+	The United States Government has rights in this work pursuant
+	to contract no. DE-AC03-76SF00098 between the United States
+	Department of Energy and the University of California.
+
+	Redistribution and use in source and binary forms with or without
+	modification are permitted provided that: (1) source distributions
+	retain this entire copyright notice and comment, and (2)
+	distributions including binaries display the following
+	acknowledgement: ``This product includes software developed by the
+	University of California, Berkeley and its contributors'' in the
+	documentation or other materials provided with the distribution and
+	in all advertising materials mentioning features or use of this
+	software.  Neither the name of the University nor the names of its
+	contributors may be used to endorse or promote products derived
+	from this software without specific prior written permission.
+
+	THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+	IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+	PURPOSE.
+
+This basically says "do whatever you please with this software except
+remove this notice or take advantage of the University's (or the flex
+authors') name".
+
+Note that the "flex.skl" scanner skeleton carries no copyright notice.
+You are free to do whatever you please with scanners generated using flex;
+for them, you are not even bound by the above copyright.

+ 5 - 36
TODO.txt

@@ -6,6 +6,11 @@ Assembly refresh
 When serializing Camera I cannot save the reference to RenderTexture. Make it a Resource?
 When serializing Camera I cannot save the reference to RenderTexture. Make it a Resource?
 Possibly set up automatic refresh in debug mode after initialization? As an ad-hoc unit test
 Possibly set up automatic refresh in debug mode after initialization? As an ad-hoc unit test
 
 
+----------------------------------------------------------------------
+BansheeSL
+
+I don't have bison or flex included in dependencies. Make a not of that somewhere and see if its license permits me to include it.
+
 ----------------------------------------------------------------------
 ----------------------------------------------------------------------
 Project library
 Project library
 
 
@@ -77,42 +82,6 @@ Other simple stuff:
  - Getting rid of import on start would be a pretty big deal. Just adding a button in Editor "Reimport" should be good instead
  - Getting rid of import on start would be a pretty big deal. Just adding a button in Editor "Reimport" should be good instead
  - Better handle and gizmo shaders
  - Better handle and gizmo shaders
 
 
-Focus issues:
-ISSUE #1:
-It seems that windows focus change can happen within Input::update. This is due to the fact that the message loop 
-runs on the core thread. When this happens, Input::update() triggers the input event (more specifically pointerPressed event) 
-that EditorWidgetManager is listening for. However the actual focus change wasn't registered with the sim thread yet because 
-RenderWindowManager::update() already happened this frame. This causes EditorWidgetManager to not assign focus to any widget 
-(because it thinks the clicked on render window doesn't have focus).
- - Potential solution for this and issue #2: Separate input polling and callbacks. Have render window update happen after polling
-   but before callbacks. This way the focus status will properly set. Also it probably makes more sense to trigger input callbacks
-   at about the same time when Component::update calls are sent out.
- - Potential solution: Do input polling on the core thread. i.e. call OISInput::update and OSInput::update from the core thread.
-   This might require a slight refactor of OSInput (or Platform) so it caches OS events differently.
- - ADDITIONAL ISSUE: When relying on pointerPressed if the subscriber receives it before EditorWidgetManager it will seem as if
-   window isn't in focus. I need to somehow give priority to EditorWidgetManager.
-      - Solution: If I make sure Input callbacks are triggered after Input polling (i.e. when button states for this frame have already been set)
-	    I can make EditorWidgetManager rely on polling so it retrieves the state before any other system.
- - ADDITIONAL ISSUE: When updating input on the core thread it can happen that the current frame is mid-Platform::update in which
-   case we'll get partial input from that update. How to handle this? If I only allow input from previous Platform::update to trigger
-   will that work? (i.e. not cause input lag). I say we do this anyway.
-
-ISSUE #2 (needs verification):
-When clicking on an unfocused EditorWindow the mouse down event will be registered but the window will still be marked as not
-in focus. It receives focus properly next frame. It's possible mouse up event happens on that same frame, causing additional randomness.
-
-ISSUE #3 (needs verification):
-When clicking on an unfocused EditorWindow it seems that button up event for LMB (possibly other keys) rarely doesn't ever get triggered. This goes
-as deep as Input class, possibly a problem in OIS.
- - Potentially this happens if focus change is issued after button down event, but before button up event (only if button up happens on that frame, otherwise it does get recorded)
-  - If so, then this should be fixed once I move the input polling to core, but I need to pay special attention to this. Optionally I could solve it
-    by making sure I call Input::update() right before the context switch to make sure all current input has been received (there could still be a tiny % chance
-	something gets queued in between, but I don't think there's a way around that, nor that it is important enough)
-
-Minor issues:
- - When opening up Color picker it is screwed up for a frame or two
- - Attemping to select a mesh while another window is focused doesn't work. Only after first click focuses the window will it work after user clicks again. (OpenGL only?)
-
 ----------------------------------------------------------------------
 ----------------------------------------------------------------------
 Handles
 Handles