<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tp/src/JSystem/JFramework/JFWSystem.cpp, branch main</title>
<subtitle>Decompilation of The Legend of Zelda: Twilight Princess (GCN)</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/'/>
<entry>
<title>Reorganize library code into `libs/` (#3119)</title>
<updated>2026-03-01T22:35:36+00:00</updated>
<author>
<name>Luke Street</name>
<email>luke@street.dev</email>
</author>
<published>2026-03-01T22:35:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=9649319ec4926457ef85e6094f8207474c977c2d'/>
<id>9649319ec4926457ef85e6094f8207474c977c2d</id>
<content type='text'>
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}

* Update configure.py and project.py for new libs structure

* Refactor `#include &lt;dolphin/x.h&gt;` -&gt; `&lt;x.h&gt;`

* Remove `__REVOLUTION_SDK__` forwards from dolphin

* Fix dolphin/ references in revolution

* Wrap `#include &lt;dolphin.h&gt;` in `!__REVOLUTION_SDK__`

* Always build TRK against dolphin headers

* Resolve revolution SDK header resolution issues</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}

* Update configure.py and project.py for new libs structure

* Refactor `#include &lt;dolphin/x.h&gt;` -&gt; `&lt;x.h&gt;`

* Remove `__REVOLUTION_SDK__` forwards from dolphin

* Fix dolphin/ references in revolution

* Wrap `#include &lt;dolphin.h&gt;` in `!__REVOLUTION_SDK__`

* Always build TRK against dolphin headers

* Resolve revolution SDK header resolution issues</pre>
</div>
</content>
</entry>
<entry>
<title>Match JFWSystem::init (#2972)</title>
<updated>2025-12-20T01:25:09+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-12-20T01:25:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=ac9a361676852f28a968add1e7919250fcb358d7'/>
<id>ac9a361676852f28a968add1e7919250fcb358d7</id>
<content type='text'>
Co-authored-by: Cuyler36 &lt;Cuyler36@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Cuyler36 &lt;Cuyler36@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>project cleanup (#2895)</title>
<updated>2025-11-30T22:23:42+00:00</updated>
<author>
<name>TakaRikka</name>
<email>38417346+TakaRikka@users.noreply.github.com</email>
</author>
<published>2025-11-30T22:23:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=a6e76c0841cae03cae0c0e6ac75c32f979043093'/>
<id>a6e76c0841cae03cae0c0e6ac75c32f979043093</id>
<content type='text'>
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes</pre>
</div>
</content>
</entry>
<entry>
<title>Debug work + some retail regalloc fixes (#2787)</title>
<updated>2025-11-09T19:43:14+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-11-09T19:43:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=ba7cdd4fe9919cca0419950995f6d80583299953'/>
<id>ba7cdd4fe9919cca0419950995f6d80583299953</id>
<content type='text'>
* Debug work + some retail regalloc fixes

* Use AUDIO_INSTANCES in places it's missing, link d_a_e_bee

* Link m_Do_machine

* Fix clang putting other includes before the pchs

* Link some more debug TUs that already match</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Debug work + some retail regalloc fixes

* Use AUDIO_INSTANCES in places it's missing, link d_a_e_bee

* Link m_Do_machine

* Fix clang putting other includes before the pchs

* Link some more debug TUs that already match</pre>
</div>
</content>
</entry>
<entry>
<title>Fix JUT_ASSERT and several other macros (#2711)</title>
<updated>2025-09-28T20:11:07+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-09-28T20:11:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=9eea9289b1c4316d5856d1cb9602ee463d7de989'/>
<id>9eea9289b1c4316d5856d1cb9602ee463d7de989</id>
<content type='text'>
* Fix JUT_ASSERT to be a nested define

* Switch names that appear in asserts to be constants instead of defines

* Replace `0` in asserts with `NULL` or `FALSE`

* Fix fpclassify

* Fix ARRAY_SIZE

* Use G_CM3D_F_INF

* More fixes for fpclassify

* Remove FLOAT_LABEL

* Remove incorrect FLAG_ON macro

* Remove UNK_BSS macro

* Silence clangd unused header warning for PCH</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix JUT_ASSERT to be a nested define

* Switch names that appear in asserts to be constants instead of defines

* Replace `0` in asserts with `NULL` or `FALSE`

* Fix fpclassify

* Fix ARRAY_SIZE

* Use G_CM3D_F_INF

* More fixes for fpclassify

* Remove FLOAT_LABEL

* Remove incorrect FLAG_ON macro

* Remove UNK_BSS macro

* Silence clangd unused header warning for PCH</pre>
</div>
</content>
</entry>
<entry>
<title>Add PCH for JSystem (#2645)</title>
<updated>2025-09-11T20:20:45+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2025-09-11T20:20:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=a6c3c20b23743dd21c4525995b0e144d8189af49'/>
<id>a6c3c20b23743dd21c4525995b0e144d8189af49</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Start linking some TUs on debug and PAL (#2612)</title>
<updated>2025-08-28T00:37:31+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-08-28T00:37:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=956e84b0e7090fde541f25319d0255c45b657b39'/>
<id>956e84b0e7090fde541f25319d0255c45b657b39</id>
<content type='text'>
* Fix clang union handling (affects all TUs including d_camera.h)

Union members with non-trivial ctors/dtors is undefined behavior and clangd normally throws a fit and refuses to parse the whole union, but it seems to be possible to ifdef the problematic ctors out for non-mwerks compilers and explicitly tell modern compilers to use the defaults instead. Thanks to encounter for this fix.

* Link all TUs that already match on debug

In order to link TUs for debug, most functions seem to need to have their alignment set to 16 in symbols.txt. There are a few hundred functions that seem to be the exception and break when their alignment is set to 16, but I don't know the reason for this.

* Remove some fakematches (nosyminline/sym off) for weak func order in retail

* Fix clang not knowing that MSL_C++ is C++

* Link more debug TUs

* Fix missing PAL split

* Fix wrong slashes being used in includes

* RZDE01_00: Fix incorrect capitalization in config.yml

* Add RZDE01_00 to configure task

* Revert configure.py to use MatchingFor

* Fix PAL splits and symbols, link matching PAL TUs</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix clang union handling (affects all TUs including d_camera.h)

Union members with non-trivial ctors/dtors is undefined behavior and clangd normally throws a fit and refuses to parse the whole union, but it seems to be possible to ifdef the problematic ctors out for non-mwerks compilers and explicitly tell modern compilers to use the defaults instead. Thanks to encounter for this fix.

* Link all TUs that already match on debug

In order to link TUs for debug, most functions seem to need to have their alignment set to 16 in symbols.txt. There are a few hundred functions that seem to be the exception and break when their alignment is set to 16, but I don't know the reason for this.

* Remove some fakematches (nosyminline/sym off) for weak func order in retail

* Fix clang not knowing that MSL_C++ is C++

* Link more debug TUs

* Fix missing PAL split

* Fix wrong slashes being used in includes

* RZDE01_00: Fix incorrect capitalization in config.yml

* Add RZDE01_00 to configure task

* Revert configure.py to use MatchingFor

* Fix PAL splits and symbols, link matching PAL TUs</pre>
</div>
</content>
</entry>
<entry>
<title>Various alignments to debug + matching TUs (#2391)</title>
<updated>2025-04-13T18:55:52+00:00</updated>
<author>
<name>hatal175</name>
<email>hatal175@users.noreply.github.com</email>
</author>
<published>2025-04-13T18:55:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=3df5c7bb42c1b886024b254fec28e5f98310b630'/>
<id>3df5c7bb42c1b886024b254fec28e5f98310b630</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>GCN pal / jpn support, some debug work (#2375)</title>
<updated>2025-04-06T18:08:25+00:00</updated>
<author>
<name>TakaRikka</name>
<email>38417346+TakaRikka@users.noreply.github.com</email>
</author>
<published>2025-04-06T18:08:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=54dd7640969e1f414f9b1111f874f85171ab6987'/>
<id>54dd7640969e1f414f9b1111f874f85171ab6987</id>
<content type='text'>
* d_save debug cleanup / d_s_menu debug

* gameinfo / kankyo struct debug fixes

* pal building ok

* jp building ok

* some tests with jp

* some more pal/jp tests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* d_save debug cleanup / d_s_menu debug

* gameinfo / kankyo struct debug fixes

* pal building ok

* jp building ok

* some tests with jp

* some more pal/jp tests</pre>
</div>
</content>
</entry>
<entry>
<title>Debug version now builds OK and all_source compiles (#2343)</title>
<updated>2025-03-23T01:00:51+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-03-23T01:00:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=4dc0cd9d09d5a53bf6d68f0018a8053a1507ee9a'/>
<id>4dc0cd9d09d5a53bf6d68f0018a8053a1507ee9a</id>
<content type='text'>
* Fix missing arg to JUT_ASSERT

* Fix some MWCC version diff errors

* Compile m_Do_ext, d_demo, actor_mng

* Add VSCode task to quickly switch between versions

* Unlink magLift for debug

* Update the hash of the debug dol

The old cbea5fa... hash here was for the dol generated by the alf2dol.py script, which produces incorrect alignment.

The dol with the new hash can be obtained by using `dtk elf2dol` to convert the debug .alf file to a dol.

The DOL now builds OK.

* Fix all debug REL dtor splits

All RELs now also build OK, meaning `ninja build/ShieldD/ok` now succeeds.

* Add genMessage declarations to all HIO subclasses

* Fixing more compilation errors

* m_Do_mtx 100% on debug

Cannot be linked due to weak function name mangling?

* Improve various matches

* Fix all remaining compilation errors

* Fix new compilation errors from main

* Fix retail regression

* Link f_pc_profile_lst</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix missing arg to JUT_ASSERT

* Fix some MWCC version diff errors

* Compile m_Do_ext, d_demo, actor_mng

* Add VSCode task to quickly switch between versions

* Unlink magLift for debug

* Update the hash of the debug dol

The old cbea5fa... hash here was for the dol generated by the alf2dol.py script, which produces incorrect alignment.

The dol with the new hash can be obtained by using `dtk elf2dol` to convert the debug .alf file to a dol.

The DOL now builds OK.

* Fix all debug REL dtor splits

All RELs now also build OK, meaning `ninja build/ShieldD/ok` now succeeds.

* Add genMessage declarations to all HIO subclasses

* Fixing more compilation errors

* m_Do_mtx 100% on debug

Cannot be linked due to weak function name mangling?

* Improve various matches

* Fix all remaining compilation errors

* Fix new compilation errors from main

* Fix retail regression

* Link f_pc_profile_lst</pre>
</div>
</content>
</entry>
</feed>
