Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix loading viewed hint tiles about dungeon requirements #460

Merged
merged 3 commits into from
Jan 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 30 additions & 4 deletions docs/ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
## Changes in 9.7.0

- **Push-to-talk**

Unfortunately due to technical limitations, the original voice recognition method used by tracker doesn't allow changing the microphone used. In order to allow people to change the microphone used by tracker, we have implemented an option to enable a push-to-talk mode. With this mode, you can either use the default windows microphone or specify a specific microphone, then set a button to use to initiate push-to-talk.

This only works with keyboard keys, so if you want to use a controller button, you would need to use an external program to bind your controller to the keyboard key used.

- **Auto Updating Tracker Configs & Sprites**

The tracker YAML configs and all of the sprites used by the SMZ3 Cas' Randomizer have been moved to separate repositories to make them easier to manage as well as allow the SMZ3 Cas' Randomizer to automatically update the configs and sprites on launch. This means that basic tracker line changes and new sprites won't require new builds of the randomizer. Furthermore, the config files now utilize schemas so that if using Visual Studio Code and the YAML plugin, it'll highlight errors automatically.

You can find the repositories for the configs and sprites below:

- https://github.com/TheTrackerCouncil/SMZ3CasConfigs
- https://github.com/TheTrackerCouncil/SMZ3CasSprites

With these changes, we hope it'll be easier for people to edit and even contribute tracker lines and sprites. If anyone doesn't want the configs and sprites to be automatically updated, this can be disabled in the settings.

For anyone who previously created new tracker profiles, then you can read [this document](https://docs.google.com/document/d/1lwKHfxYujvY--pmsWLn5dIBxqDqTvM1znA_xwPTnRac/edit?usp=sharing) for information on how to update your profile configs to make use of the schemas as well as edit them for the new tracker mood setup from version 9.6.1.

- **Two New MSU Display Styles**

For the MSU information window and output text file, two new styles were added to present more information. There is a new single line style that includes the MSU name and creator. Another style displays the all of the MSU information in sentence form.

- **Miscellaneous Updates and Fixes**

- Config files that have extra fields in them will no longer error out when loaded.
- Various tracker line have been added and updated.

## Changes in 9.6.1

- **Advanced Tracker Mood Functionality**
Expand All @@ -12,10 +42,6 @@
- Tracker can now have special responses to specific track numbers, MSU names, and MSU song names.
- The final batch of Link sprites have been added.

## Upcoming GitHub Organization and Repository Change

In the coming weeks, the repo url will change to being under the new [The Tracker Council](https://github.com/TheTrackerCouncil) organization. When the repo is migrated over, the url for it will change, though old urls should redirect you. This change is being done as there are plans to split out some parts of the repo into other repos to add the ability to add new tracker lines and sprites without the need of pushing out a new version of SMZ3. It'll also make it easier for people to contribute their own sprites and tracker lines as things will be more organized.

## Changes in 9.6.0

- **Automatic Visible Items and Hint Tile Tracking**
Expand Down
2 changes: 1 addition & 1 deletion src/Randomizer.App/Randomizer.App.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<TargetFramework>net7.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<ApplicationIcon>chozo20.ico</ApplicationIcon>
<Version>9.7.0</Version>
<Version>9.7.1</Version>
<Title>SMZ3 Cas' Randomizer</Title>
<AssemblyTitle>SMZ3 Cas' Randomizer</AssemblyTitle>
<Authors>Vivelin</Authors>
Expand Down
2 changes: 2 additions & 0 deletions src/Randomizer.Data/Options/GeneralOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,8 @@ public string? TwitchId
/// Key to be used for push-to-talk mode
/// </summary>
public PushToTalkKey PushToTalkKey { get; set; } = PushToTalkKey.KeyLeftControl;

/// <summary>
/// Option to download new configs on startup
/// </summary>
public bool DownloadConfigsOnStartup { get; set; } = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public ViewedText(IWorldAccessor worldAccessor, TrackerBase tracker, HintTileCon
_tracker = tracker;
_tracker.LocationCleared += TrackerOnLocationCleared;
_pendingHintTiles = _worldAccessor.World.HintTiles
.Where(x => x.State is { HintState: HintState.Viewed }).ToDictionary(h => h,
.Where(x => x.State is { HintState: HintState.Viewed } && x.Locations?.Any() == true).ToDictionary(h => h,
h => h.Locations!.Select(l => _worldAccessor.World.FindLocation(l)).ToList());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,12 @@ namespace Randomizer.SMZ3.Tracking.Services.Speech;
/// </summary>
public sealed class NullSpeechRecognitionService : ISpeechRecognitionService
{
public event EventHandler<SpeechRecognizedEventArgs>? SpeechRecognized;

public event EventHandler<SpeechRecognizedEventArgs>? SpeechRecognized
{
add { throw new NotSupportedException(); }
remove { throw new NotSupportedException(); }
}

public void ResetInputDevice()
{
Expand Down
2 changes: 1 addition & 1 deletion src/Randomizer.SMZ3.Tracking/Tracker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,8 @@ public sealed class Tracker : TrackerBase, IDisposable
/// <param name="stateService"></param>
/// <param name="worldService"></param>
/// <param name="timerService"></param>
/// <param name="speechRecognitionService"></param>
/// <param name="metadataService"></param>
/// <param name="serviceProvider"></param>
public Tracker(IWorldAccessor worldAccessor,
TrackerModuleFactory moduleFactory,
IChatClient chatClient,
Expand Down
Loading