Skip to content

Add Core Keeper game support - #47

Merged
Jed556 merged 11 commits into
Jed556:mainfrom
ChaiyoKung:feat/corekeeper
Sep 1, 2026
Merged

Add Core Keeper game support#47
Jed556 merged 11 commits into
Jed556:mainfrom
ChaiyoKung:feat/corekeeper

Conversation

@ChaiyoKung

Copy link
Copy Markdown
Contributor

Resolve #46

What does this PR do?

Adds Core Keeper as a supported game, following the existing multi-game structure (GameRegistry + per-game instruments/layouts/settings).

Changes

Game support

  • Register Core Keeper in GameRegistry with process detection (CoreKeeper) and per-game location / active-state settings
  • Add CoreKeeperLocation and ActiveCoreKeeper user settings, including the default mirrors in App.config
  • Add 6 instruments — Pocket Piano, Cello, Drumkit, Flute, Harp, Ocarina — one file per instrument under Core/Games/CoreKeeper/Instruments/, mirroring the Heartopia structure
  • All instruments share a 24-key chromatic QWERTY layout matching the in-game instrument keybinds (top row q2w3er5t6y7u, bottom row zsxdcvgbhnjm). Each instrument sounds in its own octave range: Drumkit/Cello C2–B3, Harp/Pocket Piano C3–B4, Flute C4–B5, Ocarina C5–B6 (top row = upper octave, bottom row = lower octave)
  • Add the game icon (256×256)

Docs & housekeeping

  • README: add Core Keeper to the supported games list, refresh the multi-game feature line to cover all registered games, add a ban-risk note for Core Keeper, and credit Pugstorm in the trademark attributions
  • Bug report template: add Core Keeper to the game dropdown, plus previously missing games; quote dropdown entries containing colons for valid YAML

Testing

  • dotnet build passes with 0 errors
  • dotnet format --verify-no-changes clean on all touched C# files
  • Process name (CoreKeeper) verified from Task Manager with the Steam version running
  • Keybinds verified against the in-game instrument UI, including the per-instrument sounding ranges above; keys are consumed as notes only while the instrument screen is open (no movement/hotbar conflicts)
  • Core Keeper supports held notes and chords, which matches the app's key down/up playback model
  • Live end-to-end playback test in-game with the build from this branch — works as expected

Tested with Core Keeper v1.2.1.5 (Steam), Windows 11.

Demo videos (per instrument)

Each video shows a MIDI file played by Auto MIDI Player into the corresponding in-game instrument:

Instrument Sounding range Demo
Drumkit C2–B3 https://github.com/user-attachments/assets/e62d8266-f8d2-4375-8761-29d1d4d198e6
Cello C2–B3 https://github.com/user-attachments/assets/5a109168-c06e-4ea5-ad93-ea357bf2ddcd
Harp C3–B4 https://github.com/user-attachments/assets/5de3b8f0-2bab-441f-a5f9-556fadb8e252
Pocket Piano C3–B4 https://github.com/user-attachments/assets/5aea0f40-3aca-4224-a8eb-117ed7fd1747
Flute C4–B5 https://github.com/user-attachments/assets/0edfd5fe-7145-43e9-8211-a069d10a461b
Ocarina C5–B6 https://github.com/user-attachments/assets/867404c2-7733-474b-96a2-2c928263a4e0

Notes for reviewers

  • Instruments and layouts are auto-discovered via reflection from the AutoMidiPlayer.WPF.Core.Instruments namespace, so no central registration list needed updating
  • Since each instrument has its own octave range, out-of-range notes (below C2 / above B6) rely on the existing per-song transpose, same as other supported games
  • Version bump: intentionally left out of this PR. Per CONTRIBUTING.md this change would warrant a SemVer minor bump (7.11.47.12.0, matching how previous game additions were versioned — e.g. Harry Potter: Magic Awakened bumped 7.7.07.8.0 in its support commit), but I'd rather leave versioning decisions to you. Happy to bump it if you'd like — just let me know!
  • This branch also carries a small docs fix (docs: update .NET version to 10.0 and fix license file references) — happy to rebase it out if you'd prefer to keep this PR game-only

Happy to adjust anything — mapping, instrument structure, or docs wording. Thanks for the great project! 💖

Add Wuthering Waves, Neverness to Everness, Blue Protocol: Star Resonance, and Harry Potter: Magic Awakened to the game selection list in the bug report issue template, allowing users to report issues for these titles. Quote entries containing colons to ensure valid YAML.
Update the multi-game support feature list to include Neverness to
Everness, Blue Protocol: Star Resonance, and Harry Potter: Magic
Awakened.
Register Core Keeper in the game registry with process detection and location/active-state settings. Add six instruments (Pocket Piano, Cello, Drumkit, Flute, Harp, Ocarina) sharing a 24-key chromatic C3-B4 QWERTY layout, and add the game icon.
List Core Keeper instruments, refresh the multi-game feature line to cover all registered games, add a ban-risk note for Core Keeper, and credit Pugstorm/Core Keeper in trademark attributions.
Add Core Keeper to the game selection list in the bug report issue template.
Mirror CoreKeeperLocation and ActiveCoreKeeper in the userSettings section like every other game, matching the Settings.settings defaults.
Each Core Keeper instrument sounds in its own octave range over the shared 24-key layout: Drumkit/Cello C2-B3, Harp/Pocket Piano C3-B4, Flute C4-B5, Ocarina C5-B6. Top row plays the upper octave, bottom row the lower. Update layout docs and README accordingly.
@Jed556 Jed556 self-assigned this Aug 31, 2026
@Jed556 Jed556 added the feat New feature or request label Aug 31, 2026
@Jed556
Jed556 merged commit 3f46320 into Jed556:main Sep 1, 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 support for Core Keeper

2 participants