feat(action): add MCM action#49
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new long-press action (kMCM) that opens SkyUI’s MCM via the Journal (System tab), optionally auto-navigating to a specific mod page, with per-button “quick exit” behavior and mod-name caching to support UI selection.
Changes:
- Introduces
MCMNavigatorto detect MCM state, cache mod names (Papyrus + GFx fallback), and navigate to a target mod entry. - Extends long-press handling, settings UI, and INI config parsing/saving to support
MCM, per-button mod target, and per-button quick-exit. - Updates docs/sample INI and build files to include the new action and source files.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Plugin.cpp | Triggers initial Papyrus cache task after load/new game. |
| src/PCH.h | Adds <atomic> for new thread-safety primitives. |
| src/MenuUI.cpp | Adds MCM mod-target combo + quick-exit toggles in the in-game settings UI. |
| src/MCMNavigator.h | Declares MCM detection/navigation + cache APIs. |
| src/MCMNavigator.cpp | Implements GFx/Papyrus mod list caching and UI-driven navigation with retries. |
| src/LongPressAction.h | Adds kMCM and per-button MCM target/quick-exit fields. |
| src/InputHandler.h | Adds kMCM Journal sentinel + MCM quick-exit state tracking members. |
| src/InputHandler.cpp | Implements MCM open + optional navigation + quick-exit behavior while Journal is open. |
| src/ConfigParsing.cpp | Adds mcm action parsing. |
| src/Config.h | Adds new per-button MCM config fields to Settings, plus action option list update. |
| src/Config.cpp | Loads/saves new MCM fields and wires them into built button configs. |
| README.md | Documents new MCM action and new INI keys. |
| HoldFast.ini | Updates sample config with MCM and new per-button keys. |
| CMakeLists.txt | Adds MCMNavigator.{h,cpp} to build inputs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4c7db66 to
f042f36
Compare
…terface before exchange
…arantee real frame spacing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a new
kMCMlong-press action that opens the MCM directly, optionally navigating to a specific mod's page.New config options (per button):
sButtonStartAction=MCM/sButtonBackAction=MCMsButtonStartMCMModName=ModName— mod to navigate to (optional)bButtonStartMCMQuickexit=true— close Journal automatically when leaving a MCM mod pageMCM Quick Exit behaviour:
MCM navigation: