Rename save backup, fix happy birthday, disable net core, add info to symphony for first page of icons.
|
@ -8,7 +8,7 @@
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>Omegasis.SaveBackup</RootNamespace>
|
<RootNamespace>Omegasis.SaveBackup</RootNamespace>
|
||||||
<AssemblyName>SaveBackup</AssemblyName>
|
<AssemblyName>AdvancedSaveBackup</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"Name": "Advanced Save Backup",
|
||||||
|
"Author": "Alpha_Omegasis",
|
||||||
|
"Version": "1.4.0",
|
||||||
|
"Description": "Backs up your save files when loading SMAPI and every in game night when saving.",
|
||||||
|
"UniqueID": "Omegasis.AdvancedSaveBackup",
|
||||||
|
"EntryDll": "AdvancedSaveBackup.dll",
|
||||||
|
"MinimumApiVersion": "2.0",
|
||||||
|
"UpdateKeys": [ "Nexus:435" ]
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
using ModdedUtilitiesNetworking.Framework;
|
|
||||||
using StardewValley;
|
using StardewValley;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,16 @@
|
||||||
using ModdedUtilitiesNetworking.Framework;
|
|
||||||
using StardewValley;
|
using StardewValley;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using static ModdedUtilitiesNetworking.Framework.Delegates.DelegateInfo;
|
|
||||||
|
|
||||||
namespace Omegasis.HappyBirthday.Framework
|
namespace Omegasis.HappyBirthday.Framework
|
||||||
{
|
{
|
||||||
public class MultiplayerSupport
|
public class MultiplayerSupport
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
public static string FSTRING_SendBirthdayMessageToOthers = "Omegasis.HappyBirthday.Framework.Messages.SendBirthdayMessageToOtherPlayers";
|
public static string FSTRING_SendBirthdayMessageToOthers = "Omegasis.HappyBirthday.Framework.Messages.SendBirthdayMessageToOtherPlayers";
|
||||||
|
|
||||||
public static void initializeMultiplayerSupport()
|
public static void initializeMultiplayerSupport()
|
||||||
|
@ -52,5 +51,6 @@ namespace Omegasis.HappyBirthday.Framework
|
||||||
ModdedUtilitiesNetworking.ModCore.multiplayer.sendMessage(FSTRING_SendBirthdayMessageToOthers, ModdedUtilitiesNetworking.Framework.Extentions.StrardewValleyExtentions.MessagesExtentions.HUDMessageIconIdentifier, message, ModdedUtilitiesNetworking.Framework.Enums.MessageTypes.messageTypes.SendToSpecific, f);
|
ModdedUtilitiesNetworking.ModCore.multiplayer.sendMessage(FSTRING_SendBirthdayMessageToOthers, ModdedUtilitiesNetworking.Framework.Extentions.StrardewValleyExtentions.MessagesExtentions.HUDMessageIconIdentifier, message, ModdedUtilitiesNetworking.Framework.Enums.MessageTypes.messageTypes.SendToSpecific, f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,7 +126,7 @@ namespace Omegasis.HappyBirthday
|
||||||
SaveEvents.BeforeSave += this.SaveEvents_BeforeSave;
|
SaveEvents.BeforeSave += this.SaveEvents_BeforeSave;
|
||||||
ControlEvents.KeyPressed += this.ControlEvents_KeyPressed;
|
ControlEvents.KeyPressed += this.ControlEvents_KeyPressed;
|
||||||
|
|
||||||
MultiplayerSupport.initializeMultiplayerSupport();
|
//MultiplayerSupport.initializeMultiplayerSupport();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -197,7 +197,7 @@ namespace Omegasis.HappyBirthday
|
||||||
if (this.IsBirthday())
|
if (this.IsBirthday())
|
||||||
{
|
{
|
||||||
Messages.ShowStarMessage("It's your birthday today! Happy birthday!");
|
Messages.ShowStarMessage("It's your birthday today! Happy birthday!");
|
||||||
MultiplayerSupport.SendBirthdayMessageToOtherPlayers();
|
//MultiplayerSupport.SendBirthdayMessageToOtherPlayers();
|
||||||
|
|
||||||
|
|
||||||
Game1.player.mailbox.Add("birthdayMom");
|
Game1.player.mailbox.Add("birthdayMom");
|
||||||
|
|
|
@ -71,9 +71,6 @@
|
||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ModdedUtilitiesNetworking">
|
|
||||||
<HintPath>..\ModdedUtilitiesNetworking\bin\Release\ModdedUtilitiesNetworking.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
@ -12,11 +12,5 @@
|
||||||
"UniqueID": "Omegasis.HappyBirthday",
|
"UniqueID": "Omegasis.HappyBirthday",
|
||||||
"EntryDll": "HappyBirthday.dll",
|
"EntryDll": "HappyBirthday.dll",
|
||||||
"MinimumApiVersion": "2.0",
|
"MinimumApiVersion": "2.0",
|
||||||
"UpdateKeys": [ "Nexus:520" ],
|
"UpdateKeys": [ "Nexus:520" ]
|
||||||
"Dependencies": [
|
|
||||||
{
|
|
||||||
"UniqueID": "Omegasis.ModdedUtilitiesNetworking",
|
|
||||||
"IsRequired": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ namespace ModdedUtilitiesNetworking.Framework
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
public override void writeObjectFull<T>(BinaryWriter writer, NetRoot<T> root, long? peer)
|
public override void writeObjectFull<T>(BinaryWriter writer, NetRoot<T> root, long? peer)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -38,7 +39,8 @@ namespace ModdedUtilitiesNetworking.Framework
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
/*
|
||||||
public override void readObjectDelta<T>(BinaryReader reader, NetRoot<T> root)
|
public override void readObjectDelta<T>(BinaryReader reader, NetRoot<T> root)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -50,6 +52,7 @@ namespace ModdedUtilitiesNetworking.Framework
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
public override void receiveWorldState(BinaryReader msg)
|
public override void receiveWorldState(BinaryReader msg)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,9 +1,173 @@
|
||||||
using StardewValley.Menus;
|
using Microsoft.Xna.Framework;
|
||||||
|
using Microsoft.Xna.Framework.Graphics;
|
||||||
|
using StardewValley;
|
||||||
|
using StardewValley.BellsAndWhistles;
|
||||||
|
using StardewValley.Menus;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
namespace Omegasis.SaveAnywhere.Framework
|
namespace Omegasis.SaveAnywhere.Framework
|
||||||
{
|
{
|
||||||
/// <summary>A marker subclass to detect when a custom save is in progress.</summary>
|
/// <summary>A marker subclass to detect when a custom save is in progress.</summary>
|
||||||
internal class NewSaveGameMenu : SaveGameMenu {}
|
internal class NewSaveGameMenu : IClickableMenu {
|
||||||
|
|
||||||
|
private int completePause = -1;
|
||||||
|
private int margin = 500;
|
||||||
|
private StringBuilder _stringBuilder = new StringBuilder();
|
||||||
|
private float _ellipsisDelay = 0.5f;
|
||||||
|
private IEnumerator<int> loader;
|
||||||
|
public bool quit;
|
||||||
|
public bool hasDrawn;
|
||||||
|
private SparklingText saveText;
|
||||||
|
private int _ellipsisCount;
|
||||||
|
|
||||||
|
public NewSaveGameMenu()
|
||||||
|
{
|
||||||
|
this.saveText = new SparklingText(Game1.dialogueFont, Game1.content.LoadString("Strings\\StringsFromCSFiles:SaveGameMenu.cs.11378"), Color.LimeGreen, new Color((int)(Color.Black.R * (1.0 / 1000.0)),(int)( Color.Black.G * (1.0 / 1000.0)),(int)( Color.Black.B * (1.0 / 1000.0)),255), false, 0.1, 1500, 32, 500);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void receiveRightClick(int x, int y, bool playSound = true)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void complete()
|
||||||
|
{
|
||||||
|
Game1.playSound("money");
|
||||||
|
this.completePause = 1500;
|
||||||
|
this.loader = (IEnumerator<int>)null;
|
||||||
|
Game1.game1.IsSaving = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void update(GameTime time)
|
||||||
|
{
|
||||||
|
if (this.quit)
|
||||||
|
return;
|
||||||
|
base.update(time);
|
||||||
|
if (Game1.client != null && Game1.client.timedOut)
|
||||||
|
{
|
||||||
|
this.quit = true;
|
||||||
|
if (!Game1.activeClickableMenu.Equals((object)this))
|
||||||
|
return;
|
||||||
|
Game1.player.checkForLevelTenStatus();
|
||||||
|
Game1.exitActiveMenu();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TimeSpan elapsedGameTime;
|
||||||
|
if (this.loader != null)
|
||||||
|
{
|
||||||
|
this.loader.MoveNext();
|
||||||
|
if (this.loader.Current >= 100)
|
||||||
|
{
|
||||||
|
int num = this.margin;
|
||||||
|
elapsedGameTime = time.ElapsedGameTime;
|
||||||
|
int milliseconds = elapsedGameTime.Milliseconds;
|
||||||
|
this.margin = num - milliseconds;
|
||||||
|
if (this.margin <= 0)
|
||||||
|
this.complete();
|
||||||
|
}
|
||||||
|
double num1 = (double)this._ellipsisDelay;
|
||||||
|
elapsedGameTime = time.ElapsedGameTime;
|
||||||
|
double totalSeconds = elapsedGameTime.TotalSeconds;
|
||||||
|
this._ellipsisDelay = (float)(num1 - totalSeconds);
|
||||||
|
if ((double)this._ellipsisDelay <= 0.0)
|
||||||
|
{
|
||||||
|
this._ellipsisDelay = this._ellipsisDelay + 0.75f;
|
||||||
|
this._ellipsisCount = this._ellipsisCount + 1;
|
||||||
|
if (this._ellipsisCount > 3)
|
||||||
|
this._ellipsisCount = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (this.hasDrawn && this.completePause == -1)
|
||||||
|
{
|
||||||
|
Game1.game1.IsSaving = true;
|
||||||
|
if (Game1.IsMasterGame)
|
||||||
|
{
|
||||||
|
if (Game1.saveOnNewDay)
|
||||||
|
{
|
||||||
|
this.loader = SaveGame.Save();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.margin = -1;
|
||||||
|
this.complete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NewSaveGameMenu.saveClientOptions();
|
||||||
|
this.complete();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (this.completePause < 0)
|
||||||
|
return;
|
||||||
|
int num2 = this.completePause;
|
||||||
|
elapsedGameTime = time.ElapsedGameTime;
|
||||||
|
int milliseconds1 = elapsedGameTime.Milliseconds;
|
||||||
|
this.completePause = num2 - milliseconds1;
|
||||||
|
this.saveText.update(time);
|
||||||
|
if (this.completePause >= 0)
|
||||||
|
return;
|
||||||
|
this.quit = true;
|
||||||
|
this.completePause = -9999;
|
||||||
|
if (Game1.activeClickableMenu.Equals((object)this))
|
||||||
|
{
|
||||||
|
Game1.player.checkForLevelTenStatus();
|
||||||
|
Game1.exitActiveMenu();
|
||||||
|
}
|
||||||
|
Game1.currentLocation.resetForPlayerEntry();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void saveClientOptions()
|
||||||
|
{
|
||||||
|
StartupPreferences startupPreferences = new StartupPreferences();
|
||||||
|
int num1 = 0;
|
||||||
|
int num2 = 1;
|
||||||
|
startupPreferences.loadPreferences(num1 != 0, num2 != 0);
|
||||||
|
Options options = Game1.options;
|
||||||
|
startupPreferences.clientOptions = options;
|
||||||
|
int num3 = 0;
|
||||||
|
startupPreferences.savePreferences(num3 != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void draw(SpriteBatch b)
|
||||||
|
{
|
||||||
|
base.draw(b);
|
||||||
|
Vector2 vector2 = Utility.makeSafe(new Vector2(64f, (float)(Game1.viewport.Height - 64)), new Vector2(64f, 64f));
|
||||||
|
if (this.completePause >= 0)
|
||||||
|
{
|
||||||
|
if (Game1.saveOnNewDay)
|
||||||
|
this.saveText.draw(b, vector2);
|
||||||
|
}
|
||||||
|
else if (this.margin < 0 || Game1.IsClient)
|
||||||
|
{
|
||||||
|
this._stringBuilder.Clear();
|
||||||
|
for (int index = 0; index < this._ellipsisCount; ++index)
|
||||||
|
this._stringBuilder.Append(".");
|
||||||
|
b.DrawString(Game1.dialogueFont, this._stringBuilder, vector2, Color.White);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this._stringBuilder.Clear();
|
||||||
|
this._stringBuilder.Append(Game1.content.LoadString("Strings\\StringsFromCSFiles:SaveGameMenu.cs.11381"));
|
||||||
|
for (int index = 0; index < this._ellipsisCount; ++index)
|
||||||
|
this._stringBuilder.Append(".");
|
||||||
|
b.DrawString(Game1.dialogueFont, this._stringBuilder, vector2, Color.White);
|
||||||
|
}
|
||||||
|
this.hasDrawn = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Game1.game1.IsSaving = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ namespace Omegasis.SaveAnywhere.Framework
|
||||||
/// <summary>Clear saved data.</summary>
|
/// <summary>Clear saved data.</summary>
|
||||||
public void ClearData()
|
public void ClearData()
|
||||||
{
|
{
|
||||||
Directory.Delete(this.SavePath, recursive: true);
|
File.Delete(this.SavePath);
|
||||||
this.RemoveLegacyDataForThisPlayer();
|
this.RemoveLegacyDataForThisPlayer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@ namespace Omegasis.SaveAnywhere
|
||||||
/// <param name="helper">Provides simplified APIs for writing mods.</param>
|
/// <param name="helper">Provides simplified APIs for writing mods.</param>
|
||||||
public override void Entry(IModHelper helper)
|
public override void Entry(IModHelper helper)
|
||||||
{
|
{
|
||||||
|
|
||||||
this.Config = helper.ReadConfig<ModConfig>();
|
this.Config = helper.ReadConfig<ModConfig>();
|
||||||
|
|
||||||
SaveEvents.AfterLoad += this.SaveEvents_AfterLoad;
|
SaveEvents.AfterLoad += this.SaveEvents_AfterLoad;
|
||||||
|
@ -100,9 +101,14 @@ namespace Omegasis.SaveAnywhere
|
||||||
/// <param name="e">The event data.</param>
|
/// <param name="e">The event data.</param>
|
||||||
private void GameEvents_UpdateTick(object sender, EventArgs e)
|
private void GameEvents_UpdateTick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
// let save manager run background logic
|
// let save manager run background logic
|
||||||
if (Context.IsWorldReady)
|
if (Context.IsWorldReady)
|
||||||
|
{
|
||||||
|
if (Game1.player.IsMainPlayer == false) return;
|
||||||
this.SaveManager.Update();
|
this.SaveManager.Update();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// reset NPC schedules
|
// reset NPC schedules
|
||||||
if (Context.IsWorldReady && this.ShouldResetSchedules)
|
if (Context.IsWorldReady && this.ShouldResetSchedules)
|
||||||
|
@ -137,19 +143,28 @@ namespace Omegasis.SaveAnywhere
|
||||||
if (!Context.IsPlayerFree)
|
if (!Context.IsPlayerFree)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// initiate save (if valid context)
|
// initiate save (if valid context)
|
||||||
if (e.KeyPressed.ToString() == this.Config.SaveKey)
|
if (e.KeyPressed.ToString() == this.Config.SaveKey)
|
||||||
{
|
{
|
||||||
// validate: community center Junimos can't be saved
|
if (Game1.client==null)
|
||||||
|
|
||||||
if (Game1.player.currentLocation.getCharacters().OfType<Junimo>().Any())
|
|
||||||
{
|
{
|
||||||
Game1.addHUDMessage(new HUDMessage("The spirits don't want you to save here.", HUDMessage.error_type));
|
// validate: community center Junimos can't be saved
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// save
|
if (Game1.player.currentLocation.getCharacters().OfType<Junimo>().Any())
|
||||||
this.SaveManager.BeginSaveData();
|
{
|
||||||
|
Game1.addHUDMessage(new HUDMessage("The spirits don't want you to save here.", HUDMessage.error_type));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// save
|
||||||
|
this.SaveManager.BeginSaveData();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Game1.addHUDMessage(new HUDMessage("Only server hosts can save anywhere.",HUDMessage.error_type));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
{
|
|
||||||
"Name": "Save Backup",
|
|
||||||
"Author": "Alpha_Omegasis",
|
|
||||||
"Version": "1.3.1",
|
|
||||||
"Description": "Backs up your save files at regular intervals.",
|
|
||||||
"UniqueID": "Omegasis.SaveBackup",
|
|
||||||
"EntryDll": "SaveBackup.dll",
|
|
||||||
"MinimumApiVersion": "2.0",
|
|
||||||
"UpdateKeys": [ "Nexus:435" ]
|
|
||||||
}
|
|
|
@ -20,9 +20,6 @@ EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fall28SnowDay", "Fall28SnowDay\Fall28SnowDay.csproj", "{1DBB583D-4A4F-4A46-8CC5-42017C93D292}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fall28SnowDay", "Fall28SnowDay\Fall28SnowDay.csproj", "{1DBB583D-4A4F-4A46-8CC5-42017C93D292}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HappyBirthday", "HappyBirthday\HappyBirthday.csproj", "{A7A4B67B-3CD7-421F-A4A7-2D656F0AB4D9}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HappyBirthday", "HappyBirthday\HappyBirthday.csproj", "{A7A4B67B-3CD7-421F-A4A7-2D656F0AB4D9}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C} = {8DB124E3-E892-4E7C-A782-2DA47771338C}
|
|
||||||
EndProjectSection
|
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MoreRain", "MoreRain\MoreRain.csproj", "{45721A43-630A-461F-9A50-E47D3D1926D0}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MoreRain", "MoreRain\MoreRain.csproj", "{45721A43-630A-461F-9A50-E47D3D1926D0}"
|
||||||
EndProject
|
EndProject
|
||||||
|
@ -34,8 +31,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NightOwl", "NightOwl\NightO
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SaveAnywhere", "SaveAnywhere\SaveAnywhere.csproj", "{E17855AD-DBAF-49BD-B3E2-9899403252F6}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SaveAnywhere", "SaveAnywhere\SaveAnywhere.csproj", "{E17855AD-DBAF-49BD-B3E2-9899403252F6}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SaveBackup", "SaveBackup\SaveBackup.csproj", "{12984468-2B79-4B3B-B045-EE917301DEE0}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewSymphony", "StardewSymphony\StardewSymphony.csproj", "{697F7EC8-02C6-4F39-A917-EE45955CFFF9}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StardewSymphony", "StardewSymphony\StardewSymphony.csproj", "{697F7EC8-02C6-4F39-A917-EE45955CFFF9}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimeFreeze", "TimeFreeze\TimeFreeze.csproj", "{07410BC3-9B33-40E9-A2EF-B8EDF983F0A3}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TimeFreeze", "TimeFreeze\TimeFreeze.csproj", "{07410BC3-9B33-40E9-A2EF-B8EDF983F0A3}"
|
||||||
|
@ -79,7 +74,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DebugSandBoxAndReferences",
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdditionalCropsFramework", "AdditionalCropsFramework\AdditionalCropsFramework.csproj", "{C5F88D48-EA20-40CD-91E2-C8725DC11795}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdditionalCropsFramework", "AdditionalCropsFramework\AdditionalCropsFramework.csproj", "{C5F88D48-EA20-40CD-91E2-C8725DC11795}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModdedUtilitiesNetworking", "ModdedUtilitiesNetworking\ModdedUtilitiesNetworking.csproj", "{8DB124E3-E892-4E7C-A782-2DA47771338C}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdvancedSaveBackup", "AdvancedSaveBackup\AdvancedSaveBackup.csproj", "{12984468-2B79-4B3B-B045-EE917301DEE0}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
@ -259,18 +254,6 @@ Global
|
||||||
{E17855AD-DBAF-49BD-B3E2-9899403252F6}.x86|Any CPU.Build.0 = x86|Any CPU
|
{E17855AD-DBAF-49BD-B3E2-9899403252F6}.x86|Any CPU.Build.0 = x86|Any CPU
|
||||||
{E17855AD-DBAF-49BD-B3E2-9899403252F6}.x86|x86.ActiveCfg = x86|x86
|
{E17855AD-DBAF-49BD-B3E2-9899403252F6}.x86|x86.ActiveCfg = x86|x86
|
||||||
{E17855AD-DBAF-49BD-B3E2-9899403252F6}.x86|x86.Build.0 = x86|x86
|
{E17855AD-DBAF-49BD-B3E2-9899403252F6}.x86|x86.Build.0 = x86|x86
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.Debug|x86.ActiveCfg = Debug|x86
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.Debug|x86.Build.0 = Debug|x86
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.Release|x86.ActiveCfg = Release|x86
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.Release|x86.Build.0 = Release|x86
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.x86|Any CPU.ActiveCfg = x86|Any CPU
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.x86|Any CPU.Build.0 = x86|Any CPU
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.x86|x86.ActiveCfg = x86|x86
|
|
||||||
{12984468-2B79-4B3B-B045-EE917301DEE0}.x86|x86.Build.0 = x86|x86
|
|
||||||
{697F7EC8-02C6-4F39-A917-EE45955CFFF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{697F7EC8-02C6-4F39-A917-EE45955CFFF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{697F7EC8-02C6-4F39-A917-EE45955CFFF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{697F7EC8-02C6-4F39-A917-EE45955CFFF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{697F7EC8-02C6-4F39-A917-EE45955CFFF9}.Debug|x86.ActiveCfg = Debug|x86
|
{697F7EC8-02C6-4F39-A917-EE45955CFFF9}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
@ -403,18 +386,18 @@ Global
|
||||||
{C5F88D48-EA20-40CD-91E2-C8725DC11795}.x86|Any CPU.Build.0 = x86|Any CPU
|
{C5F88D48-EA20-40CD-91E2-C8725DC11795}.x86|Any CPU.Build.0 = x86|Any CPU
|
||||||
{C5F88D48-EA20-40CD-91E2-C8725DC11795}.x86|x86.ActiveCfg = x86|x86
|
{C5F88D48-EA20-40CD-91E2-C8725DC11795}.x86|x86.ActiveCfg = x86|x86
|
||||||
{C5F88D48-EA20-40CD-91E2-C8725DC11795}.x86|x86.Build.0 = x86|x86
|
{C5F88D48-EA20-40CD-91E2-C8725DC11795}.x86|x86.Build.0 = x86|x86
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.Debug|x86.Build.0 = Debug|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.Debug|x86.Build.0 = Debug|x86
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.Release|Any CPU.Build.0 = Release|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.Release|x86.ActiveCfg = Release|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.Release|x86.ActiveCfg = Release|x86
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.Release|x86.Build.0 = Release|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.Release|x86.Build.0 = Release|x86
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.x86|Any CPU.ActiveCfg = Release|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.x86|Any CPU.ActiveCfg = x86|Any CPU
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.x86|Any CPU.Build.0 = Release|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.x86|Any CPU.Build.0 = x86|Any CPU
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.x86|x86.ActiveCfg = Release|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.x86|x86.ActiveCfg = x86|x86
|
||||||
{8DB124E3-E892-4E7C-A782-2DA47771338C}.x86|x86.Build.0 = Release|Any CPU
|
{12984468-2B79-4B3B-B045-EE917301DEE0}.x86|x86.Build.0 = x86|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
After Width: | Height: | Size: 363 B |
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 286 B |
After Width: | Height: | Size: 335 B |
After Width: | Height: | Size: 327 B |
After Width: | Height: | Size: 296 B |
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 316 B |
After Width: | Height: | Size: 351 B |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 637 B |
After Width: | Height: | Size: 295 B |
After Width: | Height: | Size: 304 B |
After Width: | Height: | Size: 179 B |
After Width: | Height: | Size: 303 B |
After Width: | Height: | Size: 743 B |
After Width: | Height: | Size: 815 B |
After Width: | Height: | Size: 649 B |
After Width: | Height: | Size: 774 B |
After Width: | Height: | Size: 315 B |
After Width: | Height: | Size: 331 B |
After Width: | Height: | Size: 447 B |
After Width: | Height: | Size: 413 B |
After Width: | Height: | Size: 390 B |
After Width: | Height: | Size: 389 B |
After Width: | Height: | Size: 734 B |
After Width: | Height: | Size: 402 B |
After Width: | Height: | Size: 484 B |
After Width: | Height: | Size: 539 B |
After Width: | Height: | Size: 312 B |
After Width: | Height: | Size: 340 B |
After Width: | Height: | Size: 376 B |
|
@ -17,12 +17,15 @@ using StardustCore.UIUtilities.SpriteFonts.Components;
|
||||||
namespace StardewSymphonyRemastered.Framework.Menus
|
namespace StardewSymphonyRemastered.Framework.Menus
|
||||||
{
|
{
|
||||||
/* TODO: Make the different menus for the conditional keys
|
/* TODO: Make the different menus for the conditional keys
|
||||||
* Normal (locations, season, weather,date, time)
|
* Normal (season, weather,time, location, ,date)
|
||||||
* Festival
|
* Festival
|
||||||
* Event
|
* Event
|
||||||
*
|
*
|
||||||
* once song is selected also have play and stop button to see how song plays.
|
* once song is selected also have play and stop button to see how song plays.
|
||||||
*
|
*
|
||||||
|
*
|
||||||
|
* Figure out positioning for icons on fancy icons
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -293,6 +296,71 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.drawMode == DrawMode.DifferntSelectionTypesMode)
|
||||||
|
{
|
||||||
|
|
||||||
|
this.fancyButtons.Clear();
|
||||||
|
|
||||||
|
//Season Icon placement.
|
||||||
|
Vector4 seasonPlacement = new Vector4(this.width * .2f + 400, this.height * .05f, 5 * 100, this.height * .9f);
|
||||||
|
if (Game1.currentSeason == "spring")
|
||||||
|
{
|
||||||
|
|
||||||
|
Texture2DExtended springTexture = StardewSymphony.textureManager.getTexture("SpringIcon");
|
||||||
|
float scale = 1.00f / ((float)springTexture.texture.Width / 64f);
|
||||||
|
Rectangle srcRect = new Rectangle(0, 0, springTexture.texture.Width, springTexture.texture.Height);
|
||||||
|
this.fancyButtons.Add(new Button("SeasonIcon", new Rectangle((int)seasonPlacement.X, (int)seasonPlacement.Y, 64, 64), springTexture, "SeasonIcon", srcRect, scale, new Animation(srcRect), Color.White, Color.White, new ButtonFunctionality(null, null, null)));
|
||||||
|
}
|
||||||
|
if (Game1.currentSeason == "summer")
|
||||||
|
{
|
||||||
|
|
||||||
|
Texture2DExtended summerTexture = StardewSymphony.textureManager.getTexture("SummerIcon");
|
||||||
|
float scale = 1.00f / ((float)summerTexture.texture.Width / 64f);
|
||||||
|
Rectangle srcRect = new Rectangle(0, 0, summerTexture.texture.Width, summerTexture.texture.Height);
|
||||||
|
this.fancyButtons.Add(new Button("SeasonIcon", new Rectangle((int)seasonPlacement.X, (int)seasonPlacement.Y, 64, 64), summerTexture, "SeasonIcon", srcRect, scale, new Animation(srcRect), Color.White, Color.White, new ButtonFunctionality(null, null, null)));
|
||||||
|
}
|
||||||
|
if (Game1.currentSeason == "fall")
|
||||||
|
{
|
||||||
|
|
||||||
|
Texture2DExtended fallTexture = StardewSymphony.textureManager.getTexture("FalIcon");
|
||||||
|
float scale = 1.00f / ((float)fallTexture.texture.Width / 64f);
|
||||||
|
Rectangle srcRect = new Rectangle(0, 0, fallTexture.texture.Width, fallTexture.texture.Height);
|
||||||
|
this.fancyButtons.Add(new Button("SeasonIcon", new Rectangle((int)seasonPlacement.X, (int)seasonPlacement.Y, 64, 64), fallTexture, "SeasonIcon", srcRect, scale, new Animation(srcRect), Color.White, Color.White, new ButtonFunctionality(null, null, null)));
|
||||||
|
}
|
||||||
|
if (Game1.currentSeason == "winter")
|
||||||
|
{
|
||||||
|
|
||||||
|
Texture2DExtended winterTexture = StardewSymphony.textureManager.getTexture("WinterIcon");
|
||||||
|
float scale = 1.00f / ((float)winterTexture.texture.Width / 64f);
|
||||||
|
Rectangle srcRect = new Rectangle(0, 0, winterTexture.texture.Width, winterTexture.texture.Height);
|
||||||
|
this.fancyButtons.Add(new Button("SeasonIcon", new Rectangle((int)seasonPlacement.X, (int)seasonPlacement.Y, 64, 64), winterTexture, "SeasonIcon", srcRect, scale, new Animation(srcRect), Color.White, Color.White, new ButtonFunctionality(null, null, null)));
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector4 festivalPlacement = new Vector4(this.width * .2f + 400, this.height * .05f, 5 * 100, this.height * .9f);
|
||||||
|
Vector4 eventPlacement = new Vector4(this.width * .2f + 400, this.height * .05f, 5 * 100, this.height * .9f);
|
||||||
|
Vector4 menuPlacement = new Vector4(this.width * .2f + 400, this.height * .05f, 5 * 100, this.height * .9f);
|
||||||
|
|
||||||
|
//Festival Icon placement.
|
||||||
|
Texture2DExtended festivalTexture = StardewSymphony.textureManager.getTexture("FestivalIcon");
|
||||||
|
float festivalScale = 1.00f / ((float)festivalTexture.texture.Width / 64f);
|
||||||
|
Rectangle festivalSrcRect = new Rectangle(0, 0, festivalTexture.texture.Width, festivalTexture.texture.Height);
|
||||||
|
this.fancyButtons.Add(new Button("FestivalIcon", new Rectangle((int)festivalPlacement.X, (int)festivalPlacement.Y, 64, 64), festivalTexture, "FestivalIcon", festivalSrcRect, festivalScale, new Animation(festivalSrcRect), Color.White, Color.White, new ButtonFunctionality(null, null, null)));
|
||||||
|
|
||||||
|
|
||||||
|
//Event Icon placement.
|
||||||
|
Texture2DExtended eventTexture = StardewSymphony.textureManager.getTexture("EventIcon");
|
||||||
|
float eventScale = 1.00f / ((float)eventTexture.texture.Width / 64f);
|
||||||
|
Rectangle eventSrcRectangle = new Rectangle(0, 0, eventTexture.texture.Width, eventTexture.texture.Height);
|
||||||
|
this.fancyButtons.Add(new Button("EventIcon", new Rectangle((int)eventPlacement.X, (int)eventPlacement.Y, 64, 64), eventTexture, "EventIcon", eventSrcRectangle, eventScale, new Animation(eventSrcRectangle), Color.White, Color.White, new ButtonFunctionality(null, null, null)));
|
||||||
|
|
||||||
|
//Menu Icon placement.
|
||||||
|
Texture2DExtended menuTexture = StardewSymphony.textureManager.getTexture("MenuIcon");
|
||||||
|
float menuScale = 1.00f / ((float)menuTexture.texture.Width / 64f);
|
||||||
|
Rectangle menuSrcRectangle = new Rectangle(0, 0, menuTexture.texture.Width, menuTexture.texture.Height);
|
||||||
|
this.fancyButtons.Add(new Button("MenuIcon", new Rectangle((int)menuPlacement.X, (int)menuPlacement.Y, 64, 64), menuTexture, "MenuIcon", menuSrcRectangle, menuScale, new Animation(menuSrcRectangle), Color.White, Color.White, new ButtonFunctionality(null, null, null)));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -477,7 +545,7 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
||||||
}
|
}
|
||||||
var drawList = this.fancyButtons.GetRange(0 + (this.currentSongPageIndex * (amountToShow)), amount);
|
var drawList = this.fancyButtons.GetRange(0 + (this.currentSongPageIndex * (amountToShow)), amount);
|
||||||
|
|
||||||
|
//Get a list of components to draw. And if I click one select the song.
|
||||||
foreach (var v in drawList)
|
foreach (var v in drawList)
|
||||||
{
|
{
|
||||||
if (v.containsPoint(x, y))
|
if (v.containsPoint(x, y))
|
||||||
|
@ -605,13 +673,18 @@ namespace StardewSymphonyRemastered.Framework.Menus
|
||||||
{
|
{
|
||||||
if (b.label == "Null") return;
|
if (b.label == "Null") return;
|
||||||
this.currentSelectedSong = b;
|
this.currentSelectedSong = b;
|
||||||
|
/*
|
||||||
StardewSymphony.ModMonitor.Log("Song Selected!" + b.name);
|
StardewSymphony.ModMonitor.Log("Song Selected!" + b.name);
|
||||||
var info = (KeyValuePair<string, MusicPack>)this.currentMusicPackAlbum.buttonFunctionality.leftClick.paramaters[0];
|
var info = (KeyValuePair<string, MusicPack>)this.currentMusicPackAlbum.buttonFunctionality.leftClick.paramaters[0];
|
||||||
StardewSymphony.ModMonitor.Log("Select Pack:"+info.Key);
|
StardewSymphony.ModMonitor.Log("Select Pack:"+info.Key);
|
||||||
StardewSymphony.musicManager.swapMusicPacks(info.Key);
|
StardewSymphony.musicManager.swapMusicPacks(info.Key);
|
||||||
StardewSymphony.musicManager.playSongFromCurrentPack(b.name);
|
StardewSymphony.musicManager.playSongFromCurrentPack(b.name);
|
||||||
|
*/
|
||||||
|
this.drawMode = DrawMode.DifferntSelectionTypesMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,6 @@ namespace StardewSymphonyRemastered.Framework
|
||||||
#region
|
#region
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// TODO: Add functionality for events and festivals
|
|
||||||
/// Sum up some conditionals to parse the correct string key to access the songs list.
|
/// Sum up some conditionals to parse the correct string key to access the songs list.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
@ -137,12 +136,12 @@ namespace StardewSymphonyRemastered.Framework
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
key = getLocationString() + seperator + getSeasonNameString() + seperator + getWeatherString() + seperator + getDayOfWeekString() + seperator + getTimeOfDayString();
|
key = getSeasonNameString() + seperator + getWeatherString() + seperator + getTimeOfDayString() + seperator + getLocationString() + seperator + getDayOfWeekString();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(foundMenuString==false && key == "")
|
if(foundMenuString==false && key == "")
|
||||||
{
|
{
|
||||||
key = getLocationString() + seperator + getSeasonNameString() + seperator + getWeatherString() + seperator + getDayOfWeekString() + seperator + getTimeOfDayString();
|
key = getSeasonNameString() + seperator + getWeatherString() + seperator + getTimeOfDayString() + seperator + getLocationString() + seperator + getDayOfWeekString();
|
||||||
}
|
}
|
||||||
|
|
||||||
return key;
|
return key;
|
||||||
|
|
|
@ -75,7 +75,9 @@ namespace StardewSymphonyRemastered
|
||||||
ModMonitor = Monitor;
|
ModMonitor = Monitor;
|
||||||
|
|
||||||
StardewModdingAPI.Events.SaveEvents.AfterLoad += SaveEvents_AfterLoad;
|
StardewModdingAPI.Events.SaveEvents.AfterLoad += SaveEvents_AfterLoad;
|
||||||
StardewModdingAPI.Events.LocationEvents.CurrentLocationChanged += LocationEvents_CurrentLocationChanged;
|
// StardewModdingAPI.Events.EventArgsLocationsChanged += LocationEvents_CurrentLocationChanged;
|
||||||
|
|
||||||
|
StardewModdingAPI.Events.PlayerEvents.Warped += PlayerEvents_Warped;
|
||||||
StardewModdingAPI.Events.GameEvents.UpdateTick += GameEvents_UpdateTick;
|
StardewModdingAPI.Events.GameEvents.UpdateTick += GameEvents_UpdateTick;
|
||||||
StardewModdingAPI.Events.ControlEvents.KeyPressed += ControlEvents_KeyPressed;
|
StardewModdingAPI.Events.ControlEvents.KeyPressed += ControlEvents_KeyPressed;
|
||||||
StardewModdingAPI.Events.SaveEvents.BeforeSave += SaveEvents_BeforeSave;
|
StardewModdingAPI.Events.SaveEvents.BeforeSave += SaveEvents_BeforeSave;
|
||||||
|
@ -111,6 +113,17 @@ namespace StardewSymphonyRemastered
|
||||||
initializeMusicPacks();
|
initializeMusicPacks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Raised when the player changes locations. This should determine the next song to play.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void PlayerEvents_Warped(object sender, StardewModdingAPI.Events.EventArgsPlayerWarped e)
|
||||||
|
{
|
||||||
|
musicManager.selectMusic(SongSpecifics.getCurrentConditionalString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Ran once all of teh entry methods are ran. This will ensure that all custom music from other mods has been properly loaded in.
|
/// Ran once all of teh entry methods are ran. This will ensure that all custom music from other mods has been properly loaded in.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -209,15 +222,7 @@ namespace StardewSymphonyRemastered
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Raised when the player changes locations. This should determine the next song to play.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="sender"></param>
|
|
||||||
/// <param name="e"></param>
|
|
||||||
private void LocationEvents_CurrentLocationChanged(object sender, StardewModdingAPI.Events.EventArgsCurrentLocationChanged e)
|
|
||||||
{
|
|
||||||
musicManager.selectMusic(SongSpecifics.getCurrentConditionalString());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -238,13 +243,99 @@ namespace StardewSymphonyRemastered
|
||||||
{
|
{
|
||||||
string path = Path.Combine(ModHelper.DirectoryPath, "Content", "Graphics", "MusicMenu");
|
string path = Path.Combine(ModHelper.DirectoryPath, "Content", "Graphics", "MusicMenu");
|
||||||
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
|
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
|
||||||
|
|
||||||
|
//Generic Icons
|
||||||
string musicNote = Path.Combine(path, "MusicNote.png");
|
string musicNote = Path.Combine(path, "MusicNote.png");
|
||||||
string musicCD = Path.Combine(path, "MusicDisk.png");
|
string musicCD = Path.Combine(path, "MusicDisk.png");
|
||||||
string outlineBox = Path.Combine(path, "OutlineBox.png");
|
string outlineBox = Path.Combine(path, "OutlineBox.png");
|
||||||
|
|
||||||
|
string addIcon = Path.Combine(path, "AddButton.png");
|
||||||
|
string deleteButton = Path.Combine(path, "DeleteButton.png");
|
||||||
|
|
||||||
|
string greenBallon = Path.Combine(path, "GreenBallon.png");
|
||||||
|
string redBallon = Path.Combine(path, "RedBallon.png");
|
||||||
|
string starIcon = Path.Combine(path, "StarIcon.png");
|
||||||
|
|
||||||
|
string menuIcon = Path.Combine(path, "MenuIcon.png");
|
||||||
|
|
||||||
|
//Time Icons
|
||||||
|
string dayIcon = Path.Combine(path, "TimeIcon_Day.png");
|
||||||
|
string nightIcon = Path.Combine(path, "TimeIcon_Night.png");
|
||||||
|
|
||||||
|
|
||||||
|
//Fun Icons
|
||||||
|
string eventIcon = Path.Combine(path, "EventIcon.png");
|
||||||
|
string festivalIcon = Path.Combine(path, "FestivalIcon.png");
|
||||||
|
|
||||||
|
//WeatherIcons
|
||||||
|
string sunnyIcon = Path.Combine(path, "WeatherIcon_Sunny.png");
|
||||||
|
string rainyIcon = Path.Combine(path, "WeatherIcon_Rainy.png");
|
||||||
|
string debrisIconSpring = Path.Combine(path, "WeatherIcon_DebrisSpring.png");
|
||||||
|
string debrisIconSummer = Path.Combine(path, "WeatherIcon_DebrisSummer.png");
|
||||||
|
string debrisIconFall = Path.Combine(path, "WeatherIcon_DebrisFall.png");
|
||||||
|
string weatherFestivalIcon = Path.Combine(path, "WeatherIcon_Festival.png");
|
||||||
|
string snowIcon = Path.Combine(path, "WeatherIcon_Snowing.png");
|
||||||
|
string stormIcon = Path.Combine(path, "WeatherIcon_Stormy.png");
|
||||||
|
string weddingIcon = Path.Combine(path, "WeatherIcon_WeddingHeart.png");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Season Icons
|
||||||
|
string springIcon = Path.Combine(path, "SeasonIcon_Spring.png");
|
||||||
|
string summerIcon = Path.Combine(path, "SeasonIcon_Summer.png");
|
||||||
|
string fallIcon = Path.Combine(path, "SeasonIcon_Fall.png");
|
||||||
|
string winterIcon = Path.Combine(path, "SeasonIcon_Winter.png");
|
||||||
|
|
||||||
|
|
||||||
|
//Day Icons
|
||||||
|
string mondayIcon = Path.Combine(path, "DayIcons_Monday.png");
|
||||||
|
string tuesdayIcon = Path.Combine(path, "DayIcons_Tuesday.png");
|
||||||
|
string wednesdayIcon = Path.Combine(path, "DayIcons_Wednesday.png");
|
||||||
|
string thursdayIcon = Path.Combine(path, "DayIcons_Thursday.png");
|
||||||
|
string fridayIcon = Path.Combine(path, "DayIcons_Friday.png");
|
||||||
|
string saturdayIcon = Path.Combine(path, "DayIcons_Saturday.png");
|
||||||
|
string sundayIcon = Path.Combine(path, "DayIcons_Sunday.png");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
textureManager.addTexture("MusicNote",new Texture2DExtended(ModHelper,StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", musicNote)));
|
textureManager.addTexture("MusicNote",new Texture2DExtended(ModHelper,StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", musicNote)));
|
||||||
textureManager.addTexture("MusicDisk", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", musicCD)));
|
textureManager.addTexture("MusicDisk", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", musicCD)));
|
||||||
textureManager.addTexture("MusicCD", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", musicCD)));
|
textureManager.addTexture("MusicCD", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", musicCD)));
|
||||||
textureManager.addTexture("OutlineBox", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", outlineBox)));
|
textureManager.addTexture("OutlineBox", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", outlineBox)));
|
||||||
|
textureManager.addTexture("AddIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", addIcon)));
|
||||||
|
textureManager.addTexture("DeleteIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", deleteButton)));
|
||||||
|
textureManager.addTexture("GreenBallon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", greenBallon)));
|
||||||
|
textureManager.addTexture("RedBallon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", redBallon)));
|
||||||
|
textureManager.addTexture("StarIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", starIcon)));
|
||||||
|
textureManager.addTexture("MenuIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", menuIcon)));
|
||||||
|
textureManager.addTexture("DayIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", dayIcon)));
|
||||||
|
textureManager.addTexture("NightIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", nightIcon)));
|
||||||
|
textureManager.addTexture("EventIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", eventIcon)));
|
||||||
|
textureManager.addTexture("FestivalIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", festivalIcon)));
|
||||||
|
textureManager.addTexture("SunnyIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", sunnyIcon)));
|
||||||
|
textureManager.addTexture("RainyIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", rainyIcon)));
|
||||||
|
textureManager.addTexture("DebrisSpringIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", debrisIconSpring)));
|
||||||
|
textureManager.addTexture("DebrisSummerIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", debrisIconSummer)));
|
||||||
|
textureManager.addTexture("DebrisIconFall", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", debrisIconFall)));
|
||||||
|
textureManager.addTexture("WeatherFestivalIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", weatherFestivalIcon)));
|
||||||
|
textureManager.addTexture("SnowIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", snowIcon)));
|
||||||
|
textureManager.addTexture("StormIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", stormIcon)));
|
||||||
|
textureManager.addTexture("WeddingIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", weddingIcon)));
|
||||||
|
textureManager.addTexture("SpringIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", springIcon)));
|
||||||
|
textureManager.addTexture("SummerIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", summerIcon)));
|
||||||
|
textureManager.addTexture("FallIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", fallIcon)));
|
||||||
|
textureManager.addTexture("WinterIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", winterIcon)));
|
||||||
|
textureManager.addTexture("MondayIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", mondayIcon)));
|
||||||
|
textureManager.addTexture("TuesdayIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", tuesdayIcon)));
|
||||||
|
textureManager.addTexture("WednesdayIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", wednesdayIcon)));
|
||||||
|
textureManager.addTexture("ThursdayIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", thursdayIcon)));
|
||||||
|
textureManager.addTexture("FridayIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", fridayIcon)));
|
||||||
|
textureManager.addTexture("SaturdayIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", saturdayIcon)));
|
||||||
|
textureManager.addTexture("SundayIcon", new Texture2DExtended(ModHelper, StardustCore.Utilities.getRelativeDirectory("StardewSymphonyRemastered", sundayIcon)));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!Directory.Exists(MusicPath)) Directory.CreateDirectory(MusicPath);
|
if (!Directory.Exists(MusicPath)) Directory.CreateDirectory(MusicPath);
|
||||||
if (!Directory.Exists(WavMusicDirectory)) Directory.CreateDirectory(WavMusicDirectory);
|
if (!Directory.Exists(WavMusicDirectory)) Directory.CreateDirectory(WavMusicDirectory);
|
||||||
|
|
|
@ -96,12 +96,42 @@
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Content Include="Content\Graphics\MusicMenu\OutlineBox.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\Music\Templates\WAV\MusicPackInformation.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\Music\Templates\WAV\Songs\SongsGoHere.txt">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\Music\Templates\XACT\MusicPackInformation.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
<None Include="manifest.json" />
|
<None Include="manifest.json" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Analyzer Include="..\..\packages\Pathoschild.Stardew.ModBuildConfig.2.1.0-beta-20180428\analyzers\dotnet\cs\StardewModdingAPI.ModBuildConfig.Analyzer.dll" />
|
<Analyzer Include="..\..\packages\Pathoschild.Stardew.ModBuildConfig.2.1.0-beta-20180428\analyzers\dotnet\cs\StardewModdingAPI.ModBuildConfig.Analyzer.dll" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="Content\Graphics\MusicMenu\MusicDisk.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\Graphics\MusicMenu\MusicNote.png">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\Music\Templates\WAV\readme.txt">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="Content\Music\Templates\XACT\readme.txt">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Content\Music\Wav\" />
|
||||||
|
<Folder Include="Content\Music\XACT\" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.2\build\Pathoschild.Stardew.ModBuildConfig.targets" Condition="Exists('..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.2\build\Pathoschild.Stardew.ModBuildConfig.targets')" />
|
<Import Project="..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.2\build\Pathoschild.Stardew.ModBuildConfig.targets" Condition="Exists('..\packages\Pathoschild.Stardew.ModBuildConfig.2.0.2\build\Pathoschild.Stardew.ModBuildConfig.targets')" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
|
After Width: | Height: | Size: 250 B |
After Width: | Height: | Size: 241 B |
After Width: | Height: | Size: 267 B |
After Width: | Height: | Size: 255 B |
After Width: | Height: | Size: 225 B |
After Width: | Height: | Size: 260 B |
After Width: | Height: | Size: 277 B |
After Width: | Height: | Size: 258 B |
After Width: | Height: | Size: 247 B |
After Width: | Height: | Size: 250 B |
After Width: | Height: | Size: 282 B |
After Width: | Height: | Size: 252 B |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 198 B |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 250 B |
After Width: | Height: | Size: 274 B |
After Width: | Height: | Size: 255 B |
After Width: | Height: | Size: 268 B |
After Width: | Height: | Size: 252 B |
After Width: | Height: | Size: 286 B |
After Width: | Height: | Size: 243 B |
After Width: | Height: | Size: 238 B |
After Width: | Height: | Size: 248 B |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 231 B |
After Width: | Height: | Size: 241 B |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 279 B |
After Width: | Height: | Size: 256 B |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 274 B |
After Width: | Height: | Size: 280 B |
After Width: | Height: | Size: 235 B |
After Width: | Height: | Size: 241 B |
After Width: | Height: | Size: 280 B |
After Width: | Height: | Size: 250 B |
After Width: | Height: | Size: 280 B |
After Width: | Height: | Size: 276 B |
After Width: | Height: | Size: 278 B |
After Width: | Height: | Size: 256 B |
After Width: | Height: | Size: 276 B |
After Width: | Height: | Size: 227 B |
After Width: | Height: | Size: 225 B |
After Width: | Height: | Size: 224 B |