summaryrefslogtreecommitdiff
path: root/mm/2s2h/GameInteractor/GameInteractor.cpp
AgeCommit message (Collapse)Author
10 daysCut build times: PCH tuning and a hook instantiation fix (#1813)Garrett Cox
2026-05-21Merge pull request #1697 from mckinlee/bomb-arrow-cycle-consumption-fixmckinlee
[Fix] Don't Consume Bombs During Arrow Cycle
2026-03-19[Enhancement] Custom Ocarina Controls (#1598)OtherBlue
* custom ocarina controls implemented * clang format * added blocking for vanilla inputs I forgot
2026-01-29Move before moon crash hook (#1521)balloondude2
2026-01-16Refactor junk cycling and trap models (#1452)Garrett Cox
2026-01-05[Rando] Clock Shuffle + Logic (#1275)mckinlee
* Add Clocks as Items feature * refactor * some clean up * forgot to clangify * use proper randoinf flags and some fixes * proper skipsotcutscene fix * Animated Clock Item (Thank you Caladius!) * Close attempt at animating the clock, not perfect but a good start. * Git gud Clock * fix clock item get crash Co-Authored-By: Caladius <Caladius@users.noreply.github.com> * some enhancements * logic refactor, minor changes, and new enhancements * huge rework * clang * fix a oops; any day, not current day * housekeeping and starting items menu support * splits up some milkroad regions and fixes a audio bug * i suck at merging * feedback update * scarecrow dance fix * add clocks to new item tracker * day 2 bean patches * add time logic to enemy drops and simplify day 2 bean macro * rebrand to "Shuffle Time" * more eblo feedback * some more feedback * rename feedback * pauseSaveEntrance fix * fix take 2 * Time Shuffle cleanup Fix pause save Time Shuffle bug Fix event queue daytelop bug Finish merge commit header include Clean up with shouldRegister Co-authored-by: mckinlee <mckinlee@ymail.com> --------- Co-authored-by: Caladius <Caladius@users.noreply.github.com> Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com>
2025-12-18Prevent notification for junk items, and remove queue delay (#1395)Garrett Cox
2025-11-23Save play time, support timer display options (#1213)Eblo
* Save play time, support timer display options * Use ShipSaveContext, add OnGameCompletion hook
2025-11-20[Audio Editor] Port Audio Options from SoH Audio Editor (#1325)Glought
* Ported Audio Options from SoH Audio Editor *Moved "Mute Low HP Alarm" to Audio Editor -> Audio Options Changed Cvar From: "gEnhancements.Sfx.LowHpAlarm" To: "gAudioEditor.LowHpAlarm" *Moved "Mute Carpenter Sounds" to Audio Editor -> Audio Options Changed Cvar From: "gEnhancements.Sfx.MuteCarpenterSfx" To: "gAudioEditor.MuteCarpenterSfx" *Moved "Mute Crying Goron Child" to Audio Editor -> Audio Options Changed Cvar From: "gEnhancements.Sfx.ChildGoronCry" To: "gAudioEditor.ChildGoronCry" *Added "Disable Tatle Call Audio" *Added "Disable Enemy Proximity Music" *Added "Randomize All Music and Sound Effects on New Scene" *Added "Randomize All Music and Sound Effects on Randomizer Generation" *Added "Display Sequence Name on Overlay" and "Overlay Duration" Slider *Added "Link's Voice Pitch Multiplier" Slider * *Ported "AddSearchWidget" Functionally Enabled for Audio Editor -> Audio Options * Cleaned up some code I missed and ran clang format. * Renamed "OnScene" Hook to "OnSceneChange" * Made it so "Link's Voice Pitch Multiplier" slider only effects Link's voice. * Forgot the "AudioHook.cpp" file its needed for the "Display Sequence Name on Overlay" option. * Moved the "Sfx" folder to the "Audio" folder. * Removed extra line breaks between sections in "RegisterAudioWidgets()". * Renamed "OnGenerationCompletion" hook to "OnRandoSeedGeneration" * Changed "gAudioEditor.*" to use "CVAR_AUDIO("*") in "AudioEditor.cpp" * Added "AddAudioSearchWidget" function Changed all "BenGui::mBenMenu->AddSearchWidget lines to use "AddAudioSearchWidget". * Changed the "OnSeqPlayerInit" hook parameters type to use the "s32" Macro. * Update BenMenu/BenGui include paths: Replaced "../../" with "2s2h/". * Ran Clang Format. * Added "DisableEnemyProximityMusic.cpp" Added "VB_PLAY_ENEMY_PROXIMITY_MUSIC" enum to "GIVanillaBehavior" in "GameInteractor.h" "Audio_UpdateEnemyBgmVolume" is now wrapped in a "GameInteractor_Should" * Added "DisableTatlCallAudio.cpp" Added "VB_PLAY_TATL_CALL_AUDIO" enum to "GIVanillaBehavior" in "GameInteractor.h" "Audio_PlaySfx(NA_SE_VO_NAVY_CALL)" is now wrapped in a "GameInteractor_Should" * Added "LinksVoicePitchMultiplier.cpp" Added "Enable Link's Voice Pitch Multiplier" checkbox to Audio Editor The "Link's Voice Pitch Multiplier" slider is now disabled when "Enable Link's Voice Pitch Multiplier" is not enabled. Added "VB_LINK_VOICE_PITCH_MULTIPLIER" enum to "GIVanillaBehavior" in "GameInteractor.h" "AudioSfx_PlaySfx" in the file "z_actor.c" in function "Player_PlaySfx" is now wrapped in a "GameInteractor_Should". * Removed "OnSceneChange" Hook. Removed "GameInteractor_ExecuteOnSceneChange". Removed "GameInteractor_ExecuteOnSceneChange(play->sceneId);" from "z_play_2SH.cpp:OTRPlay_SpawnScene" function Renamed "AudioEditorRegisterOnSceneChangeHook" to AudioEditorRegisterOnRoomInitHook". * Made Changes requested by Eblo to "LinksVoicePitchMultiplier.cpp" and "z_actor.c" * WIP Randomize On New Scene
2025-10-30[Rando] Implement Traps (#1287)Caladius
* Initial Trap Implementation with 1 Trap Example. * New TrapTypes and Per Trap Custom Messages * Spruce up Menu and add placeholders for toggling traps * Reordering and clean up * Seeded Trap Models * Trap Type Opt-in * Add Jinx Trap * Add Enemy (Like Like) Trap * Fix Shop Item draws and convert for Progressive * Placeholder for Custom Model * Implemented time trap[Please Squash this] (#13) * Implemented time trap * Finished comment because im braindead today * Forgot to fix indentation(whoops) * Changed things not mess with the games code, added some more Time Trap messages * Removed a include I forgot to yoink from the base code. * Removed header define for VerifyTimeSkip * Clangit * Missed some leftovers from a merge conflict. * Clang format throwing a fit over a empty line * Added Timeskip CVar placeholder * Fixed issue where game crashes past midnight * Added Moonfall skipping prevention messures. * Added fallback loop to handle the remaining cycles in the event of a overflow. * Cleaner implementation * Keep it simple stupid * changed function name to be more accurate * Removed outdated comment, used TimeSkipInc for moonfall skip prevention * Reverted max trap(accidentally pushed it while testing) * Removed old unused value * Reduced the iteration by 1 to be closer to where it was at before. * Will this fix Windows? * Added TRAP_TIME to trapToCvarMap * Corrected typo on comment * Clangit...again * Added calls to load environment values and adjust the weather. * Update Time Trap and clean up code * Add Flash effect to Time Trap * Added a few more timeTrapMessages * I hate you clang format * Fix Trading Post Kick Out Time * Added map for all locations I can think of that close. * Clangit yet again * Removed Inn handling because the edge case related to it closing cannot happen * Corrected a whoopie I made when I was dealing with a conflict * Removed pointless condition check that is always true * Removed duped variable * Removed unnecessary data from SCENE_8ITEMSHO kickout entry * Removed now used TRADING_POS_ACTOR_PARAM --------- Co-authored-by: Caladius <clatini88@gmail.com> * Comment out Kick Out code for later TODO * Clean out commented code * Adds Wallet Trap and updates some tooltips * More Trap Messages * Even more trap messages * moooooore messages * update for clang * Feedback changes for Time Trap * Update Trap functions * Fix Matrix call * Trap Model Import (Thanks Zrc) * rename * Adjust size * update name for uniformity * Update mm/2s2h/Rando/MiscBehavior/Traps.cpp Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com> * Update mm/2s2h/Rando/MiscBehavior/Traps.cpp Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com> * feedback updates * Update notifications to remove color codes from trap messages when item skip is on * VBify Object Dependency * Fix comma * fix headers * Refactor ObjectDependency hook * Check if item get cutscenes are being skipped * Use brackets for LUS include * Header update --------- Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com> Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com>
2025-10-29Bump LUS and OTRExporter, add null audio backend (#1289)Eblo
* Bump LUS and OTRExporter, add null audio backend * Missed an include change * And again * Thanks macOS * Another one * Bump LUS again, fixing SDL audio backend bug * Sync LUS bump changes to merged PRs * Bump LUS again * Update CMakeLists.txt includes
2025-10-26[Enhancement] Right Stick Ocarina (#1293)mckinlee
* right stick ocarina playback option * fix: formatting * long live GameInteractor_RightStickOcarina --------- Co-authored-by: Felix Dietrich <felixdietrich@gmail.com>
2025-10-15[Enhancement] Time Splits (#1266)Caladius
* Adds support for Timesplits * clanged * Fix Popout Crash * wip file saving; fixes Bow and Red Potion splits * Add Active Row Highlighting * Fix D-Pad Bottle Collection * Cleanup and Add Boss Splits. * Add names to Boss Icons * clang v2 * Linker fix * Move time formatting to ShipUtils (this also cleaned up DisplayOverlay). * clang v3 * Adds Saving/Loading splits from file. * Update inventory range to exclude heart piece. * Update column name to not be abbreviated * Adds Magic Meters and Double Defense * clang cuz ya boi alwayz fogetz * Fix Fairy Splits with CS Skip Enabled * Move songColorMap to ShipUtils along with the function to get the color. Fixed Song Icon sizing. * Adds default Window size and allows resizing. * Allow scrolling of splits list * Adds Entrance Splits and cleans up the UI. Adds new splitType to the object so I added a small solution to handle older files that may not have it for testing. * UI Update and Entrance Filters. * Adds split list to the options window to fill out the space. * Fix ID mismatching. * Add Split Comparing Functionality * clang * Compare Split text display corrections * Adds auto scrolling to follow Active Splt if list is bigger than the window. Also locks the Header Row when visible to always be visible at the top instead of scrolling with the list. * Adds Tooltips for options * Fix time coloring for splits with no previous data. * Fix crash and ID mismatch * Feedback Updates * Extern is needed since my definition is in the cpp file it seems.
2025-09-16Update magic spin flag in GameInteractor.cppEblo
2025-09-16Update flag in GameInteractorEblo
2025-05-05Invert shield Y axis (#1132)rachaellama
2025-04-06Cleanup includes (#1072)louist103
* Cleanup * Format * Fixes * Update macports-deps.txt * Fix mac * Update macports-deps.txt Co-authored-by: Archez <Archez@users.noreply.github.com> * Move includes around --------- Co-authored-by: Archez <Archez@users.noreply.github.com>
2025-03-02Add Enemy Health Bars using actor extension (#1035)Archez
* add interface draw start hook * Add enemy health bars system using actor extension
2025-02-21Move hook cleanup callArchez
2025-02-21Merge remote-tracking branch 'origin/develop' into develop-randoArchez
2025-02-21Fix and improve hook unregister cleanup (#1002)Archez
2025-01-27Merge branch 'develop' of ↵Garrett Cox
garrettjoecox.github.com:HarbourMasters/2ship2harkinian into develop-rando
2025-01-26Improve better song of double time experience (#963)Archez
* Add ability to override current hud editor element mode * Add gfx setup to 3ds clock to ensure it always renders properly * Add check for hud override on text-based clock * Add hooks for before/after drawing clock * Improve better song of double time experience * DPad input repeated on hold and show A on HUD
2025-01-08Merge branch 'develop' of ↵Garrett Cox
garrettjoecox.github.com:HarbourMasters/2ship2harkinian into develop-rando
2025-01-08Add EasyFrameAdvance cheat (#932)Garrett Cox
2024-10-25FormatGarrett Cox
2024-10-25Tweak CheckQueue to use notificationsGarrett Cox
2024-10-25Merge branch 'develop' of ↵Garrett Cox
garrettjoecox.github.com:HarbourMasters/2ship2harkinian into develop-rando
2024-10-06Add options for first person aiming (#596)Garrett Cox
2024-10-06Merge branch 'event-queue' of ↵Garrett Cox
garrettjoecox.github.com:garrettjoecox/2ship2harkinian into develop-rando
2024-10-06Missing headerGarrett Cox
2024-10-06Merge branch 'event-queue' of ↵Garrett Cox
garrettjoecox.github.com:garrettjoecox/2ship2harkinian into develop-rando
2024-10-06Implement event queue for handling various events like giving custom items ↵Garrett Cox
or transitions
2024-10-06Merge branch 'develop' of ↵Garrett Cox
garrettjoecox.github.com:HarbourMasters/2ship2harkinian into develop-rando
2024-10-05Move GameInteractor & NameTag src up to root of 2s2h (#799)Garrett Cox