Browse Source

Upgrade to Gamecraft-specific dependencies and add full MonoBehaviour functionality

tags/v4.0.0
NGnius (Graham) 3 years ago
parent
commit
0fc2cb31b4
19 changed files with 933 additions and 162 deletions
  1. +12
    -30
      IPA.Tests/IPA.Tests.csproj
  2. +80
    -0
      IPA.Tests/IPA.Tests.csproj.nuget.dgspec.json
  3. +15
    -0
      IPA.Tests/IPA.Tests.csproj.nuget.g.props
  4. +6
    -0
      IPA.Tests/IPA.Tests.csproj.nuget.g.targets
  5. +7
    -6
      IPA.Tests/packages.config
  6. +109
    -0
      IPA.Tests/project.assets.json
  7. +28
    -0
      IPA.Tests/project.packagespec.json
  8. +13
    -38
      IPA/IPA.csproj
  9. +1
    -1
      IPA/Patcher/Patcher.cs
  10. +7
    -2
      IPA/Program.cs
  11. +2
    -1
      IPA/Shortcut.cs
  12. +102
    -32
      IllusionInjector/CompositePlugin.cs
  13. +26
    -11
      IllusionInjector/IllusionInjector.csproj
  14. +101
    -9
      IllusionInjector/PluginComponent.cs
  15. +283
    -3
      IllusionPlugin/IEnhancedPlugin.cs
  16. +103
    -12
      IllusionPlugin/IPlugin.cs
  17. +28
    -10
      IllusionPlugin/IllusionPlugin.csproj
  18. +9
    -6
      Launcher/Launcher.csproj
  19. +1
    -1
      Launcher/packages.config

+ 12
- 30
IPA.Tests/IPA.Tests.csproj View File

@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\xunit.core.2.4.1\build\xunit.core.props" Condition="Exists('..\packages\xunit.core.2.4.1\build\xunit.core.props')" />
<Import Project="..\packages\xunit.runner.visualstudio.2.1.0\build\net20\xunit.runner.visualstudio.props" Condition="Exists('..\packages\xunit.runner.visualstudio.2.1.0\build\net20\xunit.runner.visualstudio.props')" />
<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>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -10,9 +11,11 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>IPA.Tests</RootNamespace>
<AssemblyName>IPA.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFramework>net472</TargetFramework>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
@@ -33,35 +36,8 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="xunit.abstractions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="xunit.assert, Version=2.1.0.3179, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.assert.2.1.0\lib\dotnet\xunit.assert.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="xunit.core, Version=2.1.0.3179, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="xunit.execution.desktop, Version=2.1.0.3179, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
<HintPath>..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="ProgramTest.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ShortcutTest.cs" />
</ItemGroup>
<ItemGroup>
@@ -76,13 +52,19 @@
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Folder Include="Properties" />
</ItemGroup>
<!--<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />-->
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\xunit.runner.visualstudio.2.1.0\build\net20\xunit.runner.visualstudio.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.runner.visualstudio.2.1.0\build\net20\xunit.runner.visualstudio.props'))" />
<Error Condition="!Exists('..\packages\xunit.core.2.4.1\build\xunit.core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.4.1\build\xunit.core.props'))" />
<Error Condition="!Exists('..\packages\xunit.core.2.4.1\build\xunit.core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.4.1\build\xunit.core.targets'))" />
</Target>
<Import Project="..\packages\xunit.core.2.4.1\build\xunit.core.targets" Condition="Exists('..\packages\xunit.core.2.4.1\build\xunit.core.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">


+ 80
- 0
IPA.Tests/IPA.Tests.csproj.nuget.dgspec.json View File

@@ -0,0 +1,80 @@
{
"format": 1,
"restore": {
"/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/IPA.Tests.csproj": {}
},
"projects": {
"/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/IPA.Tests.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/IPA.Tests.csproj",
"projectName": "IPA.Tests",
"projectPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/IPA.Tests.csproj",
"packagesPath": "/home/ngnius/.nuget/packages/",
"outputPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/ngnius/.config/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net472"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net472": {
"projectReferences": {
"/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj": {
"projectPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj"
}
}
}
}
},
"frameworks": {
"net472": {}
}
},
"/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj",
"projectName": "IPA",
"projectPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj",
"packagesPath": "/home/ngnius/.nuget/packages/",
"outputPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/ngnius/.config/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net472"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net472": {
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net472": {
"dependencies": {
"Mono.Cecil": {
"target": "Package",
"version": "[0.11.2, )"
}
}
}
}
}
}
}

