diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000..cd042c463f
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,11 @@
+root = true
+
+[*]
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+trim_trailing_whitespace = true
+charset = utf-8-bom
+
+[*.{csproj,xml,yml,dll.config,msbuildproj,targets}]
+indent_size = 2
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000000..09aeb2a597
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1 @@
+* @PJB3005
diff --git a/.gitignore b/.gitignore
index 3c4efe206b..3b167d112c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -258,4 +258,7 @@ paket-files/
# Python Tools for Visual Studio (PTVS)
__pycache__/
-*.pyc
\ No newline at end of file
+*.pyc
+
+# Visual Studio Code workspace settings.
+.vscode/
diff --git a/BuildChecker/.gitignore b/BuildChecker/.gitignore
new file mode 100644
index 0000000000..9e51762ac6
--- /dev/null
+++ b/BuildChecker/.gitignore
@@ -0,0 +1 @@
+INSTALLED_HOOKS_VERSION
diff --git a/BuildChecker/BuildChecker.csproj b/BuildChecker/BuildChecker.csproj
new file mode 100644
index 0000000000..ff45440554
--- /dev/null
+++ b/BuildChecker/BuildChecker.csproj
@@ -0,0 +1,27 @@
+
+
+
+
+ python3
+ py -3
+
+
+
+
+
+
+
+
+
diff --git a/BuildChecker/git_helper.py b/BuildChecker/git_helper.py
new file mode 100644
index 0000000000..a012c3b1b9
--- /dev/null
+++ b/BuildChecker/git_helper.py
@@ -0,0 +1,96 @@
+#!/usr/bin/env python3
+# Installs git hooks, updates them, updates submodules, that kind of thing.
+
+import subprocess
+import sys
+import os
+import shutil
+from pathlib import Path
+from typing import List
+
+SOLUTION_PATH = Path("..") / "SpaceStation14Content.sln"
+CURRENT_HOOKS_VERSION = "1" # If this doesn't match the saved version we overwrite them all.
+QUIET = len(sys.argv) == 2 and sys.argv[1] == "--quiet"
+
+def run_command(command: List[str], capture: bool = False) -> subprocess.CompletedProcess:
+ """
+ Runs a command with pretty output.
+ """
+ text = ' '.join(command)
+ if not QUIET:
+ print("$ {}".format(text))
+
+ sys.stdout.flush()
+
+ completed = None
+
+ if capture:
+ completed = subprocess.run(command, cwd="..", stdout=subprocess.PIPE)
+ else:
+ completed = subprocess.run(command, cwd="..")
+
+ if completed.returncode != 0:
+ print("Error: command exited with code {}!".format(completed.returncode))
+
+ return completed
+
+
+def update_submodules():
+ """
+ Updates all submodules.
+ """
+
+ # If the status doesn't match, force VS to reload the solution.
+ # status = run_command(["git", "submodule", "status"], capture=True)
+ run_command(["git", "submodule", "update", "--init", "--recursive"])
+ # status2 = run_command(["git", "submodule", "status"], capture=True)
+
+ # Something changed.
+ # if status.stdout != status2.stdout:
+ # print("Git submodules changed. Reloading solution.")
+ # reset_solution()
+
+def install_hooks():
+ """
+ Installs the necessary git hooks into .git/hooks.
+ """
+
+ # Read version file.
+ if os.path.isfile("INSTALLED_HOOKS_VERSION"):
+ with open("INSTALLED_HOOKS_VERSION", "r") as f:
+ if f.read() == CURRENT_HOOKS_VERSION:
+ if not QUIET:
+ print("No hooks change detected.")
+ return
+
+ with open("INSTALLED_HOOKS_VERSION", "w") as f:
+ f.write(CURRENT_HOOKS_VERSION)
+
+ print("Hooks need updating.")
+
+ hooks_target_dir = Path("..")/".git"/"hooks"
+ hooks_source_dir = Path("hooks")
+
+ # Clear entire tree since we need to kill deleted files too.
+ for filename in os.listdir(str(hooks_target_dir)):
+ os.remove(str(hooks_target_dir/filename))
+
+ for filename in os.listdir(str(hooks_source_dir)):
+ print("Copying hook {}".format(filename))
+ shutil.copyfile(str(hooks_source_dir/filename), str(hooks_target_dir/filename))
+
+
+def reset_solution():
+ """
+ Force VS to think the solution has been changed to prompt the user to reload it, thus fixing any load errors.
+ """
+
+ with SOLUTION_PATH.open("r") as f:
+ content = f.read()
+
+ with SOLUTION_PATH.open("w") as f:
+ f.write(content)
+
+if __name__ == '__main__':
+ install_hooks()
+update_submodules()
diff --git a/BuildChecker/hooks/post-checkout b/BuildChecker/hooks/post-checkout
new file mode 100644
index 0000000000..c5662445c2
--- /dev/null
+++ b/BuildChecker/hooks/post-checkout
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+gitroot=`git rev-parse --show-toplevel`
+
+cd "$gitroot/BuildChecker"
+
+if [[ `uname` == MINGW* || `uname` == CYGWIN* ]]; then
+ # Windows
+ py -3 git_helper.py --quiet
+else
+ # Not Windows, so probably some other Unix thing.
+ python3 git_helper.py --quiet
+fi
diff --git a/BuildChecker/hooks/post-merge b/BuildChecker/hooks/post-merge
new file mode 100644
index 0000000000..85fe61d966
--- /dev/null
+++ b/BuildChecker/hooks/post-merge
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+# Just call post-checkout since it does the same thing.
+gitroot=`git rev-parse --show-toplevel`
+bash "$gitroot/.git/hooks/post-checkout"
diff --git a/Content.Client/Content.Client.csproj b/Content.Client/Content.Client.csproj
new file mode 100644
index 0000000000..b93ded5e92
--- /dev/null
+++ b/Content.Client/Content.Client.csproj
@@ -0,0 +1,69 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {A2E5F175-78AF-4DDD-8F97-E2D2552372ED}
+ Library
+ Properties
+ Content.Client
+ Content.Client
+ v4.5.1
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {26aeebb3-dde7-443a-9f43-7bc7f4acf6b5}
+ Content.Shared
+
+
+ {59250baf-0000-0000-0000-000000000000}
+ Lidgren.Network
+
+
+ {302b877e-0000-0000-0000-000000000000}
+ SS14.Client.Graphics
+
+
+ {0c31dfdf-0000-0000-0000-000000000000}
+ SS14.Client
+
+
+ {0529f740-0000-0000-0000-000000000000}
+ SS14.Shared
+
+
+
+
\ No newline at end of file
diff --git a/Content.Client/EntryPoint.cs b/Content.Client/EntryPoint.cs
new file mode 100644
index 0000000000..23c31b9e9b
--- /dev/null
+++ b/Content.Client/EntryPoint.cs
@@ -0,0 +1,12 @@
+using SS14.Shared.ContentPack;
+
+namespace Content.Client
+{
+ public class EntryPoint : GameClient
+ {
+ public override void Init()
+ {
+ // TODO: Anything at all.
+ }
+ }
+}
diff --git a/Content.Client/Properties/AssemblyInfo.cs b/Content.Client/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..95ab318881
--- /dev/null
+++ b/Content.Client/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Content.Client")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Content.Client")]
+[assembly: AssemblyCopyright("Copyright © 2017")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("a2e5f175-78af-4ddd-8f97-e2d2552372ed")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Content.Server/Content.Server.csproj b/Content.Server/Content.Server.csproj
new file mode 100644
index 0000000000..fa85b09c9c
--- /dev/null
+++ b/Content.Server/Content.Server.csproj
@@ -0,0 +1,65 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}
+ Library
+ Properties
+ Content.Server
+ Content.Server
+ v4.5.1
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {26aeebb3-dde7-443a-9f43-7bc7f4acf6b5}
+ Content.Shared
+
+
+ {59250baf-0000-0000-0000-000000000000}
+ Lidgren.Network
+
+
+ {b04aae71-0000-0000-0000-000000000000}
+ SS14.Server
+
+
+ {0529f740-0000-0000-0000-000000000000}
+ SS14.Shared
+
+
+
+
\ No newline at end of file
diff --git a/Content.Server/EntryPoint.cs b/Content.Server/EntryPoint.cs
new file mode 100644
index 0000000000..6483e6b6f4
--- /dev/null
+++ b/Content.Server/EntryPoint.cs
@@ -0,0 +1,12 @@
+using SS14.Shared.ContentPack;
+
+namespace Content.Server
+{
+ public class EntryPoint : GameServer
+ {
+ public override void Init()
+ {
+ // TODO: Anything at all.
+ }
+ }
+}
diff --git a/Content.Server/Properties/AssemblyInfo.cs b/Content.Server/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..3ef457b5b3
--- /dev/null
+++ b/Content.Server/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Content.Server")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Content.Server")]
+[assembly: AssemblyCopyright("Copyright © 2017")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("b38dbbd0-04c2-4d1a-84e2-b3446f6adf2a")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Content.Shared/Content.Shared.csproj b/Content.Shared/Content.Shared.csproj
new file mode 100644
index 0000000000..a32873bb24
--- /dev/null
+++ b/Content.Shared/Content.Shared.csproj
@@ -0,0 +1,57 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}
+ Library
+ Properties
+ Content.Shared
+ Content.Shared
+ v4.5.1
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {59250baf-0000-0000-0000-000000000000}
+ Lidgren.Network
+
+
+ {0529f740-0000-0000-0000-000000000000}
+ SS14.Shared
+
+
+
+
\ No newline at end of file
diff --git a/Content.Shared/EntryPoint.cs b/Content.Shared/EntryPoint.cs
new file mode 100644
index 0000000000..7d0dd955d6
--- /dev/null
+++ b/Content.Shared/EntryPoint.cs
@@ -0,0 +1,12 @@
+using SS14.Shared.ContentPack;
+
+namespace Content.Shared
+{
+ public class EntryPoint : GameShared
+ {
+ public override void Init()
+ {
+ // TODO: Anything at all.
+ }
+ }
+}
diff --git a/Content.Shared/Properties/AssemblyInfo.cs b/Content.Shared/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000..3a19876aef
--- /dev/null
+++ b/Content.Shared/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Content.Shared")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Content.Shared")]
+[assembly: AssemblyCopyright("Copyright © 2017")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("26aeebb3-dde7-443a-9f43-7bc7f4acf6b5")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/README.md b/README.md
index 48807452f2..6b6a3f3ad3 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
# space-station-14-content
+
+This is the primary content repo for Space Station 14. To prevent people forking the engine, a "content" pack is loaded by the client and server. This content contains everything needed to play the game on one specific server.
\ No newline at end of file
diff --git a/RUN_THIS.py b/RUN_THIS.py
new file mode 100644
index 0000000000..b0298b570e
--- /dev/null
+++ b/RUN_THIS.py
@@ -0,0 +1,18 @@
+#!/usr/bin/python3
+
+# Import future so people on py2 still get the clear error that they need to upgrade.
+from __future__ import print_function
+import sys
+import subprocess
+
+IS_WINDOWS = sys.platform in ("win32", "cygwin")
+
+version = sys.version_info
+if version.major < 3 or (version.major == 3 and version.minor < 5):
+ print("ERROR: You need at least Python 3.5 to build SS14.")
+ sys.exit(1)
+
+if IS_WINDOWS:
+ subprocess.run(["py", "-3", "git_helper.py"], cwd="BuildChecker")
+else:
+ subprocess.run(["python3", "git_helper.py"], cwd="BuildChecker")
diff --git a/SpaceStation14Content.sln b/SpaceStation14Content.sln
new file mode 100644
index 0000000000..41ecf290d2
--- /dev/null
+++ b/SpaceStation14Content.sln
@@ -0,0 +1,140 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26430.16
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content.Shared", "Content.Shared\Content.Shared.csproj", "{26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0529F740-0000-0000-0000-000000000000} = {0529F740-0000-0000-0000-000000000000}
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Shared", "engine\SS14.Shared\SS14.Shared.csproj", "{0529F740-0000-0000-0000-000000000000}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Server", "engine\SS14.Server\SS14.Server.csproj", "{B04AAE71-0000-0000-0000-000000000000}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Client.Graphics", "engine\SS14.Client.Graphics\SS14.Client.Graphics.csproj", "{302B877E-0000-0000-0000-000000000000}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Client", "engine\SS14.Client\SS14.Client.csproj", "{0C31DFDF-0000-0000-0000-000000000000}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.UnitTesting", "engine\SS14.UnitTesting\SS14.UnitTesting.csproj", "{F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content.Server", "Content.Server\Content.Server.csproj", "{B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0529F740-0000-0000-0000-000000000000} = {0529F740-0000-0000-0000-000000000000}
+ {B04AAE71-0000-0000-0000-000000000000} = {B04AAE71-0000-0000-0000-000000000000}
+ {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5} = {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content.Client", "Content.Client\Content.Client.csproj", "{A2E5F175-78AF-4DDD-8F97-E2D2552372ED}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0529F740-0000-0000-0000-000000000000} = {0529F740-0000-0000-0000-000000000000}
+ {302B877E-0000-0000-0000-000000000000} = {302B877E-0000-0000-0000-000000000000}
+ {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5} = {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}
+ {0C31DFDF-0000-0000-0000-000000000000} = {0C31DFDF-0000-0000-0000-000000000000}
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lidgren.Network", "engine\Lidgren.Network\Lidgren.Network.csproj", "{59250BAF-0000-0000-0000-000000000000}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build Checker", "Build Checker", "{3202E94D-E985-4181-9F69-F458A7F6574F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engine", "Engine", "{B01693E5-CF08-4DB7-8920-407F8D6603A1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildChecker", "BuildChecker\BuildChecker.csproj", "{C899FCA4-7037-4E49-ABC2-44DE72487110}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Debug|x86.Build.0 = Debug|Any CPU
+ {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|x86.ActiveCfg = Release|Any CPU
+ {26AEEBB3-DDE7-443A-9F43-7BC7F4ACF6B5}.Release|x86.Build.0 = Release|Any CPU
+ {0529F740-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {0529F740-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = 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}.Release|Any CPU.ActiveCfg = Release|x86
+ {0529F740-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
+ {0529F740-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
+ {B04AAE71-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {B04AAE71-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = 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}.Release|Any CPU.ActiveCfg = Release|x86
+ {B04AAE71-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
+ {B04AAE71-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
+ {302B877E-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {302B877E-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|x86
+ {302B877E-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x86
+ {302B877E-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|x86
+ {302B877E-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|x86
+ {302B877E-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
+ {302B877E-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
+ {0C31DFDF-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {0C31DFDF-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|x86
+ {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|Any CPU.ActiveCfg = Release|x86
+ {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|Any CPU.ActiveCfg = Debug|Any CPU
+ {F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Debug|x86.Build.0 = Debug|Any CPU
+ {F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x86.ActiveCfg = Release|Any CPU
+ {F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9}.Release|x86.Build.0 = Release|Any CPU
+ {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|x86.ActiveCfg = Debug|Any CPU
+ {B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Debug|x86.Build.0 = Debug|Any CPU
+ {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|x86.ActiveCfg = Release|Any CPU
+ {B38DBBD0-04C2-4D1A-84E2-B3446F6ADF2A}.Release|x86.Build.0 = Release|Any CPU
+ {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|x86.ActiveCfg = Debug|Any CPU
+ {A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Debug|x86.Build.0 = Debug|Any CPU
+ {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|x86.ActiveCfg = Release|Any CPU
+ {A2E5F175-78AF-4DDD-8F97-E2D2552372ED}.Release|x86.Build.0 = Release|Any CPU
+ {59250BAF-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {59250BAF-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = 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}.Release|Any CPU.ActiveCfg = Release|x86
+ {59250BAF-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
+ {59250BAF-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
+ {C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|Any CPU.Build.0 = Debug|x86
+ {C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|x86.ActiveCfg = Debug|x86
+ {C899FCA4-7037-4E49-ABC2-44DE72487110}.Debug|x86.Build.0 = Debug|x86
+ {C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|Any CPU.ActiveCfg = Debug|x86
+ {C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|Any CPU.Build.0 = Debug|x86
+ {C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|x86.ActiveCfg = Debug|x86
+ {C899FCA4-7037-4E49-ABC2-44DE72487110}.Release|x86.Build.0 = Debug|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {0529F740-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
+ {B04AAE71-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
+ {302B877E-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
+ {0C31DFDF-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
+ {F0ADA779-40B8-4F7E-BA6C-CDB19F3065D9} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
+ {59250BAF-0000-0000-0000-000000000000} = {B01693E5-CF08-4DB7-8920-407F8D6603A1}
+ {C899FCA4-7037-4E49-ABC2-44DE72487110} = {3202E94D-E985-4181-9F69-F458A7F6574F}
+ EndGlobalSection
+EndGlobal
diff --git a/content/SS14.Content.sln b/content/SS14.Content.sln
deleted file mode 100644
index 9e23c2cb76..0000000000
--- a/content/SS14.Content.sln
+++ /dev/null
@@ -1,51 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26430.6
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Shared", "..\engine\SS14.Shared\SS14.Shared.csproj", "{0529F740-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.Server", "..\engine\SS14.Server\SS14.Server.csproj", "{B04AAE71-0000-0000-0000-000000000000}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SS14.Client.Graphics", "..\engine\SS14.Client.Graphics\SS14.Client.Graphics.csproj", "{302B877E-0000-0000-0000-000000000000}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lidgren.Network", "..\engine\Lidgren.Network\Lidgren.Network.csproj", "{59250BAF-0000-0000-0000-000000000000}"
-EndProject
-Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SS14.Content", "SS14.Content\SS14.Content.shproj", "{82515C05-61A9-46FA-912E-A1334A305AEF}"
-EndProject
-Global
- GlobalSection(SharedMSBuildProjectFiles) = preSolution
- SS14.Content\SS14.Content.projitems*{82515c05-61a9-46fa-912e-a1334a305aef}*SharedItemsImports = 13
- EndGlobalSection
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x86 = Debug|x86
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0529F740-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x86
- {0529F740-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|x86
- {0529F740-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
- {0529F740-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
- {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|x86.ActiveCfg = Release|x86
- {0C31DFDF-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|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}.Release|x86.ActiveCfg = Release|x86
- {B04AAE71-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
- {302B877E-0000-0000-0000-000000000000}.Debug|x86.ActiveCfg = Debug|x86
- {302B877E-0000-0000-0000-000000000000}.Debug|x86.Build.0 = Debug|x86
- {302B877E-0000-0000-0000-000000000000}.Release|x86.ActiveCfg = Release|x86
- {302B877E-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|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}.Release|x86.ActiveCfg = Release|x86
- {59250BAF-0000-0000-0000-000000000000}.Release|x86.Build.0 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/content/SS14.Content/SS14.Content.projitems b/content/SS14.Content/SS14.Content.projitems
deleted file mode 100644
index 1a1d577538..0000000000
--- a/content/SS14.Content/SS14.Content.projitems
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- true
- 82515c05-61a9-46fa-912e-a1334a305aef
-
-
- SS14.Content
-
-
-
-
diff --git a/content/SS14.Content/SS14.Content.shproj b/content/SS14.Content/SS14.Content.shproj
deleted file mode 100644
index 09f01b8ded..0000000000
--- a/content/SS14.Content/SS14.Content.shproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- 82515c05-61a9-46fa-912e-a1334a305aef
- 14.0
-
-
-
-
-
-
-
-