Browse Source

Running from local project

JoshEngebretson 10 years ago
parent
commit
76bdec5580
48 changed files with 183 additions and 161 deletions
  1. 2 0
      .gitignore
  2. 0 27
      Build/AtomicNET/build.cmd
  3. 0 44
      Build/AtomicNETTest/AtomicEditor/AtomicNETEditor.csproj
  4. 0 27
      Build/AtomicSharp/AtomicEditor/Properties/AssemblyInfo.cs
  5. 0 1
      Script/AtomicNET/AtomicNET/AtomicNETBootstrap/AssemblyLoaderCache.cs
  6. 26 11
      Script/AtomicNET/AtomicNET/AtomicNETBootstrap/Bootstrap.cs
  7. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETBootstrap/IAssemblyLoadContext.cs
  8. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETBootstrap/LoadContext.cs
  9. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETEngine/AtomicNET.cs
  10. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETEngine/ComponentCore.cs
  11. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETEngine/Math.cs
  12. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETEngine/NativeCore.cs
  13. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETEngine/SDLConsts.cs
  14. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETTools/AssemblyInspector.cs
  15. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETTools/AtomicTools.cs
  16. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETTools/CSComponentInspector.cs
  17. 0 0
      Script/AtomicNET/AtomicNET/AtomicNETTools/MiniJSON.cs
  18. 44 0
      Script/AtomicNET/AtomicNET/build.cmd
  19. 0 0
      Script/AtomicNET/AtomicNET/build.sh
  20. 1 1
      Script/AtomicNET/AtomicNETTest/MyClass.cs
  21. 0 0
      Script/AtomicNET/AtomicSharp/AtomicEditor/AtomicEditor.csproj
  22. 0 0
      Script/AtomicNET/AtomicSharp/AtomicEditor/MyClass.cs
  23. 0 0
      Script/AtomicNET/AtomicSharp/AtomicEditor/Properties/AssemblyInfo.cs
  24. 0 0
      Script/AtomicNET/AtomicSharp/AtomicEngine.cs
  25. 0 0
      Script/AtomicNET/AtomicSharp/AtomicInterop.cs
  26. 0 0
      Script/AtomicNET/AtomicSharp/AtomicSharp.csproj
  27. 35 35
      Script/AtomicNET/AtomicSharp/AtomicSharp.sln
  28. 0 0
      Script/AtomicNET/AtomicSharp/AtomicSharpTest/AtomicSharpTest.csproj
  29. 0 0
      Script/AtomicNET/AtomicSharp/AtomicSharpTest/Program.cs
  30. 0 0
      Script/AtomicNET/AtomicSharp/AtomicSharpTest/Properties/AssemblyInfo.cs
  31. 0 0
      Script/AtomicNET/AtomicSharp/AtomicSharpTool/AtomicSharpTool.csproj
  32. 0 0
      Script/AtomicNET/AtomicSharp/AtomicSharpTool/Program.cs
  33. 0 0
      Script/AtomicNET/AtomicSharp/AtomicSharpTool/Properties/AssemblyInfo.cs
  34. 0 0
      Script/AtomicNET/AtomicSharp/CSComponent.cs
  35. 0 0
      Script/AtomicNET/AtomicSharp/ComponentCore.cs
  36. 0 0
      Script/AtomicNET/AtomicSharp/EventCore.cs
  37. 0 0
      Script/AtomicNET/AtomicSharp/Math.cs
  38. 0 0
      Script/AtomicNET/AtomicSharp/NativeCore.cs
  39. 0 0
      Script/AtomicNET/AtomicSharp/Properties/AssemblyInfo.cs
  40. 0 0
      Script/AtomicNET/AtomicSharp/SDLConsts.cs
  41. 0 0
      Script/AtomicNET/AtomicSharp/ScriptObject.cs
  42. 10 3
      Source/AtomicEditor/Application/AEEditorCommon.cpp
  43. 9 0
      Source/AtomicEditor/Application/AEPlayerApp.cpp
  44. 20 2
      Source/AtomicNET/NETCore/NETCore.cpp
  45. 2 1
      Source/AtomicNET/NETCore/NETCore.h
  46. 1 1
      Source/AtomicNET/NETCore/NETHost.h
  47. 31 7
      Source/AtomicNET/NETCore/Platforms/Windows/NETHostWindows.cpp
  48. 2 1
      Source/AtomicNET/NETCore/Platforms/Windows/NETHostWindows.h

