diff --git a/ShaderExample/ShaderExample.sln b/ShaderExample/ShaderExample.sln new file mode 100644 index 00000000..37d4f76a --- /dev/null +++ b/ShaderExample/ShaderExample.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27428.2037 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShaderExample", "ShaderExample\ShaderExample.csproj", "{9F6B98B4-BE76-42A2-8A9B-D6361B20DEAE}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9F6B98B4-BE76-42A2-8A9B-D6361B20DEAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F6B98B4-BE76-42A2-8A9B-D6361B20DEAE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9F6B98B4-BE76-42A2-8A9B-D6361B20DEAE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9F6B98B4-BE76-42A2-8A9B-D6361B20DEAE}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {256AADFC-A160-4225-9781-5E9DA95732AF} + EndGlobalSection +EndGlobal diff --git a/ShaderExample/ShaderExample/Class1.cs b/ShaderExample/ShaderExample/Class1.cs new file mode 100644 index 00000000..e79628a7 --- /dev/null +++ b/ShaderExample/ShaderExample/Class1.cs @@ -0,0 +1,197 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using StardewModdingAPI; +using StardewValley; +using StardewValley.Buildings; +using StardewValley.Menus; +using StardewValley.Projectiles; +using StardewValley.TerrainFeatures; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using xTile.Dimensions; + +using xRectangle = xTile.Dimensions.Rectangle; +using Rectangle = Microsoft.Xna.Framework.Rectangle; +using xTile.Layers; +using StardewValley.Tools; +using StardewValley.Locations; + +namespace ShaderExample +{ + class Class1 : Mod + { + public static Effect effect; + + + public override void Entry(IModHelper helper) + { + //StardewModdingAPI.Events.GraphicsEvents.OnPreRenderEvent += GraphicsEvents_OnPreRenderEvent; + + //Need to make checks to see what location I am at and have custom shader functions for those events. + + StardewModdingAPI.Events.GraphicsEvents.OnPostRenderEvent += GraphicsEvents_OnPreRenderEvent; + //StardewModdingAPI.Events.GraphicsEvents.OnPreRenderEvent += GraphicsEvents_OnPreRenderEvent; + + //StardewModdingAPI.Events.GraphicsEvents.OnPostRenderEvent += GraphicsEvents_OnPreRenderEvent1; + effect = Helper.Content.Load(Path.Combine("Content", "Shaders", "GreyScaleEffect.xnb")); + + + } + + private void GraphicsEvents_OnPreRenderEvent(object sender, EventArgs e) + { + + + + + + try + { + Game1.spriteBatch.End(); + } + catch(Exception err) + { + return; + } + if (Game1.activeClickableMenu != null) + { + Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + SetInstanceField(typeof(SpriteBatch), Game1.spriteBatch, effect, "customEffect"); + Class1.effect.CurrentTechnique.Passes[0].Apply(); + Game1.activeClickableMenu.draw(Game1.spriteBatch); + Monitor.Log("DRAW"); + Game1.spriteBatch.End(); + } + + if (Game1.player.currentLocation == null) + { + Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + return; + } + Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + //drawBack(); + drawMapPart1(); + Game1.spriteBatch.End(); + + + Game1.spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + Framework.Drawers.Characters.drawFarmer(); + Framework.Drawers.Characters.drawCharacters(); + + foreach (var v in Game1.player.currentLocation.terrainFeatures) + { + var value = v.Values; + var keys = v.Keys; + int index = 0; + foreach(var terrain in value) + { + terrain.draw(Game1.spriteBatch, keys.ElementAt(index)); + index++; + } + } + Game1.spriteBatch.End(); + + //Game1.spriteBatch.End(); + + //Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + //drawFront(); + + Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + drawMapPart2(); + + drawOverlays(); + Game1.spriteBatch.End(); + + if (Game1.activeClickableMenu != null) + { + Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + SetInstanceField(typeof(SpriteBatch), Game1.spriteBatch, effect, "customEffect"); + Class1.effect.CurrentTechnique.Passes[0].Apply(); + Game1.activeClickableMenu.draw(Game1.spriteBatch); + Game1.spriteBatch.End(); + } + //Location specific drawing done here + + + //Game1.spriteBatch.End(); + + Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + } + + + + + + public void drawMapPart1() + { + //Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + SetInstanceField(typeof(SpriteBatch), Game1.spriteBatch, effect, "customEffect"); + foreach (var layer in Game1.player.currentLocation.map.Layers) + { + //do back and buildings + if (layer.Id == "Paths" || layer.Id=="AlwaysFront"|| layer.Id=="Front" ) continue; + //if (layer.Id != "Back" || layer.Id != "Buildings") continue; + //Framework.Drawers.Layer.drawLayer(layer,Game1.mapDisplayDevice, Game1.viewport, new xTile.Dimensions.Location(0, 0), false, Game1.pixelZoom); + layer.Draw(Game1.mapDisplayDevice, Game1.viewport, new xTile.Dimensions.Location(0, 0), false, Game1.pixelZoom); + + } + //Game1.spriteBatch.End(); + } + + public void drawMapPart2() + { + //Game1.spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + SetInstanceField(typeof(SpriteBatch), Game1.spriteBatch, effect, "customEffect"); + foreach (var layer in Game1.player.currentLocation.map.Layers) + { + //do front, and always front. + if (layer.Id == "Back" || layer.Id == "Buildings" || layer.Id=="Paths") continue; + //if (layer.Id != "Back" || layer.Id != "Buildings") continue; + //Framework.Drawers.Layer.drawLayer(layer,Game1.mapDisplayDevice, Game1.viewport, new xTile.Dimensions.Location(0, 0), false, Game1.pixelZoom); + layer.Draw(Game1.mapDisplayDevice, Game1.viewport, new xTile.Dimensions.Location(0, 0), false, Game1.pixelZoom); + + } + //Game1.spriteBatch.End(); + } + + public static object GetInstanceField(Type type, object instance, string fieldName) + { + BindingFlags bindFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic + | BindingFlags.Static; + FieldInfo field = type.GetField(fieldName, bindFlags); + return field.GetValue(instance); + } + + public static void SetInstanceField(Type type, object instance, object value, string fieldName) + { + BindingFlags bindFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic + | BindingFlags.Static; + FieldInfo field = type.GetField(fieldName, bindFlags); + field.SetValue(instance, value); + return; + } + + + + protected void drawOverlays() + { + SpriteBatch spriteBatch = Game1.spriteBatch; + // spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, (DepthStencilState)null, (RasterizerState)null); + SetInstanceField(typeof(SpriteBatch), Game1.spriteBatch, effect, "customEffect"); + effect.CurrentTechnique.Passes[0].Apply(); + foreach(var v in Game1.onScreenMenus) + { + v.draw(spriteBatch); + } + //if ((Game1.displayHUD || Game1.eventUp) && (Game1.currentBillboard == 0 && Game1.gameMode == (byte)3) && (!Game1.freezeControls && !Game1.panMode)) + //Game1.drawMouseCursor(); + //spriteBatch.End(); + } + } +} diff --git a/ShaderExample/ShaderExample/Content/Shaders/GreyScaleEffect.xnb b/ShaderExample/ShaderExample/Content/Shaders/GreyScaleEffect.xnb new file mode 100644 index 00000000..6c4d112f Binary files /dev/null and b/ShaderExample/ShaderExample/Content/Shaders/GreyScaleEffect.xnb differ diff --git a/ShaderExample/ShaderExample/Content/Shaders/NoEffect.xnb b/ShaderExample/ShaderExample/Content/Shaders/NoEffect.xnb new file mode 100644 index 00000000..0fe921e4 Binary files /dev/null and b/ShaderExample/ShaderExample/Content/Shaders/NoEffect.xnb differ diff --git a/ShaderExample/ShaderExample/Framework/Delegates.cs b/ShaderExample/ShaderExample/Framework/Delegates.cs new file mode 100644 index 00000000..c5877d64 --- /dev/null +++ b/ShaderExample/ShaderExample/Framework/Delegates.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShaderExample.Framework +{ + public class Delegates + { + public delegate void DrawFunction(object obj); + + + } +} diff --git a/ShaderExample/ShaderExample/Framework/DrawManager.cs b/ShaderExample/ShaderExample/Framework/DrawManager.cs new file mode 100644 index 00000000..83de7e77 --- /dev/null +++ b/ShaderExample/ShaderExample/Framework/DrawManager.cs @@ -0,0 +1,84 @@ +using StardewValley; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShaderExample.Framework +{ + + /// + /// Handles drawing everything to the screen. + /// + public class DrawManager + { + SortedDictionary> thingsToDraw = new SortedDictionary>(); + Dictionary drawFunctions = new Dictionary(); + + + public DrawManager() + { + //Add support for characters + + } + + + /// + /// Add a new item to be drawn to the draw manager. + /// + /// + /// + public void addDraw(float yPos,object item) + { + if (thingsToDraw.ContainsKey(yPos)) + { + List objs; + bool f = thingsToDraw.TryGetValue(yPos, out objs); + objs.Add(item); + } + else + { + List objs = new List(); + objs.Add(item); + thingsToDraw.Add(yPos, objs); + } + } + + /// + /// Draw all supported ibject types that are handled by drawFunctions. Must be an appropriate key type for drawFunctions. + /// + public void draw() + { + //Begin effect. + foreach(var pair in thingsToDraw) + { + foreach(var item in pair.Value) + { + Delegates.DrawFunction func; + bool f = drawFunctions.TryGetValue(item.GetType(), out func); + if (f == false) + { + continue; //Unsuporte type found. + } + else + { + func.Invoke(item); + } + } + } + //Once I am done drawing everything to the screen, flush my list of things to draw. + thingsToDraw.Clear(); + } + + /* + *Draw functions. + * + */ + #region + + + #endregion + + } +} diff --git a/ShaderExample/ShaderExample/Framework/Drawers/Characters.cs b/ShaderExample/ShaderExample/Framework/Drawers/Characters.cs new file mode 100644 index 00000000..e7ee880b --- /dev/null +++ b/ShaderExample/ShaderExample/Framework/Drawers/Characters.cs @@ -0,0 +1,41 @@ +using Microsoft.Xna.Framework.Graphics; +using StardewValley; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShaderExample.Framework.Drawers +{ + public class Characters + { + /// + /// Draw the farmer. + /// + /// + public static void drawFarmer() + { + //Game1.spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + Class1.SetInstanceField(typeof(SpriteBatch), Game1.spriteBatch, ShaderExample.Class1.effect, "customEffect"); + Class1.effect.CurrentTechnique.Passes[0].Apply(); + Game1.player.currentLocation.draw(Game1.spriteBatch); + //Game1.spriteBatch.End(); + } + + public static void drawCharacters() + { + //Game1.spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, SamplerState.PointClamp, null, null); + Class1.SetInstanceField(typeof(SpriteBatch), Game1.spriteBatch, ShaderExample.Class1.effect, "customEffect"); + Class1.effect.CurrentTechnique.Passes[0].Apply(); + foreach(var character in Game1.player.currentLocation.characters) + { + character.draw(Game1.spriteBatch); + } + //Game1.spriteBatch.End(); + } + + + + } +} diff --git a/ShaderExample/ShaderExample/Framework/Drawers/Layer.cs b/ShaderExample/ShaderExample/Framework/Drawers/Layer.cs new file mode 100644 index 00000000..88edf821 --- /dev/null +++ b/ShaderExample/ShaderExample/Framework/Drawers/Layer.cs @@ -0,0 +1,65 @@ +using StardewValley; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using xTile.Dimensions; +using xTile.Tiles; + +namespace ShaderExample.Framework.Drawers +{ + class Layer + { + + public static void drawLayer(xTile.Layers.Layer layer, xTile.Display.IDisplayDevice displayDevice, xTile.Dimensions.Rectangle mapViewport, xTile.Dimensions.Location displayOffset, bool wrap, int pixelZoom) + { + pixelZoom = (int)Game1.options.zoomLevel; + int tileWidth = pixelZoom * 16; + int tileHeight = pixelZoom * 16; + Location tileInternalOffset = new Location(mapViewport.X*tileWidth, mapViewport.Y*tileHeight); + int tileXMin = (mapViewport.X >= 0) ? (mapViewport.X / tileWidth) : ((mapViewport.X - tileWidth + 1) / tileWidth); + int tileYMin = (mapViewport.Y >= 0) ? (mapViewport.Y / tileHeight) : ((mapViewport.Y - tileHeight + 1) / tileHeight); + if (tileXMin < 0) + { + displayOffset.X -= tileXMin * tileWidth; + tileXMin = 0; + } + if (tileYMin < 0) + { + displayOffset.Y -= tileYMin * tileHeight; + tileYMin = 0; + } + int tileColumns = 1 + (mapViewport.Size.Width - 1) / tileWidth; + int tileRows = 1 + (mapViewport.Size.Height - 1) / tileHeight; + if (tileInternalOffset.X != 0) + { + tileColumns++; + } + if (tileInternalOffset.Y != 0) + { + tileRows++; + } + int tileXMax = Math.Min(tileXMin + tileColumns, layer.LayerSize.Width); + int tileYMax = Math.Min(tileYMin + tileRows, layer.LayerSize.Height); + Location tileLocation = displayOffset - tileInternalOffset; + int offset = layer.Id.Equals("Front") ? (16 * pixelZoom) : 0; + for (int tileY = tileYMin; tileY < tileYMax; tileY++) + { + tileLocation.X = displayOffset.X - tileInternalOffset.X; + for (int tileX = tileXMin; tileX < tileXMax; tileX++) + { + Tile tile = layer.Tiles[tileX, tileY]; + if (tile != null) + { + displayDevice.DrawTile(tile, tileLocation, (float)(tileY * (16 * pixelZoom) + 16 * pixelZoom + offset) / 10000f); + } + tileLocation.X += tileWidth; + } + tileLocation.Y += tileHeight; + } + } + + + } +} diff --git a/ShaderExample/ShaderExample/Framework/Drawers/Monsters.cs b/ShaderExample/ShaderExample/Framework/Drawers/Monsters.cs new file mode 100644 index 00000000..5d62351c --- /dev/null +++ b/ShaderExample/ShaderExample/Framework/Drawers/Monsters.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShaderExample.Framework.Drawers +{ + class Monsters + { + //Do logic for drawing monsters here. + } +} diff --git a/ShaderExample/ShaderExample/Properties/AssemblyInfo.cs b/ShaderExample/ShaderExample/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..89c0a477 --- /dev/null +++ b/ShaderExample/ShaderExample/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ShaderExample")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ShaderExample")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("9f6b98b4-be76-42a2-8a9b-d6361b20deae")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ShaderExample/ShaderExample/ShaderExample.csproj b/ShaderExample/ShaderExample/ShaderExample.csproj new file mode 100644 index 00000000..d7c553fd --- /dev/null +++ b/ShaderExample/ShaderExample/ShaderExample.csproj @@ -0,0 +1,77 @@ + + + + + Debug + AnyCPU + {9F6B98B4-BE76-42A2-8A9B-D6361B20DEAE} + Library + Properties + ShaderExample + ShaderExample + v4.6.1 + 512 + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Netcode.dll + + + + + + + + + + + + + + + + + + + + + + Always + + + Always + + + Always + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/ShaderExample/ShaderExample/ShaderExample.csproj.user b/ShaderExample/ShaderExample/ShaderExample.csproj.user new file mode 100644 index 00000000..2f196a36 --- /dev/null +++ b/ShaderExample/ShaderExample/ShaderExample.csproj.user @@ -0,0 +1,6 @@ + + + + ShowAllFiles + + \ No newline at end of file diff --git a/ShaderExample/ShaderExample/bin/Debug/Content/Shaders/GreyScaleEffect.xnb b/ShaderExample/ShaderExample/bin/Debug/Content/Shaders/GreyScaleEffect.xnb new file mode 100644 index 00000000..6c4d112f Binary files /dev/null and b/ShaderExample/ShaderExample/bin/Debug/Content/Shaders/GreyScaleEffect.xnb differ diff --git a/ShaderExample/ShaderExample/bin/Debug/Content/Shaders/NoEffect.xnb b/ShaderExample/ShaderExample/bin/Debug/Content/Shaders/NoEffect.xnb new file mode 100644 index 00000000..0fe921e4 Binary files /dev/null and b/ShaderExample/ShaderExample/bin/Debug/Content/Shaders/NoEffect.xnb differ diff --git a/ShaderExample/ShaderExample/bin/Debug/Netcode.dll b/ShaderExample/ShaderExample/bin/Debug/Netcode.dll new file mode 100644 index 00000000..d3ab5f0e Binary files /dev/null and b/ShaderExample/ShaderExample/bin/Debug/Netcode.dll differ diff --git a/ShaderExample/ShaderExample/bin/Debug/Netcode.pdb b/ShaderExample/ShaderExample/bin/Debug/Netcode.pdb new file mode 100644 index 00000000..8e128c4e Binary files /dev/null and b/ShaderExample/ShaderExample/bin/Debug/Netcode.pdb differ diff --git a/ShaderExample/ShaderExample/bin/Debug/ShaderExample 0.0.1.zip b/ShaderExample/ShaderExample/bin/Debug/ShaderExample 0.0.1.zip new file mode 100644 index 00000000..28dbef10 Binary files /dev/null and b/ShaderExample/ShaderExample/bin/Debug/ShaderExample 0.0.1.zip differ diff --git a/ShaderExample/ShaderExample/bin/Debug/ShaderExample.dll b/ShaderExample/ShaderExample/bin/Debug/ShaderExample.dll new file mode 100644 index 00000000..7ee93d39 Binary files /dev/null and b/ShaderExample/ShaderExample/bin/Debug/ShaderExample.dll differ diff --git a/ShaderExample/ShaderExample/bin/Debug/ShaderExample.pdb b/ShaderExample/ShaderExample/bin/Debug/ShaderExample.pdb new file mode 100644 index 00000000..0baaa157 Binary files /dev/null and b/ShaderExample/ShaderExample/bin/Debug/ShaderExample.pdb differ diff --git a/ShaderExample/ShaderExample/bin/Debug/manifest.json b/ShaderExample/ShaderExample/bin/Debug/manifest.json new file mode 100644 index 00000000..fb214cdd --- /dev/null +++ b/ShaderExample/ShaderExample/bin/Debug/manifest.json @@ -0,0 +1,10 @@ +{ + "Name": "ShaderExample", + "Author": "Alpha_Omegasis", + "Version": "0.0.1", + "Description": "A mod that attempts to add shaders to stardew.", + "UniqueID": "Omegasis.ShaderExample", + "EntryDll": "ShaderExample.dll", + "MinimumApiVersion": "2.0", + "UpdateKeys": [] +} diff --git a/ShaderExample/ShaderExample/manifest.json b/ShaderExample/ShaderExample/manifest.json new file mode 100644 index 00000000..fb214cdd --- /dev/null +++ b/ShaderExample/ShaderExample/manifest.json @@ -0,0 +1,10 @@ +{ + "Name": "ShaderExample", + "Author": "Alpha_Omegasis", + "Version": "0.0.1", + "Description": "A mod that attempts to add shaders to stardew.", + "UniqueID": "Omegasis.ShaderExample", + "EntryDll": "ShaderExample.dll", + "MinimumApiVersion": "2.0", + "UpdateKeys": [] +} diff --git a/ShaderExample/ShaderExample/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ShaderExample/ShaderExample/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 00000000..034bd319 Binary files /dev/null and b/ShaderExample/ShaderExample/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ShaderExample/ShaderExample/obj/Debug/ShaderExample.csproj.CoreCompileInputs.cache b/ShaderExample/ShaderExample/obj/Debug/ShaderExample.csproj.CoreCompileInputs.cache new file mode 100644 index 00000000..f6398a26 --- /dev/null +++ b/ShaderExample/ShaderExample/obj/Debug/ShaderExample.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +d435c4e4ec5503281ab00282b8e1921cd31d8660 diff --git a/ShaderExample/ShaderExample/obj/Debug/ShaderExample.csproj.FileListAbsolute.txt b/ShaderExample/ShaderExample/obj/Debug/ShaderExample.csproj.FileListAbsolute.txt new file mode 100644 index 00000000..3c8bcb21 --- /dev/null +++ b/ShaderExample/ShaderExample/obj/Debug/ShaderExample.csproj.FileListAbsolute.txt @@ -0,0 +1,11 @@ +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\bin\Debug\manifest.json +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\bin\Debug\ShaderExample.dll +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\bin\Debug\ShaderExample.pdb +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\obj\Debug\ShaderExample.csproj.CoreCompileInputs.cache +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\obj\Debug\ShaderExample.dll +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\obj\Debug\ShaderExample.pdb +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\bin\Debug\Content\Shaders\GreyScaleEffect.xnb +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\bin\Debug\Content\Shaders\NoEffect.xnb +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\bin\Debug\Netcode.dll +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\bin\Debug\Netcode.pdb +C:\Users\iD Student\Desktop\Stardew\ShaderExample\ShaderExample\obj\Debug\ShaderExample.csproj.CopyComplete diff --git a/ShaderExample/ShaderExample/obj/Debug/ShaderExample.dll b/ShaderExample/ShaderExample/obj/Debug/ShaderExample.dll new file mode 100644 index 00000000..7ee93d39 Binary files /dev/null and b/ShaderExample/ShaderExample/obj/Debug/ShaderExample.dll differ diff --git a/ShaderExample/ShaderExample/obj/Debug/ShaderExample.pdb b/ShaderExample/ShaderExample/obj/Debug/ShaderExample.pdb new file mode 100644 index 00000000..0baaa157 Binary files /dev/null and b/ShaderExample/ShaderExample/obj/Debug/ShaderExample.pdb differ diff --git a/ShaderExample/ShaderExample/packages.config b/ShaderExample/ShaderExample/packages.config new file mode 100644 index 00000000..96d0f73b --- /dev/null +++ b/ShaderExample/ShaderExample/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/Pathoschild.Stardew.ModBuildConfig.2.0.2.nupkg b/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/Pathoschild.Stardew.ModBuildConfig.2.0.2.nupkg new file mode 100644 index 00000000..1b4cc5db Binary files /dev/null and b/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/Pathoschild.Stardew.ModBuildConfig.2.0.2.nupkg differ diff --git a/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/build/Pathoschild.Stardew.ModBuildConfig.targets b/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/build/Pathoschild.Stardew.ModBuildConfig.targets new file mode 100644 index 00000000..b49d646d --- /dev/null +++ b/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/build/Pathoschild.Stardew.ModBuildConfig.targets @@ -0,0 +1,144 @@ + + + + + + + + + + + + + $(DeployModFolderName) + $(DeployModZipTo) + + + $(MSBuildProjectName) + $(TargetDir) + True + True + + + + + + + + $(HOME)/GOG Games/Stardew Valley/game + $(HOME)/.local/share/Steam/steamapps/common/Stardew Valley + + + /Applications/Stardew Valley.app/Contents/MacOS + $(HOME)/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS + + + + + C:\Program Files (x86)\GalaxyClient\Games\Stardew Valley + C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley + $([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\GOG.com\Games\1453375253', 'PATH', null, RegistryView.Registry32)) + $([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 413150', 'InstallLocation', null, RegistryView.Registry64, RegistryView.Registry32)) + + + + + + + + + + + + false + + + false + + + false + + + false + + + $(GamePath)\Stardew Valley.exe + false + + + $(GamePath)\StardewModdingAPI.exe + false + + + $(GamePath)\xTile.dll + false + False + + + + + + Program + $(GamePath)\StardewModdingAPI.exe + $(GamePath) + + + + + + + $(GamePath)\MonoGame.Framework.dll + false + False + + + $(GamePath)\StardewValley.exe + false + + + $(GamePath)\StardewModdingAPI.exe + false + + + $(GamePath)\xTile.dll + false + + + + + + + + + + + + + + + + + + + + + + diff --git a/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/build/StardewModdingAPI.ModBuildConfig.dll b/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/build/StardewModdingAPI.ModBuildConfig.dll new file mode 100644 index 00000000..e8e4c168 Binary files /dev/null and b/ShaderExample/packages/Pathoschild.Stardew.ModBuildConfig.2.0.2/build/StardewModdingAPI.ModBuildConfig.dll differ