<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Shipwright/soh/src/code/z_sram.c, branch 8.0.2</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>fix quest assignment (#3343)</title>
<updated>2023-11-04T21:52:09+00:00</updated>
<author>
<name>Adam Bird</name>
<email>Archez@users.noreply.github.com</email>
</author>
<published>2023-11-04T21:52:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=44ee6da0aaa640fad8a38bc160a97adeda6a0214'/>
<id>44ee6da0aaa640fad8a38bc160a97adeda6a0214</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Player Equip Docs (#3282)</title>
<updated>2023-10-30T15:56:36+00:00</updated>
<author>
<name>inspectredc</name>
<email>78732756+inspectredc@users.noreply.github.com</email>
</author>
<published>2023-10-30T15:56:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=5dd82f59e227da2ff2c6971a53212ebead4c9fb6'/>
<id>5dd82f59e227da2ff2c6971a53212ebead4c9fb6</id>
<content type='text'>
* hopefully everything

* update docs for MS shuffle sections</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* hopefully everything

* update docs for MS shuffle sections</pre>
</div>
</content>
</entry>
<entry>
<title>Rando: Master Sword Shuffle (#2981)</title>
<updated>2023-10-22T01:51:37+00:00</updated>
<author>
<name>Ralphie Morell</name>
<email>rafael.morell@techfield.us</email>
</author>
<published>2023-10-22T01:51:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=2eaed8d81ea2586a8a4112f17bd3a88d3c7882db'/>
<id>2eaed8d81ea2586a8a4112f17bd3a88d3c7882db</id>
<content type='text'>
* The mother of all commits

* Removed `GI_SWORD_MASTER`;
"Master Sword" Items now actually give MS

* Removed dupe MS entries in item pool;
updated GIMESSAGE (should stop crashing on non-Windows);
re-added MS in item list

* Give Adult Link a freebie with shuffle MS on;
cihld -&gt; adult no longer gives MS;
ToT Master Sword now gives correct item

* add master sword GI draw func based on ToT MS object

* Force `MasterSword` logic var to only update upon getting MS

* Dorf funny line now activates with LA and MS in inv

* Apply suggestions

* Updated RAND_INF;
Check Tracker changes;
Gave RAND_INF and ice trap logic to ToT MS check;
Fixed swordless behavior for HBA/fishing

* ToT MS Check now works in check tracker;
Visual bug where box hovers over non-existent MS gone;
Fixed RAND_INF check with ToT MS pedestal;
Ganon no longer gives free MS

* adult equips no longer reset in MS shuffle

* Apply (most) locacc review suggestions

Co-authored-by: inspectredc &lt;78732756+inspectredc@users.noreply.github.com&gt;

* Reorganized swordless check for interface to fit edge cases;
getting master sword no longer highlights box

* Edge case for BGS but no bow

* Fix implicit declaration error for GI hooks (#9)

* Adjusted `CanAdultAttack/Damage`; applied logic suggestions

* Fixed build errors (hopefully)

* Cleanup merge

* get shit working again

* Tidied up remaining uses of DD flag as rando indicator

* make master sword invisible and fix ms flag (#10)

* Add text to sheik if go mode is obtained but barrier is still up

* overhaul swordless behavior in `func_80083108`

* reworked ToT MS Check to have an actual GI

* suggestions

* Apply suggestions

* Better swordless handling with temp B (#11)

* better swordless handling with temp B

* prevent auto save in fishing pond

* prevent auto save during bombchu bowling

* enum fix

---------

Co-authored-by: Adam Bird &lt;archez39@me.com&gt;
Co-authored-by: inspectredc &lt;78732756+inspectredc@users.noreply.github.com&gt;
Co-authored-by: RaelCappra &lt;rael.cappra@gmail.com&gt;
Co-authored-by: Adam Bird &lt;Archez@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* The mother of all commits

* Removed `GI_SWORD_MASTER`;
"Master Sword" Items now actually give MS

* Removed dupe MS entries in item pool;
updated GIMESSAGE (should stop crashing on non-Windows);
re-added MS in item list

* Give Adult Link a freebie with shuffle MS on;
cihld -&gt; adult no longer gives MS;
ToT Master Sword now gives correct item

* add master sword GI draw func based on ToT MS object

* Force `MasterSword` logic var to only update upon getting MS

* Dorf funny line now activates with LA and MS in inv

* Apply suggestions

* Updated RAND_INF;
Check Tracker changes;
Gave RAND_INF and ice trap logic to ToT MS check;
Fixed swordless behavior for HBA/fishing

* ToT MS Check now works in check tracker;
Visual bug where box hovers over non-existent MS gone;
Fixed RAND_INF check with ToT MS pedestal;
Ganon no longer gives free MS

* adult equips no longer reset in MS shuffle

* Apply (most) locacc review suggestions

Co-authored-by: inspectredc &lt;78732756+inspectredc@users.noreply.github.com&gt;

* Reorganized swordless check for interface to fit edge cases;
getting master sword no longer highlights box

* Edge case for BGS but no bow

* Fix implicit declaration error for GI hooks (#9)

* Adjusted `CanAdultAttack/Damage`; applied logic suggestions

* Fixed build errors (hopefully)

* Cleanup merge

* get shit working again

* Tidied up remaining uses of DD flag as rando indicator

* make master sword invisible and fix ms flag (#10)

* Add text to sheik if go mode is obtained but barrier is still up

* overhaul swordless behavior in `func_80083108`

* reworked ToT MS Check to have an actual GI

* suggestions

* Apply suggestions

* Better swordless handling with temp B (#11)

* better swordless handling with temp B

* prevent auto save in fishing pond

* prevent auto save during bombchu bowling

* enum fix

---------

Co-authored-by: Adam Bird &lt;archez39@me.com&gt;
Co-authored-by: inspectredc &lt;78732756+inspectredc@users.noreply.github.com&gt;
Co-authored-by: RaelCappra &lt;rael.cappra@gmail.com&gt;
Co-authored-by: Adam Bird &lt;Archez@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix quest type bleeding through saves (#3241)</title>
<updated>2023-10-05T19:35:49+00:00</updated>
<author>
<name>Adam Bird</name>
<email>Archez@users.noreply.github.com</email>
</author>
<published>2023-10-05T19:35:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=e66be83eb789cbdd3a4891aafd61ae34909bd876'/>
<id>e66be83eb789cbdd3a4891aafd61ae34909bd876</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>Add scene table (#3131)</title>
<updated>2023-09-01T16:46:19+00:00</updated>
<author>
<name>Pepe20129</name>
<email>72659707+Pepe20129@users.noreply.github.com</email>
</author>
<published>2023-09-01T16:46:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=45b7520dcb79d5accb717e9bfda13e0e0ce2a9af'/>
<id>45b7520dcb79d5accb717e9bfda13e0e0ce2a9af</id>
<content type='text'>
* Add scene table

* Re-add accidentally deleted entry

* Update CrashHandlerExt.cpp

* Update CrashHandlerExt.cpp</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add scene table

* Re-add accidentally deleted entry

* Update CrashHandlerExt.cpp

* Update CrashHandlerExt.cpp</pre>
</div>
</content>
</entry>
<entry>
<title>Add an error for implicit functions (#3017)</title>
<updated>2023-06-27T23:53:35+00:00</updated>
<author>
<name>louist103</name>
<email>35883445+louist103@users.noreply.github.com</email>
</author>
<published>2023-06-27T23:53:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=acfc04d0acdfc83f4dce326844779195bfc51197'/>
<id>acfc04d0acdfc83f4dce326844779195bfc51197</id>
<content type='text'>
* Add the flag and fix errors

* switch assert and skin matrix

* new LUS

* Use normal assert

* hopefully fix WiiU

Signed-off-by: Louis &lt;louist103@pop-os.localdomain&gt;

---------

Signed-off-by: Louis &lt;louist103@pop-os.localdomain&gt;
Co-authored-by: Louis &lt;louist103@pop-os.localdomain&gt;
Co-authored-by: Christopher Leggett &lt;chris@leggett.dev&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add the flag and fix errors

* switch assert and skin matrix

* new LUS

* Use normal assert

* hopefully fix WiiU

Signed-off-by: Louis &lt;louist103@pop-os.localdomain&gt;

---------

Signed-off-by: Louis &lt;louist103@pop-os.localdomain&gt;
Co-authored-by: Louis &lt;louist103@pop-os.localdomain&gt;
Co-authored-by: Christopher Leggett &lt;chris@leggett.dev&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Flags stuff (#3014)</title>
<updated>2023-06-20T15:54:02+00:00</updated>
<author>
<name>Garrett Cox</name>
<email>garrettjcox@gmail.com</email>
</author>
<published>2023-06-20T15:54:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=7c5efb278582a7b438f58a804dd38c6795c8e0c9'/>
<id>7c5efb278582a7b438f58a804dd38c6795c8e0c9</id>
<content type='text'>
* Manual adjustments to flags

* Script run to adjust flags</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Manual adjustments to flags

* Script run to adjust flags</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>Move Game Saving to Separate Thread (#2820)</title>
<updated>2023-05-05T21:20:34+00:00</updated>
<author>
<name>Malkierian</name>
<email>malkierian@live.com</email>
</author>
<published>2023-05-05T21:20:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/Shipwright/commit/?id=778f548b0139d86889b5c6e2455adf30ca849e64'/>
<id>778f548b0139d86889b5c6e2455adf30ca849e64</id>
<content type='text'>
* Refactor `Vec2f`, `Vec3f`, `Vec3s` in `z64math` to avoid reserved identifiers.

* Include `z64save` in SaveManager, which requires encapsulating `#include gameplaystats.h` and `InitStatTracker` in the cpp to fix compile issues.

Adds SaveContext reference parameters to SaveFunc and existing implementations in preparation for threaded saves.

* Threaded saves fully implemented.

Platform-specific save code removed.

Thread safety added. Will wait for thread pool tasks to finish before resetting or closing.

* Converted gSaveContext copy for save threads to the heap with `new`, deleted at the end of the threaded function to prevent possible issues with the stack.

* Turns out leaving the call to `ThreadPoolWait` in a `GameInteractor::OnExitGame` hook seems to be just fine.

* Removed unnecessary references to `SaveManager::ThreadPoolWait()`, game hooks are the only places it's called now.

* Re-added WiiU/Switch performance save code.

* Added call to `SaveManager::ThreadPoolWait` in `Sram_InitSave` to prevent trying to load a newly "created" save before the save file was actually written.

---------

Co-authored-by: Christopher Leggett &lt;chris@leggett.dev&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Refactor `Vec2f`, `Vec3f`, `Vec3s` in `z64math` to avoid reserved identifiers.

* Include `z64save` in SaveManager, which requires encapsulating `#include gameplaystats.h` and `InitStatTracker` in the cpp to fix compile issues.

Adds SaveContext reference parameters to SaveFunc and existing implementations in preparation for threaded saves.

* Threaded saves fully implemented.

Platform-specific save code removed.

Thread safety added. Will wait for thread pool tasks to finish before resetting or closing.

* Converted gSaveContext copy for save threads to the heap with `new`, deleted at the end of the threaded function to prevent possible issues with the stack.

* Turns out leaving the call to `ThreadPoolWait` in a `GameInteractor::OnExitGame` hook seems to be just fine.

* Removed unnecessary references to `SaveManager::ThreadPoolWait()`, game hooks are the only places it's called now.

* Re-added WiiU/Switch performance save code.

* Added call to `SaveManager::ThreadPoolWait` in `Sram_InitSave` to prevent trying to load a newly "created" save before the save file was actually written.

---------

Co-authored-by: Christopher Leggett &lt;chris@leggett.dev&gt;</pre>
</div>
</content>
</entry>
</feed>
