merge assembly rewriters into main SMAPI project (#347)
This commit is contained in:
parent
af1a2bde82
commit
8c5bd12f47
|
@ -110,7 +110,6 @@ on the wiki for the first-time setup.
|
|||
Mono.Cecil.dll
|
||||
Newtonsoft.Json.dll
|
||||
StardewModdingAPI
|
||||
StardewModdingAPI.AssemblyRewriters.dll
|
||||
StardewModdingAPI.config.json
|
||||
StardewModdingAPI.exe
|
||||
StardewModdingAPI.pdb
|
||||
|
@ -123,7 +122,6 @@ on the wiki for the first-time setup.
|
|||
Mods/*
|
||||
Mono.Cecil.dll
|
||||
Newtonsoft.Json.dll
|
||||
StardewModdingAPI.AssemblyRewriters.dll
|
||||
StardewModdingAPI.config.json
|
||||
StardewModdingAPI.exe
|
||||
StardewModdingAPI.pdb
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("StardewModdingAPI.AssemblyRewriters")]
|
||||
[assembly: AssemblyDescription("Contains internal SMAPI code for converting mods between Linux/Mac and Windows. This assembly is used by SMAPI internally and shouldn't be referenced directly by mods.")]
|
||||
[assembly: AssemblyProduct("StardewModdingAPI.CrossplatformRewriters")]
|
||||
[assembly: Guid("10db0676-9fc1-4771-a2c8-e2519f091e49")]
|
|
@ -1,73 +0,0 @@
|
|||
<?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')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProjectGuid>{10DB0676-9FC1-4771-A2C8-E2519F091E49}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>StardewModdingAPI.AssemblyRewriters</RootNamespace>
|
||||
<AssemblyName>StardewModdingAPI.AssemblyRewriters</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</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\net45\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\net45\Mono.Cecil.Mdb.dll</HintPath>
|
||||
<Private>True</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\net45\Mono.Cecil.Pdb.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\GlobalAssemblyInfo.cs">
|
||||
<Link>Properties\GlobalAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Finders\EventFinder.cs" />
|
||||
<Compile Include="Finders\PropertyFinder.cs" />
|
||||
<Compile Include="Finders\FieldFinder.cs" />
|
||||
<Compile Include="Finders\MethodFinder.cs" />
|
||||
<Compile Include="Finders\TypeFinder.cs" />
|
||||
<Compile Include="IncompatibleInstructionException.cs" />
|
||||
<Compile Include="RewriteHelper.cs" />
|
||||
<Compile Include="IInstructionRewriter.cs" />
|
||||
<Compile Include="Platform.cs" />
|
||||
<Compile Include="PlatformAssemblyMap.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Rewriters\TypeReferenceRewriter.cs" />
|
||||
<Compile Include="Rewriters\FieldReplaceRewriter.cs" />
|
||||
<Compile Include="Rewriters\FieldToPropertyRewriter.cs" />
|
||||
<Compile Include="Rewriters\MethodParentRewriter.cs" />
|
||||
<Compile Include="Rewriters\Wrappers\SpriteBatchWrapper.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(SolutionDir)\common.targets" />
|
||||
</Project>
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Mono.Cecil" version="0.9.6.4" targetFramework="net452" />
|
||||
</packages>
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
|
@ -81,7 +81,6 @@ namespace StardewModdingApi.Installer
|
|||
yield return GetInstallPath("StardewModdingAPI.exe");
|
||||
yield return GetInstallPath("StardewModdingAPI.config.json");
|
||||
yield return GetInstallPath("StardewModdingAPI.data.json");
|
||||
yield return GetInstallPath("StardewModdingAPI.AssemblyRewriters.dll");
|
||||
yield return GetInstallPath("System.ValueTuple.dll");
|
||||
yield return GetInstallPath("steam_appid.txt");
|
||||
|
||||
|
@ -98,7 +97,8 @@ namespace StardewModdingApi.Installer
|
|||
// obsolete
|
||||
yield return GetInstallPath("Mods/.cache"); // 1.3-1.4
|
||||
yield return GetInstallPath("Mono.Cecil.Rocks.dll"); // 1.3–1.8
|
||||
yield return GetInstallPath("StardewModdingAPI-settings.json"); // 1.0-1.4
|
||||
yield return GetInstallPath("StardewModdingAPI-settings.json"); // 1.0–1.4
|
||||
yield return GetInstallPath("StardewModdingAPI.AssemblyRewriters.dll"); // 1.3–1.15.4
|
||||
if (modsDir.Exists)
|
||||
{
|
||||
foreach (DirectoryInfo modDir in modsDir.EnumerateDirectories())
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26430.16
|
||||
VisualStudioVersion = 15.0.26730.15
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrainerMod", "TrainerMod\TrainerMod.csproj", "{28480467-1A48-46A7-99F8-236D95225359}"
|
||||
EndProject
|
||||
|
@ -27,8 +27,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewModdingAPI.Installer
|
|||
{F1A573B0-F436-472C-AE29-0B91EA6B9F8F} = {F1A573B0-F436-472C-AE29-0B91EA6B9F8F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewModdingAPI.AssemblyRewriters", "StardewModdingAPI.AssemblyRewriters\StardewModdingAPI.AssemblyRewriters.csproj", "{10DB0676-9FC1-4771-A2C8-E2519F091E49}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewModdingAPI.Tests", "StardewModdingAPI.Tests\StardewModdingAPI.Tests.csproj", "{36CCB19E-92EB-48C7-9615-98EEFD45109B}"
|
||||
EndProject
|
||||
Global
|
||||
|
@ -71,16 +69,6 @@ Global
|
|||
{443DDF81-6AAF-420A-A610-3459F37E5575}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{443DDF81-6AAF-420A-A610-3459F37E5575}.Release|x86.ActiveCfg = Release|x86
|
||||
{443DDF81-6AAF-420A-A610-3459F37E5575}.Release|x86.Build.0 = Release|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Debug|x86.Build.0 = Debug|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Release|x86.ActiveCfg = Release|x86
|
||||
{10DB0676-9FC1-4771-A2C8-E2519F091E49}.Release|x86.Build.0 = Release|x86
|
||||
{36CCB19E-92EB-48C7-9615-98EEFD45109B}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{36CCB19E-92EB-48C7-9615-98EEFD45109B}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
|
||||
{36CCB19E-92EB-48C7-9615-98EEFD45109B}.Debug|Mixed Platforms.Build.0 = Debug|x86
|
||||
|
|
|
@ -4,12 +4,12 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
using StardewModdingAPI.AssemblyRewriters;
|
||||
using StardewModdingAPI.AssemblyRewriters.Finders;
|
||||
using StardewModdingAPI.AssemblyRewriters.Rewriters;
|
||||
using StardewModdingAPI.AssemblyRewriters.Rewriters.Wrappers;
|
||||
using StardewModdingAPI.Events;
|
||||
using StardewModdingAPI.Framework;
|
||||
using StardewModdingAPI.Framework.ModLoading;
|
||||
using StardewModdingAPI.Framework.ModLoading.Finders;
|
||||
using StardewModdingAPI.Framework.ModLoading.Rewriters;
|
||||
using StardewModdingAPI.Framework.ModLoading.Rewriters.Wrappers;
|
||||
using StardewValley;
|
||||
|
||||
namespace StardewModdingAPI
|
||||
|
|
|
@ -5,7 +5,6 @@ using System.Linq;
|
|||
using System.Reflection;
|
||||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
using StardewModdingAPI.AssemblyRewriters;
|
||||
using StardewModdingAPI.Framework.Exceptions;
|
||||
|
||||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
|
@ -270,8 +269,7 @@ namespace StardewModdingAPI.Framework.ModLoading
|
|||
return;
|
||||
|
||||
// get assembly
|
||||
Assembly assembly;
|
||||
if (!this.TypeAssemblies.TryGetValue(type.FullName, out assembly))
|
||||
if (!this.TypeAssemblies.TryGetValue(type.FullName, out Assembly assembly))
|
||||
return;
|
||||
|
||||
// replace scope
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
using Mono.Cecil;
|
||||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Finders
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Finders
|
||||
{
|
||||
/// <summary>Finds incompatible CIL instructions that reference a given event and throws an <see cref="IncompatibleInstructionException"/>.</summary>
|
||||
public class EventFinder : IInstructionRewriter
|
||||
internal class EventFinder : IInstructionRewriter
|
||||
{
|
||||
/*********
|
||||
** Properties
|
|
@ -1,10 +1,10 @@
|
|||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Finders
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Finders
|
||||
{
|
||||
/// <summary>Finds incompatible CIL instructions that reference a given field and throws an <see cref="IncompatibleInstructionException"/>.</summary>
|
||||
public class FieldFinder : IInstructionRewriter
|
||||
internal class FieldFinder : IInstructionRewriter
|
||||
{
|
||||
/*********
|
||||
** Properties
|
|
@ -1,10 +1,10 @@
|
|||
using Mono.Cecil;
|
||||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Finders
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Finders
|
||||
{
|
||||
/// <summary>Finds incompatible CIL instructions that reference a given method and throws an <see cref="IncompatibleInstructionException"/>.</summary>
|
||||
public class MethodFinder : IInstructionRewriter
|
||||
internal class MethodFinder : IInstructionRewriter
|
||||
{
|
||||
/*********
|
||||
** Properties
|
|
@ -1,10 +1,10 @@
|
|||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Finders
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Finders
|
||||
{
|
||||
/// <summary>Finds incompatible CIL instructions that reference a given property and throws an <see cref="IncompatibleInstructionException"/>.</summary>
|
||||
public class PropertyFinder : IInstructionRewriter
|
||||
internal class PropertyFinder : IInstructionRewriter
|
||||
{
|
||||
/*********
|
||||
** Properties
|
|
@ -2,10 +2,10 @@ using System.Linq;
|
|||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Finders
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Finders
|
||||
{
|
||||
/// <summary>Finds incompatible CIL instructions that reference a given type and throws an <see cref="IncompatibleInstructionException"/>.</summary>
|
||||
public class TypeFinder : IInstructionRewriter
|
||||
internal class TypeFinder : IInstructionRewriter
|
||||
{
|
||||
/*********
|
||||
** Accessors
|
|
@ -1,10 +1,10 @@
|
|||
using Mono.Cecil;
|
||||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
{
|
||||
/// <summary>Rewrites CIL instructions for compatibility.</summary>
|
||||
public interface IInstructionRewriter
|
||||
internal interface IInstructionRewriter
|
||||
{
|
||||
/*********
|
||||
** Accessors
|
|
@ -1,9 +1,9 @@
|
|||
using System;
|
||||
using System;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
{
|
||||
/// <summary>An exception raised when an incompatible instruction is found while loading a mod assembly.</summary>
|
||||
public class IncompatibleInstructionException : Exception
|
||||
internal class IncompatibleInstructionException : Exception
|
||||
{
|
||||
/*********
|
||||
** Accessors
|
|
@ -1,9 +1,9 @@
|
|||
using System;
|
||||
using System;
|
||||
|
||||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
{
|
||||
/// <summary>An exception which indicates that something went seriously wrong while loading mods, and SMAPI should abort outright.</summary>
|
||||
public class InvalidModStateException : Exception
|
||||
internal class InvalidModStateException : Exception
|
||||
{
|
||||
/// <summary>Construct an instance.</summary>
|
||||
/// <param name="message">The error message.</param>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
{
|
||||
/// <summary>Indicates the status of a mod's metadata resolution.</summary>
|
||||
internal enum ModMetadataStatus
|
||||
|
@ -9,4 +9,4 @@
|
|||
/// <summary>The mod cannot be loaded.</summary>
|
||||
Failed
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
namespace StardewModdingAPI.AssemblyRewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
{
|
||||
/// <summary>The game's platform version.</summary>
|
||||
public enum Platform
|
||||
internal enum Platform
|
||||
{
|
||||
/// <summary>The Linux/Mac version of the game.</summary>
|
||||
Mono,
|
||||
|
@ -9,4 +9,4 @@ namespace StardewModdingAPI.AssemblyRewriters
|
|||
/// <summary>The Windows version of the game.</summary>
|
||||
Windows
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,10 +3,10 @@ using System.Linq;
|
|||
using System.Reflection;
|
||||
using Mono.Cecil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
{
|
||||
/// <summary>Metadata for mapping assemblies to the current <see cref="Platform"/>.</summary>
|
||||
public class PlatformAssemblyMap
|
||||
internal class PlatformAssemblyMap
|
||||
{
|
||||
/*********
|
||||
** Accessors
|
|
@ -4,7 +4,7 @@ using System.Reflection;
|
|||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading
|
||||
{
|
||||
/// <summary>Provides helper methods for field rewriters.</summary>
|
||||
internal static class RewriteHelper
|
|
@ -2,12 +2,12 @@ using System;
|
|||
using System.Reflection;
|
||||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
using StardewModdingAPI.AssemblyRewriters.Finders;
|
||||
using StardewModdingAPI.Framework.ModLoading.Finders;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Rewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Rewriters
|
||||
{
|
||||
/// <summary>Rewrites references to one field with another.</summary>
|
||||
public class FieldReplaceRewriter : FieldFinder
|
||||
internal class FieldReplaceRewriter : FieldFinder
|
||||
{
|
||||
/*********
|
||||
** Properties
|
|
@ -1,12 +1,12 @@
|
|||
using System;
|
||||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
using StardewModdingAPI.AssemblyRewriters.Finders;
|
||||
using StardewModdingAPI.Framework.ModLoading.Finders;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Rewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Rewriters
|
||||
{
|
||||
/// <summary>Rewrites field references into property references.</summary>
|
||||
public class FieldToPropertyRewriter : FieldFinder
|
||||
internal class FieldToPropertyRewriter : FieldFinder
|
||||
{
|
||||
/*********
|
||||
** Properties
|
|
@ -2,10 +2,10 @@ using System;
|
|||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Rewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Rewriters
|
||||
{
|
||||
/// <summary>Rewrites method references from one parent type to another if the signatures match.</summary>
|
||||
public class MethodParentRewriter : IInstructionRewriter
|
||||
internal class MethodParentRewriter : IInstructionRewriter
|
||||
{
|
||||
/*********
|
||||
** Properties
|
|
@ -1,12 +1,12 @@
|
|||
using System;
|
||||
using Mono.Cecil;
|
||||
using Mono.Cecil.Cil;
|
||||
using StardewModdingAPI.AssemblyRewriters.Finders;
|
||||
using StardewModdingAPI.Framework.ModLoading.Finders;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Rewriters
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Rewriters
|
||||
{
|
||||
/// <summary>Rewrites all references to a type.</summary>
|
||||
public class TypeReferenceRewriter : TypeFinder
|
||||
internal class TypeReferenceRewriter : TypeFinder
|
||||
{
|
||||
/*********
|
||||
** Properties
|
|
@ -2,10 +2,10 @@ using System.Diagnostics.CodeAnalysis;
|
|||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
|
||||
namespace StardewModdingAPI.AssemblyRewriters.Rewriters.Wrappers
|
||||
namespace StardewModdingAPI.Framework.ModLoading.Rewriters.Wrappers
|
||||
{
|
||||
/// <summary>Wraps <see cref="SpriteBatch"/> methods that are incompatible when converting compiled code between MonoGame and XNA.</summary>
|
||||
public class SpriteBatchWrapper : SpriteBatch
|
||||
internal class SpriteBatchWrapper : SpriteBatch
|
||||
{
|
||||
/*********
|
||||
** Public methods
|
||||
|
@ -56,4 +56,4 @@ namespace StardewModdingAPI.AssemblyRewriters.Rewriters.Wrappers
|
|||
base.Begin(sortMode, blendState, samplerState, depthStencilState, rasterizerState, effect, transformMatrix);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,8 +6,8 @@ using System.Linq;
|
|||
using System.Reflection;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Content;
|
||||
using StardewModdingAPI.AssemblyRewriters;
|
||||
using StardewModdingAPI.Framework.Content;
|
||||
using StardewModdingAPI.Framework.ModLoading;
|
||||
using StardewModdingAPI.Framework.Reflection;
|
||||
using StardewModdingAPI.Framework.Utilities;
|
||||
using StardewModdingAPI.Metadata;
|
||||
|
|
|
@ -12,7 +12,6 @@ using System.Management;
|
|||
using System.Windows.Forms;
|
||||
#endif
|
||||
using Newtonsoft.Json;
|
||||
using StardewModdingAPI.AssemblyRewriters;
|
||||
using StardewModdingAPI.Events;
|
||||
using StardewModdingAPI.Framework;
|
||||
using StardewModdingAPI.Framework.Exceptions;
|
||||
|
|
|
@ -91,9 +91,25 @@
|
|||
<Link>Properties\GlobalAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Command.cs" />
|
||||
<Compile Include="Framework\ModLoading\Finders\EventFinder.cs" />
|
||||
<Compile Include="Framework\ModLoading\Finders\FieldFinder.cs" />
|
||||
<Compile Include="Framework\ModLoading\Finders\MethodFinder.cs" />
|
||||
<Compile Include="Framework\ModLoading\Finders\PropertyFinder.cs" />
|
||||
<Compile Include="Framework\ModLoading\Finders\TypeFinder.cs" />
|
||||
<Compile Include="Framework\ModLoading\IInstructionRewriter.cs" />
|
||||
<Compile Include="Framework\ModLoading\IncompatibleInstructionException.cs" />
|
||||
<Compile Include="Framework\ModLoading\Platform.cs" />
|
||||
<Compile Include="Framework\ModLoading\PlatformAssemblyMap.cs" />
|
||||
<Compile Include="Framework\ModLoading\RewriteHelper.cs" />
|
||||
<Compile Include="Framework\ModLoading\Rewriters\FieldReplaceRewriter.cs" />
|
||||
<Compile Include="Framework\ModLoading\Rewriters\FieldToPropertyRewriter.cs" />
|
||||
<Compile Include="Framework\ModLoading\Rewriters\MethodParentRewriter.cs" />
|
||||
<Compile Include="Framework\ModLoading\Rewriters\TypeReferenceRewriter.cs" />
|
||||
<Compile Include="Framework\ModLoading\Rewriters\Wrappers\SpriteBatchWrapper.cs" />
|
||||
<Compile Include="Framework\ContentManagerShim.cs" />
|
||||
<Compile Include="Framework\Exceptions\SAssemblyLoadFailedException.cs" />
|
||||
<Compile Include="Framework\ModLoading\AssemblyLoadStatus.cs" />
|
||||
<Compile Include="Framework\ModLoading\DangerousCodeWarner.cs" />
|
||||
<Compile Include="Framework\Utilities\ContextHash.cs" />
|
||||
<Compile Include="Metadata\CoreAssets.cs" />
|
||||
<Compile Include="ContentSource.cs" />
|
||||
|
@ -257,12 +273,6 @@
|
|||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\StardewModdingAPI.AssemblyRewriters\StardewModdingAPI.AssemblyRewriters.csproj">
|
||||
<Project>{10db0676-9fc1-4771-a2c8-e2519f091e49}</Project>
|
||||
<Name>StardewModdingAPI.AssemblyRewriters</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(SolutionDir)\common.targets" />
|
||||
</Project>
|
|
@ -83,7 +83,6 @@
|
|||
<Target Name="CopySMAPI" Condition="'$(MSBuildProjectName)' == 'StardewModdingAPI'">
|
||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).exe" DestinationFolder="$(GamePath)" />
|
||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).config.json" DestinationFolder="$(GamePath)" />
|
||||
<Copy SourceFiles="$(TargetDir)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(GamePath)" />
|
||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).pdb" DestinationFolder="$(GamePath)" />
|
||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).xml" DestinationFolder="$(GamePath)" />
|
||||
<Copy SourceFiles="$(TargetDir)\Newtonsoft.Json.dll" DestinationFolder="$(GamePath)" />
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.exe" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.pdb" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.xml" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.config.json" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\System.Numerics.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\System.Runtime.Caching.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||
|
@ -41,7 +40,6 @@
|
|||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.exe" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.pdb" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.xml" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.config.json" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\steam_appid.txt" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="@(CompiledMods)" DestinationFolder="$(PackageInternalPath)\Windows\Mods\%(RecursiveDir)" />
|
||||
|
|
Loading…
Reference in New Issue