Commit Graph

469 Commits

Author SHA1 Message Date
balloondude2
8c8b9ad591
Update the labels of flag checkboxes to hex values (#869)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* label weekeventreg by hex mask instead of index

* update other flagArrays

* consistency

* display hex and dec

* capitals

* oops

* oops 2
2024-11-21 23:09:01 -05:00
cplaster
ce4bf1f4cc
Hookshot Anywhere (#699)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* initial commit

* formatting fix

* formatting fix

* remove conflict files

* Updated per garrettjoecox suggestions

* Cleanup comments

* initial commit

* formatting fix

* Updated per garrettjoecox suggestions

* Cleanup comments

* Merge fixes

* cleanup for review feedback

---------

Co-authored-by: Archez <archez39@me.com>
2024-11-19 20:51:17 -05:00
Archez
6d76ce9f5e
Fix crashing with modern menu and UIWidgets with no tooltips (#851)
* Fix crashing with modern menu and UIWidgets when null is passed for tooltips

* move to shiputils
2024-11-13 20:13:54 -05:00
Archez
e0ed28543b
Improve extended culling options and account for song cutscene fading (#850)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Improve extended culling options and account for song cutscene fading

* unify actor distance sliders into one
2024-11-13 17:49:47 -05:00
Archez
1afe496fed
Fix clock spinning violently from undefined behavior with bad casting (#849) 2024-11-13 14:18:47 -05:00
Archez
31685557d2
Fix linux auto rom detection for built-in extractor (#842)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2024-11-12 11:13:44 -05:00
Archez
cf92349436
Fix skip intro and skip first cycle logic running when it shouldn't (#846) 2024-11-12 11:00:45 -05:00
Malkierian
8a74695a74
Cleanup Controller Navigation Option in Menu (#847)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Change references of menubar in controller navigation option to menu, and change SOH to 2s2h.

* 2s2h to 2Ship
2024-11-12 10:50:19 -05:00
Archez
ebb9e3fc8e
Fix modern menu not interacting properly with some mouse events (#844) 2024-11-12 10:39:29 -05:00
Archez
01b127b7f3
Fix GfxPrint for Japanese UTF8 characters (#843) 2024-11-12 10:30:27 -05:00
Archez
422839dea4
Fix linux crash with KeepExpressMail (#840) 2024-11-12 10:15:30 -05:00
Archez
a2e93687f6
Fix crash when toggling alt assets while paused (#839) 2024-11-12 10:06:35 -05:00
Archez
fab4340461
Various fixes for spelling and save editor time change lightning state (#841)
* Set lightning off when changing save time

* various typo fixes
2024-11-12 10:01:16 -05:00
Garrett Cox
b7a607b765
Fix some issues caused by the extended scene geometry enhancement by patching DLs (#830)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2024-11-11 22:43:03 -06:00
Eblo
7b11b129f7
Use global player for sword magic form check hook (#828)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2024-11-11 10:19:07 -05:00
Eblo
b18eb6b649
Use correct CVar name for modern menu climb speed (#833)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2024-11-10 23:19:18 -05:00
Archez
449a2ebc70
Archive version checking and regeneration (#822)
* Add archive version checking and regeneration

* update building docs and copy assets for visual studio
2024-11-09 20:15:10 -06:00
louist103
be70a5a123
Item tracker (#707)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Core tracker code mostly done.

* Format

* Clean up enums.

* Format

* Header cleanup

* Update

* use CVars

* format

* Add editor to modern menu

* format

* Fix item tracker cvar loading/saving and add item tracker button for modern menu

* update button label

---------

Co-authored-by: Archez <archez39@me.com>
2024-11-08 11:51:58 -05:00
Archez
d1bbba626d
Add alt assets toggle to menus (#824)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Add alt assets toggle to menus

* Add toggle to control alt asset hotkey
2024-11-07 18:08:37 -05:00
Archez
2141922ee3
Fix authentic overflowed textures (#794)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* fix authentic overflow textures

* Add overflow assets and enable patching them
2024-11-05 23:25:31 -05:00
Eblo
207df24ffd
Fix bug with two-handed sword magic and dance (#819)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
2024-11-03 15:13:09 -06:00
Garrett Cox
0966633d2a
Implement simple notifications system (#816)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Implement simple notifications system

* Remove demoWindow call

* Fix initializer order
2024-11-02 15:44:21 -05:00
balloondude2
50bc007d46
Adds an option to the save editor to invert Stone Tower (#812)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* add option to invert st in save editor

* only allow inverting in stone tower scenes

* change tooltip to disabledTooltip

Co-authored-by: Archez <Archez@users.noreply.github.com>

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-10-31 00:37:24 -04:00
Garrett Cox
941b48b802
Add swordsman school options (#779)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
2024-10-26 14:28:08 +09:00
louist103
cbc89b8af4
Fix item id type (#813)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* fix wrong type

* Update z_kaleido_item.c
2024-10-21 10:51:47 -05:00
Eblo
64ebfa222e
[Enhancement] Two-handed sword spin attacks (#679)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Enhancement to enable magic for 2-handed swords

Create a new magic charge size for the two-handed swords
Add utility method for determining if the held item's button is being pressed, not just B

* Clean up two-handed sword spin attacks

Add hook for thunder matrix transformation, move that logic into TwoHandedSwordSpinAttack
Move held item button press function into TwoHandedSwordSpinAttack.cpp
Add enhancement to the searchable menu
Clean up logic for magic spin attack form check
Use variadic args for hooks

* Remove redundant includes from TwoHandedSwordSpinAttack.cpp

* Use extern on TwoHandedSwordSpinAttack structs
2024-10-10 14:38:51 -05:00
Garrett Cox
0129959d7b
Fix fairy container and seahorse rendering (#804) 2024-10-10 13:38:58 -05:00
Eblo
3ebfdb3928
[Enhancement] Skip the scarecrow song (#723)
* Add enhancement to skip the scarecrow song

* Update SkipScarecrowSong to use variadic args
2024-10-10 10:51:05 -05:00
Eblo
bb386e25a0
[Enhancement] Enable putaway as Fierce Deity (#717)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Add enhancement to enable putaway as Fierce Deity

* Fix hooks for putaway and FD sword wield

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-10-10 07:51:05 -05:00
balloondude2
4d3c39224c
[Enhancement] Add First Cycle Skip (#716)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* add option to skip first cycle

* nest cycle skip in intro skip

* set persistant flags from first cycle

* better comments

* missed a flag

* add modern menu option

* clang format

* add entrance cutscene flags
2024-10-09 23:48:21 -05:00
Eblo
0b16bced84
[Cheat] Allow Elegy of Emptiness anywhere (#712)
* Add cheat to allow Elegy of Emptiness anywhere

* Use modern menu for Elegy Anywhere, rename VB

Removed redundant null from Elegy scene check
Moved ElegyAnywhere enhancement's menu order

* Remove extraneous widgets from ElegyAnywhere menu
2024-10-09 23:46:05 -05:00
balloondude2
b7d7a2d9bf
[Enhancement] Add option to always get the Cremia Hug Cutscene after completing the milk run (#688)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
* Cremia always gives hugs after getting Romani Mask. Adds enhancement option but the option doesn't change anything yet

* moved cremia enhancement out of cutscene files

* hook works now

* change enhancement to picklist

* cleaned conditional

* move to minigame section and add modern menu item

* clang format
2024-10-08 23:26:13 -05:00
Archez
fa702ed90c
Extract pause maps and minimaps, support alt assets, fix pause map icons (#780)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* extract pause maps and minimaps and support alt assets

* Fix missing door transitions on pause menu map
2024-10-07 13:05:17 -04:00
mckinlee
7e10b1315e
[Enhancement] Disable Takkuri Steal (#776)
* simple and works

* implement proxy's feedback
Co-authored-by: Garrett Joe Cox <garrettjcox@gmail.com>

* forgot to remove unneeded check from testing

* remove null arg

* simple and works

* implement proxy's feedback
Co-authored-by: Garrett Joe Cox <garrettjcox@gmail.com>

* forgot to remove unneeded check from testing

* remove null arg

* changes

* bump lus

* add checkbox to modern menu

* clang

* archez feedback

* proxy feedback
2024-10-07 11:02:36 -05:00
Archez
cae9c27c62
Add HD support for Igos room curtains (#783) 2024-10-07 10:25:34 -05:00
Garrett Cox
cd4ee56d48
Implement faster song playback enhancement (#801) 2024-10-07 10:25:09 -05:00
Garrett Cox
790d36bfbc
Add options for first person aiming (#596)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2024-10-06 20:55:16 -05:00
Malkierian
da793a5bf2
Fix Sidebar Search (#796)
Some checks failed
generate-builds / generate-2ship-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled
* Ensures the sidebar search gets added if on at boot.
Searches the sidebar entries to find an entry with a label that matches the searchSidebarEntry label to delete when disabling sidebar search, just in case something goes wrong and it's not actually where it's supposed to be (sidebarSearchIndex).

* ... clang...
2024-10-05 12:54:23 -04:00
Archez
69edc89292
[Enhancement] Keep Express Mail in the same cycle (#791)
* Add enhancement for reusing letter to mama in one cycle

* add menu widget item for express mail
2024-10-05 12:54:00 -04:00
Garrett Cox
a93f011253
Move GameInteractor & NameTag src up to root of 2s2h (#799) 2024-10-05 10:33:10 -05:00
Garrett Cox
4c670ad342
Use glob_recurse across all of 2s2h/ (#797)
* Use glob_recurse across all of 2s2h/

* Update mm/CMakeLists.txt

Co-authored-by: Archez <Archez@users.noreply.github.com>

* Remove old source_group calls

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-10-05 10:13:31 -05:00
Garrett Cox
d9d6dbdf51
Remove unnecessary headers in favor of directory headers (#800) 2024-10-05 10:06:49 -05:00
Garrett Cox
da04b7f859
Change GI_VB_ to VB_ (#798) 2024-10-05 10:02:53 -05:00
Garrett Cox
8e0b482b23
Fix crash when search contains only spaces (#795) 2024-10-05 10:25:10 -04:00
Archez
d3933591b5
Simplify Pause Warp confirming logic and message handling (#793)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2024-10-04 15:30:10 -04:00
Garrett Cox
f31674a12e
Add fix for ikana great fairy fountain color (#788)
Some checks are pending
generate-builds / generate-2ship-otr (push) Waiting to run
generate-builds / build-macos (push) Blocked by required conditions
generate-builds / build-linux (push) Blocked by required conditions
generate-builds / build-windows (push) Blocked by required conditions
2024-10-03 16:02:51 -04:00
Garrett Cox
c474a82a94
Mirror Mode (#535)
* Mirror mode initial version

* Update mm/src/code/z_actor.c

Co-authored-by: Archez <Archez@users.noreply.github.com>

* mirror mode support for minimaps and dungeon pause map

* mirror mode support overworld pause map and song of soaring

* mirror mode support for various remaining things

* mirror mode support pause warp enhancement

* Add searchable menu item

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
Co-authored-by: Archez <archez39@me.com>
2024-10-02 23:44:36 -04:00
Malkierian
71c2c94ece
Modern menu (#701)
* Start the framework.

* Start header bar.

* Header buttons now toggle. Sections show accordingly.
Basic audio section done. Needs subdividing for sane widget widths.

* Add fonts and multiple sizes.
Add graphics settings to menu.

* Finalized fonts, more sizes.

* Modularized the menu structure. Has an errant EndChild somewhere.

* Finished first step modularization.
Parameterized menu height.

* Some adaptive menu size.

* Moved all enhancements over and organized.
Tried to add button option for sidebar entries.

* Finished Enhancements Menu.
Sidebar window button still broken (can't reference window variables properly, not drawing in the right place).

* Developer Tools header started.
Menu now pops out with a checkbox in Developer Tools.
Menu sizing works for smaller game sizes.
Popout docking disabled.
Port bool added for disallowing popout regardless of cvar.

* Better auto-sizing. Columns collapse to 1 below 800 window width, and scroll.

* Move inside of HudEditorWindow::DrawElement to DrawContents, and call DrawContents from DrawElement.

* Menu resizability complete.
Menu popout complete.
Menu popout position/size is retained when popped in.
Apply HUD editor changes, draw contents in menu if window is closed.
All child sizes properly calculated.
SidebarEntry drawing separated into its own custom element.

* Split header entries into separate widget.
Header now dynamically sized and shows scrollbar when necessary.

* Modify EventLog to be drawable with the DrawContents setup.
Prevent menu from covering other windows (always in back).

* Add reset, close menu, and quit buttons to the header.

* Fix reset and quit button placement.

* Swap Actor Viewer, Collision Viewer, Save Editor to DrawContents concept.
Change reset icon to FA_ICON_UNDO (single arrow) and quit icon to FA_ICON_POWER_OFF.
Add button to close menu button tooltip, add parentheses to button for reset tooltip.

* Custom InputEditorWindow to work with menu.
Fix LUS references in Menu.cpp for Window backend changes.
Implement gamepad navigation and forced cursor visibility checkboxes.
Toggle cursor visibility according to menu status and forced visibility CVar.

* clang-format

* Swap std for fmt (runner build error).
Ensure cursor visibility is restored if started in full screen with the menu open.

* Oops, still had #include <format>

* Swap to LUS GetMenu() functionality.
Add option to hide "F1 to open enhancements menu" text at startup if menus aren't open.

* Remove last vestiges of pre-LUS-menu functionality.

* cleanup

* Adapt to GuiElement, GuiWindow changes on the menu support PR.

* LUS PR bump.
Adapt to cursor visibility changes in LUS.
Adapt to menu toggle changes in LUS.
Fix input editor not hiding in menu when popped out.

* Add new enhancements and cheats to Modern Menu from rebase.

* clang

* Apply Graphics Menu Lag Fix to Menu structure.

* Remove unnecessary window children to simplify controller navigation.

* clang

* Add `UpdateWindowBackendObjects()` call to backend combobox.

* Rebase to latest develop. Remove redundant window backend stuff that exists now in BenMenuBar.

* Search Enhancement (#2)

* 90% complete, Commit for review.

* Updated remaining Menu Entries, Reverted Backends and other Window Buttons for now.

Motion Blur copied to Search Menu.

* Did I mention I dislike this clang thing? lol

* Updating MotionBlur options and reverting soem things.

* Integrates .disabled and .disabledTooltip to the constructors. Allows for multiple qualifications to be checked against for disabling widgets and for setting the tooltip accordingly.

* Updated Disabled Reasoning

* Better Disabled State registration system

* Clean up from testing

* Expand WidgetOptions to be able to handle string and float values. bool and uint32_t are handled through int32_t.
Numerous renames.
Added several data structures to allow for dynamic updating of CVars for DisableOptions, as well as dynamic evaluation of status with enumerated conditions (less than, greater than, equal to).
Added menuThemeIndex variable to store state of menu theme selection instead of having all the individual calls to CVarGetInteger for it. Updated once per frame.

* Changed color vector to map with enum as key and UIWidget::Colors as the value.
More renames.
Moved float slider values into case block.

* Add Color_RGB8 and Color_RGBA8 to CVarVariant in preparation for adding color widgets to menu item system.
Not happy it required comparison operator overrides, but it is what it is.

* Changed disable conditions to lambdas.

* Convert Stats and Collision Viewer to menu item system.
Swap out DisableOption vector for activeDisables and a lambda function for evaluating disabled and hidden. Set the precedent to still use the DisableInfo system.

* Add DisableOption for both camera settings being off.
Put Debug Camera in Free Look column, disable common widgets for both cameras, hide widgets specific to either if off.

* Moved more widgets to MenuItem system. Some need proper initialization routines because of Ship::Context references.

* Convert menu items to nested vector setup.
Remove MenuItem enum.
Add menu item location display to search results.

* Partial removal of SidebarEntryIndex enum.

* Finish removing SidebarEntryIndex.
Rework drawing code to handle the change back to direct vector access.
Add tooltips to search.

* Fix Graphics enhancements section title.

* Copy added menu items to modern menu system.

* clang

* Add some documentation for the menu system components.

* Revert change to std::map

* `size_t` because GCC has to be happy

* Fixed HUD Editor Widescreen mode not displaying the sliders properly.
Changed all windows to full-section-width display.

* Revert changes to MotionBlur.cpp

* Add non-CVar variants of checkbox, combobox, and the sliders.
Fix motion blur functionality with new non-CVar widgets.

* Add non-CVar variants of checkbox, combobox, and the sliders.
Fix motion blur functionality with those non-CVar widgets.
Add size and labelPosition to widgetOptions, implemented on button and checkbox/combobox/sliders.
Change window popout buttons to inline size type.

* Rename SearchMenu.h to SearchableMenuItems.h and move to BenGui folder.

* Forgot to change the include XD

* Change `modifierFunc` to `preFunc`, updated documentation for that and including `postFunc`.

* Modify code to require variable for non-CVar widget initialization when necessary. Check for `valuePointer` being nullptr, and preventing widget drawing with a debug assert and error log entry.
Remove all `has_variant` calls and wrap entire widget type switch in `SearchMenuGetItem` with a try/catch on `std::bad_variant_access` with another error log and debug assert.

* More review changes.

* Implement `isPercentage`, `format`, and `showButtons` for sliders.
Pull values of those over from menubar.
Add documentation on `widgetOptions` for those and others added for previous review changes.
Move Fast Magic Arrow and Instant Fin Recall to Gameplay section.

* Modify header and sidebar "buttons" to match theming of regular buttons.

* Add precision clamping to SliderFloat value. At least 1.0 seems to be consistent at "100%".
Change IR slider to be percentage.

* Mention weirdness with SDL and pad menu button in controller nav tooltip.

* Move Menu files to 2s2h/BenGui.

* Add Warp Points to Developer Tools.
Make "Press F1" prompt show only when a menu isn't registered.

* clang

* Make search input take focus when search menu is open.

* Forgot include.

* Global search (#3)

* Restore Sidebar search entry, but lock it behind a checkbox in Settings. Dynamically adds or removes the sidebar entry, and header search is toggled inversely.

* Make menu toggle its visibility when using the button in the menu to close. Couldn't handle Alt+F4 without a hook I didn't want to add.
Remove unneeded commented code.

---------

Co-authored-by: Caladius <Caladius@users.noreply.github.com>
Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-10-02 20:25:26 -04:00
Archez
200aaf7be8
bump lus (#782) 2024-10-01 12:15:30 -04:00
Archez
b1eea9ca76
Use variadic arguments with GameInteractor_Should (#766)
* PoC of using variadic arguments with GameInteractor_Should

* va_list boilerplate in SHOULD macro

* drop opt arg in favor of variadic arg changes

* account for default type promotion

* remove demo code
2024-09-26 12:39:05 -04:00