<feed xmlns='http://www.w3.org/2005/Atom'>
<title>2ship2harkinian/mm/2s2h/GameInteractor/GameInteractor.h, branch develop-keiichi</title>
<subtitle>2Ship2Harkinian: Majora’s Mask PC port</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/'/>
<entry>
<title>Move before moon crash hook (#1521)</title>
<updated>2026-01-30T02:00:26+00:00</updated>
<author>
<name>balloondude2</name>
<email>55861555+balloondude2@users.noreply.github.com</email>
</author>
<published>2026-01-30T02:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=5bb90c25cef1ec749c923b33be734e13be73fbe7'/>
<id>5bb90c25cef1ec749c923b33be734e13be73fbe7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Organize `GIVanillaBehavior` enum (#1390)</title>
<updated>2025-12-11T23:43:19+00:00</updated>
<author>
<name>Jordan Longstaff</name>
<email>JordanLongstaff@users.noreply.github.com</email>
</author>
<published>2025-12-11T23:43:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=d3c592930d6a1ee7be094ea8c8ccbe320ad89134'/>
<id>d3c592930d6a1ee7be094ea8c8ccbe320ad89134</id>
<content type='text'>
* Organize `GIVanillaBehavior` enum

* Add disparate conditions on `VB_BE_NEAR_DOOR`

Co-authored-by: Eblo &lt;7004497+Eblo@users.noreply.github.com&gt;

---------

Co-authored-by: Eblo &lt;7004497+Eblo@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Organize `GIVanillaBehavior` enum

* Add disparate conditions on `VB_BE_NEAR_DOOR`

Co-authored-by: Eblo &lt;7004497+Eblo@users.noreply.github.com&gt;

---------

Co-authored-by: Eblo &lt;7004497+Eblo@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[Enhancement] Difficulty options to tweak Swamp Boat Archery minigame (#1376)</title>
<updated>2025-12-11T21:36:36+00:00</updated>
<author>
<name>Jordan Longstaff</name>
<email>JordanLongstaff@users.noreply.github.com</email>
</author>
<published>2025-12-11T21:36:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=30a16e4b47f06b7688dd7e65daa56fbf74a18449'/>
<id>30a16e4b47f06b7688dd7e65daa56fbf74a18449</id>
<content type='text'>
* Add options to tweak the Swamp Boat Archery minigame

* Add missing include

* Adjustments to score widget

* Move health CVar to VB hook

* Change timing of score reset to before first attempt

* Add option to make Koume invincible

* Add condition to Koume's health hook</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add options to tweak the Swamp Boat Archery minigame

* Add missing include

* Adjustments to score widget

* Move health CVar to VB hook

* Change timing of score reset to before first attempt

* Add option to make Koume invincible

* Add condition to Koume's health hook</pre>
</div>
</content>
</entry>
<entry>
<title>Add accessibility menu and options to disable screen flashes on enemy kills (#1386)</title>
<updated>2025-12-11T21:35:54+00:00</updated>
<author>
<name>Jordan Longstaff</name>
<email>JordanLongstaff@users.noreply.github.com</email>
</author>
<published>2025-12-11T21:35:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=3431c008ba815894c13a9a5747fb9297a481ff26'/>
<id>3431c008ba815894c13a9a5747fb9297a481ff26</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Rando] Add setting for minimum Skulltula tokens (#1251)</title>
<updated>2025-11-26T02:08:26+00:00</updated>
<author>
<name>Eblo</name>
<email>7004497+Eblo@users.noreply.github.com</email>
</author>
<published>2025-11-26T02:08:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=3c1775c90153ee6f35a776bf48fbece3ec99833c'/>
<id>3c1775c90153ee6f35a776bf48fbece3ec99833c</id>
<content type='text'>
* Add setting for minimum Skulltula tokens

* Display max for tokens and fairies in item tracker

* Not relevant to this PR. Why did develop succeed?

* Use spdlog format

* Remove redundant ternary

* clang format

* Minor edit

* Address feedback</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add setting for minimum Skulltula tokens

* Display max for tokens and fairies in item tracker

* Not relevant to this PR. Why did develop succeed?

* Use spdlog format

* Remove redundant ternary

* clang format

* Minor edit

* Address feedback</pre>
</div>
</content>
</entry>
<entry>
<title>Add Goron Race difficulty enhancement (#1342)</title>
<updated>2025-11-23T14:37:17+00:00</updated>
<author>
<name>Eblo</name>
<email>7004497+Eblo@users.noreply.github.com</email>
</author>
<published>2025-11-23T14:37:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=cd78e7f272c0a6f59044333f141b239c6b33cdee'/>
<id>cd78e7f272c0a6f59044333f141b239c6b33cdee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Enhancement] Restore OoT tree bonk behavior (#1354)</title>
<updated>2025-11-23T14:35:29+00:00</updated>
<author>
<name>Eblo</name>
<email>7004497+Eblo@users.noreply.github.com</email>
</author>
<published>2025-11-23T14:35:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=8c75b33e86eb0304748ea511ed73d8ee75693954'/>
<id>8c75b33e86eb0304748ea511ed73d8ee75693954</id>
<content type='text'>
* Add enhancement to restore OoT tree bonk behavior

* Remove unused arg

* Only apply to normal rolls

* Move comment

* Oops should be within the conditional</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add enhancement to restore OoT tree bonk behavior

* Remove unused arg

* Only apply to normal rolls

* Move comment

* Oops should be within the conditional</pre>
</div>
</content>
</entry>
<entry>
<title>Save play time, support timer display options (#1213)</title>
<updated>2025-11-23T14:35:15+00:00</updated>
<author>
<name>Eblo</name>
<email>7004497+Eblo@users.noreply.github.com</email>
</author>
<published>2025-11-23T14:35:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=74950f54958d8fcee116b34bfba9e5d76e2d29ef'/>
<id>74950f54958d8fcee116b34bfba9e5d76e2d29ef</id>
<content type='text'>
* Save play time, support timer display options

* Use ShipSaveContext, add OnGameCompletion hook</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Save play time, support timer display options

* Use ShipSaveContext, add OnGameCompletion hook</pre>
</div>
</content>
</entry>
<entry>
<title>Convert mundane shuffles to ObjectExtension (#1297)</title>
<updated>2025-11-20T18:33:08+00:00</updated>
<author>
<name>Eblo</name>
<email>7004497+Eblo@users.noreply.github.com</email>
</author>
<published>2025-11-20T18:33:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=b5fed649cd8e7bc0e268ea4fedbfc92ab6ccfa31'/>
<id>b5fed649cd8e7bc0e268ea4fedbfc92ab6ccfa31</id>
<content type='text'>
* Convert pot shuffle to ActorExtension

* Convert crate shuffle to ActorExtension

* Convert barrel shuffle to ActorExtension

* Use ObjectExtension for mundane checks

* Convert grass to ObjectExtension

Add two missed grass checks in Woods of Mystery

* Convert cows to ObjectExtension

* Fix cow relocations

* Convert freestandings to ObjectExtension

* Convert remaining snowballs to use ActorListIndex

* Wrong ID for one snowball

* Apply feedback, document how identification works</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Convert pot shuffle to ActorExtension

* Convert crate shuffle to ActorExtension

* Convert barrel shuffle to ActorExtension

* Use ObjectExtension for mundane checks

* Convert grass to ObjectExtension

Add two missed grass checks in Woods of Mystery

* Convert cows to ObjectExtension

* Fix cow relocations

* Convert freestandings to ObjectExtension

* Convert remaining snowballs to use ActorListIndex

* Wrong ID for one snowball

* Apply feedback, document how identification works</pre>
</div>
</content>
</entry>
<entry>
<title>[Audio Editor] Port Audio Options from SoH Audio Editor (#1325)</title>
<updated>2025-11-20T18:31:41+00:00</updated>
<author>
<name>Glought</name>
<email>Glought@users.noreply.github.com</email>
</author>
<published>2025-11-20T18:31:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/2ship2harkinian/commit/?id=ddee25d7ece8a1cd87cb33c321dac202a4daa4e3'/>
<id>ddee25d7ece8a1cd87cb33c321dac202a4daa4e3</id>
<content type='text'>
* Ported Audio Options from SoH Audio Editor

*Moved "Mute Low HP Alarm" to Audio Editor -&gt; Audio Options
   Changed Cvar
   From: "gEnhancements.Sfx.LowHpAlarm"
   To: "gAudioEditor.LowHpAlarm"
*Moved "Mute Carpenter Sounds" to Audio Editor -&gt; Audio Options
   Changed Cvar
   From: "gEnhancements.Sfx.MuteCarpenterSfx"
   To: "gAudioEditor.MuteCarpenterSfx"
*Moved "Mute Crying Goron Child" to Audio Editor -&gt; 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 -&gt; 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-&gt;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-&gt;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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Ported Audio Options from SoH Audio Editor

*Moved "Mute Low HP Alarm" to Audio Editor -&gt; Audio Options
   Changed Cvar
   From: "gEnhancements.Sfx.LowHpAlarm"
   To: "gAudioEditor.LowHpAlarm"
*Moved "Mute Carpenter Sounds" to Audio Editor -&gt; Audio Options
   Changed Cvar
   From: "gEnhancements.Sfx.MuteCarpenterSfx"
   To: "gAudioEditor.MuteCarpenterSfx"
*Moved "Mute Crying Goron Child" to Audio Editor -&gt; 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 -&gt; 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-&gt;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-&gt;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</pre>
</div>
</content>
</entry>
</feed>
