Skip to content

Conversation

@Malkierian
Copy link
Contributor

@Malkierian Malkierian commented Apr 29, 2025

Custom presets! What more needs to be said?!

Alright, here's a general breakdown:

  • Central preset management location
  • Can create presets to include settings (and window/new menu settings), enhancements (including rando enhancements), cosmetics, audio, rando settings, and tracker settings
  • Can selectively apply each of those sections on a per-preset basis (if you create one that includes all sections, but only want to apply the enhancements section from it, you can)
  • Can hide built-in presets, which are stored in soh.otr

This removes the satellite preset selector in Enhancements and converts the one in Rando Seed Settings to the new system. Not sure yet if it will even be necessary to make new versions of those, but am awaiting feedback on whether it's greatly desired.

Also, a point of todo: need to figure out how to read, store, and restore tracker window info from imgui.ini.

Reqiures Kenix3/libultraship#868

Build Artifacts

Copy link
Contributor

@Pepe20129 Pepe20129 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small things but nothing blocking.

Malkierian and others added 3 commits April 29, 2025 14:24
Restore auto-resizing to new preset popup.
Remove errant BeginDisabled in randomizer (merge artifact?).
Setup loops for all other same-ish situations (applying presets, setting up columns, etc) based on blockInfo.
@Malkierian Malkierian added the do not merge Not ready or not valid changes label Apr 30, 2025
@Malkierian
Copy link
Contributor Author

Malkierian and others added 2 commits April 30, 2025 19:50
@Malkierian Malkierian removed the do not merge Not ready or not valid changes label May 17, 2025
@Malkierian
Copy link
Contributor Author

Alright, built-in presets now reside in soh.otr, and they can't be deleted (though I added an option for hiding built-ins in the manager section itself). Also re-enabled the satellite rando selector and hooked it up to the manager system.

Swap randomizer satellite picker to use the manager presets, only displays presets with randomizer section included.
Move built-in presets to the asset archive, and remove delete button on them.
Remove PresetEntries.cpp.
@Malkierian Malkierian merged commit 99c3fa6 into HarbourMasters:develop May 23, 2025
6 checks passed
@Malkierian Malkierian deleted the preset-manager branch May 23, 2025 21:57
krazyjakee pushed a commit to krazyjakee/OOT that referenced this pull request Sep 6, 2025
* Add presets sidebar, proof of concept row-based listing.

* Complete and unify section check/x drawing.

* Add error state to InputString, and corresponding members and builders to InputOptions.
Implement saving and loading of preset files.

* Implement `Config::SetBlock()`.
Implement Apply.
Implement Delete.
Some json structure changes.

* Apply `CVarClear()` calls in CVar-prefixed widget functions.

* Comment out satellite preset pickers for now.

* clang

* Fix ButtonOptions initializer list.

* I hate clang...

* Loop new preset checkbox creation.
Restore auto-resizing to new preset popup.
Remove errant BeginDisabled in randomizer (merge artifact?).

* Add BlockInfo struct to make array with all info for each block.
Setup loops for all other same-ish situations (applying presets, setting up columns, etc) based on blockInfo.

* Save tracker windows info for later restoration.
Lay the groundwork for said restoration.

* Complete tracker window restoration on preset application.

* Fix RadioButtonsOptions builder parameter type.
Add race lockout to new and apply buttons.

* Revert application of CVarClear on UIWidgets widgets (need to preserve manually-set default states).

* Remove enhancements satellite picker.
Swap randomizer satellite picker to use the manager presets, only displays presets with randomizer section included.
Move built-in presets to the asset archive, and remove delete button on them.
Remove PresetEntries.cpp.

* Fix locations and tricks tabs not updating live when applying preset with new system.

* Apply RandoGenerating lockout to rando preset Apply button.

* Fix new presets not being properly filtered in satellite selectors.

* Fix currently selected presets getting deleted still being selected in satellite selectors.

* Change BigPoeTargetCount in preset files to 1.
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