+ 15
- 0
IPA.Tests/IPA.Tests.csproj.nuget.g.props View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/ngnius/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/ngnius/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.2.0</NuGetToolVersion>
</PropertyGroup>
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>

+ 6
- 0
IPA.Tests/IPA.Tests.csproj.nuget.g.targets View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
</PropertyGroup>
</Project>

+ 7
- 6
IPA.Tests/packages.config View File

@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="xunit" version="2.1.0" targetFramework="net452" />
<package id="xunit.abstractions" version="2.0.0" targetFramework="net452" />
<package id="xunit.assert" version="2.1.0" targetFramework="net452" />
<package id="xunit.core" version="2.1.0" targetFramework="net452" />
<package id="xunit.extensibility.core" version="2.1.0" targetFramework="net452" />
<package id="xunit.extensibility.execution" version="2.1.0" targetFramework="net452" />
<package id="xunit" version="2.4.1" targetFramework="net472" />
<package id="xunit.abstractions" version="2.0.3" targetFramework="net472" />
<package id="xunit.analyzers" version="0.10.0" targetFramework="net472" />
<package id="xunit.assert" version="2.4.1" targetFramework="net472" />
<package id="xunit.core" version="2.4.1" targetFramework="net472" />
<package id="xunit.extensibility.core" version="2.4.1" targetFramework="net472" />
<package id="xunit.extensibility.execution" version="2.4.1" targetFramework="net472" />
<package id="xunit.runner.console" version="2.1.0" targetFramework="net452" />
<package id="xunit.runner.visualstudio" version="2.1.0" targetFramework="net452" />
</packages>

+ 109
- 0
IPA.Tests/project.assets.json View File

@@ -0,0 +1,109 @@
{
"version": 3,
"targets": {
".NETFramework,Version=v4.7.2": {
"Mono.Cecil/0.11.2": {
"type": "package",
"compile": {
"lib/net40/Mono.Cecil.Mdb.dll": {},
"lib/net40/Mono.Cecil.Pdb.dll": {},
"lib/net40/Mono.Cecil.Rocks.dll": {},
"lib/net40/Mono.Cecil.dll": {}
},
"runtime": {
"lib/net40/Mono.Cecil.Mdb.dll": {},
"lib/net40/Mono.Cecil.Pdb.dll": {},
"lib/net40/Mono.Cecil.Rocks.dll": {},
"lib/net40/Mono.Cecil.dll": {}
}
},
"IPA/1.0.0": {
"type": "project",
"framework": ".NETFramework,Version=v4.7.2",
"dependencies": {
"Mono.Cecil": "0.11.2"
},
"compile": {
"bin/placeholder/IPA.dll": {}
},
"runtime": {
"bin/placeholder/IPA.dll": {}
}
}
}
},
"libraries": {
"Mono.Cecil/0.11.2": {
"sha512": "hZNAnXKQsOs/SZMFtT/e82/nA/iLgkeDy+sHD8xix4f0m9/3G0RNZplE1QHB+0n8QXq54jLqR/IPgVOkLapkyg==",
"type": "package",
"path": "mono.cecil/0.11.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"lib/net40/Mono.Cecil.Mdb.dll",
"lib/net40/Mono.Cecil.Mdb.pdb",
"lib/net40/Mono.Cecil.Pdb.dll",
"lib/net40/Mono.Cecil.Pdb.pdb",
"lib/net40/Mono.Cecil.Rocks.dll",
"lib/net40/Mono.Cecil.Rocks.pdb",
"lib/net40/Mono.Cecil.dll",
"lib/net40/Mono.Cecil.pdb",
"lib/netstandard2.0/Mono.Cecil.Mdb.dll",
"lib/netstandard2.0/Mono.Cecil.Mdb.pdb",
"lib/netstandard2.0/Mono.Cecil.Pdb.dll",
"lib/netstandard2.0/Mono.Cecil.Pdb.pdb",
"lib/netstandard2.0/Mono.Cecil.Rocks.dll",
"lib/netstandard2.0/Mono.Cecil.Rocks.pdb",
"lib/netstandard2.0/Mono.Cecil.dll",
"lib/netstandard2.0/Mono.Cecil.pdb",
"mono.cecil.0.11.2.nupkg.sha512",
"mono.cecil.nuspec"
]
},
"IPA/1.0.0": {
"type": "project",
"path": "../IPA/IPA.csproj",
"msbuildProject": "../IPA/IPA.csproj"
}
},
"projectFileDependencyGroups": {
".NETFramework,Version=v4.7.2": [
"IPA >= 1.0.0"
]
},
"packageFolders": {
"/home/ngnius/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/IPA.Tests.csproj",
"projectName": "IPA.Tests",
"projectPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/IPA.Tests.csproj",
"packagesPath": "/home/ngnius/.nuget/packages/",
"outputPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/",
"projectStyle": "PackageReference",
"configFilePaths": [
"/home/ngnius/.config/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net472"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net472": {
"projectReferences": {
"/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj": {
"projectPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj"
}
}
}
}
},
"frameworks": {
"net472": {}
}
}
}

