From f64365b8cbb7dd5e320b32fce42f4fc3992db840 Mon Sep 17 00:00:00 2001 From: aedenthorn Date: Sat, 23 Jan 2021 02:20:29 -0500 Subject: [PATCH] patio, teleport --- CustomSpousePatio/CustomSpousePatioApi.cs | 1 - CustomSpousePatio/ModConfig.cs | 1 - CustomSpousePatio/ModEntry.cs | 20 ++++++--- CustomSpousePatio/manifest.json | 2 +- .../ICustomSpousePatioApi.cs | 2 +- MapTeleport/ModConfig.cs | 2 +- MapTeleport/ModEntry.cs | 5 +-- MapTeleport/manifest.json | 2 +- MultipleSpouses/Misc.cs | 2 +- SMAPILogGetter/ModConfig.cs | 2 +- SMAPILogGetter/ModEntry.cs | 41 +++++++++++++++--- SMAPILogGetter/manifest.json | 10 ++--- StardewValleyMods.sln | 10 ----- _releases/MapTeleport 0.2.0.zip | Bin 0 -> 8460 bytes _releases/_releases.projitems | 1 + 15 files changed, 65 insertions(+), 36 deletions(-) create mode 100644 _releases/MapTeleport 0.2.0.zip diff --git a/CustomSpousePatio/CustomSpousePatioApi.cs b/CustomSpousePatio/CustomSpousePatioApi.cs index 203a65db..a3536a2f 100644 --- a/CustomSpousePatio/CustomSpousePatioApi.cs +++ b/CustomSpousePatio/CustomSpousePatioApi.cs @@ -1,7 +1,6 @@ using Microsoft.Xna.Framework; using StardewModdingAPI; using StardewValley; -using StardewValley.Objects; using System.Collections.Generic; using System.IO; diff --git a/CustomSpousePatio/ModConfig.cs b/CustomSpousePatio/ModConfig.cs index 6cc0f44e..c817aa1d 100644 --- a/CustomSpousePatio/ModConfig.cs +++ b/CustomSpousePatio/ModConfig.cs @@ -6,6 +6,5 @@ namespace CustomSpousePatio public class ModConfig { public bool EnableMod { get; set; } = true; - public SButton PatioWizardKey { get; set; } = SButton.F8; } } diff --git a/CustomSpousePatio/ModEntry.cs b/CustomSpousePatio/ModEntry.cs index 076bbcea..a3c3ee1d 100644 --- a/CustomSpousePatio/ModEntry.cs +++ b/CustomSpousePatio/ModEntry.cs @@ -196,11 +196,15 @@ public static void LoadSpouseAreaData() } } - else + else if(!outdoorAreas.ContainsKey(area.Key)) { outdoorAreas[area.Key] = area.Value; SMonitor.Log($"Added outdoor area at {area.Value.location} or {area.Value.GetLocation()} for {area.Key}", LogLevel.Debug); } + else + { + SMonitor.Log($"Outdoor area already exists for {area.Key}, not adding duplicate from content pack", LogLevel.Debug); + } } } if(json.tileSheetsToAdd != null) @@ -244,6 +248,7 @@ public static void AddTileSheets() { Texture2D tex = SHelper.Content.Load("Maps/spring_outdoorsTileSheet", ContentSource.GameContent); farm.map.AddTileSheet(new TileSheet("zzz_custom_spouse_default_patio", farm.map, SHelper.Content.GetActualAssetKey("Maps/spring_outdoorsTileSheet", ContentSource.GameContent), new Size(tex.Width / 16, tex.Height / 16), new Size(16, 16))); + farm.map.LoadTileSheets(Game1.mapDisplayDevice); SMonitor.Log($"Added default tilesheet zzz_custom_spouse_default_patio to farm map", LogLevel.Debug); } @@ -357,15 +362,14 @@ public static void ShowSpouseAreas() { specialTiles = new List(area.specialTiles); } - SMonitor.Log($"Adding spouse area for {spouse}: use default tiles: {useDefaultTiles}, special tiles: {specialTiles.Count}", LogLevel.Debug); - - + SMonitor.Log($"Adding spouse area for {spouse}: use default tiles: {useDefaultTiles}, special tiles: {specialTiles.Count}"); if (farm.map.Layers[0].LayerWidth <= x + 3 || farm.map.Layers[0].LayerHeight <= y + 3) { - SMonitor.Log($"Invalid spouse area coordinates {x},{y} for {spouse}", LogLevel.Error); + SMonitor.Log($"Invalid spouse area coordinates {x},{y} for {spouse}", LogLevel.Error); continue; } + /* farm.removeTile(x + 1, y + 3, "Buildings"); farm.removeTile(x + 2, y + 3, "Buildings"); @@ -388,6 +392,12 @@ public static void ShowSpouseAreas() { { TileSheet defaultTilesheet = farm.Map.GetTileSheet("zzz_custom_spouse_default_patio"); int sheetIdx = farm.Map.TileSheets.IndexOf(defaultTilesheet); + SMonitor.Log($"Default custom tilesheet index: {sheetIdx}"); + if(sheetIdx == -1) + { + AddTileSheets(); + sheetIdx = farm.Map.TileSheets.IndexOf(defaultTilesheet); + } string which = area.useTilesOf != null ? area.useTilesOf : spouse; diff --git a/CustomSpousePatio/manifest.json b/CustomSpousePatio/manifest.json index aef2dcbe..b66c6f54 100644 --- a/CustomSpousePatio/manifest.json +++ b/CustomSpousePatio/manifest.json @@ -1,7 +1,7 @@ { "Name": "Custom Spouse Patio", "Author": "aedenthorn", - "Version": "0.7.0", + "Version": "0.7.2", "Description": "Lets you create a custom spouse patio.", "UniqueID": "aedenthorn.CustomSpousePatio", "EntryDll": "CustomSpousePatio.dll", diff --git a/CustomSpousePatioWizard/ICustomSpousePatioApi.cs b/CustomSpousePatioWizard/ICustomSpousePatioApi.cs index 9ed8702a..a1acc18f 100644 --- a/CustomSpousePatioWizard/ICustomSpousePatioApi.cs +++ b/CustomSpousePatioWizard/ICustomSpousePatioApi.cs @@ -7,7 +7,7 @@ public interface ICustomSpousePatioApi Dictionary GetCurrentSpouseAreas(); Dictionary GetDefaultSpouseOffsets(); void RemoveAllSpouseAreas(); - void ReloadSpouseAreaData(); + void ReloadSpouseAreaData(); void AddTileSheets(); void ShowSpouseAreas(); void ReloadPatios(); diff --git a/MapTeleport/ModConfig.cs b/MapTeleport/ModConfig.cs index 982c4664..3ebe5af5 100644 --- a/MapTeleport/ModConfig.cs +++ b/MapTeleport/ModConfig.cs @@ -6,6 +6,6 @@ namespace MapTeleport public class ModConfig { public bool EnableMod { get; set; } = true; - public SButton TeleportKey { get; set; } = SButton.W; + public SButton TeleportKey { get; set; } = SButton.MouseLeft; } } diff --git a/MapTeleport/ModEntry.cs b/MapTeleport/ModEntry.cs index e6ca609c..87c828ae 100644 --- a/MapTeleport/ModEntry.cs +++ b/MapTeleport/ModEntry.cs @@ -30,11 +30,10 @@ public override void Entry(IModHelper helper) else coordinates = Helper.Data.ReadJsonFile("assets/coordinates.json"); - Helper.Events.Input.ButtonReleased += Input_ButtonReleased; + Helper.Events.Input.ButtonPressed += Input_ButtonPressed; } - - private void Input_ButtonReleased(object sender, ButtonReleasedEventArgs e) + private void Input_ButtonPressed(object sender, ButtonPressedEventArgs e) { if (Game1.activeClickableMenu is GameMenu && (Game1.activeClickableMenu as GameMenu).currentTab == GameMenu.mapTab && e.Button == Config.TeleportKey) { diff --git a/MapTeleport/manifest.json b/MapTeleport/manifest.json index 7b86f919..34541b27 100644 --- a/MapTeleport/manifest.json +++ b/MapTeleport/manifest.json @@ -1,7 +1,7 @@ { "Name": "Map Teleport", "Author": "aedenthorn", - "Version": "0.1.3", + "Version": "0.2.0", "Description": "Teleport using the map.", "UniqueID": "aedenthorn.MapTeleport", "EntryDll": "MapTeleport.dll", diff --git a/MultipleSpouses/Misc.cs b/MultipleSpouses/Misc.cs index 4a043fcb..3544160c 100644 --- a/MultipleSpouses/Misc.cs +++ b/MultipleSpouses/Misc.cs @@ -350,7 +350,7 @@ public static Vector2 GetSpouseBedPosition(FarmHouse fh, List allBedmate { int bedWidth = GetBedWidth(fh); Point bedStart = GetBedStart(fh); - int x = 64 + (int)((allBedmates.IndexOf(name)) / (float)(allBedmates.Count) * (bedWidth - 1) * 64); + int x = 64 + (int)((allBedmates.IndexOf(name) + 1) / (float)(allBedmates.Count + 1) * (bedWidth - 1) * 64); return new Vector2(bedStart.X * 64 + x, bedStart.Y * 64 + ModEntry.bedSleepOffset - (GetTopOfHeadSleepOffset(name) * 4)); } public static Vector2 GetFarmerBedPosition(FarmHouse fh) diff --git a/SMAPILogGetter/ModConfig.cs b/SMAPILogGetter/ModConfig.cs index 71ec56f2..e4edd10a 100644 --- a/SMAPILogGetter/ModConfig.cs +++ b/SMAPILogGetter/ModConfig.cs @@ -1,4 +1,4 @@ -namespace CustomChestTypes +namespace SMAPILogGetter { public class ModConfig { diff --git a/SMAPILogGetter/ModEntry.cs b/SMAPILogGetter/ModEntry.cs index c2225c0e..9c52e2d6 100644 --- a/SMAPILogGetter/ModEntry.cs +++ b/SMAPILogGetter/ModEntry.cs @@ -12,7 +12,7 @@ using System.Reflection; using Object = StardewValley.Object; -namespace CustomChestTypes +namespace SMAPILogGetter { public class ModEntry : Mod { @@ -33,15 +33,46 @@ public override void Entry(IModHelper helper) private void GetLogFile(string arg1, string[] arg2) { - string logPath = Path.Combine(Constants.DataPath, "SMAPI-latest.txt"); + string logPath = Path.Combine(Constants.DataPath, "ErrorLogs", "SMAPI-latest.txt"); - if (!Directory.Exists(logPath)) + if (!File.Exists(logPath)) { Monitor.Log($"SMAPI log not found at {logPath}.", LogLevel.Error); return; } - File.Copy(logPath, Helper.DirectoryPath); - Monitor.Log($"SMAPI log not found at {logPath}.", LogLevel.Error); + + if (arg2.Length == 0) + { + File.Copy(logPath, Environment.CurrentDirectory); + Monitor.Log($"Copied SMAPI log to game folder {Environment.CurrentDirectory}.", LogLevel.Alert); + + } + else + { + string cmd = arg2[0].ToLower(); + switch (cmd) + { + case "desktop": + case "dt": + File.Copy(logPath, Environment.GetFolderPath(Environment.SpecialFolder.Desktop)); + Monitor.Log($"Copied SMAPI log to Desktop {Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}.", LogLevel.Alert); + break; + case "copy": + case "cp": + string log = File.ReadAllText(logPath); + if (DesktopClipboard.SetText(log)) + { + Monitor.Log($"Copied SMAPI log to Clipboard.", LogLevel.Alert); + } + else + { + Monitor.Log($"Coulding copy SMAPI log to Clipboard!", LogLevel.Error); + } + + break; + } + } + } } diff --git a/SMAPILogGetter/manifest.json b/SMAPILogGetter/manifest.json index 1f959f1a..f0e46791 100644 --- a/SMAPILogGetter/manifest.json +++ b/SMAPILogGetter/manifest.json @@ -1,17 +1,17 @@ { - "Name": "CustomChestTypes", + "Name": "SMAPI Log Getter", "Author": "aedenthorn", "Version": "0.2.0", - "Description": "Creates custom chest types.", - "UniqueID": "aedenthorn.CustomChestTypes", - "EntryDll": "CustomChestTypes.dll", + "Description": "Get the current SMAPI log.", + "UniqueID": "aedenthorn.SMAPILogGetter", + "EntryDll": "SMAPILogGetter.dll", "MinimumApiVersion": "3.8.0", "UpdateKeys": ["Nexus:"], "ModUpdater": { "Repository": "StardewValleyMods", "User": "aedenthorn", "Directory": "_releases", - "ModFolder": "CustomChestTypes" + "ModFolder": "SMAPILogGetter" }, "Dependencies": [ { diff --git a/StardewValleyMods.sln b/StardewValleyMods.sln index bd53f23c..31f4cf55 100644 --- a/StardewValleyMods.sln +++ b/StardewValleyMods.sln @@ -113,8 +113,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomChestTypes", "CustomC EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuickLoad", "QuickLoad\QuickLoad.csproj", "{BFD18E09-430C-46A7-A9A3-2C394B95BE44}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SMAPILogGetter", "SMAPILogGetter\SMAPILogGetter.csproj", "{810A9C88-312C-4AFD-A3D8-1C2B155AC581}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomSpousePatioWizard", "CustomSpousePatioWizard\CustomSpousePatioWizard.csproj", "{71A75702-CEC2-4BF0-8961-0C5C733B8721}" EndProject Global @@ -560,14 +558,6 @@ Global {BFD18E09-430C-46A7-A9A3-2C394B95BE44}.Release|Any CPU.Build.0 = Release|Any CPU {BFD18E09-430C-46A7-A9A3-2C394B95BE44}.Release|x86.ActiveCfg = Release|Any CPU {BFD18E09-430C-46A7-A9A3-2C394B95BE44}.Release|x86.Build.0 = Release|Any CPU - {810A9C88-312C-4AFD-A3D8-1C2B155AC581}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {810A9C88-312C-4AFD-A3D8-1C2B155AC581}.Debug|Any CPU.Build.0 = Debug|Any CPU - {810A9C88-312C-4AFD-A3D8-1C2B155AC581}.Debug|x86.ActiveCfg = Debug|Any CPU - {810A9C88-312C-4AFD-A3D8-1C2B155AC581}.Debug|x86.Build.0 = Debug|Any CPU - {810A9C88-312C-4AFD-A3D8-1C2B155AC581}.Release|Any CPU.ActiveCfg = Release|Any CPU - {810A9C88-312C-4AFD-A3D8-1C2B155AC581}.Release|Any CPU.Build.0 = Release|Any CPU - {810A9C88-312C-4AFD-A3D8-1C2B155AC581}.Release|x86.ActiveCfg = Release|Any CPU - {810A9C88-312C-4AFD-A3D8-1C2B155AC581}.Release|x86.Build.0 = Release|Any CPU {71A75702-CEC2-4BF0-8961-0C5C733B8721}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {71A75702-CEC2-4BF0-8961-0C5C733B8721}.Debug|Any CPU.Build.0 = Debug|Any CPU {71A75702-CEC2-4BF0-8961-0C5C733B8721}.Debug|x86.ActiveCfg = Debug|Any CPU diff --git a/_releases/MapTeleport 0.2.0.zip b/_releases/MapTeleport 0.2.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..3fbe2351742be5ea3411a716eca4ab5ba48d8ac9 GIT binary patch literal 8460 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 literal 0 HcmV?d00001 diff --git a/_releases/_releases.projitems b/_releases/_releases.projitems index 50fabe44..21b2417c 100644 --- a/_releases/_releases.projitems +++ b/_releases/_releases.projitems @@ -35,6 +35,7 @@ +