<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Shipwright/soh/include/z64save.h, branch develop</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>BetterSaveMenu: Less redundant override and run exit and load hooks (#6984)</title>
<updated>2026-07-25T14:02:31+00:00</updated>
<author>
<name>Christopher Leggett</name>
<email>chris@leggett.dev</email>
</author>
<published>2026-07-25T14:02:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=90c6b34e8f53652279fc1ca0b3c4300ff8891e87'/>
<id>90c6b34e8f53652279fc1ca0b3c4300ff8891e87</id>
<content type='text'>
Running the OnExitGame and OnLoadGame Hooks fixes some interactions this menu had on the Check Tracker and the Available Checks system.
OnLoadGame overwrote the menu's changes to the next entrance override which were needed for Return to Spawn to work correctly, so I needed to add a new gSaveContext flag for it so that the menu code can set the spawn entrance after all the other entrance overriding code has executed. This also allows any future changes to `Entrance_SetSavewarpEntrance` to take effect when using this menu.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Running the OnExitGame and OnLoadGame Hooks fixes some interactions this menu had on the Check Tracker and the Available Checks system.
OnLoadGame overwrote the menu's changes to the next entrance override which were needed for Return to Spawn to work correctly, so I needed to add a new gSaveContext flag for it so that the menu code can set the spawn entrance after all the other entrance overriding code has executed. This also allows any future changes to `Entrance_SetSavewarpEntrance` to take effect when using this menu.</pre>
</div>
</content>
</entry>
<entry>
<title>Decomp pull, some `z_player` and global changes (#6908)</title>
<updated>2026-07-12T14:59:10+00:00</updated>
<author>
<name>djevangelia</name>
<email>263709373+djevangelia@users.noreply.github.com</email>
</author>
<published>2026-07-12T14:59:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=1003c462a886e6046071865d2091c6e742a2f4b7'/>
<id>1003c462a886e6046071865d2091c6e742a2f4b7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Decomp, update `z_en_holl.c` (#6890)</title>
<updated>2026-07-09T15:44:29+00:00</updated>
<author>
<name>djevangelia</name>
<email>263709373+djevangelia@users.noreply.github.com</email>
</author>
<published>2026-07-09T15:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=50837308b77ed5ddb0dfe86b2b9fbcb0ce71db80'/>
<id>50837308b77ed5ddb0dfe86b2b9fbcb0ce71db80</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Decomp import: rename timer-related functions and variables (#5896)</title>
<updated>2026-01-08T18:56:01+00:00</updated>
<author>
<name>Jordan Longstaff</name>
<email>JordanLongstaff@users.noreply.github.com</email>
</author>
<published>2026-01-08T18:56:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=9ca5ce0b53c7bb58042e39fcac502894291152f4'/>
<id>9ca5ce0b53c7bb58042e39fcac502894291152f4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added "firstInput" stat and repurposed the "fileCreatedAt" stat. (#6070)</title>
<updated>2026-01-02T14:39:42+00:00</updated>
<author>
<name>Glought</name>
<email>Glought@users.noreply.github.com</email>
</author>
<published>2026-01-02T14:39:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=31db9e4adeb99b6f61c9b60ae55459a974ba7d3d'/>
<id>31db9e4adeb99b6f61c9b60ae55459a974ba7d3d</id>
<content type='text'>
- The "firstInput" stat is set on first input in game. Used for RTA
  Timing.
- The "fileCreatedAt" stat is now set when then save file is created
  (After the player is done entering the file name). Useful for seeding
  non rando randomizers like Mirrorworld, Enemy Randomizer, extraTraps,
  etc.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- The "firstInput" stat is set on first input in game. Used for RTA
  Timing.
- The "fileCreatedAt" stat is now set when then save file is created
  (After the player is done entering the file name). Useful for seeding
  non rando randomizers like Mirrorworld, Enemy Randomizer, extraTraps,
  etc.</pre>
</div>
</content>
</entry>
<entry>
<title>Add in Progressive Bombchu Bags (#5836)</title>
<updated>2025-12-04T15:14:32+00:00</updated>
<author>
<name>Christopher Leggett</name>
<email>chris@leggett.dev</email>
</author>
<published>2025-12-04T15:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=7e829a078048700f0746b73cc681353f4934e147'/>
<id>7e829a078048700f0746b73cc681353f4934e147</id>
<content type='text'>
* Adds new Progressive Bombchu Bags option

Also changes existing code to account for Bombchu Bags becoming
a drop down with 3 values instead of a checkbox

* Handle the new lower capacities for ammo refills

* Handle what happens when receiving a bombchu bag

* Remove the trick name of Progressive Bombchu Bag

Since, you know, that's an actual thing now.

* Implements Bombchu Bag handling next to Progressive Bombchu Handling

* clang-formatting

* Add extra bag for plentiful items

* Address review comment

* Move bombchu upgrade level to gSaveContext and add save/load

* Use logic's saveContext for correct logic calculations

* Remove RG_PROGRESSIVE_BOMBCHU

* Fix Bombchu Refill obtainability

* Don't add normal chus to the pool if chu bags are on.

* cmake-format

* Properly reset bombchuUpgradeLevel on savefile init

* Fix error with va_arg on linux

* Fixes small error in the Bombchu Bag description

* Fix bug with bombchu obtainability

* clang-format

* Fix infinite bombchu text

* fix clang-format</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Adds new Progressive Bombchu Bags option

Also changes existing code to account for Bombchu Bags becoming
a drop down with 3 values instead of a checkbox

* Handle the new lower capacities for ammo refills

* Handle what happens when receiving a bombchu bag

* Remove the trick name of Progressive Bombchu Bag

Since, you know, that's an actual thing now.

* Implements Bombchu Bag handling next to Progressive Bombchu Handling

* clang-formatting

* Add extra bag for plentiful items

* Address review comment

* Move bombchu upgrade level to gSaveContext and add save/load

* Use logic's saveContext for correct logic calculations

* Remove RG_PROGRESSIVE_BOMBCHU

* Fix Bombchu Refill obtainability

* Don't add normal chus to the pool if chu bags are on.

* cmake-format

* Properly reset bombchuUpgradeLevel on savefile init

* Fix error with va_arg on linux

* Fixes small error in the Bombchu Bag description

* Fix bug with bombchu obtainability

* clang-format

* Fix infinite bombchu text

* fix clang-format</pre>
</div>
</content>
</entry>
<entry>
<title>Modularize Hurt Container mode hook (#5874)</title>
<updated>2025-11-24T17:30:34+00:00</updated>
<author>
<name>Jordan Longstaff</name>
<email>JordanLongstaff@users.noreply.github.com</email>
</author>
<published>2025-11-24T17:30:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=0f41ecb145a688f66ac311db31483a41908ad4d0'/>
<id>0f41ecb145a688f66ac311db31483a41908ad4d0</id>
<content type='text'>
* Modularize Hurt Container mode hook

* Hook condition was wrong - fixed it

* Change type of hurtEnabled for clarity

* Change type back to bool

* Add VB hook

* Don't duplicate health capacity modifier calculation

* Add constants, replace magic numbers

* Clang format

* Publicize more health unit macros

* Make mod file self-contained</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Modularize Hurt Container mode hook

* Hook condition was wrong - fixed it

* Change type of hurtEnabled for clarity

* Change type back to bool

* Add VB hook

* Don't duplicate health capacity modifier calculation

* Add constants, replace magic numbers

* Clang format

* Publicize more health unit macros

* Make mod file self-contained</pre>
</div>
</content>
</entry>
<entry>
<title>Boss Rush cleanup (#5652)</title>
<updated>2025-08-13T19:08:32+00:00</updated>
<author>
<name>Pepe20129</name>
<email>72659707+Pepe20129@users.noreply.github.com</email>
</author>
<published>2025-08-13T19:08:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=7b4df9bdb2ebde2bdd6581c10ffdc1aea4ee1573'/>
<id>7b4df9bdb2ebde2bdd6581c10ffdc1aea4ee1573</id>
<content type='text'>
* Reduce stuff in the `.h`s &amp; use `COND_HOOK` + variants

* Move some boss rush stuff from `z_file_choose.c`

* clang

* Update BossRush.cpp</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Reduce stuff in the `.h`s &amp; use `COND_HOOK` + variants

* Move some boss rush stuff from `z_file_choose.c`

* clang

* Update BossRush.cpp</pre>
</div>
</content>
</entry>
<entry>
<title>Convert `RandomizerInf` to the dynamic `#define` model to allow for automatic string names. (#5537)</title>
<updated>2025-05-30T02:14:32+00:00</updated>
<author>
<name>Malkierian</name>
<email>malkierian@gmail.com</email>
</author>
<published>2025-05-30T02:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=40fa3c8d64e8e3c6c8a50f9b902f40ae5de4319f'/>
<id>40fa3c8d64e8e3c6c8a50f9b902f40ae5de4319f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>NTSC Support (N64) (#4198)</title>
<updated>2025-03-30T16:29:59+00:00</updated>
<author>
<name>inspectredc</name>
<email>78732756+inspectredc@users.noreply.github.com</email>
</author>
<published>2025-03-30T16:29:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=6140b2ec8f06e37ce29385096a4425b2a7207736'/>
<id>6140b2ec8f06e37ce29385096a4425b2a7207736</id>
<content type='text'>
* copy n64 pal 10

doing this so i can check diffs i make

* transfer german-&gt;jp icon item

* overlays, message data, icon item jpn, audio, code

todo: title_static, gameplay keep

* add kanji and fix title cards

* title static

* spell folder correctly

* boss title cards, do action, icon item, item name, map name

* headers for jpn stuff

* gameplay_keep

* Scenes, audio, jp text extraction, rom support, overlay fixes, sheik &amp; darunia

todo: test &amp; disable darunia fix cvar for ntsc

* msgptr init fix

* icon item offsets

* comment out title cards until zapd can fix itself (we extract these in a different file anyway)

* compile and font implemented to get past title screen

* file select

* message, kaleido and everything else but rando

* uintptr_t

* rando and custom messages working!

* ntsc-j 1.0 support

* n64 logo?

* copy ntsc 10 to 11

* ntsc 11 extraction

* change title version names

* copy ntsc 11 to 12

* ntsc 12 extraction

* clean up some todos

* re checkout submodules post merge

* fix US filename

* support cross-version filenames

* add new versions to non-mq list

* use correct message table init

* Fix ntsc nes message table overriding pal nes message table

* actual fix, allows extraction

* fix file name using wrong font of file being hovered over

* Fix barinade crash

* re-add pal

* better jabu fix and revert LUS

* fix gerudo title cards

* better better owl select

* more owl fixes

* build

* fix some name decode issues

* Switch Language Mid Text

* Fix PAL displaying for JP filenames

* Fix AskToEquip Crash

* Disable Credits Timing Fix on NTSC

* Fix JP Text positioning

* basic language switching (BIG todo: file select, title screen)

* Title Screen Hopefully working

* add ntsc to linux appimage stuff, TODO: add .v64/.n64 support

* Update OTRExporter

* Fix pause to decide offset

* Fix bomb item name crash

* fix fire arrows and PoH

* builds

* update asset changes and fix menu language changing

* fix name decode

* Fix crashes and add rando/boss rush select stuff

* Revive debug feature by setting language cvar too

* Fix ocarina text speed softlock, and update jp text speed changes

* Merge remote-tracking branch 'upstream/develop' into NTSC

* Fix options menu and let pal use japanese fully

* Resolve some suggestions

* match up gTextSpeed changes to english (still broken!)

* Fix text speed crash

* Set default filename language on save init funcs

* bump otrexporter

* Display same correct info for n64 ntsc-j and ntsc-u

* quicktext more closely aligned with decomp

* linux appimage v64/n64 checksums

* bump zapd

* Credits Fix Tooltip Adjusted

* update supported hashes json

* update shasums to include JP n64</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* copy n64 pal 10

doing this so i can check diffs i make

* transfer german-&gt;jp icon item

* overlays, message data, icon item jpn, audio, code

todo: title_static, gameplay keep

* add kanji and fix title cards

* title static

* spell folder correctly

* boss title cards, do action, icon item, item name, map name

* headers for jpn stuff

* gameplay_keep

* Scenes, audio, jp text extraction, rom support, overlay fixes, sheik &amp; darunia

todo: test &amp; disable darunia fix cvar for ntsc

* msgptr init fix

* icon item offsets

* comment out title cards until zapd can fix itself (we extract these in a different file anyway)

* compile and font implemented to get past title screen

* file select

* message, kaleido and everything else but rando

* uintptr_t

* rando and custom messages working!

* ntsc-j 1.0 support

* n64 logo?

* copy ntsc 10 to 11

* ntsc 11 extraction

* change title version names

* copy ntsc 11 to 12

* ntsc 12 extraction

* clean up some todos

* re checkout submodules post merge

* fix US filename

* support cross-version filenames

* add new versions to non-mq list

* use correct message table init

* Fix ntsc nes message table overriding pal nes message table

* actual fix, allows extraction

* fix file name using wrong font of file being hovered over

* Fix barinade crash

* re-add pal

* better jabu fix and revert LUS

* fix gerudo title cards

* better better owl select

* more owl fixes

* build

* fix some name decode issues

* Switch Language Mid Text

* Fix PAL displaying for JP filenames

* Fix AskToEquip Crash

* Disable Credits Timing Fix on NTSC

* Fix JP Text positioning

* basic language switching (BIG todo: file select, title screen)

* Title Screen Hopefully working

* add ntsc to linux appimage stuff, TODO: add .v64/.n64 support

* Update OTRExporter

* Fix pause to decide offset

* Fix bomb item name crash

* fix fire arrows and PoH

* builds

* update asset changes and fix menu language changing

* fix name decode

* Fix crashes and add rando/boss rush select stuff

* Revive debug feature by setting language cvar too

* Fix ocarina text speed softlock, and update jp text speed changes

* Merge remote-tracking branch 'upstream/develop' into NTSC

* Fix options menu and let pal use japanese fully

* Resolve some suggestions

* match up gTextSpeed changes to english (still broken!)

* Fix text speed crash

* Set default filename language on save init funcs

* bump otrexporter

* Display same correct info for n64 ntsc-j and ntsc-u

* quicktext more closely aligned with decomp

* linux appimage v64/n64 checksums

* bump zapd

* Credits Fix Tooltip Adjusted

* update supported hashes json

* update shasums to include JP n64</pre>
</div>
</content>
</entry>
</feed>
