From f2ed5c3acb20fef575f497c8bbf9eef052d20871 Mon Sep 17 00:00:00 2001 From: Date: Wed, 6 Jun 2018 01:00:59 -0700 Subject: [PATCH 1/2] Fixed glitch pertaining to the music menu not being able to get a correct album index and crashing. --- .../Framework/Menus/MusicManagerMenu.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/Framework/Menus/MusicManagerMenu.cs b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/Framework/Menus/MusicManagerMenu.cs index f4dc9e6d..4ddf56b5 100644 --- a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/Framework/Menus/MusicManagerMenu.cs +++ b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/Framework/Menus/MusicManagerMenu.cs @@ -386,7 +386,7 @@ namespace StardewSymphonyRemastered.Framework.Menus { try { - Button button = this.musicAlbumButtons.ElementAt(this.currentAlbumIndex + i).clone(); + Button button = this.musicAlbumButtons.ElementAt(Math.Abs((this.currentAlbumIndex + i)%this.musicAlbumButtons.Count)).clone(); button.bounds = new Rectangle((int)placement.X + (i * 100) + offsetX, (int)placement.Y, 64, 64); fancyButtons.Add(button); } @@ -395,7 +395,7 @@ namespace StardewSymphonyRemastered.Framework.Menus err.ToString(); if (this.currentAlbumIndex + i == 0) { - Button button = this.musicAlbumButtons.ElementAt(0).clone(); + Button button = this.musicAlbumButtons.ElementAt(Math.Abs(0 % this.musicAlbumButtons.Count)).clone(); button.bounds = new Rectangle((int)placement.X + (i * 100) + offsetX, (int)placement.Y, 64, 64); fancyButtons.Add(button); } @@ -404,14 +404,14 @@ namespace StardewSymphonyRemastered.Framework.Menus try { - Button button = this.musicAlbumButtons.ElementAt(((this.currentAlbumIndex + i) - this.musicAlbumButtons.Count) % this.musicAlbumButtons.Count).clone(); + Button button = this.musicAlbumButtons.ElementAt(Math.Abs(((this.currentAlbumIndex + i) - this.musicAlbumButtons.Count) % this.musicAlbumButtons.Count)).clone(); button.bounds = new Rectangle((int)placement.X + (i * 100) + offsetX, (int)placement.Y, 64, 64); fancyButtons.Add(button); } catch (Exception err2) { err2.ToString(); - Button button = this.musicAlbumButtons.ElementAt(((this.currentAlbumIndex + i) + this.musicAlbumButtons.Count) % this.musicAlbumButtons.Count).clone(); + Button button = this.musicAlbumButtons.ElementAt(Math.Abs((this.currentAlbumIndex + i) + this.musicAlbumButtons.Count) % this.musicAlbumButtons.Count).clone(); button.bounds = new Rectangle((int)placement.X + (i * 100) + offsetX, (int)placement.Y, 64, 64); fancyButtons.Add(button); From 5b0de7f73656a78452ccb84b6803ed2980ac8f66 Mon Sep 17 00:00:00 2001 From: Date: Thu, 7 Jun 2018 13:58:52 -0700 Subject: [PATCH 2/2] Fixed SDust dynamic warning, and a glitch with the music menu when selecting an album. --- .../Framework/Menus/MusicManagerMenu.cs | 1 + .../StardewSymphonyRemastered/StardewSymphony.cs | 9 ++------- .../StardewSymphonyRemastered/manifest.json | 2 +- GeneralMods/StardustCore/CoreObject.cs | 5 +++++ GeneralMods/StardustCore/Serialization/Serialization.cs | 7 ++++--- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/Framework/Menus/MusicManagerMenu.cs b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/Framework/Menus/MusicManagerMenu.cs index 4ddf56b5..d3418495 100644 --- a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/Framework/Menus/MusicManagerMenu.cs +++ b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/Framework/Menus/MusicManagerMenu.cs @@ -1061,6 +1061,7 @@ namespace StardewSymphonyRemastered.Framework.Menus } } this.selectAlbum(ok); + return; } if (this.drawMode == DrawMode.SongSelectionMode) diff --git a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/StardewSymphony.cs b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/StardewSymphony.cs index 624127f9..af54fc60 100644 --- a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/StardewSymphony.cs +++ b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/StardewSymphony.cs @@ -15,21 +15,16 @@ namespace StardewSymphonyRemastered { /// - /// BIG WIP. Don't use this at all because it does nothing right now. /// TODO: - /// 3.Finish making menu /// 5.Release - /// 6.Make videos documenting how to make this mod work. - /// 7.Make way to generate new music packs. /// /// /// Add mod config to have silent rain option. - /// Add in song delay function. /// Add in shuffle song button that just selects music but probably plays a different song. same as musicManager.selectmusic(getConditionalString); - /// + /// Add in a save button to save settings in the menu. /// /// Notes: - /// All mods must add events/locations/festivals/menu information to this mod during the Entry function of their mod because once the game does it's first update tick, that's when all of the packs are initialized with all of their music. + /// All mods must add events/locations/festivals/menu information to this mod during the Entry function of their mod because once the player is loaded that's when all of the packs are initialized with all of their music. /// public class StardewSymphony : Mod { diff --git a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/manifest.json b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/manifest.json index 29e66f95..d367e1ee 100644 --- a/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/manifest.json +++ b/GeneralMods/StardewSymphonyRemastered/StardewSymphonyRemastered/manifest.json @@ -3,7 +3,7 @@ "Author": "Alpha_Omegasis", "Version": "2.0.0", "Description": "Adding more music to the game one beep at a time. Now with streaming!", - "UniqueID": "Omegasis.StardewSymphony", + "UniqueID": "Omegasis.StardewSymphonyRemastered", "EntryDll": "StardewSymphonyRemastered.dll", "MinimumApiVersion": "2.0", "UpdateKeys": [ "Nexus:425" ], diff --git a/GeneralMods/StardustCore/CoreObject.cs b/GeneralMods/StardustCore/CoreObject.cs index 545b3ee5..d6588d7d 100644 --- a/GeneralMods/StardustCore/CoreObject.cs +++ b/GeneralMods/StardustCore/CoreObject.cs @@ -1516,6 +1516,11 @@ namespace StardustCore */ } + /// + /// Adds an item to this item's internal inventory if it can. Otherwise drop it on the ground as item debris. + /// + /// + /// public virtual bool addItemToInventoryElseDrop(Item I) { diff --git a/GeneralMods/StardustCore/Serialization/Serialization.cs b/GeneralMods/StardustCore/Serialization/Serialization.cs index 6f29510c..da106117 100644 --- a/GeneralMods/StardustCore/Serialization/Serialization.cs +++ b/GeneralMods/StardustCore/Serialization/Serialization.cs @@ -403,7 +403,8 @@ namespace StardustCore.Serialization // Log.AsyncC(data); try { - dynamic obj = JObject.Parse(data); + JObject obj2 = JObject.Parse(data); + CoreObject obj = (CoreObject)obj2.ToObject(typeof(CoreObject)); // Log.AsyncC(obj.thisType); @@ -549,8 +550,8 @@ namespace StardustCore.Serialization // Log.AsyncC(data); try { - dynamic obj = JObject.Parse(data); - + JObject obj2 = JObject.Parse(data); + CoreObject obj =(CoreObject)obj2.ToObject(typeof(CoreObject)); // Log.AsyncC(obj.thisType);