+ 2 - 0
.gitignore

@@ -22,3 +22,5 @@ node_modules/*
 Script/TypeScript/*
 !Script/TypeScript/AtomicWork.d.ts
 Script/Haxe/*
+
+Submodules/*

+ 0 - 27
Build/AtomicNET/build.cmd

@@ -1,27 +0,0 @@
-
-csc /out:C:/Dev/coreclr/x64/AtomicNETBootstrap.dll /nostdlib+ /noconfig /t:library /lib:C:/Dev/coreclr/x64/ ^
-/r:C:/Dev/coreclr/x64/System.Collections.Concurrent.dll /r:C:/Dev/coreclr/x64/System.Runtime.dll ^
-/r:C:/Dev/coreclr/x64/mscorlib.dll ^
-C:/Dev/atomic/AtomicGameEngine/Build/AtomicNET/AtomicNETBootstrap/*.cs
-
-csc /out:C:/Users/Josh/Desktop/AtomicNETEngine.dll /nostdlib+ /noconfig /t:library /w:0 /lib:C:/Dev/coreclr/x64/ ^
-/r:C:/Dev/coreclr/x64/System.Runtime.dll /r:C:/Dev/coreclr/x64/System.IO.dll /r:C:/Dev/coreclr/x64/System.IO.FileSystem.dll ^
-/r:C:/Dev/coreclr/x64/mscorlib.dll ^
-/r:C:/Dev/coreclr/x64/System.Linq.dll ^
-C:/Dev/atomic/AtomicGameEngine/Build/Source/Generated/WINDOWS/CSharp/Packages/Atomic/Managed/*.cs ^
-C:/Dev/atomic/AtomicGameEngine/Build/Source/Generated/WINDOWS/CSharp/Packages/AtomicNET/Managed/*.cs ^
-C:/Dev/atomic/AtomicGameEngine/Build/Source/Generated/WINDOWS/CSharp/Packages/AtomicPlayer/Managed/*.cs ^
-C:/Dev/atomic/AtomicGameEngine/Build/AtomicNET/AtomicNETEngine/*.cs
-
-csc /unsafe /out:C:/Users/Josh/Desktop/AtomicNETTools.dll /nostdlib+ /noconfig /t:library /w:0 /lib:C:/Dev/coreclr/x64/ ^
-/r:C:/Dev/coreclr/x64/System.Runtime.dll /r:C:/Dev/coreclr/x64/System.IO.dll ^
-/r:C:/Dev/coreclr/x64/mscorlib.dll ^
-/r:C:/Dev/coreclr/x64/System.Linq.dll /r:C:/Dev/coreclr/x64/System.Reflection.Primitives.dll /r:C:/Dev/coreclr/x64/System.Reflection.Metadata.dll ^
-/r:C:/Dev/coreclr/x64/System.Collections.dll /r:C:/Dev/coreclr/x64/System.Collections.Immutable.dll /r:C:/Dev/coreclr/x64/AtomicNETEngine.dll ^
-C:/Dev/atomic/AtomicGameEngine/Build/AtomicNET/AtomicNETTools/*.cs
-
-csc /out:C:/Users/Josh/Desktop/AtomicNETTest.dll /nostdlib+ /noconfig /t:library /w:0 /lib:C:/Dev/coreclr/x64/ ^
-/r:C:/Dev/coreclr/x64/System.Runtime.dll /r:C:/Dev/coreclr/x64/System.IO.dll /r:C:/Dev/coreclr/x64/System.IO.FileSystem.dll ^
-/r:C:/Dev/coreclr/x64/mscorlib.dll ^
-/r:C:/Users/Josh/Desktop/AtomicNETEngine.dll ^
-C:/Dev/atomic/AtomicGameEngine/Build/AtomicNETTest/MyClass.cs

+ 0 - 44
Build/AtomicNETTest/AtomicEditor/AtomicNETEditor.csproj

@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{8069C194-8422-4E3B-807E-81ED7819829C}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>AtomicEditor</RootNamespace>
-    <AssemblyName>AtomicEditor</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>full</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <ConsolePause>false</ConsolePause>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="AtomicNETRuntime">
-      <HintPath>..\..\..\..\..\..\Desktop\AtomicNETRuntime.dll</HintPath>
-    </Reference>
-    <Reference Include="Mono.Cecil">
-      <HintPath>..\..\..\..\..\..\Desktop\OSX.x64.Debug\Mono.Cecil.dll</HintPath>
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="AtomicEditor.cs" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-</Project>

+ 0 - 27
Build/AtomicSharp/AtomicEditor/Properties/AssemblyInfo.cs

@@ -1,27 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle ("AtomicEditor")]
-[assembly: AssemblyDescription ("")]
-[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
-[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("josh")]
-[assembly: AssemblyTrademark ("")]
-[assembly: AssemblyCulture ("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion ("1.0.*")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
-

+ 0 - 1
Build/AtomicNET/AtomicNETBootstrap/AssemblyLoaderCache.cs → Script/AtomicNET/AtomicNET/AtomicNETBootstrap/AssemblyLoaderCache.cs

@@ -12,7 +12,6 @@ namespace Atomic.Bootstrap
 
         public Assembly GetOrAdd(AssemblyName name, Func<AssemblyName, Assembly> factory)
         {
-            Console.WriteLine("AssemblyLoaderCache:GetOrAdd {0}", name.Name);
             // If the assembly was already loaded use it
             Assembly assembly;
             if (_assemblyCache.TryGetValue(name, out assembly))

+ 26 - 11
Build/AtomicNET/AtomicNETBootstrap/Bootstrap.cs → Script/AtomicNET/AtomicNET/AtomicNETBootstrap/Bootstrap.cs

@@ -1,6 +1,8 @@
 
 using System;
+using System.Linq;
 using System.Reflection;
+using System.Collections.Generic;
 using System.Runtime.InteropServices;
 using System.Runtime.Loader;
 
@@ -10,10 +12,19 @@ namespace Atomic.Bootstrap
 // This must be in TPA list
 public class AtomicLoadContext : LoadContext
 {
-    public static void Startup()
+
+    static List<string> assemblyLoadPaths = new List<string>();
+
+    public static void Startup(string _assemblyLoadPaths)
     {
       LoadContext.InitializeDefaultContext(new AtomicLoadContext());
-      Console.WriteLine("Bootstrap Startup");
+      assemblyLoadPaths = _assemblyLoadPaths.Split(';').ToList();
+      Console.WriteLine("Bootstrap Startup paths: {0}", _assemblyLoadPaths);
+    }
+
+    public static void AddAssemblyLoadPath(string path)
+    {
+      assemblyLoadPaths.Add(path);
     }
 
     [DllImport("kernel32.dll")]
@@ -50,19 +61,23 @@ public class AtomicLoadContext : LoadContext
     public override Assembly LoadAssembly(AssemblyName assemblyName)
     {
 
-      Console.WriteLine(assemblyName.Name);
       Assembly assembly = null;
-      try {
-            assembly = LoadFromAssemblyPath("C:\\Users\\Josh/Desktop\\" + assemblyName.Name + ".dll");
-      } catch (Exception e)
+
+      foreach (var path in assemblyLoadPaths)
       {
-        Console.WriteLine(e.Message);
-      }
+        try
+        {
+            Console.WriteLine("Assembly Load Attempt: {0}", path + assemblyName.Name + ".dll");
+            assembly = LoadFromAssemblyPath(path + assemblyName.Name + ".dll");
+            break;
+        }
+        catch (Exception e)
+        {
+          //Console.WriteLine(e.Message);
+        }
 
-      if (assembly == null)
-        assembly = LoadFromAssemblyPath("C:\\Dev\\coreclr\\x64\\" + assemblyName.Name + ".dll");
+      }
 
-      Console.WriteLine("Assembly: " + assembly);
       return assembly;
 
     }

+ 0 - 0
Build/AtomicNET/AtomicNETBootstrap/IAssemblyLoadContext.cs → Script/AtomicNET/AtomicNET/AtomicNETBootstrap/IAssemblyLoadContext.cs


+ 0 - 0
Build/AtomicNET/AtomicNETBootstrap/LoadContext.cs → Script/AtomicNET/AtomicNET/AtomicNETBootstrap/LoadContext.cs


+ 0 - 0
Build/AtomicNET/AtomicNETEngine/AtomicNET.cs → Script/AtomicNET/AtomicNET/AtomicNETEngine/AtomicNET.cs


+ 0 - 0
Build/AtomicNET/AtomicNETEngine/ComponentCore.cs → Script/AtomicNET/AtomicNET/AtomicNETEngine/ComponentCore.cs


+ 0 - 0
Build/AtomicNET/AtomicNETEngine/Math.cs → Script/AtomicNET/AtomicNET/AtomicNETEngine/Math.cs


+ 0 - 0
Build/AtomicNET/AtomicNETEngine/NativeCore.cs → Script/AtomicNET/AtomicNET/AtomicNETEngine/NativeCore.cs


+ 0 - 0
Build/AtomicNET/AtomicNETEngine/SDLConsts.cs → Script/AtomicNET/AtomicNET/AtomicNETEngine/SDLConsts.cs


+ 0 - 0
Build/AtomicNET/AtomicNETTools/AssemblyInspector.cs → Script/AtomicNET/AtomicNET/AtomicNETTools/AssemblyInspector.cs


+ 0 - 0
Build/AtomicNET/AtomicNETTools/AtomicTools.cs → Script/AtomicNET/AtomicNET/AtomicNETTools/AtomicTools.cs


+ 0 - 0
Build/AtomicNET/AtomicNETTools/CSComponentInspector.cs → Script/AtomicNET/AtomicNET/AtomicNETTools/CSComponentInspector.cs


+ 0 - 0
Build/AtomicNET/AtomicNETTools/MiniJSON.cs → Script/AtomicNET/AtomicNET/AtomicNETTools/MiniJSON.cs


+ 44 - 0
Script/AtomicNET/AtomicNET/build.cmd

@@ -0,0 +1,44 @@
+
+csc /out:../../../Artifacts/AtomicNET/TPA/AtomicNETBootstrap.dll /nostdlib+ /noconfig /t:library ^
+/lib:../../../Submodules/CoreCLR/Windows/x64/;../../../Submodules/CoreCLR/AnyCPU/TPA/ ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Collections.Concurrent.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Runtime.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Linq.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Collections.dll ^
+/r:../../../Submodules/CoreCLR/Windows/x64/mscorlib.dll ^
+AtomicNETBootstrap/*.cs
+
+csc /out:../../../Artifacts/AtomicNET/AtomicNETEngine.dll /nostdlib+ /noconfig /t:library /w:0 ^
+/lib:../../../Submodules/CoreCLR/Windows/x64/;../../../Submodules/CoreCLR/AnyCPU/TPA/ ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Runtime.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.IO.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.IO.FileSystem.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Linq.dll ^
+/r:../../../Submodules/CoreCLR/Windows/x64/mscorlib.dll ^
+../../../Build/Source/Generated/WINDOWS/CSharp/Packages/Atomic/Managed/*.cs ^
+../../../Build/Source/Generated/WINDOWS/CSharp/Packages/AtomicNET/Managed/*.cs ^
+../../../Build/Source/Generated/WINDOWS/CSharp/Packages/AtomicPlayer/Managed/*.cs ^
+AtomicNETEngine/*.cs
+
+csc /unsafe /out:../../../Artifacts/AtomicNET/AtomicNETTools.dll /nostdlib+ /noconfig /t:library /w:0 ^
+/lib:../../../Submodules/CoreCLR/Windows/x64/;../../../Submodules/CoreCLR/AnyCPU/TPA/ ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Runtime.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.IO.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Linq.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Reflection.Primitives.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Reflection.Metadata.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Collections.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Collections.Immutable.dll ^
+/r:../../../Submodules/CoreCLR/Windows/x64/mscorlib.dll ^
+/r:../../../Artifacts/AtomicNET/AtomicNETEngine.dll ^
+AtomicNETTools/*.cs
+
+csc /out:C:/Dev/atomic/AtomicExamples/AtomicNET/Basic3D/Resources/Assemblies/AtomicNETTest.dll ^
+/debug+ /nostdlib+ /noconfig /t:library /w:0 ^
+/lib:../../../Submodules/CoreCLR/Windows/x64/;../../../Submodules/CoreCLR/AnyCPU/TPA/ ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.Runtime.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.IO.dll ^
+/r:../../../Submodules/CoreCLR/AnyCPU/TPA/System.IO.FileSystem.dll ^
+/r:../../../Submodules/CoreCLR/Windows/x64/mscorlib.dll ^
+/r:../../../Artifacts/AtomicNET/AtomicNETEngine.dll ^
+../AtomicNETTest/MyClass.cs

+ 0 - 0
Build/AtomicNET/build.sh → Script/AtomicNET/AtomicNET/build.sh


+ 1 - 1
Build/AtomicNETTest/MyClass.cs → Script/AtomicNET/AtomicNETTest/MyClass.cs

@@ -22,7 +22,7 @@ namespace AtomicNETTest
         {
           Node.Yaw(timeStep * speed * 75.0f);
 
-          Console.WriteLine("TICK! : {0}", speed);
+          //Console.WriteLine("TICK! : {0}", speed);
         }
     }
 

+ 0 - 0
Build/AtomicSharp/AtomicEditor/AtomicEditor.csproj → Script/AtomicNET/AtomicSharp/AtomicEditor/AtomicEditor.csproj


+ 0 - 0
Build/AtomicSharp/AtomicEditor/MyClass.cs → Script/AtomicNET/AtomicSharp/AtomicEditor/MyClass.cs


+ 0 - 0
Build/AtomicNETTest/AtomicEditor/Properties/AssemblyInfo.cs → Script/AtomicNET/AtomicSharp/AtomicEditor/Properties/AssemblyInfo.cs


+ 0 - 0
Build/AtomicSharp/AtomicEngine.cs → Script/AtomicNET/AtomicSharp/AtomicEngine.cs


+ 0 - 0
Build/AtomicSharp/AtomicInterop.cs → Script/AtomicNET/AtomicSharp/AtomicInterop.cs


+ 0 - 0
Build/AtomicSharp/AtomicSharp.csproj → Script/AtomicNET/AtomicSharp/AtomicSharp.csproj


+ 35 - 35
Build/AtomicSharp/AtomicSharp.sln → Script/AtomicNET/AtomicSharp/AtomicSharp.sln

@@ -1,35 +1,35 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtomicSharp", "AtomicSharp.csproj", "{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtomicSharpTest", "AtomicSharpTest\AtomicSharpTest.csproj", "{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtomicSharpTool", "AtomicSharpTool\AtomicSharpTool.csproj", "{BA7825F5-7175-4486-8B06-BB88167246F2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtomicEditor", "AtomicEditor\AtomicEditor.csproj", "{91790BBE-7726-4B21-A746-0A4998F5BC7B}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{91790BBE-7726-4B21-A746-0A4998F5BC7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{91790BBE-7726-4B21-A746-0A4998F5BC7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{91790BBE-7726-4B21-A746-0A4998F5BC7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{91790BBE-7726-4B21-A746-0A4998F5BC7B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BA7825F5-7175-4486-8B06-BB88167246F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BA7825F5-7175-4486-8B06-BB88167246F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BA7825F5-7175-4486-8B06-BB88167246F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BA7825F5-7175-4486-8B06-BB88167246F2}.Release|Any CPU.Build.0 = Release|Any CPU
-		{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtomicSharp", "AtomicSharp.csproj", "{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtomicSharpTest", "AtomicSharpTest\AtomicSharpTest.csproj", "{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtomicSharpTool", "AtomicSharpTool\AtomicSharpTool.csproj", "{BA7825F5-7175-4486-8B06-BB88167246F2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AtomicEditor", "AtomicEditor\AtomicEditor.csproj", "{91790BBE-7726-4B21-A746-0A4998F5BC7B}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3A4C776B-61D6-412E-B1E9-7A1C84CD6B5B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{91790BBE-7726-4B21-A746-0A4998F5BC7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{91790BBE-7726-4B21-A746-0A4998F5BC7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{91790BBE-7726-4B21-A746-0A4998F5BC7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{91790BBE-7726-4B21-A746-0A4998F5BC7B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BA7825F5-7175-4486-8B06-BB88167246F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BA7825F5-7175-4486-8B06-BB88167246F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BA7825F5-7175-4486-8B06-BB88167246F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BA7825F5-7175-4486-8B06-BB88167246F2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DBD98CE5-11DE-47F8-BF9A-83BF8576794E}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+EndGlobal

+ 0 - 0
Build/AtomicSharp/AtomicSharpTest/AtomicSharpTest.csproj → Script/AtomicNET/AtomicSharp/AtomicSharpTest/AtomicSharpTest.csproj


+ 0 - 0
Build/AtomicSharp/AtomicSharpTest/Program.cs → Script/AtomicNET/AtomicSharp/AtomicSharpTest/Program.cs


+ 0 - 0
Build/AtomicSharp/AtomicSharpTest/Properties/AssemblyInfo.cs → Script/AtomicNET/AtomicSharp/AtomicSharpTest/Properties/AssemblyInfo.cs


+ 0 - 0
Build/AtomicSharp/AtomicSharpTool/AtomicSharpTool.csproj → Script/AtomicNET/AtomicSharp/AtomicSharpTool/AtomicSharpTool.csproj


+ 0 - 0
Build/AtomicSharp/AtomicSharpTool/Program.cs → Script/AtomicNET/AtomicSharp/AtomicSharpTool/Program.cs


+ 0 - 0
Build/AtomicSharp/AtomicSharpTool/Properties/AssemblyInfo.cs → Script/AtomicNET/AtomicSharp/AtomicSharpTool/Properties/AssemblyInfo.cs


+ 0 - 0
Build/AtomicSharp/CSComponent.cs → Script/AtomicNET/AtomicSharp/CSComponent.cs


+ 0 - 0
Build/AtomicSharp/ComponentCore.cs → Script/AtomicNET/AtomicSharp/ComponentCore.cs


+ 0 - 0
Build/AtomicSharp/EventCore.cs → Script/AtomicNET/AtomicSharp/EventCore.cs


+ 0 - 0
Build/AtomicSharp/Math.cs → Script/AtomicNET/AtomicSharp/Math.cs


+ 0 - 0
Build/AtomicSharp/NativeCore.cs → Script/AtomicNET/AtomicSharp/NativeCore.cs


+ 0 - 0
Build/AtomicSharp/Properties/AssemblyInfo.cs → Script/AtomicNET/AtomicSharp/Properties/AssemblyInfo.cs


+ 0 - 0
Build/AtomicSharp/SDLConsts.cs → Script/AtomicNET/AtomicSharp/SDLConsts.cs


+ 0 - 0
Build/AtomicSharp/ScriptObject.cs → Script/AtomicNET/AtomicSharp/ScriptObject.cs


+ 10 - 3
Source/AtomicEditor/Application/AEEditorCommon.cpp

@@ -74,13 +74,20 @@ void AEEditorCommon::Setup()
     context_->RegisterSubsystem(netCore);
     String netCoreErrorMsg;
 
+#ifdef ATOMIC_DEV_BUILD
+
 #ifdef ATOMIC_PLATFORM_WINDOWS
-    String coreCLRAbsPath = "C:\\Dev\\coreclr\\x64\\";
+    String  coreCLRAbsPath = GetNativePath(ToString("%s/Submodules/CoreCLR/Windows/x64/", ATOMIC_ROOT_SOURCE_DIR));
+    String  assemblyLoadPaths = GetNativePath(ToString("%s/Artifacts/AtomicNET/", ATOMIC_ROOT_SOURCE_DIR));
+#else
+    String  coreCLRAbsPath = GetNativePath(ToString("%s/Submodules/CoreCLR/OSX/x64/", ATOMIC_ROOT_SOURCE_DIR);
+#endif
+
 #else
-    String coreCLRAbsPath = "/Users/josh/Desktop/OSX.x64.Debug/";
+    assert(0);
 #endif
 
-    if (!netCore->Initialize(coreCLRAbsPath, netCoreErrorMsg))
+    if (!netCore->Initialize(coreCLRAbsPath, assemblyLoadPaths,  netCoreErrorMsg))
     {
         LOGERRORF("NetCore: Unable to initialize! %s", netCoreErrorMsg.CString());
         context_->RemoveSubsystem(NETCore::GetTypeStatic());

+ 9 - 0
Source/AtomicEditor/Application/AEPlayerApp.cpp

@@ -22,6 +22,10 @@
 
 #include <AtomicJS/Javascript/Javascript.h>
 
+#ifdef ATOMIC_DOTNET
+#include <AtomicNET/NETCore/NETCore.h>
+#endif
+
 
 #include "../PlayerMode/AEPlayerMode.h"
 #include <AtomicPlayer/Player.h>
@@ -110,6 +114,11 @@ void AEPlayerApplication::Setup()
                 String resourcePaths = ToString("%s/Resources/CoreData;%s/Resources/PlayerData;%s/;%s/Resources;%s;%sCache",
                          ATOMIC_ROOT_SOURCE_DIR, ATOMIC_ROOT_SOURCE_DIR, value.CString(), value.CString(), value.CString(), value.CString());
 
+#ifdef ATOMIC_DOTNET
+                String assemblyLoadPath = GetNativePath(ToString("%sResources/Assemblies/", value.CString()));
+                GetSubsystem<NETCore>()->AddAssemblyLoadPath(assemblyLoadPath);
+#endif
+
 #else
 
 #ifdef __APPLE__

+ 20 - 2
Source/AtomicNET/NETCore/NETCore.cpp

@@ -237,6 +237,24 @@ ATOMIC_EXPORT_API void csb_AtomicEngine_ReleaseRef(RefCounted* ref)
 }
 
 
+}
+
+void NETCore::AddAssemblyLoadPath(const String& assemblyPath)
+{
+    typedef void (*AddAssemblyLoadPathFunction)(const char* assemblyPath);
+    AddAssemblyLoadPathFunction addAssemblyLoadPath;
+
+    bool result = CreateDelegate(
+                    "AtomicNETBootstrap",
+                    "Atomic.Bootstrap.AtomicLoadContext",
+                    "AddAssemblyLoadPath",
+                    (void**) &addAssemblyLoadPath);
+
+    if (result)
+    {
+        addAssemblyLoadPath(assemblyPath.CString());
+    }
+
 }
 
 bool NETCore::CreateDelegate(const String& assemblyName, const String& qualifiedClassName, const String& methodName, void** funcOut)
@@ -267,7 +285,7 @@ bool NETCore::CreateDelegate(const String& assemblyName, const String& qualified
 
 }
 
-bool NETCore::Initialize(const String &coreCLRFilesAbsPath, String& errorMsg)
+bool NETCore::Initialize(const String &coreCLRFilesAbsPath, const String &assemblyLoadPaths, String& errorMsg)
 {
     coreCLRFilesAbsPath_ = AddTrailingSlash(coreCLRFilesAbsPath);
 
@@ -276,7 +294,7 @@ bool NETCore::Initialize(const String &coreCLRFilesAbsPath, String& errorMsg)
 #else
 #endif
 
-    netHost_->Initialize(coreCLRFilesAbsPath_);
+    netHost_->Initialize(coreCLRFilesAbsPath_, assemblyLoadPaths);
 
     SharedPtr<NETManaged> managed(new NETManaged(context_));
     context_->RegisterSubsystem(managed);

+ 2 - 1
Source/AtomicNET/NETCore/NETCore.h

@@ -41,9 +41,10 @@ public:
     /// Destruct.
     virtual ~NETCore();
 
-    bool Initialize(const String& coreCLRFilesAbsPath, String &errorMsg);
+    bool Initialize(const String& coreCLRFilesAbsPath, const String& assemblyLoadPaths, String &errorMsg);
     void Shutdown();
 
+    void AddAssemblyLoadPath(const String& assemblyPath);
     bool CreateDelegate(const String& assemblyName, const String& qualifiedClassName, const String& methodName, void** funcOut);
 
     /// We access this directly in binding code, where there isn't a context

+ 1 - 1
Source/AtomicNET/NETCore/NETHost.h

@@ -17,7 +17,7 @@ public:
     /// Destruct.
     virtual ~NETHost();
 
-    virtual bool Initialize(const String& coreCLRFilesAbsPath) = 0;
+    virtual bool Initialize(const String& coreCLRFilesAbsPath, const String& assemblyLoadPaths) = 0;
     virtual bool CreateDelegate(const String& assemblyName, const String& qualifiedClassName, const String& methodName, void** funcOut) = 0;
 
 };

+ 31 - 7
Source/AtomicNET/NETCore/Platforms/Windows/NETHostWindows.cpp

@@ -42,7 +42,7 @@ bool NETHostWindows::CreateDelegate(const String& assemblyName, const String& qu
     return true;
 }
 
-bool NETHostWindows::Initialize(const String& coreCLRFilesAbsPath)
+bool NETHostWindows::Initialize(const String& coreCLRFilesAbsPath, const String &assemblyLoadPaths)
 {
     // It is very important that this is the native path "\\" vs "/" as find files will return "/" or "\" depending
     // on what you give it, which will result in the domain failing to initialize as coreclr can't handle "/" on init
@@ -58,7 +58,7 @@ bool NETHostWindows::Initialize(const String& coreCLRFilesAbsPath)
         return false;
 
     // MOVE THIS!
-    typedef void (*StartupFunction)();
+    typedef void (*StartupFunction)(const char* assemblyLoadPaths);
     StartupFunction startup;
 
     // The coreclr binding model will become locked upon loading the first assembly that is not on the TPA list, or
@@ -79,19 +79,31 @@ bool NETHostWindows::Initialize(const String& coreCLRFilesAbsPath)
 
     if (result)
     {
-        startup();
+        startup(assemblyLoadPaths.CString());
     }
 
+    // MOVE THIS!
+    typedef void (*InitializeFunction)();
+    InitializeFunction init;
+
     result = CreateDelegate(
                     "AtomicNETEngine",
                     "AtomicEngine.Atomic",
                     "Initialize",
-                    (void**) &startup);
+                    (void**) &init);
 
     if (result)
     {
-        startup();
+        init();
+    }
+
+
+    /*
+    while (!IsDebuggerPresent())
+    {
+        Sleep(100);
     }
+    */
 
 
     return true;
