Initial Settings Functionality#1
Conversation
thejackbitt
commented
Jan 13, 2026
- added JSON interface and settings.json
- added save/load functionality for spltiscreen settings (splitscreen enabled, use player1 profile, etc...)
- added save/load functionality for profile settings (armor customization, name, tag, etc...)
RoastCabose
left a comment
There was a problem hiding this comment.
I haven't downloaded these latest controller remapping changes, they look super promising. The work in general here on this PR is great, and it looks like there might simply be a new maintainer? Good to see, I was about to try and fork this myself.
I did see one bug, I couldn't get colors to apply to spartans in Halo 3. I haven't yet foudn the source of it, so I didn't label it in this review, but I'm pretty sure the bug predates this PR anyways.
Things I want to look into in the future is utilizing the detecting in game state, and loading game specific customizations.
I really appreciate all yall work, this is such a great utility, and these are some tasty changes for an upcoming Halo LAN bachelor party that would be way more annoying if we couldn't just use the PCs we already own lol.
| ImGui::EndDisabled(); | ||
|
|
||
| if (ImGui::Button("Load Profile")) { | ||
| if (ImGui::Button("Apply Profile")) { |
There was a problem hiding this comment.
I think this should be a more clear "Load Profile from Game", and then the tooltip I redid as "Loads current player profile; can only be used in a match!".
| } | ||
| if (ImGui::IsItemHovered()) | ||
| ImGui::SetTooltip("Use this in game!!!"); | ||
| if (ImGui::Button("Save Profile")) { |
There was a problem hiding this comment.
Correspondingly, I labeled this as "Save Profile to File" & added a tool tip that said "This will be loaded on next startup."
|
I also just realized that I started writing this review literally minutes after an update was pushed lmao. |
| if (state.Gamepad.wButtons & XINPUT_GAMEPAD_A) return CGamepadMapping::A; | ||
| if (state.Gamepad.wButtons & XINPUT_GAMEPAD_B) return CGamepadMapping::B; | ||
| if (state.Gamepad.wButtons & XINPUT_GAMEPAD_X) return CGamepadMapping::X; | ||
| if (state.Gamepad.wButtons & XINPUT_GAMEPAD_Y) return CGamepadMapping::Y; |
There was a problem hiding this comment.
This leaves out equipment/armor abilities/sprint binds, as well as all the default controls for stuff like vehicles.