276 lines
14 KiB
XML
276 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="12.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)' == '' ">AnyCPU</Platform>
|
|
<ProjectGuid>{F1A573B0-F436-472C-AE29-0B91EA6B9F8F}</ProjectGuid>
|
|
<OutputType>Exe</OutputType>
|
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
|
<RootNamespace>StardewModdingAPI</RootNamespace>
|
|
<AssemblyName>StardewModdingAPI</AssemblyName>
|
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
|
<FileAlignment>512</FileAlignment>
|
|
<IsWebBootstrapper>false</IsWebBootstrapper>
|
|
<TargetFrameworkProfile />
|
|
<PublishUrl>publish\</PublishUrl>
|
|
<Install>true</Install>
|
|
<InstallFrom>Disk</InstallFrom>
|
|
<UpdateEnabled>false</UpdateEnabled>
|
|
<UpdateMode>Foreground</UpdateMode>
|
|
<UpdateInterval>7</UpdateInterval>
|
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
|
<UpdatePeriodically>false</UpdatePeriodically>
|
|
<UpdateRequired>false</UpdateRequired>
|
|
<MapFileExtensions>true</MapFileExtensions>
|
|
<ApplicationRevision>0</ApplicationRevision>
|
|
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
|
<UseApplicationTrust>false</UseApplicationTrust>
|
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
<DebugSymbols>true</DebugSymbols>
|
|
<DebugType>full</DebugType>
|
|
<Optimize>true</Optimize>
|
|
<OutputPath>$(SolutionDir)\..\bin\Debug\SMAPI</OutputPath>
|
|
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<WarningLevel>4</WarningLevel>
|
|
<Prefer32Bit>false</Prefer32Bit>
|
|
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
<DebugType>pdbonly</DebugType>
|
|
<Optimize>true</Optimize>
|
|
<OutputPath>$(SolutionDir)\..\bin\Release\SMAPI</OutputPath>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
<ErrorReport>prompt</ErrorReport>
|
|
<WarningLevel>4</WarningLevel>
|
|
<Prefer32Bit>false</Prefer32Bit>
|
|
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
|
<PlatformTarget>x86</PlatformTarget>
|
|
<OutputPath>bin\Debug\</OutputPath>
|
|
<Prefer32Bit>false</Prefer32Bit>
|
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
<UseVSHostingProcess>true</UseVSHostingProcess>
|
|
<Optimize>false</Optimize>
|
|
<OutputPath>$(SolutionDir)\..\bin\Debug\SMAPI</OutputPath>
|
|
<DocumentationFile>$(SolutionDir)\..\bin\Debug\SMAPI\StardewModdingAPI.xml</DocumentationFile>
|
|
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
|
|
<LangVersion>6</LangVersion>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
|
<PlatformTarget>x86</PlatformTarget>
|
|
<OutputPath>bin\Release\</OutputPath>
|
|
<Prefer32Bit>false</Prefer32Bit>
|
|
<OutputPath>$(SolutionDir)\..\bin\Release\SMAPI</OutputPath>
|
|
<DocumentationFile>$(SolutionDir)\..\bin\Debug\SMAPI\StardewModdingAPI.xml</DocumentationFile>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
<Optimize>true</Optimize>
|
|
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
|
|
<LangVersion>6</LangVersion>
|
|
<DebugType>pdbonly</DebugType>
|
|
<DebugSymbols>true</DebugSymbols>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<ApplicationIcon>icon.ico</ApplicationIcon>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<!-- Linux paths -->
|
|
<GamePath Condition="!Exists('$(GamePath)')">$(HOME)/GOG Games/Stardew Valley/game</GamePath>
|
|
<GamePath Condition="!Exists('$(GamePath)')">$(HOME)/.local/share/Steam/steamapps/common/Stardew Valley</GamePath>
|
|
<!-- Mac paths -->
|
|
<GamePath Condition="!Exists('$(GamePath)')">$(HOME)/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS</GamePath>
|
|
<!-- Windows paths -->
|
|
<GamePath Condition="!Exists('$(GamePath)')">C:\Program Files (x86)\GalaxyClient\Games\Stardew Valley</GamePath>
|
|
<GamePath Condition="!Exists('$(GamePath)')">C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley</GamePath>
|
|
</PropertyGroup>
|
|
<Choose>
|
|
<When Condition="$(OS) == 'Windows_NT'">
|
|
<PropertyGroup>
|
|
<DefineConstants>$(DefineConstants);SMAPI_FOR_WINDOWS</DefineConstants>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
|
<Private>False</Private>
|
|
</Reference>
|
|
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
|
<Private>False</Private>
|
|
</Reference>
|
|
<Reference Include="Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
|
<Private>False</Private>
|
|
</Reference>
|
|
<Reference Include="Microsoft.Xna.Framework.Xact, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
|
<Private>False</Private>
|
|
</Reference>
|
|
<Reference Include="Stardew Valley">
|
|
<HintPath>$(GamePath)\Stardew Valley.exe</HintPath>
|
|
<Private>False</Private>
|
|
</Reference>
|
|
<Reference Include="xTile, Version=2.0.4.0, Culture=neutral, processorArchitecture=x86">
|
|
<HintPath>$(GamePath)\xTile.dll</HintPath>
|
|
<Private>False</Private>
|
|
<SpecificVersion>False</SpecificVersion>
|
|
</Reference>
|
|
</ItemGroup>
|
|
</When>
|
|
<Otherwise>
|
|
<PropertyGroup>
|
|
<DefineConstants>$(DefineConstants);SMAPI_FOR_UNIX</DefineConstants>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<Reference Include="MonoGame.Framework">
|
|
<HintPath>$(GamePath)\MonoGame.Framework.dll</HintPath>
|
|
<Private>False</Private>
|
|
<SpecificVersion>False</SpecificVersion>
|
|
</Reference>
|
|
<Reference Include="StardewValley">
|
|
<HintPath>$(GamePath)\StardewValley.exe</HintPath>
|
|
<Private>False</Private>
|
|
</Reference>
|
|
<Reference Include="xTile">
|
|
<HintPath>$(GamePath)\xTile.dll</HintPath>
|
|
<Private>False</Private>
|
|
</Reference>
|
|
</ItemGroup>
|
|
</Otherwise>
|
|
</Choose>
|
|
<ItemGroup>
|
|
<Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
|
<HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
|
<Private>True</Private>
|
|
</Reference>
|
|
<Reference Include="System" />
|
|
<Reference Include="System.Core" />
|
|
<Reference Include="System.Drawing" />
|
|
<Reference Include="System.Numerics">
|
|
<Private>True</Private>
|
|
</Reference>
|
|
<Reference Include="System.Windows.Forms" Condition="$(OS) == 'Windows_NT'" />
|
|
<Reference Include="System.Xml.Linq" />
|
|
<Reference Include="System.Data.DataSetExtensions" />
|
|
<Reference Include="Microsoft.CSharp" />
|
|
<Reference Include="System.Data" />
|
|
<Reference Include="System.Xml" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Compile Include="Advanced\ConfigFile.cs" />
|
|
<Compile Include="Advanced\IConfigFile.cs" />
|
|
<Compile Include="Command.cs" />
|
|
<Compile Include="Config.cs" />
|
|
<Compile Include="Constants.cs" />
|
|
<Compile Include="Events\ControlEvents.cs" />
|
|
<Compile Include="Events\EventArgsCommand.cs" />
|
|
<Compile Include="Events\EventArgsClickableMenuChanged.cs" />
|
|
<Compile Include="Events\EventArgsClickableMenuClosed.cs" />
|
|
<Compile Include="Events\EventArgsControllerButtonPressed.cs" />
|
|
<Compile Include="Events\EventArgsControllerButtonReleased.cs" />
|
|
<Compile Include="Events\EventArgsControllerTriggerPressed.cs" />
|
|
<Compile Include="Events\EventArgsControllerTriggerReleased.cs" />
|
|
<Compile Include="Events\EventArgsCurrentLocationChanged.cs" />
|
|
<Compile Include="Events\EventArgsFarmerChanged.cs" />
|
|
<Compile Include="Events\EventArgsGameLocationsChanged.cs" />
|
|
<Compile Include="Events\EventArgsIntChanged.cs" />
|
|
<Compile Include="Events\EventArgsInventoryChanged.cs" />
|
|
<Compile Include="Events\EventArgsKeyboardStateChanged.cs" />
|
|
<Compile Include="Events\EventArgsKeyPressed.cs" />
|
|
<Compile Include="Events\EventArgsLevelUp.cs" />
|
|
<Compile Include="Events\EventArgsLoadedGameChanged.cs" />
|
|
<Compile Include="Events\EventArgsLocationObjectsChanged.cs" />
|
|
<Compile Include="Events\EventArgsMineLevelChanged.cs" />
|
|
<Compile Include="Events\EventArgsMouseStateChanged.cs" />
|
|
<Compile Include="Events\EventArgsNewDay.cs" />
|
|
<Compile Include="Events\EventArgsStringChanged.cs" />
|
|
<Compile Include="Events\GameEvents.cs" />
|
|
<Compile Include="Events\GraphicsEvents.cs" />
|
|
<Compile Include="Events\LocationEvents.cs" />
|
|
<Compile Include="Events\MenuEvents.cs" />
|
|
<Compile Include="Events\MineEvents.cs" />
|
|
<Compile Include="Events\PlayerEvents.cs" />
|
|
<Compile Include="Events\TimeEvents.cs" />
|
|
<Compile Include="Extensions.cs" />
|
|
<Compile Include="Framework\DeprecationLevel.cs" />
|
|
<Compile Include="Framework\DeprecationManager.cs" />
|
|
<Compile Include="Framework\UpdateHelper.cs" />
|
|
<Compile Include="Framework\GitRelease.cs" />
|
|
<Compile Include="Framework\UserSettings.cs" />
|
|
<Compile Include="Inheritance\ChangeType.cs" />
|
|
<Compile Include="Inheritance\ItemStackChange.cs" />
|
|
<Compile Include="Log.cs" />
|
|
<Compile Include="LogInfo.cs" />
|
|
<Compile Include="Framework\LogWriter.cs" />
|
|
<Compile Include="Manifest.cs" />
|
|
<Compile Include="Mod.cs" />
|
|
<Compile Include="ModHelper.cs" />
|
|
<Compile Include="Program.cs" />
|
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
<Compile Include="Inheritance\SGame.cs" />
|
|
<Compile Include="Version.cs" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Include="App.config">
|
|
<SubType>Designer</SubType>
|
|
</None>
|
|
<None Include="packages.config">
|
|
<SubType>Designer</SubType>
|
|
</None>
|
|
<Content Include="StardewModdingAPI-settings.json">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</Content>
|
|
<None Include="unix-launcher.sh">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</None>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Content Include="FodyWeavers.xml" />
|
|
<Content Include="icon.ico" />
|
|
<Content Include="steam_appid.txt">
|
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
</Content>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<BootstrapperPackage Include=".NETFramework,Version=v4.5">
|
|
<Visible>False</Visible>
|
|
<ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName>
|
|
<Install>true</Install>
|
|
</BootstrapperPackage>
|
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
|
<Visible>False</Visible>
|
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
|
<Install>false</Install>
|
|
</BootstrapperPackage>
|
|
</ItemGroup>
|
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
<PropertyGroup>
|
|
<PostBuildEvent>
|
|
</PostBuildEvent>
|
|
</PropertyGroup>
|
|
<!-- merge Json.NET into the assembly (only in release mode to allow debugging, and only for Windows since Costura isn't crossplatform) -->
|
|
<Import Project="..\packages\Fody.1.29.4\build\dotnet\Fody.targets" Condition="$(Configuration) != 'Debug' AND $(OS) == 'WINDOWS_NT' AND Exists('..\packages\Fody.1.29.4\build\dotnet\Fody.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\Fody.1.29.4\build\dotnet\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.29.4\build\dotnet\Fody.targets'))" />
|
|
</Target>
|
|
<!-- if game path is invalid, show one user-friendly error instead of a slew of reference errors -->
|
|
<Target Name="BeforeBuild">
|
|
<Error Condition="!Exists('$(GamePath)')" Text="Failed to find the game install path automatically; edit the *.csproj file and manually add a <GamePath> setting with the full directory path containing the Stardew Valley executable." />
|
|
</Target>
|
|
<!-- copy files into game directory and enable debugging (only in debug mode, and only in Windows because I haven't tried it with Linux/Mac) -->
|
|
<PropertyGroup Condition="$(Configuration) == 'Debug' AND $(OS) == 'Windows_NT'">
|
|
<StartAction>Program</StartAction>
|
|
<StartProgram>$(GamePath)\StardewModdingAPI.exe</StartProgram>
|
|
<StartWorkingDirectory>$(GamePath)</StartWorkingDirectory>
|
|
</PropertyGroup>
|
|
<Target Name="AfterBuild">
|
|
<Copy SourceFiles="$(TargetDir)\$(TargetName).exe" DestinationFolder="$(GamePath)" />
|
|
<Copy SourceFiles="$(TargetDir)\$(TargetName).pdb" DestinationFolder="$(GamePath)" />
|
|
<Copy SourceFiles="$(TargetDir)\$(TargetName).xml" DestinationFolder="$(GamePath)" />
|
|
<Copy SourceFiles="$(TargetDir)\Newtonsoft.Json.dll" DestinationFolder="$(GamePath)" />
|
|
</Target>
|
|
</Project> |