Updated Save Anywhere to 1.1 and created a new helper mod called StarDustCore that includes a serializer and some message functionality
This commit is contained in:
parent
e4e4104305
commit
2cfea23af3
|
@ -0,0 +1,62 @@
|
|||
using StardewValley;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace StarDust
|
||||
{
|
||||
namespace Messages
|
||||
{
|
||||
public static class HudWithIcon
|
||||
{
|
||||
|
||||
public static void showStarMessage(string message)
|
||||
{
|
||||
Game1.addHUDMessage(new HUDMessage(message, 1));
|
||||
if (!message.Contains("Inventory"))
|
||||
{
|
||||
Game1.playSound("cancel");
|
||||
return;
|
||||
}
|
||||
if (!Game1.player.mailReceived.Contains("BackpackTip"))
|
||||
{
|
||||
Game1.player.mailReceived.Add("BackpackTip");
|
||||
Game1.addMailForTomorrow("pierreBackpack", false, false);
|
||||
}
|
||||
}
|
||||
/*
|
||||
public static void showMessage2(string message)
|
||||
{
|
||||
Game1.addHUDMessage(new HUDMessage(message, 2));
|
||||
if (!message.Contains("Inventory"))
|
||||
{
|
||||
Game1.playSound("cancel");
|
||||
return;
|
||||
}
|
||||
if (!Game1.player.mailReceived.Contains("BackpackTip"))
|
||||
{
|
||||
Game1.player.mailReceived.Add("BackpackTip");
|
||||
Game1.addMailForTomorrow("pierreBackpack", false, false);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
public static void showRedMessage(string message)
|
||||
{
|
||||
Game1.addHUDMessage(new HUDMessage(message, 3));
|
||||
if (!message.Contains("Inventory"))
|
||||
{
|
||||
Game1.playSound("cancel");
|
||||
return;
|
||||
}
|
||||
if (!Game1.player.mailReceived.Contains("BackpackTip"))
|
||||
{
|
||||
Game1.player.mailReceived.Add("BackpackTip");
|
||||
Game1.addMailForTomorrow("pierreBackpack", false, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using StardewValley;
|
||||
|
||||
namespace StarDust.Messages
|
||||
{
|
||||
public class HudWithoutIcon
|
||||
{
|
||||
public static void showGlobalMessage(string s)
|
||||
{
|
||||
Game1.showGlobalMessage(s);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("OmegasisLIB")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("OmegasisLIB")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("18f4ba11-af6c-40fb-a544-ae08de61e187")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -0,0 +1,102 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SerializerUtils.SerializerUtility
|
||||
// Assembly: SerializerUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 1302D1C7-A0C7-48FC-8C60-C8B9A49AF5B0
|
||||
// Assembly location: C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\SerializerUtils.dll
|
||||
|
||||
using StardewModdingAPI;
|
||||
using StardewModdingAPI.Events;
|
||||
using StardewValley;
|
||||
using StardewValley.Characters;
|
||||
using StardewValley.Monsters;
|
||||
using StardewValley.Quests;
|
||||
using StardewValley.TerrainFeatures;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SerializerUtils
|
||||
{
|
||||
public class SerializerUtility : Mod
|
||||
{
|
||||
protected static Type[] vanillaTypes = new Type[27]
|
||||
{
|
||||
typeof (Tool),
|
||||
typeof (GameLocation),
|
||||
typeof (Crow),
|
||||
typeof (Duggy),
|
||||
typeof (Bug),
|
||||
typeof (BigSlime),
|
||||
typeof (Fireball),
|
||||
typeof (Ghost),
|
||||
typeof (Child),
|
||||
typeof (Pet),
|
||||
typeof (Dog),
|
||||
typeof (StardewValley.Characters.Cat),
|
||||
typeof (Horse),
|
||||
typeof (GreenSlime),
|
||||
typeof (LavaCrab),
|
||||
typeof (RockCrab),
|
||||
typeof (ShadowGuy),
|
||||
typeof (SkeletonMage),
|
||||
typeof (SquidKid),
|
||||
typeof (Grub),
|
||||
typeof (Fly),
|
||||
typeof (DustSpirit),
|
||||
typeof (Quest),
|
||||
typeof (MetalHead),
|
||||
typeof (ShadowGirl),
|
||||
typeof (Monster),
|
||||
typeof (TerrainFeature)
|
||||
};
|
||||
public static Type[] vanillaFarmerTypes = new Type[1]
|
||||
{
|
||||
typeof (Tool)
|
||||
};
|
||||
public static List<Type> newTypes = new List<Type>();
|
||||
public static List<Type> newFarmerTypes = new List<Type>()
|
||||
{
|
||||
typeof (Tool)
|
||||
};
|
||||
|
||||
public override void Entry(params object[] objects)
|
||||
{
|
||||
|
||||
GameEvents.GameLoaded += new EventHandler(SerializerUtility.Event_GameLoaded);
|
||||
Command.RegisterCommand("include_types", "Includes types to serialize", (string[])null).CommandFired += new EventHandler<EventArgsCommand>(SerializerUtility.Command_IncludeTypes);
|
||||
|
||||
}
|
||||
|
||||
public static void Command_IncludeTypes(object sender, EventArgsCommand e)
|
||||
{
|
||||
}
|
||||
|
||||
public static void Event_GameLoaded(object sender, EventArgs e)
|
||||
{
|
||||
Command.CallCommand("include_types");
|
||||
SerializerUtility.InvokeSerializerOverride();
|
||||
}
|
||||
|
||||
public static void InvokeSerializerOverride()
|
||||
{
|
||||
List<Type> list1 = new List<Type>();
|
||||
list1.AddRange((IEnumerable<Type>)SerializerUtility.vanillaTypes);
|
||||
list1.AddRange((IEnumerable<Type>)SerializerUtility.newTypes);
|
||||
List<Type> list2 = new List<Type>();
|
||||
list2.AddRange((IEnumerable<Type>)SerializerUtility.vanillaFarmerTypes);
|
||||
list2.AddRange((IEnumerable<Type>)SerializerUtility.newFarmerTypes);
|
||||
SaveGame.serializer = new XmlSerializer(typeof(SaveGame), list1.ToArray());
|
||||
SaveGame.farmerSerializer = new XmlSerializer(typeof(Farmer), list2.ToArray());
|
||||
}
|
||||
|
||||
public static void AddType(Type t)
|
||||
{
|
||||
SerializerUtility.newTypes.Add(t);
|
||||
}
|
||||
|
||||
public static void AddFarmerType(Type t)
|
||||
{
|
||||
SerializerUtility.newFarmerTypes.Add(t);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using StardewModdingAPI;
|
||||
using StardewValley;
|
||||
using SerializerUtils;
|
||||
using StardewModdingAPI.Events;
|
||||
|
||||
namespace StarDust
|
||||
{
|
||||
public class Core : Mod
|
||||
{
|
||||
public override void Entry(params object[] objects)
|
||||
{
|
||||
//GameEvents.GameLoaded += new EventHandler(SerializerUtility.Event_GameLoaded);
|
||||
//Command.RegisterCommand("include_types", "Includes types to serialize", (string[])null).CommandFired += new EventHandler<EventArgsCommand>(SerializerUtility.Command_IncludeTypes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
<?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)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{18F4BA11-AF6C-40FB-A544-AE08DE61E187}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>StarDustCore</RootNamespace>
|
||||
<AssemblyName>StarDustCore</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<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|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
|
||||
<Reference Include="Stardew Valley">
|
||||
<HintPath>..\..\..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Stardew Valley.exe</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="StardewModdingAPI">
|
||||
<HintPath>..\..\..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\StardewModdingAPI.exe</HintPath>
|
||||
</Reference>
|
||||
<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" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Messages\HudWithIcon.cs" />
|
||||
<Compile Include="Messages\HudWithoutIcon.cs" />
|
||||
<Compile Include="StarDust.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SerializerUtility.cs" />
|
||||
</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">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Express 14 for Windows Desktop
|
||||
VisualStudioVersion = 14.0.24720.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StarDust", "OmegasisLIB\StarDust.csproj", "{18F4BA11-AF6C-40FB-A544-AE08DE61E187}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{18F4BA11-AF6C-40FB-A544-AE08DE61E187}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{18F4BA11-AF6C-40FB-A544-AE08DE61E187}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{18F4BA11-AF6C-40FB-A544-AE08DE61E187}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{18F4BA11-AF6C-40FB-A544-AE08DE61E187}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,20 +0,0 @@
|
|||
Config: Save_Anywhere Info. Feel free to mess with these settings.
|
||||
====================================================================================
|
||||
Key binding for saving anywhere. Press this key to save anywhere!
|
||||
K
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -1,203 +1,203 @@
|
|||
using Microsoft.Xna.Framework;
|
||||
using StardewModdingAPI;
|
||||
using StardewValley;
|
||||
using StardewValley.Buildings;
|
||||
using StardewValley.Locations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Save_Anywhere_V2.Save_Utilities
|
||||
{
|
||||
class NPC_Utilities
|
||||
{
|
||||
public static string npc_name;
|
||||
public static int npc_tile_x;
|
||||
public static int npc_tile_y;
|
||||
public static string npc_current_map_name;
|
||||
public static System.Collections.Generic.List<List<string>> routesFromLocationToLocation = new List<List<string>>();
|
||||
public static Microsoft.Xna.Framework.Point npc_point;
|
||||
|
||||
public static void Save_NPC_Info()
|
||||
{
|
||||
Save_Anywhere_V2.Mod_Core.npc_path = Path.Combine(Save_Anywhere_V2.Mod_Core.player_path, "NPC_Save_Info");
|
||||
if (!Directory.Exists(Save_Anywhere_V2.Mod_Core.npc_path))
|
||||
{
|
||||
Directory.CreateDirectory(Save_Anywhere_V2.Mod_Core.npc_path);
|
||||
}
|
||||
foreach (var location in Game1.locations)
|
||||
{
|
||||
foreach (var npc in location.characters)
|
||||
{
|
||||
if (npc.IsMonster == true) continue;
|
||||
if (npc is StardewValley.Monsters.Bat || npc is StardewValley.Monsters.BigSlime || npc is StardewValley.Monsters.Bug || npc is StardewValley.Monsters.Cat || npc is StardewValley.Monsters.Crow || npc is StardewValley.Monsters.Duggy || npc is StardewValley.Monsters.DustSpirit || npc is StardewValley.Monsters.Fireball || npc is StardewValley.Monsters.Fly || npc is StardewValley.Monsters.Ghost || npc is StardewValley.Monsters.GoblinPeasant || npc is StardewValley.Monsters.GoblinWizard || npc is StardewValley.Monsters.GreenSlime || npc is StardewValley.Monsters.Grub || npc is StardewValley.Monsters.LavaCrab || npc is StardewValley.Monsters.MetalHead || npc is StardewValley.Monsters.Monster || npc is StardewValley.Monsters.Mummy || npc is StardewValley.Monsters.RockCrab || npc is StardewValley.Monsters.RockGolem || npc is StardewValley.Monsters.Serpent || npc is StardewValley.Monsters.ShadowBrute || npc is StardewValley.Monsters.ShadowGirl || npc is StardewValley.Monsters.ShadowGuy || npc is StardewValley.Monsters.ShadowShaman || npc is StardewValley.Monsters.Skeleton || npc is StardewValley.Monsters.SkeletonMage || npc is StardewValley.Monsters.SkeletonWarrior || npc is StardewValley.Monsters.Spiker || npc is StardewValley.Monsters.SquidKid) continue;
|
||||
npc_name = npc.name;
|
||||
npc_current_map_name = location.name;
|
||||
npc_tile_x = npc.getTileX();
|
||||
npc_tile_y = npc.getTileY();
|
||||
string mylocation = Path.Combine(Save_Anywhere_V2.Mod_Core.npc_path, npc.name);
|
||||
string mylocation2 = mylocation;
|
||||
string mylocation3 = mylocation2 + ".txt";
|
||||
string[] mystring3 = new string[20];
|
||||
if (!File.Exists(mylocation3))
|
||||
{
|
||||
|
||||
Log.Info("Save Anywhere: The NPC save info for " + npc_name + " doesn't exist. It will be created when the custom saving method is run. Which is now.");
|
||||
//write out the info to a text file at the end of a day. This will run if it doesnt exist.
|
||||
|
||||
mystring3[0] = "NPC: Save_Anywhere Info. Editing this might break some things.";
|
||||
mystring3[1] = "====================================================================================";
|
||||
|
||||
mystring3[2] = "NPC Name";
|
||||
mystring3[3] = npc_name.ToString();
|
||||
|
||||
mystring3[4] = "NPC Current Map Name";
|
||||
mystring3[5] = npc_current_map_name.ToString();
|
||||
|
||||
mystring3[6] = "NPC X Position";
|
||||
mystring3[7] = npc_tile_x.ToString();
|
||||
|
||||
mystring3[8] = "NPC Y Position";
|
||||
mystring3[9] = npc_tile_y.ToString();
|
||||
|
||||
File.WriteAllLines(mylocation3, mystring3);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
// Console.WriteLine("The custom character save info doesn't exist. It will be created when the custom saving method is run. Which is now.");
|
||||
//write out the info to a text file at the end of a day. This will run if it doesnt exist.
|
||||
mystring3[0] = "NPC: Save_Anywhere Info. Editing this might break some things.";
|
||||
mystring3[1] = "====================================================================================";
|
||||
|
||||
mystring3[2] = "NPC Current Map Name";
|
||||
mystring3[3] = npc_name.ToString();
|
||||
|
||||
mystring3[4] = "NPC Current Map Name";
|
||||
mystring3[5] = npc_current_map_name.ToString();
|
||||
|
||||
mystring3[6] = "NPC X Position";
|
||||
mystring3[7] = npc_tile_x.ToString();
|
||||
|
||||
mystring3[8] = "NPC Y Position";
|
||||
mystring3[9] = npc_tile_y.ToString();
|
||||
File.WriteAllLines(mylocation3, mystring3);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void Load_NPC_Info()
|
||||
{
|
||||
List<NPC> npc_list = new List<NPC>();
|
||||
foreach (var location in Game1.locations)
|
||||
{
|
||||
foreach (var npc in location.characters)
|
||||
{
|
||||
if (npc.IsMonster == true) continue;
|
||||
if (npc is StardewValley.Monsters.Bat || npc is StardewValley.Monsters.BigSlime || npc is StardewValley.Monsters.Bug || npc is StardewValley.Monsters.Cat || npc is StardewValley.Monsters.Crow || npc is StardewValley.Monsters.Duggy || npc is StardewValley.Monsters.DustSpirit || npc is StardewValley.Monsters.Fireball || npc is StardewValley.Monsters.Fly || npc is StardewValley.Monsters.Ghost || npc is StardewValley.Monsters.GoblinPeasant || npc is StardewValley.Monsters.GoblinWizard || npc is StardewValley.Monsters.GreenSlime || npc is StardewValley.Monsters.Grub || npc is StardewValley.Monsters.LavaCrab || npc is StardewValley.Monsters.MetalHead || npc is StardewValley.Monsters.Monster || npc is StardewValley.Monsters.Mummy || npc is StardewValley.Monsters.RockCrab || npc is StardewValley.Monsters.RockGolem || npc is StardewValley.Monsters.Serpent || npc is StardewValley.Monsters.ShadowBrute || npc is StardewValley.Monsters.ShadowGirl || npc is StardewValley.Monsters.ShadowGuy || npc is StardewValley.Monsters.ShadowShaman || npc is StardewValley.Monsters.Skeleton || npc is StardewValley.Monsters.SkeletonMage || npc is StardewValley.Monsters.SkeletonWarrior || npc is StardewValley.Monsters.Spiker || npc is StardewValley.Monsters.SquidKid) continue;
|
||||
if (npc is StardewValley.NPC || npc is StardewValley.Characters.Cat || npc is StardewValley.Characters.Dog) npc_list.Add(npc);
|
||||
}
|
||||
}
|
||||
foreach(var npc in npc_list) {
|
||||
if (npc.IsMonster == true) continue;
|
||||
if (npc is StardewValley.Monsters.Bat || npc is StardewValley.Monsters.BigSlime || npc is StardewValley.Monsters.Bug || npc is StardewValley.Monsters.Cat || npc is StardewValley.Monsters.Crow || npc is StardewValley.Monsters.Duggy || npc is StardewValley.Monsters.DustSpirit || npc is StardewValley.Monsters.Fireball || npc is StardewValley.Monsters.Fly || npc is StardewValley.Monsters.Ghost || npc is StardewValley.Monsters.GoblinPeasant || npc is StardewValley.Monsters.GoblinWizard || npc is StardewValley.Monsters.GreenSlime || npc is StardewValley.Monsters.Grub || npc is StardewValley.Monsters.LavaCrab || npc is StardewValley.Monsters.MetalHead || npc is StardewValley.Monsters.Monster || npc is StardewValley.Monsters.Mummy || npc is StardewValley.Monsters.RockCrab || npc is StardewValley.Monsters.RockGolem || npc is StardewValley.Monsters.Serpent || npc is StardewValley.Monsters.ShadowBrute || npc is StardewValley.Monsters.ShadowGirl || npc is StardewValley.Monsters.ShadowGuy || npc is StardewValley.Monsters.ShadowShaman || npc is StardewValley.Monsters.Skeleton || npc is StardewValley.Monsters.SkeletonMage || npc is StardewValley.Monsters.SkeletonWarrior || npc is StardewValley.Monsters.Spiker || npc is StardewValley.Monsters.SquidKid) continue;
|
||||
|
||||
|
||||
Save_Anywhere_V2.Mod_Core.npc_path = Path.Combine(Save_Anywhere_V2.Mod_Core.player_path, "NPC_Save_Info");
|
||||
if (!Directory.Exists(Save_Anywhere_V2.Mod_Core.npc_path))
|
||||
{
|
||||
Directory.CreateDirectory(Save_Anywhere_V2.Mod_Core.npc_path);
|
||||
}
|
||||
string mylocation = Path.Combine(Save_Anywhere_V2.Mod_Core.npc_path, npc.name);
|
||||
string mylocation2 = mylocation;
|
||||
string mylocation3 = mylocation2 + ".txt";
|
||||
string[] mystring3 = new string[20];
|
||||
if (!File.Exists(mylocation3))
|
||||
{
|
||||
Log.Info("Missing character file?!?");
|
||||
continue;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
string[] readtext = File.ReadAllLines(mylocation3);
|
||||
npc_name = Convert.ToString(readtext[3]);
|
||||
npc_current_map_name = Convert.ToString(readtext[5]);
|
||||
npc_tile_x = Convert.ToInt32(readtext[7]);
|
||||
npc_tile_y = Convert.ToInt32(readtext[9]);
|
||||
npc_point = new Microsoft.Xna.Framework.Point();
|
||||
npc_point.X = npc_tile_x;
|
||||
npc_point.Y = npc_tile_y;
|
||||
if (npc_current_map_name == "" || npc_current_map_name == null) continue;
|
||||
Log.Info("Warped NPC" +npc_name);
|
||||
Game1.warpCharacter((StardewValley.NPC)npc, npc_current_map_name, npc_point, false, true);
|
||||
|
||||
// npc.updateMovement(Game1.getLocationFromName(npc_current_map_name), Game1.currentGameTime);
|
||||
//npc.moveCharacterOnSchedulePath();
|
||||
// npc.dayUpdate(Game1.dayOfMonth);
|
||||
//npc_update(npc, Game1.dayOfMonth);
|
||||
|
||||
// npc.DirectionsToNewLocation = pathfindToNextScheduleLocation(npc, npc.currentLocation.name, npc.getTileX(), npc.getTileY(), npc.currentLocation.name, 52, 99, 3, "", "");
|
||||
// npc.updateMovement(npc.currentLocation,Game1.currentGameTime);
|
||||
//npc.Schedule = npc.getSchedule(Game1.dayOfMonth);
|
||||
//npc.moveCharacterOnSchedulePath();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Save_Anywhere_V2.Mod_Core.npc_warp = true;
|
||||
}
|
||||
private static Stack<Point> addToStackForSchedule(Stack<Point> original, Stack<Point> toAdd)
|
||||
{
|
||||
if (toAdd == null)
|
||||
return original;
|
||||
original = new Stack<Point>((IEnumerable<Point>)original);
|
||||
while (original.Count > 0)
|
||||
toAdd.Push(original.Pop());
|
||||
return toAdd;
|
||||
}
|
||||
private static List<string> getLocationRoute(NPC npc, string startingLocation, string endingLocation)
|
||||
{
|
||||
foreach (List<string> list in routesFromLocationToLocation)
|
||||
{
|
||||
if (Enumerable.First<string>((IEnumerable<string>)list).Equals(startingLocation) && Enumerable.Last<string>((IEnumerable<string>)list).Equals(endingLocation) && (npc.gender == 0 || !list.Contains("BathHouse_MensLocker")) && (npc.gender != 0 || !list.Contains("BathHouse_WomensLocker")))
|
||||
return list;
|
||||
}
|
||||
return (List<string>)null;
|
||||
}
|
||||
private static SchedulePathDescription pathfindToNextScheduleLocation(NPC npc,string startingLocation, int startingX, int startingY, string endingLocation, int endingX, int endingY, int finalFacingDirection, string endBehavior, string endMessage)
|
||||
{
|
||||
Stack<Point> stack = new Stack<Point>();
|
||||
Point startPoint = new Point(startingX, startingY);
|
||||
List<string> list = startingLocation.Equals(endingLocation) ? (List<string>)null : getLocationRoute(npc,startingLocation, endingLocation);
|
||||
if (list != null)
|
||||
{
|
||||
for (int index = 0; index < Enumerable.Count<string>((IEnumerable<string>)list); ++index)
|
||||
{
|
||||
GameLocation locationFromName = Game1.getLocationFromName(list[index]);
|
||||
if (index < Enumerable.Count<string>((IEnumerable<string>)list) - 1)
|
||||
{
|
||||
Point warpPointTo = locationFromName.getWarpPointTo(list[index + 1]);
|
||||
if (warpPointTo.Equals(Point.Zero) || startPoint.Equals(Point.Zero))
|
||||
throw new Exception("schedule pathing tried to find a warp point that doesn't exist.");
|
||||
stack = addToStackForSchedule(stack, PathFindController.findPathForNPCSchedules(startPoint, warpPointTo, locationFromName, 30000));
|
||||
startPoint = locationFromName.getWarpPointTarget(warpPointTo);
|
||||
}
|
||||
else
|
||||
stack = addToStackForSchedule(stack, PathFindController.findPathForNPCSchedules(startPoint, new Point(endingX, endingY), locationFromName, 30000));
|
||||
}
|
||||
}
|
||||
else if (startingLocation.Equals(endingLocation))
|
||||
stack = PathFindController.findPathForNPCSchedules(startPoint, new Point(endingX, endingY), Game1.getLocationFromName(startingLocation), 30000);
|
||||
return new SchedulePathDescription(stack, finalFacingDirection, endBehavior, endMessage);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
using Microsoft.Xna.Framework;
|
||||
using StardewModdingAPI;
|
||||
using StardewValley;
|
||||
using StardewValley.Buildings;
|
||||
using StardewValley.Locations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Save_Anywhere_V2.Save_Utilities
|
||||
{
|
||||
class NPC_Utilities
|
||||
{
|
||||
public static string npc_name;
|
||||
public static int npc_tile_x;
|
||||
public static int npc_tile_y;
|
||||
public static string npc_current_map_name;
|
||||
public static System.Collections.Generic.List<List<string>> routesFromLocationToLocation = new List<List<string>>();
|
||||
public static Microsoft.Xna.Framework.Point npc_point;
|
||||
|
||||
public static void Save_NPC_Info()
|
||||
{
|
||||
Save_Anywhere_V2.Mod_Core.npc_path = Path.Combine(Save_Anywhere_V2.Mod_Core.player_path, "NPC_Save_Info");
|
||||
if (!Directory.Exists(Save_Anywhere_V2.Mod_Core.npc_path))
|
||||
{
|
||||
Directory.CreateDirectory(Save_Anywhere_V2.Mod_Core.npc_path);
|
||||
}
|
||||
foreach (var location in Game1.locations)
|
||||
{
|
||||
foreach (var npc in location.characters)
|
||||
{
|
||||
if (npc.IsMonster == true) continue;
|
||||
if (npc is StardewValley.Monsters.Bat || npc is StardewValley.Monsters.BigSlime || npc is StardewValley.Monsters.Bug || npc is StardewValley.Monsters.Cat || npc is StardewValley.Monsters.Crow || npc is StardewValley.Monsters.Duggy || npc is StardewValley.Monsters.DustSpirit || npc is StardewValley.Monsters.Fireball || npc is StardewValley.Monsters.Fly || npc is StardewValley.Monsters.Ghost || npc is StardewValley.Monsters.GoblinPeasant || npc is StardewValley.Monsters.GoblinWizard || npc is StardewValley.Monsters.GreenSlime || npc is StardewValley.Monsters.Grub || npc is StardewValley.Monsters.LavaCrab || npc is StardewValley.Monsters.MetalHead || npc is StardewValley.Monsters.Monster || npc is StardewValley.Monsters.Mummy || npc is StardewValley.Monsters.RockCrab || npc is StardewValley.Monsters.RockGolem || npc is StardewValley.Monsters.Serpent || npc is StardewValley.Monsters.ShadowBrute || npc is StardewValley.Monsters.ShadowGirl || npc is StardewValley.Monsters.ShadowGuy || npc is StardewValley.Monsters.ShadowShaman || npc is StardewValley.Monsters.Skeleton || npc is StardewValley.Monsters.SkeletonMage || npc is StardewValley.Monsters.SkeletonWarrior || npc is StardewValley.Monsters.Spiker || npc is StardewValley.Monsters.SquidKid) continue;
|
||||
npc_name = npc.name;
|
||||
npc_current_map_name = location.name;
|
||||
npc_tile_x = npc.getTileX();
|
||||
npc_tile_y = npc.getTileY();
|
||||
string mylocation = Path.Combine(Save_Anywhere_V2.Mod_Core.npc_path, npc.name);
|
||||
string mylocation2 = mylocation;
|
||||
string mylocation3 = mylocation2 + ".txt";
|
||||
string[] mystring3 = new string[20];
|
||||
if (!File.Exists(mylocation3))
|
||||
{
|
||||
|
||||
Log.Info("Save Anywhere: The NPC save info for " + npc_name + " doesn't exist. It will be created when the custom saving method is run. Which is now.");
|
||||
//write out the info to a text file at the end of a day. This will run if it doesnt exist.
|
||||
|
||||
mystring3[0] = "NPC: Save_Anywhere Info. Editing this might break some things.";
|
||||
mystring3[1] = "====================================================================================";
|
||||
|
||||
mystring3[2] = "NPC Name";
|
||||
mystring3[3] = npc_name.ToString();
|
||||
|
||||
mystring3[4] = "NPC Current Map Name";
|
||||
mystring3[5] = npc_current_map_name.ToString();
|
||||
|
||||
mystring3[6] = "NPC X Position";
|
||||
mystring3[7] = npc_tile_x.ToString();
|
||||
|
||||
mystring3[8] = "NPC Y Position";
|
||||
mystring3[9] = npc_tile_y.ToString();
|
||||
|
||||
File.WriteAllLines(mylocation3, mystring3);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
// Console.WriteLine("The custom character save info doesn't exist. It will be created when the custom saving method is run. Which is now.");
|
||||
//write out the info to a text file at the end of a day. This will run if it doesnt exist.
|
||||
mystring3[0] = "NPC: Save_Anywhere Info. Editing this might break some things.";
|
||||
mystring3[1] = "====================================================================================";
|
||||
|
||||
mystring3[2] = "NPC Current Map Name";
|
||||
mystring3[3] = npc_name.ToString();
|
||||
|
||||
mystring3[4] = "NPC Current Map Name";
|
||||
mystring3[5] = npc_current_map_name.ToString();
|
||||
|
||||
mystring3[6] = "NPC X Position";
|
||||
mystring3[7] = npc_tile_x.ToString();
|
||||
|
||||
mystring3[8] = "NPC Y Position";
|
||||
mystring3[9] = npc_tile_y.ToString();
|
||||
File.WriteAllLines(mylocation3, mystring3);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void Load_NPC_Info()
|
||||
{
|
||||
List<NPC> npc_list = new List<NPC>();
|
||||
foreach (var location in Game1.locations)
|
||||
{
|
||||
foreach (var npc in location.characters)
|
||||
{
|
||||
if (npc.IsMonster == true) continue;
|
||||
if (npc is StardewValley.Monsters.Bat || npc is StardewValley.Monsters.BigSlime || npc is StardewValley.Monsters.Bug || npc is StardewValley.Monsters.Cat || npc is StardewValley.Monsters.Crow || npc is StardewValley.Monsters.Duggy || npc is StardewValley.Monsters.DustSpirit || npc is StardewValley.Monsters.Fireball || npc is StardewValley.Monsters.Fly || npc is StardewValley.Monsters.Ghost || npc is StardewValley.Monsters.GoblinPeasant || npc is StardewValley.Monsters.GoblinWizard || npc is StardewValley.Monsters.GreenSlime || npc is StardewValley.Monsters.Grub || npc is StardewValley.Monsters.LavaCrab || npc is StardewValley.Monsters.MetalHead || npc is StardewValley.Monsters.Monster || npc is StardewValley.Monsters.Mummy || npc is StardewValley.Monsters.RockCrab || npc is StardewValley.Monsters.RockGolem || npc is StardewValley.Monsters.Serpent || npc is StardewValley.Monsters.ShadowBrute || npc is StardewValley.Monsters.ShadowGirl || npc is StardewValley.Monsters.ShadowGuy || npc is StardewValley.Monsters.ShadowShaman || npc is StardewValley.Monsters.Skeleton || npc is StardewValley.Monsters.SkeletonMage || npc is StardewValley.Monsters.SkeletonWarrior || npc is StardewValley.Monsters.Spiker || npc is StardewValley.Monsters.SquidKid) continue;
|
||||
if (npc is StardewValley.NPC || npc is StardewValley.Characters.Cat || npc is StardewValley.Characters.Dog) npc_list.Add(npc);
|
||||
}
|
||||
}
|
||||
foreach(var npc in npc_list) {
|
||||
if (npc.IsMonster == true) continue;
|
||||
if (npc is StardewValley.Monsters.Bat || npc is StardewValley.Monsters.BigSlime || npc is StardewValley.Monsters.Bug || npc is StardewValley.Monsters.Cat || npc is StardewValley.Monsters.Crow || npc is StardewValley.Monsters.Duggy || npc is StardewValley.Monsters.DustSpirit || npc is StardewValley.Monsters.Fireball || npc is StardewValley.Monsters.Fly || npc is StardewValley.Monsters.Ghost || npc is StardewValley.Monsters.GoblinPeasant || npc is StardewValley.Monsters.GoblinWizard || npc is StardewValley.Monsters.GreenSlime || npc is StardewValley.Monsters.Grub || npc is StardewValley.Monsters.LavaCrab || npc is StardewValley.Monsters.MetalHead || npc is StardewValley.Monsters.Monster || npc is StardewValley.Monsters.Mummy || npc is StardewValley.Monsters.RockCrab || npc is StardewValley.Monsters.RockGolem || npc is StardewValley.Monsters.Serpent || npc is StardewValley.Monsters.ShadowBrute || npc is StardewValley.Monsters.ShadowGirl || npc is StardewValley.Monsters.ShadowGuy || npc is StardewValley.Monsters.ShadowShaman || npc is StardewValley.Monsters.Skeleton || npc is StardewValley.Monsters.SkeletonMage || npc is StardewValley.Monsters.SkeletonWarrior || npc is StardewValley.Monsters.Spiker || npc is StardewValley.Monsters.SquidKid) continue;
|
||||
|
||||
|
||||
Save_Anywhere_V2.Mod_Core.npc_path = Path.Combine(Save_Anywhere_V2.Mod_Core.player_path, "NPC_Save_Info");
|
||||
if (!Directory.Exists(Save_Anywhere_V2.Mod_Core.npc_path))
|
||||
{
|
||||
Directory.CreateDirectory(Save_Anywhere_V2.Mod_Core.npc_path);
|
||||
}
|
||||
string mylocation = Path.Combine(Save_Anywhere_V2.Mod_Core.npc_path, npc.name);
|
||||
string mylocation2 = mylocation;
|
||||
string mylocation3 = mylocation2 + ".txt";
|
||||
string[] mystring3 = new string[20];
|
||||
if (!File.Exists(mylocation3))
|
||||
{
|
||||
Log.Info("Missing character file?!?");
|
||||
continue;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
string[] readtext = File.ReadAllLines(mylocation3);
|
||||
npc_name = Convert.ToString(readtext[3]);
|
||||
npc_current_map_name = Convert.ToString(readtext[5]);
|
||||
npc_tile_x = Convert.ToInt32(readtext[7]);
|
||||
npc_tile_y = Convert.ToInt32(readtext[9]);
|
||||
npc_point = new Microsoft.Xna.Framework.Point();
|
||||
npc_point.X = npc_tile_x;
|
||||
npc_point.Y = npc_tile_y;
|
||||
if (npc_current_map_name == "" || npc_current_map_name == null) continue;
|
||||
//Log.Info("Warped NPC" +npc_name);
|
||||
Game1.warpCharacter((StardewValley.NPC)npc, npc_current_map_name, npc_point, false, true);
|
||||
|
||||
// npc.updateMovement(Game1.getLocationFromName(npc_current_map_name), Game1.currentGameTime);
|
||||
//npc.moveCharacterOnSchedulePath();
|
||||
// npc.dayUpdate(Game1.dayOfMonth);
|
||||
//npc_update(npc, Game1.dayOfMonth);
|
||||
|
||||
// npc.DirectionsToNewLocation = pathfindToNextScheduleLocation(npc, npc.currentLocation.name, npc.getTileX(), npc.getTileY(), npc.currentLocation.name, 52, 99, 3, "", "");
|
||||
// npc.updateMovement(npc.currentLocation,Game1.currentGameTime);
|
||||
//npc.Schedule = npc.getSchedule(Game1.dayOfMonth);
|
||||
//npc.moveCharacterOnSchedulePath();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Save_Anywhere_V2.Mod_Core.npc_warp = true;
|
||||
}
|
||||
private static Stack<Point> addToStackForSchedule(Stack<Point> original, Stack<Point> toAdd)
|
||||
{
|
||||
if (toAdd == null)
|
||||
return original;
|
||||
original = new Stack<Point>((IEnumerable<Point>)original);
|
||||
while (original.Count > 0)
|
||||
toAdd.Push(original.Pop());
|
||||
return toAdd;
|
||||
}
|
||||
private static List<string> getLocationRoute(NPC npc, string startingLocation, string endingLocation)
|
||||
{
|
||||
foreach (List<string> list in routesFromLocationToLocation)
|
||||
{
|
||||
if (Enumerable.First<string>((IEnumerable<string>)list).Equals(startingLocation) && Enumerable.Last<string>((IEnumerable<string>)list).Equals(endingLocation) && (npc.gender == 0 || !list.Contains("BathHouse_MensLocker")) && (npc.gender != 0 || !list.Contains("BathHouse_WomensLocker")))
|
||||
return list;
|
||||
}
|
||||
return (List<string>)null;
|
||||
}
|
||||
private static SchedulePathDescription pathfindToNextScheduleLocation(NPC npc,string startingLocation, int startingX, int startingY, string endingLocation, int endingX, int endingY, int finalFacingDirection, string endBehavior, string endMessage)
|
||||
{
|
||||
Stack<Point> stack = new Stack<Point>();
|
||||
Point startPoint = new Point(startingX, startingY);
|
||||
List<string> list = startingLocation.Equals(endingLocation) ? (List<string>)null : getLocationRoute(npc,startingLocation, endingLocation);
|
||||
if (list != null)
|
||||
{
|
||||
for (int index = 0; index < Enumerable.Count<string>((IEnumerable<string>)list); ++index)
|
||||
{
|
||||
GameLocation locationFromName = Game1.getLocationFromName(list[index]);
|
||||
if (index < Enumerable.Count<string>((IEnumerable<string>)list) - 1)
|
||||
{
|
||||
Point warpPointTo = locationFromName.getWarpPointTo(list[index + 1]);
|
||||
if (warpPointTo.Equals(Point.Zero) || startPoint.Equals(Point.Zero))
|
||||
throw new Exception("schedule pathing tried to find a warp point that doesn't exist.");
|
||||
stack = addToStackForSchedule(stack, PathFindController.findPathForNPCSchedules(startPoint, warpPointTo, locationFromName, 30000));
|
||||
startPoint = locationFromName.getWarpPointTarget(warpPointTo);
|
||||
}
|
||||
else
|
||||
stack = addToStackForSchedule(stack, PathFindController.findPathForNPCSchedules(startPoint, new Point(endingX, endingY), locationFromName, 30000));
|
||||
}
|
||||
}
|
||||
else if (startingLocation.Equals(endingLocation))
|
||||
stack = PathFindController.findPathForNPCSchedules(startPoint, new Point(endingX, endingY), Game1.getLocationFromName(startingLocation), 30000);
|
||||
return new SchedulePathDescription(stack, finalFacingDirection, endBehavior, endMessage);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,80 +1,81 @@
|
|||
<?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)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{E17855AD-DBAF-49BD-B3E2-9899403252F6}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Save_Anywhere_V2</RootNamespace>
|
||||
<AssemblyName>Save_Anywhere_V2</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<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|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
|
||||
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
|
||||
<Reference Include="Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Graphics.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SerializerUtils">
|
||||
<HintPath>..\..\..\..\..\Downloads\SerializerUtils\SerializerUtils.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Stardew Valley">
|
||||
<HintPath>..\..\..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Stardew Valley.exe</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="StardewModdingAPI, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\..\Downloads\SMAPI-0.40.1.1-3\StardewModdingAPI.exe</HintPath>
|
||||
</Reference>
|
||||
<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="xTile, Version=2.0.4.0, Culture=neutral, PublicKeyToken=null" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Animal_Utilities.cs" />
|
||||
<Compile Include="Config_Utilities.cs" />
|
||||
<Compile Include="Horse_Utility.cs" />
|
||||
<Compile Include="Mod_Core.cs" />
|
||||
<Compile Include="GameUtilities.cs" />
|
||||
<Compile Include="New_Shipping_Menu.cs" />
|
||||
<Compile Include="NPC_Utilities.cs" />
|
||||
<Compile Include="Pet_Utilities.cs" />
|
||||
<Compile Include="Player_Utilities.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</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">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<?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)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{E17855AD-DBAF-49BD-B3E2-9899403252F6}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Save_Anywhere_V2</RootNamespace>
|
||||
<AssemblyName>Save_Anywhere_V2</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<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|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
|
||||
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553" />
|
||||
<Reference Include="Microsoft.Xna.Framework.Graphics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Graphics.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Stardew Valley, Version=1.0.6124.25603, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\SerializerUtilRedux\SerializerUtils\bin\Debug\Stardew Valley.exe</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="StardewModdingAPI, Version=0.40.0.0, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\SerializerUtilRedux\SerializerUtils\bin\Debug\StardewModdingAPI.exe</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="StarDustCore">
|
||||
<HintPath>..\..\OmegasisLIB\OmegasisLIB\bin\Debug\StarDustCore.dll</HintPath>
|
||||
</Reference>
|
||||
<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="xTile, Version=2.0.4.0, Culture=neutral, PublicKeyToken=null" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Animal_Utilities.cs" />
|
||||
<Compile Include="Config_Utilities.cs" />
|
||||
<Compile Include="Horse_Utility.cs" />
|
||||
<Compile Include="Mod_Core.cs" />
|
||||
<Compile Include="GameUtilities.cs" />
|
||||
<Compile Include="New_Shipping_Menu.cs" />
|
||||
<Compile Include="NPC_Utilities.cs" />
|
||||
<Compile Include="Pet_Utilities.cs" />
|
||||
<Compile Include="Player_Utilities.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</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">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,43 +1,45 @@
|
|||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Save_Anywhere_V2.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Save_Anywhere_V2.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Game.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Stardew Valley.exe
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\StardewModdingAPI.exe
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Lidgren.Network.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Xact.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Steamworks.NET.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Game.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Xact.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.csprojResolveAssemblyReference.cache
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Save_Anywhere_V2.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Save_Anywhere_V2.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Game.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Stardew Valley.exe
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\StardewModdingAPI.exe
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Lidgren.Network.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Xact.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Steamworks.NET.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Game.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\StardewModdingAPI.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Xact.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.csprojResolveAssemblyReference.cache
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Save_Anywhere_V2.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Save_Anywhere_V2.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Game.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Stardew Valley.exe
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\StardewModdingAPI.exe
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Lidgren.Network.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Xact.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Steamworks.NET.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Game.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Xact.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.csprojResolveAssemblyReference.cache
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Save_Anywhere_V2.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Save_Anywhere_V2.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Game.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Graphics.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Stardew Valley.exe
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\StardewModdingAPI.exe
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.GamerServices.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Input.Touch.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Lidgren.Network.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Xact.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Steamworks.NET.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Game.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Graphics.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\StardewModdingAPI.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.GamerServices.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Input.Touch.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\Microsoft.Xna.Framework.Xact.xml
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.csprojResolveAssemblyReference.cache
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\obj\Debug\Save_Anywhere_V2.pdb
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\StarDustCore.dll
|
||||
C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\StarDustCore.pdb
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"Name": "Save Anywhere",
|
||||
"Authour": "Alpha_Omegasis",
|
||||
"Version": {
|
||||
"MajorVersion": 2,
|
||||
"MinorVersion": 0,
|
||||
"PatchVersion": 0,
|
||||
"Build": ""
|
||||
},
|
||||
"Description": "Allows the farmer to save almost anywhere.",
|
||||
"UniqueID": "SaveAnywhere",
|
||||
"PerSaveConfigs": false,
|
||||
"EntryDll": "Save_Anywhere_V2.dll"
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("SerializerUtils")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("SerializerUtils")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("f693749e-c232-4e6c-8857-884aea1e3fa9")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
|
@ -0,0 +1,100 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: SerializerUtils.SerializerUtility
|
||||
// Assembly: SerializerUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 1302D1C7-A0C7-48FC-8C60-C8B9A49AF5B0
|
||||
// Assembly location: C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\SerializerUtils.dll
|
||||
|
||||
using StardewModdingAPI;
|
||||
using StardewModdingAPI.Events;
|
||||
using StardewValley;
|
||||
using StardewValley.Characters;
|
||||
using StardewValley.Monsters;
|
||||
using StardewValley.Quests;
|
||||
using StardewValley.TerrainFeatures;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace SerializerUtils
|
||||
{
|
||||
public class SerializerUtility : Mod
|
||||
{
|
||||
protected static Type[] vanillaTypes = new Type[27]
|
||||
{
|
||||
typeof (Tool),
|
||||
typeof (GameLocation),
|
||||
typeof (Crow),
|
||||
typeof (Duggy),
|
||||
typeof (Bug),
|
||||
typeof (BigSlime),
|
||||
typeof (Fireball),
|
||||
typeof (Ghost),
|
||||
typeof (Child),
|
||||
typeof (Pet),
|
||||
typeof (Dog),
|
||||
typeof (StardewValley.Characters.Cat),
|
||||
typeof (Horse),
|
||||
typeof (GreenSlime),
|
||||
typeof (LavaCrab),
|
||||
typeof (RockCrab),
|
||||
typeof (ShadowGuy),
|
||||
typeof (SkeletonMage),
|
||||
typeof (SquidKid),
|
||||
typeof (Grub),
|
||||
typeof (Fly),
|
||||
typeof (DustSpirit),
|
||||
typeof (Quest),
|
||||
typeof (MetalHead),
|
||||
typeof (ShadowGirl),
|
||||
typeof (Monster),
|
||||
typeof (TerrainFeature)
|
||||
};
|
||||
public static Type[] vanillaFarmerTypes = new Type[1]
|
||||
{
|
||||
typeof (Tool)
|
||||
};
|
||||
public static List<Type> newTypes = new List<Type>();
|
||||
public static List<Type> newFarmerTypes = new List<Type>()
|
||||
{
|
||||
typeof (Tool)
|
||||
};
|
||||
|
||||
public override void Entry(params object[] objects)
|
||||
{
|
||||
GameEvents.GameLoaded += new EventHandler(SerializerUtility.Event_GameLoaded);
|
||||
Command.RegisterCommand("include_types", "Includes types to serialize", (string[]) null).CommandFired += new EventHandler<EventArgsCommand>(SerializerUtility.Command_IncludeTypes);
|
||||
}
|
||||
|
||||
public static void Command_IncludeTypes(object sender, EventArgsCommand e)
|
||||
{
|
||||
}
|
||||
|
||||
public static void Event_GameLoaded(object sender, EventArgs e)
|
||||
{
|
||||
Command.CallCommand("include_types");
|
||||
SerializerUtility.InvokeSerializerOverride();
|
||||
}
|
||||
|
||||
public static void InvokeSerializerOverride()
|
||||
{
|
||||
List<Type> list1 = new List<Type>();
|
||||
list1.AddRange((IEnumerable<Type>) SerializerUtility.vanillaTypes);
|
||||
list1.AddRange((IEnumerable<Type>) SerializerUtility.newTypes);
|
||||
List<Type> list2 = new List<Type>();
|
||||
list2.AddRange((IEnumerable<Type>) SerializerUtility.vanillaFarmerTypes);
|
||||
list2.AddRange((IEnumerable<Type>) SerializerUtility.newFarmerTypes);
|
||||
SaveGame.serializer = new XmlSerializer(typeof (SaveGame), list1.ToArray());
|
||||
SaveGame.farmerSerializer = new XmlSerializer(typeof (Farmer), list2.ToArray());
|
||||
}
|
||||
|
||||
public static void AddType(Type t)
|
||||
{
|
||||
SerializerUtility.newTypes.Add(t);
|
||||
}
|
||||
|
||||
public static void AddFarmerType(Type t)
|
||||
{
|
||||
SerializerUtility.newFarmerTypes.Add(t);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<!--Project was exported from assembly: C:\Users\owner\Documents\Visual Studio 2015\Projects\github\Stardew_Valley_Mods\Stardew_Valley_Mods\Save_Anywhere_V2\Save_Anywhere_V2\bin\Debug\SerializerUtils.dll-->
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{46953B23-37FC-4EC0-8A4A-B8B134B41105}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AssemblyName>SerializerUtils</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<ApplicationVersion>1.0.0.0</ApplicationVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<RootNamespace>SerializerUtils</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<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|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Stardew Valley">
|
||||
<HintPath>..\..\..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Stardew Valley.exe</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="StardewModdingAPI">
|
||||
<HintPath>..\..\..\..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\StardewModdingAPI.exe</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="SerializerUtility.cs" />
|
||||
<Compile Include="AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,20 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SerializerUtils", "SerializerUtils.csproj", "{46953B23-37FC-4EC0-8A4A-B8B134B41105}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{46953B23-37FC-4EC0-8A4A-B8B134B41105}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{46953B23-37FC-4EC0-8A4A-B8B134B41105}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{46953B23-37FC-4EC0-8A4A-B8B134B41105}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{46953B23-37FC-4EC0-8A4A-B8B134B41105}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
Loading…
Reference in New Issue