diff --git a/Barotrauma/BarotraumaClient/BarotraumaClient.csproj b/Barotrauma/BarotraumaClient/BarotraumaClient.csproj
index 850f2192d..26772589a 100644
--- a/Barotrauma/BarotraumaClient/BarotraumaClient.csproj
+++ b/Barotrauma/BarotraumaClient/BarotraumaClient.csproj
@@ -233,8 +233,10 @@
..\..\Libraries\NuGet\MonoGame.Framework.WindowsDX.3.6.0.1625\lib\net40\MonoGame.Framework.dll
+
- ..\..\Libraries\NuGet\SharpDX.4.0.1\lib\net45\SharpDX.dll
+ False
+ ..\..\Libraries\NuGet\MonoGame.Framework.WindowsDX.3.6.0.1625\lib\net40\SharpDX.dll
..\..\Libraries\NuGet\NVorbis.0.8.5.0\lib\NVorbis.dll
@@ -328,4 +330,4 @@
-->
-
+
\ No newline at end of file
diff --git a/Barotrauma/BarotraumaClient/Source/GameMain.cs b/Barotrauma/BarotraumaClient/Source/GameMain.cs
index 829a06b66..45fe0b4f7 100644
--- a/Barotrauma/BarotraumaClient/Source/GameMain.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameMain.cs
@@ -225,7 +225,7 @@ namespace Barotrauma
DebugConsole.Log(SelectedPackage == null ? "No content package selected" : "Content package \"" + SelectedPackage.Name + "\" selected");
yield return CoroutineStatus.Running;
- LightManager = new Lights.LightManager(base.GraphicsDevice);
+ LightManager = new Lights.LightManager(base.GraphicsDevice, Content);
Hull.renderer = new WaterRenderer(base.GraphicsDevice, Content);
TitleScreen.LoadState = 1.0f;
diff --git a/Barotrauma/BarotraumaClient/Source/Map/Levels/WaterRenderer.cs b/Barotrauma/BarotraumaClient/Source/Map/Levels/WaterRenderer.cs
index 723a45e92..a40c59b5c 100644
--- a/Barotrauma/BarotraumaClient/Source/Map/Levels/WaterRenderer.cs
+++ b/Barotrauma/BarotraumaClient/Source/Map/Levels/WaterRenderer.cs
@@ -43,12 +43,7 @@ namespace Barotrauma
waterEffect.Parameters["xWaveWidth"].SetValue(0.05f);
waterEffect.Parameters["xWaveHeight"].SetValue(0.05f);
-#if WINDOWS
- //waterEffect.Parameters["xTexture"].SetValue(waterTexture);
-#endif
-#if LINUX
waterEffect.Parameters["xWaterBumpMap"].SetValue(waterTexture);
-#endif
if (basicEffect == null)
{
@@ -68,13 +63,13 @@ namespace Barotrauma
waterEffect.Parameters["xBlurDistance"].SetValue(blurAmount);
//waterEffect.CurrentTechnique.Passes[0].Apply();
-#if WINDOWS
+//#if WINDOWS
waterEffect.Parameters["xTexture"].SetValue(texture);
- spriteBatch.Draw(waterTexture, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), Color.White);
-#elif LINUX
-
spriteBatch.Draw(texture, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), Color.White);
-#endif
+//#elif LINUX
+
+// spriteBatch.Draw(texture, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), Color.White);
+//#endif
spriteBatch.End();
}
diff --git a/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs b/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs
index 38f9ef2e7..57ecf1211 100644
--- a/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs
+++ b/Barotrauma/BarotraumaClient/Source/Map/Lights/LightManager.cs
@@ -1,5 +1,6 @@
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
+using Microsoft.Xna.Framework.Content;
using System.Collections.Generic;
using System.Linq;
@@ -36,6 +37,11 @@ namespace Barotrauma.Lights
}
BasicEffect lightEffect;
+
+ public Effect losEffect
+ {
+ get; private set;
+ }
private static Texture2D alphaClearTexture;
@@ -55,7 +61,7 @@ namespace Barotrauma.Lights
private float ambientLightUpdateTimer;
- public LightManager(GraphicsDevice graphics)
+ public LightManager(GraphicsDevice graphics, ContentManager content)
{
lights = new List();
@@ -71,12 +77,18 @@ namespace Barotrauma.Lights
pp.BackBufferFormat, pp.DepthStencilFormat, pp.MultiSampleCount,
RenderTargetUsage.DiscardContents);
- losTexture = new RenderTarget2D(graphics, (int)(GameMain.GraphicsWidth*lightmapScale), (int)(GameMain.GraphicsHeight*lightmapScale), false, SurfaceFormat.Alpha8, DepthFormat.None);
+ losTexture = new RenderTarget2D(graphics, (int)(GameMain.GraphicsWidth*lightmapScale), (int)(GameMain.GraphicsHeight*lightmapScale), false, SurfaceFormat.Color, DepthFormat.None);
losSource = new LightSource(Vector2.Zero, GameMain.GraphicsWidth, Color.White, null, false);
losSource.texture = new Texture2D(graphics, 1, 1);
losSource.texture.SetData(new Color[] { Color.White });// fill the texture with white
+#if WINDOWS
+ losEffect = content.Load("losshader");
+#else
+ losEffect = content.Load("losshader_opengl");
+#endif
+
if (lightEffect == null)
{
lightEffect = new BasicEffect(GameMain.Instance.GraphicsDevice);
diff --git a/Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs
index 805a27139..954e9b58a 100644
--- a/Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs
+++ b/Barotrauma/BarotraumaClient/Source/Screens/GameScreen.cs
@@ -237,9 +237,10 @@ namespace Barotrauma
spriteBatch.Draw(renderTargetBackground, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight),
Color.Lerp(GameMain.LightManager.AmbientLight * 0.5f, Color.Red, r));
spriteBatch.End();
- Hull.renderer.waterEffect.CurrentTechnique = Hull.renderer.waterEffect.Techniques["LosShader"];
- Hull.renderer.waterEffect.Parameters["xLosTexture"].SetValue(GameMain.LightManager.losTexture);
- spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.NonPremultiplied, SamplerState.PointClamp, DepthStencilState.None, null, Hull.renderer.waterEffect, null);
+ GameMain.LightManager.losEffect.CurrentTechnique = GameMain.LightManager.losEffect.Techniques["LosShader"];
+ GameMain.LightManager.losEffect.Parameters["xTexture"].SetValue(renderTargetFinal);
+ GameMain.LightManager.losEffect.Parameters["xLosTexture"].SetValue(GameMain.LightManager.losTexture);
+ spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, DepthStencilState.None, null, GameMain.LightManager.losEffect, null);
}
spriteBatch.Draw(renderTargetFinal, new Rectangle(0, 0, GameMain.GraphicsWidth, GameMain.GraphicsHeight), Color.White);
spriteBatch.End();
diff --git a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems
index b4eb7d23f..6a759c373 100644
--- a/Barotrauma/BarotraumaShared/BarotraumaShared.projitems
+++ b/Barotrauma/BarotraumaShared/BarotraumaShared.projitems
@@ -763,6 +763,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -904,6 +907,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -1036,6 +1042,12 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
PreserveNewest
diff --git a/Barotrauma/BarotraumaShared/Content/Content.mgcb b/Barotrauma/BarotraumaShared/Content/Content.mgcb
index 9cf60ed0f..6e9d21bf9 100644
--- a/Barotrauma/BarotraumaShared/Content/Content.mgcb
+++ b/Barotrauma/BarotraumaShared/Content/Content.mgcb
@@ -31,6 +31,12 @@
/processorParam:DebugMode=Auto
/build:damageshader.fx
+#begin losshader.fx
+/importer:EffectImporter
+/processor:EffectProcessor
+/processorParam:DebugMode=Auto
+/build:losshader.fx
+
#begin utg_4.mp4
/importer:H264Importer
/processor:VideoProcessor
diff --git a/Barotrauma/BarotraumaShared/Content/damageshader.fx b/Barotrauma/BarotraumaShared/Content/damageshader.fx
index 41b3356e4..f4072cfda 100644
--- a/Barotrauma/BarotraumaShared/Content/damageshader.fx
+++ b/Barotrauma/BarotraumaShared/Content/damageshader.fx
@@ -1,8 +1,8 @@
-Texture xTexture;
+Texture2D xTexture;
sampler TextureSampler : register (s0) = sampler_state { Texture = ; };
-Texture xStencil;
+Texture2D xStencil;
sampler StencilSampler = sampler_state { Texture = ; };
float4 color;
@@ -34,6 +34,6 @@ technique StencilShader
{
pass Pass1
{
- PixelShader = compile ps_4_0_level_9_1 main();
+ PixelShader = compile ps_2_0 main();
}
}
diff --git a/Barotrauma/BarotraumaShared/Content/damageshader_opengl.xnb b/Barotrauma/BarotraumaShared/Content/damageshader_opengl.xnb
index 9249f145f..cecca8fed 100644
Binary files a/Barotrauma/BarotraumaShared/Content/damageshader_opengl.xnb and b/Barotrauma/BarotraumaShared/Content/damageshader_opengl.xnb differ
diff --git a/Barotrauma/BarotraumaShared/Content/losshader.fx b/Barotrauma/BarotraumaShared/Content/losshader.fx
new file mode 100644
index 000000000..fbf5cee1c
--- /dev/null
+++ b/Barotrauma/BarotraumaShared/Content/losshader.fx
@@ -0,0 +1,24 @@
+
+Texture2D xTexture;
+sampler TextureSampler : register (s0) = sampler_state { Texture = ; };
+
+Texture2D xLosTexture;
+sampler LosSampler = sampler_state { Texture = ; };
+
+float4 main(float4 position : SV_Position, float4 color : COLOR0, float2 texCoord : TEXCOORD0) : COLOR0
+{
+ float4 losColor = xLosTexture.Sample(LosSampler, texCoord);
+ float4 sample = xTexture.Sample(TextureSampler, texCoord);
+
+ float4 outColor = float4(sample.x*losColor.x, sample.y*losColor.x, sample.z*losColor.x, losColor.x);
+
+ return outColor;
+}
+
+technique LosShader
+{
+ pass Pass1
+ {
+ PixelShader = compile ps_2_0 main();
+ }
+}
diff --git a/Barotrauma/BarotraumaShared/Content/losshader.xnb b/Barotrauma/BarotraumaShared/Content/losshader.xnb
new file mode 100644
index 000000000..47593ed70
Binary files /dev/null and b/Barotrauma/BarotraumaShared/Content/losshader.xnb differ
diff --git a/Barotrauma/BarotraumaShared/Content/losshader_opengl.xnb b/Barotrauma/BarotraumaShared/Content/losshader_opengl.xnb
new file mode 100644
index 000000000..f9ee38103
Binary files /dev/null and b/Barotrauma/BarotraumaShared/Content/losshader_opengl.xnb differ
diff --git a/Barotrauma/BarotraumaShared/Content/watershader.fx b/Barotrauma/BarotraumaShared/Content/watershader.fx
index b2d324b33..8c9364bab 100644
--- a/Barotrauma/BarotraumaShared/Content/watershader.fx
+++ b/Barotrauma/BarotraumaShared/Content/watershader.fx
@@ -1,13 +1,9 @@
float xBlurDistance;
-Texture xTexture;
+Texture2D xTexture;
sampler TextureSampler = sampler_state { Texture = ; };
-Texture xLosTexture;
-sampler LosSampler = sampler_state { Texture = ; };
-
-
-Texture xWaterBumpMap;
+Texture2D xWaterBumpMap;
sampler WaterBumpSampler =
sampler_state
{
@@ -26,8 +22,8 @@ float2 xBumpPos;
float4 main(float4 position : SV_Position, float4 color : COLOR0, float2 texCoord : TEXCOORD0) : COLOR0
{
- float4 bumpColor = tex2D(WaterBumpSampler, texCoord+xWavePos+xBumpPos);
- bumpColor = (bumpColor + tex2D(WaterBumpSampler, texCoord-xWavePos*2.0f+xBumpPos))*0.5f;
+ float4 bumpColor = xWaterBumpMap.Sample(WaterBumpSampler, texCoord+xWavePos+xBumpPos);
+ bumpColor = (bumpColor + xWaterBumpMap.Sample(WaterBumpSampler, texCoord-xWavePos*2.0f+xBumpPos))*0.5f;
float2 samplePos = texCoord;
@@ -35,27 +31,16 @@ float4 main(float4 position : SV_Position, float4 color : COLOR0, float2 texCoor
samplePos.y+=(bumpColor.g-0.5f)*xWaveHeight;
float4 sample;
- sample = tex2D( TextureSampler, float2(samplePos.x+xBlurDistance, samplePos.y+xBlurDistance));
- sample += tex2D( TextureSampler, float2(samplePos.x-xBlurDistance, samplePos.y-xBlurDistance));
- sample += tex2D( TextureSampler, float2(samplePos.x+xBlurDistance, samplePos.y-xBlurDistance));
- sample += tex2D( TextureSampler, float2(samplePos.x-xBlurDistance, samplePos.y+xBlurDistance));
+ sample = xTexture.Sample( TextureSampler, float2(samplePos.x+xBlurDistance, samplePos.y+xBlurDistance));
+ sample += xTexture.Sample( TextureSampler, float2(samplePos.x-xBlurDistance, samplePos.y-xBlurDistance));
+ sample += xTexture.Sample( TextureSampler, float2(samplePos.x+xBlurDistance, samplePos.y-xBlurDistance));
+ sample += xTexture.Sample( TextureSampler, float2(samplePos.x-xBlurDistance, samplePos.y+xBlurDistance));
sample = sample * 0.25;
return sample;
}
-float4 main2(float4 position : SV_Position, float4 color : COLOR0, float2 texCoord : TEXCOORD0) : COLOR0
-{
- float4 losColor = tex2D(LosSampler, texCoord);
- float4 sample = tex2D(TextureSampler, texCoord);
-
- float4 outColor = float4(sample.x, sample.y, sample.z, losColor.x);
-
- return outColor;
-}
-
-
technique WaterShader
{
pass Pass1
@@ -63,11 +48,3 @@ technique WaterShader
PixelShader = compile ps_4_0_level_9_1 main();
}
}
-
-technique LosShader
-{
- pass Pass1
- {
- PixelShader = compile ps_4_0_level_9_1 main2();
- }
-}
diff --git a/Barotrauma/BarotraumaShared/Content/watershader.xnb b/Barotrauma/BarotraumaShared/Content/watershader.xnb
index e132a4bf9..50a297a2a 100644
Binary files a/Barotrauma/BarotraumaShared/Content/watershader.xnb and b/Barotrauma/BarotraumaShared/Content/watershader.xnb differ
diff --git a/Barotrauma_Solution.sln b/Barotrauma_Solution.sln
index 4a32e93f9..56ca2bc51 100644
--- a/Barotrauma_Solution.sln
+++ b/Barotrauma_Solution.sln
@@ -45,74 +45,90 @@ Global
Libraries\SharpFont\Source\SharpFontShared\SharpFontShared.projitems*{c293db32-fa42-486d-b128-5a12522fae4e}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
DebugLinux|x86 = DebugLinux|x86
DebugWindows|x86 = DebugWindows|x86
+ Release|x86 = Release|x86
ReleaseLinux|x86 = ReleaseLinux|x86
ReleaseWindows|x86 = ReleaseWindows|x86
- Debug|x86 = Debug|x86
- Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {008C0F83-E914-4966-9135-EA885059EDD8}.Debug|x86.ActiveCfg = DebugWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|x86.ActiveCfg = DebugLinux|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|x86.Build.0 = DebugLinux|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugWindows|x86.ActiveCfg = DebugWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugWindows|x86.Build.0 = DebugWindows|x86
+ {008C0F83-E914-4966-9135-EA885059EDD8}.Release|x86.ActiveCfg = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|x86.Build.0 = ReleaseLinux|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|x86.Build.0 = ReleaseWindows|x86
- {251AAFE1-F24B-4837-9128-9D04FCBFD528}.DebugLinux|x86.ActiveCfg = DebugLinux|x86
- {251AAFE1-F24B-4837-9128-9D04FCBFD528}.DebugLinux|x86.Build.0 = DebugLinux|x86
- {251AAFE1-F24B-4837-9128-9D04FCBFD528}.DebugWindows|x86.ActiveCfg = DebugWindows|x86
- {251AAFE1-F24B-4837-9128-9D04FCBFD528}.DebugWindows|x86.Build.0 = DebugWindows|x86
- {251AAFE1-F24B-4837-9128-9D04FCBFD528}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86
- {251AAFE1-F24B-4837-9128-9D04FCBFD528}.ReleaseLinux|x86.Build.0 = ReleaseLinux|x86
- {251AAFE1-F24B-4837-9128-9D04FCBFD528}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|x86
- {251AAFE1-F24B-4837-9128-9D04FCBFD528}.ReleaseWindows|x86.Build.0 = ReleaseWindows|x86
- {85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|x86.ActiveCfg = DebugLinux|x86
- {85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|x86.Build.0 = DebugLinux|x86
- {85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|x86.ActiveCfg = DebugWindows|x86
- {85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|x86.Build.0 = DebugWindows|x86
- {85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86
- {85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|x86.Build.0 = ReleaseLinux|x86
- {85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|x86
- {85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|x86.Build.0 = ReleaseWindows|x86
+ {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|x86.ActiveCfg = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|x86.ActiveCfg = DebugLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|x86.Build.0 = DebugLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|x86.ActiveCfg = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|x86.Build.0 = DebugWindows|Any CPU
+ {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|x86.ActiveCfg = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|x86.Build.0 = ReleaseLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|x86.Build.0 = ReleaseWindows|Any CPU
+ {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|x86.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|x86.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|x86.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|x86.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|x86.Build.0 = Debug|Any CPU
+ {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|x86.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|x86.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|x86.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|x86.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|x86.Build.0 = Release|Any CPU
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.Debug|x86.ActiveCfg = DebugWindows|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.DebugLinux|x86.ActiveCfg = DebugLinux|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.DebugLinux|x86.Build.0 = DebugLinux|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.DebugWindows|x86.ActiveCfg = DebugWindows|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.DebugWindows|x86.Build.0 = DebugWindows|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.Release|x86.ActiveCfg = ReleaseWindows|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.ReleaseLinux|x86.Build.0 = ReleaseLinux|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|x86
+ {251AAFE1-F24B-4837-9128-9D04FCBFD528}.ReleaseWindows|x86.Build.0 = ReleaseWindows|x86
+ {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|x86.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|x86.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|x86.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|x86.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|x86.Build.0 = Debug|Any CPU
+ {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|x86.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|x86.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|x86.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|x86.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|x86.Build.0 = Release|Any CPU
+ {C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|x86.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|x86.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|x86.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|x86.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|x86.Build.0 = Debug|Any CPU
+ {C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|x86.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|x86.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|x86.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|x86.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|x86.Build.0 = Release|Any CPU
+ {85232B20-074D-4723-B0C6-91495391E448}.Debug|x86.ActiveCfg = DebugWindows|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|x86.ActiveCfg = DebugLinux|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|x86.Build.0 = DebugLinux|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|x86.ActiveCfg = DebugWindows|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|x86.Build.0 = DebugWindows|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.Release|x86.ActiveCfg = ReleaseWindows|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|x86.Build.0 = ReleaseLinux|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|x86
+ {85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|x86.Build.0 = ReleaseWindows|x86
+ {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|x86.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|x86.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|x86.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|x86.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|x86.Build.0 = Debug|Any CPU
+ {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|x86.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|x86.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|x86.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|x86.ActiveCfg = Release|Any CPU