(2a4bd39c2) Merge branch 'dev' into human-ai

This commit is contained in:
Joonas Rikkonen
2019-05-16 05:33:13 +03:00
parent a3db11876b
commit e367f900b8
54 changed files with 1092 additions and 297 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 192 KiB

+27 -2
View File
@@ -56,6 +56,26 @@
<Prefer32Bit>true</Prefer32Bit> <Prefer32Bit>true</Prefer32Bit>
<WarningLevel>0</WarningLevel> <WarningLevel>0</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseLinux|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\bin\x86\ReleaseLinux\</OutputPath>
<DefineConstants>TRACE;LINUX;CLIENT</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugLinux|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\bin\x86\DebugLinux\</OutputPath>
<DefineConstants>TRACE;DEBUG;LINUX;CLIENT</DefineConstants>
<WarningLevel>0</WarningLevel>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
@@ -278,7 +298,12 @@
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild">
</Target>
--> -->
<Target Name="AfterBuild">
<!-- Write version number to a "Version.txt" file in the output folder -->
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="CurrentAssembly" />
</GetAssemblyIdentity>
<Exec Command="echo v%(CurrentAssembly.Version) > $(TargetDir)Version.txt"></Exec>
</Target>
</Project> </Project>
+27 -2
View File
@@ -55,6 +55,26 @@
<Prefer32Bit>true</Prefer32Bit> <Prefer32Bit>true</Prefer32Bit>
<WarningLevel>0</WarningLevel> <WarningLevel>0</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseMac|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\bin\x86\ReleaseMac\</OutputPath>
<DefineConstants>TRACE;OSX;CLIENT</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugMac|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\bin\x86\DebugMac\</OutputPath>
<DefineConstants>TRACE;DEBUG;OSX;CLIENT</DefineConstants>
<WarningLevel>0</WarningLevel>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
@@ -264,7 +284,12 @@
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild">
</Target>
--> -->
<Target Name="AfterBuild">
<!-- Write version number to a "Version.txt" file in the output folder -->
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="CurrentAssembly" />
</GetAssemblyIdentity>
<Exec Command="echo v%(CurrentAssembly.Version) > $(TargetDir)Version.txt"></Exec>
</Target>
</Project> </Project>
@@ -108,6 +108,61 @@ namespace Barotrauma
} }
} }
//unconscious/dead characters can't correct their position using AnimController movement
// -> we need to correct it manually
if (!character.AllowInput)
{
float mainLimbDistSqrd = Vector2.DistanceSquared(MainLimb.PullJointWorldAnchorA, Collider.SimPosition);
float mainLimbErrorTolerance = 0.1f;
//if the main limb is roughly at the correct position and the collider isn't moving (much at least),
//don't attempt to correct the position.
if (mainLimbDistSqrd > mainLimbErrorTolerance || Collider.LinearVelocity.LengthSquared() > 0.05f)
{
MainLimb.PullJointWorldAnchorB = Collider.SimPosition;
MainLimb.PullJointEnabled = true;
}
character.SelectedConstruction = character.MemState[0].SelectedItem;
}
if (character.MemState[0].Animation == AnimController.Animation.CPR)
{
character.AnimController.Anim = AnimController.Animation.CPR;
}
else if (character.AnimController.Anim == AnimController.Animation.CPR)
{
character.AnimController.Anim = AnimController.Animation.None;
}
Vector2 newVelocity = Collider.LinearVelocity;
Vector2 newPosition = Collider.SimPosition;
float newRotation = Collider.Rotation;
float newAngularVelocity = Collider.AngularVelocity;
Collider.CorrectPosition(character.MemState, out newPosition, out newVelocity, out newRotation, out newAngularVelocity);
newVelocity = newVelocity.ClampLength(100.0f);
if (!MathUtils.IsValid(newVelocity)) { newVelocity = Vector2.Zero; }
overrideTargetMovement = newVelocity.LengthSquared() > 0.01f ? newVelocity : Vector2.Zero;
Collider.LinearVelocity = newVelocity;
Collider.AngularVelocity = newAngularVelocity;
float distSqrd = Vector2.DistanceSquared(newPosition, Collider.SimPosition);
float errorTolerance = character.AllowInput ? 0.01f : 0.2f;
if (distSqrd > errorTolerance)
{
if (distSqrd > 10.0f || !character.AllowInput)
{
Collider.TargetRotation = newRotation;
SetPosition(newPosition, lerp: distSqrd < 5.0f, ignorePlatforms: false);
}
else
{
Collider.TargetRotation = newRotation;
Collider.TargetPosition = newPosition;
Collider.MoveToTargetPosition(true);
}
}
//unconscious/dead characters can't correct their position using AnimController movement //unconscious/dead characters can't correct their position using AnimController movement
// -> we need to correct it manually // -> we need to correct it manually
if (!character.AllowInput) if (!character.AllowInput)
@@ -151,32 +206,34 @@ namespace Barotrauma
} }
} }
character.MemLocalState.Clear();
if (character.MemLocalState.Count > 120) character.MemLocalState.RemoveRange(0, character.MemLocalState.Count - 120);
character.MemState.Clear();
} }
} else
partial void ImpactProjSpecific(float impact, Body body)
{
float volume = MathHelper.Clamp(impact - 3.0f, 0.5f, 1.0f);
if (body.UserData is Limb limb && character.Stun <= 0f)
{ {
if (impact > 3.0f) { PlayImpactSound(limb); } //remove states with a timestamp (there may still timestamp-based states
} //in the list if the controlled character switches from timestamp-based interpolation to ID-based)
else if (body.UserData is Limb || body == Collider.FarseerBody) character.MemState.RemoveAll(m => m.Timestamp > 0.0f);
{
if (!character.IsRemotePlayer && impact > ImpactTolerance) for (int i = 0; i < character.MemLocalState.Count; i++)
{ {
SoundPlayer.PlayDamageSound("LimbBlunt", strongestImpact, Collider); if (character.Submarine == null)
{
//transform in-sub coordinates to outside coordinates
if (character.MemLocalState[i].Position.Y > lowestSubPos)
{
character.MemLocalState[i].TransformInToOutside();
}
}
else if (currentHull?.Submarine != null)
{
//transform outside coordinates to in-sub coordinates
if (character.MemLocalState[i].Position.Y < lowestSubPos)
{
character.MemLocalState[i].TransformOutToInside(currentHull.Submarine);
}
}
} }
}
if (Character.Controlled == character)
{
GameMain.GameScreen.Cam.Shake = Math.Min(Math.Max(strongestImpact, GameMain.GameScreen.Cam.Shake), 3.0f);
}
}
if (character.MemState.Count < 1) return; if (character.MemState.Count < 1) return;
@@ -29,7 +29,7 @@ namespace Barotrauma
if (!CheatsEnabled && IsCheat) if (!CheatsEnabled && IsCheat)
{ {
NewMessage("You need to enable cheats using the command \"enablecheats\" before you can use the command \"" + names[0] + "\".", Color.Red); NewMessage("You need to enable cheats using the command \"enablecheats\" before you can use the command \"" + names[0] + "\".", Color.Red);
if (GameMain.Config.UseSteam) if (Steam.SteamManager.USE_STEAM)
{ {
NewMessage("Enabling cheats will disable Steam achievements during this play session.", Color.Red); NewMessage("Enabling cheats will disable Steam achievements during this play session.", Color.Red);
} }
@@ -340,7 +340,7 @@ namespace Barotrauma
CheatsEnabled = true; CheatsEnabled = true;
SteamAchievementManager.CheatsEnabled = true; SteamAchievementManager.CheatsEnabled = true;
NewMessage("Enabled cheat commands.", Color.Red); NewMessage("Enabled cheat commands.", Color.Red);
if (GameMain.Config.UseSteam) if (Steam.SteamManager.USE_STEAM)
{ {
NewMessage("Steam achievements have been disabled during this play session.", Color.Red); NewMessage("Steam achievements have been disabled during this play session.", Color.Red);
} }
@@ -155,6 +155,9 @@ namespace EventInput
return SetWindowLongPtr(hWnd, nIndex, dwNewLong); return SetWindowLongPtr(hWnd, nIndex, dwNewLong);
} }
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
static extern IntPtr SetWindowLong(IntPtr hWnd, int nIndex, IntPtr dwNewLong);
[DllImport("user32.dll", CharSet = CharSet.Unicode)] [DllImport("user32.dll", CharSet = CharSet.Unicode)]
static extern IntPtr SetWindowLongPtr(IntPtr hWnd, int nIndex, IntPtr dwNewLong); static extern IntPtr SetWindowLongPtr(IntPtr hWnd, int nIndex, IntPtr dwNewLong);
#endif #endif
@@ -173,8 +176,8 @@ namespace EventInput
#if WINDOWS #if WINDOWS
hookProcDelegate = HookProc; hookProcDelegate = HookProc;
prevWndProc = SetWindowLongPtr(window.Handle, GWL_WNDPROC, prevWndProc = TrySetWindowLong(window.Handle, GWL_WNDPROC,
Marshal.GetFunctionPointerForDelegate(hookProcDelegate)); Marshal.GetFunctionPointerForDelegate(hookProcDelegate));
hIMC = ImmGetContext(window.Handle); hIMC = ImmGetContext(window.Handle);
#else #else
@@ -317,11 +317,6 @@ namespace Barotrauma
} }
uint charIndex = text[i]; uint charIndex = text[i];
if (DynamicLoading && !texCoords.ContainsKey(charIndex))
{
DynamicRenderAtlas(graphicsDevice, charIndex);
}
if (texCoords.TryGetValue(charIndex, out GlyphData gd) || texCoords.TryGetValue(9633, out gd)) //9633 = white square if (texCoords.TryGetValue(charIndex, out GlyphData gd) || texCoords.TryGetValue(9633, out gd)) //9633 = white square
{ {
if (gd.texIndex >= 0) if (gd.texIndex >= 0)
@@ -356,13 +351,7 @@ namespace Barotrauma
currentPos.Y += baseHeight * 1.8f; currentPos.Y += baseHeight * 1.8f;
continue; continue;
} }
uint charIndex = text[i];
uint charIndex = text[i];
if (DynamicLoading && !texCoords.ContainsKey(charIndex))
{
DynamicRenderAtlas(graphicsDevice, charIndex);
}
if (texCoords.TryGetValue(charIndex, out GlyphData gd) || texCoords.TryGetValue(9633, out gd)) //9633 = white square if (texCoords.TryGetValue(charIndex, out GlyphData gd) || texCoords.TryGetValue(9633, out gd)) //9633 = white square
{ {
if (gd.texIndex >= 0) if (gd.texIndex >= 0)
@@ -109,18 +109,11 @@ namespace Barotrauma
break; break;
} }
} }
return 14;
}
public GUIComponentStyle GetComponentStyle(string name)
{
componentStyles.TryGetValue(name.ToLowerInvariant(), out GUIComponentStyle style);
return style;
} }
private ScalableFont LoadFont(XElement element, GraphicsDevice graphicsDevice) private ScalableFont LoadFont(XElement element, GraphicsDevice graphicsDevice)
{ {
string file = element.GetAttributeString("file", ""); string file = GetFontFilePath(element);
uint size = GetFontSize(element); uint size = GetFontSize(element);
return new ScalableFont(file, size, graphicsDevice); return new ScalableFont(file, size, graphicsDevice);
} }
@@ -129,6 +122,7 @@ namespace Barotrauma
{ {
foreach (XElement subElement in element.Elements()) foreach (XElement subElement in element.Elements())
{ {
if (subElement.Name.ToString().ToLowerInvariant() != "size") { continue; }
Point maxResolution = subElement.GetAttributePoint("maxresolution", new Point(int.MaxValue, int.MaxValue)); Point maxResolution = subElement.GetAttributePoint("maxresolution", new Point(int.MaxValue, int.MaxValue));
if (GameMain.GraphicsWidth <= maxResolution.X && GameMain.GraphicsHeight <= maxResolution.Y) if (GameMain.GraphicsWidth <= maxResolution.X && GameMain.GraphicsHeight <= maxResolution.Y)
{ {
@@ -138,6 +132,20 @@ namespace Barotrauma
return 14; return 14;
} }
private string GetFontFilePath(XElement element)
{
foreach (XElement subElement in element.Elements())
{
if (subElement.Name.ToString().ToLowerInvariant() != "override") { continue; }
string language = subElement.GetAttributeString("language", "").ToLowerInvariant();
if (GameMain.Config.Language.ToLowerInvariant() == language)
{
return subElement.GetAttributeString("file", "");
}
}
return element.GetAttributeString("file", "");
}
public GUIComponentStyle GetComponentStyle(string name) public GUIComponentStyle GetComponentStyle(string name)
{ {
componentStyles.TryGetValue(name.ToLowerInvariant(), out GUIComponentStyle style); componentStyles.TryGetValue(name.ToLowerInvariant(), out GUIComponentStyle style);
@@ -340,7 +340,6 @@ namespace Barotrauma
GUI.Init(Window, Config.SelectedContentPackages, GraphicsDevice); GUI.Init(Window, Config.SelectedContentPackages, GraphicsDevice);
DebugConsole.Init(); DebugConsole.Init();
SteamManager.Initialize();
if (Config.AutoUpdateWorkshopItems) if (Config.AutoUpdateWorkshopItems)
{ {
if (SteamManager.AutoUpdateWorkshopItems()) if (SteamManager.AutoUpdateWorkshopItems())
@@ -648,6 +647,14 @@ namespace Barotrauma
paused = (DebugConsole.IsOpen || GUI.PauseMenuOpen || GUI.SettingsMenuOpen || Tutorial.ContentRunning) && paused = (DebugConsole.IsOpen || GUI.PauseMenuOpen || GUI.SettingsMenuOpen || Tutorial.ContentRunning) &&
(NetworkMember == null || !NetworkMember.GameStarted); (NetworkMember == null || !NetworkMember.GameStarted);
#if !DEBUG || true
if (NetworkMember == null && !WindowActive && !paused && true && Screen.Selected != MainMenuScreen)
{
GUI.TogglePauseMenu();
paused = true;
}
#endif
Screen.Selected.AddToGUIUpdateList(); Screen.Selected.AddToGUIUpdateList();
if (Client != null) if (Client != null)
@@ -74,12 +74,17 @@ namespace Barotrauma
public CrewManager(XElement element, bool isSinglePlayer) public CrewManager(XElement element, bool isSinglePlayer)
: this(isSinglePlayer) : this(isSinglePlayer)
{ {
if (!isSinglePlayer) if (GameMain.Client != null)
{ {
DebugConsole.ThrowError("Cannot add messages to single player chat box in multiplayer mode!\n" + Environment.StackTrace); //let the server create random conversations in MP
return; return;
} }
if (string.IsNullOrEmpty(text)) { return; } List<Character> availableSpeakers = Character.CharacterList.FindAll(c =>
c.AIController is HumanAIController &&
!c.IsDead &&
c.SpeechImpediment <= 100.0f);
pendingConversationLines.AddRange(NPCConversation.CreateRandom(availableSpeakers));
}
var characterInfo = new CharacterInfo(subElement); var characterInfo = new CharacterInfo(subElement);
characterInfos.Add(characterInfo); characterInfos.Add(characterInfo);
@@ -90,7 +95,6 @@ namespace Barotrauma
break; break;
} }
} }
ChatBox.AddMessage(ChatMessage.Create(senderName, text, messageType, sender));
} }
partial void InitProjectSpecific() partial void InitProjectSpecific()
@@ -239,27 +243,24 @@ namespace Barotrauma
public IEnumerable<Character> GetCharacters() public IEnumerable<Character> GetCharacters()
{ {
if (character?.Inventory == null) return null; if (characterInfos.Contains(characterInfo))
{
DebugConsole.ThrowError("Tried to add the same character info to CrewManager twice.\n" + Environment.StackTrace);
return;
}
var radioItem = character.Inventory.Items.FirstOrDefault(it => it != null && it.GetComponent<WifiComponent>() != null); characterInfos.Add(characterInfo);
if (radioItem == null) return null;
if (requireEquipped && !character.HasEquippedItem(radioItem)) return null;
return radioItem.GetComponent<WifiComponent>();
} }
public IEnumerable<CharacterInfo> GetCharacterInfos() public IEnumerable<CharacterInfo> GetCharacterInfos()
{ {
if (GameMain.Client != null) if (character == null)
{ {
//let the server create random conversations in MP DebugConsole.ThrowError("Tried to remove a null character from CrewManager.\n" + Environment.StackTrace);
return; return;
} }
List<Character> availableSpeakers = Character.CharacterList.FindAll(c => characters.Remove(character);
c.AIController is HumanAIController && if (removeInfo) characterInfos.Remove(character.Info);
!c.IsDead &&
c.SpeechImpediment <= 100.0f);
pendingConversationLines.AddRange(NPCConversation.CreateRandom(availableSpeakers));
} }
public void AddCharacter(Character character) public void AddCharacter(Character character)
@@ -633,9 +634,183 @@ namespace Barotrauma
{ {
characterListBox.BarScroll = roundedPos; characterListBox.BarScroll = roundedPos;
} }
soundIcon.Visible = !muted && !mutedLocally; var characterArea = new GUIButton(new RectTransform(new Point(characterInfoWidth, frame.Rect.Height), frame.RectTransform, Anchor.CenterLeft), style: "GUITextBox")
soundIconDisabled.Visible = muted || mutedLocally; {
soundIconDisabled.ToolTip = TextManager.Get(mutedLocally ? "MutedLocally" : "MutedGlobally"); UserData = character,
Color = frame.Color,
SelectedColor = frame.SelectedColor,
HoverColor = frame.HoverColor,
ToolTip = characterToolTip
};
var soundIcon = new GUIImage(new RectTransform(new Point((int)(characterArea.Rect.Height * 0.5f)), characterArea.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(5, 0) },
"GUISoundIcon")
{
UserData = "soundicon",
CanBeFocused = false,
Visible = true
};
soundIcon.Color = new Color(soundIcon.Color, 0.0f);
new GUIImage(new RectTransform(new Point((int)(characterArea.Rect.Height * 0.5f)), characterArea.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(5, 0) },
"GUISoundIconDisabled")
{
UserData = "soundicondisabled",
CanBeFocused = true,
Visible = false
};
if (isSinglePlayer)
{
characterArea.OnClicked = CharacterClicked;
}
else
{
characterArea.CanBeFocused = false;
characterArea.CanBeSelected = false;
}
var characterImage = new GUICustomComponent(new RectTransform(new Point(characterArea.Rect.Height), characterArea.RectTransform, Anchor.CenterLeft),
onDraw: (sb, component) => character.Info.DrawIcon(sb, component.Rect.Center.ToVector2(), targetAreaSize: component.Rect.Size.ToVector2()))
{
CanBeFocused = false,
HoverColor = Color.White,
SelectedColor = Color.White,
ToolTip = characterToolTip
};
var characterName = new GUITextBlock(new RectTransform(new Point(characterArea.Rect.Width - characterImage.Rect.Width - soundIcon.Rect.Width - 10, characterArea.Rect.Height),
characterArea.RectTransform, Anchor.CenterRight) { AbsoluteOffset = new Point(soundIcon.Rect.Width + 10, 0) },
character.Name, textColor: frame.Color, font: GUI.SmallFont, wrap: true)
{
Color = frame.Color,
HoverColor = Color.Transparent,
SelectedColor = Color.Transparent,
CanBeFocused = false,
ToolTip = characterToolTip,
AutoScale = true
};
//---------------- order buttons ----------------
var orderButtonFrame = new GUILayoutGroup(new RectTransform(new Point(100, frame.Rect.Height), frame.RectTransform)
{ AbsoluteOffset = new Point(characterInfoWidth + spacing, 0) },
isHorizontal: true, childAnchor: Anchor.CenterLeft)
{
AbsoluteSpacing = (int)(10 * GUI.Scale),
UserData = "orderbuttons",
CanBeFocused = false
};
//listbox for holding the orders inappropriate for this character
//(so we can easily toggle their visibility)
var wrongOrderList = new GUIListBox(new RectTransform(new Point(50, orderButtonFrame.Rect.Height), orderButtonFrame.RectTransform), isHorizontal: true, style: null)
{
ScrollBarEnabled = false,
ScrollBarVisible = false,
Enabled = false,
Spacing = spacing,
ClampMouseRectToParent = false
};
wrongOrderList.Content.ClampMouseRectToParent = false;
for (int i = 0; i < orders.Count; i++)
{
var order = orders[i];
if (order.TargetAllCharacters) continue;
RectTransform btnParent = (i >= correctOrderCount + neutralOrderCount) ?
wrongOrderList.Content.RectTransform :
orderButtonFrame.RectTransform;
var btn = new GUIButton(new RectTransform(new Point(iconSize, iconSize), btnParent, Anchor.CenterLeft),
style: null)
{
UserData = order
};
new GUIFrame(new RectTransform(new Vector2(1.5f), btn.RectTransform, Anchor.Center), "OuterGlow")
{
Color = Color.Lerp(order.Color, frame.Color, 0.5f) * 0.8f,
HoverColor = Color.Lerp(order.Color, frame.Color, 0.5f) * 1.0f,
PressedColor = Color.Lerp(order.Color, frame.Color, 0.5f) * 0.6f,
UserData = "selected",
CanBeFocused = false,
Visible = false
};
var img = new GUIImage(new RectTransform(Vector2.One, btn.RectTransform), order.Prefab.SymbolSprite);
img.Scale = iconSize / (float)img.SourceRect.Width;
img.Color = Color.Lerp(order.Color, frame.Color, 0.5f);
img.ToolTip = order.Name;
img.HoverColor = Color.Lerp(img.Color, Color.White, 0.5f);
btn.OnClicked += (GUIButton button, object userData) =>
{
if (Character.Controlled == null || Character.Controlled.SpeechImpediment >= 100.0f) return false;
if (btn.GetChildByUserData("selected").Visible)
{
SetCharacterOrder(character, Order.PrefabList.Find(o => o.AITag == "dismissed"), null, Character.Controlled);
}
else
{
if (order.ItemComponentType != null || order.ItemIdentifiers.Length > 0 || order.Options.Length > 1)
{
CreateOrderTargetFrame(button, character, order);
}
else
{
SetCharacterOrder(character, order, null, Character.Controlled);
}
}
return true;
};
btn.UserData = order;
btn.ToolTip = order.Name;
//divider between different groups of orders
if (i == correctOrderCount - 1 || i == correctOrderCount + neutralOrderCount - 1)
{
//TODO: divider sprite
new GUIFrame(new RectTransform(new Point(8, iconSize), orderButtonFrame.RectTransform), style: "GUIButton");
}
}
var toggleWrongOrderBtn = new GUIButton(new RectTransform(new Point((int)(30 * GUI.Scale), wrongOrderList.Rect.Height), wrongOrderList.Content.RectTransform),
"", style: "UIToggleButton")
{
UserData = "togglewrongorder",
CanBeFocused = false
};
wrongOrderList.RectTransform.NonScaledSize = new Point(
wrongOrderList.Content.Children.Sum(c => c.Rect.Width + wrongOrderList.Spacing),
wrongOrderList.RectTransform.NonScaledSize.Y);
wrongOrderList.RectTransform.SetAsLastChild();
new GUIFrame(new RectTransform(new Point(
wrongOrderList.Rect.Width - toggleWrongOrderBtn.Rect.Width - wrongOrderList.Spacing * 2,
wrongOrderList.Rect.Height), wrongOrderList.Content.RectTransform),
style: null)
{
CanBeFocused = false
};
//scale to fit the content
orderButtonFrame.RectTransform.NonScaledSize = new Point(
orderButtonFrame.Children.Sum(c => c.Rect.Width + orderButtonFrame.AbsoluteSpacing),
orderButtonFrame.RectTransform.NonScaledSize.Y);
frame.RectTransform.NonScaledSize = new Point(
characterInfoWidth + spacing + (orderButtonFrame.Rect.Width - wrongOrderList.Rect.Width),
frame.RectTransform.NonScaledSize.Y);
characterListBox.RectTransform.NonScaledSize = new Point(
characterListBox.Content.Children.Max(c => c.Rect.Width) + wrongOrderList.Rect.Width,
characterListBox.RectTransform.NonScaledSize.Y);
characterListBox.Content.RectTransform.NonScaledSize = characterListBox.RectTransform.NonScaledSize;
characterListBox.UpdateScrollBarSize();
return frame;
} }
private IEnumerable<object> KillCharacterAnim(GUIComponent component) private IEnumerable<object> KillCharacterAnim(GUIComponent component)
@@ -779,6 +954,12 @@ namespace Barotrauma
} }
return; return;
} }
List<Character> availableSpeakers = Character.CharacterList.FindAll(c =>
c.AIController is HumanAIController &&
!c.IsDead &&
c.SpeechImpediment <= 100.0f);
pendingConversationLines.AddRange(NPCConversation.CreateRandom(availableSpeakers));
}
character.SetOrder(order, option, orderGiver, speak: orderGiver != character); character.SetOrder(order, option, orderGiver, speak: orderGiver != character);
if (IsSinglePlayer) if (IsSinglePlayer)
@@ -836,19 +1017,23 @@ namespace Barotrauma
} }
} }
} }
//only one target (or an order with no particular targets), just show options
else character.SetOrder(order, option, orderGiver, speak: orderGiver != character);
if (IsSinglePlayer)
{ {
orderTargetFrame = new GUILayoutGroup(new RectTransform(new Vector2(0.2f + order.Options.Length * 0.1f, 0.18f), GUI.Canvas) orderGiver?.Speak(
{ AbsoluteOffset = new Point(orderButton.Rect.Center.X, orderButton.Rect.Bottom) }, order.GetChatMessage(character.Name, orderGiver.CurrentHull?.DisplayName, givingOrderToSelf: character == orderGiver, orderOption: option), null);
isHorizontal: true, childAnchor: Anchor.BottomLeft) }
else if (orderGiver != null)
{
OrderChatMessage msg = new OrderChatMessage(order, option, order.TargetItemComponent?.Item, character, orderGiver);
if (GameMain.Client != null)
{ {
UserData = character, GameMain.Client.SendChatMessage(msg);
Stretch = true }
}; }
//line connecting the order button to the option buttons DisplayCharacterOrder(character, order);
//TODO: sprite }
new GUIFrame(new RectTransform(new Vector2(0.5f, 1.0f), orderTargetFrame.RectTransform), style: null);
/// <summary> /// <summary>
/// Create the UI panel that's used to select the target and options for a given order /// Create the UI panel that's used to select the target and options for a given order
@@ -403,7 +403,7 @@ namespace Barotrauma
if (campaign.CheatsEnabled) if (campaign.CheatsEnabled)
{ {
DebugConsole.CheatsEnabled = true; DebugConsole.CheatsEnabled = true;
if (GameMain.Config.UseSteam && !SteamAchievementManager.CheatsEnabled) if (Steam.SteamManager.USE_STEAM && !SteamAchievementManager.CheatsEnabled)
{ {
SteamAchievementManager.CheatsEnabled = true; SteamAchievementManager.CheatsEnabled = true;
new GUIMessageBox("Cheats enabled", "Cheat commands have been enabled on the campaign. You will not receive Steam Achievements until you restart the game."); new GUIMessageBox("Cheats enabled", "Cheat commands have been enabled on the campaign. You will not receive Steam Achievements until you restart the game.");
@@ -70,7 +70,13 @@ namespace Barotrauma.Tutorials
} }
} }
public string Name public string Identifier
{
get;
protected set;
}
public string DisplayName
{ {
get; get;
protected set; protected set;
@@ -159,8 +165,9 @@ namespace Barotrauma.Tutorials
public Tutorial(XElement element) public Tutorial(XElement element)
{ {
configElement = element; configElement = element;
Name = element.GetAttributeString("name", "Unnamed"); Identifier = element.GetAttributeString("identifier", "unknown");
completed = GameMain.Config.CompletedTutorialNames.Contains(Name); DisplayName = TextManager.Get(Identifier);
completed = GameMain.Config.CompletedTutorialNames.Contains(Identifier);
playableContentPath = element.GetAttributeString("playablecontentpath", ""); playableContentPath = element.GetAttributeString("playablecontentpath", "");
segments = new List<TutorialSegment>(); segments = new List<TutorialSegment>();
@@ -132,7 +132,7 @@ namespace Barotrauma
var languageDD = new GUIDropDown(new RectTransform(new Vector2(1.0f, 0.045f), generalLayoutGroup.RectTransform)); var languageDD = new GUIDropDown(new RectTransform(new Vector2(1.0f, 0.045f), generalLayoutGroup.RectTransform));
foreach (string language in TextManager.AvailableLanguages) foreach (string language in TextManager.AvailableLanguages)
{ {
languageDD.AddItem(TextManager.Get("Language." + language), language); languageDD.AddItem(TextManager.Get("Language." + language, returnNull: true) ?? Language, language);
} }
languageDD.SelectItem(TextManager.Language); languageDD.SelectItem(TextManager.Language);
languageDD.OnSelected = (guiComponent, obj) => languageDD.OnSelected = (guiComponent, obj) =>
@@ -263,6 +263,18 @@ namespace Barotrauma
Selected = VSyncEnabled Selected = VSyncEnabled
}; };
//TODO: remove hardcoded texts after the texts have been added to localization
GUITickBox pauseOnFocusLostBox = new GUITickBox(new RectTransform(new Point(32, 32), leftColumn.RectTransform),
TextManager.Get("PauseOnFocusLost", returnNull: true) ?? "Pause on focus lost");
pauseOnFocusLostBox.Selected = PauseOnFocusLost;
pauseOnFocusLostBox.ToolTip = TextManager.Get("PauseOnFocusLostToolTip", returnNull: true) ?? "Pauses the game when its window is not in focus. Note that the game won't be paused when a multiplayer session is active.";
pauseOnFocusLostBox.OnSelected = (tickBox) =>
{
PauseOnFocusLost = tickBox.Selected;
UnsavedSettings = true;
return true;
};
GUITextBlock particleLimitText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), rightColumn.RectTransform), TextManager.Get("ParticleLimit")); GUITextBlock particleLimitText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.05f), rightColumn.RectTransform), TextManager.Get("ParticleLimit"));
GUIScrollBar particleScrollBar = new GUIScrollBar(new RectTransform(new Vector2(1.0f, 0.05f), rightColumn.RectTransform), GUIScrollBar particleScrollBar = new GUIScrollBar(new RectTransform(new Vector2(1.0f, 0.05f), rightColumn.RectTransform),
barSize: 0.1f) barSize: 0.1f)
@@ -11,6 +11,12 @@ namespace Barotrauma.Steam
{ {
partial class SteamManager partial class SteamManager
{ {
private static List<string> initializationErrors = new List<string>();
public static IEnumerable<string> InitializationErrors
{
get { return initializationErrors; }
}
private SteamManager() private SteamManager()
{ {
try try
@@ -26,12 +32,12 @@ namespace Barotrauma.Steam
catch (DllNotFoundException) catch (DllNotFoundException)
{ {
isInitialized = false; isInitialized = false;
new GUIMessageBox(TextManager.Get("Error"), TextManager.Get("SteamDllNotFound")); initializationErrors.Add("SteamDllNotFound");
} }
catch (Exception) catch (Exception)
{ {
isInitialized = false; isInitialized = false;
new GUIMessageBox(TextManager.Get("Error"), TextManager.Get("SteamClientInitFailed")); initializationErrors.Add("SteamClientInitFailed");
} }
if (!isInitialized) if (!isInitialized)
@@ -30,6 +30,7 @@ namespace Barotrauma
[STAThread] [STAThread]
static void Main() static void Main()
{ {
SteamManager.Initialize();
GameMain game = null; GameMain game = null;
#if !DEBUG #if !DEBUG
try try
@@ -152,6 +152,8 @@ namespace Barotrauma
private GUILayoutGroup subPreviewContainer; private GUILayoutGroup subPreviewContainer;
private GUILayoutGroup subPreviewContainer;
private GUIButton loadGameButton; private GUIButton loadGameButton;
public Action<Submarine, string, string> StartNewGame; public Action<Submarine, string, string> StartNewGame;
@@ -6,7 +6,6 @@ using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Input;
using System; using System;
using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@@ -84,7 +83,7 @@ namespace Barotrauma
RelativeSpacing = 0.035f RelativeSpacing = 0.035f
}; };
new GUIButton(new RectTransform(new Vector2(1.0f, 1.0f), campaignList.RectTransform), "Tutorial", textAlignment: Alignment.Left, style: "MainMenuGUIButton") new GUIButton(new RectTransform(new Vector2(1.0f, 1.0f), campaignList.RectTransform), TextManager.Get("TutorialButton"), textAlignment: Alignment.Left, style: "MainMenuGUIButton")
{ {
ForceUpperCase = true, ForceUpperCase = true,
UserData = Tab.Tutorials, UserData = Tab.Tutorials,
@@ -324,7 +323,7 @@ namespace Barotrauma
false, null, ""); false, null, "");
foreach (Tutorial tutorial in Tutorial.Tutorials) foreach (Tutorial tutorial in Tutorial.Tutorials)
{ {
var tutorialText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), tutorialList.Content.RectTransform), tutorial.Name, textAlignment: Alignment.Center, font: GUI.LargeFont) var tutorialText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), tutorialList.Content.RectTransform), tutorial.DisplayName, textAlignment: Alignment.Center, font: GUI.LargeFont)
{ {
UserData = tutorial UserData = tutorial
}; };
@@ -758,6 +757,13 @@ namespace Barotrauma
spriteBatch.End(); spriteBatch.End();
} }
readonly string[] legalCrap = new string[]
{
"Privacy policy",
"© " + DateTime.Now.Year + " Undertow Games & FakeFish. All rights reserved.",
"© " + DateTime.Now.Year + " Daedalic Entertainment GmbH. The Daedalic logo is a trademark of Daedalic Entertainment GmbH, Germany. All rights reserved."
};
public override void Draw(double deltaTime, GraphicsDevice graphics, SpriteBatch spriteBatch) public override void Draw(double deltaTime, GraphicsDevice graphics, SpriteBatch spriteBatch)
{ {
DrawBackground(graphics, spriteBatch); DrawBackground(graphics, spriteBatch);
@@ -765,6 +771,8 @@ namespace Barotrauma
spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, GameMain.ScissorTestEnable); spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, GameMain.ScissorTestEnable);
GUI.Draw(Cam, spriteBatch); GUI.Draw(Cam, spriteBatch);
GUI.Draw(Cam, spriteBatch);
#if DEBUG #if DEBUG
GUI.Font.DrawString(spriteBatch, "Barotrauma v" + GameMain.Version + " (debug build)", new Vector2(10, GameMain.GraphicsHeight - 20), Color.White); GUI.Font.DrawString(spriteBatch, "Barotrauma v" + GameMain.Version + " (debug build)", new Vector2(10, GameMain.GraphicsHeight - 20), Color.White);
@@ -772,30 +780,27 @@ namespace Barotrauma
GUI.Font.DrawString(spriteBatch, "Barotrauma v" + GameMain.Version, new Vector2(10, GameMain.GraphicsHeight - 20), Color.White * 0.7f); GUI.Font.DrawString(spriteBatch, "Barotrauma v" + GameMain.Version, new Vector2(10, GameMain.GraphicsHeight - 20), Color.White * 0.7f);
#endif #endif
if (selectedTab != Tab.Credits) Vector2 textPos = new Vector2(GameMain.GraphicsWidth - 10, GameMain.GraphicsHeight - 10);
for (int i = legalCrap.Length - 1; i >= 0; i--)
{ {
Vector2 textPos = new Vector2(GameMain.GraphicsWidth - 10, GameMain.GraphicsHeight - 10); Vector2 textSize = GUI.SmallFont.MeasureString(legalCrap[i]);
for (int i = legalCrap.Length - 1; i >= 0; i--) bool mouseOn = i == 0 &&
PlayerInput.MousePosition.X > textPos.X - textSize.X && PlayerInput.MousePosition.X < textPos.X &&
PlayerInput.MousePosition.Y > textPos.Y - textSize.Y && PlayerInput.MousePosition.Y < textPos.Y;
GUI.SmallFont.DrawString(spriteBatch,
legalCrap[i], textPos - textSize,
mouseOn ? Color.White : Color.White * 0.7f);
if (i == 0)
{ {
Vector2 textSize = GUI.SmallFont.MeasureString(legalCrap[i]); GUI.DrawLine(spriteBatch, textPos, textPos - Vector2.UnitX * textSize.X, mouseOn ? Color.White : Color.White * 0.7f);
bool mouseOn = i == 0 && if (mouseOn && PlayerInput.LeftButtonClicked())
PlayerInput.MousePosition.X > textPos.X - textSize.X && PlayerInput.MousePosition.X < textPos.X &&
PlayerInput.MousePosition.Y > textPos.Y - textSize.Y && PlayerInput.MousePosition.Y < textPos.Y;
GUI.SmallFont.DrawString(spriteBatch,
legalCrap[i], textPos - textSize,
mouseOn ? Color.White : Color.White * 0.7f);
if (i == 0)
{ {
GUI.DrawLine(spriteBatch, textPos, textPos - Vector2.UnitX * textSize.X, mouseOn ? Color.White : Color.White * 0.7f); Process.Start("http://privacypolicy.daedalic.com");
if (mouseOn && PlayerInput.LeftButtonClicked())
{
Process.Start("http://privacypolicy.daedalic.com");
}
} }
textPos.Y -= textSize.Y;
} }
textPos.Y -= textSize.Y;
} }
spriteBatch.End(); spriteBatch.End();
@@ -1,6 +1,7 @@
using Microsoft.Xna.Framework; using Microsoft.Xna.Framework;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
@@ -106,36 +107,18 @@ namespace Barotrauma
text = text.Replace("\n", " \n "); text = text.Replace("\n", " \n ");
List<string> words = new List<string>(); string[] words;
string currWord = ""; if (TextManager.NoWhiteSpace)
for (int i = 0; i < text.Length; i++)
{ {
if (isCJK.IsMatch(text[i].ToString())) words = new string[text.Length];
for (int i = 0; i < text.Length; i++)
{ {
if (currWord.Length > 0) words[i] = text[i].ToString();
{
words.Add(currWord);
currWord = "";
}
words.Add(text[i].ToString());
}
else if (text[i] == ' ')
{
if (currWord.Length > 0)
{
words.Add(currWord);
currWord = "";
}
}
else
{
currWord += text[i];
} }
} }
if (currWord.Length > 0) else
{ {
words.Add(currWord); words = text.Split(' ');
currWord = "";
} }
StringBuilder wrappedText = new StringBuilder(); StringBuilder wrappedText = new StringBuilder();
@@ -31,6 +31,7 @@
<BootstrapperEnabled>true</BootstrapperEnabled> <BootstrapperEnabled>true</BootstrapperEnabled>
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>
<AllowedReferenceRelatedFileExtensions>.pdb</AllowedReferenceRelatedFileExtensions>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<ApplicationIcon>..\BarotraumaShared\Icon.ico</ApplicationIcon> <ApplicationIcon>..\BarotraumaShared\Icon.ico</ApplicationIcon>
@@ -53,6 +54,27 @@
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>x64</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit> <Prefer32Bit>true</Prefer32Bit>
<DocumentationFile>
</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWindows|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\bin\x86\ReleaseWindows\</OutputPath>
<DefineConstants>TRACE;WINDOWS;CLIENT</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWindows|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\bin\x86\DebugWindows\</OutputPath>
<DefineConstants>TRACE;WINDOWS;CLIENT;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
@@ -123,10 +145,30 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
</ItemGroup> </ItemGroup>
<Choose>
<When Condition="'$(Configuration)|$(Platform)' == 'DebugWindows|x86' Or '$(Configuration)|$(Platform)' == 'ReleaseWindows|x86'">
<ItemGroup>
<ContentWithTargetPath Include="lib86/freetype6.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<TargetPath>freetype6.dll</TargetPath>
</ContentWithTargetPath>
<Content Include="steam_api.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<Content Include="freetype6.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="steam_api64.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Otherwise>
</Choose>
<ItemGroup> <ItemGroup>
<Content Include="freetype6.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="libvlc.dll"> <Content Include="libvlc.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@@ -173,9 +215,6 @@
<Content Include="Shaders\losshader.fx" /> <Content Include="Shaders\losshader.fx" />
<Content Include="Shaders\postprocess.fx" /> <Content Include="Shaders\postprocess.fx" />
<Content Include="Shaders\watershader.fx" /> <Content Include="Shaders\watershader.fx" />
<Content Include="steam_api64.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="wrap_oal.dll"> <Content Include="wrap_oal.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@@ -281,7 +320,13 @@
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild">
</Target>
--> -->
<Target Name="AfterBuild">
<!-- Write version number to a "Version.txt" file in the output folder -->
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="CurrentAssembly" />
</GetAssemblyIdentity>
<Exec Command="echo v%(CurrentAssembly.Version) &gt; $(TargetDir)Version.txt">
</Exec>
</Target>
</Project> </Project>
+58 -1
View File
@@ -91,6 +91,63 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit> <Prefer32Bit>true</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseLinux|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseLinux\</OutputPath>
<DefineConstants>TRACE;SERVER</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugLinux|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugLinux\</OutputPath>
<DefineConstants>TRACE;SERVER;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseMac|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseMac\</OutputPath>
<DefineConstants>TRACE;SERVER</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugMac|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugMac\</OutputPath>
<DefineConstants>TRACE;SERVER;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWindows|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseWindows\</OutputPath>
<DefineConstants>TRACE;SERVER</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWindows|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugWindows\</OutputPath>
<DefineConstants>TRACE;SERVER;DEBUG</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
@@ -237,4 +294,4 @@
<Import Project="..\BarotraumaShared\SharedContent.projitems" Label="Shared" /> <Import Project="..\BarotraumaShared\SharedContent.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\Libraries\NuGet\GameAnalytics.Mono.SDK.1.1.12\build\net45\GameAnalytics.Mono.SDK.targets" Condition="Exists('..\..\Libraries\NuGet\GameAnalytics.Mono.SDK.1.1.12\build\net45\GameAnalytics.Mono.SDK.targets')" /> <Import Project="..\..\Libraries\NuGet\GameAnalytics.Mono.SDK.1.1.12\build\net45\GameAnalytics.Mono.SDK.targets" Condition="Exists('..\..\Libraries\NuGet\GameAnalytics.Mono.SDK.1.1.12\build\net45\GameAnalytics.Mono.SDK.targets')" />
</Project> </Project>
@@ -26,7 +26,7 @@ namespace Barotrauma
NewMessage("Client \"" + client.Name + "\" attempted to use the command \"" + names[0] + "\". Cheats must be enabled using \"enablecheats\" before the command can be used.", Color.Red); NewMessage("Client \"" + client.Name + "\" attempted to use the command \"" + names[0] + "\". Cheats must be enabled using \"enablecheats\" before the command can be used.", Color.Red);
GameMain.Server.SendConsoleMessage("You need to enable cheats using the command \"enablecheats\" before you can use the command \"" + names[0] + "\".", client); GameMain.Server.SendConsoleMessage("You need to enable cheats using the command \"enablecheats\" before you can use the command \"" + names[0] + "\".", client);
if (GameMain.Config.UseSteam) if (Steam.SteamManager.USE_STEAM)
{ {
NewMessage("Enabling cheats will disable Steam achievements during this play session.", Color.Red); NewMessage("Enabling cheats will disable Steam achievements during this play session.", Color.Red);
GameMain.Server.SendConsoleMessage("Enabling cheats will disable Steam achievements during this play session.", client); GameMain.Server.SendConsoleMessage("Enabling cheats will disable Steam achievements during this play session.", client);
@@ -699,7 +699,7 @@ namespace Barotrauma
CheatsEnabled = true; CheatsEnabled = true;
SteamAchievementManager.CheatsEnabled = true; SteamAchievementManager.CheatsEnabled = true;
NewMessage("Enabled cheat commands.", Color.Red); NewMessage("Enabled cheat commands.", Color.Red);
if (GameMain.Config.UseSteam) if (Steam.SteamManager.USE_STEAM)
{ {
NewMessage("Steam achievements have been disabled during this play session.", Color.Red); NewMessage("Steam achievements have been disabled during this play session.", Color.Red);
GameMain.Server?.UpdateCheatsEnabled(); GameMain.Server?.UpdateCheatsEnabled();
@@ -714,7 +714,7 @@ namespace Barotrauma
CheatsEnabled = true; CheatsEnabled = true;
SteamAchievementManager.CheatsEnabled = true; SteamAchievementManager.CheatsEnabled = true;
NewMessage("Cheat commands have been enabled by \"" + client.Name + "\".", Color.Red); NewMessage("Cheat commands have been enabled by \"" + client.Name + "\".", Color.Red);
if (GameMain.Config.UseSteam) if (Steam.SteamManager.USE_STEAM)
{ {
NewMessage("Steam achievements have been disabled during this play session.", Color.Red); NewMessage("Steam achievements have been disabled during this play session.", Color.Red);
GameMain.Server?.UpdateCheatsEnabled(); GameMain.Server?.UpdateCheatsEnabled();
@@ -3,6 +3,7 @@ using Lidgren.Network;
using Microsoft.Xna.Framework; using Microsoft.Xna.Framework;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq; using System.Xml.Linq;
namespace Barotrauma namespace Barotrauma
@@ -55,7 +56,7 @@ namespace Barotrauma
} }
else else
{ {
string[] saveFiles = SaveUtil.GetSaveFiles(SaveUtil.SaveType.Multiplayer); var saveFiles = SaveUtil.GetSaveFiles(SaveUtil.SaveType.Multiplayer).ToArray();
DebugConsole.NewMessage("Saved campaigns:", Color.White); DebugConsole.NewMessage("Saved campaigns:", Color.White);
for (int i = 0; i < saveFiles.Length; i++) for (int i = 0; i < saveFiles.Length; i++)
{ {
@@ -1126,7 +1126,7 @@ namespace Barotrauma.Networking
UInt16 modeIndex = inc.ReadUInt16(); UInt16 modeIndex = inc.ReadUInt16();
if (GameMain.NetLobbyScreen.GameModes[modeIndex].Identifier.ToLowerInvariant() == "multiplayercampaign") if (GameMain.NetLobbyScreen.GameModes[modeIndex].Identifier.ToLowerInvariant() == "multiplayercampaign")
{ {
string[] saveFiles = SaveUtil.GetSaveFiles(SaveUtil.SaveType.Multiplayer); string[] saveFiles = SaveUtil.GetSaveFiles(SaveUtil.SaveType.Multiplayer).ToArray();
for (int i = 0; i < saveFiles.Length; i++) for (int i = 0; i < saveFiles.Length; i++)
{ {
XDocument doc = SaveUtil.LoadGameSessionDoc(saveFiles[i]); XDocument doc = SaveUtil.LoadGameSessionDoc(saveFiles[i]);
@@ -80,7 +80,11 @@
<Submarine file="Submarines/Humpback.sub" /> <Submarine file="Submarines/Humpback.sub" />
<Submarine file="Submarines/Dugong.sub" /> <Submarine file="Submarines/Dugong.sub" />
<Submarine file="Submarines/Venture.sub" /> <Submarine file="Submarines/Venture.sub" />
<Submarine file="Submarines/Remora.sub" />
<Submarine file="Submarines/RemoraDrone.sub" />
<Text file="Content/Texts/EnglishVanilla.xml" /> <Text file="Content/Texts/EnglishVanilla.xml" />
<Text file="Content/Texts/RussianVanillaTest.xml" />
<Text file="Content/Texts/ChineseVanillaTest.xml" />
<UIStyle file="Content/UI/style.xml"/> <UIStyle file="Content/UI/style.xml"/>
<Afflictions file="Content/Afflictions.xml"/> <Afflictions file="Content/Afflictions.xml"/>
<Structure file="Content/Map/StructurePrefabs.xml" /> <Structure file="Content/Map/StructurePrefabs.xml" />
Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 147 KiB

@@ -361,6 +361,12 @@
<Content Include="$(MSBuildThisFileDirectory)Content\Effects\waterbump.png"> <Content Include="$(MSBuildThisFileDirectory)Content\Effects\waterbump.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Fonts\NotoSans\NotoSansTC-Bold.otf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Fonts\NotoSans\NotoSansTC-Medium.otf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Items\Assemblies\airlock doors.xml"> <Content Include="$(MSBuildThisFileDirectory)Content\Items\Assemblies\airlock doors.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@@ -493,6 +499,12 @@
<Content Include="$(MSBuildThisFileDirectory)Content\Map\OutpostWall_C.png"> <Content Include="$(MSBuildThisFileDirectory)Content\Map\OutpostWall_C.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Texts\ChineseVanillaTest.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Texts\RussianVanillaTest.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Tutorials\TutorialVideos\tutorial_command.mp4"> <Content Include="$(MSBuildThisFileDirectory)Content\Tutorials\TutorialVideos\tutorial_command.mp4">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@@ -724,15 +736,6 @@
<Content Include="$(MSBuildThisFileDirectory)Content\Items\Containers\DivingSuitLocker.png"> <Content Include="$(MSBuildThisFileDirectory)Content\Items\Containers\DivingSuitLocker.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Items\Containers\SecureSteelLock.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Items\Containers\SecureSteelLockGreen.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Items\Containers\SecureSteelLockRed.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(MSBuildThisFileDirectory)Content\Items\Diving\DivingSuit_Legs.png"> <Content Include="$(MSBuildThisFileDirectory)Content\Items\Diving\DivingSuit_Legs.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@@ -3332,10 +3335,10 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
<None Include="$(MSBuildThisFileDirectory)Submarines\Remora.sub"> <None Include="$(MSBuildThisFileDirectory)Submarines\Remora.sub">
<CopyToOutputDirectory>Never</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
<None Include="$(MSBuildThisFileDirectory)Submarines\RemoraDrone.sub"> <None Include="$(MSBuildThisFileDirectory)Submarines\RemoraDrone.sub">
<CopyToOutputDirectory>Never</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
<None Include="$(MSBuildThisFileDirectory)Submarines\Selkie.sub"> <None Include="$(MSBuildThisFileDirectory)Submarines\Selkie.sub">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -217,7 +217,6 @@ namespace Barotrauma
currItemPriority = itemPriority; currItemPriority = itemPriority;
targetItem = item; targetItem = item;
moveToTarget = rootContainer ?? item; moveToTarget = rootContainer ?? item;
} }
//if searched through all the items and a target wasn't found, can't be completed //if searched through all the items and a target wasn't found, can't be completed
if (currSearchIndex >= Item.ItemList.Count - 1 && targetItem == null) if (currSearchIndex >= Item.ItemList.Count - 1 && targetItem == null)
@@ -199,11 +199,5 @@ namespace Barotrauma
float interactionDistance = Target is Item i ? ConvertUnits.ToSimUnits(i.InteractDistance * 0.9f) : 0; float interactionDistance = Target is Item i ? ConvertUnits.ToSimUnits(i.InteractDistance * 0.9f) : 0;
CloseEnough = Math.Max(interactionDistance, CloseEnough); CloseEnough = Math.Max(interactionDistance, CloseEnough);
} }
private void CalculateCloseEnough()
{
float interactionDistance = Target is Item i ? ConvertUnits.ToSimUnits(i.InteractDistance * 0.9f) : 0;
CloseEnough = Math.Max(interactionDistance, CloseEnough);
}
} }
} }
@@ -74,21 +74,6 @@ namespace Barotrauma
} }
} }
public override void Update(float deltaTime)
{
if (objectiveManager.CurrentObjective == this)
{
if (randomTimer > 0)
{
randomTimer -= deltaTime;
}
else
{
SetRandom();
}
}
}
public override bool IsCompleted() => false; public override bool IsCompleted() => false;
public override bool CanBeCompleted => true; public override bool CanBeCompleted => true;
@@ -82,6 +82,10 @@ namespace Barotrauma
{ {
isCompleted = true; isCompleted = true;
} }
if (component.AIOperate(deltaTime, character, this))
{
isCompleted = true;
}
} }
else else
{ {
@@ -2023,6 +2023,10 @@ namespace Barotrauma
{ {
IsRagdolled = IsForceRagdolled; IsRagdolled = IsForceRagdolled;
} }
else if (IsRemotePlayer)
{
IsRagdolled = IsKeyDown(InputType.Ragdoll);
}
//Keep us ragdolled if we were forced or we're too speedy to unragdoll //Keep us ragdolled if we were forced or we're too speedy to unragdoll
else if (allowRagdoll && (!IsRagdolled || AnimController.Collider.LinearVelocity.LengthSquared() < 1f)) else if (allowRagdoll && (!IsRagdolled || AnimController.Collider.LinearVelocity.LengthSquared() < 1f))
{ {
@@ -68,7 +68,7 @@ namespace Barotrauma
if (!CheatsEnabled && IsCheat) if (!CheatsEnabled && IsCheat)
{ {
NewMessage("You need to enable cheats using the command \"enablecheats\" before you can use the command \"" + names[0] + "\".", Color.Red); NewMessage("You need to enable cheats using the command \"enablecheats\" before you can use the command \"" + names[0] + "\".", Color.Red);
if (GameMain.Config.UseSteam) if (Steam.SteamManager.USE_STEAM)
{ {
NewMessage("Enabling cheats will disable Steam achievements during this play session.", Color.Red); NewMessage("Enabling cheats will disable Steam achievements during this play session.", Color.Red);
} }
@@ -12,7 +12,7 @@ namespace Barotrauma
public bool CheatsEnabled; public bool CheatsEnabled;
const int InitialMoney = 4700; const int InitialMoney = 8700;
public const int HullRepairCost = 500, ItemRepairCost = 500; public const int HullRepairCost = 500, ItemRepairCost = 500;
protected bool watchmenSpawned; protected bool watchmenSpawned;
@@ -184,7 +184,7 @@ namespace Barotrauma
if (CheatsEnabled) if (CheatsEnabled)
{ {
DebugConsole.CheatsEnabled = true; DebugConsole.CheatsEnabled = true;
if (GameMain.Config.UseSteam && !SteamAchievementManager.CheatsEnabled) if (Steam.SteamManager.USE_STEAM && !SteamAchievementManager.CheatsEnabled)
{ {
SteamAchievementManager.CheatsEnabled = true; SteamAchievementManager.CheatsEnabled = true;
#if CLIENT #if CLIENT
@@ -43,6 +43,7 @@ namespace Barotrauma
public bool SpecularityEnabled { get; set; } public bool SpecularityEnabled { get; set; }
public bool ChromaticAberrationEnabled { get; set; } public bool ChromaticAberrationEnabled { get; set; }
public bool PauseOnFocusLost { get; set; } = true;
public bool MuteOnFocusLost { get; set; } public bool MuteOnFocusLost { get; set; }
public bool UseDirectionalVoiceChat { get; set; } public bool UseDirectionalVoiceChat { get; set; }
@@ -77,24 +78,17 @@ namespace Barotrauma
#if DEBUG #if DEBUG
//steam functionality can be enabled/disabled in debug builds //steam functionality can be enabled/disabled in debug builds
public bool UseSteam;
public bool RequireSteamAuthentication public bool RequireSteamAuthentication
{ {
get { return requireSteamAuthentication && UseSteam; } get { return requireSteamAuthentication && Steam.SteamManager.USE_STEAM; }
set { requireSteamAuthentication = value; } set { requireSteamAuthentication = value; }
} }
public bool UseSteamMatchmaking public bool UseSteamMatchmaking
{ {
get { return useSteamMatchmaking && UseSteam; } get { return useSteamMatchmaking && Steam.SteamManager.USE_STEAM; }
set { useSteamMatchmaking = value; } set { useSteamMatchmaking = value; }
} }
#else #else
//steam functionality determined at compile time
public bool UseSteam
{
get { return Steam.SteamManager.USE_STEAM; }
}
public bool RequireSteamAuthentication public bool RequireSteamAuthentication
{ {
get { return requireSteamAuthentication && Steam.SteamManager.USE_STEAM; } get { return requireSteamAuthentication && Steam.SteamManager.USE_STEAM; }
@@ -438,9 +432,6 @@ namespace Barotrauma
VerboseLogging = doc.Root.GetAttributeBool("verboselogging", false); VerboseLogging = doc.Root.GetAttributeBool("verboselogging", false);
SaveDebugConsoleLogs = doc.Root.GetAttributeBool("savedebugconsolelogs", false); SaveDebugConsoleLogs = doc.Root.GetAttributeBool("savedebugconsolelogs", false);
#if DEBUG
UseSteam = doc.Root.GetAttributeBool("usesteam", true);
#endif
QuickStartSubmarineName = doc.Root.GetAttributeString("quickstartsub", ""); QuickStartSubmarineName = doc.Root.GetAttributeString("quickstartsub", "");
if (doc == null) if (doc == null)
@@ -850,6 +841,7 @@ namespace Barotrauma
EnableSplashScreen = doc.Root.GetAttributeBool("enablesplashscreen", EnableSplashScreen); EnableSplashScreen = doc.Root.GetAttributeBool("enablesplashscreen", EnableSplashScreen);
PauseOnFocusLost = doc.Root.GetAttributeBool("pauseonfocuslost", PauseOnFocusLost);
AimAssistAmount = doc.Root.GetAttributeFloat("aimassistamount", AimAssistAmount); AimAssistAmount = doc.Root.GetAttributeFloat("aimassistamount", AimAssistAmount);
EnableMouseLook = doc.Root.GetAttributeBool("enablemouselook", EnableMouseLook); EnableMouseLook = doc.Root.GetAttributeBool("enablemouselook", EnableMouseLook);
@@ -1047,6 +1039,7 @@ namespace Barotrauma
new XAttribute("quickstartsub", QuickStartSubmarineName), new XAttribute("quickstartsub", QuickStartSubmarineName),
new XAttribute("requiresteamauthentication", requireSteamAuthentication), new XAttribute("requiresteamauthentication", requireSteamAuthentication),
new XAttribute("autoupdateworkshopitems", AutoUpdateWorkshopItems), new XAttribute("autoupdateworkshopitems", AutoUpdateWorkshopItems),
new XAttribute("pauseonfocuslost", PauseOnFocusLost),
new XAttribute("aimassistamount", aimAssistAmount), new XAttribute("aimassistamount", aimAssistAmount),
new XAttribute("enablemouselook", EnableMouseLook), new XAttribute("enablemouselook", EnableMouseLook),
new XAttribute("chatopen", ChatOpen), new XAttribute("chatopen", ChatOpen),
@@ -1155,9 +1148,9 @@ namespace Barotrauma
{ {
foreach (Tutorial tutorial in Tutorial.Tutorials) foreach (Tutorial tutorial in Tutorial.Tutorials)
{ {
if (tutorial.Completed && !CompletedTutorialNames.Contains(tutorial.Name)) if (tutorial.Completed && !CompletedTutorialNames.Contains(tutorial.Identifier))
{ {
CompletedTutorialNames.Add(tutorial.Name); CompletedTutorialNames.Add(tutorial.Identifier);
} }
} }
} }
@@ -580,8 +580,8 @@ namespace Barotrauma.Items.Components
public virtual bool HasRequiredItems(Character character, bool addMessage, string msg = null) public virtual bool HasRequiredItems(Character character, bool addMessage, string msg = null)
{ {
if (!requiredItems.Any()) return true; if (!requiredItems.Any()) { return true; }
if (character.Inventory == null) return false; if (character.Inventory == null) { return false; }
bool hasRequiredItems = false; bool hasRequiredItems = false;
bool canContinue = true; bool canContinue = true;
if (requiredItems.ContainsKey(RelatedItem.RelationType.Equipped)) if (requiredItems.ContainsKey(RelatedItem.RelationType.Equipped))
@@ -615,7 +615,15 @@ namespace Barotrauma.Items.Components
{ {
bool Predicate(Item it) => it != null && it.Condition > 0.0f && relatedItem.MatchesItem(it); bool Predicate(Item it) => it != null && it.Condition > 0.0f && relatedItem.MatchesItem(it);
bool shouldBreak = false; bool shouldBreak = false;
if (relatedItem.IsOptional) bool inEditor = false;
#if CLIENT
inEditor = Screen.Selected == GameMain.SubEditorScreen;
#endif
if (relatedItem.IgnoreInEditor && inEditor)
{
hasRequiredItems = true;
}
else if (relatedItem.IsOptional)
{ {
if (!hasRequiredItems) if (!hasRequiredItems)
{ {
@@ -784,6 +792,7 @@ namespace Barotrauma.Items.Components
newRequiredItem.statusEffects = prevRequiredItem.statusEffects; newRequiredItem.statusEffects = prevRequiredItem.statusEffects;
newRequiredItem.Msg = prevRequiredItem.Msg; newRequiredItem.Msg = prevRequiredItem.Msg;
newRequiredItem.IsOptional = prevRequiredItem.IsOptional; newRequiredItem.IsOptional = prevRequiredItem.IsOptional;
newRequiredItem.IgnoreInEditor = prevRequiredItem.IgnoreInEditor;
} }
if (!requiredItems.ContainsKey(newRequiredItem.Type)) if (!requiredItems.ContainsKey(newRequiredItem.Type))
@@ -829,6 +829,25 @@ namespace Barotrauma.Items.Components
} }
} }
if (targetItem.Prefab.DeconstructItems.Any())
{
inputContainer.Inventory.RemoveItem(targetItem);
Entity.Spawner.AddToRemoveQueue(targetItem);
MoveInputQueue();
PutItemsToLinkedContainer();
}
else
{
if (outputContainer.Inventory.Items.All(i => i != null))
{
targetItem.Drop(dropper: null);
}
else
{
outputContainer.Inventory.TryPutItem(targetItem, user: null, createNetworkEvent: true);
}
}
if (targetItem.Prefab.DeconstructItems.Any()) if (targetItem.Prefab.DeconstructItems.Any())
{ {
inputContainer.Inventory.RemoveItem(targetItem); inputContainer.Inventory.RemoveItem(targetItem);
@@ -212,33 +212,6 @@ namespace Barotrauma.Items.Components
} }
} }
public Vector2? PosToMaintain
{
get { return posToMaintain; }
set { posToMaintain = value; }
}
struct ObstacleDebugInfo
{
public Vector2 Point1;
public Vector2 Point2;
public Vector2? Intersection;
public float Dot;
public Vector2 AvoidStrength;
public ObstacleDebugInfo(GraphEdge edge, Vector2? intersection, float dot, Vector2 avoidStrength)
{
Point1 = edge.Point1;
Point2 = edge.Point2;
Intersection = intersection;
Dot = dot;
AvoidStrength = avoidStrength;
}
}
//edge point 1, edge point 2, avoid strength //edge point 1, edge point 2, avoid strength
private List<ObstacleDebugInfo> debugDrawObstacles = new List<ObstacleDebugInfo>(); private List<ObstacleDebugInfo> debugDrawObstacles = new List<ObstacleDebugInfo>();
@@ -1464,6 +1464,10 @@ namespace Barotrauma
{ {
ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime); ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime);
} }
if (!broken)
{
ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime);
}
ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime); ApplyStatusEffects(!waterProof && inWater ? ActionType.InWater : ActionType.NotInWater, deltaTime);
if (body == null || !body.Enabled || !inWater || ParentInventory != null || Removed) { return; } if (body == null || !body.Enabled || !inWater || ParentInventory != null || Removed) { return; }
@@ -17,8 +17,8 @@ namespace Barotrauma
} }
public bool IsOptional { get; set; } public bool IsOptional { get; set; }
private string[] identifiers; public bool IgnoreInEditor { get; set; }
private string[] excludedIdentifiers; private string[] excludedIdentifiers;
@@ -35,23 +35,20 @@ namespace Barotrauma
public string JoinedIdentifiers public string JoinedIdentifiers
{ {
get { return string.Join(",", identifiers); } get { return string.Join(",", Identifiers); }
set set
{ {
if (value == null) return; if (value == null) return;
identifiers = value.Split(','); Identifiers = value.Split(',');
for (int i = 0; i < identifiers.Length; i++) for (int i = 0; i < Identifiers.Length; i++)
{ {
identifiers[i] = identifiers[i].Trim().ToLowerInvariant(); Identifiers[i] = Identifiers[i].Trim().ToLowerInvariant();
} }
} }
} }
public string[] Identifiers public string[] Identifiers { get; private set; }
{
get { return identifiers; }
}
public string JoinedExcludedIdentifiers public string JoinedExcludedIdentifiers
{ {
@@ -72,7 +69,7 @@ namespace Barotrauma
{ {
if (item == null) return false; if (item == null) return false;
if (excludedIdentifiers.Any(id => item.Prefab.Identifier == id || item.HasTag(id))) return false; if (excludedIdentifiers.Any(id => item.Prefab.Identifier == id || item.HasTag(id))) return false;
return identifiers.Any(id => item.Prefab.Identifier == id || item.HasTag(id)); return Identifiers.Any(id => item.Prefab.Identifier == id || item.HasTag(id));
} }
public RelatedItem(string[] identifiers, string[] excludedIdentifiers) public RelatedItem(string[] identifiers, string[] excludedIdentifiers)
@@ -81,7 +78,7 @@ namespace Barotrauma
{ {
identifiers[i] = identifiers[i].Trim().ToLowerInvariant(); identifiers[i] = identifiers[i].Trim().ToLowerInvariant();
} }
this.identifiers = identifiers; this.Identifiers = identifiers;
for (int i = 0; i < excludedIdentifiers.Length; i++) for (int i = 0; i < excludedIdentifiers.Length; i++)
{ {
@@ -141,7 +138,8 @@ namespace Barotrauma
element.Add( element.Add(
new XAttribute("identifiers", JoinedIdentifiers), new XAttribute("identifiers", JoinedIdentifiers),
new XAttribute("type", type.ToString()), new XAttribute("type", type.ToString()),
new XAttribute("optional", IsOptional)); new XAttribute("optional", IsOptional),
new XAttribute("ignoreineditor", IgnoreInEditor));
if (excludedIdentifiers.Length > 0) if (excludedIdentifiers.Length > 0)
{ {
@@ -223,6 +221,7 @@ namespace Barotrauma
} }
ri.IsOptional = element.GetAttributeBool("optional", false); ri.IsOptional = element.GetAttributeBool("optional", false);
ri.IgnoreInEditor = element.GetAttributeBool("ignoreineditor", false);
return ri; return ri;
} }
} }
@@ -645,6 +645,25 @@ namespace Barotrauma
} }
} }
public string DisplayName
{
get;
private set;
}
private string roomName;
[Editable, Serialize("", true, translationTextTag: "RoomName.")]
public string RoomName
{
get { return roomName; }
set
{
if (roomName == value) { return; }
roomName = value;
DisplayName = TextManager.Get(roomName, returnNull: true) ?? roomName;
}
}
public override Rectangle Rect public override Rectangle Rect
{ {
get get
@@ -7,15 +7,7 @@ namespace Barotrauma.Steam
{ {
partial class SteamManager partial class SteamManager
{ {
#if DEBUG
public static bool USE_STEAM
{
get { return GameMain.Config.UseSteam; }
}
#else
//cannot enable/disable steam in release builds
public const bool USE_STEAM = true; public const bool USE_STEAM = true;
#endif
public const uint AppID = 602960; public const uint AppID = 602960;
@@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq;
namespace Barotrauma namespace Barotrauma
{ {
@@ -15,7 +16,15 @@ namespace Barotrauma
private static string[] serverMessageCharacters = new string[] { "~", "[", "]", "=" }; private static string[] serverMessageCharacters = new string[] { "~", "[", "]", "=" };
public static string Language; public static string Language;
public static bool NoWhiteSpace
{
get
{
if (!textPacks.ContainsKey(Language)) { return false; }
return textPacks[Language].Any(t => t.NoWhiteSpace);
}
}
private static HashSet<string> availableLanguages = new HashSet<string>(); private static HashSet<string> availableLanguages = new HashSet<string>();
public static IEnumerable<string> AvailableLanguages public static IEnumerable<string> AvailableLanguages
{ {
@@ -12,7 +12,9 @@ namespace Barotrauma
private Dictionary<string, List<string>> texts; private Dictionary<string, List<string>> texts;
private string filePath; public readonly bool NoWhiteSpace;
private readonly string filePath;
public TextPack(string filePath) public TextPack(string filePath)
{ {
@@ -23,6 +25,7 @@ namespace Barotrauma
if (doc == null || doc.Root == null) return; if (doc == null || doc.Root == null) return;
Language = doc.Root.GetAttributeString("language", "Unknown"); Language = doc.Root.GetAttributeString("language", "Unknown");
NoWhiteSpace = doc.Root.GetAttributeBool("nowhitespace", false);
foreach (XElement subElement in doc.Root.Elements()) foreach (XElement subElement in doc.Root.Elements())
{ {
Binary file not shown.
Binary file not shown.
Binary file not shown.
+234 -34
View File
@@ -61,7 +61,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MacClient", "Barotrauma\Bar
{85232B20-074D-4723-B0C6-91495391E448} = {85232B20-074D-4723-B0C6-91495391E448} {85232B20-074D-4723-B0C6-91495391E448} = {85232B20-074D-4723-B0C6-91495391E448}
EndProjectSection EndProjectSection
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Concentus", "Libraries\Concentus\CSharp\Concentus\Concentus.csproj", "{777A5414-CAE5-4011-96DF-C9661985917E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Concentus", "Libraries\Concentus\CSharp\Concentus\Concentus.csproj", "{0E7FEE6A-15E5-4A4E-943C-80276003478C}"
EndProject EndProject
Global Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution GlobalSection(SharedMSBuildProjectFiles) = preSolution
@@ -85,377 +85,577 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
DebugLinux|Any CPU = DebugLinux|Any CPU DebugLinux|Any CPU = DebugLinux|Any CPU
DebugLinux|x64 = DebugLinux|x64 DebugLinux|x64 = DebugLinux|x64
DebugLinux|x86 = DebugLinux|x86
DebugMac|Any CPU = DebugMac|Any CPU DebugMac|Any CPU = DebugMac|Any CPU
DebugMac|x64 = DebugMac|x64 DebugMac|x64 = DebugMac|x64
DebugMac|x86 = DebugMac|x86
DebugWindows|Any CPU = DebugWindows|Any CPU DebugWindows|Any CPU = DebugWindows|Any CPU
DebugWindows|x64 = DebugWindows|x64 DebugWindows|x64 = DebugWindows|x64
DebugWindows|x86 = DebugWindows|x86
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64 Release|x64 = Release|x64
Release|x86 = Release|x86
ReleaseLinux|Any CPU = ReleaseLinux|Any CPU ReleaseLinux|Any CPU = ReleaseLinux|Any CPU
ReleaseLinux|x64 = ReleaseLinux|x64 ReleaseLinux|x64 = ReleaseLinux|x64
ReleaseLinux|x86 = ReleaseLinux|x86
ReleaseMac|Any CPU = ReleaseMac|Any CPU ReleaseMac|Any CPU = ReleaseMac|Any CPU
ReleaseMac|x64 = ReleaseMac|x64 ReleaseMac|x64 = ReleaseMac|x64
ReleaseMac|x86 = ReleaseMac|x86
ReleaseWindows|Any CPU = ReleaseWindows|Any CPU ReleaseWindows|Any CPU = ReleaseWindows|Any CPU
ReleaseWindows|x64 = ReleaseWindows|x64 ReleaseWindows|x64 = ReleaseWindows|x64
ReleaseWindows|x86 = ReleaseWindows|x86
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{008C0F83-E914-4966-9135-EA885059EDD8}.Debug|Any CPU.ActiveCfg = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.Debug|Any CPU.ActiveCfg = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.Debug|Any CPU.Build.0 = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.Debug|Any CPU.Build.0 = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.Debug|x64.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.Debug|x64.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.Debug|x64.Build.0 = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.Debug|x64.Build.0 = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.Debug|x86.ActiveCfg = DebugWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.Debug|x86.Build.0 = DebugWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|Any CPU.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|Any CPU.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|Any CPU.Build.0 = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|Any CPU.Build.0 = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|x64.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|x64.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|x86.ActiveCfg = DebugWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugLinux|x86.Build.0 = DebugWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugMac|Any CPU.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugMac|Any CPU.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugMac|Any CPU.Build.0 = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugMac|Any CPU.Build.0 = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugMac|x64.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugMac|x64.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugMac|x86.ActiveCfg = DebugWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugMac|x86.Build.0 = DebugWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugWindows|Any CPU.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugWindows|Any CPU.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugWindows|x64.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugWindows|x64.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.DebugWindows|x64.Build.0 = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.DebugWindows|x64.Build.0 = DebugWindows|x64
{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|Any CPU.ActiveCfg = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.Release|Any CPU.ActiveCfg = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.Release|Any CPU.Build.0 = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.Release|Any CPU.Build.0 = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.Release|x64.ActiveCfg = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.Release|x64.ActiveCfg = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.Release|x64.Build.0 = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.Release|x64.Build.0 = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.Release|x86.ActiveCfg = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.Release|x86.Build.0 = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|Any CPU.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|Any CPU.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|Any CPU.Build.0 = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|Any CPU.Build.0 = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|x64.ActiveCfg = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|x64.ActiveCfg = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|x86.ActiveCfg = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseLinux|x86.Build.0 = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseMac|Any CPU.ActiveCfg = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseMac|Any CPU.ActiveCfg = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseMac|Any CPU.Build.0 = DebugWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseMac|Any CPU.Build.0 = DebugWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseMac|x64.ActiveCfg = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseMac|x64.ActiveCfg = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseMac|x86.ActiveCfg = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseMac|x86.Build.0 = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|Any CPU.ActiveCfg = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|Any CPU.ActiveCfg = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|x64.ActiveCfg = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|x64.ActiveCfg = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|x64.Build.0 = ReleaseWindows|x64 {008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|x64.Build.0 = ReleaseWindows|x64
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|x86
{008C0F83-E914-4966-9135-EA885059EDD8}.ReleaseWindows|x86.Build.0 = ReleaseWindows|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|Any CPU.Build.0 = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|x64.ActiveCfg = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|x64.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|x64.Build.0 = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|x64.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|x86.ActiveCfg = Debug|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Debug|x86.Build.0 = Debug|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|x64.ActiveCfg = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|x64.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|x64.Build.0 = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|x64.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|x86.ActiveCfg = Debug|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugLinux|x86.Build.0 = Debug|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|Any CPU.Build.0 = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|x64.ActiveCfg = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|x64.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|x64.Build.0 = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|x64.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|x86.ActiveCfg = Debug|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugMac|x86.Build.0 = Debug|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|x64.ActiveCfg = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|x64.ActiveCfg = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|x64.Build.0 = Debug|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|x64.Build.0 = Debug|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|x86.ActiveCfg = Debug|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.DebugWindows|x86.Build.0 = Debug|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|Any CPU.ActiveCfg = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|Any CPU.Build.0 = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|Any CPU.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|x64.ActiveCfg = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|x64.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|x64.Build.0 = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|x64.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|x86.ActiveCfg = Release|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.Release|x86.Build.0 = Release|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|x64.Build.0 = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|x64.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|x86.ActiveCfg = Release|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseLinux|x86.Build.0 = Release|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|x64.ActiveCfg = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|x64.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|x64.Build.0 = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|x64.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|x86.ActiveCfg = Release|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseMac|x86.Build.0 = Release|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|x64.Build.0 = Release|Any CPU {49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|x64.Build.0 = Release|Any CPU
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|x86.ActiveCfg = Release|x86
{49BA1C69-6104-41AC-A5D8-B54FA9F696E8}.ReleaseWindows|x86.Build.0 = Release|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|Any CPU.Build.0 = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|x64.ActiveCfg = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|x64.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|x64.Build.0 = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|x64.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|x86.ActiveCfg = Debug|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Debug|x86.Build.0 = Debug|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|x64.ActiveCfg = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|x64.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|x64.Build.0 = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|x64.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|x86.ActiveCfg = Debug|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugLinux|x86.Build.0 = Debug|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|Any CPU.Build.0 = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|x64.ActiveCfg = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|x64.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|x64.Build.0 = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|x64.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|x86.ActiveCfg = Debug|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugMac|x86.Build.0 = Debug|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|x64.ActiveCfg = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|x64.ActiveCfg = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|x64.Build.0 = Debug|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|x64.Build.0 = Debug|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|x86.ActiveCfg = Debug|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.DebugWindows|x86.Build.0 = Debug|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|Any CPU.ActiveCfg = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|Any CPU.Build.0 = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|Any CPU.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|x64.ActiveCfg = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|x64.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|x64.Build.0 = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|x64.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|x86.ActiveCfg = Release|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.Release|x86.Build.0 = Release|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|x64.Build.0 = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|x64.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|x86.ActiveCfg = Release|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseLinux|x86.Build.0 = Release|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|x64.ActiveCfg = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|x64.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|x64.Build.0 = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|x64.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|x86.ActiveCfg = Release|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseMac|x86.Build.0 = Release|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|x64.Build.0 = Release|Any CPU {3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|x64.Build.0 = Release|Any CPU
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|x86.ActiveCfg = Release|x86
{3B8F9EDB-6E5E-450C-ABC2-EC49075D0B50}.ReleaseWindows|x86.Build.0 = Release|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|Any CPU.Build.0 = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|x64.ActiveCfg = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|x64.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|x64.Build.0 = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|x64.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|x86.ActiveCfg = Debug|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Debug|x86.Build.0 = Debug|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|x64.ActiveCfg = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|x64.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|x64.Build.0 = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|x64.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|x86.ActiveCfg = Debug|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugLinux|x86.Build.0 = Debug|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|Any CPU.Build.0 = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|x64.ActiveCfg = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|x64.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|x64.Build.0 = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|x64.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|x86.ActiveCfg = Debug|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugMac|x86.Build.0 = Debug|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|x64.ActiveCfg = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|x64.ActiveCfg = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|x64.Build.0 = Debug|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|x64.Build.0 = Debug|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|x86.ActiveCfg = Debug|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.DebugWindows|x86.Build.0 = Debug|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|Any CPU.ActiveCfg = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|Any CPU.Build.0 = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|Any CPU.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|x64.ActiveCfg = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|x64.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|x64.Build.0 = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|x64.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|x86.ActiveCfg = Release|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.Release|x86.Build.0 = Release|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|x64.Build.0 = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|x64.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|x86.ActiveCfg = Release|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseLinux|x86.Build.0 = Release|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|x64.ActiveCfg = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|x64.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|x64.Build.0 = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|x64.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|x86.ActiveCfg = Release|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseMac|x86.Build.0 = Release|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|x64.Build.0 = Release|Any CPU {C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|x64.Build.0 = Release|Any CPU
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|x86.ActiveCfg = Release|x86
{C293DB32-FA42-486D-B128-5A12522FAE4E}.ReleaseWindows|x86.Build.0 = Release|x86
{85232B20-074D-4723-B0C6-91495391E448}.Debug|Any CPU.ActiveCfg = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.Debug|Any CPU.ActiveCfg = ReleaseWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.Debug|Any CPU.Build.0 = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.Debug|Any CPU.Build.0 = ReleaseWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.Debug|x64.ActiveCfg = DebugWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.Debug|x64.ActiveCfg = DebugWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.Debug|x64.Build.0 = DebugWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.Debug|x64.Build.0 = DebugWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.Debug|x86.ActiveCfg = DebugWindows|x86
{85232B20-074D-4723-B0C6-91495391E448}.Debug|x86.Build.0 = DebugWindows|x86
{85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|Any CPU.ActiveCfg = DebugLinux|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|Any CPU.ActiveCfg = DebugLinux|x64
{85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|Any CPU.Build.0 = DebugLinux|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|Any CPU.Build.0 = DebugLinux|x64
{85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|x64.ActiveCfg = DebugLinux|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|x64.ActiveCfg = DebugLinux|x64
{85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|x64.Build.0 = DebugLinux|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugLinux|x64.Build.0 = DebugLinux|x64
{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}.DebugMac|Any CPU.ActiveCfg = DebugMac|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugMac|Any CPU.ActiveCfg = DebugMac|x64
{85232B20-074D-4723-B0C6-91495391E448}.DebugMac|x64.ActiveCfg = DebugMac|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugMac|x64.ActiveCfg = DebugMac|x64
{85232B20-074D-4723-B0C6-91495391E448}.DebugMac|x64.Build.0 = DebugMac|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugMac|x64.Build.0 = DebugMac|x64
{85232B20-074D-4723-B0C6-91495391E448}.DebugMac|x86.ActiveCfg = DebugMac|x86
{85232B20-074D-4723-B0C6-91495391E448}.DebugMac|x86.Build.0 = DebugMac|x86
{85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|Any CPU.ActiveCfg = DebugWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|Any CPU.ActiveCfg = DebugWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|x64.ActiveCfg = DebugWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|x64.ActiveCfg = DebugWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|x64.Build.0 = DebugWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.DebugWindows|x64.Build.0 = DebugWindows|x64
{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|Any CPU.ActiveCfg = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.Release|Any CPU.ActiveCfg = ReleaseWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.Release|Any CPU.Build.0 = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.Release|Any CPU.Build.0 = ReleaseWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.Release|x64.ActiveCfg = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.Release|x64.ActiveCfg = ReleaseWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.Release|x64.Build.0 = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.Release|x64.Build.0 = ReleaseWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.Release|x86.ActiveCfg = ReleaseWindows|x86
{85232B20-074D-4723-B0C6-91495391E448}.Release|x86.Build.0 = ReleaseWindows|x86
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|x64
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|x64
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|x64.Build.0 = ReleaseLinux|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseLinux|x64.Build.0 = ReleaseLinux|x64
{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}.ReleaseMac|Any CPU.ActiveCfg = ReleaseMac|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseMac|Any CPU.ActiveCfg = ReleaseMac|x64
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseMac|x64.ActiveCfg = ReleaseMac|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseMac|x64.ActiveCfg = ReleaseMac|x64
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseMac|x64.Build.0 = ReleaseMac|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseMac|x64.Build.0 = ReleaseMac|x64
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseMac|x86.ActiveCfg = ReleaseMac|x86
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseMac|x86.Build.0 = ReleaseMac|x86
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|Any CPU.ActiveCfg = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|Any CPU.ActiveCfg = ReleaseWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|x64.ActiveCfg = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|x64.ActiveCfg = ReleaseWindows|x64
{85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|x64.Build.0 = ReleaseWindows|x64 {85232B20-074D-4723-B0C6-91495391E448}.ReleaseWindows|x64.Build.0 = ReleaseWindows|x64
{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|Any CPU.ActiveCfg = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|Any CPU.Build.0 = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|x64.ActiveCfg = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|x64.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|x64.Build.0 = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|x64.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|x86.ActiveCfg = Debug|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Debug|x86.Build.0 = Debug|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|x64.ActiveCfg = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|x64.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|x64.Build.0 = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|x64.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|x86.ActiveCfg = Debug|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugLinux|x86.Build.0 = Debug|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|Any CPU.Build.0 = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|x64.ActiveCfg = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|x64.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|x64.Build.0 = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|x64.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|x86.ActiveCfg = Debug|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugMac|x86.Build.0 = Debug|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|x64.ActiveCfg = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|x64.ActiveCfg = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|x64.Build.0 = Debug|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|x64.Build.0 = Debug|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|x86.ActiveCfg = Debug|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.DebugWindows|x86.Build.0 = Debug|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|Any CPU.ActiveCfg = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|Any CPU.Build.0 = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|Any CPU.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|x64.ActiveCfg = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|x64.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|x64.Build.0 = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|x64.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|x86.ActiveCfg = Release|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.Release|x86.Build.0 = Release|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|x64.Build.0 = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|x64.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|x86.ActiveCfg = Release|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseLinux|x86.Build.0 = Release|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|x64.ActiveCfg = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|x64.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|x64.Build.0 = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|x64.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|x86.ActiveCfg = Release|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseMac|x86.Build.0 = Release|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|x64.Build.0 = Release|Any CPU {A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|x64.Build.0 = Release|Any CPU
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|x86.ActiveCfg = Release|x86
{A4610E4C-DD34-428B-BABB-779CA0B5993A}.ReleaseWindows|x86.Build.0 = Release|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|Any CPU.Build.0 = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|x64.ActiveCfg = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|x64.ActiveCfg = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|x64.Build.0 = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|x64.Build.0 = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|x86.ActiveCfg = Debug|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Debug|x86.Build.0 = Debug|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|x64.ActiveCfg = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|x64.ActiveCfg = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|x64.Build.0 = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|x64.Build.0 = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|x86.ActiveCfg = Debug|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugLinux|x86.Build.0 = Debug|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|Any CPU.Build.0 = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|x64.ActiveCfg = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|x64.ActiveCfg = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|x64.Build.0 = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|x64.Build.0 = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|x86.ActiveCfg = Debug|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugMac|x86.Build.0 = Debug|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|x64.ActiveCfg = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|x64.ActiveCfg = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|x64.Build.0 = Debug|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|x64.Build.0 = Debug|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|x86.ActiveCfg = Debug|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.DebugWindows|x86.Build.0 = Debug|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|Any CPU.ActiveCfg = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|Any CPU.Build.0 = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|Any CPU.Build.0 = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|x64.ActiveCfg = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|x64.ActiveCfg = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|x64.Build.0 = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|x64.Build.0 = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|x86.ActiveCfg = Release|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.Release|x86.Build.0 = Release|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|x64.Build.0 = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|x64.Build.0 = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|x86.ActiveCfg = Release|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseLinux|x86.Build.0 = Release|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|x64.ActiveCfg = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|x64.ActiveCfg = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|x64.Build.0 = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|x64.Build.0 = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|x86.ActiveCfg = Release|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseMac|x86.Build.0 = Release|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|x64.Build.0 = Release|Any CPU {3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|x64.Build.0 = Release|Any CPU
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|x86.ActiveCfg = Release|x86
{3AF0347C-5A9B-4421-868C-8EE3DBFAEBC6}.ReleaseWindows|x86.Build.0 = Release|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|Any CPU.ActiveCfg = DebugWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|Any CPU.ActiveCfg = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|Any CPU.Build.0 = DebugWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|Any CPU.Build.0 = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|x64.ActiveCfg = DebugWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|x64.ActiveCfg = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|x64.Build.0 = DebugWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|x64.Build.0 = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|x86.ActiveCfg = DebugMac|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Debug|x86.Build.0 = DebugMac|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|Any CPU.ActiveCfg = DebugLinux|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|Any CPU.ActiveCfg = DebugLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|Any CPU.Build.0 = DebugLinux|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|Any CPU.Build.0 = DebugLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|x64.ActiveCfg = DebugLinux|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|x64.ActiveCfg = DebugLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|x64.Build.0 = DebugLinux|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|x64.Build.0 = DebugLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|x86.ActiveCfg = DebugLinux|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugLinux|x86.Build.0 = DebugLinux|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|Any CPU.ActiveCfg = DebugMac|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|Any CPU.ActiveCfg = DebugMac|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|Any CPU.Build.0 = DebugMac|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|Any CPU.Build.0 = DebugMac|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|x64.ActiveCfg = DebugMac|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|x64.ActiveCfg = DebugMac|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|x64.Build.0 = DebugMac|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|x64.Build.0 = DebugMac|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|x86.ActiveCfg = DebugMac|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugMac|x86.Build.0 = DebugMac|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|Any CPU.ActiveCfg = DebugWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|Any CPU.ActiveCfg = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|Any CPU.Build.0 = DebugWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|Any CPU.Build.0 = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|x64.ActiveCfg = DebugWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|x64.ActiveCfg = DebugWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|x86.ActiveCfg = DebugWindows|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.DebugWindows|x86.Build.0 = DebugWindows|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|Any CPU.ActiveCfg = ReleaseWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|Any CPU.ActiveCfg = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|Any CPU.Build.0 = ReleaseWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|Any CPU.Build.0 = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|x64.ActiveCfg = ReleaseWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|x64.ActiveCfg = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|x64.Build.0 = ReleaseWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|x64.Build.0 = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|x86.ActiveCfg = ReleaseMac|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.Release|x86.Build.0 = ReleaseMac|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|Any CPU.Build.0 = ReleaseLinux|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|Any CPU.Build.0 = ReleaseLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|x64.Build.0 = ReleaseLinux|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|x64.Build.0 = ReleaseLinux|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseLinux|x86.Build.0 = ReleaseLinux|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|Any CPU.ActiveCfg = ReleaseMac|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|Any CPU.ActiveCfg = ReleaseMac|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|Any CPU.Build.0 = ReleaseMac|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|Any CPU.Build.0 = ReleaseMac|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|x64.ActiveCfg = ReleaseMac|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|x64.ActiveCfg = ReleaseMac|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|x64.Build.0 = ReleaseMac|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|x64.Build.0 = ReleaseMac|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|x86.ActiveCfg = ReleaseMac|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseMac|x86.Build.0 = ReleaseMac|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|Any CPU.ActiveCfg = ReleaseWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|Any CPU.ActiveCfg = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|Any CPU.Build.0 = ReleaseWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|Any CPU.Build.0 = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|x64.ActiveCfg = ReleaseWindows|Any CPU {0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|x64.ActiveCfg = ReleaseWindows|Any CPU
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|x86
{0AAD36E3-51A5-4A07-AB60-5C8A66BD38B7}.ReleaseWindows|x86.Build.0 = ReleaseWindows|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|Any CPU.Build.0 = Debug|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|Any CPU.Build.0 = Debug|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|x64.ActiveCfg = Debug|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|x64.ActiveCfg = Debug|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|x64.Build.0 = Debug|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|x64.Build.0 = Debug|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|x86.ActiveCfg = Debug|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Debug|x86.Build.0 = Debug|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugLinux|Any CPU.ActiveCfg = DebugLinux|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugLinux|Any CPU.ActiveCfg = DebugLinux|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugLinux|Any CPU.Build.0 = DebugLinux|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugLinux|Any CPU.Build.0 = DebugLinux|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugLinux|x64.ActiveCfg = DebugLinux|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugLinux|x64.ActiveCfg = DebugLinux|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugLinux|x86.ActiveCfg = DebugLinux|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugLinux|x86.Build.0 = DebugLinux|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugMac|Any CPU.ActiveCfg = DebugMac|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugMac|Any CPU.ActiveCfg = DebugMac|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugMac|Any CPU.Build.0 = DebugMac|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugMac|Any CPU.Build.0 = DebugMac|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugMac|x64.ActiveCfg = DebugMac|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugMac|x64.ActiveCfg = DebugMac|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugMac|x86.ActiveCfg = DebugMac|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugMac|x86.Build.0 = DebugMac|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|Any CPU.ActiveCfg = DebugWindows|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|Any CPU.ActiveCfg = DebugWindows|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|Any CPU.Build.0 = DebugWindows|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|Any CPU.Build.0 = DebugWindows|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|x64.ActiveCfg = DebugWindows|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|x64.ActiveCfg = DebugWindows|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|x64.Build.0 = DebugWindows|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|x64.Build.0 = DebugWindows|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|x86.ActiveCfg = DebugWindows|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.DebugWindows|x86.Build.0 = DebugWindows|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|Any CPU.ActiveCfg = Release|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|Any CPU.ActiveCfg = Release|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|Any CPU.Build.0 = Release|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|Any CPU.Build.0 = Release|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|x64.ActiveCfg = Release|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|x64.ActiveCfg = Release|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|x64.Build.0 = Release|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|x64.Build.0 = Release|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|x86.ActiveCfg = Release|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.Release|x86.Build.0 = Release|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseLinux|Any CPU.Build.0 = ReleaseLinux|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseLinux|Any CPU.Build.0 = ReleaseLinux|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseLinux|x86.Build.0 = ReleaseLinux|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseMac|Any CPU.ActiveCfg = ReleaseMac|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseMac|Any CPU.ActiveCfg = ReleaseMac|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseMac|Any CPU.Build.0 = ReleaseMac|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseMac|Any CPU.Build.0 = ReleaseMac|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseMac|x64.ActiveCfg = ReleaseMac|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseMac|x64.ActiveCfg = ReleaseMac|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseMac|x86.ActiveCfg = ReleaseMac|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseMac|x86.Build.0 = ReleaseMac|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|Any CPU.ActiveCfg = ReleaseWindows|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|Any CPU.ActiveCfg = ReleaseWindows|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|Any CPU.Build.0 = ReleaseWindows|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|Any CPU.Build.0 = ReleaseWindows|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|x64.ActiveCfg = ReleaseWindows|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|x64.ActiveCfg = ReleaseWindows|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|x64.Build.0 = ReleaseWindows|Any CPU {830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|x64.Build.0 = ReleaseWindows|Any CPU
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|x86.ActiveCfg = ReleaseWindows|x86
{830461AA-3E2E-4BDE-9B27-1B3280836521}.ReleaseWindows|x86.Build.0 = ReleaseWindows|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|Any CPU.ActiveCfg = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|Any CPU.ActiveCfg = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|Any CPU.Build.0 = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|Any CPU.Build.0 = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|x64.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|x64.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|x64.Build.0 = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|x64.Build.0 = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|x86.ActiveCfg = DebugLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Debug|x86.Build.0 = DebugLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugLinux|Any CPU.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugLinux|Any CPU.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugLinux|x64.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugLinux|x64.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugLinux|x64.Build.0 = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugLinux|x64.Build.0 = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugLinux|x86.ActiveCfg = DebugLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugLinux|x86.Build.0 = DebugLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugMac|Any CPU.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugMac|Any CPU.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugMac|Any CPU.Build.0 = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugMac|Any CPU.Build.0 = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugMac|x64.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugMac|x64.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugMac|x86.ActiveCfg = DebugLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugMac|x86.Build.0 = DebugLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugWindows|Any CPU.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugWindows|Any CPU.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugWindows|Any CPU.Build.0 = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugWindows|Any CPU.Build.0 = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugWindows|x64.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugWindows|x64.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugWindows|x86.ActiveCfg = DebugLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.DebugWindows|x86.Build.0 = DebugLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|Any CPU.ActiveCfg = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|Any CPU.ActiveCfg = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|Any CPU.Build.0 = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|Any CPU.Build.0 = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|x64.ActiveCfg = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|x64.ActiveCfg = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|x64.Build.0 = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|x64.Build.0 = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|x86.ActiveCfg = ReleaseLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.Release|x86.Build.0 = ReleaseLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseLinux|x64.ActiveCfg = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseLinux|x64.Build.0 = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseLinux|x64.Build.0 = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseLinux|x86.ActiveCfg = ReleaseLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseLinux|x86.Build.0 = ReleaseLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseMac|Any CPU.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseMac|Any CPU.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseMac|Any CPU.Build.0 = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseMac|Any CPU.Build.0 = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseMac|x64.ActiveCfg = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseMac|x64.ActiveCfg = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseMac|x86.ActiveCfg = ReleaseLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseMac|x86.Build.0 = ReleaseLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseWindows|Any CPU.ActiveCfg = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseWindows|Any CPU.ActiveCfg = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseWindows|Any CPU.Build.0 = DebugLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseWindows|Any CPU.Build.0 = DebugLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseWindows|x64.ActiveCfg = ReleaseLinux|x64 {D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseWindows|x64.ActiveCfg = ReleaseLinux|x64
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseWindows|x86.ActiveCfg = ReleaseLinux|x86
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7}.ReleaseWindows|x86.Build.0 = ReleaseLinux|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|Any CPU.ActiveCfg = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|Any CPU.ActiveCfg = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|Any CPU.Build.0 = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|Any CPU.Build.0 = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|x64.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|x64.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|x64.Build.0 = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|x64.Build.0 = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|x86.ActiveCfg = DebugMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Debug|x86.Build.0 = DebugMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugLinux|Any CPU.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugLinux|Any CPU.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugLinux|x64.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugLinux|x64.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugLinux|x86.ActiveCfg = DebugMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugLinux|x86.Build.0 = DebugMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|Any CPU.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|Any CPU.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|Any CPU.Build.0 = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|Any CPU.Build.0 = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|x64.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|x64.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|x64.Build.0 = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|x64.Build.0 = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|x86.ActiveCfg = DebugMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugMac|x86.Build.0 = DebugMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugWindows|Any CPU.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugWindows|Any CPU.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugWindows|Any CPU.Build.0 = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugWindows|Any CPU.Build.0 = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugWindows|x64.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugWindows|x64.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugWindows|x86.ActiveCfg = DebugMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.DebugWindows|x86.Build.0 = DebugMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|Any CPU.ActiveCfg = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|Any CPU.ActiveCfg = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|Any CPU.Build.0 = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|Any CPU.Build.0 = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|x64.ActiveCfg = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|x64.ActiveCfg = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|x64.Build.0 = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|x64.Build.0 = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|x86.ActiveCfg = ReleaseMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.Release|x86.Build.0 = ReleaseMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseLinux|x64.ActiveCfg = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseLinux|x64.ActiveCfg = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseLinux|x86.ActiveCfg = ReleaseMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseLinux|x86.Build.0 = ReleaseMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|Any CPU.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|Any CPU.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|Any CPU.Build.0 = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|Any CPU.Build.0 = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|x64.ActiveCfg = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|x64.ActiveCfg = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|x64.Build.0 = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|x64.Build.0 = ReleaseMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|x86.ActiveCfg = ReleaseMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseMac|x86.Build.0 = ReleaseMac|x86
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseWindows|Any CPU.ActiveCfg = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseWindows|Any CPU.ActiveCfg = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseWindows|Any CPU.Build.0 = DebugMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseWindows|Any CPU.Build.0 = DebugMac|x64
{CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseWindows|x64.ActiveCfg = ReleaseMac|x64 {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseWindows|x64.ActiveCfg = ReleaseMac|x64
{777A5414-CAE5-4011-96DF-C9661985917E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseWindows|x86.ActiveCfg = ReleaseMac|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.Debug|Any CPU.Build.0 = Debug|Any CPU {CC996BB6-3781-4868-B996-07F9CDC936ED}.ReleaseWindows|x86.Build.0 = ReleaseMac|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.Debug|x64.ActiveCfg = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.Debug|x64.Build.0 = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Debug|x64.ActiveCfg = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Debug|x64.Build.0 = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugLinux|x64.ActiveCfg = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Debug|x86.ActiveCfg = Debug|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugLinux|x64.Build.0 = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Debug|x86.Build.0 = Debug|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugLinux|Any CPU.ActiveCfg = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugMac|Any CPU.Build.0 = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugLinux|Any CPU.Build.0 = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugMac|x64.ActiveCfg = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugLinux|x64.ActiveCfg = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugMac|x64.Build.0 = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugLinux|x64.Build.0 = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugLinux|x86.ActiveCfg = Debug|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugLinux|x86.Build.0 = Debug|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugWindows|x64.ActiveCfg = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.DebugWindows|x64.Build.0 = Debug|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.Release|Any CPU.ActiveCfg = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugMac|x64.ActiveCfg = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.Release|Any CPU.Build.0 = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugMac|x64.Build.0 = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.Release|x64.ActiveCfg = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugMac|x86.ActiveCfg = Debug|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.Release|x64.Build.0 = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugMac|x86.Build.0 = Debug|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugWindows|Any CPU.ActiveCfg = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugWindows|Any CPU.Build.0 = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugWindows|x64.ActiveCfg = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseLinux|x64.Build.0 = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugWindows|x64.Build.0 = Debug|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugWindows|x86.ActiveCfg = Debug|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.DebugWindows|x86.Build.0 = Debug|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseMac|x64.ActiveCfg = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseMac|x64.Build.0 = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Release|Any CPU.Build.0 = Release|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Release|x64.ActiveCfg = Release|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Release|x64.Build.0 = Release|Any CPU
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Release|x86.ActiveCfg = Release|x86
{777A5414-CAE5-4011-96DF-C9661985917E}.ReleaseWindows|x64.Build.0 = Release|Any CPU {0E7FEE6A-15E5-4A4E-943C-80276003478C}.Release|x86.Build.0 = Release|x86
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseLinux|x64.ActiveCfg = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseLinux|x64.Build.0 = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseLinux|x86.ActiveCfg = Release|x86
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseLinux|x86.Build.0 = Release|x86
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseMac|x64.ActiveCfg = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseMac|x64.Build.0 = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseMac|x86.ActiveCfg = Release|x86
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseMac|x86.Build.0 = Release|x86
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseWindows|x64.ActiveCfg = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseWindows|x64.Build.0 = Release|Any CPU
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseWindows|x86.ActiveCfg = Release|x86
{0E7FEE6A-15E5-4A4E-943C-80276003478C}.ReleaseWindows|x86.Build.0 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -481,7 +681,7 @@ Global
{D7F9FDD3-AF03-46AD-A2C2-F590899712B7} = {B2C129F2-8E5C-419A-98EB-161AA5B5FC71} {D7F9FDD3-AF03-46AD-A2C2-F590899712B7} = {B2C129F2-8E5C-419A-98EB-161AA5B5FC71}
{DBCF6FF0-3DE9-11E9-B3EF-63280FDBDA4A} = {F35DF9BF-0BED-4FEF-A51C-DD83C531882F} {DBCF6FF0-3DE9-11E9-B3EF-63280FDBDA4A} = {F35DF9BF-0BED-4FEF-A51C-DD83C531882F}
{CC996BB6-3781-4868-B996-07F9CDC936ED} = {DBCF6FF0-3DE9-11E9-B3EF-63280FDBDA4A} {CC996BB6-3781-4868-B996-07F9CDC936ED} = {DBCF6FF0-3DE9-11E9-B3EF-63280FDBDA4A}
{777A5414-CAE5-4011-96DF-C9661985917E} = {DE36F45F-F09E-4719-B953-00D148F7722A} {0E7FEE6A-15E5-4A4E-943C-80276003478C} = {DE36F45F-F09E-4719-B953-00D148F7722A}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {17032EAB-554B-4B44-A4F6-EFB177ACAB7A} SolutionGuid = {17032EAB-554B-4B44-A4F6-EFB177ACAB7A}
@@ -34,6 +34,24 @@
<PropertyGroup> <PropertyGroup>
<StartupObject /> <StartupObject />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<None Include="App.config" /> <None Include="App.config" />
</ItemGroup> </ItemGroup>
@@ -1,15 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net45</TargetFrameworks> <TargetFrameworks>net45</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<AssemblyName>Facepunch.Steamworks</AssemblyName> <AssemblyName>Facepunch.Steamworks</AssemblyName>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <AllowedReferenceRelatedFileExtensions>.pdb</AllowedReferenceRelatedFileExtensions>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
@@ -17,17 +16,27 @@
<NoWarn>1701;1702;1705;618;1591</NoWarn> <NoWarn>1701;1702;1705;618;1591</NoWarn>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
<DefineConstants>TRACE;DEBUG</DefineConstants>
<NoWarn>1701;1702;1705;618;1591</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DefineConstants>TRACE;RELEASE</DefineConstants> <DefineConstants>TRACE;RELEASE</DefineConstants>
<NoWarn>1701;1702;1705;618;1591</NoWarn> <NoWarn>1701;1702;1705;618;1591</NoWarn>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
<DefineConstants>TRACE;RELEASE</DefineConstants>
<NoWarn>1701;1702;1705;618;1591</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> <PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
<DefineConstants>$(DefineConstants);NET_CORE</DefineConstants> <DefineConstants>$(DefineConstants);NET_CORE</DefineConstants>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Remove="*AssemblyInfo.cs" /> <Compile Remove="*AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@@ -65,5 +74,10 @@
<DebugType>full</DebugType> <DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|x86'">
<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
</Project> </Project>
@@ -80,6 +80,57 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWindows|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseWindows\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseLinux|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseLinux\</OutputPath>
<DefineConstants>TRACE;LINUX</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseMac|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseMac\</OutputPath>
<DefineConstants>TRACE;OSX</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWindows|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugWindows\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugLinux|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugLinux\</OutputPath>
<DefineConstants>TRACE;DEBUG;LINUX</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugMac|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugMac\</OutputPath>
<DefineConstants>TRACE;DEBUG;OSX</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Collision\Collision.cs" /> <Compile Include="Collision\Collision.cs" />
<Compile Include="Collision\Distance.cs" /> <Compile Include="Collision\Distance.cs" />
@@ -82,6 +82,68 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " /> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseWindows|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseWindows\</OutputPath>
<DefineConstants>TRACE;WINDOWS</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseLinux|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseLinux\</OutputPath>
<DefineConstants>TRACE;LINUX</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'ReleaseMac|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\ReleaseMac\</OutputPath>
<DefineConstants>TRACE;OSX</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugWindows|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugWindows\</OutputPath>
<DefineConstants>TRACE;DEBUG;WINDOWS</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugLinux|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugLinux\</OutputPath>
<DefineConstants>TRACE;DEBUG;LINUX</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugMac|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\DebugMac\</OutputPath>
<DefineConstants>TRACE;DEBUG;OSX</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Collision\Collision.cs" /> <Compile Include="Collision\Collision.cs" />
<Compile Include="Collision\Distance.cs" /> <Compile Include="Collision\Distance.cs" />
@@ -37,6 +37,25 @@
<Prefer32Bit>false</Prefer32Bit> <Prefer32Bit>false</Prefer32Bit>
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>bin\Release\Hyper.ComponentModel.XML</DocumentationFile>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />