Skip to content

feat(action): add MCM action#49

Merged
codepuncher merged 34 commits into
mainfrom
feat/action/open-mcm
Jun 16, 2026
Merged

feat(action): add MCM action#49
codepuncher merged 34 commits into
mainfrom
feat/action/open-mcm

Conversation

@codepuncher

@codepuncher codepuncher commented Jun 14, 2026

Copy link
Copy Markdown
Owner

Adds a new kMCM long-press action that opens the MCM directly, optionally navigating to a specific mod's page.

New config options (per button):

  • sButtonStartAction=MCM / sButtonBackAction=MCM
  • sButtonStartMCMModName=ModName — mod to navigate to (optional)
  • bButtonStartMCMQuickexit=true — close Journal automatically when leaving a MCM mod page

MCM Quick Exit behaviour:

  • Journal closes when the user leaves a mod's settings page (Back from mod page → game, skipping the MCM mod list)
  • If no mod page was visited, Journal closes when the MCM overlay closes
  • Per-button — Start and Back can have independent quickexit settings

MCM navigation:

  • Caches mod names from the MCM config manager or the live Flash UI
  • Compatible with MCM Unlocked (falls back to GFx cache on first Journal open)

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.

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 MCMNavigator to 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.

Comment thread src/InputHandler.cpp
Comment thread src/MenuUI.cpp
Comment thread src/MCMNavigator.cpp
Comment thread src/MCMNavigator.cpp Outdated

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.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.

Comment thread src/MCMNavigator.cpp
Comment thread src/MCMNavigator.cpp Outdated
Comment thread src/MCMNavigator.cpp Outdated
Comment thread src/Plugin.cpp
Comment thread src/InputHandler.cpp

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.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.

Comment thread src/MCMNavigator.cpp
Comment thread src/MCMNavigator.cpp Outdated
Comment thread src/Plugin.cpp
Comment thread src/InputHandler.cpp

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.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Comment thread src/Config.cpp Outdated

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.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.

Comment thread src/MCMNavigator.cpp
Comment thread src/MCMNavigator.cpp
Comment thread src/MCMNavigator.h Outdated

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.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Comment thread src/MCMNavigator.cpp Outdated
Comment thread src/MCMNavigator.cpp
@codepuncher codepuncher requested a review from Copilot June 15, 2026 14:56

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.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Comment thread src/MCMNavigator.cpp

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.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Comment thread src/MCMNavigator.cpp

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.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Comment thread src/MCMNavigator.cpp Outdated

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.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Comment thread src/InputHandler.cpp
@codepuncher codepuncher requested a review from Copilot June 16, 2026 16:58

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.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Comment thread src/InputHandler.cpp
@codepuncher codepuncher marked this pull request as ready for review June 16, 2026 17:57
Copilot AI review requested due to automatic review settings June 16, 2026 17:57

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.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.

Comment thread src/InputHandler.cpp
Comment thread README.md
Comment thread src/MenuUI.cpp
Comment thread HoldFast.ini
@codepuncher codepuncher merged commit 0d2bae4 into main Jun 16, 2026
15 checks passed
@codepuncher codepuncher deleted the feat/action/open-mcm branch June 16, 2026 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants