summaryrefslogtreecommitdiff
path: root/src/SMAPI
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2018-12-29 20:09:33 -0500
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2018-12-29 20:09:33 -0500
commitf046091fe637963fd6a8cc8c1324daf81b64899f (patch)
treeadeffec4a5d31503548ef5dead7d67b3bff9e694 /src/SMAPI
parent82beefd8531467de318c1881afd15a258d489f37 (diff)
parentca18a2867b457fd6bfda71d9828884032ecadfb8 (diff)
downloadSMAPI-f046091fe637963fd6a8cc8c1324daf81b64899f.tar.gz
SMAPI-f046091fe637963fd6a8cc8c1324daf81b64899f.tar.bz2
SMAPI-f046091fe637963fd6a8cc8c1324daf81b64899f.zip
Merge branch 'develop' into stable
Diffstat (limited to 'src/SMAPI')
-rw-r--r--src/SMAPI/Constants.cs4
-rw-r--r--src/SMAPI/Enums/LoadStage.cs36
-rw-r--r--src/SMAPI/Events/BuildingListChangedEventArgs.cs3
-rw-r--r--src/SMAPI/Events/ButtonPressedEventArgs.cs2
-rw-r--r--src/SMAPI/Events/ButtonReleasedEventArgs.cs2
-rw-r--r--src/SMAPI/Events/ContentEvents.cs2
-rw-r--r--src/SMAPI/Events/ControlEvents.cs2
-rw-r--r--src/SMAPI/Events/DebrisListChangedEventArgs.cs3
-rw-r--r--src/SMAPI/Events/EventArgsInput.cs2
-rw-r--r--src/SMAPI/Events/GameEvents.cs2
-rw-r--r--src/SMAPI/Events/GraphicsEvents.cs2
-rw-r--r--src/SMAPI/Events/IGameLoopEvents.cs8
-rw-r--r--src/SMAPI/Events/ISpecialisedEvents.cs3
-rw-r--r--src/SMAPI/Events/InputEvents.cs2
-rw-r--r--src/SMAPI/Events/LargeTerrainFeatureListChangedEventArgs.cs3
-rw-r--r--src/SMAPI/Events/LoadStageChangedEventArgs.cs31
-rw-r--r--src/SMAPI/Events/LocationEvents.cs2
-rw-r--r--src/SMAPI/Events/MenuEvents.cs2
-rw-r--r--src/SMAPI/Events/MineEvents.cs2
-rw-r--r--src/SMAPI/Events/ModMessageReceivedEventArgs.cs2
-rw-r--r--src/SMAPI/Events/MultiplayerEvents.cs2
-rw-r--r--src/SMAPI/Events/NpcListChangedEventArgs.cs3
-rw-r--r--src/SMAPI/Events/ObjectListChangedEventArgs.cs3
-rw-r--r--src/SMAPI/Events/OneSecondUpdateTickedEventArgs.cs26
-rw-r--r--src/SMAPI/Events/OneSecondUpdateTickingEventArgs.cs26
-rw-r--r--src/SMAPI/Events/PlayerEvents.cs2
-rw-r--r--src/SMAPI/Events/SaveEvents.cs2
-rw-r--r--src/SMAPI/Events/SpecialisedEvents.cs2
-rw-r--r--src/SMAPI/Events/TerrainFeatureListChangedEventArgs.cs3
-rw-r--r--src/SMAPI/Events/TimeEvents.cs2
-rw-r--r--src/SMAPI/Events/UnvalidatedUpdateTickedEventArgs.cs13
-rw-r--r--src/SMAPI/Events/UnvalidatedUpdateTickingEventArgs.cs13
-rw-r--r--src/SMAPI/Events/UpdateTickedEventArgs.cs13
-rw-r--r--src/SMAPI/Events/UpdateTickingEventArgs.cs13
-rw-r--r--src/SMAPI/Framework/CommandManager.cs2
-rw-r--r--src/SMAPI/Framework/Content/AssetData.cs2
-rw-r--r--src/SMAPI/Framework/Content/AssetDataForDictionary.cs6
-rw-r--r--src/SMAPI/Framework/Content/AssetDataForImage.cs2
-rw-r--r--src/SMAPI/Framework/Content/AssetInfo.cs2
-rw-r--r--src/SMAPI/Framework/Content/ContentCache.cs2
-rw-r--r--src/SMAPI/Framework/ContentCoordinator.cs2
-rw-r--r--src/SMAPI/Framework/ContentManagers/BaseContentManager.cs2
-rw-r--r--src/SMAPI/Framework/ContentManagers/GameContentManager.cs2
-rw-r--r--src/SMAPI/Framework/ContentManagers/ModContentManager.cs2
-rw-r--r--src/SMAPI/Framework/ContentPack.cs2
-rw-r--r--src/SMAPI/Framework/DeprecationManager.cs10
-rw-r--r--src/SMAPI/Framework/Events/EventManager.cs14
-rw-r--r--src/SMAPI/Framework/Events/ManagedEvent.cs6
-rw-r--r--src/SMAPI/Framework/Events/ManagedEventBase.cs2
-rw-r--r--src/SMAPI/Framework/Events/ModEventsBase.cs2
-rw-r--r--src/SMAPI/Framework/Events/ModGameLoopEvents.cs16
-rw-r--r--src/SMAPI/Framework/Events/ModSpecialisedEvents.cs7
-rw-r--r--src/SMAPI/Framework/Input/GamePadStateBuilder.cs2
-rw-r--r--src/SMAPI/Framework/Logging/ConsoleInterceptionManager.cs2
-rw-r--r--src/SMAPI/Framework/Logging/LogFileManager.cs2
-rw-r--r--src/SMAPI/Framework/ModHelpers/CommandHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModHelpers/ContentHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModHelpers/ContentPackHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModHelpers/DataHelper.cs10
-rw-r--r--src/SMAPI/Framework/ModHelpers/ModHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModHelpers/ModRegistryHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModHelpers/MultiplayerHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModHelpers/ReflectionHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModHelpers/TranslationHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/AssemblyDefinitionResolver.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/AssemblyLoader.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/EventFinder.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/FieldFinder.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/MethodFinder.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/PropertyFinder.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/ReferenceToMemberWithUnexpectedTypeFinder.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Finders/ReferenceToMissingMemberFinder.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/ModResolver.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/RewriteHelper.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Rewriters/FieldReplaceRewriter.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Rewriters/FieldToPropertyRewriter.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Rewriters/MethodParentRewriter.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Rewriters/StaticFieldToConstantRewriter.cs2
-rw-r--r--src/SMAPI/Framework/ModLoading/Rewriters/TypeReferenceRewriter.cs2
-rw-r--r--src/SMAPI/Framework/ModRegistry.cs2
-rw-r--r--src/SMAPI/Framework/Monitor.cs2
-rw-r--r--src/SMAPI/Framework/Networking/MultiplayerPeer.cs2
-rw-r--r--src/SMAPI/Framework/Networking/SGalaxyNetClient.cs2
-rw-r--r--src/SMAPI/Framework/Networking/SGalaxyNetServer.cs2
-rw-r--r--src/SMAPI/Framework/Networking/SLidgrenClient.cs2
-rw-r--r--src/SMAPI/Framework/Networking/SLidgrenServer.cs2
-rw-r--r--src/SMAPI/Framework/Patching/GamePatcher.cs2
-rw-r--r--src/SMAPI/Framework/Reflection/CacheEntry.cs6
-rw-r--r--src/SMAPI/Framework/Reflection/InterfaceProxyBuilder.cs2
-rw-r--r--src/SMAPI/Framework/Reflection/InterfaceProxyFactory.cs2
-rw-r--r--src/SMAPI/Framework/Reflection/ReflectedField.cs2
-rw-r--r--src/SMAPI/Framework/Reflection/ReflectedMethod.cs2
-rw-r--r--src/SMAPI/Framework/Reflection/ReflectedProperty.cs2
-rw-r--r--src/SMAPI/Framework/Reflection/Reflector.cs2
-rw-r--r--src/SMAPI/Framework/SCore.cs17
-rw-r--r--src/SMAPI/Framework/SGame.cs379
-rw-r--r--src/SMAPI/Framework/SModHooks.cs2
-rw-r--r--src/SMAPI/Framework/SMultiplayer.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/FieldWatchers/BaseDisposableWatcher.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/FieldWatchers/ComparableListWatcher.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/FieldWatchers/ComparableWatcher.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/FieldWatchers/NetCollectionWatcher.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/FieldWatchers/NetDictionaryWatcher.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/FieldWatchers/NetValueWatcher.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/FieldWatchers/ObservableCollectionWatcher.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/LocationTracker.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/PlayerTracker.cs2
-rw-r--r--src/SMAPI/Framework/StateTracking/WorldLocationsTracker.cs2
-rw-r--r--src/SMAPI/Framework/WatcherCore.cs2
-rw-r--r--src/SMAPI/Metadata/CoreAssetPropagator.cs2
-rw-r--r--src/SMAPI/Metadata/InstructionMetadata.cs2
-rw-r--r--src/SMAPI/Patches/LoadForNewGamePatch.cs109
-rw-r--r--src/SMAPI/Program.cs2
-rw-r--r--src/SMAPI/SemanticVersion.cs4
-rw-r--r--src/SMAPI/StardewModdingAPI.csproj6
-rw-r--r--src/SMAPI/Translation.cs2
-rw-r--r--src/SMAPI/Utilities/SDate.cs2
117 files changed, 647 insertions, 321 deletions
diff --git a/src/SMAPI/Constants.cs b/src/SMAPI/Constants.cs
index 2d67284e..9ceaf11d 100644
--- a/src/SMAPI/Constants.cs
+++ b/src/SMAPI/Constants.cs
@@ -13,7 +13,7 @@ namespace StardewModdingAPI
public static class Constants
{
/*********
- ** Properties
+ ** Fields
*********/
/// <summary>The directory path containing the current save's data (if a save is loaded).</summary>
private static string RawSavePath => Context.IsSaveLoaded ? Path.Combine(Constants.SavesPath, Constants.GetSaveFolderName()) : null;
@@ -29,7 +29,7 @@ namespace StardewModdingAPI
** Public
****/
/// <summary>SMAPI's current semantic version.</summary>
- public static ISemanticVersion ApiVersion { get; } = new Toolkit.SemanticVersion("2.9.3");
+ public static ISemanticVersion ApiVersion { get; } = new Toolkit.SemanticVersion("2.10.0");
/// <summary>The minimum supported version of Stardew Valley.</summary>
public static ISemanticVersion MinimumGameVersion { get; } = new GameVersion("1.3.32");
diff --git a/src/SMAPI/Enums/LoadStage.cs b/src/SMAPI/Enums/LoadStage.cs
new file mode 100644
index 00000000..6ff7de4f
--- /dev/null
+++ b/src/SMAPI/Enums/LoadStage.cs
@@ -0,0 +1,36 @@
+namespace StardewModdingAPI.Enums
+{
+ /// <summary>A low-level stage in the game's loading process.</summary>
+ public enum LoadStage
+ {
+ /// <summary>A save is not loaded or loading.</summary>
+ None,
+
+ /// <summary>The game is creating a new save slot, and has initialised the basic save info.</summary>
+ CreatedBasicInfo,
+
+ /// <summary>The game is creating a new save slot, and has initialised the in-game locations.</summary>
+ CreatedLocations,
+
+ /// <summary>The game is creating a new save slot, and has created the physical save files.</summary>
+ CreatedSaveFile,
+
+ /// <summary>The game is loading a save slot, and has read the raw save data into <see cref="StardewValley.SaveGame.loaded"/>. Not applicable when connecting to a multiplayer host. This is equivalent to <see cref="StardewValley.SaveGame.getLoadEnumerator"/> value 20.</summary>
+ SaveParsed,
+
+ /// <summary>The game is loading a save slot, and has applied the basic save info (including player data). Not applicable when connecting to a multiplayer host. Note that some basic info (like daily luck) is not initialised at this point. This is equivalent to <see cref="StardewValley.SaveGame.getLoadEnumerator"/> value 36.</summary>
+ SaveLoadedBasicInfo,
+
+ /// <summary>The game is loading a save slot, and has applied the in-game location data. Not applicable when connecting to a multiplayer host. This is equivalent to <see cref="StardewValley.SaveGame.getLoadEnumerator"/> value 50.</summary>
+ SaveLoadedLocations,
+
+ /// <summary>The final metadata has been loaded from the save file. This happens before the game applies problem fixes, checks for achievements, starts music, etc. Not applicable when connecting to a multiplayer host.</summary>
+ Preloaded,
+
+ /// <summary>The save is fully loaded, but the world may not be full