summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--StardewInjector/StardewHooker.cs190
-rw-r--r--StardewInjector/StardewInjector.cs55
-rw-r--r--StardewModdingAPI/Program.cs2
3 files changed, 0 insertions, 247 deletions
diff --git a/StardewInjector/StardewHooker.cs b/StardewInjector/StardewHooker.cs
deleted file mode 100644
index dbf1c5ef..00000000
--- a/StardewInjector/StardewHooker.cs
+++ /dev/null
@@ -1,190 +0,0 @@
-using Microsoft.Xna.Framework;
-using Mono.Cecil;
-using Mono.Cecil.Cil;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-using StardewModdingAPI;
-
-namespace StardewInjector
-{
- public class Stardew_Hooker
- {
- private AssemblyDefinition m_vAsmDefinition = null;
- private ModuleDefinition m_vModDefinition = null;
- private Assembly m_vAssembly = null;
-
- public bool Initialize()
- {
- Console.WriteLine("Initiating StarDew_Injector....");
- try
- {
- this.m_vAsmDefinition = AssemblyDefinition.ReadAssembly(@"Stardew Valley.exe");
- this.m_vModDefinition = this.m_vAsmDefinition.MainModule;
- return true;
- }
- catch (Exception ex)
- {
- Log.Error(ex);
- return false;
- }
- }
-
- public bool Finalize()
- {
- Console.WriteLine("Finalizing StarDew_Injector....");
- try
- {
- if (this.m_vAsmDefinition == null)
- return false;
-
- using (MemoryStream mStream = new MemoryStream())
- {
- // Write the edited data to the memory stream..
- this.m_vAsmDefinition.Write(mStream);
-
- // Load the new assembly from the memory stream buffer..
- this.m_vAssembly = Assembly.Load(mStream.GetBuffer());
-
- Program.StardewAssembly = m_vAssembly;
-
- return true;
- }
- }
- catch (Exception ex)
- {
- Log.Error(ex);
- return false;
- }
- }
-
- public bool Run()
- {
- if (this.m_vAssembly == null)
- return false;
-
- Console.WriteLine("Starting Stardew Valley...");
-
- m_vAssembly.EntryPoint.Invoke(null, new object[] {new string[0]});
-
- return true;
- }
-
- public void ApplyHooks()
- {
- Console.WriteLine("Applying StarDew_Injector....");
- try
- {
- InjectMovementSpeed();
-
- if (Config.SecondsPerTenMinutes != 7)
- InjectClockScale();
-
- if (Config.EnableEasyFishing)
- InjectEasyFishing();
-
- if (Config.EnableAlwaysSpawnFishingBubble)
- InjectMoreBubbles();
-
- /*
- if (Config.EnableDebugMode)
- InjectDebugMode();
- */
- }
- catch (Exception ex)
- {
- Log.Error(ex);
- }
-
- }
-
- private void InjectDebugMode()
- {
- this.m_vModDefinition.FindMethod("StardewValley.Program::.cctor")
- .FindSetField("releaseBuild").Previous()
- .ReplaceCreate(OpCodes.Ldc_I4_0);
-
- Console.WriteLine("Enabled debug mode.");
- }
-
- private void InjectMoreBubbles()
- {
- this.m_vModDefinition.FindMethod("StardewValley.GameLocation::performTenMinuteUpdate")
- .FindLoadField("currentLocation").Next(i => i.ToString().Contains("NextDouble")).Next()
- .ReplaceCreate(OpCodes.Ldc_R8, 1.1);
-
- Console.WriteLine("Forced each area to always spawn a fishing bubble.");
- }
-
- private void InjectEasyFishing()
- {
- this.m_vModDefinition.FindMethod("StardewValley.Menus.BobberBar::update")
- .FindLoadConstant(694)
- .Next(i => i.OpCode == OpCodes.Ldc_R4)
- .ReplaceCreate(OpCodes.Ldc_R4, 0.001f)
- .Next(i => i.OpCode == OpCodes.Ldc_R4)
- .ReplaceCreate(OpCodes.Ldc_R4, 0.001f);
-
- Console.WriteLine("Replaced fish escape constants for all bobbers & bobber id 694 with 0.001, slowing it down.");
- }
-
- private void InjectClockScale()
- {
- int timeScale = Config.SecondsPerTenMinutes;
- timeScale *= 1000;
-
- this.m_vModDefinition.FindMethod("StardewValley.Game1::UpdateGameClock")
- .FindLoadConstant(7000f)
- .ReplaceCreate(OpCodes.Ldc_R4, timeScale*1.0f)
- .Next(i => i.OpCode == OpCodes.Ldc_R4 && (float) i.Operand == 7000f)
- .ReplaceCreate(OpCodes.Ldc_R4, timeScale*1.0f)
- .Next(i => i.OpCode == OpCodes.Ldc_I4 && (int) i.Operand == 7000)
- .ReplaceCreate(OpCodes.Ldc_I4, timeScale);
-
- Console.WriteLine("Updated lighting for new timescale ({0}).", timeScale);
- }
-
- private void InjectMovementSpeed()
- {
-
-
- if (Config.EnableTweakedDiagonalMovement)
- {
- this.m_vModDefinition.FindMethod("StardewValley.Farmer::getMovementSpeed")
- .FindLoadField("movementDirections").Next(i => i.OpCode == OpCodes.Ldc_I4_1)
- .ReplaceCreate(OpCodes.Ldc_I4_4);
-
- Console.WriteLine("Removed diagonal movement check.");
- }
-
- if (Config.RunSpeed > 0)
- {
- this.m_vModDefinition.FindMethod("StardewValley.Farmer::getMovementSpeed")
- .FindLoadField("movementDirections").Last().CreateBefore(OpCodes.Ldc_R4, (float) Config.RunSpeed).CreateAfter(OpCodes.Add);
-
- Console.WriteLine("Added run speed: " + Config.RunSpeed);
- }
-
-
- }
-
-
-
- private void DumpInstructionsToFile(MethodDefinition methodDefinition)
- {
- var fileName = string.Format("{0}.{1}.txt", methodDefinition.DeclaringType.Name, methodDefinition.Name);
-
- using (var stream = File.OpenWrite(Path.Combine(".", fileName)))
- using (var writer = new StreamWriter(stream))
- {
- var ilProcessor = methodDefinition.Body.GetILProcessor();
- for (int i = 0; i < ilProcessor.Body.Instructions.Count; i++)
- writer.WriteLine((i) + ":" + ilProcessor.Body.Instructions[i]);
- }
- }
- }
-} \ No newline at end of file
diff --git a/StardewInjector/StardewInjector.cs b/StardewInjector/StardewInjector.cs
deleted file mode 100644
index b67a8bc9..00000000
--- a/StardewInjector/StardewInjector.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using StardewModdingAPI;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace StardewInjector
-{
- public class StardewInjector : Mod
- {
- public override string Name
- {
- get { return "Stardew Injector"; }
- }
-
- public override string Authour
- {
- get { return "Zoryn Aaron"; }
- }
-
- public override string Version
- {
- get { return "1.0"; }
- }
-
- public override string Description
- {
- get { return "Pulled from https://github.com/kevinmurphy678/Stardew_Injector and converted to a mod."; }
- }
-
- public static Stardew_Hooker hooker { get; set; }
- public override void Entry(params object[] objects)
- {
- if (objects.Length <= 0 || (objects.Length > 0 && objects[0].AsBool() == false))
- {
- hooker = new Stardew_Hooker();
- hooker.Initialize();
- hooker.ApplyHooks();
- hooker.Finalize();
-
- Log.Verbose("INJECTOR ENTERED");
- }
- else if (objects.Length > 0 && objects[0].AsBool() == true)
- {
- Log.Verbose("INJECTOR LAUNCHING");
- hooker.Run();
- }
- else
- {
- Log.Verbose("INVALID PARAMETERS FOR INJECTOR");
- }
- }
- }
-}
diff --git a/StardewModdingAPI/Program.cs b/StardewModdingAPI/Program.cs
index 3e267af5..28073135 100644
--- a/StardewModdingAPI/Program.cs
+++ b/StardewModdingAPI/Program.cs
@@ -23,8 +23,6 @@ namespace StardewModdingAPI
public static List<string> ModPaths = new List<string>();
public static List<string> ModContentPaths = new List<string>();
public static string LogPath = Path.Combine(Path.Combine(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley")), "ErrorLogs");
- public static string CurrentLog { get; private set; }
- public static StreamWriter LogStream { get; private set; }
public static Texture2D DebugPixel { get; private set; }