+ 28
- 0
IPA.Tests/project.packagespec.json View File

@@ -0,0 +1,28 @@
{
"version": "1.0.0",
"restore": {
"projectUniqueName": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/IPA.Tests.csproj",
"projectName": "IPA.Tests",
"projectPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/IPA.Tests.csproj",
"outputPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA.Tests/",
"projectStyle": "PackageReference",
"originalTargetFrameworks": [
"net472"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net472": {
"projectReferences": {
"/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj": {
"projectPath": "/home/ngnius/Documents/git-repos/GCIPA/IPA/IPA.csproj"
}
}
}
}
},
"frameworks": {
"net472": {}
}
}

+ 13
- 38
IPA/IPA.csproj View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -9,9 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>IPA</RootNamespace>
<AssemblyName>IPA</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFramework>net472</TargetFramework>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -36,42 +36,11 @@
<ApplicationIcon>favicon.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
<HintPath>..\packages\Mono.Cecil.0.9.6.4\lib\net35\Mono.Cecil.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Mono.Cecil.Mdb, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
<HintPath>..\packages\Mono.Cecil.0.9.6.4\lib\net35\Mono.Cecil.Mdb.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Mono.Cecil.Pdb, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
<HintPath>..\packages\Mono.Cecil.0.9.6.4\lib\net35\Mono.Cecil.Pdb.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Mono.Cecil.Rocks, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL">
<HintPath>..\packages\Mono.Cecil.0.9.6.4\lib\net35\Mono.Cecil.Rocks.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="PatchContext.cs" />
<Compile Include="Patcher\BackupManager.cs" />
<Compile Include="Patcher\BackupUnit.cs" />
<Compile Include="Patcher\Patcher.cs" />
<Compile Include="Patcher\Virtualizer.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Shortcut.cs" />
<PackageReference Include="Mono.Cecil" Version="0.11.2" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Remove="Properties\**" />
</ItemGroup>
<ItemGroup>
<Content Include="favicon.ico" />
@@ -79,7 +48,13 @@
<ItemGroup>
<Folder Include="IPA\Fallback\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Compile Remove="Properties\**" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Remove="Properties\**" />
</ItemGroup>
<!--<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />-->
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">


+ 1
- 1
IPA/Patcher/Patcher.cs View File

@@ -83,7 +83,7 @@ namespace IPA.Patcher
var targetMethod = targetType.Methods.FirstOrDefault(m => m.IsConstructor && m.IsStatic);
if (targetMethod != null)
{
var methodReference = _Module.Import(injector.GetType("IllusionInjector.Injector").Methods.First(m => m.Name == "Inject"));
var methodReference = _Module.ImportReference(injector.GetType("IllusionInjector.Injector").Methods.First(m => m.Name == "Inject"));
targetMethod.Body.Instructions.Insert(0, Instruction.Create(OpCodes.Call, methodReference));
return true;
}


+ 7
- 2
IPA/Program.cs View File

@@ -8,7 +8,7 @@ using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
//using System.Windows.Forms;

namespace IPA
{
@@ -126,7 +126,7 @@ namespace IPA
Console.WriteLine("Created");
} catch (Exception e)
{
Console.Error.WriteLine("Failed to create shortcut, but game was patched!");
Console.Error.WriteLine("Failed to create shortcut, but game was patched! Exception: " + e);
}
}
}
@@ -319,6 +319,11 @@ namespace IPA
}
}
}
public enum Keys
{
LMenu = 164
}

