Commit Graph

230 Commits

Author SHA1 Message Date
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
Archez
1475e6af7b
Fix 3ds clock fill texture position (#772)
Some checks failed
generate-builds / generate-2ship-otr (push) Failing after 1s
generate-builds / build-macos (push) Has been skipped
generate-builds / build-linux (push) Has been skipped
generate-builds / build-windows (push) Has been skipped
2024-09-19 18:47:28 -07:00
Archez
25887952c9
[Enhancement] Actor Nametags (#746)
Some checks failed
generate-builds / generate-2ship-otr (push) Failing after 0s
generate-builds / build-macos (push) Has been skipped
generate-builds / build-linux (push) Has been skipped
generate-builds / build-windows (push) Has been skipped
* add new GI hooks

* move collision viewer to draw hook

* actor viewer tweaks; prevent crash when actors are killed

* add ShipUtils

* add actor name tags

* add debug name tags to actor viewer

* fixes

* headers?

* cleanup actor viewer

* Add more options for actor name tags

* headers

* headers

* ditch fmt::join cause linux package managers use old spdlog/fmt

* just a little more cleanup
2024-09-13 10:10:59 -04:00
Archez
137ca0de12
fix zora magic shield alpha (#768)
Some checks failed
generate-builds / generate-2ship-otr (push) Failing after 0s
generate-builds / build-macos (push) Has been skipped
generate-builds / build-linux (push) Has been skipped
generate-builds / build-windows (push) Has been skipped
2024-09-12 16:32:19 -04:00
Archez
a5059beaeb
fix enum value for woodfall restoration (#769) 2024-09-12 14:32:09 -04:00
Archez
466a716222
Add restoration for woodfall mountain cleared state (#765)
* Add restoration for woodfall mountain cleared state

* enum
2024-09-08 18:27:36 -04:00
Eblo
185e761f78
[Enhancement] Fierce Deity Anchored Backwalk Animation (#670)
* Add Fierce Deity anchored backwalk enhancement

* adjust ztarget hook to clamp speed instead of modifying animation frame logic

---------

Co-authored-by: Archez <archez39@me.com>
2024-09-03 23:00:11 -04:00
Mothstery
136a928883
[Enhancement] Custom Zora Egg Count (#624)
* initial commit of relevant files

* attempt to appease clang formatting

* fix edge case of marine researcher dialogue being wrong with low egg counts

* refactored to better use hooks and no longer touch main mm code directly

* undo GameInteractor.h changes

* removed useless egg checks, only need the researcher

* trigger remote build

* removing useless includes leftover from the old approach.

* move UIWidgets for egg into existing section
2024-08-24 12:22:30 -04:00
Archez
0c2a51c9f4
Various custom asset support (#756)
* use asset paths for better custom asset support

* fix keyframe animation timings

* display title cards as a full texture

* asset support for gfxprint

* support pause menu overworld map

* fix more resources that need to be loaded

* pr feedback
2024-08-23 17:19:41 -04:00
Patrick12115
d74699740e
[Enhancement] Instant Recall (#589)
* Instant Recall

* clang it

* Moved to Category "Equipment"

* pr review feedback

---------

Co-authored-by: Archez <archez39@me.com>
2024-08-18 23:24:14 -04:00
Archez
542feb038e
Implement save backups and better invalid json detection (#749) 2024-08-18 18:04:25 -04:00
Hoeloe
b0ca99f18c
[Enhancement] MM3D style clock (#713) 2024-08-18 17:55:02 -04:00
Garrett Cox
53faf37dc1
Add persistent bunny mask enhancement (#537) 2024-08-18 11:41:17 -04:00
Garrett Cox
4a57bdbc5f
Add widescreen actor culling option (#652) 2024-08-09 16:42:34 -04:00
mckinlee
0ec23b34ba
[Enhancement] Pause Owl Warp (#620)
* Add Pause Owl Warp Enhancement

- **mm/2s2h/BenGui/BenMenuBar.cpp**: Updated menu to include new enhancement options.
- **mm/2s2h/Enhancements/Enhancements.cpp**: Registered the new Pause Owl Warp enhancement.
- **mm/2s2h/Enhancements/Enhancements.h**: Declared functions for the new enhancement.
- **mm/2s2h/Enhancements/Songs/PauseOwlWarp.cpp**: Implemented the Pause Owl Warp functionality.
- **mm/2s2h/Enhancements/Songs/PauseOwlWarp.h**: Header file for the Pause Owl Warp implementation.
- **mm/include/functions.h**: Added function declarations related to the new enhancement.
- **mm/src/overlays/kaleido_scope/ovl_kaleido_map.c**: Modified to support the new enhancement.
- **mm/src/overlays/kaleido_scope/ovl_kaleido_scope_NES.c**: Modified to support the new enhancement.

* ran clang-format script

* Additional logic and bug fixes

* Fix PauseOwlWarp cursor logic triggering on dungeon map
-Added a check to ensure PauseOwlWarp's cursor logic is only triggered when not in a dungeon.

* Add Song of Soaring check
- To make it more in line with vanilla, you are now required to have the Song of Soaring to use this enhancement.

* bug fix and ran clang-format script
-My previous commit had a extra condition that wasn't needed that caused a bug where the world map points locations pointed to activated owl statues.

* added more checks

* Simplified complex conditional statements

* possibly fix macos build issue?

* index warping logic added

* implement feedback from Archez

* shot in the dark macos build fix?

* how bout now?

* revert back to previous commit

* if this fixed the macos build issue it'll be thanks to cclark25... let's pray

* add debugeditor check - thanks archez!

* Moved debugEditor check to prevent triggering ALL pauseOwlWarp logic. wtf was I thinking earlier
2024-08-05 15:18:52 -04:00
balloondude2
d0caa0f78c
[Cheat] Stop time in Temples and Dungeons (#700)
* add cheat to stop time in temples

* better tooltip

* adds option to stop time in dungeons

* clean up

* add other pirate fortress scenes

* add new hook

* update tooltips

* rename hook

* add clarification

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

* clean combobox

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-08-05 15:12:08 -04:00
Captain Kitty Cat
51af06463f
Item drops 3D! (#633)
* Initial 3D Item Drops Toggle

* Use generic hooks and other tweaks

* 3d drop fixes and changes

* move slime item draw to VB hook; fix arrow GID

* whitespacing

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
Co-authored-by: Archez <archez39@me.com>
2024-07-23 21:39:25 -04:00
Archez
24d8d47ab2 Merge remote-tracking branch 'origin/develop' into merge-develop-rika 2024-07-11 22:05:15 -04:00
balloondude2
aa1b0108f4
[Enhancement] Preseve time speed during cycle reset (#658)
* preseve time speed during cycle reset enhancement

* clang format

* update variable assignment

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

* add default value

* better initial value

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-07-11 21:44:08 -04:00
Archez
0455c0f053
Fixes for cycle reset, fairy bottle, auto save, and save editor equips (#740)
* fixes for cycle reset, fairy bottle, and save editor equips

* prevent auto save during minigames

* prevent crash with fast mask transform
2024-07-10 13:02:02 -04:00
Archez
5984bdea19
Fix crash with graphics menu index out of bounds (#738) 2024-07-08 23:47:42 -04:00
Archez
2bb149b367
Tweak: Improve Save Editor time options (#729)
* improve save editor time options

* set gPlayState after early returns to avoid dangling ptr

* avoid crash with day 0 on daytelop
2024-07-08 17:57:17 -04:00
Malkierian
dcc38678a6
Eliminate Graphics Menu Lag (#733)
* Moved non-dynamic window backend data to external variables and update function called on init and combobox change.

* clang
2024-07-05 23:33:05 -04:00
Archez
da76b32433
Fix incorrect flag setting in save editor (#722) 2024-06-27 09:19:20 -04:00
Archez
00403e452f
Tweak FreeLock reset logic (#721) 2024-06-26 18:37:21 -04:00
Garrett Cox
2e4710c6c2
Tweaks to warp point (#666)
* Tweaks to warp point

* wait for console logo exit

---------

Co-authored-by: Archez <Archez@users.noreply.github.com>
2024-06-25 00:16:10 -04:00
louist103
0d4e554ac6
Save editor temple clear fix (#709) 2024-06-24 09:34:40 -04:00
Archez
a38b9daa6d
Add HUD Editor support for horse carrots (#704) 2024-06-23 15:19:33 -04:00
Archez
120562952c
bump lus with color combiner fixes (#711) 2024-06-23 14:51:57 -04:00
Archez
8b2b12dbe8
Bump latest lus and bring over Array resource (#689)
* bump latest lus and bring over array resource

* use upstream otrexporter
2024-06-18 20:00:16 -04:00
justawayofthesamurai
cc3e015f12
Added a fix for the moonjump so it doesn't crash the game when changing the day. (#693) 2024-06-15 15:02:30 -04:00
inspectredc
df81f97e43
Add Free Look Camera Reset (#663) 2024-06-14 20:55:05 -04:00
Garrett Cox
6fd7fc3a9d
Merge pull request #659 from HarbourMasters/develop-rika
`develop-rika` -> `develop`
2024-06-04 07:42:49 -05:00
Patrick12115
51a6d9d926
[Enhancement] Fast Deku Flower Launch (#549)
* Add fast deku flower launch enhancement

Co-authored-by: Patrick12115 <115201185+Patrick12115@users.noreply.github.com>

* Migrate to a hook

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-04 01:58:32 -05:00
Patrick12115
5e17828cc4
[Cheat] Longer Deku Flower Gliding (#548)
* Add Longer Flower Glide enhancement

Co-authored-by: Patrick12115 <115201185+Patrick12115@users.noreply.github.com>

* Tweak to just modify an array

* Update mm/2s2h/Enhancements/Cheats/LongerFlowerGlide.cpp

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-04 00:02:48 -05:00
Patrick12115
d2a11f1476
[Enhancement] Instant Putaway (#547)
* Instant Putaway Enhancement

Co-authored-by: Patrick12115 <115201185+Patrick12115@users.noreply.github.com>

* Tweak some things and merge with Player Movement

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-03 22:38:29 -05:00
Garrett Cox
f8f00e6d9b
Add draw distance enhancements for actors and scene geometry (#539) 2024-06-02 23:15:33 -05:00
Caladius
2d8bc175fe
[Enhancement] Blast Mask with Powder Keg (#642)
* Blast Mask adds Powder Keg explosive property.

* Alphabetical Menu Listing + clang

* Apply suggestions from code review

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 22:27:33 -05:00
Caladius
03a597d44c
[Enhancement] Banker - Adds Min Max Functionality (#591)
* Adds min and max functionality by pressing the R and Z buttons while the Deposit Rupees dialogue box is opened.

* Place functionality behind a cvar.

* clangified

* I slished when i shoulda slashed!

* removal of src/

* Typo in tooltip

* Updated to dynamic hook registration and fix sfx spam.

* clang

* Remove double assignment.

* Update to HOOK_ID and adds Withdrawal functionaility.

* Updated currentTextId's to actual format.

* Clangs

* Move to dialogue menu

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 21:52:30 -05:00
Patrick12115
139a240ed3
[Graphics] Disable Black Bar Letterboxes (#590)
* Black Bars be gone

* Move it to draw/apply functions

Updates in real time now

* Added return instead

* added space

* Update mm/2s2h/Enhancements/Enhancements.cpp

* Update mm/2s2h/Enhancements/Enhancements.cpp

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 21:32:19 -05:00
Caladius
26321c9a17
Adds Dungeon Items to the Save Editor (#585)
* Adds Dungeon Items to the Save Editor

* clang'd up

* Update mm/include/z64save.h

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>

* Move a few static arrays

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 21:18:17 -05:00
Caladius
888b8fe24a
Skip Magic Arrow Equip Animation (#546)
* Recreate Magic Equip Animation Skip PR for new Fork.

* After Running Clang Powershell Script

* Delete clang-format.exe

* Apply suggestions from code review

---------

Co-authored-by: Garrett Cox <garrettjcox@gmail.com>
2024-06-02 20:18:16 -05:00
Garrett Cox
53e76c5aeb
Add time-moves-when-you-move mode (#536) 2024-06-02 20:10:08 -05:00
Garrett Cox
b54542494e
Add various tweaks and a warning to debug mode toggle (#643) 2024-06-02 12:50:32 -05:00
Garrett Cox
04e5ac449d
Merge pull request #631 from HarbourMasters/develop-rika
`develop-rika` -> `develop`
2024-05-31 23:36:54 -05:00
Garrett Cox
78f0525ec0
Bump LUS (#625) 2024-05-31 19:50:36 -05:00