* Simplify item cycling
* Simplify selection variables
* Fix adult bunny hood and gray appropriate items
* Don't go into cycling mode when there's no items to cycle to
* Restore updating c buttons
This was previously done with `Inventory_ReplaceItem` but that led to problems when another slot had the same item as the one that's being cycled.
* Address review
* Update soh.sh.in
Added support for symlinked rom files in linux/appimage script.
* Update scripts/linux/appimage/soh.sh.in
Updated to be less confusing as per Archez
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
---------
Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
* Fix various randomiser setting bugs
* Fix shuffle entrences metasetting getting locked on per savefile after an entrance rando seed is generated once
* Fixes pressing B on name entry after randomizer quest.
* Reverts to auto parsing previous spoiler file.
Also includes an option to press L to automatically gen a fresh seed. It still does regenerate the old spoiler to regen the hints in the user's current language, but it will now automatically do this instead of requiring dragging and dropping the spoiler every time.
* Fixes bug causing rando settings to come from CVars instead of a spoiler file when a spoiler is dropped/imported on boot.
* Pressing Generate Randomizer in ImGui doesn't use loaded spoilerfile.
* Adds tooltip to Generate Randomizer ImGui Button.
* Advanced Resolution Settings
first working version with most features implemented
* Update advancedResolutionEditor.cpp
Added auto-resizing logic for Pixel Perfect Mode.
Minor fixes.
* Tweaks and tidying up.
Disable integer scale slider if automatic sizing is overriding it.
Don't offer these UI options on Apple.
Removed unused code.
Updated LUS.
* Update libultraship
* Filenames and style fixes
Filenames and folders now more closely match rest of project.
Tidied newlines/comments.
(SohMenuBar.cpp) Label of button changed to fit menu.
(ResolutionEditor.cpp) Default window size improved.
* Update libultraship
(However, I still need to make the GUI controls acknowledge the new constraints.)
* Update libultraship
(and changed the name of some cvars)
* Added constraints to the inputs. Added a fps drop warning.
* Tweaks based on feedback
* Update libultraship
* Enabled on Apple - For currently ongoing Retina DPI troubleshooting.
(Also removed the duplicated N64 Mode toggle.)
* Update libultraship
* Update LUS, update CVar names, small tweaks
And one significant fix: Enhancement checkboxes in ResolutionEditor now default to off.
* Add Additional Settings and the accursed horizontal resolution field.
There's still a few bugs with it that I haven't squashed, but I need to stop for now and just commit what I've got.
(This is honestly causing more problems than it solves, but i'm tired of getting questions about it.)
* Resolved many of the lingering bugs with the previous commit
* Horizontal Resolution field now properly acknowledges resolution bounds.
* Don't show "Horiz. pixel count" field if not enforcing aspect ratio.
Additionally:
* Don't change settings if selecting "Custom" from preset dropdowns.
* Added a missing horizontal pixel count clamp check.
* Tidied up redundant behaviour.
* Additional comments, and a checkbox to disable aspect correction on consoles.
* Change how frame rate threshold is calculated.
* More minor UI tweaks.
* Added missing CVarSave() calls where needed.
Added a short update countdown for the numerical CVars. This is intended to prevent CVarSave() from being called too often.
* Added a helpful button to cover a potential support issue.
* "Fit Automatically" has been moved to LUS and is now smarter.
This will require another PR in LUS to be opened by me.
* Swap to new branch for libultraship
* Even more clever integer scaling behavior.
"IntegerScale" is itself now a CVar group.
* Tidy up comments.
* Fix a typo that prevented `IsDroppingFrames()` from working
(Maybe more than a mere typo, but a typo was involved.)
* Remove unused and unnecessary variables.
* Group "Integer Scaling" under its own collapsing header
* Changed label for the Enabled advanced settings checkbox.
* Update libultraship + Formatting pass on ResolutionEditor.cpp
* Add `(Select "Off" to disable.)` help text for the aspect ratio setting and hide UI elements accordingly.
Only show the fields if user chooses Custom.
Padding has been shifted accordingly too.
Also fixed a long standing error with the Y field disappearing when modifying X.
* Well I suppose that's no-longer necessary.
* Update libultraship with commits from main branch (up to e5df3a9)
* Tweak comments.
* Save current ImGui Combo items as a console variable
to improve user experience.
* Change language of NeverExceedBounds checkbox description
to be more affirmative, so it makes more sense.
Add tooltip for NeverExceedBounds checkbox.
Tweak some comments related to additional settings.
* Add list of colours to use with TextColored elements.
* Move some UI elements around.
Add an extra MSAA slider to the editor window.
* Integer Scaling header is DefaultOpen if player has Pixel Perfect Mode active upon window creation.
+ Amend tooltips.
* Fix a minor oversight with default configuration.
Fixes an issue where default aspect ratio settings on a fresh SoH configuration weren't matching the defaults assigned in libultraship.
The default values are now 16:9, matching LUS.
Additionally, the combo box now defaults specifically to the 16:9 preset instead of "Custom".
(Fixing the defaults in LUS to be 4:3 isn't worth a LUS bump, so this slight workaround will do for the sake of this PR.)
* Make resolution slider `disabled` condition a variable, for readability.
* Small tweak to combo item saving
* Use `SCREEN_HEIGHT` and `SCREEN_WIDTH` for constraints
* Simplify "Show a horizontal resolution field" logic
by using pixel dimensions as the aspect ratio directly, since now this view hides the aspect ratio setting from the user anyway.
* Correct aspect ratio visualiser to be un-inverted
+ actually display it as a ratio.
* Remove update flags from combo boxes + remove update countdown
+ remove non-functioning 'IsBoolArrayTrue' function.
(The countdown was an okay idea but I didn't implement it correctly. It's better to just keep it simple.)
* Code review suggestion: disable UI elements conditionally
(+ tweaks to code style)
* Invisible tweaks to the Integer Scaling-related Additional Settings
This looks like a lot but it's mostly just re-arranging a cluttered area of the code for clarity.
Actual changes to functionality are:
* Help text now "disabled" along with the checkbox.
* The NeverExceedBounds checkbox will now reset the unused ExceedBoundsBy cvar if it's been changed.
* Assorted small tweaks to comments and variable declarations.
* Code review suggestion: tweak "Window exceeded" warning condition
* Missed a thingy.
* Fixes off by one errors for a few settings.
* Removes disable of shuffle options when starting with corresponding items.
* Junks checks when shuffle is off and start with is on.
* Add player state dead check to Player_UseTunicBoots
* Update soh/src/overlays/actors/ovl_player_actor/z_player.c
---------
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>