From dddb8d129b9e02279370969b0f098de31c829c2e Mon Sep 17 00:00:00 2001 From: Zoryn Aaron Date: Tue, 1 Mar 2016 02:16:35 -0500 Subject: [PATCH] i got it to draw without crashing im going to bed. custom content is still nyi don't try it yet --- Release/StardewModdingAPI.exe | Bin 73216 -> 74240 bytes StardewModdingAPI/Inheritance/SGame.cs | 6 +++- .../Inheritance/SGameLocation.cs | 2 +- StardewModdingAPI/Inheritance/SObject.cs | 31 +++++++++++++++--- StardewModdingAPI/Program.cs | 6 ++++ StardewModdingAPI/StardewModdingAPI.csproj | 1 + ...rdewModdingAPI.csproj.FileListAbsolute.txt | 3 +- 7 files changed, 41 insertions(+), 8 deletions(-) diff --git a/Release/StardewModdingAPI.exe b/Release/StardewModdingAPI.exe index 620cc96de1e0ae4dda89c99a415860e96bd60217..f804204fdec4253a9aec82be55d9e593dbcab7fc 100644 GIT binary patch delta 19021 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 delta 18179 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 D$h$At diff --git a/StardewModdingAPI/Inheritance/SGame.cs b/StardewModdingAPI/Inheritance/SGame.cs index b549aaf4..9f30e05e 100644 --- a/StardewModdingAPI/Inheritance/SGame.cs +++ b/StardewModdingAPI/Inheritance/SGame.cs @@ -107,9 +107,13 @@ namespace StardewModdingAPI.Inheritance { base.Draw(gameTime); Events.InvokeDrawTick(); - spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, SamplerState.PointClamp, (DepthStencilState)null, (RasterizerState)null); + spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.Opaque, SamplerState.PointClamp, DepthStencilState.DepthRead, RasterizerState.CullNone); if (CurrentLocation != null) CurrentLocation.draw(Game1.spriteBatch); + + if (player != null && player.position != null) + spriteBatch.DrawString(Game1.dialogueFont, Game1.player.position.ToString(), new Vector2(0, 180), Color.Orange); + spriteBatch.End(); } diff --git a/StardewModdingAPI/Inheritance/SGameLocation.cs b/StardewModdingAPI/Inheritance/SGameLocation.cs index f4523c21..82caab40 100644 --- a/StardewModdingAPI/Inheritance/SGameLocation.cs +++ b/StardewModdingAPI/Inheritance/SGameLocation.cs @@ -83,7 +83,7 @@ namespace StardewModdingAPI.Inheritance { foreach (var v in ModObjects) { - v.Value.draw(b, (int)v.Key.X, (int)v.Key.Y, -999999, 1); + v.Value.draw(b, (int)v.Key.X, (int)v.Key.Y, 0.999f, 1); } } } diff --git a/StardewModdingAPI/Inheritance/SObject.cs b/StardewModdingAPI/Inheritance/SObject.cs index e05b4f20..79edcb34 100644 --- a/StardewModdingAPI/Inheritance/SObject.cs +++ b/StardewModdingAPI/Inheritance/SObject.cs @@ -48,16 +48,38 @@ namespace StardewModdingAPI.Inheritance public override void draw(SpriteBatch spriteBatch, int x, int y, float alpha = 1) { + if (Texture != null) spriteBatch.Draw(Texture, new Vector2(x, y), new Color(255, 255, 255, 255f * alpha)); } public override void draw(SpriteBatch spriteBatch, int xNonTile, int yNonTile, float layerDepth, float alpha = 1) { - if (Texture != null) + try { - spriteBatch.Draw(Texture, new Vector2(xNonTile, yNonTile), null, new Color(255, 255, 255, 255f * alpha), 0, Vector2.Zero, 1, SpriteEffects.None, layerDepth); - spriteBatch.DrawString(Game1.dialogueFont, "TARG: " + new Vector2(xNonTile, yNonTile), new Vector2(128, 0), Color.Red); + if (Texture != null) + { + int targSize = 64; + int midX = (int) ((xNonTile) + 32); + int midY = (int) ((yNonTile) + 32); + + int targX = midX - targSize / 2; + int targY = midY - targSize / 2; + + Rectangle targ = new Rectangle(targX, targY, targSize, targSize); + spriteBatch.Draw(Texture, targ, null, new Color(255, 255, 255, 255f * alpha), 0, Vector2.Zero, SpriteEffects.None, layerDepth); + spriteBatch.Draw(Program.DebugPixel, targ, null, Color.Red, 0, Vector2.Zero, SpriteEffects.None, layerDepth); + spriteBatch.DrawString(Game1.dialogueFont, "TARG: " + targ, new Vector2(128, 0), Color.Red); + spriteBatch.DrawString(Game1.dialogueFont, ".", new Vector2(targX * 0.5f, targY), Color.Orange); + spriteBatch.DrawString(Game1.dialogueFont, ".", new Vector2(targX, targY), Color.Red); + spriteBatch.DrawString(Game1.dialogueFont, ".", new Vector2(targX * 1.5f, targY), Color.Yellow); + spriteBatch.DrawString(Game1.dialogueFont, ".", new Vector2(targX * 2f, targY), Color.Green); + } + } + catch (Exception ex) + { + Program.LogError(ex.ToString()); + Console.ReadKey(); } } @@ -170,10 +192,11 @@ namespace StardewModdingAPI.Inheritance if (s != null) { - Vector2 index1 = new Vector2((float)(x / Game1.tileSize), (float)(y / Game1.tileSize)); + Vector2 index1 = new Vector2(x - (Game1.tileSize / 2), y - (Game1.tileSize / 2)); if (!s.ModObjects.ContainsKey(index1)) { s.ModObjects.Add(index1, this); + Game1.player.position = index1; return true; } } diff --git a/StardewModdingAPI/Program.cs b/StardewModdingAPI/Program.cs index 8109d99f..b0c30f91 100644 --- a/StardewModdingAPI/Program.cs +++ b/StardewModdingAPI/Program.cs @@ -34,6 +34,8 @@ namespace StardewModdingAPI public static string CurrentLog { get; private set; } public static StreamWriter LogStream { get; private set; } + public static Texture2D DebugPixel { get; private set; } + public static SGame gamePtr; public static bool ready; @@ -256,6 +258,10 @@ namespace StardewModdingAPI static void Events_LoadContent() { + LogInfo("Initializing Debug Assets..."); + DebugPixel = new Texture2D(Game1.graphics.GraphicsDevice, 1, 1); + DebugPixel.SetData(new Color[] { Color.White }); + LogColour(ConsoleColor.Magenta, "REGISTERING BASE CUSTOM ITEM"); SObject so = new SObject(); so.Name = "Mario Block"; diff --git a/StardewModdingAPI/StardewModdingAPI.csproj b/StardewModdingAPI/StardewModdingAPI.csproj index 42c604a2..40435f9c 100644 --- a/StardewModdingAPI/StardewModdingAPI.csproj +++ b/StardewModdingAPI/StardewModdingAPI.csproj @@ -59,6 +59,7 @@ + diff --git a/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt b/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt index 83b3576c..946fda5a 100644 --- a/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt +++ b/StardewModdingAPI/obj/x86/Debug/StardewModdingAPI.csproj.FileListAbsolute.txt @@ -26,11 +26,10 @@ C:\Users\zoryn\Desktop\SDV\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\Sta C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\StardewModdingAPI.exe.config C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\StardewModdingAPI.exe C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\StardewModdingAPI.pdb +C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\Microsoft.QualityTools.Testing.Fakes.dll C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\Stardew Valley.exe C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\xTile.dll C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\Lidgren.Network.dll C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\Steamworks.NET.dll C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.exe C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.pdb -C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\obj\x86\Debug\StardewModdingAPI.csprojResolveAssemblyReference.cache -C:\TFSource\Master-Collection\StardewModdingAPI\StardewModdingAPI\bin\x86\Debug\Microsoft.QualityTools.Testing.Fakes.dll