diff --git a/stardew-access/ModEntry.cs b/stardew-access/ModEntry.cs index cc8e83a..c7e48b0 100644 --- a/stardew-access/ModEntry.cs +++ b/stardew-access/ModEntry.cs @@ -186,7 +186,7 @@ namespace stardew_access } // Manual read tile - if(Equals(e.Button, SButton.P)) + if(Equals(e.Button, SButton.J)) { ReadTile(manuallyTriggered: true); } @@ -251,9 +251,13 @@ namespace stardew_access Vector2 gt = new Vector2(x, y); #endregion - if (Context.IsPlayerFree) { + if (!manuallyTriggered && prevTile != gt) + { + ScreenReader.prevText = " "; + } + Dictionary> terrainFeature = Game1.currentLocation.terrainFeatures.FieldDict; string toSpeak = " "; @@ -459,9 +463,12 @@ namespace stardew_access if (manuallyTriggered) ScreenReader.say(toSpeak, true); else - ScreenReader.sayWithTileQuery(toSpeak, x, y, true); + ScreenReader.sayWithTileQuery(toSpeak, x, y, true); #endregion + + prevTile = gt; } + } catch (Exception e) { diff --git a/stardew-access/ScreenReader.cs b/stardew-access/ScreenReader.cs index 9b9f925..7d07558 100644 --- a/stardew-access/ScreenReader.cs +++ b/stardew-access/ScreenReader.cs @@ -6,7 +6,7 @@ namespace stardew_access internal class ScreenReader { public static IAccessibleOutput? screenReader = null; - private static string prevText = ""; + internal static string prevText = ""; public static void initializeScreenReader() {