<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Shipwright/soh/src/code/z_kaleido_scope_call.c, branch develop-ackbar</title>
<subtitle>Ship of Harkinian: Ocarina of Time PC port</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/'/>
<entry>
<title>Apply clang-format to files (#5273)</title>
<updated>2025-04-02T02:33:38+00:00</updated>
<author>
<name>Archez</name>
<email>Archez@users.noreply.github.com</email>
</author>
<published>2025-04-02T02:33:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=8f126344a4ef22765cfa550146f89bf428e86053'/>
<id>8f126344a4ef22765cfa550146f89bf428e86053</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Organize ship specific save context additions (#4597)</title>
<updated>2025-01-15T12:04:47+00:00</updated>
<author>
<name>Pepe20129</name>
<email>72659707+Pepe20129@users.noreply.github.com</email>
</author>
<published>2025-01-15T12:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=7f31fd2e4ee0f2facafec4aaba5591fed52da9f5'/>
<id>7f31fd2e4ee0f2facafec4aaba5591fed52da9f5</id>
<content type='text'>
* Basic restructure

* Undo most randomizerInf changes for now

* Small fixes

* Fix linux &amp; mac builds?

* Fix remnants of randomizerInf changes

* Post-merge fix

* Post-merge fix</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Basic restructure

* Undo most randomizerInf changes for now

* Small fixes

* Fix linux &amp; mac builds?

* Fix remnants of randomizerInf changes

* Post-merge fix

* Post-merge fix</pre>
</div>
</content>
</entry>
<entry>
<title>Add pulsate boss icon enhancement (#4651)</title>
<updated>2024-12-14T19:00:28+00:00</updated>
<author>
<name>Rozelette</name>
<email>Rozelette@users.noreply.github.com</email>
</author>
<published>2024-12-14T19:00:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=e0f25905c2d3f3fbfb2db553e1f18a684b80813a'/>
<id>e0f25905c2d3f3fbfb2db553e1f18a684b80813a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Port pause menu framebuffer handling from 2Ship (#4346)</title>
<updated>2024-10-10T23:45:11+00:00</updated>
<author>
<name>Archez</name>
<email>Archez@users.noreply.github.com</email>
</author>
<published>2024-10-10T23:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=bd7155179ed27a9c453338ede6de6a947f62ecbd'/>
<id>bd7155179ed27a9c453338ede6de6a947f62ecbd</id>
<content type='text'>
* bring over framebuffer effects methods

* Implement framebuffer capture and drawing for pause menu

* revert hookshot and title cards to draw using original buffers

* remove old game over crash fix

* Adjust mirror mode handling for kaleido

* Avoid flashing the hud when pausing</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bring over framebuffer effects methods

* Implement framebuffer capture and drawing for pause menu

* revert hookshot and title cards to draw using original buffers

* remove old game over crash fix

* Adjust mirror mode handling for kaleido

* Avoid flashing the hud when pausing</pre>
</div>
</content>
</entry>
<entry>
<title>Pause Warp Enhancement (#3223)</title>
<updated>2024-02-16T01:13:54+00:00</updated>
<author>
<name>mckinlee</name>
<email>mckinlee@ymail.com</email>
</author>
<published>2024-02-16T01:13:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=3187564f5b4120e159f5e506b4a3db88716b56aa'/>
<id>3187564f5b4120e159f5e506b4a3db88716b56aa</id>
<content type='text'>
* Pause Warp Enhancement

This commit introduces the PauseWarp mod, a feature that allows players to warp to different locations in the game directly from the pause menu.

- Add PauseWarpState structure to manage flags and cooldowns for the pause warp feature.
- Implement IsStateValid function for state validation.
- Implement ResetStateFlags function to reset all state flags to default values.
- Add InitiateWarp function to handle the initiation of warp sequences.
- Implement HandleWarpConfirmation function to confirm and execute warp actions.
- Implement HandleCooldowns function to manage various cooldown timers.
- Add PauseWarp_Main function as the main logic, called every frame to handle pause warp functionality.
- Map warp song messages to in-game text messages.

* Warp Song Check

-Now if you do not have a warp song you won't be able to select the empty slot and still teleport.

* Added Audio Fanfares and Changed stateFlag1 to PLAYER_STATE1_IN_CUTSCENE

-When selecting a warp song the audio for the applicable warp song will now play for a extra vanilla feel.
-Changed the stateFlag1 because previously it just disabled input allowing enemies to harm you. Now that won't happen because the game is put into a cutscene state.

* Feedback Update

-A new hook was created 'OnPauseMenu' so now PauseWarp_Main is only called when the pause menu is open
-Moved pauswarp.c to the Enhancements folder
-Removed from graph.c

PR Change:
Changing to the main branch instead of sulu

* Feedback Update #2

-Introduced new function 'PauseWarp_Idle' now that 'PauseWarp_Main' is no longer called every frame
-Added C wrapper to access 'GameInteractor::IsSaveLoaded' and scrapped the 'IsStateValid' function
-Added 'PauseWarp_Idle' to the the 'RegisterPauseWarp' function
-Refactored the code some

* Linux Compile Issue

-Added a missing header that was causing a compile issue for linux
-Hopefully, it won't crash

* Minor Bug Fix

-Now link won't get soft locked when warping to the same location twice

* Update libultraship

* Revert "Update libultraship"

This reverts commit 746fc234795c06261a4fb69484f4656676f1eaaa.

* Bug Fix
-Added more checks to ensure vanilla behavior when a Ocarina is not in the players inventory.

* WIP

* Done unless I'm missing headers

* now we done

* clean up, these arn't needed anymore

* Rename OnPauseMenu to OnKaleidoUpdate</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Pause Warp Enhancement

This commit introduces the PauseWarp mod, a feature that allows players to warp to different locations in the game directly from the pause menu.

- Add PauseWarpState structure to manage flags and cooldowns for the pause warp feature.
- Implement IsStateValid function for state validation.
- Implement ResetStateFlags function to reset all state flags to default values.
- Add InitiateWarp function to handle the initiation of warp sequences.
- Implement HandleWarpConfirmation function to confirm and execute warp actions.
- Implement HandleCooldowns function to manage various cooldown timers.
- Add PauseWarp_Main function as the main logic, called every frame to handle pause warp functionality.
- Map warp song messages to in-game text messages.

* Warp Song Check

-Now if you do not have a warp song you won't be able to select the empty slot and still teleport.

* Added Audio Fanfares and Changed stateFlag1 to PLAYER_STATE1_IN_CUTSCENE

-When selecting a warp song the audio for the applicable warp song will now play for a extra vanilla feel.
-Changed the stateFlag1 because previously it just disabled input allowing enemies to harm you. Now that won't happen because the game is put into a cutscene state.

* Feedback Update

-A new hook was created 'OnPauseMenu' so now PauseWarp_Main is only called when the pause menu is open
-Moved pauswarp.c to the Enhancements folder
-Removed from graph.c

PR Change:
Changing to the main branch instead of sulu

* Feedback Update #2

-Introduced new function 'PauseWarp_Idle' now that 'PauseWarp_Main' is no longer called every frame
-Added C wrapper to access 'GameInteractor::IsSaveLoaded' and scrapped the 'IsStateValid' function
-Added 'PauseWarp_Idle' to the the 'RegisterPauseWarp' function
-Refactored the code some

* Linux Compile Issue

-Added a missing header that was causing a compile issue for linux
-Hopefully, it won't crash

* Minor Bug Fix

-Now link won't get soft locked when warping to the same location twice

* Update libultraship

* Revert "Update libultraship"

This reverts commit 746fc234795c06261a4fb69484f4656676f1eaaa.

* Bug Fix
-Added more checks to ensure vanilla behavior when a Ocarina is not in the players inventory.

* WIP

* Done unless I'm missing headers

* now we done

* clean up, these arn't needed anymore

* Rename OnPauseMenu to OnKaleidoUpdate</pre>
</div>
</content>
</entry>
<entry>
<title>Quest Cleanup (#3178)</title>
<updated>2023-09-26T14:20:33+00:00</updated>
<author>
<name>Pepe20129</name>
<email>72659707+Pepe20129@users.noreply.github.com</email>
</author>
<published>2023-09-26T14:20:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=d63c9d1774c13d192ba9a2ccf76d95fb016bc352'/>
<id>d63c9d1774c13d192ba9a2ccf76d95fb016bc352</id>
<content type='text'>
* Change most n64ddFlag checks to IS_RANDO checks

* Change most isMasterQuest checks to IS_MASTER_QUEST checks

* Change most isBossRush checks to IS_BOSS_RUSH checks

* Replace isMasterQuest &amp; isBossRush with questId

* Replace n64ddFlag with questId

Also restore authentic n64ddFlag behavior except savefile saving/loading

* Move quest enum from file_choose.h to z64save.h

* Update macros to not take gSaveContext</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Change most n64ddFlag checks to IS_RANDO checks

* Change most isMasterQuest checks to IS_MASTER_QUEST checks

* Change most isBossRush checks to IS_BOSS_RUSH checks

* Replace isMasterQuest &amp; isBossRush with questId

* Replace n64ddFlag with questId

Also restore authentic n64ddFlag behavior except savefile saving/loading

* Move quest enum from file_choose.h to z64save.h

* Update macros to not take gSaveContext</pre>
</div>
</content>
</entry>
<entry>
<title>[Feature] Boss Rush (#2923)</title>
<updated>2023-06-02T01:40:10+00:00</updated>
<author>
<name>aMannus</name>
<email>mannusmenting@gmail.com</email>
</author>
<published>2023-06-02T01:40:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=2957dc61c37bb5f764a44d87951b8001724d2df7'/>
<id>2957dc61c37bb5f764a44d87951b8001724d2df7</id>
<content type='text'>
* Ganon(dorf) cutscene skips

* Remove leftover code

* Load into chamber of sages

* Fix loading into chamber without fast file select

* Boss warps in chamber done

* Change warps back to chamber

* Initial proof of concept done

* ganon(dorf) cutscene skips

* Code cleanup &amp; auto age equipment

* Gameplay stats timer + tweaks

* Scuffed timer

* Better timer

* remove arena props + fix arena exits

* Fix blue warps

* Attempt to fix build

* Fix build again

* And again..

* Try no. 9001

* Handle dying and saving

* Child link face fire medallion

* Fix build

* Fix warps after reset/death

* Disable doors and move player spawns in boss rooms

* Fix boss rush logo rendering

* Start of ingame options menu

* File Select cleanup

* Fix build

* Render char text PoC

* Move functions to be more generic

* Fix build

* Fix other builds

* Initial text scaling/kerning

* Special characters prep

* All special characters work now

* Attempt to fix build

* Fix build question mark

* Finish all kerning

* Start of ingame options menu with vertical scrolling

* Barebones functional options menu

* More options menu progress

* More visual elements for options menu

* Options menu visual changes, implement all options, tons of cleanup

* Cleanup and comments

* Shorter enums

* More options

* Change default heart count

* Finish French translations

* Implement timer in cosmetics editor

* Uncomment timer requirement

* Variable name change

* German translation &amp; small UI tweaks

* Animated up/down arrows in options UI

* Better arrows in options UI

* Cleaner timer + make it usable for general gameplay

* More cleanup + ganon &amp; ganondorf boss option

* Implement never heal option

* Slight up arrow in options UI tweak

* Add BGS option

* Reintroduce ganondorf cutscene skip

* Change encoding to UTF on bossrush.cpp

* Fix build hopefully

* Fixed static variables leading to options not properly resetting

* Fix BR completed timestamp

* Change timer to render on top of everything

* Offset final BR time by 0.1 second from boss timestamps

* Add missing check for boss rush

* Implement soh_assets.h

* Revert merge mistake

* Fix special characters with UTF-8

* Fix build

* here's the fix you can merge from your phone

* Fix quest select crash with oot.otr only

* Use OoT's kerning

* Fix HD textures on options menu

* Fix special character kerning

* "Heal every boss" fixes

* Seperate headers + bunny hood option

* Remove GetUnixTimestamp() externing

* Clean up extern "C"'s

* Address review comments

* Fix build question mark

* Remove accidental styling change

---------

Co-authored-by: briaguya &lt;briaguya@alice&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Ganon(dorf) cutscene skips

* Remove leftover code

* Load into chamber of sages

* Fix loading into chamber without fast file select

* Boss warps in chamber done

* Change warps back to chamber

* Initial proof of concept done

* ganon(dorf) cutscene skips

* Code cleanup &amp; auto age equipment

* Gameplay stats timer + tweaks

* Scuffed timer

* Better timer

* remove arena props + fix arena exits

* Fix blue warps

* Attempt to fix build

* Fix build again

* And again..

* Try no. 9001

* Handle dying and saving

* Child link face fire medallion

* Fix build

* Fix warps after reset/death

* Disable doors and move player spawns in boss rooms

* Fix boss rush logo rendering

* Start of ingame options menu

* File Select cleanup

* Fix build

* Render char text PoC

* Move functions to be more generic

* Fix build

* Fix other builds

* Initial text scaling/kerning

* Special characters prep

* All special characters work now

* Attempt to fix build

* Fix build question mark

* Finish all kerning

* Start of ingame options menu with vertical scrolling

* Barebones functional options menu

* More options menu progress

* More visual elements for options menu

* Options menu visual changes, implement all options, tons of cleanup

* Cleanup and comments

* Shorter enums

* More options

* Change default heart count

* Finish French translations

* Implement timer in cosmetics editor

* Uncomment timer requirement

* Variable name change

* German translation &amp; small UI tweaks

* Animated up/down arrows in options UI

* Better arrows in options UI

* Cleaner timer + make it usable for general gameplay

* More cleanup + ganon &amp; ganondorf boss option

* Implement never heal option

* Slight up arrow in options UI tweak

* Add BGS option

* Reintroduce ganondorf cutscene skip

* Change encoding to UTF on bossrush.cpp

* Fix build hopefully

* Fixed static variables leading to options not properly resetting

* Fix BR completed timestamp

* Change timer to render on top of everything

* Offset final BR time by 0.1 second from boss timestamps

* Add missing check for boss rush

* Implement soh_assets.h

* Revert merge mistake

* Fix special characters with UTF-8

* Fix build

* here's the fix you can merge from your phone

* Fix quest select crash with oot.otr only

* Use OoT's kerning

* Fix HD textures on options menu

* Fix special character kerning

* "Heal every boss" fixes

* Seperate headers + bunny hood option

* Remove GetUnixTimestamp() externing

* Clean up extern "C"'s

* Address review comments

* Fix build question mark

* Remove accidental styling change

---------

Co-authored-by: briaguya &lt;briaguya@alice&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Gameplay Stat Tracker V1 (#1986)</title>
<updated>2022-11-23T01:04:40+00:00</updated>
<author>
<name>Sarge-117</name>
<email>108380086+Sarge-117@users.noreply.github.com</email>
</author>
<published>2022-11-23T01:04:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=9c162fc0ecd4c2f4b7ad23bb311cd06496da9ca1'/>
<id>9c162fc0ecd4c2f4b7ad23bb311cd06496da9ca1</id>
<content type='text'>
* First test of gathering some gameplay stats

* timer changes and other stuff

* Move code to new files + rename

* Name change - gamePlayStats

* Finish rename, remove n64ddFlag checks

* Improve item get times

* Better time tracking, more stats,

* Put button under Enhancements

* Fix merge conflict

* Add pauseCount, fix bug with rando items

* Adjust inits/declarations

* step counter

* Name change: "itemGetTime" to "timestamp"

* Tidying + CI test

* Set up array for stat counts

* Macro

#define GAMEPLAYSTAT_TOTAL_TIME (gSaveContext.gameplayStats.playTimer / 2 + gSaveContext.gameplayStats.pauseTimer / 3)

* Add boss defeat timestamps

* Add sword swings, pots broken, bushes cut

* fix int type

* Add counts for enemies defeated

Broken down by enemy, with a total

* Add ammo used

* Hide breakdowns until count &gt; 0

* Forgot Big Octo

* Count chests opened

* Update after LUS submodule

* Enemy count spacing

* Comments

* Count 3 mini Floormasters as 1 Floormaster

+ some cleanup

* Comments

* Colour coding for timestamps on quest items

i.e. medallions/stones/songs

* Move stat into the sohStats struct

+ rearrange the counts enum for easier addition of future counts

* Some documentation + count button presses

* Stop counting button presses when Ganon defeated

* Couple bugfixes

Add count for Gerudo Thief, fix step counter counting in some situations where it shouldn't

* Fix comment</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* First test of gathering some gameplay stats

* timer changes and other stuff

* Move code to new files + rename

* Name change - gamePlayStats

* Finish rename, remove n64ddFlag checks

* Improve item get times

* Better time tracking, more stats,

* Put button under Enhancements

* Fix merge conflict

* Add pauseCount, fix bug with rando items

* Adjust inits/declarations

* step counter

* Name change: "itemGetTime" to "timestamp"

* Tidying + CI test

* Set up array for stat counts

* Macro

#define GAMEPLAYSTAT_TOTAL_TIME (gSaveContext.gameplayStats.playTimer / 2 + gSaveContext.gameplayStats.pauseTimer / 3)

* Add boss defeat timestamps

* Add sword swings, pots broken, bushes cut

* fix int type

* Add counts for enemies defeated

Broken down by enemy, with a total

* Add ammo used

* Hide breakdowns until count &gt; 0

* Forgot Big Octo

* Count chests opened

* Update after LUS submodule

* Enemy count spacing

* Comments

* Count 3 mini Floormasters as 1 Floormaster

+ some cleanup

* Comments

* Colour coding for timestamps on quest items

i.e. medallions/stones/songs

* Move stat into the sohStats struct

+ rearrange the counts enum for easier addition of future counts

* Some documentation + count button presses

* Stop counting button presses when Ganon defeated

* Couple bugfixes

Add count for Gerudo Thief, fix step counter counting in some situations where it shouldn't

* Fix comment</pre>
</div>
</content>
</entry>
<entry>
<title>Use PlayState instead of GlobalContext (#1927)</title>
<updated>2022-11-06T08:24:34+00:00</updated>
<author>
<name>Garrett Cox</name>
<email>garrettjcox@gmail.com</email>
</author>
<published>2022-11-06T08:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=99260acaf119b6b2b57dd10eb357fa1271bfc536'/>
<id>99260acaf119b6b2b57dd10eb357fa1271bfc536</id>
<content type='text'>
* Use PlayState instead of GlobalContext
- GlobalContext -&gt; PlayState
- globalCtx -&gt; play
- GlobalCtx -&gt; PlayState
- globalContext -&gt; playState

* Find and replace Gameplay_ with Play_

* Correct some misnamed argument cases</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Use PlayState instead of GlobalContext
- GlobalContext -&gt; PlayState
- globalCtx -&gt; play
- GlobalCtx -&gt; PlayState
- globalContext -&gt; playState

* Find and replace Gameplay_ with Play_

* Correct some misnamed argument cases</pre>
</div>
</content>
</entry>
<entry>
<title>Use Macro for __FILE__ &amp; __LINE__ when possible (#559)</title>
<updated>2022-07-05T23:29:34+00:00</updated>
<author>
<name>Baoulettes</name>
<email>perlouzerie@hotmail.fr</email>
</author>
<published>2022-07-05T23:29:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=a5df9dddf06adc328dea2877d1f21d1836653b35'/>
<id>a5df9dddf06adc328dea2877d1f21d1836653b35</id>
<content type='text'>
* First batch some overlay

* Almost all overlay

* effect &amp; gamestate

* kaleido stuffs

* more overlay

* more left over from code folder

* remaining hardcoded line and file

* Open &amp; Close _DISP __FILE__ &amp; __LINE__ clean up

* Some if (1) {} remove

* LOG_xxxx __FILE__ , __LINE__ cleaned

* ASSERT macro __FILE__ __LINE__

* mtx without line/file in functions

* " if (1) {} " &amp; "if (0) {}" and tab/white place

* LogUtils as macro

* GameState_, GameAlloc_, SystemArena_ &amp; ZeldaArena_

* Revert "GameState_, GameAlloc_, SystemArena_ &amp; ZeldaArena_"

This reverts commit 0d85caaf7e342648c01a15fe21e93637352dc596.

* Like last commit but as macro

* Fix matrix not using macros

* use function not macro

* DebugArena_* functions
GameAlloc_MallocDebug
BgCheck_PosErrorCheck as macros
removed issues with ; in macro file</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* First batch some overlay

* Almost all overlay

* effect &amp; gamestate

* kaleido stuffs

* more overlay

* more left over from code folder

* remaining hardcoded line and file

* Open &amp; Close _DISP __FILE__ &amp; __LINE__ clean up

* Some if (1) {} remove

* LOG_xxxx __FILE__ , __LINE__ cleaned

* ASSERT macro __FILE__ __LINE__

* mtx without line/file in functions

* " if (1) {} " &amp; "if (0) {}" and tab/white place

* LogUtils as macro

* GameState_, GameAlloc_, SystemArena_ &amp; ZeldaArena_

* Revert "GameState_, GameAlloc_, SystemArena_ &amp; ZeldaArena_"

This reverts commit 0d85caaf7e342648c01a15fe21e93637352dc596.

* Like last commit but as macro

* Fix matrix not using macros

* use function not macro

* DebugArena_* functions
GameAlloc_MallocDebug
BgCheck_PosErrorCheck as macros
removed issues with ; in macro file</pre>
</div>
</content>
</entry>
</feed>
