The Wait Is Over. (#49)

* Move submodule to Godot

* Update submodule AGAIN.

* Update project files.

* Remove WearableAnimatedSprite from prototypes.

* Remove content repo resource copier.

* Update submodule.

* Fix resource handling.

* Content.Client compiles by commenting out hands GUI.

* Update submodule.

* Fix prototype textures and update submodule.

* Update Submodule.

* Update submodule SOME MORE!

* Random WiP shit I guess

* Make omnisharp not choke on buildchecker.

* Update submodule.

* Highly WiP broken HandsGui code.

* Ok maybe let's not insult omnisharp.

* Fix annoying Omnisharp warning.

* Update submodule.

* Update submodule.

* Hey I forgot to push this but it didn't conflict!

* Fix hands GUI on godot.

* Update submodule.

* Obligatory submodule update.

* Work on exports.

* Work on exports.

* Update submodule.

* Update submodule.

* Fix dumb case mismatch between content and engine

* work pls.

* This maybe.

* Now!

* Update submodule.

* update submodule.

* Some WiP work on exporting aaah.

* OK READY FOR THE BUILDS SERVER.

* Probably should've made those commits in a different order.

* DO THE THING

* update submodule.

* Updates for effects system.

* Update submodule.

* Make file/line numbers show up on Windows Godot.

* Set submodule to master.
This commit is contained in:
Pieter-Jan Briers
2018-04-07 15:31:38 +02:00
committed by GitHub
parent 128728bfcb
commit 6704245a41
46 changed files with 579 additions and 668 deletions

6
.gitignore vendored
View File

@@ -268,3 +268,9 @@ release/
# Apple please go.
.DS_Store
BuildFiles/Mac/Space Station 14.app/Contents/MacOS/Godot
BuildFiles/Mac/Space Station 14.app/Contents/MacOS/GodotSharpTools.dll
BuildFiles/Mac/Space Station 14.app/Contents/MacOS/mscorlib.dll
BuildFiles/Mac/Space Station 14.app/Contents/MacOS/libmonosgen-2.0.dylib
BuildFiles/Windows/Godot/*

View File

@@ -17,6 +17,7 @@ https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild
<Python>python3</Python>
<Python Condition="'$(OS)'=='Windows_NT' Or '$(OS)'=='Windows'">py -3</Python>
<ProjectGuid>{C899FCA4-7037-4E49-ABC2-44DE72487110}</ProjectGuid>
<TargetFrameworkMoniker>.NETFramework, Version=v4.5.1</TargetFrameworkMoniker>
</PropertyGroup>
<PropertyGroup>
<OutputType>Library</OutputType>
@@ -31,4 +32,8 @@ https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild
<Target Name="Clean">
<Message Importance="low" Text="Ignoring 'Clean' target." />
</Target>
<Target Name="Compile">
</Target>
<Target Name="CoreCompile">
</Target>
</Project>

View File

@@ -91,6 +91,6 @@ def reset_solution():
with SOLUTION_PATH.open("w") as f:
f.write(content)
if __name__ == '__main__':
install_hooks()
update_submodules()
#if __name__ == '__main__':
# install_hooks()
# update_submodules()

View File

@@ -5,5 +5,4 @@ BASEDIR=$(dirname "$0")
echo "$BASEDIR"
cd "$BASEDIR"
# TODO: unhardcode this, probably ship Mono with SS14.
/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono --arch=64 ./SS14.Client.exe
./Godot --path ./SS14.Client.Godot

View File

@@ -0,0 +1 @@
call Godot\godot.windows.tools.64.mono.exe --path SS14.Client.Godot

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -11,37 +11,46 @@
<AssemblyName>Content.Client</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ContentAssemblyTarget>..\bin\Client\Resources\Assemblies\</ContentAssemblyTarget>
<ContentAssemblyTarget>..\engine\bin\Client\Resources\Assemblies\</ContentAssemblyTarget>
<!--
This copies all dependencies,
but on the plus side it's automatically located in the right place.
-->
<OutputPath>..\bin\Content.Client\</OutputPath>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(ActualOS)' == 'Windows'">MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<DebugType>portable</DebugType>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<DebugType>portable</DebugType>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>portable</DebugType>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
@@ -75,12 +84,8 @@
<Project>{59250baf-0000-0000-0000-000000000000}</Project>
<Name>Lidgren.Network</Name>
</ProjectReference>
<ProjectReference Include="..\engine\SS14.Client.Graphics\SS14.Client.Graphics.csproj">
<Project>{302b877e-0000-0000-0000-000000000000}</Project>
<Name>SS14.Client.Graphics</Name>
</ProjectReference>
<ProjectReference Include="..\engine\SS14.Client\SS14.Client.csproj">
<Project>{0c31dfdf-0000-0000-0000-000000000000}</Project>
<Project>{83429BD6-6358-4B18-BE51-401DF8EA2673}</Project>
<Name>SS14.Client</Name>
</ProjectReference>
<ProjectReference Include="..\engine\SS14.Shared\SS14.Shared.csproj">

View File

@@ -12,8 +12,8 @@ namespace Content.Client.GameObjects
public bool Opened { get; private set; }
private SpriteComponent spriteComponent;
private string OpenSprite = "door_ewo";
private string CloseSprite = "door_ew";
private string OpenSprite = "Objects/door_ewo.png";
private string CloseSprite = "Objects/door_ew.png";
public override void Initialize()
{

View File

@@ -30,19 +30,27 @@ namespace Content.Client.GameObjects
hands.Clear();
foreach (var hand in cast.Hands)
{
hands[hand.Key] = Owner.EntityManager.GetEntity(hand.Value);
IEntity entity = null;
try
{
entity = Owner.EntityManager.GetEntity(hand.Value);
}
catch
{
// Nothing.
}
hands[hand.Key] = entity;
}
ActiveIndex = cast.ActiveIndex;
// Tell UI to update.
var uiMgr = IoCManager.Resolve<IUserInterfaceManager>();
if (!uiMgr.TryGetSingleComponent<HandsGui>(out var component))
if (!uiMgr.StateRoot.TryGetChild<HandsGui>("HandsGui", out var control))
{
component = new HandsGui();
uiMgr.AddComponent(component);
control = new HandsGui();
uiMgr.StateRoot.AddChild(control);
}
component.UpdateHandIcons();
control.UpdateHandIcons();
}
public void SendChangeHand(string index)

View File

@@ -1,11 +1,13 @@
using Content.Client.Interfaces.GameObjects;
using SS14.Client.GameObjects;
using SS14.Client.Graphics;
using SS14.Client.Graphics.Input;
using SS14.Client.Graphics.Sprites;
using SS14.Client.Graphics.Drawing;
using SS14.Client.Input;
using SS14.Client.Interfaces.Player;
using SS14.Client.Interfaces.Resource;
using SS14.Client.Interfaces.ResourceManagement;
using SS14.Client.Interfaces.UserInterface;
using SS14.Client.ResourceManagement;
using SS14.Client.UserInterface;
using SS14.Client.UserInterface.Controls;
using SS14.Shared.Interfaces.GameObjects;
using SS14.Shared.IoC;
@@ -13,47 +15,53 @@ using SS14.Shared.Maths;
namespace Content.Client.UserInterface
{
public class HandsGui : Control
public class HandsGui : HBoxContainer
{
private readonly Color _inactiveColor = new Color(90, 90, 90);
private static readonly Color _inactiveColor = new Color(90, 90, 90);
private const int BOX_SPACING = 1;
// The boxes are square so that's both width and height.
private const int BOX_SIZE = 50;
private readonly IPlayerManager _playerManager = IoCManager.Resolve<IPlayerManager>();
private readonly IUserInterfaceManager _userInterfaceManager = IoCManager.Resolve<IUserInterfaceManager>();
private readonly Sprite handSlot;
private readonly int spacing = 1;
private StyleBoxTexture handBox;
private StyleBoxTexture inactiveHandBox;
private UiHandInfo LeftHand;
private UiHandInfo RightHand;
private Box2i handL;
private Box2i handR;
public HandsGui()
protected override void Initialize()
{
base.Initialize();
var _resMgr = IoCManager.Resolve<IResourceCache>();
handSlot = _resMgr.GetSprite("hand");
// OnCalcRect() calculates position so this needs to be ran
// as it doesn't automatically get called by the UI manager.
DoLayout();
var handsBoxTexture = _resMgr.GetResource<TextureResource>("Textures/UserInterface/handsbox.png");
handBox = new StyleBoxTexture()
{
Texture = handsBoxTexture,
};
handBox.SetMargin(StyleBox.Margin.All, 6);
inactiveHandBox = new StyleBoxTexture(handBox)
{
Modulate = _inactiveColor,
};
SetMarginsPreset(LayoutPreset.CenterBottom);
SetAnchorPreset(LayoutPreset.CenterBottom);
handL = new Box2i(0, 0, BOX_SIZE, BOX_SIZE);
handR = handL.Translated(new Vector2i(BOX_SIZE + BOX_SPACING, 0));
SS14.Shared.Log.Logger.Debug($"{handL}, {handR}");
MouseFilter = MouseFilterMode.Stop;
}
protected override void OnCalcRect()
protected override Vector2 CalculateMinimumSize()
{
// Individual size of the hand slot sprite.
var slotBounds = handSlot.LocalBounds;
var width = (int)((slotBounds.Width * 2) + spacing);
var height = (int)slotBounds.Height;
// Force size because refactoring is HARD.
Size = new Vector2i(width, height);
ClientArea = Box2i.FromDimensions(0, 0, Width, Height);
// Hell force position too what could go wrong!
Position = new Vector2i((int)(CluwneLib.Window.Viewport.Width - width) / 2, (int)CluwneLib.Window.Viewport.Height - height - 10);
handL = Box2i.FromDimensions(Position.X, Position.Y, (int)slotBounds.Width, (int)slotBounds.Height);
handR = Box2i.FromDimensions(Position.X + (int)slotBounds.Width + spacing, Position.Y, (int)slotBounds.Width, (int)slotBounds.Height);
return new Vector2(BOX_SIZE * 2 + 1, BOX_SIZE);
}
protected override void DrawContents()
protected override void Draw(DrawingHandle handle)
{
if (_playerManager?.LocalPlayer == null)
{
@@ -68,37 +76,31 @@ namespace Content.Client.UserInterface
var leftActive = hands.ActiveIndex == "left";
handSlot.Color = Color.White;
handSlot.SetTransformToRect(leftActive ? handL : handR);
handSlot.Draw();
handSlot.Color = _inactiveColor;
handSlot.SetTransformToRect(leftActive ? handR : handL);
handSlot.Draw();
handle.DrawStyleBox(handBox, leftActive ? handL : handR);
handle.DrawStyleBox(inactiveHandBox, leftActive ? handR : handL);
if (LeftHand.Entity != null && LeftHand.HeldSprite != null)
{
var bounds = LeftHand.HeldSprite.LocalBounds;
LeftHand.HeldSprite.SetTransformToRect(
Box2i.FromDimensions(handL.Left + (int)(handL.Width / 2f - bounds.Width / 2f),
handL.Top + (int)(handL.Height / 2f - bounds.Height / 2f),
(int)bounds.Width, (int)bounds.Height));
LeftHand.HeldSprite.Draw();
var bounds = LeftHand.HeldSprite.Size;
handle.DrawTextureRect(LeftHand.HeldSprite,
Box2i.FromDimensions(handL.Left + (int)(handL.Width / 2f - bounds.X / 2f),
handL.Top + (int)(handL.Height / 2f - bounds.Y / 2f),
(int)bounds.X, (int)bounds.Y), tile: false);
}
if (RightHand.Entity != null && RightHand.HeldSprite != null)
{
var bounds = RightHand.HeldSprite.LocalBounds;
RightHand.HeldSprite.SetTransformToRect(
Box2i.FromDimensions(handR.Left + (int)(handR.Width / 2f - bounds.Width / 2f),
handR.Top + (int)(handR.Height / 2f - bounds.Height / 2f),
(int)bounds.Width, (int)bounds.Height));
RightHand.HeldSprite.Draw();
var bounds = RightHand.HeldSprite.Size;
handle.DrawTextureRect(RightHand.HeldSprite,
Box2i.FromDimensions(handR.Left + (int)(handR.Width / 2f - bounds.Y / 2f),
handR.Top + (int)(handR.Height / 2f - bounds.Y / 2f),
(int)bounds.X, (int)bounds.Y), tile: false);
}
}
public void UpdateHandIcons()
{
UpdateDraw();
if (_playerManager?.LocalPlayer.ControlledEntity == null)
{
return;
@@ -152,39 +154,43 @@ namespace Content.Client.UserInterface
hands.SendChangeHand(index);
}
public override bool MouseDown(MouseButtonEventArgs e)
protected override bool HasPoint(Vector2 point)
{
if (e.Button != Mouse.Button.Right)
{
return false;
}
if (handL.Contains(e.X, e.Y))
{
SendSwitchHandTo("left");
return true;
}
if (handR.Contains(e.X, e.Y))
{
SendSwitchHandTo("right");
return true;
}
return false;
return handL.Contains((Vector2i)point) || handR.Contains((Vector2i)point);
}
private static Sprite GetIconSprite(IEntity entity)
protected override void MouseDown(GUIMouseButtonEventArgs args)
{
Sprite icon = null;
if (entity.TryGetComponent<IconComponent>(out var component))
base.MouseDown(args);
if (args.Button != Mouse.Button.Right)
{
icon = component.Icon;
return;
}
return icon ?? IoCManager.Resolve<IResourceCache>().DefaultSprite();
if (handL.Contains((Vector2i)args.RelativePosition))
{
SendSwitchHandTo("left");
}
if (handR.Contains((Vector2i)args.RelativePosition))
{
SendSwitchHandTo("right");
}
}
private static Texture GetIconSprite(IEntity entity)
{
if (entity.TryGetComponent<IconComponent>(out var component) && component.Icon != null)
{
return component.Icon;
}
return IoCManager.Resolve<IResourceCache>().GetFallback<TextureResource>();
}
private struct UiHandInfo
{
public IEntity Entity { get; set; }
public Sprite HeldSprite { get; set; }
public Texture HeldSprite { get; set; }
}
}
}

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="OpenTK" version="3.0.0-pre" targetFramework="net451" />
<package id="System.ValueTuple" version="4.3.1" targetFramework="net451" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net451" />
<package id="YamlDotNet" version="4.3.0" targetFramework="net451" />
</packages>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -11,33 +11,42 @@
<AssemblyName>Content.Server</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ContentAssemblyTarget>..\bin\Server\Resources\Assemblies\</ContentAssemblyTarget>
<ContentAssemblyTarget>..\engine\bin\Server\Resources\Assemblies\</ContentAssemblyTarget>
<OutputPath>..\bin\Content.Server\</OutputPath>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(ActualOS)' == 'Windows'">MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<DebugType>portable</DebugType>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<DebugType>portable</DebugType>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>portable</DebugType>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
@@ -126,5 +135,4 @@
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
</Project>

View File

@@ -17,43 +17,45 @@ namespace Content.Server.GameObjects.Components.Weapon.Ranged.Hitscan
{
public override string Name => "HitscanWeapon";
string spritename = "laser";
string spritename = "Objects/laser.png";
protected override void Fire(IEntity user, LocalCoordinates clicklocation)
{
var userposition = user.GetComponent<TransformComponent>().WorldPosition; //Remember world positions are ephemeral and can only be used instantaneously
var angle = new Angle(clicklocation.Position - userposition);
var theta = angle.Theta;
var ray = new Ray(userposition, angle.ToVec());
var raycastresults = IoCManager.Resolve<ICollisionManager>().IntersectRay(ray, 20, Owner.GetComponent<TransformComponent>().GetMapTransform().Owner);
Hit(raycastresults);
AfterEffects(user, raycastresults, theta);
AfterEffects(user, raycastresults, angle);
}
protected virtual void Hit(RayCastResults ray)
{
if(ray.HitEntity != null && ray.HitEntity.TryGetComponent(out DamageableComponent damage))
if (ray.HitEntity != null && ray.HitEntity.TryGetComponent(out DamageableComponent damage))
{
damage.TakeDamage(DamageType.Heat, 10);
}
}
protected virtual void AfterEffects(IEntity user, RayCastResults ray, double theta)
protected virtual void AfterEffects(IEntity user, RayCastResults ray, Angle angle)
{
var time = IoCManager.Resolve<IGameTiming>().CurTime;
var offset = angle.ToVec() * ray.Distance / 2;
EffectSystemMessage message = new EffectSystemMessage
{
EffectSprite = spritename,
Born = time,
DeathTime = time + TimeSpan.FromSeconds(1),
Size = new Vector2(ray.Distance, 1f),
Coordinates = user.GetComponent<TransformComponent>().LocalPosition,
Coordinates = user.GetComponent<TransformComponent>().LocalPosition.Translated(offset),
//Rotated from east facing
Rotation = (float)theta,
Rotation = (float)angle.Theta,
ColorDelta = new Vector4(0, 0, 0, -1500f),
Color = new Vector4(255,255,255,750)
Color = new Vector4(255, 255, 255, 750),
Shaded = false
};
IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<EffectSystem>().CreateParticle(message);
}

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="OpenTK" version="3.0.0-pre" targetFramework="net451" />
<package id="System.ValueTuple" version="4.3.1" targetFramework="net451" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net451" />
<package id="YamlDotNet" version="4.3.0" targetFramework="net451" />
</packages>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -13,30 +13,39 @@
<FileAlignment>512</FileAlignment>
<OutputPath>bin\x86\Debug\</OutputPath>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisRuleSet Condition="'$(ActualOS)' == 'Windows'">MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<DebugType>portable</DebugType>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<DebugType>portable</DebugType>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>portable</DebugType>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
@@ -75,33 +84,17 @@
<ProjectReference Include="..\engine\SS14.Client\SS14.Client.csproj">
<Name>SS14.Client</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<Project>{83429BD6-6358-4B18-BE51-401DF8EA2673}</Project>
</ProjectReference>
<ProjectReference Include="..\engine\SS14.Server\SS14.Server.csproj">
<Name>SS14.Server</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<Project>{B04AAE71-0000-0000-0000-000000000000}</Project>
</ProjectReference>
</ItemGroup>
<ItemDefinitionGroup>
<Resource>
<Visible>False</Visible>
<Prefix>
</Prefix>
</Resource>
</ItemDefinitionGroup>
<ItemGroup>
<Resource Include="..\Resources\**\*.*" Exclude="..\Resources\Prototypes\**\*.*;..\Resources\CONTENT_GOES_HERE" />
<Resource Include="..\Resources\Prototypes\**\*.*" Exclude="..\Resources\Prototypes\PROTOTYPES_GO_HERE">
<Prefix>Prototypes\Content\</Prefix>
</Resource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="CopyResources">
<Copy SourceFiles="@(Resource)" DestinationFiles="..\bin\Client\Resources\%(Prefix)%(RecursiveDir)%(Filename)%(Extension)" />
<Copy SourceFiles="@(Resource)" DestinationFiles="..\bin\Server\Resources\%(Prefix)%(RecursiveDir)%(Filename)%(Extension)" />
</Target>
<Target Name="AfterBuild" DependsOnTargets="CopyResources" />
</Project>

View File

@@ -1,4 +1,6 @@
using SS14.Shared.ContentPack;
using SS14.Shared.Interfaces;
using SS14.Shared.IoC;
namespace Content.Shared
{
@@ -6,7 +8,10 @@ namespace Content.Shared
{
public override void Init()
{
// TODO: Anything at all.
#if DEBUG
var resm = IoCManager.Resolve<IResourceManager>();
resm.MountContentDirectory(@"../../../Resources/");
#endif
}
}
}

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="OpenTK" version="3.0.0-pre" targetFramework="net451" />
<package id="System.ValueTuple" version="4.3.1" targetFramework="net451" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net451" />
<package id="YamlDotNet" version="4.3.0" targetFramework="net451" />
</packages>

6
Jenkinsfile vendored
View File

@@ -4,15 +4,15 @@ pipeline {
stages {
stage('Setup') {
steps {
sh './RUN_THIS.py'
sh 'git submodule update --init --recursive'
sh 'TMP=~/.cache/NuGet/ nuget restore'
sh 'engine/Tools/download_godotsharp.py'
}
}
stage('Build') {
steps {
sh './package_release_build.py'
sh './package_release_build.py -p windows linux --godot /home/pjbriers/builds_shared/godot --windows-godot-build /home/pjbriers/builds_shared/win'
archiveArtifacts artifacts: 'release/*.zip'
archiveArtifacts artifacts: 'engine/Resources/ResourcePack.zip'
}
}
}

View File

@@ -6,10 +6,10 @@
- type: Clickable
- type: Sprite
sprites:
- shoes
- Items/shoes.png
- type: Icon
icon: shoes
icon: Items/shoes.png
- type: Damageable
resistanceset: Standard

View File

@@ -3,21 +3,19 @@
id: ShoesItem
name: Shoes
components:
- type: WearableAnimatedSprite
sprite: player_shoes
notWornSprite: shoes
- type: Sprite
sprite: Items/shoes.png
- type: Icon
icon: shoes
icon: Items/shoes.png
- type: entity
parent: BaseItem
id: JanitorUniformItem
name: Janitor Jumpsuit
components:
- type: WearableAnimatedSprite
sprite: player_jumpsuit_gray
notWornSprite: janitorsuit
- type: Sprite
sprite: Items/janitorsuit.png
- type: Icon
icon: janitorsuit
icon: Items/janitorsuit.png

View File

@@ -7,13 +7,14 @@
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- door_ew
- door_ewo
- Objects/door_ew.png
- Objects/door_ewo.png
- type: Icon
icon: door_ew
icon: Objects/door_ew.png
- type: BoundingBox
aabb: "1,-0.75,2,0.75"
sizeX: 1.9
offsetY: 1.5
- type: Collidable

View File

@@ -3,11 +3,10 @@
parent: BaseItem
id: LaserItem
components:
- type: WearableAnimatedSprite
notWornSprite: gun
sprite: gun
- type: Sprite
sprite: Objects/gun.png
- type: Icon
icon: gun
icon: Objects/gun.png
- type: HitscanWeapon
- type: entity
@@ -15,9 +14,8 @@
parent: BaseItem
id: GUNITEM
components:
- type: WearableAnimatedSprite
notWornSprite: projectileweapon
sprite: projectileweapon
- type: Sprite
sprite: Objects/projectileweapon.png
- type: Icon
icon: gun
icon: Objects/projectileweapon.png
- type: ProjectileWeapon

View File

@@ -14,44 +14,40 @@
parent: BaseItem
id: RedToolboxItem
components:
- type: WearableAnimatedSprite
notWornSprite: toolbox_r
sprite: player_toolbox
- type: Sprite
sprite: Items/toolbox_r.png
- type: Icon
icon: toolbox_r
icon: Items/toolbox_r.png
- type: entity
name: "Mechanical Toolbox With Handle"
parent: BaseItem
id: BlueToolboxItem
components:
- type: WearableAnimatedSprite
notWornSprite: toolbox_b
sprite: player_toolbox
- type: Sprite
sprite: Items/toolbox_b.png
- type: Icon
icon: toolbox_b
icon: Items/toolbox_b.png
- type: entity
name: "Electrical Toolbox With Handle"
parent: BaseItem
id: YellowToolboxItem
components:
- type: WearableAnimatedSprite
notWornSprite: toolbox_y
sprite: player_toolbox
- type: Sprite
sprite: Items/toolbox_y.png
- type: Icon
icon: toolbox_y
icon: Items/toolbox_y.png
- type: entity
name: "Extra-Grip™ Mop"
parent: BaseItem
id: MopItem
components:
- type: WearableAnimatedSprite
notWornSprite: mop
sprite: player_mop
- type: Sprite
sprite: Items/mop.png
- type: Icon
sprite: mop
icon: Items/mop.png
#handheld lights
- type: entity
@@ -59,9 +55,8 @@
parent: BaseItem
id: FlashlightLantern
components:
- type: WearableAnimatedSprite
notWornSprite: Flashlight
sprite: player_Flashlight
- type: Sprite
sprite: Items/Flashlight.png
- type: Icon
icon: Flashlight
icon: Items/Flashlight.png
- type: PointLight

View File

@@ -9,9 +9,9 @@
drawdepth: FloorPlaceable
color: Red
sprites:
- eightdirwire
- Objects/eightdirwire.png
- type: Icon
icon: eightdirwire
icon: Objects/eightdirwire.png
- type: PowerTransfer
snap:
@@ -35,9 +35,9 @@
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- generator
- Objects/generator.png
- type: Icon
icon: generator
icon: Objects/generator.png
- type: PowerGenerator
- type: entity
@@ -50,9 +50,9 @@
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- provider
- Objects/provider.png
- type: Icon
icon: provider
icon: Objects/provider.png
- type: PowerProvider
Range: 5
Priority: Provider
@@ -79,9 +79,9 @@
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- storage
- Objects/storage.png
- type: Icon
icon: storage
icon: Objects/storage.png
- type: PowerStorage
Capacity: 3000
Charge: 1000
@@ -99,9 +99,9 @@
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- wiredmachine
- Objects/wiredmachine.png
- type: Icon
icon: wiredmachine
icon: Objects/wiredmachine.png
- type: PowerDevice
Drawtype: Node
Load: 100
@@ -117,9 +117,9 @@
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- wirelessmachine
- Objects/wirelessmachine.png
- type: Icon
icon: wirelessmachine
icon: Objects/wirelessmachine.png
- type: PowerDevice
Drawtype: Both
Load: 200

View File

@@ -5,10 +5,9 @@
- type: Transform
- type: Sprite
drawdepth: FloorPlaceable
sprites:
- projectilebullet
sprite: Objects/projectilebullet.png
- type: Icon
icon: projectilebullet
icon: Objects/projectilebullet.png
- type: BoundingBox
- type: Physics
edgeslide: false

View File

@@ -4,11 +4,10 @@
id: Wirecutter
components:
- type: Wirecutter
- type: WearableAnimatedSprite
notWornSprite: wirecutter
sprite: wirecutter
- type: Sprite
sprite: Objects/wirecutter.png
- type: Icon
icon: wirecutter
icon: Objects/wirecutter.png
- type: MeleeWeapon
- type: entity
@@ -17,11 +16,10 @@
id: Screwdriver
components:
- type: Screwdriver
- type: WearableAnimatedSprite
notWornSprite: screwdriver
sprite: screwdriver
- type: Sprite
sprite: Objects/screwdriver.png
- type: Icon
icon: screwdriver
icon: Objects/screwdriver.png
- type: MeleeWeapon
- type: entity
@@ -30,11 +28,10 @@
id: Welder
components:
- type: Welder
- type: WearableAnimatedSprite
notWornSprite: welder
sprite: welder
- type: Sprite
sprite: Objects/welder.png
- type: Icon
icon: welder
icon: Objects/welder.png
- type: MeleeWeapon
- type: entity
@@ -43,11 +40,10 @@
id: Wrench
components:
- type: Wrench
- type: WearableAnimatedSprite
notWornSprite: wrench
sprite: wrench
- type: Sprite
sprite: Objects/wrench.png
- type: Icon
icon: wrench
icon: Objects/wrench.png
- type: MeleeWeapon
- type: entity
@@ -56,11 +52,10 @@
id: Crowbar
components:
- type: Crowbar
- type: WearableAnimatedSprite
notWornSprite: crowbar
sprite: crowbar
- type: Sprite
sprite: Objects/crowbar.png
- type: Icon
icon: crowbar
icon: Objects/crowbar.png
- type: MeleeWeapon
- type: entity
@@ -69,8 +64,7 @@
id: Multitool
components:
- type: Multitool
- type: WearableAnimatedSprite
notWornSprite: multitool
sprite: multitool
- type: Sprite
sprite: Objects/multitool.png
- type: Icon
icon: multitool
icon: Objects/multitool.png

View File

@@ -5,9 +5,8 @@
- type: Transform
- type: Clickable
- type: Sprite
sprites:
- medkit_r
sprite: Items/medkit_r.png
- type: Icon
icon: medkit_r
icon: Items/medkit_r.png

View File

@@ -1,304 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<SavedEntities>
<SavedEntity X="-32" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-31" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-30" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-29" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-28" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-27" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-26" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-25" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-24" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-23" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-22" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-21" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-20" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-19" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-18" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-17" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-16" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-15" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-14" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-13" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-12" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-11" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-10" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-9" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-8" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-7" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-6" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-4" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-3" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-2" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-1" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="0" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="1" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="2" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="3" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="4" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="6" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="7" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="8" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="9" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="10" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="11" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="12" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="13" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="14" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="15" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="16" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="17" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="18" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="19" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="20" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="21" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="22" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="23" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="24" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="25" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="26" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="27" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="28" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="29" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="30" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="31" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-32" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-31" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-31" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-30" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-30" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-29" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-29" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-28" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-28" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-27" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-27" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-26" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-26" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-25" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-25" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-24" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-24" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-23" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-23" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-22" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-22" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-21" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-21" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-20" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-20" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-19" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-19" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-18" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-18" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-17" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-17" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-16" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-16" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-15" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-15" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-14" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-14" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-13" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-13" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-12" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-12" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-11" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-11" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-10" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-10" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-9" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-9" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-8" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-8" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="-2" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="-1" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="0" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="1" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="2" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-7" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-6" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-6" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-5" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-5" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-4" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-4" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-4" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-4" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-3" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-3" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-3" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-3" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-2" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-2" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-2" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-2" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="-1" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="-1" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="-1" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="-1" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="0" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="0" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="0" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="0" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="1" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="1" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="1" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="1" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="2" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="2" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="2" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="2" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="3" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="3" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="3" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="3" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="4" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="4" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="4" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="4" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="5" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="5" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="6" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="6" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="-2" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="-1" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="0" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="1" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="2" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="7" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="8" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="8" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="9" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="9" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="10" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="10" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="11" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="11" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="12" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="12" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="13" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="13" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="14" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="14" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="15" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="15" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="16" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="16" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="17" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="17" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="18" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="18" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="19" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="19" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="20" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="20" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="21" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="21" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="22" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="22" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="23" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="23" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="24" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="24" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="25" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="25" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="26" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="26" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="27" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="27" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="28" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="28" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="29" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="29" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="30" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="30" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="31" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="31" template="__engine_wall" direction="East" />
<SavedEntity X="-32" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-31" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-30" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-29" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-28" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-27" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-26" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-25" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-24" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-23" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-22" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-21" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-20" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-19" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-18" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-17" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-16" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-15" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-14" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-13" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-12" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-11" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-10" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-9" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-8" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-7" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-6" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-5" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-4" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-3" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-2" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="-1" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="0" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="1" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="2" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="3" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="4" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="5" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="6" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="7" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="8" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="9" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="10" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="11" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="12" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="13" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="14" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="15" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="16" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="17" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="18" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="19" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="20" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="21" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="22" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="23" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="24" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="25" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="26" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="27" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="28" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="29" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="30" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="31" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="32" Y="32" template="__engine_wall" direction="East" />
<SavedEntity X="10.3125" Y="9.375" template="BlueToolboxItem" />
<SavedEntity X="0" Y="0" template="__engine_wall_light" name="FuckingLight" />
<SavedEntity X="13.49975" Y="9.267462" template="__engine_janitor_suit" name="Janitor_Suit" />
<SavedEntity X="13.49975" Y="9.267462" template="__engine_shoes" />
<SavedEntity X="78.9826" Y="73.99996" template="__engine_door" />
<SavedEntity X="79.01385" Y="67.99996" template="__engine_door" />
<SavedEntity X="4" Y="4" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="8" Y="8" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="12" Y="12" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="16" Y="16" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="20" Y="20" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="24" Y="24" template="__engine_wall_light" name="WallLight" />
<SavedEntity X="18.84556" Y="4.915811" template="__engine_worktop" />
<SavedEntity X="13.49975" Y="9.267462" template="__engine_mop" />
<SavedEntity X="8.914371" Y="2.878233" template="__engine_extinguisher" name="Extinguisher" />
<SavedEntity X="17.00254" Y="3.034483" template="__engine_fire_alarm" name="FireAlarm" />
<SavedEntity X="21.36345" Y="7.079962" template="__engine_med_cabinet" name="MedCabinet" />
</SavedEntities>

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 200 B

After

Width:  |  Height:  |  Size: 200 B

View File

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 389 B

View File

Before

Width:  |  Height:  |  Size: 452 B

After

Width:  |  Height:  |  Size: 452 B

View File

Before

Width:  |  Height:  |  Size: 197 B

After

Width:  |  Height:  |  Size: 197 B

View File

Before

Width:  |  Height:  |  Size: 195 B

After

Width:  |  Height:  |  Size: 195 B

View File

Before

Width:  |  Height:  |  Size: 177 B

After

Width:  |  Height:  |  Size: 177 B

View File

Before

Width:  |  Height:  |  Size: 869 B

After

Width:  |  Height:  |  Size: 869 B

View File

Before

Width:  |  Height:  |  Size: 330 B

After

Width:  |  Height:  |  Size: 330 B

View File

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 216 B

View File

Before

Width:  |  Height:  |  Size: 742 B

After

Width:  |  Height:  |  Size: 742 B

View File

Before

Width:  |  Height:  |  Size: 324 B

After

Width:  |  Height:  |  Size: 324 B

View File

Before

Width:  |  Height:  |  Size: 230 B

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

View File

@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.2026
VisualStudioVersion = 15.0.26730.16
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content.Shared", "Content.Shared\Content.Shared.csproj", "{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}"
ProjectSection(ProjectDependencies) = postProject
@@ -12,10 +12,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Shared", "engine\SS14.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Server", "engine\SS14.Server\SS14.Server.csproj", "{B04AAE71-0000-0000-0000-000000000000}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Client.Graphics", "engine\SS14.Client.Graphics\SS14.Client.Graphics.csproj", "{302B877E-0000-0000-0000-000000000000}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Client", "engine\SS14.Client\SS14.Client.csproj", "{0C31DFDF-0000-0000-0000-000000000000}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.UnitTesting", "engine\SS14.UnitTesting\SS14.UnitTesting.csproj", "{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content.Server", "Content.Server\Content.Server.csproj", "{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}"
@@ -28,9 +24,8 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content.Client", "Content.Client\Content.Client.csproj", "{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}"
ProjectSection(ProjectDependencies) = postProject
{0529F740-0000-0000-0000-000000000000} = {0529F740-0000-0000-0000-000000000000}
{302B877E-0000-0000-0000-000000000000} = {302B877E-0000-0000-0000-000000000000}
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5} = {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}
{0C31DFDF-0000-0000-0000-000000000000} = {0C31DFDF-0000-0000-0000-000000000000}
{83429BD6-6358-4B18-BE51-401DF8EA2673} = {83429BD6-6358-4B18-BE51-401DF8EA2673}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lidgren.Network", "engine\Lidgren.Network\Lidgren.Network.csproj", "{59250BAF-0000-0000-0000-000000000000}"
@@ -41,124 +36,223 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engine", "Engine", "{B01693
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildChecker", "BuildChecker\BuildChecker.csproj", "{C899FCA4-7037-4E49-ABC2-44DE72487110}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sfml-system", "engine\SFML\src\System\sfml-system.csproj", "{31D24303-F6A9-4D53-BB03-A73EDCB3186D}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Client", "engine\SS14.Client\SS14.Client.csproj", "{83429BD6-6358-4B18-BE51-401DF8EA2673}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sfml-graphics", "engine\SFML\src\Graphics\sfml-graphics.csproj", "{46786269-57B9-48E7-AA4F-8F4D84609FE6}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Client.Godot", "engine\SS14.Client.Godot\SS14.Client.Godot.csproj", "{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sfml-window", "engine\SFML\src\Window\sfml-window.csproj", "{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SFML", "SFML", "{1780DA39-F1EC-4100-8C58-ECD756C68033}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Shared.Bsdiff", "engine\SS14.Shared.Bsdiff\SS14.Shared.Bsdiff\SS14.Shared.Bsdiff.csproj", "{0E0723E8-D785-4F61-81F4-182A12BCAA52}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
Tools|Any CPU = Tools|Any CPU
Tools|x64 = Tools|x64
Tools|x86 = Tools|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|x64.ActiveCfg = Debug|x64
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|x64.Build.0 = Debug|x64
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|x86.ActiveCfg = Debug|x86
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|x86.Build.0 = Debug|x86
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Release|Any CPU.Build.0 = Release|Any CPU
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Release|x64.ActiveCfg = Release|x64
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Release|x64.Build.0 = Release|x64
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Release|x86.ActiveCfg = Release|x86
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Release|x86.Build.0 = Release|x86
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Tools|Any CPU.Build.0 = Debug|Any CPU
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Tools|x64.ActiveCfg = Debug|x64
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Tools|x64.Build.0 = Debug|x64
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Tools|x86.ActiveCfg = Debug|x86
{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Tools|x86.Build.0 = Debug|x86
{0529F740-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0529F740-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0529F740-0000-0000-0000-000000000000}.Debug|x64.ActiveCfg = Debug|x64
{0529F740-0000-0000-0000-000000000000}.Debug|x64.Build.0 = Debug|x64
{0529F740-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x86
{0529F740-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|x86
{0529F740-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0529F740-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
{0529F740-0000-0000-0000-000000000000}.Release|x64.ActiveCfg = Release|x64
{0529F740-0000-0000-0000-000000000000}.Release|x64.Build.0 = Release|x64
{0529F740-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
{0529F740-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
{0529F740-0000-0000-0000-000000000000}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{0529F740-0000-0000-0000-000000000000}.Tools|Any CPU.Build.0 = Debug|Any CPU
{0529F740-0000-0000-0000-000000000000}.Tools|x64.ActiveCfg = Debug|x64
{0529F740-0000-0000-0000-000000000000}.Tools|x64.Build.0 = Debug|x64
{0529F740-0000-0000-0000-000000000000}.Tools|x86.ActiveCfg = Debug|x86
{0529F740-0000-0000-0000-000000000000}.Tools|x86.Build.0 = Debug|x86
{B04AAE71-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B04AAE71-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B04AAE71-0000-0000-0000-000000000000}.Debug|x64.ActiveCfg = Debug|x64
{B04AAE71-0000-0000-0000-000000000000}.Debug|x64.Build.0 = Debug|x64
{B04AAE71-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x86
{B04AAE71-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|x86
{B04AAE71-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B04AAE71-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
{B04AAE71-0000-0000-0000-000000000000}.Release|x64.ActiveCfg = Release|x64
{B04AAE71-0000-0000-0000-000000000000}.Release|x64.Build.0 = Release|x64
{B04AAE71-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
{B04AAE71-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
{302B877E-0000-0000-0000-000000000000}.Debug|x64.ActiveCfg = Debug|x64
{302B877E-0000-0000-0000-000000000000}.Debug|x64.Build.0 = Debug|x64
{302B877E-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x86
{302B877E-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|x86
{302B877E-0000-0000-0000-000000000000}.Release|x64.ActiveCfg = Release|x64
{302B877E-0000-0000-0000-000000000000}.Release|x64.Build.0 = Release|x64
{302B877E-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
{302B877E-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
{0C31DFDF-0000-0000-0000-000000000000}.Debug|x64.ActiveCfg = Debug|x64
{0C31DFDF-0000-0000-0000-000000000000}.Debug|x64.Build.0 = Debug|x64
{0C31DFDF-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x86
{0C31DFDF-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|x86
{0C31DFDF-0000-0000-0000-000000000000}.Release|x64.ActiveCfg = Release|x64
{0C31DFDF-0000-0000-0000-000000000000}.Release|x64.Build.0 = Release|x64
{0C31DFDF-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
{0C31DFDF-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
{B04AAE71-0000-0000-0000-000000000000}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{B04AAE71-0000-0000-0000-000000000000}.Tools|Any CPU.Build.0 = Debug|Any CPU
{B04AAE71-0000-0000-0000-000000000000}.Tools|x64.ActiveCfg = Debug|x64
{B04AAE71-0000-0000-0000-000000000000}.Tools|x64.Build.0 = Debug|x64
{B04AAE71-0000-0000-0000-000000000000}.Tools|x86.ActiveCfg = Debug|x86
{B04AAE71-0000-0000-0000-000000000000}.Tools|x86.Build.0 = Debug|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|x64.ActiveCfg = Debug|x64
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|x64.Build.0 = Debug|x64
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|x86.ActiveCfg = Debug|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|x86.Build.0 = Debug|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x64.ActiveCfg = Release|x64
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x64.Build.0 = Release|x64
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x86.ActiveCfg = Release|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x86.Build.0 = Release|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|Any CPU.Build.0 = Debug|Any CPU
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x64.ActiveCfg = Debug|x64
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x64.Build.0 = Debug|x64
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x86.ActiveCfg = Debug|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x86.Build.0 = Debug|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Tools|Any CPU.ActiveCfg = Debug|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Tools|Any CPU.Build.0 = Debug|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Tools|x64.ActiveCfg = Debug|x64
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Tools|x64.Build.0 = Debug|x64
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Tools|x86.ActiveCfg = Debug|x86
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Tools|x86.Build.0 = Debug|x86
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Debug|x64.ActiveCfg = Debug|x64
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Debug|x64.Build.0 = Debug|x64
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Debug|x86.ActiveCfg = Debug|x86
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Debug|x86.Build.0 = Debug|x86
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Release|Any CPU.Build.0 = Release|Any CPU
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Release|x64.ActiveCfg = Release|x64
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Release|x64.Build.0 = Release|x64
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Release|x86.ActiveCfg = Release|x86
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Release|x86.Build.0 = Release|x86
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Tools|Any CPU.Build.0 = Debug|Any CPU
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Tools|x64.ActiveCfg = Debug|x64
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Tools|x64.Build.0 = Debug|x64
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Tools|x86.ActiveCfg = Debug|x86
{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Tools|x86.Build.0 = Debug|x86
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Debug|x64.ActiveCfg = Debug|x64
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Debug|x64.Build.0 = Debug|x64
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Debug|x86.ActiveCfg = Debug|x86
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Debug|x86.Build.0 = Debug|x86
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Release|Any CPU.Build.0 = Release|Any CPU
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Release|x64.ActiveCfg = Release|x64
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Release|x64.Build.0 = Release|x64
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Release|x86.ActiveCfg = Release|x86
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Release|x86.Build.0 = Release|x86
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Tools|Any CPU.Build.0 = Debug|Any CPU
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Tools|x64.ActiveCfg = Debug|x64
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Tools|x64.Build.0 = Debug|x64
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Tools|x86.ActiveCfg = Debug|x86
{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Tools|x86.Build.0 = Debug|x86
{59250BAF-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{59250BAF-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU
{59250BAF-0000-0000-0000-000000000000}.Debug|x64.ActiveCfg = Debug|x64
{59250BAF-0000-0000-0000-000000000000}.Debug|x64.Build.0 = Debug|x64
{59250BAF-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x86
{59250BAF-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|x86
{59250BAF-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU
{59250BAF-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU
{59250BAF-0000-0000-0000-000000000000}.Release|x64.ActiveCfg = Release|x64
{59250BAF-0000-0000-0000-000000000000}.Release|x64.Build.0 = Release|x64
{59250BAF-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
{59250BAF-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
{59250BAF-0000-0000-0000-000000000000}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{59250BAF-0000-0000-0000-000000000000}.Tools|Any CPU.Build.0 = Debug|Any CPU
{59250BAF-0000-0000-0000-000000000000}.Tools|x64.ActiveCfg = Debug|x64
{59250BAF-0000-0000-0000-000000000000}.Tools|x64.Build.0 = Debug|x64
{59250BAF-0000-0000-0000-000000000000}.Tools|x86.ActiveCfg = Debug|x86
{59250BAF-0000-0000-0000-000000000000}.Tools|x86.Build.0 = Debug|x86
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|x64.ActiveCfg = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|x64.Build.0 = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|x86.ActiveCfg = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|x86.Build.0 = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|Any CPU.Build.0 = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|x64.ActiveCfg = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|x64.Build.0 = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|x86.ActiveCfg = Debug|Any CPU
{31D24303-F6A9-4D53-BB03-A73EDCB3186D}.Debug|x64.ActiveCfg = Debug|x64
{31D24303-F6A9-4D53-BB03-A73EDCB3186D}.Debug|x64.Build.0 = Debug|x64
{31D24303-F6A9-4D53-BB03-A73EDCB3186D}.Debug|x86.ActiveCfg = Debug|x86
{31D24303-F6A9-4D53-BB03-A73EDCB3186D}.Debug|x86.Build.0 = Debug|x86
{31D24303-F6A9-4D53-BB03-A73EDCB3186D}.Release|x64.ActiveCfg = Release|x64
{31D24303-F6A9-4D53-BB03-A73EDCB3186D}.Release|x64.Build.0 = Release|x64
{31D24303-F6A9-4D53-BB03-A73EDCB3186D}.Release|x86.ActiveCfg = Release|x86
{31D24303-F6A9-4D53-BB03-A73EDCB3186D}.Release|x86.Build.0 = Release|x86
{46786269-57B9-48E7-AA4F-8F4D84609FE6}.Debug|x64.ActiveCfg = Debug|x64
{46786269-57B9-48E7-AA4F-8F4D84609FE6}.Debug|x64.Build.0 = Debug|x64
{46786269-57B9-48E7-AA4F-8F4D84609FE6}.Debug|x86.ActiveCfg = Debug|x86
{46786269-57B9-48E7-AA4F-8F4D84609FE6}.Debug|x86.Build.0 = Debug|x86
{46786269-57B9-48E7-AA4F-8F4D84609FE6}.Release|x64.ActiveCfg = Release|x64
{46786269-57B9-48E7-AA4F-8F4D84609FE6}.Release|x64.Build.0 = Release|x64
{46786269-57B9-48E7-AA4F-8F4D84609FE6}.Release|x86.ActiveCfg = Release|x86
{46786269-57B9-48E7-AA4F-8F4D84609FE6}.Release|x86.Build.0 = Release|x86
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Debug|x64.ActiveCfg = Debug|x64
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Debug|x64.Build.0 = Debug|x64
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Debug|x86.ActiveCfg = Debug|x86
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Debug|x86.Build.0 = Debug|x86
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Release|x64.ActiveCfg = Release|x64
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Release|x64.Build.0 = Release|x64
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Release|x86.ActiveCfg = Release|x86
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F}.Release|x86.Build.0 = Release|x86
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|x86.Build.0 = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Tools|Any CPU.Build.0 = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Tools|x64.ActiveCfg = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Tools|x64.Build.0 = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Tools|x86.ActiveCfg = Debug|Any CPU
{C899FCA4-7037-4E49-ABC2-44DE72487110}.Tools|x86.Build.0 = Debug|Any CPU
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Debug|Any CPU.Build.0 = Debug|Any CPU
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Debug|x64.ActiveCfg = Debug|x64
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Debug|x64.Build.0 = Debug|x64
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Debug|x86.ActiveCfg = Debug|x86
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Debug|x86.Build.0 = Debug|x86
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Release|Any CPU.ActiveCfg = Release|Any CPU
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Release|Any CPU.Build.0 = Release|Any CPU
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Release|x64.ActiveCfg = Release|x64
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Release|x64.Build.0 = Release|x64
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Release|x86.ActiveCfg = Release|x86
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Release|x86.Build.0 = Release|x86
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|Any CPU.Build.0 = Debug|Any CPU
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|x64.ActiveCfg = Debug|x64
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|x64.Build.0 = Debug|x64
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|x86.ActiveCfg = Debug|x86
{83429BD6-6358-4B18-BE51-401DF8EA2673}.Tools|x86.Build.0 = Debug|x86
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|x64.ActiveCfg = Debug|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|x64.Build.0 = Debug|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|x86.ActiveCfg = Debug|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Debug|x86.Build.0 = Debug|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|Any CPU.Build.0 = Release|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|x64.ActiveCfg = Release|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|x64.Build.0 = Release|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|x86.ActiveCfg = Release|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Release|x86.Build.0 = Release|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|Any CPU.ActiveCfg = Tools|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|Any CPU.Build.0 = Tools|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|x64.ActiveCfg = Tools|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|x64.Build.0 = Tools|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|x86.ActiveCfg = Tools|Any CPU
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB}.Tools|x86.Build.0 = Tools|Any CPU
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Debug|x64.ActiveCfg = Debug|x64
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Debug|x64.Build.0 = Debug|x64
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Debug|x86.ActiveCfg = Debug|x86
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Debug|x86.Build.0 = Debug|x86
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Release|Any CPU.Build.0 = Release|Any CPU
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Release|x64.ActiveCfg = Release|x64
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Release|x64.Build.0 = Release|x64
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Release|x86.ActiveCfg = Release|x86
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Release|x86.Build.0 = Release|x86
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Tools|Any CPU.ActiveCfg = Debug|Any CPU
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Tools|Any CPU.Build.0 = Debug|Any CPU
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Tools|x64.ActiveCfg = Debug|x64
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Tools|x64.Build.0 = Debug|x64
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Tools|x86.ActiveCfg = Debug|x86
{0E0723E8-D785-4F61-81F4-182A12BCAA52}.Tools|x86.Build.0 = Debug|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -166,15 +260,12 @@ Global
GlobalSection(NestedProjects) = preSolution
{0529F740-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{B04AAE71-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{302B877E-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{0C31DFDF-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{59250BAF-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{C899FCA4-7037-4E49-ABC2-44DE72487110} = {3202E94D-E985-4181-9F69-F458A7F6574F}
{31D24303-F6A9-4D53-BB03-A73EDCB3186D} = {1780DA39-F1EC-4100-8C58-ECD756C68033}
{46786269-57B9-48E7-AA4F-8F4D84609FE6} = {1780DA39-F1EC-4100-8C58-ECD756C68033}
{D17DE83D-A592-461F-8AF2-53F9E22E1D0F} = {1780DA39-F1EC-4100-8C58-ECD756C68033}
{1780DA39-F1EC-4100-8C58-ECD756C68033} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{83429BD6-6358-4B18-BE51-401DF8EA2673} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{8AF31169-49B1-4A12-B8F4-2A0674A9E7CB} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
{0E0723E8-D785-4F61-81F4-182A12BCAA52} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AA37ED9F-F8D6-468E-A101-658AD605B09A}

2
engine

Submodule engine updated: 93c7aab5d0...fc890e5824

View File

@@ -21,30 +21,66 @@ except ImportError:
Fore = ColorDummy()
Style = ColorDummy()
p = os.path.join
SHARED_IGNORED_RESOURCES = {
"ss13model.7z",
"ResourcePack.zip",
"buildResourcePack.py",
"CONTENT_GOES_HERE"
}
CLIENT_IGNORED_RESOURCES = {
"Maps",
"emotes.xml"
}
SERVER_IGNORED_RESOURCES = {
"Textures",
"Fonts"
}
GODOT = None
def main():
global GODOT
parser = argparse.ArgumentParser(
description="Packages the SS14 content repo for release on all platforms.")
parser.add_argument("--platform",
"-p",
action="store",
choices=["windows", "mac", "linux"],
nargs="*",
help="Which platform to build for. If not provided, all platforms will be built")
parser.add_argument("--godot",
action="store",
help="Path to the Godot executable used for exporting.")
parser.add_argument("--windows-godot-build",
action="store")
args = parser.parse_args()
platforms = args.platform
GODOT = args.godot
if not GODOT:
print("No Godot executable passed.")
exit(1)
if not platforms:
platforms = ["windows", "mac", "linux"]
if os.path.exists("release"):
print(Fore.BLUE+Style.DIM + "Cleaning old release packages (release/)..." + Style.RESET_ALL)
print(Fore.BLUE+Style.DIM +
"Cleaning old release packages (release/)..." + Style.RESET_ALL)
shutil.rmtree("release")
os.mkdir("release")
if "windows" in platforms:
wipe_bin()
build_windows()
if not args.windows_godot_build:
print("No --window-godot-build passed")
exit(1)
build_windows(args.windows_godot_build)
if "linux" in platforms:
wipe_bin()
@@ -54,58 +90,85 @@ def main():
wipe_bin()
build_macos()
def wipe_bin():
print(Fore.BLUE + Style.DIM +
"Clearing old build artifacts (if any)..." + Style.RESET_ALL)
if os.path.exists(p("engine", "bin")):
shutil.rmtree(p("engine", "bin"))
if os.path.exists("bin"):
print(Fore.BLUE + Style.DIM + "Clearing old build artifacts..." + Style.RESET_ALL)
shutil.rmtree("bin")
def build_windows():
def build_windows(godot_build):
# Run a full build.
print(Fore.GREEN + "Building project for Windows x86..." + Style.RESET_ALL)
print(Fore.GREEN + "Building project for Windows x64..." + Style.RESET_ALL)
subprocess.run(["msbuild",
"SpaceStation14Content.sln",
"/m",
"/p:Configuration=Release",
"/p:Platform=x86",
"/p:Platform=x64",
"/nologo",
"/v:m",
"/p:TargetOS=Windows",
"/t:Rebuild"
], check=True)
# Package client.
print(Fore.GREEN + "Packaging Windows x86 client..." + Style.RESET_ALL)
package_zip(os.path.join("bin", "Client"),
os.path.join("release", "SS14.Client_windows_x86.zip"))
print(Fore.GREEN + "Packaging Windows x64 client..." + Style.RESET_ALL)
print(Fore.GREEN + "Packaging Windows x86 server..." + Style.RESET_ALL)
package_zip(os.path.join("bin", "Server"),
os.path.join("release", "SS14.Server_windows_x86.zip"))
os.makedirs("bin/win_export", exist_ok=True)
subprocess.run([GODOT,
"--verbose",
"--export-debug",
"win",
"../../bin/win_export/SS14.Client.exe"],
cwd="engine/SS14.Client.Godot")
client_zip = zipfile.ZipFile(p("release", "SS14.Client_Windows_x64.zip"), "w", compression=zipfile.ZIP_DEFLATED)
client_zip.writestr("spess.bat", "cd godot\ncall SS14.Client.exe --path SS14.Client.Godot")
client_zip.write(p("bin", "win_export"), "godot")
client_zip.write(p("bin", "win_export", "SS14.Client.pck"), p("godot", "SS14.Client.pck"))
copy_dir_into_zip(godot_build, "godot", client_zip)
copy_dir_into_zip(p("engine", "bin", "Client"), p("bin", "Client"), client_zip)
copy_resources(p("bin", "Client", "Resources"), client_zip, server=False)
client_zip.close()
print(Fore.GREEN + "Packaging Windows x64 server..." + Style.RESET_ALL)
server_zip = zipfile.ZipFile(p("release", "SS14.Server_Windows_x64.zip"), "w", compression=zipfile.ZIP_DEFLATED)
copy_dir_into_zip(p("engine", "bin", "Server"), "", server_zip)
copy_resources(p("Resources"), server_zip, server=True)
server_zip.close()
def build_linux():
print(Fore.GREEN + "Building project for Linux x86..." + Style.RESET_ALL)
print(Fore.GREEN + "Building project for Linux x64..." + Style.RESET_ALL)
subprocess.run(["msbuild",
"SpaceStation14Content.sln",
"/m",
"/p:Configuration=Release",
"/p:Platform=x86",
"/p:Platform=x64",
"/nologo",
"/v:m",
"/p:TargetOS=Linux",
"/t:Rebuild"
], check=True)
], check=True)
# NOTE: Temporarily disabled because I can't test it.
# Package client.
print(Fore.GREEN + "Packaging Linux x86 client..." + Style.RESET_ALL)
package_zip(os.path.join("bin", "Client"), os.path.join("release", "SS14.Client_linux_x86.zip"))
#print(Fore.GREEN + "Packaging Linux x64 client..." + Style.RESET_ALL)
# package_zip(p("bin", "Client"), p(
# "release", "SS14.Client_linux_x64.zip"))
print(Fore.GREEN + "Packaging Linux x64 server..." + Style.RESET_ALL)
server_zip = zipfile.ZipFile(p("release", "SS14.Server_Linux_x64.zip"), "w", compression=zipfile.ZIP_DEFLATED)
copy_dir_into_zip(p("engine", "bin", "Server"), "", server_zip)
copy_resources(p("Resources"), server_zip, server=True)
server_zip.close()
print(Fore.GREEN + "Packaging Linux x86 server..." + Style.RESET_ALL)
package_zip(os.path.join("bin", "Server"), os.path.join("release", "SS14.Server_linux_x86.zip"))
def build_macos():
# Haha this is gonna suck.
print(Fore.GREEN + "Building project for MacOS x64..." + Style.RESET_ALL)
subprocess.run(["msbuild",
"SpaceStation14Content.sln",
@@ -116,56 +179,95 @@ def build_macos():
"/v:m",
"/p:TargetOS=MacOS",
"/t:Rebuild"
], check=True)
], check=True)
print(Fore.GREEN + "Packaging MacOS x64 client..." + Style.RESET_ALL)
# Client has to go in an app bundle.
bundle = os.path.join("bin", "app", "Space Station 14.app")
shutil.copytree(os.path.join("BuildFiles", "Mac", "Space Station 14.app"),
bundle)
subprocess.run(GODOT,
"--verbose",
"--export-debug",
"mac",
"../../release/mac_export.zip",
cwd="engine/SS14.Client.Godot",
check=True)
_copytree(os.path.join("bin", "Client"),
os.path.join(bundle, "Contents", "MacOS"))
_copytree(p("engine", "bin", "Client"),
p(bundle, "Contents", "MacOS", "bin", "Client"))
package_zip(os.path.join("bin", "app"),
os.path.join("release", "SS14.Client_MacOS.zip"))
copy_resources(p(bundle, "Contents",
"MacOS", "bin", "Client", "Resources"), server=False)
os.makedirs(p(bundle, "Contents", "MacOS",
"SS14.Client.Godot"), exist_ok=True)
_copytree(p("engine", "SS14.Client.Godot"),
p(bundle, "Contents", "MacOS", "SS14.Client.Godot"))
package_zip(p("bin", "mac_app"),
p("release", "SS14.Client_MacOS.zip"))
print(Fore.GREEN + "Packaging MacOS x64 server..." + Style.RESET_ALL)
package_zip(os.path.join("bin", "Server"),
os.path.join("release", "SS14.Server_MacOS.zip"))
copy_resources(p("engine", "bin",
"Server", "Resources"), server=True)
package_zip(p("engine", "bin", "Server"),
p("release", "SS14.Server_MacOS.zip"))
def copy_resources(target, zipf, server):
# Content repo goes FIRST so that it won't override engine files as that's forbidden.
do_resource_copy(target, "Resources", zipf, server)
do_resource_copy(target, p("engine", "Resources"), zipf, server)
def do_resource_copy(target, source, zipf, server):
for filename in os.listdir(source):
if filename in SHARED_IGNORED_RESOURCES \
or filename in (SERVER_IGNORED_RESOURCES if server else CLIENT_IGNORED_RESOURCES):
continue
path = p(source, filename)
target_path = p(target, filename)
if os.path.isdir(path):
copy_dir_into_zip(path, target_path, zipf)
# Hack copied from Stack Overflow to get around the fact that
# shutil.copytree doesn't allow copying into existing directories.
def _copytree(src, dst, symlinks=False, ignore=None):
for item in os.listdir(src):
s = os.path.join(src, item)
d = os.path.join(dst, item)
if os.path.isdir(s):
shutil.copytree(s, d, symlinks, ignore)
else:
shutil.copy2(s, d)
zipf.write(path, target_path)
def package_zip(directory, zipname):
with zipfile.ZipFile(zipname, "w", zipfile.ZIP_DEFLATED) as zipf:
for dirs, _, files in os.walk(directory):
relpath = os.path.relpath(dirs, directory)
if relpath != ".":
# Write directory node except for root level.
zipf.write(dirs, relpath)
for filename in files:
zippath = os.path.join(relpath, filename)
filepath = os.path.join(dirs, filename)
def zip_entry_exists(zipf, name):
try:
# Trick ZipInfo into sanitizing the name for us so this awful module stops spewing warnings.
zinfo = zipfile.ZipInfo.from_file("Resources", name)
zipf.getinfo(zinfo.filename)
except KeyError:
return False
return True
message = "{dim}{diskroot}{sep}{zipfile}{dim} -> {ziproot}{sep}{zipfile}".format(
sep=os.sep + Style.NORMAL,
dim=Style.DIM,
diskroot=directory,
ziproot=zipname,
zipfile=os.path.normpath(zippath))
print(Fore.CYAN + message + Style.RESET_ALL)
zipf.write(filepath, zippath)
def copy_dir_into_zip(directory, basepath, zipf):
if basepath and not zip_entry_exists(zipf, basepath):
zipf.write(directory, basepath)
for root, _, files in os.walk(directory):
relpath = os.path.relpath(root, directory)
if relpath != "." and not zip_entry_exists(zipf, p(basepath, relpath)):
zipf.write(root, p(basepath, relpath))
for filename in files:
zippath = p(basepath, relpath, filename)
filepath = p(root, filename)
message = "{dim}{diskroot}{sep}{zipfile}{dim} -> {ziproot}{sep}{zipfile}".format(
sep=os.sep + Style.NORMAL,
dim=Style.DIM,
diskroot=directory,
ziproot=zipf.filename,
zipfile=os.path.normpath(zippath))
print(Fore.CYAN + message + Style.RESET_ALL)
zipf.write(filepath, zippath)
if __name__ == '__main__':
main()