@@ -125,10 +137,11 @@ bool NETHostWindows::LoadCLRDLL()
 
 bool NETHostWindows::CreateAppDomain()
 {
-
-    wchar_t appPath[MAX_LONGPATH] = W("C:\\Dev\\coreclr\\x64\\");
+    wchar_t appPath[MAX_LONGPATH] = W("C:\\Dev\\atomic\\AtomicGameEngine\\Artifacts\\AtomicNET\\");
     wchar_t appNiPath[MAX_LONGPATH * 2] = W("");
 
+    //wcscpy_s(appPath, WString(coreCLRFilesAbsPath_).CString());
+
     wcscpy_s(appNiPath, appPath);
     wcscat_s(appNiPath, MAX_LONGPATH * 2, W(";"));
     wcscat_s(appNiPath, MAX_LONGPATH * 2, appPath);
@@ -401,6 +414,17 @@ bool NETHostWindows::GenerateTPAList()
 
     AddFilesFromDirectoryToTPAList(WString(coreCLRFilesAbsPath_).CString(), rgTPAExtensions, _countof(rgTPAExtensions));
 
+#ifdef ATOMIC_DEV_BUILD
+
+    WString  tpaAbsPath(GetNativePath(ToString("%s/Submodules/CoreCLR/AnyCPU/TPA/", ATOMIC_ROOT_SOURCE_DIR)));
+    WString  atomicTPAAbsPath(GetNativePath(ToString("%s/Artifacts/AtomicNET/TPA/", ATOMIC_ROOT_SOURCE_DIR)));
+#else
+    assert(0);
+#endif
+
+    AddFilesFromDirectoryToTPAList(tpaAbsPath.CString(), rgTPAExtensions, _countof(rgTPAExtensions));
+    AddFilesFromDirectoryToTPAList(atomicTPAAbsPath.CString(), rgTPAExtensions, _countof(rgTPAExtensions));
+
     return true;
 
 }

+ 2 - 1
Source/AtomicNET/NETCore/Platforms/Windows/NETHostWindows.h

@@ -63,7 +63,8 @@ public:
     /// Destruct.
     virtual ~NETHostWindows();
 
-    bool Initialize(const String& coreCLRFilesAbsPath);
+    bool Initialize(const String& coreCLRFilesAbsPath, const String& assemblyLoadPaths);
+
     bool CreateDelegate(const String& assemblyName, const String& qualifiedClassName, const String& methodName, void** funcOut);
 
 private: