diff --git a/AutoStacker/AutoStacker.csproj b/AutoStacker/AutoStacker.csproj index e49de40..5496dd7 100644 --- a/AutoStacker/AutoStacker.csproj +++ b/AutoStacker/AutoStacker.csproj @@ -1,15 +1,10 @@  - - AutoStacker - AutoStacker 1.3.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/BetterArtisanGoodIcons/BetterArtisanGoodIcons.csproj b/BetterArtisanGoodIcons/BetterArtisanGoodIcons.csproj index 242b453..b85761e 100644 --- a/BetterArtisanGoodIcons/BetterArtisanGoodIcons.csproj +++ b/BetterArtisanGoodIcons/BetterArtisanGoodIcons.csproj @@ -1,23 +1,16 @@  - - BetterArtisanGoodIcons - BetterArtisanGoodIcons 1.5.0 net452 - x86 true - + - - D:\Steam\SteamApps\common\Stardew Valley\smapi-internal\Newtonsoft.Json.dll - + - - \ No newline at end of file + diff --git a/BetterAutomaticGates/BetterAutomaticGates.csproj b/BetterAutomaticGates/BetterAutomaticGates.csproj index b84a9a4..6869235 100644 --- a/BetterAutomaticGates/BetterAutomaticGates.csproj +++ b/BetterAutomaticGates/BetterAutomaticGates.csproj @@ -1,15 +1,10 @@  - - BetterAutomaticGates - BetterAutomaticGates 1.0.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/BetterDoors/BetterDoors.csproj b/BetterDoors/BetterDoors.csproj index 457b264..c596990 100644 --- a/BetterDoors/BetterDoors.csproj +++ b/BetterDoors/BetterDoors.csproj @@ -1,23 +1,12 @@  - - BetterDoors - BetterDoors 1.0.0 net452 - x86 true - + - - - - D:\Steam\SteamApps\common\Stardew Valley\smapi-internal\SMAPI.Toolkit.dll - - - - \ No newline at end of file + diff --git a/BetterDoors/Framework/ContentPacks/ContentPackLoader.cs b/BetterDoors/Framework/ContentPacks/ContentPackLoader.cs index 79f7320..3e9814e 100644 --- a/BetterDoors/Framework/ContentPacks/ContentPackLoader.cs +++ b/BetterDoors/Framework/ContentPacks/ContentPackLoader.cs @@ -6,7 +6,6 @@ using System; using System.Collections.Generic; using System.IO; -using SemanticVersion = StardewModdingAPI.Toolkit.SemanticVersion; namespace BetterDoors.Framework.ContentPacks { diff --git a/BetterDoors/Framework/Mapping/Properties/MapDoorVersion.cs b/BetterDoors/Framework/Mapping/Properties/MapDoorVersion.cs index a1aadfd..ac9413d 100644 --- a/BetterDoors/Framework/Mapping/Properties/MapDoorVersion.cs +++ b/BetterDoors/Framework/Mapping/Properties/MapDoorVersion.cs @@ -1,5 +1,4 @@ using StardewModdingAPI; -using SemanticVersion = StardewModdingAPI.Toolkit.SemanticVersion; namespace BetterDoors.Framework.Mapping.Properties { diff --git a/BetterFruitTrees/BetterFruitTrees.csproj b/BetterFruitTrees/BetterFruitTrees.csproj index 607926d..5494498 100644 --- a/BetterFruitTrees/BetterFruitTrees.csproj +++ b/BetterFruitTrees/BetterFruitTrees.csproj @@ -1,17 +1,12 @@  - - BetterFruitTrees - BetterFruitTrees 2.6.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/BetterFruitTrees/GrowHelper.cs b/BetterFruitTrees/GrowHelper.cs index 8f8d04b..68fc00f 100644 --- a/BetterFruitTrees/GrowHelper.cs +++ b/BetterFruitTrees/GrowHelper.cs @@ -24,7 +24,7 @@ private void OnSaving(object sender, SavingEventArgs e) foreach (GameLocation l in Game1.locations) foreach (KeyValuePair fruitTree in l.terrainFeatures.Pairs.Where( item => item.Value is FruitTree)) - if (!this.CanFruitTreeGrow(l, fruitTree.Key)) + if (FruitTree.IsGrowthBlocked(fruitTree.Key, l)) this.SimulateFruitTreeDayUpdate(l, fruitTree.Value as FruitTree); } @@ -44,31 +44,12 @@ private void SimulateFruitTreeDayUpdate(GameLocation l, FruitTree tree) //We only want to add a fruit to the tree if our simulated growth caused the tree to fully mature. If it is already mature, the game would have already added a fruit. if (oldGrowthStage != 4 && !tree.stump.Value && tree.growthStage.Value == 4 && (tree.struckByLightningCountdown.Value > 0 && !Game1.IsWinter || - Game1.currentSeason.Equals(tree.fruitSeason.Value) || l.Name.ToLower().Contains("greenhouse"))) + tree.IsInSeasonHere(l) || l.SeedsIgnoreSeasonsHere())) { tree.fruitsOnTree.Value = Math.Min(3, tree.fruitsOnTree.Value + 1); - if (l.Name.ToLower().Contains("greenhouse")) + if (l.IsGreenhouse) tree.GreenHouseTree = true; } } - - /// Whether a fruit tree at the given tile and game location could grow. - private bool CanFruitTreeGrow(GameLocation l, Vector2 tileLocation) - { - bool cannotGrow = false; - foreach (Vector2 surroundingTileLocations in Utility.getSurroundingTileLocationsArray(tileLocation)) - { - bool flag2 = l.terrainFeatures.ContainsKey(surroundingTileLocations) && - l.terrainFeatures[surroundingTileLocations] is HoeDirt && - (l.terrainFeatures[surroundingTileLocations] as HoeDirt).crop == null; - if (l.isTileOccupied(surroundingTileLocations, "") && !flag2) - { - cannotGrow = true; - break; - } - } - - return !cannotGrow; - } } } diff --git a/BetterFruitTrees/Patches/PlacementPatch.cs b/BetterFruitTrees/Patches/PlacementPatch.cs index ac5f7fc..b7a6acb 100644 --- a/BetterFruitTrees/Patches/PlacementPatch.cs +++ b/BetterFruitTrees/Patches/PlacementPatch.cs @@ -1,5 +1,6 @@ using Microsoft.Xna.Framework; using StardewValley; +using StardewValley.Locations; using StardewValley.TerrainFeatures; using SObject = StardewValley.Object; @@ -11,10 +12,12 @@ public static bool Prefix(SObject __instance, ref bool __result, GameLocation lo Farmer who) { //Not a sapling - if (!__instance.Name.Contains("Sapling")) + if (!__instance.isSapling() || __instance.ParentSheetIndex == 251) // 251: tea sapling return true; - Vector2 index1 = new Vector2((float)(x / 64), (float)(y / 64)); + int tileX = x / 64; + int tileY = y / 64; + Vector2 index1 = new Vector2(tileX, tileY); //The original code has a check for this, but execution never actually reaches here because saplings aren't allowed to be placed on dirt //Terrain feature at the position @@ -26,13 +29,12 @@ public static bool Prefix(SObject __instance, ref bool __result, GameLocation lo } bool nearbyTree = false; - Vector2 key = new Vector2(); - for (int index2 = x / 64 - 2; index2 <= x / 64 + 2; ++index2) + + for (int index2 = tileX - 2; index2 <= tileX + 2; ++index2) { - for (int index3 = y / 64 - 2; index3 <= y / 64 + 2; ++index3) + for (int index3 = tileY - 2; index3 <= tileY + 2; ++index3) { - key.X = (float)index2; - key.Y = (float)index3; + Vector2 key = new Vector2(index2, index3); if (location.terrainFeatures.ContainsKey(key) && (location.terrainFeatures[key] is Tree || location.terrainFeatures[key] is FruitTree)) { @@ -45,7 +47,7 @@ public static bool Prefix(SObject __instance, ref bool __result, GameLocation lo break; } - bool correctTileProperties = location is Farm ? ((location.doesTileHaveProperty((int)index1.X, (int)index1.Y, "Diggable", + bool correctTileProperties = IsFarm(location) ? ((location.doesTileHaveProperty((int)index1.X, (int)index1.Y, "Diggable", "Back") != null || location.doesTileHavePropertyNoNull((int)index1.X, (int)index1.Y, "Type", "Back").Equals("Grass")) && @@ -55,7 +57,7 @@ public static bool Prefix(SObject __instance, ref bool __result, GameLocation lo location.doesTileHavePropertyNoNull((int)index1.X, (int)index1.Y, "Type", "Back").Equals("Stone"))); - bool gameValidLocation = location is Farm || location.IsGreenhouse; + bool gameValidLocation = IsFarm(location) || location.IsGreenhouse; //If the game would return true, let it run if (gameValidLocation && correctTileProperties && !nearbyTree) @@ -81,10 +83,11 @@ public static bool Prefix(SObject __instance, ref bool __result, GameLocation lo DelayedAction.playSoundAfterDelay("coin", 100); //If the game was going to place a tree, it removed anything at the tree index, so we do the same + bool actAsGreenhouse = location.IsGreenhouse || ((__instance.ParentSheetIndex == 69 || __instance.ParentSheetIndex == 835) && location is IslandWest); // 69: banana sapling, 835: mango sapling location.terrainFeatures.Remove(index1); location.terrainFeatures.Add(index1, new FruitTree(__instance.ParentSheetIndex) { - GreenHouseTree = location.IsGreenhouse, + GreenHouseTree = actAsGreenhouse, GreenHouseTileTree = location.doesTileHavePropertyNoNull((int)index1.X, (int)index1.Y, "Type", "Back") .Equals("Stone") }); @@ -92,5 +95,10 @@ public static bool Prefix(SObject __instance, ref bool __result, GameLocation lo __result = true; return false; } + + private static bool IsFarm(GameLocation location) + { + return location is Farm || location is IslandWest; + } } } diff --git a/BetterGardenPots/BetterGardenPots.csproj b/BetterGardenPots/BetterGardenPots.csproj index c23e8a7..d4ffbd7 100644 --- a/BetterGardenPots/BetterGardenPots.csproj +++ b/BetterGardenPots/BetterGardenPots.csproj @@ -1,17 +1,12 @@  - - BetterGardenPots - BetterGardenPots 1.6.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/BetterHay/BetterHay.csproj b/BetterHay/BetterHay.csproj index 1f5f50c..ae43170 100644 --- a/BetterHay/BetterHay.csproj +++ b/BetterHay/BetterHay.csproj @@ -1,17 +1,12 @@  - - BetterHay - BetterHay 3.0.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/BetterSlingshots/BetterSlingshots.csproj b/BetterSlingshots/BetterSlingshots.csproj index 57f7a98..8d7fcf3 100644 --- a/BetterSlingshots/BetterSlingshots.csproj +++ b/BetterSlingshots/BetterSlingshots.csproj @@ -1,17 +1,12 @@  - - BetterSlingshots - BetterSlingshots 2.0.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/BetterWorkbenches/BetterWorkbenches.csproj b/BetterWorkbenches/BetterWorkbenches.csproj index 7e9ccbb..c596990 100644 --- a/BetterWorkbenches/BetterWorkbenches.csproj +++ b/BetterWorkbenches/BetterWorkbenches.csproj @@ -1,21 +1,12 @@ - - + - BetterWorkbenches - BetterWorkbenches 1.0.0 net452 - x86 true - + - - - - - - \ No newline at end of file + diff --git a/CactiHurtYou/CactiHurtYou.csproj b/CactiHurtYou/CactiHurtYou.csproj index c3f0f5d..de87b33 100644 --- a/CactiHurtYou/CactiHurtYou.csproj +++ b/CactiHurtYou/CactiHurtYou.csproj @@ -1,15 +1,10 @@  - - CactiHurtYou - CactiHurtYou 1.1.1 net452 - x86 - + - - \ No newline at end of file + diff --git a/CasksEverywhere/CaskPatch.cs b/CasksEverywhere/CaskPatch.cs index 59f3c06..58c45c6 100644 --- a/CasksEverywhere/CaskPatch.cs +++ b/CasksEverywhere/CaskPatch.cs @@ -1,11 +1,6 @@ using Harmony; -using StardewValley; -using StardewValley.Locations; using StardewValley.Objects; -using System; -using System.Collections.Generic; using System.Reflection; -using System.Reflection.Emit; namespace CasksEverywhere { @@ -14,25 +9,13 @@ internal class CaskPatch { private static MethodBase TargetMethod() { - return typeof(Cask).GetMethod(nameof(Cask.performObjectDropInAction)); + return typeof(Cask).GetMethod(nameof(Cask.IsValidCaskLocation)); } - /// Change the first Cellar operand to be a GameLocation instead - allowing casks everywhere. - private static IEnumerable Transpiler(IEnumerable instructions) + private static bool Prefix(ref bool __result) { - bool changed = false; - - foreach (CodeInstruction instruction in instructions) - { - if (!changed && instruction.opcode == OpCodes.Isinst && - (Type)instruction.operand == typeof(Cellar)) - { - changed = true; - instruction.operand = typeof(GameLocation); - } - - yield return instruction; - } + __result = true; + return false; } } } diff --git a/CasksEverywhere/CasksEverywhere.csproj b/CasksEverywhere/CasksEverywhere.csproj index 0b098d8..e9e3bc9 100644 --- a/CasksEverywhere/CasksEverywhere.csproj +++ b/CasksEverywhere/CasksEverywhere.csproj @@ -1,17 +1,12 @@  - - CasksEverywhere - CasksEverywhere 1.1.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/ChatCommands/ChatCommands.csproj b/ChatCommands/ChatCommands.csproj index 2b707d8..bf69f03 100644 --- a/ChatCommands/ChatCommands.csproj +++ b/ChatCommands/ChatCommands.csproj @@ -1,15 +1,10 @@  - - ChatCommands - ChatCommands 1.13.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/CopyInviteCode/ClipboardItem.cs b/CopyInviteCode/ClipboardItem.cs index a742384..c1d99a7 100644 --- a/CopyInviteCode/ClipboardItem.cs +++ b/CopyInviteCode/ClipboardItem.cs @@ -22,7 +22,7 @@ public override string DisplayName public override void drawInMenu(SpriteBatch spriteBatch, Vector2 location, float scaleSize, float transparency, float layerDepth, - bool drawStackNumber, Color color, bool drawShadow) + StackDrawType drawStackNumber, Color color, bool drawShadow) { spriteBatch.Draw(this.clipboardTexture, new Rectangle((int)(location.X + 8 * scaleSize), (int)(location.Y + 8 * scaleSize), 64, 64), new Rectangle(0, 0, 64, 64), color * transparency, 0.0f, new Vector2(8f, 8f) * scaleSize, SpriteEffects.None, layerDepth); @@ -39,14 +39,9 @@ public override int maximumStackSize() return -1; } - public override int getStack() + public override int addToStack(Item stack) { - return -1; - } - - public override int addToStack(int amount) - { - return amount; + return stack.Stack; } public override string getDescription() diff --git a/CopyInviteCode/CopyInviteCode.csproj b/CopyInviteCode/CopyInviteCode.csproj index 77592d0..17485ac 100644 --- a/CopyInviteCode/CopyInviteCode.csproj +++ b/CopyInviteCode/CopyInviteCode.csproj @@ -1,19 +1,14 @@  - - CopyInviteCode - CopyInviteCode 2.1.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/CustomTransparency/CustomTransparency.csproj b/CustomTransparency/CustomTransparency.csproj index a87cb47..c596990 100644 --- a/CustomTransparency/CustomTransparency.csproj +++ b/CustomTransparency/CustomTransparency.csproj @@ -1,17 +1,12 @@  - - CustomTransparency - CustomTransparency 1.0.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/CustomWarpLocations/CustomWarpLocations.csproj b/CustomWarpLocations/CustomWarpLocations.csproj index 9e4513e..5496dd7 100644 --- a/CustomWarpLocations/CustomWarpLocations.csproj +++ b/CustomWarpLocations/CustomWarpLocations.csproj @@ -1,15 +1,10 @@  - - CustomWarpLocations - CustomWarpLocations 1.3.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/CustomizableDeathPenalty/CustomizableDeathPenalty.csproj b/CustomizableDeathPenalty/CustomizableDeathPenalty.csproj index 097976e..9364593 100644 --- a/CustomizableDeathPenalty/CustomizableDeathPenalty.csproj +++ b/CustomizableDeathPenalty/CustomizableDeathPenalty.csproj @@ -1,15 +1,10 @@  - - CustomizableDeathPenalty - CustomizableDeathPenalty 1.4.2 net452 - x86 - + - - \ No newline at end of file + diff --git a/DesertObelisk/DesertObelisk.csproj b/DesertObelisk/DesertObelisk.csproj index a3fdcd4..d42e4dd 100644 --- a/DesertObelisk/DesertObelisk.csproj +++ b/DesertObelisk/DesertObelisk.csproj @@ -1,15 +1,10 @@  - - DesertObelisk - DesertObelisk 1.6.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/FloweryTools/FloweryTools.csproj b/FloweryTools/FloweryTools.csproj index 54afdbc..fec5773 100644 --- a/FloweryTools/FloweryTools.csproj +++ b/FloweryTools/FloweryTools.csproj @@ -1,15 +1,10 @@  - - FloweryTools - FloweryTools 1.0.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/GeodeInfoMenu/GeodeInfoMenu.csproj b/GeodeInfoMenu/GeodeInfoMenu.csproj index 2f0f9e7..b4e022b 100644 --- a/GeodeInfoMenu/GeodeInfoMenu.csproj +++ b/GeodeInfoMenu/GeodeInfoMenu.csproj @@ -1,21 +1,14 @@  - - GeodeInfoMenu - GeodeInfoMenu 1.5.1 net452 - x86 - + - - PreserveNewest - + - - \ No newline at end of file + diff --git a/GeodeInfoMenu/Menus/GeodeMenu.cs b/GeodeInfoMenu/Menus/GeodeMenu.cs index a80aefd..f718d1f 100644 --- a/GeodeInfoMenu/Menus/GeodeMenu.cs +++ b/GeodeInfoMenu/Menus/GeodeMenu.cs @@ -41,7 +41,7 @@ internal class GeodeMenu : IClickableMenu private bool wasSearchTextBoxSelectedWhenPageLeft; public GeodeMenu(ModEntry mod, ModConfig config, IList> items, GeodeMenuStateInfo savedState = null, bool forceReloadState = false) - : base(Game1.viewport.Width / 2 - (800 + IClickableMenu.borderWidth * 2) / 2, Game1.viewport.Height / 2 - (600 + IClickableMenu.borderWidth * 2) / 2, 800 + IClickableMenu.borderWidth * 2, 600 + IClickableMenu.borderWidth * 2, true) + : base(Game1.uiViewport.Width / 2 - (800 + IClickableMenu.borderWidth * 2) / 2, Game1.uiViewport.Height / 2 - (600 + IClickableMenu.borderWidth * 2) / 2, 800 + IClickableMenu.borderWidth * 2, 600 + IClickableMenu.borderWidth * 2, true) { this.config = config; this.modEntry = mod; diff --git a/GeodeInfoMenu/Menus/GeodeTabItem.cs b/GeodeInfoMenu/Menus/GeodeTabItem.cs index d97f7b7..a19fb1a 100644 --- a/GeodeInfoMenu/Menus/GeodeTabItem.cs +++ b/GeodeInfoMenu/Menus/GeodeTabItem.cs @@ -52,7 +52,8 @@ public GeodeTabItem(int parentSheetIndex, int numInFront = -1, bool drawStar = f /// The sprite batch to use /// The x position of where to draw it /// The y position of where to draw it - public override void draw(SpriteBatch b, int slotX, int slotY) + /// The menu in which the item is being drawn, if applicable + public override void draw(SpriteBatch b, int slotX, int slotY, IClickableMenu context = null) { if (this.numInFront != -1) { diff --git a/GeodeInfoMenu/Menus/SearchTab.cs b/GeodeInfoMenu/Menus/SearchTab.cs index b0c7602..bbebc5a 100644 --- a/GeodeInfoMenu/Menus/SearchTab.cs +++ b/GeodeInfoMenu/Menus/SearchTab.cs @@ -67,7 +67,7 @@ public SearchTab(ModEntry mod, ModConfig config, int x, int y, int width, int he this.visibleSearchResults = new List(); this.headerText = new OptionsElement("Search for a drop: "); this.headerBounds = new Point(this.xPositionOnScreen + Game1.tileSize / 4, this.yPositionOnScreen + Game1.tileSize * 5 / 4 + Game1.pixelZoom); - this.searchBox = new UpdatingTextBox(new TextChangedDelegate(this.SearchBoxTextChanged), Game1.content.Load("LooseSprites\\textBox"), (Texture2D)null, Game1.smallFont, Game1.textColor) + this.searchBox = new UpdatingTextBox(new TextChangedDelegate(this.SearchBoxTextChanged), Game1.content.Load("LooseSprites\\textBox"), (Texture2D)null, Game1.smallFont, Game1.textColor, mod.Helper.Reflection) { X = this.xPositionOnScreen + Game1.tileSize / 4 + Game1.tileSize * 8, Y = this.yPositionOnScreen + Game1.tileSize * 5 / 4 + Game1.pixelZoom + Game1.tileSize / 2, diff --git a/GeodeInfoMenu/Menus/SearchTabItem.cs b/GeodeInfoMenu/Menus/SearchTabItem.cs index e696deb..6a2f4a4 100644 --- a/GeodeInfoMenu/Menus/SearchTabItem.cs +++ b/GeodeInfoMenu/Menus/SearchTabItem.cs @@ -2,6 +2,7 @@ using Microsoft.Xna.Framework.Graphics; using StardewValley; using System; +using StardewValley.Menus; namespace GeodeInfoMenu.Menus { @@ -24,7 +25,8 @@ public SearchTabItem(int parentSheetIndex, Tuple[] breakableGeodes, bo /// The sprite batch to use /// X position of where to draw the item /// Y position of where to draw the item - public override void draw(SpriteBatch b, int slotX, int slotY) + /// The menu in which the item is being drawn, if applicable + public override void draw(SpriteBatch b, int slotX, int slotY, IClickableMenu context = null) { base.draw(b, slotX, slotY); float scaleSize = 1.5f; diff --git a/GeodeInfoMenu/Menus/UpdatingTextBox.cs b/GeodeInfoMenu/Menus/UpdatingTextBox.cs index 56fe966..ca31752 100644 --- a/GeodeInfoMenu/Menus/UpdatingTextBox.cs +++ b/GeodeInfoMenu/Menus/UpdatingTextBox.cs @@ -3,6 +3,8 @@ using Microsoft.Xna.Framework.Input; using StardewValley; using System; +using StardewModdingAPI; +using StardewValley.SDKs; using static GeodeInfoMenu.Menus.SearchTab; namespace GeodeInfoMenu.Menus @@ -25,7 +27,7 @@ public class UpdatingTextBox : IKeyboardSubscriber private bool _selected; /*** - * Changes from orignal class + * Changes from original class ***/ public string Text @@ -45,7 +47,8 @@ public string Text if (this._font.Characters.Contains(ch)) words += ch.ToString(); } - this._text = Program.sdk.FilterDirtyWords(words); + SDKHelper sdk = reflection.GetProperty(typeof(Program), "sdk").GetValue(); + this._text = sdk.FilterDirtyWords(words); if (!(!this.limitWidth || (double)this._font.MeasureString(this._text).X <= (double)(this.Width - Game1.tileSize / 3))) { this.Text = this._text.Substring(0, this._text.Length - 1); @@ -56,6 +59,7 @@ public string Text } private readonly TextChangedDelegate callback; + private readonly IReflectionHelper reflection; /*** * Existing Properties @@ -105,10 +109,11 @@ public bool Selected public delegate void UpdatingTextBoxEvent(UpdatingTextBox sender); - public UpdatingTextBox(TextChangedDelegate callback, Texture2D textBoxTexture, Texture2D caretTexture, SpriteFont font, Color textColor) + public UpdatingTextBox(TextChangedDelegate callback, Texture2D textBoxTexture, Texture2D caretTexture, SpriteFont font, Color textColor, IReflectionHelper reflection) { this._textBoxTexture = textBoxTexture; this.callback = callback; + this.reflection = reflection; if (textBoxTexture != null) { this.Width = textBoxTexture.Width; diff --git a/GiantCropRing/GiantCropRing.csproj b/GiantCropRing/GiantCropRing.csproj index 2e4af3f..8ad22c5 100644 --- a/GiantCropRing/GiantCropRing.csproj +++ b/GiantCropRing/GiantCropRing.csproj @@ -1,16 +1,11 @@  - - GiantCropRing - GiantCropRing 1.4.0 net452 - x86 - - + + - - \ No newline at end of file + diff --git a/GiantCropRing/ModEntry.cs b/GiantCropRing/ModEntry.cs index cb0f48b..db33159 100644 --- a/GiantCropRing/ModEntry.cs +++ b/GiantCropRing/ModEntry.cs @@ -152,12 +152,24 @@ private void MaybeChangeCrops(double chance, GameLocation environment) private List> GetValidCrops() { - return Game1.locations.Where(gl => gl is Farm).SelectMany(gl => (gl as Farm).terrainFeatures.Pairs.Where( - tf => - tf.Value is HoeDirt hd && hd.crop != null - && hd.state.Value == 1).Select(hd => - new Tuple(hd.Key, (hd.Value as HoeDirt).crop)) - .Where(c => !(c.Item2.dead.Value || !c.Item2.seasonsToGrowIn.Contains(Game1.currentSeason)))).ToList(); + return ( + from location in Game1.locations.OfType() + from feature in location.terrainFeatures.Pairs + + let tile = feature.Key + let dirt = feature.Value as HoeDirt + let crop = dirt?.crop + where + dirt.state.Value == HoeDirt.watered + && crop != null + && !crop.dead.Value + && ( + location.SeedsIgnoreSeasonsHere() + || crop.seasonsToGrowIn.Contains(location.GetSeasonForLocation()) + ) + + select Tuple.Create(tile, crop) + ).ToList(); } } } diff --git a/HatsOnCats/HatsOnCats.csproj b/HatsOnCats/HatsOnCats.csproj index 41076e3..4a6b5ac 100644 --- a/HatsOnCats/HatsOnCats.csproj +++ b/HatsOnCats/HatsOnCats.csproj @@ -1,23 +1,16 @@  - - HatsOnCats - HatsOnCats 1.3.0 net452 - x86 true - + - - D:\Steam\SteamApps\common\Stardew Valley\smapi-internal\Newtonsoft.Json.dll - + - - \ No newline at end of file + diff --git a/HoldToBreakGeodes/HoldToBreakGeodes.csproj b/HoldToBreakGeodes/HoldToBreakGeodes.csproj index 4603339..5496dd7 100644 --- a/HoldToBreakGeodes/HoldToBreakGeodes.csproj +++ b/HoldToBreakGeodes/HoldToBreakGeodes.csproj @@ -1,15 +1,10 @@  - - HoldToBreakGeodes - HoldToBreakGeodes 1.3.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/HoldToBreakGeodes/ModEntry.cs b/HoldToBreakGeodes/ModEntry.cs index 4dbbd04..0e806b2 100644 --- a/HoldToBreakGeodes/ModEntry.cs +++ b/HoldToBreakGeodes/ModEntry.cs @@ -53,7 +53,7 @@ private void OnUpdateTicked(object sender, UpdateTickedEventArgs e) // Re-send a left click to the geode menu if one is already not being broken, the player has the room and money for it, and the click was on the geode spot. if (e.IsMultipleOf(4) && this.Helper.Input.IsDown(SButton.MouseLeft) && Game1.activeClickableMenu is GeodeMenu menu) { - bool clintNotBusy = menu.heldItem != null && menu.heldItem.Name.Contains("Geode") && Game1.player.Money >= 25 && menu.geodeAnimationTimer <= 0; + bool clintNotBusy = menu.heldItem != null && Utility.IsGeode(menu.heldItem) && Game1.player.Money >= 25 && menu.geodeAnimationTimer <= 0; bool playerHasRoom = Game1.player.freeSpotsInInventory() > 1 || (Game1.player.freeSpotsInInventory() == 1 && menu.heldItem != null && menu.heldItem.Stack == 1); diff --git a/ModUpdateMenu/ModUpdateMenu.csproj b/ModUpdateMenu/ModUpdateMenu.csproj index b0ea1d1..916a1ed 100644 --- a/ModUpdateMenu/ModUpdateMenu.csproj +++ b/ModUpdateMenu/ModUpdateMenu.csproj @@ -1,21 +1,14 @@  - - ModUpdateMenu - ModUpdateMenu 1.4.1 net452 - x86 - + - - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\smapi-internal\SMAPI.Toolkit.dll - + - - \ No newline at end of file + diff --git a/NoCrows/NoCrows.csproj b/NoCrows/NoCrows.csproj index 76bd463..8d7fcf3 100644 --- a/NoCrows/NoCrows.csproj +++ b/NoCrows/NoCrows.csproj @@ -1,17 +1,12 @@  - - NoCrows - NoCrows 2.0.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/NoFenceDecay/NoFenceDecay.csproj b/NoFenceDecay/NoFenceDecay.csproj index 3e4c27d..9d850fd 100644 --- a/NoFenceDecay/NoFenceDecay.csproj +++ b/NoFenceDecay/NoFenceDecay.csproj @@ -1,15 +1,10 @@  - - NoFenceDecay - NoFenceDecay 1.5.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/Pong/ModEntry.cs b/Pong/ModEntry.cs index 39f54ba..b7b4d53 100644 --- a/Pong/ModEntry.cs +++ b/Pong/ModEntry.cs @@ -53,7 +53,7 @@ private void OnButtonPressed(object sender, ButtonPressedEventArgs e) if (this.currentMenu == null) return; - //e.SuppressButton(); + this.Helper.Input.Suppress(e.Button); if (this.currentMenu.OnButtonPressed(e)) SoundManager.PlayKeyPressSound(); } diff --git a/Pong/Pong.csproj b/Pong/Pong.csproj index d903ef7..bdf25ba 100644 --- a/Pong/Pong.csproj +++ b/Pong/Pong.csproj @@ -1,15 +1,10 @@  - - Pong - Pong 1.1.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/RangeDisplay/Framework/RangeHandling/RangeCreators/ScarecrowRangeCreator.cs b/RangeDisplay/Framework/RangeHandling/RangeCreators/ScarecrowRangeCreator.cs index 741995c..36d7235 100644 --- a/RangeDisplay/Framework/RangeHandling/RangeCreators/ScarecrowRangeCreator.cs +++ b/RangeDisplay/Framework/RangeHandling/RangeCreators/ScarecrowRangeCreator.cs @@ -41,15 +41,20 @@ public bool CanCreateRangeFor(SObject obj) /// The position the object is at. /// The location the object is in. /// The created range. + /// Derived from . public IEnumerable CreateRange(SObject obj, Vector2 position, GameLocation location) { - for (int x = -9; x < 10; x++) - for (int y = -9; y < 10; y++) + int radius = obj.Name.Contains("Deluxe") ? 17 : 9; + + for (int x = -radius; x <= radius; x++) + { + for (int y = -radius; y <= radius; y++) { - Vector2 item = new Vector2(position.X + x, position.Y + y); - if (Vector2.Distance(item, position) < 9.0) - yield return item; + Vector2 tile = new Vector2(position.X + x, position.Y + y); + if (Vector2.Distance(tile, position) < radius) + yield return tile; } + } } /// Called when the mod registry is ready. diff --git a/RangeDisplay/Framework/RangeHandling/RangeCreators/SprinklerRangeCreator.cs b/RangeDisplay/Framework/RangeHandling/RangeCreators/SprinklerRangeCreator.cs index 26bc183..b747137 100644 --- a/RangeDisplay/Framework/RangeHandling/RangeCreators/SprinklerRangeCreator.cs +++ b/RangeDisplay/Framework/RangeHandling/RangeCreators/SprinklerRangeCreator.cs @@ -2,7 +2,6 @@ using RangeDisplay.Framework.APIs; using StardewModdingAPI; using StardewValley; -using System; using System.Collections.Generic; using SObject = StardewValley.Object; @@ -57,7 +56,7 @@ public IEnumerable CreateRange(SObject obj, Vector2 position, GameLocat { if (this.betterSprinklersAPI == null) { - foreach (Vector2 pos in this.CreateVanillaRange(obj, position)) + foreach (Vector2 pos in obj.GetSprinklerTiles()) { yield return pos; } @@ -80,42 +79,6 @@ public IEnumerable CreateRange(SObject obj, Vector2 position, GameLocat } } - /// Creates the vanilla range for sprinklers. - /// The sprinkler. - /// The position the sprinkler is at. - /// The range. - public IEnumerable CreateVanillaRange(SObject obj, Vector2 position) - { - string objectName = obj.Name.ToLower(); - - yield return new Vector2(position.X - 1, position.Y); - yield return new Vector2(position.X + 1, position.Y); - yield return new Vector2(position.X, position.Y - 1); - yield return new Vector2(position.X, position.Y + 1); - - if (objectName.Contains("quality") || objectName.Contains("iridium")) - { - yield return new Vector2(position.X - 1, position.Y - 1); - yield return new Vector2(position.X + 1, position.Y - 1); - yield return new Vector2(position.X - 1, position.Y + 1); - yield return new Vector2(position.X + 1, position.Y + 1); - - if (objectName.Contains("iridium")) - { - for (int i = -2; i < 3; i++) - { - for (int j = -2; j < 3; j++) - { - if (Math.Abs(i) == 2 || Math.Abs(j) == 2) - { - yield return new Vector2(position.X + i, position.Y + j); - } - } - } - } - } - } - /// Called when the mod registry is ready. /// The mod registry. public void ModRegistryReady(IModRegistry registry) diff --git a/RangeDisplay/ModEntry.cs b/RangeDisplay/ModEntry.cs index d290add..197afc6 100644 --- a/RangeDisplay/ModEntry.cs +++ b/RangeDisplay/ModEntry.cs @@ -91,7 +91,7 @@ public override void Entry(IModHelper helper) this.config = helper.ReadConfig(); - helper.Events.Display.RenderingHud += this.OnRenderingHud; + helper.Events.Display.RenderedWorld += this.OnRenderedWorld; helper.Events.Input.ButtonPressed += this.OnButtonPressed; helper.Events.GameLoop.UpdateTicked += this.OnUpdateTicked; @@ -243,10 +243,10 @@ private void OnButtonPressed(object sender, ButtonPressedEventArgs e) } } - /// Raised after drawing the HUD (item toolbar, clock, etc) to the sprite batch, but before it's rendered to the screen. The vanilla HUD may be hidden at this point (e.g. because a menu is open). + /// Raised after the game world is drawn to the sprite patch, before it's rendered to the screen. Content drawn to the sprite batch at this point will be drawn over the world, but under any active menu, HUD elements, or cursor. /// The event sender. /// The event arguments. - private void OnRenderingHud(object sender, RenderingHudEventArgs e) + private void OnRenderedWorld(object sender, RenderedWorldEventArgs e) { if (!Context.IsWorldReady) return; diff --git a/RangeDisplay/RangeDisplay.csproj b/RangeDisplay/RangeDisplay.csproj index fd7b1f6..e13ae80 100644 --- a/RangeDisplay/RangeDisplay.csproj +++ b/RangeDisplay/RangeDisplay.csproj @@ -1,15 +1,10 @@  - - RangeDisplay - RangeDisplay 2.7.0 net452 - x86 - + - - \ No newline at end of file + diff --git a/RemovableHorseHats/RemovableHorseHats.csproj b/RemovableHorseHats/RemovableHorseHats.csproj index 689a908..e9e3bc9 100644 --- a/RemovableHorseHats/RemovableHorseHats.csproj +++ b/RemovableHorseHats/RemovableHorseHats.csproj @@ -1,17 +1,12 @@  - - RemovableHorseHats - RemovableHorseHats 1.1.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/SafeLightning/SafeLightning.csproj b/SafeLightning/SafeLightning.csproj index 762ba53..4651c9c 100644 --- a/SafeLightning/SafeLightning.csproj +++ b/SafeLightning/SafeLightning.csproj @@ -1,17 +1,12 @@  - - SafeLightning - SafeLightning 1.5.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/StackEverything/Patches/DrawInMenuPatch.cs b/StackEverything/Patches/DrawInMenuPatch.cs index 62bc03d..7920861 100644 --- a/StackEverything/Patches/DrawInMenuPatch.cs +++ b/StackEverything/Patches/DrawInMenuPatch.cs @@ -8,12 +8,12 @@ namespace StackEverything.Patches /// Draw stack size in inventories. internal class DrawInMenuPatch { - public static void Postfix(Item __instance, SpriteBatch spriteBatch, Vector2 location, float scaleSize, bool drawStackNumber) + public static void Postfix(Item __instance, SpriteBatch spriteBatch, Vector2 location, float scaleSize, StackDrawType drawStackNumber) { if (!StackEverythingMod.PatchedTypes.Any(item => item.IsInstanceOfType(__instance))) return; - if (drawStackNumber && __instance.maximumStackSize() > 1 && ((double)scaleSize > 0.3 && __instance.Stack != int.MaxValue) && __instance.Stack > 1) + if (((drawStackNumber == StackDrawType.Draw && __instance.maximumStackSize() > 1 && __instance.Stack > 1) || drawStackNumber == StackDrawType.Draw_OneInclusive) && (double)scaleSize > 0.3 && __instance.Stack != int.MaxValue) Utility.drawTinyDigits(__instance.Stack, spriteBatch, location + new Vector2((float)(Game1.tileSize - Utility.getWidthOfTinyDigitString(__instance.Stack, 3f * scaleSize)) + 3f * scaleSize, (float)((double)Game1.tileSize - 18.0 * (double)scaleSize + 2.0)), 3f * scaleSize, 1f, Color.White); } } diff --git a/StackEverything/StackEverything.csproj b/StackEverything/StackEverything.csproj index d6bb983..a9bb424 100644 --- a/StackEverything/StackEverything.csproj +++ b/StackEverything/StackEverything.csproj @@ -1,17 +1,12 @@  - - StackEverything - StackEverything 2.15.0 net452 - x86 true - + - - \ No newline at end of file + diff --git a/StardewMods.sln b/StardewMods.sln index fcd4520..18ab0b9 100644 --- a/StardewMods.sln +++ b/StardewMods.sln @@ -79,409 +79,141 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Debug|x64.ActiveCfg = Debug|Any CPU - {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Debug|x64.Build.0 = Debug|Any CPU - {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Debug|x86.ActiveCfg = Debug|Any CPU - {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Debug|x86.Build.0 = Debug|Any CPU {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Release|Any CPU.ActiveCfg = Release|Any CPU {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Release|Any CPU.Build.0 = Release|Any CPU - {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Release|x64.ActiveCfg = Release|Any CPU - {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Release|x64.Build.0 = Release|Any CPU - {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Release|x86.ActiveCfg = Release|Any CPU - {32A2349B-E2D3-4A8D-B1DC-5245D57238C2}.Release|x86.Build.0 = Release|Any CPU {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Debug|x64.ActiveCfg = Debug|Any CPU - {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Debug|x64.Build.0 = Debug|Any CPU - {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Debug|x86.ActiveCfg = Debug|Any CPU - {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Debug|x86.Build.0 = Debug|Any CPU {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Release|Any CPU.ActiveCfg = Release|Any CPU {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Release|Any CPU.Build.0 = Release|Any CPU - {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Release|x64.ActiveCfg = Release|Any CPU - {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Release|x64.Build.0 = Release|Any CPU - {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Release|x86.ActiveCfg = Release|Any CPU - {F4AC84CC-F578-4553-8DE1-EC9F851D3700}.Release|x86.Build.0 = Release|Any CPU {B0C1C09B-830E-456A-B052-3B60EB38607E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B0C1C09B-830E-456A-B052-3B60EB38607E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B0C1C09B-830E-456A-B052-3B60EB38607E}.Debug|x64.ActiveCfg = Debug|Any CPU - {B0C1C09B-830E-456A-B052-3B60EB38607E}.Debug|x64.Build.0 = Debug|Any CPU - {B0C1C09B-830E-456A-B052-3B60EB38607E}.Debug|x86.ActiveCfg = Debug|Any CPU - {B0C1C09B-830E-456A-B052-3B60EB38607E}.Debug|x86.Build.0 = Debug|Any CPU {B0C1C09B-830E-456A-B052-3B60EB38607E}.Release|Any CPU.ActiveCfg = Release|Any CPU {B0C1C09B-830E-456A-B052-3B60EB38607E}.Release|Any CPU.Build.0 = Release|Any CPU - {B0C1C09B-830E-456A-B052-3B60EB38607E}.Release|x64.ActiveCfg = Release|Any CPU - {B0C1C09B-830E-456A-B052-3B60EB38607E}.Release|x64.Build.0 = Release|Any CPU - {B0C1C09B-830E-456A-B052-3B60EB38607E}.Release|x86.ActiveCfg = Release|Any CPU - {B0C1C09B-830E-456A-B052-3B60EB38607E}.Release|x86.Build.0 = Release|Any CPU {25913FD8-607A-4129-9E1E-6BD730AA1927}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {25913FD8-607A-4129-9E1E-6BD730AA1927}.Debug|Any CPU.Build.0 = Debug|Any CPU - {25913FD8-607A-4129-9E1E-6BD730AA1927}.Debug|x64.ActiveCfg = Debug|Any CPU - {25913FD8-607A-4129-9E1E-6BD730AA1927}.Debug|x64.Build.0 = Debug|Any CPU - {25913FD8-607A-4129-9E1E-6BD730AA1927}.Debug|x86.ActiveCfg = Debug|Any CPU - {25913FD8-607A-4129-9E1E-6BD730AA1927}.Debug|x86.Build.0 = Debug|Any CPU {25913FD8-607A-4129-9E1E-6BD730AA1927}.Release|Any CPU.ActiveCfg = Release|Any CPU {25913FD8-607A-4129-9E1E-6BD730AA1927}.Release|Any CPU.Build.0 = Release|Any CPU - {25913FD8-607A-4129-9E1E-6BD730AA1927}.Release|x64.ActiveCfg = Release|Any CPU - {25913FD8-607A-4129-9E1E-6BD730AA1927}.Release|x64.Build.0 = Release|Any CPU - {25913FD8-607A-4129-9E1E-6BD730AA1927}.Release|x86.ActiveCfg = Release|Any CPU - {25913FD8-607A-4129-9E1E-6BD730AA1927}.Release|x86.Build.0 = Release|Any CPU {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Debug|Any CPU.Build.0 = Debug|Any CPU - {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Debug|x64.ActiveCfg = Debug|Any CPU - {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Debug|x64.Build.0 = Debug|Any CPU - {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Debug|x86.ActiveCfg = Debug|Any CPU - {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Debug|x86.Build.0 = Debug|Any CPU {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Release|Any CPU.ActiveCfg = Release|Any CPU {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Release|Any CPU.Build.0 = Release|Any CPU - {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Release|x64.ActiveCfg = Release|Any CPU - {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Release|x64.Build.0 = Release|Any CPU - {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Release|x86.ActiveCfg = Release|Any CPU - {128B627C-2EF4-42F5-B397-1C3F9593CC42}.Release|x86.Build.0 = Release|Any CPU {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Debug|x64.ActiveCfg = Debug|Any CPU - {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Debug|x64.Build.0 = Debug|Any CPU - {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Debug|x86.ActiveCfg = Debug|Any CPU - {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Debug|x86.Build.0 = Debug|Any CPU {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Release|Any CPU.ActiveCfg = Release|Any CPU {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Release|Any CPU.Build.0 = Release|Any CPU - {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Release|x64.ActiveCfg = Release|Any CPU - {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Release|x64.Build.0 = Release|Any CPU - {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Release|x86.ActiveCfg = Release|Any CPU - {BE70CF1D-24BB-498F-A38C-AD931AB9417D}.Release|x86.Build.0 = Release|Any CPU {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Debug|x64.ActiveCfg = Debug|Any CPU - {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Debug|x64.Build.0 = Debug|Any CPU - {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Debug|x86.ActiveCfg = Debug|Any CPU - {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Debug|x86.Build.0 = Debug|Any CPU {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Release|Any CPU.ActiveCfg = Release|Any CPU {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Release|Any CPU.Build.0 = Release|Any CPU - {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Release|x64.ActiveCfg = Release|Any CPU - {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Release|x64.Build.0 = Release|Any CPU - {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Release|x86.ActiveCfg = Release|Any CPU - {DAADB4B6-9A38-46BD-97FA-8B5EE161616B}.Release|x86.Build.0 = Release|Any CPU {25F15391-8E82-40B9-8237-778061DD3436}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {25F15391-8E82-40B9-8237-778061DD3436}.Debug|Any CPU.Build.0 = Debug|Any CPU - {25F15391-8E82-40B9-8237-778061DD3436}.Debug|x64.ActiveCfg = Debug|Any CPU - {25F15391-8E82-40B9-8237-778061DD3436}.Debug|x64.Build.0 = Debug|Any CPU - {25F15391-8E82-40B9-8237-778061DD3436}.Debug|x86.ActiveCfg = Debug|Any CPU - {25F15391-8E82-40B9-8237-778061DD3436}.Debug|x86.Build.0 = Debug|Any CPU {25F15391-8E82-40B9-8237-778061DD3436}.Release|Any CPU.ActiveCfg = Release|Any CPU {25F15391-8E82-40B9-8237-778061DD3436}.Release|Any CPU.Build.0 = Release|Any CPU - {25F15391-8E82-40B9-8237-778061DD3436}.Release|x64.ActiveCfg = Release|Any CPU - {25F15391-8E82-40B9-8237-778061DD3436}.Release|x64.Build.0 = Release|Any CPU - {25F15391-8E82-40B9-8237-778061DD3436}.Release|x86.ActiveCfg = Release|Any CPU - {25F15391-8E82-40B9-8237-778061DD3436}.Release|x86.Build.0 = Release|Any CPU {B49CCD76-7D44-41E2-8479-FC94672290CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B49CCD76-7D44-41E2-8479-FC94672290CC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B49CCD76-7D44-41E2-8479-FC94672290CC}.Debug|x64.ActiveCfg = Debug|Any CPU - {B49CCD76-7D44-41E2-8479-FC94672290CC}.Debug|x64.Build.0 = Debug|Any CPU - {B49CCD76-7D44-41E2-8479-FC94672290CC}.Debug|x86.ActiveCfg = Debug|Any CPU - {B49CCD76-7D44-41E2-8479-FC94672290CC}.Debug|x86.Build.0 = Debug|Any CPU {B49CCD76-7D44-41E2-8479-FC94672290CC}.Release|Any CPU.ActiveCfg = Release|Any CPU {B49CCD76-7D44-41E2-8479-FC94672290CC}.Release|Any CPU.Build.0 = Release|Any CPU - {B49CCD76-7D44-41E2-8479-FC94672290CC}.Release|x64.ActiveCfg = Release|Any CPU - {B49CCD76-7D44-41E2-8479-FC94672290CC}.Release|x64.Build.0 = Release|Any CPU - {B49CCD76-7D44-41E2-8479-FC94672290CC}.Release|x86.ActiveCfg = Release|Any CPU - {B49CCD76-7D44-41E2-8479-FC94672290CC}.Release|x86.Build.0 = Release|Any CPU {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Debug|Any CPU.Build.0 = Debug|Any CPU - {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Debug|x64.ActiveCfg = Debug|Any CPU - {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Debug|x64.Build.0 = Debug|Any CPU - {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Debug|x86.ActiveCfg = Debug|Any CPU - {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Debug|x86.Build.0 = Debug|Any CPU {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Release|Any CPU.ActiveCfg = Release|Any CPU {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Release|Any CPU.Build.0 = Release|Any CPU - {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Release|x64.ActiveCfg = Release|Any CPU - {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Release|x64.Build.0 = Release|Any CPU - {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Release|x86.ActiveCfg = Release|Any CPU - {286D4E71-7C85-44D9-8986-70BCD1EE5549}.Release|x86.Build.0 = Release|Any CPU {95634837-8380-4DCC-907B-69A2480D00A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {95634837-8380-4DCC-907B-69A2480D00A5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {95634837-8380-4DCC-907B-69A2480D00A5}.Debug|x64.ActiveCfg = Debug|Any CPU - {95634837-8380-4DCC-907B-69A2480D00A5}.Debug|x64.Build.0 = Debug|Any CPU - {95634837-8380-4DCC-907B-69A2480D00A5}.Debug|x86.ActiveCfg = Debug|Any CPU - {95634837-8380-4DCC-907B-69A2480D00A5}.Debug|x86.Build.0 = Debug|Any CPU {95634837-8380-4DCC-907B-69A2480D00A5}.Release|Any CPU.ActiveCfg = Release|Any CPU {95634837-8380-4DCC-907B-69A2480D00A5}.Release|Any CPU.Build.0 = Release|Any CPU - {95634837-8380-4DCC-907B-69A2480D00A5}.Release|x64.ActiveCfg = Release|Any CPU - {95634837-8380-4DCC-907B-69A2480D00A5}.Release|x64.Build.0 = Release|Any CPU - {95634837-8380-4DCC-907B-69A2480D00A5}.Release|x86.ActiveCfg = Release|Any CPU - {95634837-8380-4DCC-907B-69A2480D00A5}.Release|x86.Build.0 = Release|Any CPU {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Debug|Any CPU.Build.0 = Debug|Any CPU - {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Debug|x64.ActiveCfg = Debug|Any CPU - {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Debug|x64.Build.0 = Debug|Any CPU - {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Debug|x86.ActiveCfg = Debug|Any CPU - {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Debug|x86.Build.0 = Debug|Any CPU {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Release|Any CPU.ActiveCfg = Release|Any CPU {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Release|Any CPU.Build.0 = Release|Any CPU - {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Release|x64.ActiveCfg = Release|Any CPU - {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Release|x64.Build.0 = Release|Any CPU - {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Release|x86.ActiveCfg = Release|Any CPU - {00C9D8B3-5DF5-4D9D-8735-2FE82B2AF207}.Release|x86.Build.0 = Release|Any CPU {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Debug|x64.ActiveCfg = Debug|Any CPU - {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Debug|x64.Build.0 = Debug|Any CPU - {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Debug|x86.ActiveCfg = Debug|Any CPU - {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Debug|x86.Build.0 = Debug|Any CPU {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Release|Any CPU.ActiveCfg = Release|Any CPU {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Release|Any CPU.Build.0 = Release|Any CPU - {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Release|x64.ActiveCfg = Release|Any CPU - {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Release|x64.Build.0 = Release|Any CPU - {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Release|x86.ActiveCfg = Release|Any CPU - {1B4A695D-7B7D-4EF5-B7CB-331A2A2F85EF}.Release|x86.Build.0 = Release|Any CPU {3018251A-05BA-4904-8094-1D3BC080BE17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3018251A-05BA-4904-8094-1D3BC080BE17}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3018251A-05BA-4904-8094-1D3BC080BE17}.Debug|x64.ActiveCfg = Debug|Any CPU - {3018251A-05BA-4904-8094-1D3BC080BE17}.Debug|x64.Build.0 = Debug|Any CPU - {3018251A-05BA-4904-8094-1D3BC080BE17}.Debug|x86.ActiveCfg = Debug|Any CPU - {3018251A-05BA-4904-8094-1D3BC080BE17}.Debug|x86.Build.0 = Debug|Any CPU {3018251A-05BA-4904-8094-1D3BC080BE17}.Release|Any CPU.ActiveCfg = Release|Any CPU {3018251A-05BA-4904-8094-1D3BC080BE17}.Release|Any CPU.Build.0 = Release|Any CPU - {3018251A-05BA-4904-8094-1D3BC080BE17}.Release|x64.ActiveCfg = Release|Any CPU - {3018251A-05BA-4904-8094-1D3BC080BE17}.Release|x64.Build.0 = Release|Any CPU - {3018251A-05BA-4904-8094-1D3BC080BE17}.Release|x86.ActiveCfg = Release|Any CPU - {3018251A-05BA-4904-8094-1D3BC080BE17}.Release|x86.Build.0 = Release|Any CPU {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Debug|x64.ActiveCfg = Debug|Any CPU - {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Debug|x64.Build.0 = Debug|Any CPU - {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Debug|x86.ActiveCfg = Debug|Any CPU - {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Debug|x86.Build.0 = Debug|Any CPU {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Release|Any CPU.ActiveCfg = Release|Any CPU {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Release|Any CPU.Build.0 = Release|Any CPU - {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Release|x64.ActiveCfg = Release|Any CPU - {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Release|x64.Build.0 = Release|Any CPU - {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Release|x86.ActiveCfg = Release|Any CPU - {E15C2F58-B30C-4ECD-8747-FFAB3D8081D8}.Release|x86.Build.0 = Release|Any CPU {78582F77-925E-400D-A14E-E437C9FF921D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {78582F77-925E-400D-A14E-E437C9FF921D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {78582F77-925E-400D-A14E-E437C9FF921D}.Debug|x64.ActiveCfg = Debug|Any CPU - {78582F77-925E-400D-A14E-E437C9FF921D}.Debug|x64.Build.0 = Debug|Any CPU - {78582F77-925E-400D-A14E-E437C9FF921D}.Debug|x86.ActiveCfg = Debug|Any CPU - {78582F77-925E-400D-A14E-E437C9FF921D}.Debug|x86.Build.0 = Debug|Any CPU {78582F77-925E-400D-A14E-E437C9FF921D}.Release|Any CPU.ActiveCfg = Release|Any CPU {78582F77-925E-400D-A14E-E437C9FF921D}.Release|Any CPU.Build.0 = Release|Any CPU - {78582F77-925E-400D-A14E-E437C9FF921D}.Release|x64.ActiveCfg = Release|Any CPU - {78582F77-925E-400D-A14E-E437C9FF921D}.Release|x64.Build.0 = Release|Any CPU - {78582F77-925E-400D-A14E-E437C9FF921D}.Release|x86.ActiveCfg = Release|Any CPU - {78582F77-925E-400D-A14E-E437C9FF921D}.Release|x86.Build.0 = Release|Any CPU {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Debug|x64.ActiveCfg = Debug|Any CPU - {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Debug|x64.Build.0 = Debug|Any CPU - {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Debug|x86.ActiveCfg = Debug|Any CPU - {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Debug|x86.Build.0 = Debug|Any CPU {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Release|Any CPU.ActiveCfg = Release|Any CPU {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Release|Any CPU.Build.0 = Release|Any CPU - {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Release|x64.ActiveCfg = Release|Any CPU - {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Release|x64.Build.0 = Release|Any CPU - {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Release|x86.ActiveCfg = Release|Any CPU - {D5882AA8-4299-4A16-8E36-8C3FB5C30231}.Release|x86.Build.0 = Release|Any CPU {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Debug|x64.ActiveCfg = Debug|Any CPU - {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Debug|x64.Build.0 = Debug|Any CPU - {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Debug|x86.ActiveCfg = Debug|Any CPU - {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Debug|x86.Build.0 = Debug|Any CPU {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Release|Any CPU.ActiveCfg = Release|Any CPU {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Release|Any CPU.Build.0 = Release|Any CPU - {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Release|x64.ActiveCfg = Release|Any CPU - {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Release|x64.Build.0 = Release|Any CPU - {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Release|x86.ActiveCfg = Release|Any CPU - {8A3C9F04-DA76-4636-A82E-418A341A87BC}.Release|x86.Build.0 = Release|Any CPU {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Debug|x64.ActiveCfg = Debug|Any CPU - {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Debug|x64.Build.0 = Debug|Any CPU - {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Debug|x86.ActiveCfg = Debug|Any CPU - {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Debug|x86.Build.0 = Debug|Any CPU {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Release|Any CPU.ActiveCfg = Release|Any CPU {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Release|Any CPU.Build.0 = Release|Any CPU - {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Release|x64.ActiveCfg = Release|Any CPU - {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Release|x64.Build.0 = Release|Any CPU - {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Release|x86.ActiveCfg = Release|Any CPU - {64090A36-BDC4-401D-911B-5C6A5DD147E3}.Release|x86.Build.0 = Release|Any CPU {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Debug|x64.ActiveCfg = Debug|Any CPU - {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Debug|x64.Build.0 = Debug|Any CPU - {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Debug|x86.ActiveCfg = Debug|Any CPU - {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Debug|x86.Build.0 = Debug|Any CPU {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Release|Any CPU.ActiveCfg = Release|Any CPU {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Release|Any CPU.Build.0 = Release|Any CPU - {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Release|x64.ActiveCfg = Release|Any CPU - {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Release|x64.Build.0 = Release|Any CPU - {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Release|x86.ActiveCfg = Release|Any CPU - {0A3794A3-679B-4B9C-9A65-DBEEAD06F9AE}.Release|x86.Build.0 = Release|Any CPU {485C5B82-0DE8-492A-B858-1C2E79207776}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {485C5B82-0DE8-492A-B858-1C2E79207776}.Debug|Any CPU.Build.0 = Debug|Any CPU - {485C5B82-0DE8-492A-B858-1C2E79207776}.Debug|x64.ActiveCfg = Debug|Any CPU - {485C5B82-0DE8-492A-B858-1C2E79207776}.Debug|x64.Build.0 = Debug|Any CPU - {485C5B82-0DE8-492A-B858-1C2E79207776}.Debug|x86.ActiveCfg = Debug|Any CPU - {485C5B82-0DE8-492A-B858-1C2E79207776}.Debug|x86.Build.0 = Debug|Any CPU {485C5B82-0DE8-492A-B858-1C2E79207776}.Release|Any CPU.ActiveCfg = Release|Any CPU {485C5B82-0DE8-492A-B858-1C2E79207776}.Release|Any CPU.Build.0 = Release|Any CPU - {485C5B82-0DE8-492A-B858-1C2E79207776}.Release|x64.ActiveCfg = Release|Any CPU - {485C5B82-0DE8-492A-B858-1C2E79207776}.Release|x64.Build.0 = Release|Any CPU - {485C5B82-0DE8-492A-B858-1C2E79207776}.Release|x86.ActiveCfg = Release|Any CPU - {485C5B82-0DE8-492A-B858-1C2E79207776}.Release|x86.Build.0 = Release|Any CPU {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Debug|x64.ActiveCfg = Debug|Any CPU - {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Debug|x64.Build.0 = Debug|Any CPU - {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Debug|x86.ActiveCfg = Debug|Any CPU - {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Debug|x86.Build.0 = Debug|Any CPU {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Release|Any CPU.ActiveCfg = Release|Any CPU {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Release|Any CPU.Build.0 = Release|Any CPU - {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Release|x64.ActiveCfg = Release|Any CPU - {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Release|x64.Build.0 = Release|Any CPU - {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Release|x86.ActiveCfg = Release|Any CPU - {6C42D66F-3626-43A4-A2C6-F68DD7BFA365}.Release|x86.Build.0 = Release|Any CPU {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Debug|x64.ActiveCfg = Debug|Any CPU - {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Debug|x64.Build.0 = Debug|Any CPU - {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Debug|x86.ActiveCfg = Debug|Any CPU - {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Debug|x86.Build.0 = Debug|Any CPU {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Release|Any CPU.ActiveCfg = Release|Any CPU {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Release|Any CPU.Build.0 = Release|Any CPU - {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Release|x64.ActiveCfg = Release|Any CPU - {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Release|x64.Build.0 = Release|Any CPU - {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Release|x86.ActiveCfg = Release|Any CPU - {5CAB5968-D372-44FE-85E9-F0C8D7E8015F}.Release|x86.Build.0 = Release|Any CPU {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Debug|Any CPU.Build.0 = Debug|Any CPU - {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Debug|x64.ActiveCfg = Debug|Any CPU - {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Debug|x64.Build.0 = Debug|Any CPU - {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Debug|x86.ActiveCfg = Debug|Any CPU - {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Debug|x86.Build.0 = Debug|Any CPU {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Release|Any CPU.ActiveCfg = Release|Any CPU {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Release|Any CPU.Build.0 = Release|Any CPU - {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Release|x64.ActiveCfg = Release|Any CPU - {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Release|x64.Build.0 = Release|Any CPU - {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Release|x86.ActiveCfg = Release|Any CPU - {69E55477-A85A-4C22-ADF7-2D0FA9038C86}.Release|x86.Build.0 = Release|Any CPU {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Debug|x64.ActiveCfg = Debug|Any CPU - {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Debug|x64.Build.0 = Debug|Any CPU - {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Debug|x86.ActiveCfg = Debug|Any CPU - {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Debug|x86.Build.0 = Debug|Any CPU {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Release|Any CPU.ActiveCfg = Release|Any CPU {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Release|Any CPU.Build.0 = Release|Any CPU - {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Release|x64.ActiveCfg = Release|Any CPU - {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Release|x64.Build.0 = Release|Any CPU - {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Release|x86.ActiveCfg = Release|Any CPU - {B1F0301D-8081-4FB1-AB7E-B6C1821850C1}.Release|x86.Build.0 = Release|Any CPU {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Debug|Any CPU.Build.0 = Debug|Any CPU - {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Debug|x64.ActiveCfg = Debug|Any CPU - {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Debug|x64.Build.0 = Debug|Any CPU - {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Debug|x86.ActiveCfg = Debug|Any CPU - {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Debug|x86.Build.0 = Debug|Any CPU {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Release|Any CPU.ActiveCfg = Release|Any CPU {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Release|Any CPU.Build.0 = Release|Any CPU - {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Release|x64.ActiveCfg = Release|Any CPU - {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Release|x64.Build.0 = Release|Any CPU - {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Release|x86.ActiveCfg = Release|Any CPU - {20484AB8-9CD4-4DE7-9A87-4A947EC79821}.Release|x86.Build.0 = Release|Any CPU {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Debug|x64.ActiveCfg = Debug|Any CPU - {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Debug|x64.Build.0 = Debug|Any CPU - {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Debug|x86.ActiveCfg = Debug|Any CPU - {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Debug|x86.Build.0 = Debug|Any CPU {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Release|Any CPU.ActiveCfg = Release|Any CPU {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Release|Any CPU.Build.0 = Release|Any CPU - {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Release|x64.ActiveCfg = Release|Any CPU - {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Release|x64.Build.0 = Release|Any CPU - {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Release|x86.ActiveCfg = Release|Any CPU - {01E10EE8-E18C-4113-809F-8B82FF2A347A}.Release|x86.Build.0 = Release|Any CPU {6403087D-3755-438D-B5EC-891D575CF5BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6403087D-3755-438D-B5EC-891D575CF5BE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6403087D-3755-438D-B5EC-891D575CF5BE}.Debug|x64.ActiveCfg = Debug|Any CPU - {6403087D-3755-438D-B5EC-891D575CF5BE}.Debug|x64.Build.0 = Debug|Any CPU - {6403087D-3755-438D-B5EC-891D575CF5BE}.Debug|x86.ActiveCfg = Debug|Any CPU - {6403087D-3755-438D-B5EC-891D575CF5BE}.Debug|x86.Build.0 = Debug|Any CPU {6403087D-3755-438D-B5EC-891D575CF5BE}.Release|Any CPU.ActiveCfg = Release|Any CPU {6403087D-3755-438D-B5EC-891D575CF5BE}.Release|Any CPU.Build.0 = Release|Any CPU - {6403087D-3755-438D-B5EC-891D575CF5BE}.Release|x64.ActiveCfg = Release|Any CPU - {6403087D-3755-438D-B5EC-891D575CF5BE}.Release|x64.Build.0 = Release|Any CPU - {6403087D-3755-438D-B5EC-891D575CF5BE}.Release|x86.ActiveCfg = Release|Any CPU - {6403087D-3755-438D-B5EC-891D575CF5BE}.Release|x86.Build.0 = Release|Any CPU {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Debug|x64.ActiveCfg = Debug|Any CPU - {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Debug|x64.Build.0 = Debug|Any CPU - {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Debug|x86.ActiveCfg = Debug|Any CPU - {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Debug|x86.Build.0 = Debug|Any CPU {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Release|Any CPU.ActiveCfg = Release|Any CPU {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Release|Any CPU.Build.0 = Release|Any CPU - {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Release|x64.ActiveCfg = Release|Any CPU - {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Release|x64.Build.0 = Release|Any CPU - {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Release|x86.ActiveCfg = Release|Any CPU - {0EA8E985-1BD6-4BA8-B3A3-A751186FB798}.Release|x86.Build.0 = Release|Any CPU {359174FF-E351-4B83-9825-7EC16E9190E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {359174FF-E351-4B83-9825-7EC16E9190E9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {359174FF-E351-4B83-9825-7EC16E9190E9}.Debug|x64.ActiveCfg = Debug|Any CPU - {359174FF-E351-4B83-9825-7EC16E9190E9}.Debug|x64.Build.0 = Debug|Any CPU - {359174FF-E351-4B83-9825-7EC16E9190E9}.Debug|x86.ActiveCfg = Debug|Any CPU - {359174FF-E351-4B83-9825-7EC16E9190E9}.Debug|x86.Build.0 = Debug|Any CPU {359174FF-E351-4B83-9825-7EC16E9190E9}.Release|Any CPU.ActiveCfg = Release|Any CPU {359174FF-E351-4B83-9825-7EC16E9190E9}.Release|Any CPU.Build.0 = Release|Any CPU - {359174FF-E351-4B83-9825-7EC16E9190E9}.Release|x64.ActiveCfg = Release|Any CPU - {359174FF-E351-4B83-9825-7EC16E9190E9}.Release|x64.Build.0 = Release|Any CPU - {359174FF-E351-4B83-9825-7EC16E9190E9}.Release|x86.ActiveCfg = Release|Any CPU - {359174FF-E351-4B83-9825-7EC16E9190E9}.Release|x86.Build.0 = Release|Any CPU {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Debug|x64.ActiveCfg = Debug|Any CPU - {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Debug|x64.Build.0 = Debug|Any CPU - {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Debug|x86.ActiveCfg = Debug|Any CPU - {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Debug|x86.Build.0 = Debug|Any CPU {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Release|Any CPU.ActiveCfg = Release|Any CPU {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Release|Any CPU.Build.0 = Release|Any CPU - {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Release|x64.ActiveCfg = Release|Any CPU - {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Release|x64.Build.0 = Release|Any CPU - {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Release|x86.ActiveCfg = Release|Any CPU - {D9A78F16-4826-43E5-A2B5-0001F0637F45}.Release|x86.Build.0 = Release|Any CPU {A65A9570-E318-4546-BAD0-60E953722590}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A65A9570-E318-4546-BAD0-60E953722590}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A65A9570-E318-4546-BAD0-60E953722590}.Debug|x64.ActiveCfg = Debug|Any CPU - {A65A9570-E318-4546-BAD0-60E953722590}.Debug|x64.Build.0 = Debug|Any CPU - {A65A9570-E318-4546-BAD0-60E953722590}.Debug|x86.ActiveCfg = Debug|Any CPU - {A65A9570-E318-4546-BAD0-60E953722590}.Debug|x86.Build.0 = Debug|Any CPU {A65A9570-E318-4546-BAD0-60E953722590}.Release|Any CPU.ActiveCfg = Release|Any CPU {A65A9570-E318-4546-BAD0-60E953722590}.Release|Any CPU.Build.0 = Release|Any CPU - {A65A9570-E318-4546-BAD0-60E953722590}.Release|x64.ActiveCfg = Release|Any CPU - {A65A9570-E318-4546-BAD0-60E953722590}.Release|x64.Build.0 = Release|Any CPU - {A65A9570-E318-4546-BAD0-60E953722590}.Release|x86.ActiveCfg = Release|Any CPU - {A65A9570-E318-4546-BAD0-60E953722590}.Release|x86.Build.0 = Release|Any CPU {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Debug|x64.ActiveCfg = Debug|Any CPU - {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Debug|x64.Build.0 = Debug|Any CPU - {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Debug|x86.ActiveCfg = Debug|Any CPU - {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Debug|x86.Build.0 = Debug|Any CPU {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Release|Any CPU.ActiveCfg = Release|Any CPU {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Release|Any CPU.Build.0 = Release|Any CPU - {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Release|x64.ActiveCfg = Release|Any CPU - {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Release|x64.Build.0 = Release|Any CPU - {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Release|x86.ActiveCfg = Release|Any CPU - {42DE7351-807C-40C2-B62F-CBFC50A502A9}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/WindEffects/Framework/Shakers/TreeShaker.cs b/WindEffects/Framework/Shakers/TreeShaker.cs index 7b1bb98..c82c4b4 100644 --- a/WindEffects/Framework/Shakers/TreeShaker.cs +++ b/WindEffects/Framework/Shakers/TreeShaker.cs @@ -46,10 +46,10 @@ public void Shake(IReflectionHelper helper, Vector2 tile) leaves.Add(new Leaf(new Vector2((float)Game1.random.Next((int)((double)tile.X * 64.0 - 64.0), (int)((double)tile.X * 64.0 + 128.0)), (float)Game1.random.Next((int)((double)tile.Y * 64.0 - 256.0), (int)((double)tile.Y * 64.0 - 192.0))), (float)Game1.random.Next(-10, 10) / 100f, Game1.random.Next(4), (float)Game1.random.Next(5) / 10f)); } - if (Game1.random.NextDouble() < 0.01 && (Game1.currentSeason.Equals("spring") || Game1.currentSeason.Equals("summer"))) + if (Game1.random.NextDouble() < 0.01 && (this.tree.currentLocation.GetSeasonForLocation().Equals("spring") || this.tree.currentLocation.GetSeasonForLocation().Equals("summer") || this.tree.currentLocation.GetLocationContext() == GameLocation.LocationContext.Island)) { while (Game1.random.NextDouble() < 0.8) - location.addCritter((Critter)new Butterfly(new Vector2(tile.X + (float)Game1.random.Next(1, 3), tile.Y - 2f + (float)Game1.random.Next(-1, 2)))); + location.addCritter((Critter)new Butterfly(new Vector2(tile.X + (float)Game1.random.Next(1, 3), tile.Y - 2f + (float)Game1.random.Next(-1, 2)), this.tree.currentLocation.GetLocationContext() == GameLocation.LocationContext.Island)); } } else diff --git a/WindEffects/WindEffects.csproj b/WindEffects/WindEffects.csproj index 3d8b642..fec5773 100644 --- a/WindEffects/WindEffects.csproj +++ b/WindEffects/WindEffects.csproj @@ -1,19 +1,10 @@  - - WindEffects - WindEffects 1.0.0 net452 - x86 - + - - - - - - \ No newline at end of file + diff --git a/WinterGrass/WinterGrass.csproj b/WinterGrass/WinterGrass.csproj index 43675fb..8d7fcf3 100644 --- a/WinterGrass/WinterGrass.csproj +++ b/WinterGrass/WinterGrass.csproj @@ -1,17 +1,12 @@  - - WinterGrass - WinterGrass 2.0.0 net452 - x86 true - + - - \ No newline at end of file +