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

View File

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

View File

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

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"?> <?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')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -11,37 +11,46 @@
<AssemblyName>Content.Client</AssemblyName> <AssemblyName>Content.Client</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<ContentAssemblyTarget>..\bin\Client\Resources\Assemblies\</ContentAssemblyTarget> <ContentAssemblyTarget>..\engine\bin\Client\Resources\Assemblies\</ContentAssemblyTarget>
<!-- <!--
This copies all dependencies, This copies all dependencies,
but on the plus side it's automatically located in the right place. but on the plus side it's automatically located in the right place.
--> -->
<OutputPath>..\bin\Content.Client\</OutputPath> <OutputPath>..\bin\Content.Client\</OutputPath>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet Condition="'$(ActualOS)' == 'Windows'">MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType> <DebugType>portable</DebugType>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType> <DebugType>portable</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>x64</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>x64</PlatformTarget>
</PropertyGroup> </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> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@@ -75,12 +84,8 @@
<Project>{59250baf-0000-0000-0000-000000000000}</Project> <Project>{59250baf-0000-0000-0000-000000000000}</Project>
<Name>Lidgren.Network</Name> <Name>Lidgren.Network</Name>
</ProjectReference> </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"> <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> <Name>SS14.Client</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\engine\SS14.Shared\SS14.Shared.csproj"> <ProjectReference Include="..\engine\SS14.Shared\SS14.Shared.csproj">

View File

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

View File

@@ -30,19 +30,27 @@ namespace Content.Client.GameObjects
hands.Clear(); hands.Clear();
foreach (var hand in cast.Hands) 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; ActiveIndex = cast.ActiveIndex;
// Tell UI to update. // Tell UI to update.
var uiMgr = IoCManager.Resolve<IUserInterfaceManager>(); var uiMgr = IoCManager.Resolve<IUserInterfaceManager>();
if (!uiMgr.TryGetSingleComponent<HandsGui>(out var component)) if (!uiMgr.StateRoot.TryGetChild<HandsGui>("HandsGui", out var control))
{ {
component = new HandsGui(); control = new HandsGui();
uiMgr.AddComponent(component); uiMgr.StateRoot.AddChild(control);
} }
component.UpdateHandIcons(); control.UpdateHandIcons();
} }
public void SendChangeHand(string index) public void SendChangeHand(string index)

View File

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

View File

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

View File

@@ -17,19 +17,18 @@ namespace Content.Server.GameObjects.Components.Weapon.Ranged.Hitscan
{ {
public override string Name => "HitscanWeapon"; public override string Name => "HitscanWeapon";
string spritename = "laser"; string spritename = "Objects/laser.png";
protected override void Fire(IEntity user, LocalCoordinates clicklocation) 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 userposition = user.GetComponent<TransformComponent>().WorldPosition; //Remember world positions are ephemeral and can only be used instantaneously
var angle = new Angle(clicklocation.Position - userposition); var angle = new Angle(clicklocation.Position - userposition);
var theta = angle.Theta;
var ray = new Ray(userposition, angle.ToVec()); var ray = new Ray(userposition, angle.ToVec());
var raycastresults = IoCManager.Resolve<ICollisionManager>().IntersectRay(ray, 20, Owner.GetComponent<TransformComponent>().GetMapTransform().Owner); var raycastresults = IoCManager.Resolve<ICollisionManager>().IntersectRay(ray, 20, Owner.GetComponent<TransformComponent>().GetMapTransform().Owner);
Hit(raycastresults); Hit(raycastresults);
AfterEffects(user, raycastresults, theta); AfterEffects(user, raycastresults, angle);
} }
protected virtual void Hit(RayCastResults ray) protected virtual void Hit(RayCastResults ray)
@@ -40,20 +39,23 @@ namespace Content.Server.GameObjects.Components.Weapon.Ranged.Hitscan
} }
} }
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 time = IoCManager.Resolve<IGameTiming>().CurTime;
var offset = angle.ToVec() * ray.Distance / 2;
EffectSystemMessage message = new EffectSystemMessage EffectSystemMessage message = new EffectSystemMessage
{ {
EffectSprite = spritename, EffectSprite = spritename,
Born = time, Born = time,
DeathTime = time + TimeSpan.FromSeconds(1), DeathTime = time + TimeSpan.FromSeconds(1),
Size = new Vector2(ray.Distance, 1f), Size = new Vector2(ray.Distance, 1f),
Coordinates = user.GetComponent<TransformComponent>().LocalPosition, Coordinates = user.GetComponent<TransformComponent>().LocalPosition.Translated(offset),
//Rotated from east facing //Rotated from east facing
Rotation = (float)theta, Rotation = (float)angle.Theta,
ColorDelta = new Vector4(0, 0, 0, -1500f), 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); IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<EffectSystem>().CreateParticle(message);
} }

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="OpenTK" version="3.0.0-pre" targetFramework="net451" /> <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" /> <package id="YamlDotNet" version="4.3.0" targetFramework="net451" />
</packages> </packages>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?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')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -13,30 +13,39 @@
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<OutputPath>bin\x86\Debug\</OutputPath> <OutputPath>bin\x86\Debug\</OutputPath>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet Condition="'$(ActualOS)' == 'Windows'">MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType> <DebugType>portable</DebugType>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType> <DebugType>portable</DebugType>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>x64</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<PlatformTarget>x64</PlatformTarget> <PlatformTarget>x64</PlatformTarget>
</PropertyGroup> </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> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@@ -75,33 +84,17 @@
<ProjectReference Include="..\engine\SS14.Client\SS14.Client.csproj"> <ProjectReference Include="..\engine\SS14.Client\SS14.Client.csproj">
<Name>SS14.Client</Name> <Name>SS14.Client</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly> <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<Project>{83429BD6-6358-4B18-BE51-401DF8EA2673}</Project>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\engine\SS14.Server\SS14.Server.csproj"> <ProjectReference Include="..\engine\SS14.Server\SS14.Server.csproj">
<Name>SS14.Server</Name> <Name>SS14.Server</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly> <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
<Project>{B04AAE71-0000-0000-0000-000000000000}</Project>
</ProjectReference> </ProjectReference>
</ItemGroup> </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> <ItemGroup>
<None Include="app.config" /> <None Include="app.config" />
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <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> </Project>

