Skip to content

feat: add Wuthering Waves support - #45

Merged
Jed556 merged 2 commits into
Jed556:mainfrom
whateverzpy:feat/wuthering-waves-support
Aug 24, 2026
Merged

feat: add Wuthering Waves support#45
Jed556 merged 2 commits into
Jed556:mainfrom
whateverzpy:feat/wuthering-waves-support

Conversation

@whateverzpy

Copy link
Copy Markdown
Contributor

Summary

Adds Wuthering Waves support with its shared 21-key QWERTY instrument layout.

  • Registers Wuthering Waves as a supported game
  • Adds game location and activation settings
  • Adds the 21-key QWERTY mapping:
    • High: Q W E R T Y U
    • Middle: A S D F G H J
    • Low: Z X C V B N M
  • Represents the two available instruments with one configuration because their controls are identical
  • Adds the game icon and README support, safety, and trademark documentation

Process detection and compatibility

Tested on the CN client installed through the official launcher.

Tested executable:

Wuthering Waves Game\Client\Binaries\Win64\Client-Win64-Shipping.exe

The registered process name is Client-Win64-Shipping. Auto MIDI Player also derives a process name from the executable selected in Settings, allowing a user to configure another regional client manually if its filename differs.

The international client has not been tested directly. Public references currently show the same executable for other distributions:

Validation

  • Real-game playback smoke test on the CN official-launcher client
  • Static registry/settings/mapping validation
  • 21 keys mapped to 21 MIDI notes
  • Debug build completed with 0 errors
  • Release build completed with 0 errors
  • International client smoke test
  • Absolute pitch calibration using a tuner or reference recording
  • Non-QWERTY keyboard layout testing

The builds retain existing upstream warnings, including the current SQLitePCLRaw.lib.e_sqlite3 advisory; this PR introduces no Wuthering Waves-specific build warnings and intentionally does not mix dependency cleanup into the game-support change.

Known limitations / review requested

  • The MIDI range is represented as C3-B5. The key order works in-game, but the absolute octave has not been independently measured.
  • The two instruments share identical controls and are represented by one configuration, although their timbre and pitch differ slightly. They may need separate configurations if a consistent pitch offset is measured later.
  • Only the CN official-launcher client and standard QWERTY mapping have been tested directly.
  • The international client and other distribution channels still need direct verification.
  • The game icon was extracted from the installed CN game executable; maintainers may replace it if another source is preferred.
  • The Support Wiki is maintained separately and may require a follow-up update after merge.

Versioning

The project version is intentionally unchanged so release versioning remains under maintainer control. I can update it if preferred.

Closes #44

Copilot AI lite review requested due to automatic review settings August 23, 2026 15:59

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes follow existing registry/instrument/layout patterns, appear consistent with current conventions, and introduce no verified functional or integration issues in the reviewed diffs.

Pull request overview

Adds “Wuthering Waves” as a first-class supported game, wiring it into the existing dynamic game/instrument/layout discovery and settings persistence model used across Auto MIDI Player.

Changes:

  • Registers Wuthering Waves in GameRegistry with process detection, activation toggle, saved location, and a pack URI icon reference.
  • Introduces a 21-key QWERTY keyboard layout and a matching 21-note diatonic instrument config for Wuthering Waves.
  • Updates persisted user settings (settings schema + designer + app config) and documents support/safety/trademark notes in the README.
File summaries
File Description
README.md Documents Wuthering Waves support, safety link, and trademark disclaimer update.
AutoMidiPlayer.WPF/Core/Games/WutheringWaves/KeyboardLayout.cs Adds the 21-key QWERTY key layout definition for Wuthering Waves.
AutoMidiPlayer.WPF/Core/Games/WutheringWaves/Instruments/Instrument.cs Adds the 21-key instrument note mapping and associates it with the QWERTY layout.
AutoMidiPlayer.WPF/Core/Games/GameRegistry.cs Registers Wuthering Waves as a supported game (settings-backed location/activation + process name).
AutoMidiPlayer.Data/Properties/Settings.settings Adds WutheringWavesLocation and ActiveWutheringWaves user settings.
AutoMidiPlayer.Data/Properties/Settings.Designer.cs Adds strongly-typed accessors for the new Wuthering Waves settings.
AutoMidiPlayer.Data/App.config Adds default values for the new Wuthering Waves settings.
Review details

Files not reviewed (1)

  • AutoMidiPlayer.Data/Properties/Settings.Designer.cs: Generated file
  • Files reviewed: 6/8 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@Jed556 Jed556 self-assigned this Aug 24, 2026
@Jed556 Jed556 added the feat New feature or request label Aug 24, 2026
@Jed556
Jed556 merged commit eff0ef7 into Jed556:main Aug 24, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Wuthering Waves 21-key instrument support

3 participants