public abstract class Keyboard
{


+ 2
- 1
IPA/Shortcut.cs View File

@@ -49,7 +49,8 @@ namespace IPA
{
IWshShortcut shortcut = (IWshShortcut)m_type.InvokeMember("CreateShortcut", System.Reflection.BindingFlags.InvokeMethod, null, m_shell, new object[] { fileName });
shortcut.Description = description;
shortcut.Hotkey = hotkey;
if (!string.IsNullOrEmpty(hotkey))
shortcut.Hotkey = hotkey;
shortcut.TargetPath = targetPath;
shortcut.WorkingDirectory = workingDirectory;
shortcut.Arguments = arguments;


+ 102
- 32
IllusionInjector/CompositePlugin.cs View File

@@ -27,21 +27,6 @@ namespace IllusionInjector
Invoke(plugin => plugin.OnApplicationQuit());
}

public void OnLevelWasLoaded(int level)
{
foreach (var plugin in plugins)
{
try
{
plugin.OnLevelWasLoaded(level);
}
catch (Exception ex)
{
Console.WriteLine("{0}: {1}", plugin.Name, ex);
}
}
}


private void Invoke(CompositeCall callback)
{
@@ -59,23 +44,6 @@ namespace IllusionInjector
}



public void OnLevelWasInitialized(int level)
{
foreach (var plugin in plugins)
{
try
{
plugin.OnLevelWasInitialized(level);
}
catch (Exception ex)
{
Console.WriteLine("{0}: {1}", plugin.Name, ex);
}
}
}


public void OnUpdate()
{
Invoke(plugin => plugin.OnUpdate());
@@ -86,6 +54,108 @@ namespace IllusionInjector
Invoke(plugin => plugin.OnFixedUpdate());
}

public void OnAnimatorIK(int layerIndex) { Invoke(plugin => plugin.OnAnimatorIK(layerIndex)); }

public void OnAnimatorMove() { Invoke(plugin => plugin.OnAnimatorMove()); }

public void OnApplicationFocus(bool hasFocus) { Invoke(plugin => plugin.OnApplicationFocus(hasFocus)); }

public void OnApplicationPause(bool pauseStatus) { Invoke(plugin => plugin.OnApplicationPause(pauseStatus)); }

public void OnAudioFilterRead(float[] data, int channels) { Invoke(plugin => plugin.OnAudioFilterRead(data, channels)); }

public void OnBecameInvisible() { Invoke(plugin => plugin.OnBecameInvisible()); }

public void OnBecameVisible() { Invoke(plugin => plugin.OnBecameVisible()); }

public void OnBeforeTransformParentChanged() { Invoke(plugin => plugin.OnBeforeTransformParentChanged()); }

public void OnCanvasGroupChanged() { Invoke(plugin => plugin.OnCanvasGroupChanged()); }

public void OnCanvasHierarchyChanged() { Invoke(plugin => plugin.OnCanvasHierarchyChanged()); }

public void OnCollisionEnter(Collision other) { Invoke(plugin => plugin.OnCollisionEnter(other)); }

public void OnCollisionEnter2D(Collision2D other) { Invoke(plugin => plugin.OnCollisionEnter2D(other)); }

public void OnCollisionExit(Collision other) { Invoke(plugin => plugin.OnCollisionExit(other)); }

public void OnCollisionExit2D(Collision2D other) { Invoke(plugin => plugin.OnCollisionExit2D(other)); }

public void OnCollisionStay(Collision other) { Invoke(plugin => plugin.OnCollisionStay(other)); }

public void OnCollisionStay2D(Collision2D other) { Invoke(plugin => plugin.OnCollisionStay2D(other)); }

public void OnConnectedToServer() { Invoke(plugin => plugin.OnConnectedToServer()); }

public void OnControllerColliderHit(ControllerColliderHit hit) { Invoke(plugin => plugin.OnControllerColliderHit(hit)); }

public void OnDidApplyAnimationProperties() { Invoke(plugin => plugin.OnDidApplyAnimationProperties()); }

public void OnDisable() { Invoke(plugin => plugin.OnDisable()); }

public void OnDrawGizmos() { Invoke(plugin => plugin.OnDrawGizmos()); }

public void OnDrawGizmosSelected() { Invoke(plugin => plugin.OnDrawGizmosSelected()); }

public void OnEnable() { Invoke(plugin => plugin.OnEnable()); }

public void OnGUI() { Invoke(plugin => plugin.OnGUI()); }

public void OnJointBreak(float breakForce) { Invoke(plugin => plugin.OnJointBreak(breakForce)); }

public void OnMouseDown() { Invoke(plugin => plugin.OnMouseDown()); }

public void OnMouseDrag() { Invoke(plugin => plugin.OnMouseDrag()); }

public void OnMouseEnter() { Invoke(plugin => plugin.OnMouseEnter()); }

public void OnMouseExit() { Invoke(plugin => plugin.OnMouseExit()); }

public void OnMouseOver() { Invoke(plugin => plugin.OnMouseOver()); }

public void OnMouseUp() { Invoke(plugin => plugin.OnMouseUp()); }

public void OnMouseUpAsButton() { Invoke(plugin => plugin.OnMouseUpAsButton()); }

public void OnParticleCollision(GameObject other) { Invoke(plugin => plugin.OnParticleCollision(other)); }

public void OnPostRender() { Invoke(plugin => plugin.OnPostRender()); }

public void OnPreCull() { Invoke(plugin => plugin.OnPreCull()); }

public void OnPreRender() { Invoke(plugin => plugin.OnPreRender()); }

public void OnRectTransformDimensionsChange() { Invoke(plugin => plugin.OnRectTransformDimensionsChange()); }

public void OnRenderImage(RenderTexture src, RenderTexture dest) { Invoke(plugin => plugin.OnRenderImage(src, dest)); }

public void OnRenderObject() { Invoke(plugin => plugin.OnRenderObject()); }

public void OnServerInitialized() { Invoke(plugin => plugin.OnServerInitialized()); }

public void OnTransformChildrenChanged() { Invoke(plugin => plugin.OnTransformChildrenChanged()); }

public void OnTransformParentChanged() { Invoke(plugin => plugin.OnTransformParentChanged()); }

public void OnTriggerEnter(Collider other) { Invoke(plugin => plugin.OnTriggerEnter(other)); }

public void OnTriggerEnter2D(Collider2D other) { Invoke(plugin => plugin.OnTriggerEnter2D(other)); }

public void OnTriggerExit(Collider other) { Invoke(plugin => plugin.OnTriggerExit(other)); }

public void OnTriggerExit2D(Collider2D other) { Invoke(plugin => plugin.OnTriggerExit2D(other)); }

public void OnTriggerStay(Collider other) { Invoke(plugin => plugin.OnTriggerStay(other)); }

public void OnTriggerStay2D(Collider2D other) { Invoke(plugin => plugin.OnTriggerStay2D(other)); }

public void OnValidate() { Invoke(plugin => plugin.OnValidate()); }

public void OnWillRenderObject() { Invoke(plugin => plugin.OnWillRenderObject()); }

public void Reset() { Invoke(plugin => plugin.Reset()); }


public string Name
{


+ 26
- 11
IllusionInjector/IllusionInjector.csproj View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -9,10 +9,10 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>IllusionInjector</RootNamespace>
<AssemblyName>IllusionInjector</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFramework>net472</TargetFramework>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -32,11 +32,24 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="UnityEngine">
<HintPath>..\Libs\UnityEngine.dll</HintPath>
<HintPath>..\..\ref\Gamecraft_Data\Managed\UnityEngine.dll</HintPath>
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\ref\Gamecraft_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\ref\Gamecraft_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\ref\Gamecraft_Data\Managed\UnityEngine.Physics2DModule.dll</HintPath>
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.Physics2DModule.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
@@ -46,7 +59,6 @@
<Compile Include="ConsoleWindow.cs" />
<Compile Include="Injector.cs" />
<Compile Include="PluginManager.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="PluginComponent.cs" />
</ItemGroup>
<ItemGroup>
@@ -55,7 +67,10 @@
<Name>IllusionPlugin</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Folder Include="Properties" />
</ItemGroup>
<!--<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />-->
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">


+ 101
- 9
IllusionInjector/PluginComponent.cs View File

@@ -26,16 +26,10 @@ namespace IllusionInjector

void Start()
{
OnLevelWasLoaded(Application.loadedLevel);
}

void Update()
{
if (freshlyLoaded)
{
freshlyLoaded = false;
plugins.OnLevelWasInitialized(Application.loadedLevel);
}
plugins.OnUpdate();
}

@@ -64,11 +58,109 @@ namespace IllusionInjector
quitting = true;
}

void OnLevelWasLoaded(int level)
private void OnAnimatorIK(int layerIndex)
{
plugins.OnLevelWasLoaded(level);
freshlyLoaded = true;
plugins.OnAnimatorIK(layerIndex);
}

private void OnAnimatorMove() { plugins.OnAnimatorMove(); }

private void OnApplicationFocus(bool hasFocus) { plugins.OnApplicationFocus(hasFocus); }

private void OnApplicationPause(bool pauseStatus) { plugins.OnApplicationPause(pauseStatus); }

private void OnAudioFilterRead(float[] data, int channels) { plugins.OnAudioFilterRead(data, channels); }

private void OnBecameInvisible() { plugins.OnBecameInvisible(); }

private void OnBecameVisible() { plugins.OnBecameVisible(); }

private void OnBeforeTransformParentChanged() { plugins.OnBeforeTransformParentChanged(); }

private void OnCanvasGroupChanged() { plugins.OnCanvasGroupChanged(); }

private void OnCanvasHierarchyChanged() { plugins.OnCanvasHierarchyChanged(); }

private void OnCollisionEnter(Collision other) { plugins.OnCollisionEnter(other); }

private void OnCollisionEnter2D(Collision2D other) { plugins.OnCollisionEnter2D(other); }

private void OnCollisionExit(Collision other) { plugins.OnCollisionExit(other); }

private void OnCollisionExit2D(Collision2D other) { plugins.OnCollisionExit2D(other); }

private void OnCollisionStay(Collision other) { plugins.OnCollisionStay(other); }

private void OnCollisionStay2D(Collision2D other) { plugins.OnCollisionStay2D(other); }

private void OnConnectedToServer() { plugins.OnConnectedToServer(); }

private void OnControllerColliderHit(ControllerColliderHit hit) { plugins.OnControllerColliderHit(hit); }

private void OnDidApplyAnimationProperties() { plugins.OnDidApplyAnimationProperties(); }

private void OnDisable() { plugins.OnDisable(); }

private void OnDrawGizmos() { plugins.OnDrawGizmos(); }

private void OnDrawGizmosSelected() { plugins.OnDrawGizmosSelected(); }

private void OnEnable() { plugins.OnEnable(); }

private void OnGUI() { plugins.OnGUI(); }

private void OnJointBreak(float breakForce) { plugins.OnJointBreak(breakForce); }

private void OnMouseDown() { plugins.OnMouseDown(); }

private void OnMouseDrag() { plugins.OnMouseDrag(); }

private void OnMouseEnter() { plugins.OnMouseEnter(); }

private void OnMouseExit() { plugins.OnMouseExit(); }

private void OnMouseOver() { plugins.OnMouseOver(); }

private void OnMouseUp() { plugins.OnMouseUp(); }

private void OnMouseUpAsButton() { plugins.OnMouseUpAsButton(); }

private void OnParticleCollision(GameObject other) { plugins.OnParticleCollision(other); }

private void OnPostRender() { plugins.OnPostRender(); }

private void OnPreCull() { plugins.OnPreCull(); }

private void OnPreRender() { plugins.OnPreRender(); }

private void OnRectTransformDimensionsChange() { plugins.OnRectTransformDimensionsChange(); }

private void OnRenderImage(RenderTexture src, RenderTexture dest) { plugins.OnRenderImage(src, dest); }

private void OnRenderObject() { plugins.OnRenderObject(); }

private void OnServerInitialized() { plugins.OnServerInitialized(); }

private void OnTransformChildrenChanged() { plugins.OnTransformChildrenChanged(); }

private void OnTransformParentChanged() { plugins.OnTransformParentChanged(); }

private void OnTriggerEnter(Collider other) { plugins.OnTriggerEnter(other); }

private void OnTriggerEnter2D(Collider2D other) { plugins.OnTriggerEnter2D(other); }

private void OnTriggerExit(Collider other) { plugins.OnTriggerExit(other); }

private void OnTriggerExit2D(Collider2D other) { plugins.OnTriggerExit2D(other); }

private void OnTriggerStay(Collider other) { plugins.OnTriggerStay(other); }

private void OnTriggerStay2D(Collider2D other) { plugins.OnTriggerStay2D(other); }

private void OnValidate() { plugins.OnValidate(); }

private void OnWillRenderObject() { plugins.OnWillRenderObject(); }

private void Reset() { plugins.Reset(); }
}
}

