mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-10 19:45:09 -05:00
e0930809d4
* 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. |
||
---|---|---|
.. | ||
assets | ||
CMake | ||
include | ||
macosx | ||
platform | ||
soh | ||
src | ||
.clang-format | ||
.clang-tidy | ||
.gitattributes | ||
.gitignore | ||
.gitrepo | ||
CMakeLists.txt | ||
fixbaserom.py | ||
format.sh | ||
icon.jpg | ||
resource.h | ||
Resource.rc | ||
SHIPOFHARKINIAN.ico | ||
SHIPOFHARKINIAN.manifest |