View File

@@ -1,4 +1,6 @@
using SS14.Shared.ContentPack; using SS14.Shared.ContentPack;
using SS14.Shared.Interfaces;
using SS14.Shared.IoC;
namespace Content.Shared namespace Content.Shared
{ {
@@ -6,7 +8,10 @@ namespace Content.Shared
{ {
public override void Init() 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"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="OpenTK" version="3.0.0-pre" targetFramework="net451" /> <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" /> <package id="YamlDotNet" version="4.3.0" targetFramework="net451" />
</packages> </packages>

6
Jenkinsfile vendored
View File

@@ -4,15 +4,15 @@ pipeline {
stages { stages {
stage('Setup') { stage('Setup') {
steps { steps {
sh './RUN_THIS.py' sh 'git submodule update --init --recursive'
sh 'TMP=~/.cache/NuGet/ nuget restore' sh 'TMP=~/.cache/NuGet/ nuget restore'
sh 'engine/Tools/download_godotsharp.py'
} }
} }
stage('Build') { stage('Build') {
steps { 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: 'release/*.zip'
archiveArtifacts artifacts: 'engine/Resources/ResourcePack.zip'
} }
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

2
engine

Submodule engine updated: 93c7aab5d0...fc890e5824

View File

@@ -21,30 +21,66 @@ except ImportError:
Fore = ColorDummy() Fore = ColorDummy()
Style = 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(): def main():
global GODOT
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Packages the SS14 content repo for release on all platforms.") description="Packages the SS14 content repo for release on all platforms.")
parser.add_argument("--platform", parser.add_argument("--platform",
"-p",
action="store", action="store",
choices=["windows", "mac", "linux"], choices=["windows", "mac", "linux"],
nargs="*", nargs="*",
help="Which platform to build for. If not provided, all platforms will be built") 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() args = parser.parse_args()
platforms = args.platform platforms = args.platform
GODOT = args.godot
if not GODOT:
print("No Godot executable passed.")
exit(1)
if not platforms: if not platforms:
platforms = ["windows", "mac", "linux"] platforms = ["windows", "mac", "linux"]
if os.path.exists("release"): 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") shutil.rmtree("release")
os.mkdir("release") os.mkdir("release")
if "windows" in platforms: if "windows" in platforms:
wipe_bin() 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: if "linux" in platforms:
wipe_bin() wipe_bin()
@@ -54,58 +90,85 @@ def main():
wipe_bin() wipe_bin()
build_macos() build_macos()
def wipe_bin(): 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"): if os.path.exists("bin"):
print(Fore.BLUE + Style.DIM + "Clearing old build artifacts..." + Style.RESET_ALL)
shutil.rmtree("bin") shutil.rmtree("bin")
def build_windows():
def build_windows(godot_build):
# Run a full 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", subprocess.run(["msbuild",
"SpaceStation14Content.sln", "SpaceStation14Content.sln",
"/m", "/m",
"/p:Configuration=Release", "/p:Configuration=Release",
"/p:Platform=x86", "/p:Platform=x64",
"/nologo", "/nologo",
"/v:m", "/v:m",
"/p:TargetOS=Windows", "/p:TargetOS=Windows",
"/t:Rebuild" "/t:Rebuild"
], check=True) ], check=True)
# Package client. print(Fore.GREEN + "Packaging Windows x64 client..." + Style.RESET_ALL)
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 x86 server..." + Style.RESET_ALL) os.makedirs("bin/win_export", exist_ok=True)
package_zip(os.path.join("bin", "Server"), subprocess.run([GODOT,
os.path.join("release", "SS14.Server_windows_x86.zip")) "--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(): 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", subprocess.run(["msbuild",
"SpaceStation14Content.sln", "SpaceStation14Content.sln",
"/m", "/m",
"/p:Configuration=Release", "/p:Configuration=Release",
"/p:Platform=x86", "/p:Platform=x64",
"/nologo", "/nologo",
"/v:m", "/v:m",
"/p:TargetOS=Linux", "/p:TargetOS=Linux",
"/t:Rebuild" "/t:Rebuild"
], check=True) ], check=True)
# NOTE: Temporarily disabled because I can't test it.
# Package client. # Package client.
print(Fore.GREEN + "Packaging Linux x86 client..." + Style.RESET_ALL) #print(Fore.GREEN + "Packaging Linux x64 client..." + Style.RESET_ALL)
package_zip(os.path.join("bin", "Client"), os.path.join("release", "SS14.Client_linux_x86.zip")) # 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(): def build_macos():
# Haha this is gonna suck.
print(Fore.GREEN + "Building project for MacOS x64..." + Style.RESET_ALL) print(Fore.GREEN + "Building project for MacOS x64..." + Style.RESET_ALL)
subprocess.run(["msbuild", subprocess.run(["msbuild",
"SpaceStation14Content.sln", "SpaceStation14Content.sln",
@@ -120,52 +183,91 @@ def build_macos():
print(Fore.GREEN + "Packaging MacOS x64 client..." + Style.RESET_ALL) print(Fore.GREEN + "Packaging MacOS x64 client..." + Style.RESET_ALL)
# Client has to go in an app bundle. # Client has to go in an app bundle.
bundle = os.path.join("bin", "app", "Space Station 14.app") subprocess.run(GODOT,
shutil.copytree(os.path.join("BuildFiles", "Mac", "Space Station 14.app"), "--verbose",
bundle) "--export-debug",
"mac",
"../../release/mac_export.zip",
cwd="engine/SS14.Client.Godot",
check=True)
_copytree(os.path.join("bin", "Client"), _copytree(p("engine", "bin", "Client"),
os.path.join(bundle, "Contents", "MacOS")) p(bundle, "Contents", "MacOS", "bin", "Client"))
package_zip(os.path.join("bin", "app"), copy_resources(p(bundle, "Contents",
os.path.join("release", "SS14.Client_MacOS.zip")) "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) print(Fore.GREEN + "Packaging MacOS x64 server..." + Style.RESET_ALL)
package_zip(os.path.join("bin", "Server"), copy_resources(p("engine", "bin",
os.path.join("release", "SS14.Server_MacOS.zip")) "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: 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: def zip_entry_exists(zipf, name):
for dirs, _, files in os.walk(directory): try:
relpath = os.path.relpath(dirs, directory) # Trick ZipInfo into sanitizing the name for us so this awful module stops spewing warnings.
if relpath != ".": zinfo = zipfile.ZipInfo.from_file("Resources", name)
# Write directory node except for root level. zipf.getinfo(zinfo.filename)
zipf.write(dirs, relpath) except KeyError:
return False
return True
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: for filename in files:
zippath = os.path.join(relpath, filename) zippath = p(basepath, relpath, filename)
filepath = os.path.join(dirs, filename) filepath = p(root, filename)
message = "{dim}{diskroot}{sep}{zipfile}{dim} -> {ziproot}{sep}{zipfile}".format( message = "{dim}{diskroot}{sep}{zipfile}{dim} -> {ziproot}{sep}{zipfile}".format(
sep=os.sep + Style.NORMAL, sep=os.sep + Style.NORMAL,
dim=Style.DIM, dim=Style.DIM,
diskroot=directory, diskroot=directory,
ziproot=zipname, ziproot=zipf.filename,
zipfile=os.path.normpath(zippath)) zipfile=os.path.normpath(zippath))
print(Fore.CYAN + message + Style.RESET_ALL) print(Fore.CYAN + message + Style.RESET_ALL)
zipf.write(filepath, zippath) zipf.write(filepath, zippath)
if __name__ == '__main__': if __name__ == '__main__':
main() main()