From 929dccb75a1405737975d76648e015a3e7c00177 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sat, 7 Oct 2017 23:07:10 -0400 Subject: reorganise repo structure --- src/.editorconfig | 68 - src/GlobalAssemblyInfo.cs | 6 - src/ModBuildConfig/README.md | 121 ++ src/ModBuildConfig/assets/nuget-icon.pdn | Bin 0 -> 7401 bytes src/ModBuildConfig/assets/nuget-icon.png | Bin 0 -> 5054 bytes src/ModBuildConfig/build/smapi.targets | 273 +++ src/ModBuildConfig/package.nuspec | 22 + src/ModBuildConfig/release-notes.md | 28 + .../Properties/AssemblyInfo.cs | 7 + src/SMAPI.AssemblyRewriters/SpriteBatchMethods.cs | 59 + .../StardewModdingAPI.AssemblyRewriters.csproj | 44 + src/SMAPI.Installer/Enums/Platform.cs | 12 + src/SMAPI.Installer/Enums/ScriptAction.cs | 12 + src/SMAPI.Installer/InteractiveInstaller.cs | 740 +++++++ src/SMAPI.Installer/Program.cs | 17 + src/SMAPI.Installer/Properties/AssemblyInfo.cs | 6 + .../StardewModdingAPI.Installer.csproj | 56 + src/SMAPI.Installer/readme.txt | 44 + src/SMAPI.Models/ModInfoModel.cs | 48 + src/SMAPI.Models/ModSeachModel.cs | 30 + .../StardewModdingAPI.Models.projitems | 15 + src/SMAPI.Models/StardewModdingAPI.Models.shproj | 13 + src/SMAPI.Tests/Core/ModResolverTests.cs | 556 ++++++ src/SMAPI.Tests/Core/TranslationTests.cs | 356 ++++ src/SMAPI.Tests/Properties/AssemblyInfo.cs | 6 + src/SMAPI.Tests/Sample.cs | 30 + src/SMAPI.Tests/StardewModdingAPI.Tests.csproj | 69 + src/SMAPI.Tests/Utilities/SDateTests.cs | 255 +++ src/SMAPI.Tests/Utilities/SemanticVersionTests.cs | 302 +++ src/SMAPI.Tests/packages.config | 7 + src/SMAPI.Web/Controllers/ModsController.cs | 162 ++ .../Framework/ConfigModels/ModUpdateCheckConfig.cs | 74 + .../Framework/InternalControllerFeatureProvider.cs | 27 + .../Framework/ModRepositories/BaseRepository.cs | 51 + .../ModRepositories/ChucklefishRepository.cs | 92 + .../Framework/ModRepositories/GitHubRepository.cs | 97 + .../Framework/ModRepositories/IModRepository.cs | 24 + .../Framework/ModRepositories/NexusRepository.cs | 89 + src/SMAPI.Web/Framework/RewriteSubdomainRule.cs | 30 + src/SMAPI.Web/Framework/VersionConstraint.cs | 15 + src/SMAPI.Web/Program.cs | 26 + src/SMAPI.Web/Properties/AssemblyInfo.cs | 4 + src/SMAPI.Web/Properties/launchSettings.json | 29 + src/SMAPI.Web/StardewModdingAPI.Web.csproj | 26 + src/SMAPI.Web/Startup.cs | 70 + src/SMAPI.Web/appsettings.Development.json | 10 + src/SMAPI.Web/appsettings.json | 30 + src/SMAPI.sln | 138 ++ src/SMAPI.sln.DotSettings | 19 + src/SMAPI/App.config | 9 + src/SMAPI/Constants.cs | 169 ++ src/SMAPI/ContentSource.cs | 12 + src/SMAPI/Context.cs | 37 + src/SMAPI/Events/ChangeType.cs | 15 + src/SMAPI/Events/ContentEvents.cs | 29 + src/SMAPI/Events/ControlEvents.cs | 112 ++ src/SMAPI/Events/EventArgsClickableMenuChanged.cs | 31 + src/SMAPI/Events/EventArgsClickableMenuClosed.cs | 26 + .../Events/EventArgsControllerButtonPressed.cs | 32 + .../Events/EventArgsControllerButtonReleased.cs | 32 + .../Events/EventArgsControllerTriggerPressed.cs | 37 + .../Events/EventArgsControllerTriggerReleased.cs | 37 + .../Events/EventArgsCurrentLocationChanged.cs | 31 + src/SMAPI/Events/EventArgsGameLocationsChanged.cs | 27 + src/SMAPI/Events/EventArgsInput.cs | 124 ++ src/SMAPI/Events/EventArgsIntChanged.cs | 29 + src/SMAPI/Events/EventArgsInventoryChanged.cs | 41 + src/SMAPI/Events/EventArgsKeyPressed.cs | 26 + src/SMAPI/Events/EventArgsKeyboardStateChanged.cs | 31 + src/SMAPI/Events/EventArgsLevelUp.cs | 52 + .../Events/EventArgsLocationObjectsChanged.cs | 28 + src/SMAPI/Events/EventArgsMineLevelChanged.cs | 30 + src/SMAPI/Events/EventArgsMouseStateChanged.cs | 42 + src/SMAPI/Events/EventArgsValueChanged.cs | 31 + src/SMAPI/Events/GameEvents.cs | 96 + src/SMAPI/Events/GraphicsEvents.cs | 116 ++ src/SMAPI/Events/InputEvents.cs | 43 + src/SMAPI/Events/ItemStackChange.cs | 20 + src/SMAPI/Events/LocationEvents.cs | 54 + src/SMAPI/Events/MenuEvents.cs | 40 + src/SMAPI/Events/MineEvents.cs | 28 + src/SMAPI/Events/PlayerEvents.cs | 43 + src/SMAPI/Events/SaveEvents.cs | 56 + src/SMAPI/Events/TimeEvents.cs | 37 + src/SMAPI/Framework/Command.cs | 40 + src/SMAPI/Framework/CommandManager.cs | 116 ++ src/SMAPI/Framework/Content/AssetData.cs | 44 + .../Framework/Content/AssetDataForDictionary.cs | 45 + src/SMAPI/Framework/Content/AssetDataForImage.cs | 70 + src/SMAPI/Framework/Content/AssetDataForObject.cs | 54 + src/SMAPI/Framework/Content/AssetInfo.cs | 82 + src/SMAPI/Framework/ContentManagerShim.cs | 50 + src/SMAPI/Framework/CursorPosition.cs | 35 + src/SMAPI/Framework/DeprecationLevel.cs | 15 + src/SMAPI/Framework/DeprecationManager.cs | 105 + .../Exceptions/SAssemblyLoadFailedException.cs | 16 + .../Framework/Exceptions/SContentLoadException.cs | 18 + src/SMAPI/Framework/Exceptions/SParseException.cs | 17 + src/SMAPI/Framework/GameVersion.cs | 68 + src/SMAPI/Framework/IModMetadata.cs | 47 + src/SMAPI/Framework/InternalExtensions.cs | 131 ++ .../Logging/ConsoleInterceptionManager.cs | 86 + .../Framework/Logging/InterceptingTextWriter.cs | 63 + src/SMAPI/Framework/Logging/LogFileManager.cs | 57 + src/SMAPI/Framework/ModHelpers/BaseHelper.cs | 23 + src/SMAPI/Framework/ModHelpers/CommandHelper.cs | 54 + src/SMAPI/Framework/ModHelpers/ContentHelper.cs | 476 +++++ src/SMAPI/Framework/ModHelpers/ModHelper.cs | 129 ++ .../Framework/ModHelpers/ModRegistryHelper.cs | 48 + src/SMAPI/Framework/ModHelpers/ReflectionHelper.cs | 200 ++ .../Framework/ModHelpers/TranslationHelper.cs | 140 ++ .../ModLoading/AssemblyDefinitionResolver.cs | 61 + .../Framework/ModLoading/AssemblyLoadStatus.cs | 15 + src/SMAPI/Framework/ModLoading/AssemblyLoader.cs | 333 ++++ .../Framework/ModLoading/AssemblyParseResult.cs | 36 + .../Framework/ModLoading/Finders/EventFinder.cs | 82 + .../Framework/ModLoading/Finders/FieldFinder.cs | 82 + .../Framework/ModLoading/Finders/MethodFinder.cs | 82 + .../Framework/ModLoading/Finders/PropertyFinder.cs | 82 + .../Framework/ModLoading/Finders/TypeFinder.cs | 133 ++ .../Framework/ModLoading/IInstructionHandler.cs | 34 + .../ModLoading/IncompatibleInstructionException.cs | 35 + .../ModLoading/InstructionHandleResult.cs | 24 + .../ModLoading/InvalidModStateException.cs | 14 + .../Framework/ModLoading/ModDependencyStatus.cs | 18 + src/SMAPI/Framework/ModLoading/ModMetadata.cs | 68 + .../Framework/ModLoading/ModMetadataStatus.cs | 12 + src/SMAPI/Framework/ModLoading/ModResolver.cs | 366 ++++ src/SMAPI/Framework/ModLoading/Platform.cs | 12 + .../Framework/ModLoading/PlatformAssemblyMap.cs | 55 + src/SMAPI/Framework/ModLoading/RewriteHelper.cs | 94 + .../ModLoading/Rewriters/FieldReplaceRewriter.cs | 50 + .../Rewriters/FieldToPropertyRewriter.cs | 51 + .../ModLoading/Rewriters/MethodParentRewriter.cs | 88 + .../ModLoading/Rewriters/TypeReferenceRewriter.cs | 154 ++ .../Rewriters/VirtualEntryCallRemover.cs | 90 + src/SMAPI/Framework/ModRegistry.cs | 113 ++ src/SMAPI/Framework/Models/Manifest.cs | 47 + src/SMAPI/Framework/Models/ManifestDependency.cs | 34 + src/SMAPI/Framework/Models/ModCompatibility.cs | 55 + src/SMAPI/Framework/Models/ModDataID.cs | 85 + src/SMAPI/Framework/Models/ModDataRecord.cs | 63 + src/SMAPI/Framework/Models/ModStatus.cs | 18 + src/SMAPI/Framework/Models/SConfig.cs | 27 + src/SMAPI/Framework/Monitor.cs | 194 ++ src/SMAPI/Framework/Reflection/CacheEntry.cs | 30 + src/SMAPI/Framework/Reflection/PrivateField.cs | 93 + src/SMAPI/Framework/Reflection/PrivateMethod.cs | 99 + src/SMAPI/Framework/Reflection/PrivateProperty.cs | 93 + src/SMAPI/Framework/Reflection/Reflector.cs | 276 +++ src/SMAPI/Framework/RequestExitDelegate.cs | 7 + src/SMAPI/Framework/SContentManager.cs | 531 +++++ src/SMAPI/Framework/SGame.cs | 1403 +++++++++++++ src/SMAPI/Framework/Serialisation/JsonHelper.cs | 96 + .../Framework/Serialisation/SFieldConverter.cs | 121 ++ .../Serialisation/SelectiveStringEnumConverter.cs | 37 + src/SMAPI/Framework/Utilities/ContextHash.cs | 61 + src/SMAPI/Framework/Utilities/Countdown.cs | 44 + src/SMAPI/Framework/WebApiClient.cs | 73 + src/SMAPI/IAssetData.cs | 47 + src/SMAPI/IAssetDataForDictionary.cs | 26 + src/SMAPI/IAssetDataForImage.cs | 23 + src/SMAPI/IAssetEditor.cs | 17 + src/SMAPI/IAssetInfo.cs | 28 + src/SMAPI/IAssetLoader.cs | 17 + src/SMAPI/ICommandHelper.cs | 26 + src/SMAPI/IContentHelper.cs | 56 + src/SMAPI/ICursorPosition.cs | 17 + src/SMAPI/IManifest.cs | 41 + src/SMAPI/IManifestDependency.cs | 18 + src/SMAPI/IMod.cs | 26 + src/SMAPI/IModHelper.cs | 58 + src/SMAPI/IModLinked.cs | 12 + src/SMAPI/IModRegistry.cs | 20 + src/SMAPI/IMonitor.cs | 25 + src/SMAPI/IPrivateField.cs | 26 + src/SMAPI/IPrivateMethod.cs | 27 + src/SMAPI/IPrivateProperty.cs | 26 + src/SMAPI/IReflectionHelper.cs | 67 + src/SMAPI/ISemanticVersion.cs | 59 + src/SMAPI/ITranslationHelper.cs | 34 + src/SMAPI/LogLevel.cs | 24 + src/SMAPI/Metadata/CoreAssets.cs | 166 ++ src/SMAPI/Metadata/InstructionMetadata.cs | 101 + src/SMAPI/Mod.cs | 50 + src/SMAPI/PatchMode.cs | 12 + src/SMAPI/Program.cs | 966 +++++++++ src/SMAPI/Properties/AssemblyInfo.cs | 9 + src/SMAPI/SemanticVersion.cs | 237 +++ src/SMAPI/StardewModdingAPI.config.json | 2063 ++++++++++++++++++++ src/SMAPI/StardewModdingAPI.csproj | 277 +++ src/SMAPI/Translation.cs | 154 ++ src/SMAPI/Utilities/SButton.cs | 675 +++++++ src/SMAPI/Utilities/SDate.cs | 232 +++ src/SMAPI/icon.ico | Bin 0 -> 15086 bytes src/SMAPI/packages.config | 5 + src/SMAPI/steam_appid.txt | 1 + src/SMAPI/unix-launcher.sh | 88 + .../Properties/AssemblyInfo.cs | 7 - .../SpriteBatchMethods.cs | 59 - .../StardewModdingAPI.AssemblyRewriters.csproj | 44 - src/StardewModdingAPI.Installer/Enums/Platform.cs | 12 - .../Enums/ScriptAction.cs | 12 - .../InteractiveInstaller.cs | 740 ------- src/StardewModdingAPI.Installer/Program.cs | 17 - .../Properties/AssemblyInfo.cs | 6 - .../StardewModdingAPI.Installer.csproj | 56 - src/StardewModdingAPI.Installer/readme.txt | 44 - src/StardewModdingAPI.ModBuildConfig/README.md | 121 -- .../assets/nuget-icon.pdn | Bin 7401 -> 0 bytes .../assets/nuget-icon.png | Bin 5054 -> 0 bytes .../build/smapi.targets | 273 --- .../package.nuspec | 22 - .../release-notes.md | 28 - src/StardewModdingAPI.Models/ModInfoModel.cs | 48 - src/StardewModdingAPI.Models/ModSeachModel.cs | 30 - .../StardewModdingAPI.Models.projitems | 15 - .../StardewModdingAPI.Models.shproj | 13 - .../Core/ModResolverTests.cs | 556 ------ .../Core/TranslationTests.cs | 356 ---- .../Properties/AssemblyInfo.cs | 6 - src/StardewModdingAPI.Tests/Sample.cs | 30 - .../StardewModdingAPI.Tests.csproj | 69 - .../Utilities/SDateTests.cs | 255 --- .../Utilities/SemanticVersionTests.cs | 302 --- src/StardewModdingAPI.Tests/packages.config | 7 - .../Controllers/ModsController.cs | 162 -- .../Framework/ConfigModels/ModUpdateCheckConfig.cs | 74 - .../Framework/InternalControllerFeatureProvider.cs | 27 - .../Framework/ModRepositories/BaseRepository.cs | 51 - .../ModRepositories/ChucklefishRepository.cs | 92 - .../Framework/ModRepositories/GitHubRepository.cs | 97 - .../Framework/ModRepositories/IModRepository.cs | 24 - .../Framework/ModRepositories/NexusRepository.cs | 89 - .../Framework/RewriteSubdomainRule.cs | 30 - .../Framework/VersionConstraint.cs | 15 - src/StardewModdingAPI.Web/Program.cs | 26 - .../Properties/AssemblyInfo.cs | 4 - .../Properties/launchSettings.json | 29 - .../StardewModdingAPI.Web.csproj | 26 - src/StardewModdingAPI.Web/Startup.cs | 70 - .../appsettings.Development.json | 10 - src/StardewModdingAPI.Web/appsettings.json | 30 - src/StardewModdingAPI.sln | 128 -- src/StardewModdingAPI.sln.DotSettings | 19 - src/StardewModdingAPI/App.config | 9 - src/StardewModdingAPI/Constants.cs | 169 -- src/StardewModdingAPI/ContentSource.cs | 12 - src/StardewModdingAPI/Context.cs | 37 - src/StardewModdingAPI/Events/ChangeType.cs | 15 - src/StardewModdingAPI/Events/ContentEvents.cs | 29 - src/StardewModdingAPI/Events/ControlEvents.cs | 112 -- .../Events/EventArgsClickableMenuChanged.cs | 31 - .../Events/EventArgsClickableMenuClosed.cs | 26 - .../Events/EventArgsControllerButtonPressed.cs | 32 - .../Events/EventArgsControllerButtonReleased.cs | 32 - .../Events/EventArgsControllerTriggerPressed.cs | 37 - .../Events/EventArgsControllerTriggerReleased.cs | 37 - .../Events/EventArgsCurrentLocationChanged.cs | 31 - .../Events/EventArgsGameLocationsChanged.cs | 27 - src/StardewModdingAPI/Events/EventArgsInput.cs | 124 -- .../Events/EventArgsIntChanged.cs | 29 - .../Events/EventArgsInventoryChanged.cs | 41 - .../Events/EventArgsKeyPressed.cs | 26 - .../Events/EventArgsKeyboardStateChanged.cs | 31 - src/StardewModdingAPI/Events/EventArgsLevelUp.cs | 52 - .../Events/EventArgsLocationObjectsChanged.cs | 28 - .../Events/EventArgsMineLevelChanged.cs | 30 - .../Events/EventArgsMouseStateChanged.cs | 42 - .../Events/EventArgsValueChanged.cs | 31 - src/StardewModdingAPI/Events/GameEvents.cs | 96 - src/StardewModdingAPI/Events/GraphicsEvents.cs | 116 -- src/StardewModdingAPI/Events/InputEvents.cs | 43 - src/StardewModdingAPI/Events/ItemStackChange.cs | 20 - src/StardewModdingAPI/Events/LocationEvents.cs | 54 - src/StardewModdingAPI/Events/MenuEvents.cs | 40 - src/StardewModdingAPI/Events/MineEvents.cs | 28 - src/StardewModdingAPI/Events/PlayerEvents.cs | 43 - src/StardewModdingAPI/Events/SaveEvents.cs | 56 - src/StardewModdingAPI/Events/TimeEvents.cs | 37 - src/StardewModdingAPI/Framework/Command.cs | 40 - src/StardewModdingAPI/Framework/CommandManager.cs | 116 -- .../Framework/Content/AssetData.cs | 44 - .../Framework/Content/AssetDataForDictionary.cs | 45 - .../Framework/Content/AssetDataForImage.cs | 70 - .../Framework/Content/AssetDataForObject.cs | 54 - .../Framework/Content/AssetInfo.cs | 82 - .../Framework/ContentManagerShim.cs | 50 - src/StardewModdingAPI/Framework/CursorPosition.cs | 35 - .../Framework/DeprecationLevel.cs | 15 - .../Framework/DeprecationManager.cs | 105 - .../Exceptions/SAssemblyLoadFailedException.cs | 16 - .../Framework/Exceptions/SContentLoadException.cs | 18 - .../Framework/Exceptions/SParseException.cs | 17 - src/StardewModdingAPI/Framework/GameVersion.cs | 68 - src/StardewModdingAPI/Framework/IModMetadata.cs | 47 - .../Framework/InternalExtensions.cs | 131 -- .../Logging/ConsoleInterceptionManager.cs | 86 - .../Framework/Logging/InterceptingTextWriter.cs | 63 - .../Framework/Logging/LogFileManager.cs | 57 - .../Framework/ModHelpers/BaseHelper.cs | 23 - .../Framework/ModHelpers/CommandHelper.cs | 54 - .../Framework/ModHelpers/ContentHelper.cs | 476 ----- .../Framework/ModHelpers/ModHelper.cs | 129 -- .../Framework/ModHelpers/ModRegistryHelper.cs | 48 - .../Framework/ModHelpers/ReflectionHelper.cs | 200 -- .../Framework/ModHelpers/TranslationHelper.cs | 140 -- .../ModLoading/AssemblyDefinitionResolver.cs | 61 - .../Framework/ModLoading/AssemblyLoadStatus.cs | 15 - .../Framework/ModLoading/AssemblyLoader.cs | 333 ---- .../Framework/ModLoading/AssemblyParseResult.cs | 36 - .../Framework/ModLoading/Finders/EventFinder.cs | 82 - .../Framework/ModLoading/Finders/FieldFinder.cs | 82 - .../Framework/ModLoading/Finders/MethodFinder.cs | 82 - .../Framework/ModLoading/Finders/PropertyFinder.cs | 82 - .../Framework/ModLoading/Finders/TypeFinder.cs | 133 -- .../Framework/ModLoading/IInstructionHandler.cs | 34 - .../ModLoading/IncompatibleInstructionException.cs | 35 - .../ModLoading/InstructionHandleResult.cs | 24 - .../ModLoading/InvalidModStateException.cs | 14 - .../Framework/ModLoading/ModDependencyStatus.cs | 18 - .../Framework/ModLoading/ModMetadata.cs | 68 - .../Framework/ModLoading/ModMetadataStatus.cs | 12 - .../Framework/ModLoading/ModResolver.cs | 366 ---- .../Framework/ModLoading/Platform.cs | 12 - .../Framework/ModLoading/PlatformAssemblyMap.cs | 55 - .../Framework/ModLoading/RewriteHelper.cs | 94 - .../ModLoading/Rewriters/FieldReplaceRewriter.cs | 50 - .../Rewriters/FieldToPropertyRewriter.cs | 51 - .../ModLoading/Rewriters/MethodParentRewriter.cs | 88 - .../ModLoading/Rewriters/TypeReferenceRewriter.cs | 154 -- .../Rewriters/VirtualEntryCallRemover.cs | 90 - src/StardewModdingAPI/Framework/ModRegistry.cs | 113 -- src/StardewModdingAPI/Framework/Models/Manifest.cs | 47 - .../Framework/Models/ManifestDependency.cs | 34 - .../Framework/Models/ModCompatibility.cs | 55 - .../Framework/Models/ModDataID.cs | 85 - .../Framework/Models/ModDataRecord.cs | 63 - .../Framework/Models/ModStatus.cs | 18 - src/StardewModdingAPI/Framework/Models/SConfig.cs | 27 - src/StardewModdingAPI/Framework/Monitor.cs | 194 -- .../Framework/Reflection/CacheEntry.cs | 30 - .../Framework/Reflection/PrivateField.cs | 93 - .../Framework/Reflection/PrivateMethod.cs | 99 - .../Framework/Reflection/PrivateProperty.cs | 93 - .../Framework/Reflection/Reflector.cs | 276 --- .../Framework/RequestExitDelegate.cs | 7 - src/StardewModdingAPI/Framework/SContentManager.cs | 531 ----- src/StardewModdingAPI/Framework/SGame.cs | 1403 ------------- .../Framework/Serialisation/JsonHelper.cs | 96 - .../Framework/Serialisation/SFieldConverter.cs | 121 -- .../Serialisation/SelectiveStringEnumConverter.cs | 37 - .../Framework/Utilities/ContextHash.cs | 61 - .../Framework/Utilities/Countdown.cs | 44 - src/StardewModdingAPI/Framework/WebApiClient.cs | 73 - src/StardewModdingAPI/IAssetData.cs | 47 - src/StardewModdingAPI/IAssetDataForDictionary.cs | 26 - src/StardewModdingAPI/IAssetDataForImage.cs | 23 - src/StardewModdingAPI/IAssetEditor.cs | 17 - src/StardewModdingAPI/IAssetInfo.cs | 28 - src/StardewModdingAPI/IAssetLoader.cs | 17 - src/StardewModdingAPI/ICommandHelper.cs | 26 - src/StardewModdingAPI/IContentHelper.cs | 56 - src/StardewModdingAPI/ICursorPosition.cs | 17 - src/StardewModdingAPI/IManifest.cs | 41 - src/StardewModdingAPI/IManifestDependency.cs | 18 - src/StardewModdingAPI/IMod.cs | 26 - src/StardewModdingAPI/IModHelper.cs | 58 - src/StardewModdingAPI/IModLinked.cs | 12 - src/StardewModdingAPI/IModRegistry.cs | 20 - src/StardewModdingAPI/IMonitor.cs | 25 - src/StardewModdingAPI/IPrivateField.cs | 26 - src/StardewModdingAPI/IPrivateMethod.cs | 27 - src/StardewModdingAPI/IPrivateProperty.cs | 26 - src/StardewModdingAPI/IReflectionHelper.cs | 67 - src/StardewModdingAPI/ISemanticVersion.cs | 59 - src/StardewModdingAPI/ITranslationHelper.cs | 34 - src/StardewModdingAPI/LogLevel.cs | 24 - src/StardewModdingAPI/Metadata/CoreAssets.cs | 166 -- .../Metadata/InstructionMetadata.cs | 101 - src/StardewModdingAPI/Mod.cs | 50 - src/StardewModdingAPI/PatchMode.cs | 12 - src/StardewModdingAPI/Program.cs | 966 --------- src/StardewModdingAPI/Properties/AssemblyInfo.cs | 9 - src/StardewModdingAPI/SemanticVersion.cs | 237 --- .../StardewModdingAPI.config.json | 2063 -------------------- src/StardewModdingAPI/StardewModdingAPI.csproj | 277 --- src/StardewModdingAPI/Translation.cs | 154 -- src/StardewModdingAPI/Utilities/SButton.cs | 675 ------- src/StardewModdingAPI/Utilities/SDate.cs | 232 --- src/StardewModdingAPI/icon.ico | Bin 15086 -> 0 bytes src/StardewModdingAPI/packages.config | 5 - src/StardewModdingAPI/steam_appid.txt | 1 - src/StardewModdingAPI/unix-launcher.sh | 88 - src/TrainerMod/TrainerMod.csproj | 8 +- src/common.targets | 107 - src/prepare-install-package.targets | 49 - 397 files changed, 19404 insertions(+), 19624 deletions(-) delete mode 100644 src/.editorconfig delete mode 100644 src/GlobalAssemblyInfo.cs create mode 100644 src/ModBuildConfig/README.md create mode 100644 src/ModBuildConfig/assets/nuget-icon.pdn create mode 100644 src/ModBuildConfig/assets/nuget-icon.png create mode 100644 src/ModBuildConfig/build/smapi.targets create mode 100644 src/ModBuildConfig/package.nuspec create mode 100644 src/ModBuildConfig/release-notes.md create mode 100644 src/SMAPI.AssemblyRewriters/Properties/AssemblyInfo.cs create mode 100644 src/SMAPI.AssemblyRewriters/SpriteBatchMethods.cs create mode 100644 src/SMAPI.AssemblyRewriters/StardewModdingAPI.AssemblyRewriters.csproj create mode 100644 src/SMAPI.Installer/Enums/Platform.cs create mode 100644 src/SMAPI.Installer/Enums/ScriptAction.cs create mode 100644 src/SMAPI.Installer/InteractiveInstaller.cs create mode 100644 src/SMAPI.Installer/Program.cs create mode 100644 src/SMAPI.Installer/Properties/AssemblyInfo.cs create mode 100644 src/SMAPI.Installer/StardewModdingAPI.Installer.csproj create mode 100644 src/SMAPI.Installer/readme.txt create mode 100644 src/SMAPI.Models/ModInfoModel.cs create mode 100644 src/SMAPI.Models/ModSeachModel.cs create mode 100644 src/SMAPI.Models/StardewModdingAPI.Models.projitems create mode 100644 src/SMAPI.Models/StardewModdingAPI.Models.shproj create mode 100644 src/SMAPI.Tests/Core/ModResolverTests.cs create mode 100644 src/SMAPI.Tests/Core/TranslationTests.cs create mode 100644 src/SMAPI.Tests/Properties/AssemblyInfo.cs create mode 100644 src/SMAPI.Tests/Sample.cs create mode 100644 src/SMAPI.Tests/StardewModdingAPI.Tests.csproj create mode 100644 src/SMAPI.Tests/Utilities/SDateTests.cs create mode 100644 src/SMAPI.Tests/Utilities/SemanticVersionTests.cs create mode 100644 src/SMAPI.Tests/packages.config create mode 100644 src/SMAPI.Web/Controllers/ModsController.cs create mode 100644 src/SMAPI.Web/Framework/ConfigModels/ModUpdateCheckConfig.cs create mode 100644 src/SMAPI.Web/Framework/InternalControllerFeatureProvider.cs create mode 100644 src/SMAPI.Web/Framework/ModRepositories/BaseRepository.cs create mode 100644 src/SMAPI.Web/Framework/ModRepositories/ChucklefishRepository.cs create mode 100644 src/SMAPI.Web/Framework/ModRepositories/GitHubRepository.cs create mode 100644 src/SMAPI.Web/Framework/ModRepositories/IModRepository.cs create mode 100644 src/SMAPI.Web/Framework/ModRepositories/NexusRepository.cs create mode 100644 src/SMAPI.Web/Framework/RewriteSubdomainRule.cs create mode 100644 src/SMAPI.Web/Framework/VersionConstraint.cs create mode 100644 src/SMAPI.Web/Program.cs create mode 100644 src/SMAPI.Web/Properties/AssemblyInfo.cs create mode 100644 src/SMAPI.Web/Properties/launchSettings.json create mode 100644 src/SMAPI.Web/StardewModdingAPI.Web.csproj create mode 100644 src/SMAPI.Web/Startup.cs create mode 100644 src/SMAPI.Web/appsettings.Development.json create mode 100644 src/SMAPI.Web/appsettings.json create mode 100644 src/SMAPI.sln create mode 100644 src/SMAPI.sln.DotSettings create mode 100644 src/SMAPI/App.config create mode 100644 src/SMAPI/Constants.cs create mode 100644 src/SMAPI/ContentSource.cs create mode 100644 src/SMAPI/Context.cs create mode 100644 src/SMAPI/Events/ChangeType.cs create mode 100644 src/SMAPI/Events/ContentEvents.cs create mode 100644 src/SMAPI/Events/ControlEvents.cs create mode 100644 src/SMAPI/Events/EventArgsClickableMenuChanged.cs create mode 100644 src/SMAPI/Events/EventArgsClickableMenuClosed.cs create mode 100644 src/SMAPI/Events/EventArgsControllerButtonPressed.cs create mode 100644 src/SMAPI/Events/EventArgsControllerButtonReleased.cs create mode 100644 src/SMAPI/Events/EventArgsControllerTriggerPressed.cs create mode 100644 src/SMAPI/Events/EventArgsControllerTriggerReleased.cs create mode 100644 src/SMAPI/Events/EventArgsCurrentLocationChanged.cs create mode 100644 src/SMAPI/Events/EventArgsGameLocationsChanged.cs create mode 100644 src/SMAPI/Events/EventArgsInput.cs create mode 100644 src/SMAPI/Events/EventArgsIntChanged.cs create mode 100644 src/SMAPI/Events/EventArgsInventoryChanged.cs create mode 100644 src/SMAPI/Events/EventArgsKeyPressed.cs create mode 100644 src/SMAPI/Events/EventArgsKeyboardStateChanged.cs create mode 100644 src/SMAPI/Events/EventArgsLevelUp.cs create mode 100644 src/SMAPI/Events/EventArgsLocationObjectsChanged.cs create mode 100644 src/SMAPI/Events/EventArgsMineLevelChanged.cs create mode 100644 src/SMAPI/Events/EventArgsMouseStateChanged.cs create mode 100644 src/SMAPI/Events/EventArgsValueChanged.cs create mode 100644 src/SMAPI/Events/GameEvents.cs create mode 100644 src/SMAPI/Events/GraphicsEvents.cs create mode 100644 src/SMAPI/Events/InputEvents.cs create mode 100644 src/SMAPI/Events/ItemStackChange.cs create mode 100644 src/SMAPI/Events/LocationEvents.cs create mode 100644 src/SMAPI/Events/MenuEvents.cs create mode 100644 src/SMAPI/Events/MineEvents.cs create mode 100644 src/SMAPI/Events/PlayerEvents.cs create mode 100644 src/SMAPI/Events/SaveEvents.cs create mode 100644 src/SMAPI/Events/TimeEvents.cs create mode 100644 src/SMAPI/Framework/Command.cs create mode 100644 src/SMAPI/Framework/CommandManager.cs create mode 100644 src/SMAPI/Framework/Content/AssetData.cs create mode 100644 src/SMAPI/Framework/Content/AssetDataForDictionary.cs create mode 100644 src/SMAPI/Framework/Content/AssetDataForImage.cs create mode 100644 src/SMAPI/Framework/Content/AssetDataForObject.cs create mode 100644 src/SMAPI/Framework/Content/AssetInfo.cs create mode 100644 src/SMAPI/Framework/ContentManagerShim.cs create mode 100644 src/SMAPI/Framework/CursorPosition.cs create mode 100644 src/SMAPI/Framework/DeprecationLevel.cs create mode 100644 src/SMAPI/Framework/DeprecationManager.cs create mode 100644 src/SMAPI/Framework/Exceptions/SAssemblyLoadFailedException.cs create mode 100644 src/SMAPI/Framework/Exceptions/SContentLoadException.cs create mode 100644 src/SMAPI/Framework/Exceptions/SParseException.cs create mode 100644 src/SMAPI/Framework/GameVersion.cs create mode 100644 src/SMAPI/Framework/IModMetadata.cs create mode 100644 src/SMAPI/Framework/InternalExtensions.cs create mode 100644 src/SMAPI/Framework/Logging/ConsoleInterceptionManager.cs create mode 100644 src/SMAPI/Framework/Logging/InterceptingTextWriter.cs create mode 100644 src/SMAPI/Framework/Logging/LogFileManager.cs create mode 100644 src/SMAPI/Framework/ModHelpers/BaseHelper.cs create mode 100644 src/SMAPI/Framework/ModHelpers/CommandHelper.cs create mode 100644 src/SMAPI/Framework/ModHelpers/ContentHelper.cs create mode 100644 src/SMAPI/Framework/ModHelpers/ModHelper.cs create mode 100644 src/SMAPI/Framework/ModHelpers/ModRegistryHelper.cs create mode 100644 src/SMAPI/Framework/ModHelpers/ReflectionHelper.cs create mode 100644 src/SMAPI/Framework/ModHelpers/TranslationHelper.cs create mode 100644 src/SMAPI/Framework/ModLoading/AssemblyDefinitionResolver.cs create mode 100644 src/SMAPI/Framework/ModLoading/AssemblyLoadStatus.cs create mode 100644 src/SMAPI/Framework/ModLoading/AssemblyLoader.cs create mode 100644 src/SMAPI/Framework/ModLoading/AssemblyParseResult.cs create mode 100644 src/SMAPI/Framework/ModLoading/Finders/EventFinder.cs create mode 100644 src/SMAPI/Framework/ModLoading/Finders/FieldFinder.cs create mode 100644 src/SMAPI/Framework/ModLoading/Finders/MethodFinder.cs create mode 100644 src/SMAPI/Framework/ModLoading/Finders/PropertyFinder.cs create mode 100644 src/SMAPI/Framework/ModLoading/Finders/TypeFinder.cs create mode 100644 src/SMAPI/Framework/ModLoading/IInstructionHandler.cs create mode 100644 src/SMAPI/Framework/ModLoading/IncompatibleInstructionException.cs create mode 100644 src/SMAPI/Framework/ModLoading/InstructionHandleResult.cs create mode 100644 src/SMAPI/Framework/ModLoading/InvalidModStateException.cs create mode 100644 src/SMAPI/Framework/ModLoading/ModDependencyStatus.cs create mode 100644 src/SMAPI/Framework/ModLoading/ModMetadata.cs create mode 100644 src/SMAPI/Framework/ModLoading/ModMetadataStatus.cs create mode 100644 src/SMAPI/Framework/ModLoading/ModResolver.cs create mode 100644 src/SMAPI/Framework/ModLoading/Platform.cs create mode 100644 src/SMAPI/Framework/ModLoading/PlatformAssemblyMap.cs create mode 100644 src/SMAPI/Framework/ModLoading/RewriteHelper.cs create mode 100644 src/SMAPI/Framework/ModLoading/Rewriters/FieldReplaceRewriter.cs create mode 100644 src/SMAPI/Framework/ModLoading/Rewriters/FieldToPropertyRewriter.cs create mode 100644 src/SMAPI/Framework/ModLoading/Rewriters/MethodParentRewriter.cs create mode 100644 src/SMAPI/Framework/ModLoading/Rewriters/TypeReferenceRewriter.cs create mode 100644 src/SMAPI/Framework/ModLoading/Rewriters/VirtualEntryCallRemover.cs create mode 100644 src/SMAPI/Framework/ModRegistry.cs create mode 100644 src/SMAPI/Framework/Models/Manifest.cs create mode 100644 src/SMAPI/Framework/Models/ManifestDependency.cs create mode 100644 src/SMAPI/Framework/Models/ModCompatibility.cs create mode 100644 src/SMAPI/Framework/Models/ModDataID.cs create mode 100644 src/SMAPI/Framework/Models/ModDataRecord.cs create mode 100644 src/SMAPI/Framework/Models/ModStatus.cs create mode 100644 src/SMAPI/Framework/Models/SConfig.cs create mode 100644 src/SMAPI/Framework/Monitor.cs create mode 100644 src/SMAPI/Framework/Reflection/CacheEntry.cs create mode 100644 src/SMAPI/Framework/Reflection/PrivateField.cs create mode 100644 src/SMAPI/Framework/Reflection/PrivateMethod.cs create mode 100644 src/SMAPI/Framework/Reflection/PrivateProperty.cs create mode 100644 src/SMAPI/Framework/Reflection/Reflector.cs create mode 100644 src/SMAPI/Framework/RequestExitDelegate.cs create mode 100644 src/SMAPI/Framework/SContentManager.cs create mode 100644 src/SMAPI/Framework/SGame.cs create mode 100644 src/SMAPI/Framework/Serialisation/JsonHelper.cs create mode 100644 src/SMAPI/Framework/Serialisation/SFieldConverter.cs create mode 100644 src/SMAPI/Framework/Serialisation/SelectiveStringEnumConverter.cs create mode 100644 src/SMAPI/Framework/Utilities/ContextHash.cs create mode 100644 src/SMAPI/Framework/Utilities/Countdown.cs create mode 100644 src/SMAPI/Framework/WebApiClient.cs create mode 100644 src/SMAPI/IAssetData.cs create mode 100644 src/SMAPI/IAssetDataForDictionary.cs create mode 100644 src/SMAPI/IAssetDataForImage.cs create mode 100644 src/SMAPI/IAssetEditor.cs create mode 100644 src/SMAPI/IAssetInfo.cs create mode 100644 src/SMAPI/IAssetLoader.cs create mode 100644 src/SMAPI/ICommandHelper.cs create mode 100644 src/SMAPI/IContentHelper.cs create mode 100644 src/SMAPI/ICursorPosition.cs create mode 100644 src/SMAPI/IManifest.cs create mode 100644 src/SMAPI/IManifestDependency.cs create mode 100644 src/SMAPI/IMod.cs create mode 100644 src/SMAPI/IModHelper.cs create mode 100644 src/SMAPI/IModLinked.cs create mode 100644 src/SMAPI/IModRegistry.cs create mode 100644 src/SMAPI/IMonitor.cs create mode 100644 src/SMAPI/IPrivateField.cs create mode 100644 src/SMAPI/IPrivateMethod.cs create mode 100644 src/SMAPI/IPrivateProperty.cs create mode 100644 src/SMAPI/IReflectionHelper.cs create mode 100644 src/SMAPI/ISemanticVersion.cs create mode 100644 src/SMAPI/ITranslationHelper.cs create mode 100644 src/SMAPI/LogLevel.cs create mode 100644 src/SMAPI/Metadata/CoreAssets.cs create mode 100644 src/SMAPI/Metadata/InstructionMetadata.cs create mode 100644 src/SMAPI/Mod.cs create mode 100644 src/SMAPI/PatchMode.cs create mode 100644 src/SMAPI/Program.cs create mode 100644 src/SMAPI/Properties/AssemblyInfo.cs create mode 100644 src/SMAPI/SemanticVersion.cs create mode 100644 src/SMAPI/StardewModdingAPI.config.json create mode 100644 src/SMAPI/StardewModdingAPI.csproj create mode 100644 src/SMAPI/Translation.cs create mode 100644 src/SMAPI/Utilities/SButton.cs create mode 100644 src/SMAPI/Utilities/SDate.cs create mode 100644 src/SMAPI/icon.ico create mode 100644 src/SMAPI/packages.config create mode 100644 src/SMAPI/steam_appid.txt create mode 100644 src/SMAPI/unix-launcher.sh delete mode 100644 src/StardewModdingAPI.AssemblyRewriters/Properties/AssemblyInfo.cs delete mode 100644 src/StardewModdingAPI.AssemblyRewriters/SpriteBatchMethods.cs delete mode 100644 src/StardewModdingAPI.AssemblyRewriters/StardewModdingAPI.AssemblyRewriters.csproj delete mode 100644 src/StardewModdingAPI.Installer/Enums/Platform.cs delete mode 100644 src/StardewModdingAPI.Installer/Enums/ScriptAction.cs delete mode 100644 src/StardewModdingAPI.Installer/InteractiveInstaller.cs delete mode 100644 src/StardewModdingAPI.Installer/Program.cs delete mode 100644 src/StardewModdingAPI.Installer/Properties/AssemblyInfo.cs delete mode 100644 src/StardewModdingAPI.Installer/StardewModdingAPI.Installer.csproj delete mode 100644 src/StardewModdingAPI.Installer/readme.txt delete mode 100644 src/StardewModdingAPI.ModBuildConfig/README.md delete mode 100644 src/StardewModdingAPI.ModBuildConfig/assets/nuget-icon.pdn delete mode 100644 src/StardewModdingAPI.ModBuildConfig/assets/nuget-icon.png delete mode 100644 src/StardewModdingAPI.ModBuildConfig/build/smapi.targets delete mode 100644 src/StardewModdingAPI.ModBuildConfig/package.nuspec delete mode 100644 src/StardewModdingAPI.ModBuildConfig/release-notes.md delete mode 100644 src/StardewModdingAPI.Models/ModInfoModel.cs delete mode 100644 src/StardewModdingAPI.Models/ModSeachModel.cs delete mode 100644 src/StardewModdingAPI.Models/StardewModdingAPI.Models.projitems delete mode 100644 src/StardewModdingAPI.Models/StardewModdingAPI.Models.shproj delete mode 100644 src/StardewModdingAPI.Tests/Core/ModResolverTests.cs delete mode 100644 src/StardewModdingAPI.Tests/Core/TranslationTests.cs delete mode 100644 src/StardewModdingAPI.Tests/Properties/AssemblyInfo.cs delete mode 100644 src/StardewModdingAPI.Tests/Sample.cs delete mode 100644 src/StardewModdingAPI.Tests/StardewModdingAPI.Tests.csproj delete mode 100644 src/StardewModdingAPI.Tests/Utilities/SDateTests.cs delete mode 100644 src/StardewModdingAPI.Tests/Utilities/SemanticVersionTests.cs delete mode 100644 src/StardewModdingAPI.Tests/packages.config delete mode 100644 src/StardewModdingAPI.Web/Controllers/ModsController.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/ConfigModels/ModUpdateCheckConfig.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/InternalControllerFeatureProvider.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/ModRepositories/BaseRepository.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/ModRepositories/ChucklefishRepository.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/ModRepositories/GitHubRepository.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/ModRepositories/IModRepository.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/ModRepositories/NexusRepository.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/RewriteSubdomainRule.cs delete mode 100644 src/StardewModdingAPI.Web/Framework/VersionConstraint.cs delete mode 100644 src/StardewModdingAPI.Web/Program.cs delete mode 100644 src/StardewModdingAPI.Web/Properties/AssemblyInfo.cs delete mode 100644 src/StardewModdingAPI.Web/Properties/launchSettings.json delete mode 100644 src/StardewModdingAPI.Web/StardewModdingAPI.Web.csproj delete mode 100644 src/StardewModdingAPI.Web/Startup.cs delete mode 100644 src/StardewModdingAPI.Web/appsettings.Development.json delete mode 100644 src/StardewModdingAPI.Web/appsettings.json delete mode 100644 src/StardewModdingAPI.sln delete mode 100644 src/StardewModdingAPI.sln.DotSettings delete mode 100644 src/StardewModdingAPI/App.config delete mode 100644 src/StardewModdingAPI/Constants.cs delete mode 100644 src/StardewModdingAPI/ContentSource.cs delete mode 100644 src/StardewModdingAPI/Context.cs delete mode 100644 src/StardewModdingAPI/Events/ChangeType.cs delete mode 100644 src/StardewModdingAPI/Events/ContentEvents.cs delete mode 100644 src/StardewModdingAPI/Events/ControlEvents.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsInput.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsIntChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsKeyPressed.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsLevelUp.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs delete mode 100644 src/StardewModdingAPI/Events/EventArgsValueChanged.cs delete mode 100644 src/StardewModdingAPI/Events/GameEvents.cs delete mode 100644 src/StardewModdingAPI/Events/GraphicsEvents.cs delete mode 100644 src/StardewModdingAPI/Events/InputEvents.cs delete mode 100644 src/StardewModdingAPI/Events/ItemStackChange.cs delete mode 100644 src/StardewModdingAPI/Events/LocationEvents.cs delete mode 100644 src/StardewModdingAPI/Events/MenuEvents.cs delete mode 100644 src/StardewModdingAPI/Events/MineEvents.cs delete mode 100644 src/StardewModdingAPI/Events/PlayerEvents.cs delete mode 100644 src/StardewModdingAPI/Events/SaveEvents.cs delete mode 100644 src/StardewModdingAPI/Events/TimeEvents.cs delete mode 100644 src/StardewModdingAPI/Framework/Command.cs delete mode 100644 src/StardewModdingAPI/Framework/CommandManager.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetData.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetDataForDictionary.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetDataForImage.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetDataForObject.cs delete mode 100644 src/StardewModdingAPI/Framework/Content/AssetInfo.cs delete mode 100644 src/StardewModdingAPI/Framework/ContentManagerShim.cs delete mode 100644 src/StardewModdingAPI/Framework/CursorPosition.cs delete mode 100644 src/StardewModdingAPI/Framework/DeprecationLevel.cs delete mode 100644 src/StardewModdingAPI/Framework/DeprecationManager.cs delete mode 100644 src/StardewModdingAPI/Framework/Exceptions/SAssemblyLoadFailedException.cs delete mode 100644 src/StardewModdingAPI/Framework/Exceptions/SContentLoadException.cs delete mode 100644 src/StardewModdingAPI/Framework/Exceptions/SParseException.cs delete mode 100644 src/StardewModdingAPI/Framework/GameVersion.cs delete mode 100644 src/StardewModdingAPI/Framework/IModMetadata.cs delete mode 100644 src/StardewModdingAPI/Framework/InternalExtensions.cs delete mode 100644 src/StardewModdingAPI/Framework/Logging/ConsoleInterceptionManager.cs delete mode 100644 src/StardewModdingAPI/Framework/Logging/InterceptingTextWriter.cs delete mode 100644 src/StardewModdingAPI/Framework/Logging/LogFileManager.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/BaseHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/CommandHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/ContentHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/ModHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/ModRegistryHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/ReflectionHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModHelpers/TranslationHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/AssemblyDefinitionResolver.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/AssemblyLoadStatus.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/AssemblyLoader.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/AssemblyParseResult.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/EventFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/FieldFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/MethodFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/PropertyFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Finders/TypeFinder.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/IInstructionHandler.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/IncompatibleInstructionException.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/InstructionHandleResult.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/InvalidModStateException.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/ModDependencyStatus.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/ModMetadata.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/ModMetadataStatus.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/ModResolver.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Platform.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/PlatformAssemblyMap.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/RewriteHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/FieldReplaceRewriter.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/FieldToPropertyRewriter.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/MethodParentRewriter.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/TypeReferenceRewriter.cs delete mode 100644 src/StardewModdingAPI/Framework/ModLoading/Rewriters/VirtualEntryCallRemover.cs delete mode 100644 src/StardewModdingAPI/Framework/ModRegistry.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/Manifest.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ManifestDependency.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ModCompatibility.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ModDataID.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ModDataRecord.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/ModStatus.cs delete mode 100644 src/StardewModdingAPI/Framework/Models/SConfig.cs delete mode 100644 src/StardewModdingAPI/Framework/Monitor.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/CacheEntry.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/PrivateField.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/PrivateMethod.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/PrivateProperty.cs delete mode 100644 src/StardewModdingAPI/Framework/Reflection/Reflector.cs delete mode 100644 src/StardewModdingAPI/Framework/RequestExitDelegate.cs delete mode 100644 src/StardewModdingAPI/Framework/SContentManager.cs delete mode 100644 src/StardewModdingAPI/Framework/SGame.cs delete mode 100644 src/StardewModdingAPI/Framework/Serialisation/JsonHelper.cs delete mode 100644 src/StardewModdingAPI/Framework/Serialisation/SFieldConverter.cs delete mode 100644 src/StardewModdingAPI/Framework/Serialisation/SelectiveStringEnumConverter.cs delete mode 100644 src/StardewModdingAPI/Framework/Utilities/ContextHash.cs delete mode 100644 src/StardewModdingAPI/Framework/Utilities/Countdown.cs delete mode 100644 src/StardewModdingAPI/Framework/WebApiClient.cs delete mode 100644 src/StardewModdingAPI/IAssetData.cs delete mode 100644 src/StardewModdingAPI/IAssetDataForDictionary.cs delete mode 100644 src/StardewModdingAPI/IAssetDataForImage.cs delete mode 100644 src/StardewModdingAPI/IAssetEditor.cs delete mode 100644 src/StardewModdingAPI/IAssetInfo.cs delete mode 100644 src/StardewModdingAPI/IAssetLoader.cs delete mode 100644 src/StardewModdingAPI/ICommandHelper.cs delete mode 100644 src/StardewModdingAPI/IContentHelper.cs delete mode 100644 src/StardewModdingAPI/ICursorPosition.cs delete mode 100644 src/StardewModdingAPI/IManifest.cs delete mode 100644 src/StardewModdingAPI/IManifestDependency.cs delete mode 100644 src/StardewModdingAPI/IMod.cs delete mode 100644 src/StardewModdingAPI/IModHelper.cs delete mode 100644 src/StardewModdingAPI/IModLinked.cs delete mode 100644 src/StardewModdingAPI/IModRegistry.cs delete mode 100644 src/StardewModdingAPI/IMonitor.cs delete mode 100644 src/StardewModdingAPI/IPrivateField.cs delete mode 100644 src/StardewModdingAPI/IPrivateMethod.cs delete mode 100644 src/StardewModdingAPI/IPrivateProperty.cs delete mode 100644 src/StardewModdingAPI/IReflectionHelper.cs delete mode 100644 src/StardewModdingAPI/ISemanticVersion.cs delete mode 100644 src/StardewModdingAPI/ITranslationHelper.cs delete mode 100644 src/StardewModdingAPI/LogLevel.cs delete mode 100644 src/StardewModdingAPI/Metadata/CoreAssets.cs delete mode 100644 src/StardewModdingAPI/Metadata/InstructionMetadata.cs delete mode 100644 src/StardewModdingAPI/Mod.cs delete mode 100644 src/StardewModdingAPI/PatchMode.cs delete mode 100644 src/StardewModdingAPI/Program.cs delete mode 100644 src/StardewModdingAPI/Properties/AssemblyInfo.cs delete mode 100644 src/StardewModdingAPI/SemanticVersion.cs delete mode 100644 src/StardewModdingAPI/StardewModdingAPI.config.json delete mode 100644 src/StardewModdingAPI/StardewModdingAPI.csproj delete mode 100644 src/StardewModdingAPI/Translation.cs delete mode 100644 src/StardewModdingAPI/Utilities/SButton.cs delete mode 100644 src/StardewModdingAPI/Utilities/SDate.cs delete mode 100644 src/StardewModdingAPI/icon.ico delete mode 100644 src/StardewModdingAPI/packages.config delete mode 100644 src/StardewModdingAPI/steam_appid.txt delete mode 100644 src/StardewModdingAPI/unix-launcher.sh delete mode 100644 src/common.targets delete mode 100644 src/prepare-install-package.targets (limited to 'src') diff --git a/src/.editorconfig b/src/.editorconfig deleted file mode 100644 index a5cdcf97..00000000 --- a/src/.editorconfig +++ /dev/null @@ -1,68 +0,0 @@ -# topmost editorconfig -root: true - -########## -## General formatting -## documentation: http://editorconfig.org -########## -[*] -indent_style = space -indent_size = 4 -insert_final_newline = true -trim_trailing_whitespace = true -charset = utf-8 - -[*.csproj] -indent_size = 2 -insert_final_newline = false - -[*.json] -indent_size = 2 - -########## -## C# formatting -## documentation: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference -########## -[*.cs] - -#sort 'system' usings first -dotnet_sort_system_directives_first = true - -# use 'this.' qualifier -dotnet_style_qualification_for_field = true:error -dotnet_style_qualification_for_property = true:error -dotnet_style_qualification_for_method = true:error -dotnet_style_qualification_for_event = true:error - -# use language keywords (like int) instead of type (like Int32) -dotnet_style_predefined_type_for_locals_parameters_members = true:error -dotnet_style_predefined_type_for_member_access = true:error - -# don't use 'var' for language keywords -csharp_style_var_for_built_in_types = false:error - -# suggest modern C# features where simpler -dotnet_style_object_initializer = true:suggestion -dotnet_style_collection_initializer = true:suggestion -dotnet_style_coalesce_expression = true:suggestion -dotnet_style_null_propagation = true:suggestion -dotnet_style_explicit_tuple_names = true:suggestion -csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion -csharp_style_pattern_matching_over_as_with_null_check = true:suggestion -csharp_style_conditional_delegate_call = true:suggestion -csharp_prefer_simple_default_expression = true:suggestion - -# prefer method block bodies -csharp_style_expression_bodied_methods = false:suggestion -csharp_style_expression_bodied_constructors = false:suggestion - -# prefer property expression bodies -csharp_style_expression_bodied_properties = true:suggestion -csharp_style_expression_bodied_indexers = true:suggestion -csharp_style_expression_bodied_accessors = true:suggestion - -# prefer inline out variables -csharp_style_inlined_variable_declaration = true:warning - -# avoid superfluous braces -csharp_prefer_braces = false:suggestion diff --git a/src/GlobalAssemblyInfo.cs b/src/GlobalAssemblyInfo.cs deleted file mode 100644 index 196d67c5..00000000 --- a/src/GlobalAssemblyInfo.cs +++ /dev/null @@ -1,6 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: ComVisible(false)] -[assembly: AssemblyVersion("2.0.0.0")] -[assembly: AssemblyFileVersion("2.0.0.0")] diff --git a/src/ModBuildConfig/README.md b/src/ModBuildConfig/README.md new file mode 100644 index 00000000..c261e705 --- /dev/null +++ b/src/ModBuildConfig/README.md @@ -0,0 +1,121 @@ +**Stardew.ModBuildConfig** is an open-source NuGet package which automates the build configuration +for [Stardew Valley](http://stardewvalley.net/) [SMAPI](https://github.com/Pathoschild/SMAPI) mods. + +The package... + +* lets you write your mod once, and compile it on any computer. It detects the current platform + (Linux, Mac, or Windows) and game install path, and injects the right references automatically. +* configures Visual Studio so you can debug into the mod code when the game is running (_Windows + only_). +* packages the mod automatically into the game's mod folder when you build the code (_optional_). + +## Contents +* [Install](#install) +* [Simplify mod development](#simplify-mod-development) +* [Troubleshoot](#troubleshoot) +* [Versions](#versions) + +## Install +**When creating a new mod:** + +1. Create an empty library project. +2. Reference the [`Pathoschild.Stardew.ModBuildConfig` NuGet package](https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig). +3. [Write your code](http://canimod.com/guides/creating-a-smapi-mod). +4. Compile on any platform. + +**When migrating an existing mod:** + +1. Remove any project references to `Microsoft.Xna.*`, `MonoGame`, Stardew Valley, + `StardewModdingAPI`, and `xTile`. +2. Reference the [`Pathoschild.Stardew.ModBuildConfig` NuGet package](https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig). +3. Compile on any platform. + +## Simplify mod development +### Package your mod into the game folder automatically +You can copy your mod files into the `Mods` folder automatically each time you build, so you don't +need to do it manually: + +1. Edit your mod's `.csproj` file. +2. Add this block above the first `` line: + + ```xml + $(MSBuildProjectName) + ``` + +That's it! Each time you build, the files in `\Mods\` will be updated with +your `manifest.json`, build output, and any `i18n` files. + +Notes: +* To add custom files, just [add them to the build output](https://stackoverflow.com/a/10828462/262123). +* To customise the folder name, just replace `$(MSBuildProjectName)` with the folder name you want. +* If your project references another mod, make sure the reference is [_not_ marked 'copy local'](https://msdn.microsoft.com/en-us/library/t1zz5y8c(v=vs.100).aspx). + +### Debug into the mod code (Windows-only) +Stepping into your mod code when the game is running is straightforward, since this package injects +the configuration automatically. To do it: + +1. [Package your mod into the game folder automatically](#package-your-mod-into-the-game-folder-automatically). +2. Launch the project with debugging in Visual Studio or MonoDevelop. + +This will deploy your mod files into the game folder, launch SMAPI, and attach a debugger +automatically. Now you can step through your code, set breakpoints, etc. + +### Create release zips automatically (Windows-only) +You can create the mod package automatically when you build: + +1. Edit your mod's `.csproj` file. +2. Add this block above the first `` line: + + ```xml + $(SolutionDir)\_releases + ``` + +That's it! Each time you build, the mod files will be zipped into `_releases\.zip`. (You +can change the value to save the zips somewhere else.) + +## Troubleshoot +### "Failed to find the game install path" +That error means the package couldn't figure out where the game is installed. You need to specify +the game location yourself. There's two ways to do that: + +* **Option 1: set the path globally.** + _This will apply to every project that uses version 1.5+ of package._ + + 1. Get the full folder path containing the Stardew Valley executable. + 2. Create this file path: + + platform | path + --------- | ---- + Linux/Mac | `~/stardewvalley.targets` + Windows | `%USERPROFILE%\stardewvalley.targets` + + 3. Save the file with this content: + + ```xml + + + PATH_HERE + + + ``` + + 4. Replace `PATH_HERE` with your custom game install path. + +* **Option 2: set the path in the project file.** + _(You'll need to do it for every project that uses the package.)_ + 1. Get the folder path containing the Stardew Valley `.exe` file. + 2. Add this to your `.csproj` file under the ` + PATH_HERE + + ``` + + 3. Replace `PATH_HERE` with your custom game install path. + +The configuration will check your custom path first, then fall back to the default paths (so it'll +still compile on a different computer). + +## Versions +See [release notes](release-notes.md). diff --git a/src/ModBuildConfig/assets/nuget-icon.pdn b/src/ModBuildConfig/assets/nuget-icon.pdn new file mode 100644 index 00000000..7bd5c0c5 Binary files /dev/null and b/src/ModBuildConfig/assets/nuget-icon.pdn differ diff --git a/src/ModBuildConfig/assets/nuget-icon.png b/src/ModBuildConfig/assets/nuget-icon.png new file mode 100644 index 00000000..611cdf88 Binary files /dev/null and b/src/ModBuildConfig/assets/nuget-icon.png differ diff --git a/src/ModBuildConfig/build/smapi.targets b/src/ModBuildConfig/build/smapi.targets new file mode 100644 index 00000000..a1b6aab3 --- /dev/null +++ b/src/ModBuildConfig/build/smapi.targets @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + A build task which packs mod files into a conventional release zip. + public class CreateModReleaseZip : Task, ITask + { + /********* + ** Accessors + *********/ + /// The mod files to pack. + public ITaskItem[] Files { get; set; } + + /// The name of the mod. + public string ModName { get; set; } + + /// The absolute or relative path to the folder which should contain the generated zip file. + public string OutputFolderPath { get; set; } + + + /********* + ** Public methods + *********/ + public override bool Execute() + { + try + { + // create output path if needed + Directory.CreateDirectory(OutputFolderPath); + + // get zip filename + string fileName = string.Format("{0}-{1}.zip", this.ModName, this.GetManifestVersion()); + + // clear old zip file if present + string zipPath = Path.Combine(OutputFolderPath, fileName); + if (File.Exists(zipPath)) + File.Delete(zipPath); + + // create zip file + using (Stream zipStream = new FileStream(zipPath, FileMode.Create, FileAccess.Write)) + using (ZipArchive archive = new ZipArchive(zipStream, ZipArchiveMode.Create)) + { + foreach (ITaskItem file in Files) + { + // get file info + string filePath = file.ItemSpec; + string entryName = ModName + '/' + file.GetMetadata("RecursiveDir") + file.GetMetadata("Filename") + file.GetMetadata("Extension"); + if (new FileInfo(filePath).Directory.Name.Equals("i18n", StringComparison.InvariantCultureIgnoreCase)) + entryName = Path.Combine("i18n", entryName); + + // add to zip + using (Stream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) + using (Stream fileStreamInZip = archive.CreateEntry(entryName).Open()) + { + fileStream.CopyTo(fileStreamInZip); + } + } + } + + return true; + } + catch (Exception ex) + { + Log.LogErrorFromException(ex); + return false; + } + } + + /// Get a semantic version from the mod manifest (if available). + public string GetManifestVersion() + { + // Get the file JSON string + string json = ""; + foreach(ITaskItem file in Files) + { + if(Path.GetFileName(file.ItemSpec).ToLower() != "manifest.json") + continue; + json = File.ReadAllText(file.ItemSpec); + break; + } + + // Serialize the manifest json into a data object, then get a version object from that. + IDictionary data = (IDictionary)new JavaScriptSerializer().DeserializeObject(json); + IDictionary version = (IDictionary)data["Version"]; + + // Store our version numbers for ease of use + int major = (int)version["MajorVersion"]; + int minor = (int)version["MinorVersion"]; + int patch = (int)version["PatchVersion"]; + + return String.Format("{0}.{1}.{2}", major, minor, patch); + } + } + ]]> + + + + + +