DaymareOn / DaymareOn/FSMP-MCM
Add 'Force AVX variant' dropdown that writes the loader INI
- Dominant language
- Papyrus
- Stars
- 3
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
Follow-up to DaymareOn/hdtSMP64#384 (runtime CPU auto-selecting loader).
The hdtSMP64 loader now auto-picks the best AVX build at launch and reads an optional override from `SKSE/Plugins/hdtSMP64_loader.ini`:
```ini
[Loader]
ForceVariant = auto ; auto | noavx | avx | avx2 | avx512
```
## Ask
Add an MCM control (dropdown / enum) **Force CPU optimization** with options Auto / No AVX / AVX / AVX2 / AVX512 that writes `ForceVariant` into that INI.
## Notes
- Variant selection happens at `SKSEPlugin_Load` (before Papyrus exists), so a change only takes effect on the **next game launch** — label it 'restart required'.
- 'Auto' should write `ForceVariant = auto`, which also clears the loader's persisted crash-ceiling so a past crash no longer constrains the choice.
- The loader clamps any forced tier down to what the CPU actually supports, so it is safe to expose all options.
- Writing the INI from Papyrus: use the project's existing config-write mechanism (e.g. PapyrusUtil/MCM Helper file write) targeting `Data/SKSE/Plugins/hdtSMP64_loader.ini`.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the existing MCM control and config-write mechanism, then trace how it can write Data/SKSE/Plugins/hdtSMP64_loader.ini. Use the loader's SKSEPlugin_Load behavior as the boundary: done means the Force CPU optimization options write the corresponding ForceVariant value and clearly indicate that a restart is required.
Written by the indexing model from the issue text.
Assessment
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100