+ 283
- 3
IllusionPlugin/IEnhancedPlugin.cs View File

@@ -1,17 +1,297 @@
using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;

namespace IllusionPlugin
{
public interface IEnhancedPlugin : IPlugin
public abstract class IEnhancedPlugin : IPlugin
{
/// <summary>
/// Gets a list of executables this plugin should be excuted on (without the file ending)
/// </summary>
/// <example>{ "PlayClub", "PlayClubStudio" }</example>
string[] Filter { get; }
public string[] Filter { get; } = new[] {"Gamecraft", "GamecraftPreview"};

void OnLateUpdate();
public void OnLateUpdate()
{
}
public abstract string Name { get; }
public abstract string Version { get; }
public void OnApplicationStart()
{
}

public void OnApplicationQuit()
{
}

public void OnUpdate()
{
Debug.LogWarning("IEnhanced Test Warning OnUpdate");
}

public void OnFixedUpdate()
{
}

public void OnAnimatorIK(int layerIndex)
{
}

public void OnAnimatorMove()
{
}

public void OnApplicationFocus(bool hasFocus)
{
}

public void OnApplicationPause(bool pauseStatus)
{
}

public void OnAudioFilterRead(float[] data, int channels)
{
}

public void OnBecameInvisible()
{
}

public void OnBecameVisible()
{
}

public void OnBeforeTransformParentChanged()
{
}

public void OnCanvasGroupChanged()
{
}

public void OnCanvasHierarchyChanged()
{
}

public void OnCollisionEnter(Collision other)
{
}

public void OnCollisionEnter2D(Collision2D other)
{
}

public void OnCollisionExit(Collision other)
{
}

public void OnCollisionExit2D(Collision2D other)
{
}

public void OnCollisionStay(Collision other)
{
}

public void OnCollisionStay2D(Collision2D other)
{
}

public void OnConnectedToServer()
{
}

public void OnControllerColliderHit(ControllerColliderHit hit)
{
}

public void OnDidApplyAnimationProperties()
{
}

public void OnDisable()
{
}

public void OnDrawGizmos()
{
}

public void OnDrawGizmosSelected()
{
}

public void OnEnable()
{
}

public void OnGUI()
{
Debug.LogWarning("IEnhancedPlugin Test Warning OnGUI");
}

public void OnJointBreak(float breakForce)
{
}

public void OnMouseDown()
{
}

public void OnMouseDrag()
{
}

public void OnMouseEnter()
{
}

public void OnMouseExit()
{
}

public void OnMouseOver()
{
}

public void OnMouseUp()
{
}

public void OnMouseUpAsButton()
{
}

public void OnParticleCollision(GameObject other)
{
}

public void OnPostRender()
{
}

public void OnPreCull()
{
}

public void OnPreRender()
{
}

public void OnRectTransformDimensionsChange()
{
}

public void OnRenderImage(RenderTexture src, RenderTexture dest)
{
}

public void OnRenderObject()
{
}

public void OnServerInitialized()
{
}

public void OnTransformChildrenChanged()
{
}

public void OnTransformParentChanged()
{
}

public void OnTriggerEnter(Collider other)
{
}

public void OnTriggerEnter2D(Collider2D other)
{
}

public void OnTriggerExit(Collider other)
{
}

public void OnTriggerExit2D(Collider2D other)
{
}

public void OnTriggerStay(Collider other)
{
}

public void OnTriggerStay2D(Collider2D other)
{
}

public void OnValidate()
{
}

public void OnWillRenderObject()
{
}

public void Reset()
{
}
}
}

+ 103
- 12
IllusionPlugin/IPlugin.cs View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;

namespace IllusionPlugin
{
@@ -31,18 +32,6 @@ namespace IllusionPlugin
/// </summary>
void OnApplicationQuit();

/// <summary>
/// Gets invoked whenever a level is loaded.
/// </summary>
/// <param name="level"></param>
void OnLevelWasLoaded(int level);

/// <summary>
/// Gets invoked after the first update cycle after a level was loaded.
/// </summary>
/// <param name="level"></param>
void OnLevelWasInitialized(int level);

/// <summary>
/// Gets invoked on every graphic update.
/// </summary>
@@ -53,5 +42,107 @@ namespace IllusionPlugin
/// Gets invoked on ever physics update.
/// </summary>
void OnFixedUpdate();
void OnAnimatorIK(int layerIndex);

void OnAnimatorMove();

void OnApplicationFocus(bool hasFocus);

void OnApplicationPause(bool pauseStatus);

void OnAudioFilterRead(float[] data, int channels);

void OnBecameInvisible();

void OnBecameVisible();

void OnBeforeTransformParentChanged();

void OnCanvasGroupChanged();

void OnCanvasHierarchyChanged();

void OnCollisionEnter(Collision other);

void OnCollisionEnter2D(Collision2D other);

void OnCollisionExit(Collision other);

void OnCollisionExit2D(Collision2D other);

void OnCollisionStay(Collision other);

void OnCollisionStay2D(Collision2D other);

void OnConnectedToServer();

void OnControllerColliderHit(ControllerColliderHit hit);

void OnDidApplyAnimationProperties();

void OnDisable();

void OnDrawGizmos();

void OnDrawGizmosSelected();

void OnEnable();

void OnGUI();

void OnJointBreak(float breakForce);

void OnMouseDown();

void OnMouseDrag();

void OnMouseEnter();

void OnMouseExit();

void OnMouseOver();

void OnMouseUp();

void OnMouseUpAsButton();

void OnParticleCollision(GameObject other);

void OnPostRender();

void OnPreCull();

void OnPreRender();

void OnRectTransformDimensionsChange();

void OnRenderImage(RenderTexture src, RenderTexture dest);

void OnRenderObject();

void OnServerInitialized();

void OnTransformChildrenChanged();

void OnTransformParentChanged();

void OnTriggerEnter(Collider other);

void OnTriggerEnter2D(Collider2D other);

void OnTriggerExit(Collider other);

void OnTriggerExit2D(Collider2D other);

void OnTriggerStay(Collider other);

void OnTriggerStay2D(Collider2D other);

void OnValidate();

void OnWillRenderObject();

void Reset();
}
}

+ 28
- 10
IllusionPlugin/IllusionPlugin.csproj View File

@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{E2848BFB-5432-42F4-8AE0-D2EC0CDF2F71}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>IllusionPlugin</RootNamespace>
<AssemblyName>IllusionPlugin</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFramework>net472</TargetFramework>
<FileAlignment>512</FileAlignment>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
</PropertyGroup>
@@ -33,18 +33,36 @@
<DocumentationFile>bin\Release\IllusionPlugin.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="UnityEngine">
<HintPath>..\..\ref\Gamecraft_Data\Managed\UnityEngine.dll</HintPath>
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\ref\Gamecraft_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\ref\Gamecraft_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnityEngine">
<HintPath>..\..\ref\Gamecraft_Data\Managed\UnityEngine.Physics2DModule.dll</HintPath>
<HintPath>..\..\ref\GamecraftPreview_Data\Managed\UnityEngine.Physics2DModule.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="IEnhancedPlugin.cs" />
<Compile Include="IniFile.cs" />
<Compile Include="IPlugin.cs" />
<Compile Include="ModPrefs.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Folder Include="Properties" />
</ItemGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">


+ 9
- 6
Launcher/Launcher.csproj View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />-->
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
@@ -9,8 +9,10 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Launcher</RootNamespace>
<AssemblyName>Launcher</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFramework>net472</TargetFramework>
<FileAlignment>512</FileAlignment>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -40,14 +42,12 @@
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -80,7 +80,10 @@
<ItemGroup>
<Content Include="syringe.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<PackageReference Include="Mono.Cecil" Version="0.11.2" />
</ItemGroup>
<!--<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />-->
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">


+ 1
- 1
Launcher/packages.config View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Mono.Cecil" version="0.9.6.4" targetFramework="net35" />
<package id="Mono.Cecil" version="0.11.2" targetFramework="net472" />
</packages>

Loading…
Cancel
Save