Added docs and replaced escape key with enter

master
Mohammad Shoaib Khan 2022-08-12 16:37:39 +05:30
parent 4a1e4f9f4a
commit df192ee90c
10 changed files with 65 additions and 51 deletions

View File

@ -39,6 +39,7 @@ namespace stardew_access
MainClass.DebugLog("Flooring is " + (MainClass.Config.ReadFlooring ? "on" : "off"));
});
#region Radar Feature
helper.ConsoleCommands.Add("radar", "Toggle radar feature.", (string commmand, string[] args) =>
{
MainClass.Config.Radar = !MainClass.Config.Radar;
@ -47,7 +48,6 @@ namespace stardew_access
MainClass.DebugLog("Radar " + (MainClass.Config.Radar ? "on" : "off"));
});
#region Radar Feature
helper.ConsoleCommands.Add("rdebug", "Toggle debugging in radar feature.", (string commmand, string[] args) =>
{
MainClass.radarDebug = !MainClass.radarDebug;

View File

@ -4,6 +4,9 @@ using StardewValley;
namespace stardew_access.Features
{
/// <summary>
/// Reads the name and information about a tile.
/// </summary>
public class ReadTile
{
private bool isBusy; // To pause execution of run method between fixed intervals

View File

@ -1,10 +1,7 @@
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework;
using xTile;
using StardewValley;
using StardewValley.Menus;
using stardew_access.Features;
namespace stardew_access.Features
{

View File

@ -1,7 +1,11 @@
namespace stardew_access.Features
{
/// <summary>
/// Warns the player when their health or stamina/energy is low. Also warns when its past midnight.
/// </summary>
public class Warnings
{
// Store the previously checked value
private int prevStamina;
private int prevHealth;
private int prevHour;
@ -20,6 +24,9 @@ namespace stardew_access.Features
this.checkForTimeOfDay();
}
/// <summary>
/// Warns when its past 12:00 am and 1:00 am
/// </summary>
private void checkForTimeOfDay()
{
if (MainClass.ModHelper == null)
@ -38,6 +45,9 @@ namespace stardew_access.Features
prevHour = hours;
}
/// <summary>
/// Warns when stamina reaches below 50, 25 and 10.
/// </summary>
public void checkForStamina()
{
if (MainClass.ModHelper == null)
@ -56,6 +66,9 @@ namespace stardew_access.Features
prevStamina = stamina;
}
/// <summary>
/// Warns when health reaches below 50, 25 and 10.
/// </summary>
public void checkForHealth()
{
if (MainClass.ModHelper == null)

View File

@ -7,37 +7,37 @@ namespace stardew_access
// https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Input#SButton button key codes
#region Simulate mouse clicks
public KeybindList LeftClickMainKey { get; set; } = KeybindList.Parse("LeftControl + Enter");
public KeybindList RightClickMainKey { get; set; } = KeybindList.Parse("LeftShift + Enter");
public KeybindList LeftClickAlternateKey { get; set; } = KeybindList.Parse("OemOpenBrackets");
public KeybindList RightClickAlternateKey { get; set; } = KeybindList.Parse("OemCloseBrackets");
public KeybindList LeftClickMainKey { get; set; } = KeybindList.Parse("LeftControl + Enter"); // Primary key to simulate mouse left click
public KeybindList RightClickMainKey { get; set; } = KeybindList.Parse("LeftShift + Enter"); // Primary key to simulate mouse right click
public KeybindList LeftClickAlternateKey { get; set; } = KeybindList.Parse("OemOpenBrackets"); // Secondary key to simulate mouse left click
public KeybindList RightClickAlternateKey { get; set; } = KeybindList.Parse("OemCloseBrackets"); // Secondary key to simulate mouse right click
#endregion
#region Chat menu
public KeybindList ChatMenuNextKey { get; set; } = KeybindList.Parse("PageUp");
public KeybindList ChatMenuPreviousKey { get; set; } = KeybindList.Parse("PageDown");
public KeybindList ChatMenuNextKey { get; set; } = KeybindList.Parse("PageUp"); // Read previous chat message
public KeybindList ChatMenuPreviousKey { get; set; } = KeybindList.Parse("PageDown"); // Read next chat message
#endregion
#region Read tile
public Boolean ReadTile { get; set; } = true;
public KeybindList ReadTileKey { get; set; } = KeybindList.Parse("J");
public KeybindList ReadStandingTileKey { get; set; } = KeybindList.Parse("LeftAlt + J");
public Boolean ReadFlooring { get; set; } = false;
public Boolean ReadTile { get; set; } = true; // Toggle this feature.
public KeybindList ReadTileKey { get; set; } = KeybindList.Parse("J"); // Manually trigger read tile for the tile player is *looking at*.
public KeybindList ReadStandingTileKey { get; set; } = KeybindList.Parse("LeftAlt + J"); // Manually trigger read tile for the tile player is *standing on*.
public Boolean ReadFlooring { get; set; } = false; // Toggle reading floorings.
#endregion
#region Tile viewer
public KeybindList TileCursorUpKey { get; set; } = KeybindList.Parse("Up");
public KeybindList TileCursorRightKey { get; set; } = KeybindList.Parse("Right");
public KeybindList TileCursorDownKey { get; set; } = KeybindList.Parse("Down");
public KeybindList TileCursorLeftKey { get; set; } = KeybindList.Parse("Left");
public KeybindList TileCursorPreciseUpKey { get; set; } = KeybindList.Parse("LeftShift + Up");
public KeybindList TileCursorPreciseRightKey { get; set; } = KeybindList.Parse("LeftShift + Right");
public KeybindList TileCursorPreciseDownKey { get; set; } = KeybindList.Parse("LeftShift + Down");
public KeybindList TileCursorPreciseLeftKey { get; set; } = KeybindList.Parse("LeftShift + Left");
public KeybindList ToggleRelativeCursorLockKey { get; set; } = KeybindList.Parse("L");
public KeybindList AutoWalkToTileKey { get; set; } = KeybindList.Parse("LeftControl + Enter");
public bool LimitTileCursorToScreen { get; set; } = false;
public int TileCursorPreciseMovementDistance { get; set; } = 8;
public KeybindList TileCursorUpKey { get; set; } = KeybindList.Parse("Up"); // Move the cursor one tile up
public KeybindList TileCursorRightKey { get; set; } = KeybindList.Parse("Right"); // Move the cursor one tile right
public KeybindList TileCursorDownKey { get; set; } = KeybindList.Parse("Down"); // Move the cursor one tile down
public KeybindList TileCursorLeftKey { get; set; } = KeybindList.Parse("Left"); // Move the cursor one tile left
public KeybindList TileCursorPreciseUpKey { get; set; } = KeybindList.Parse("LeftShift + Up"); // Move the cursor up by precision i.e. pixel by pixel
public KeybindList TileCursorPreciseRightKey { get; set; } = KeybindList.Parse("LeftShift + Right"); // Move the cursor right by precision i.e. pixel by pixel
public KeybindList TileCursorPreciseDownKey { get; set; } = KeybindList.Parse("LeftShift + Down"); // Move the cursor down by precision i.e. pixel by pixel
public KeybindList TileCursorPreciseLeftKey { get; set; } = KeybindList.Parse("LeftShift + Left"); // Move the cursor left by precision i.e. pixel by pixel
public KeybindList ToggleRelativeCursorLockKey { get; set; } = KeybindList.Parse("L"); // Toggles realative cursor lock i.e. if enabled, the cursor will reset when player moves.
public KeybindList AutoWalkToTileKey { get; set; } = KeybindList.Parse("LeftControl + Enter"); // Auto walk to the tile
public bool LimitTileCursorToScreen { get; set; } = false; // #TODO add command for this // Toggle whether to prevent cursor from going out of screen.
public int TileCursorPreciseMovementDistance { get; set; } = 8; // Specifies the number of pixels the cursor should move when using precision movement i.e. with *left shift*.
#endregion
#region Radar
@ -68,13 +68,14 @@ namespace stardew_access
#endregion
#region Others
public KeybindList HealthNStaminaKey { get; set; } = KeybindList.Parse("H");
public KeybindList PositionKey { get; set; } = KeybindList.Parse("K");
public KeybindList LocationKey { get; set; } = KeybindList.Parse("LeftAlt + K");
public KeybindList MoneyKey { get; set; } = KeybindList.Parse("R");
public KeybindList TimeNSeasonKey { get; set; } = KeybindList.Parse("Q");
public KeybindList HealthNStaminaKey { get; set; } = KeybindList.Parse("H"); // Narrate health and stamina.
public KeybindList PositionKey { get; set; } = KeybindList.Parse("K"); // Narrate player position.
public KeybindList LocationKey { get; set; } = KeybindList.Parse("LeftAlt + K"); // Narrate current location name.
public KeybindList MoneyKey { get; set; } = KeybindList.Parse("R"); // Narrate the money the player has currently.
public KeybindList TimeNSeasonKey { get; set; } = KeybindList.Parse("Q"); // Narrate the time of day, day and date and season
public Boolean VerboseCoordinates { get; set; } = true;
public Boolean SnapMouse { get; set; } = true;
public Boolean SnapMouse { get; set; } = true; // Toggles the snap mouse feature
// TODO add command to toggle warning feature
#endregion
// TODO Add the exclusion and focus list too

View File

@ -28,8 +28,8 @@ namespace stardew_access.Patches
try
{
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed(); // For narrating animal details
bool isEscPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape); // For escaping/unselecting from the animal name text box
bool isPrimaryInfoKeyPressed = MainClass.Config.PrimaryInfoKey.JustPressed(); // For narrating animal details
bool isEnterPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Enter); // For escaping/unselecting from the animal name text box
string toSpeak = " ", details = " ";
isOnFarm = ___movingAnimal;
@ -40,14 +40,14 @@ namespace stardew_access.Patches
{
toSpeak = ___textBox.Text;
if (isEscPressed)
if (isEnterPressed)
{
___textBox.Selected = false;
}
}
else
{
if (isCPressed & !isNarratingAnimalInfo)
if (isPrimaryInfoKeyPressed & !isNarratingAnimalInfo)
{
string name = ___animal.displayName;
string type = ___animal.displayType;
@ -205,7 +205,7 @@ namespace stardew_access.Patches
return;
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
bool isPrimaryInfoKeyPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
string ingredients = "";
string name = currentBluprint.displayName;
string upgradeName = currentBluprint.nameOfBuildingToUpgrade;
@ -242,7 +242,7 @@ namespace stardew_access.Patches
blueprintInfo = $"{name}, Price: {price}, Ingredients: {ingredients}, Dimensions: {width} width and {height} height, Description: {description}";
if (isCPressed && !isSayingBlueprintInfo)
if (isPrimaryInfoKeyPressed && !isSayingBlueprintInfo)
{
SayBlueprintInfo(blueprintInfo);
}

View File

@ -82,9 +82,9 @@ namespace stardew_access.Patches
int i = narrateHoveredItemInInventory(__instance.inventory, __instance.inventory.inventory, __instance.inventory.actualInventory, x, y);
if (i != -9999)
{
bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed(); // For donating hovered item
bool isPrimaryInfoKeyPressed = MainClass.Config.PrimaryInfoKey.JustPressed(); // For donating hovered item
if (isCPressed && __instance.inventory.actualInventory[i] != null)
if (isPrimaryInfoKeyPressed && __instance.inventory.actualInventory[i] != null)
{
foreach (var tile in donationTiles)
{

View File

@ -169,7 +169,7 @@ namespace stardew_access.Patches
try
{
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
bool isPrimaryInfoKeyPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
string toSpeak = " ", extra = "";
if (___confirmingEmpty)
@ -181,7 +181,7 @@ namespace stardew_access.Patches
}
else
{
if (isCPressed && !isNarratingPondInfo)
if (isPrimaryInfoKeyPressed && !isNarratingPondInfo)
{
string pond_name_text = Game1.content.LoadString("Strings\\UI:PondQuery_Name", ____fishItem.DisplayName);
string population_text = Game1.content.LoadString("Strings\\UI:PondQuery_Population", string.Concat(____pond.FishCount), ____pond.maxOccupants.Value);
@ -458,7 +458,7 @@ namespace stardew_access.Patches
{
string toSpeak = "";
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
bool isEscPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape); // For escaping/unselecting from the animal name text box
bool isEnterPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Enter); // For escaping/unselecting from the animal name text box
if (firstTimeInNamingMenu)
{
@ -471,7 +471,7 @@ namespace stardew_access.Patches
___textBox.Update();
toSpeak = ___textBox.Text;
if (isEscPressed)
if (isEnterPressed)
{
___textBox.Selected = false;
}

View File

@ -153,7 +153,7 @@ namespace stardew_access.Patches
{
try
{
bool isCPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
bool isPrimaryInfoKeyPressed = MainClass.Config.PrimaryInfoKey.JustPressed();
int x = Game1.getMouseX(true), y = Game1.getMouseY(true); // Mouse x and y position
string toSpeak = " ", extra = "";
@ -203,7 +203,7 @@ namespace stardew_access.Patches
string description = Game1.parseText(____shownQuest.GetDescription(), Game1.dialogueFont, __instance.width - 128);
string title = ____shownQuest.GetName();
if (firstTimeInIndividualQuest || (isCPressed && !isNarratingQuestInfo))
if (firstTimeInIndividualQuest || (isPrimaryInfoKeyPressed && !isNarratingQuestInfo))
{
if (firstTimeInIndividualQuest)
toSpeak = "Back button";

View File

@ -247,7 +247,7 @@ namespace stardew_access.Patches
{
try
{
bool isEscPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape); // For escaping/unselecting from the animal name text box
bool isEnterPressed = Game1.input.GetKeyboardState().IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Enter); // For escaping/unselecting from the animal name text box
string toSpeak = " ";
string currentPetName = getCurrentPetName();
@ -255,7 +255,7 @@ namespace stardew_access.Patches
{
toSpeak = ___nameBox.Text;
if (isEscPressed)
if (isEnterPressed)
{
___nameBox.Selected = false;
}
@ -264,7 +264,7 @@ namespace stardew_access.Patches
{
toSpeak = ___farmnameBox.Text;
if (isEscPressed)
if (isEnterPressed)
{
___farmnameBox.Selected = false;
}
@ -273,7 +273,7 @@ namespace stardew_access.Patches
{
toSpeak = ___favThingBox.Text;
if (isEscPressed)
if (isEnterPressed)
{
___favThingBox.Selected = false;
}