<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tp/src/JSystem/JAudio2, 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>More GCC compatibility/warning fixes (#3118)</title>
<updated>2026-03-01T04:19:17+00:00</updated>
<author>
<name>Luke Street</name>
<email>luke@street.dev</email>
</author>
<published>2026-03-01T04:19:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=6a48380461bc9baabe1706ba57ca0cedfa2d0c51'/>
<id>6a48380461bc9baabe1706ba57ca0cedfa2d0c51</id>
<content type='text'>
* Wrap &gt;4-char literals in a MULTI_CHAR macro

Modern compilers do not support CW's non-standard behavior with
&gt;4 char literals. We can, however, use a constexpr function to
compute the u64 values directly. This leaves &lt;=4 char literals
unchanged.

* Replace non-pointer usages of NULL with 0

* Define NULL to nullptr on C++11 and above

* Fix more -Wpointer-arith and -Woverflow warnings

* Replace u32/s32 with uintptr_t/intptr_t where appropriate

* JSUOutputStream: Overload all standard int types</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Wrap &gt;4-char literals in a MULTI_CHAR macro

Modern compilers do not support CW's non-standard behavior with
&gt;4 char literals. We can, however, use a constexpr function to
compute the u64 values directly. This leaves &lt;=4 char literals
unchanged.

* Replace non-pointer usages of NULL with 0

* Define NULL to nullptr on C++11 and above

* Fix more -Wpointer-arith and -Woverflow warnings

* Replace u32/s32 with uintptr_t/intptr_t where appropriate

* JSUOutputStream: Overload all standard int types</pre>
</div>
</content>
</entry>
<entry>
<title>Another round of GCC fixes (#3115)</title>
<updated>2026-02-28T21:35:07+00:00</updated>
<author>
<name>Luke Street</name>
<email>luke@street.dev</email>
</author>
<published>2026-02-28T21:35:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=b5d3b8c059c10711370437f7db7539cd90f1cb29'/>
<id>b5d3b8c059c10711370437f7db7539cd90f1cb29</id>
<content type='text'>
* Fix remaining &lt;string&gt; -&gt; &lt;cstring&gt; for GCC compilation (#3114 follow-up)

MWerks' &lt;string&gt; header transitively includes C string functions
(memcpy, strlen, strcmp, etc.), but GCC/Clang's &lt;string&gt; is the C++
std::string header. These files all use C string functions and should
include &lt;cstring&gt; instead.

* Use std::isnan instead of isnan for GCC compilation

GCC's &lt;cmath&gt; places isnan in the std namespace. Using the unqualified
isnan fails to compile with GCC/Clang.

* Fix cCcD_Src types: s32 -&gt; u32 for bitmask fields

cCcD_SrcObjCommonBase::mSPrm, cCcD_SrcObjTg::mType, and
cCcD_SrcObjAt::mType are used as bitmasks (SetType/SetSPrm take u32,
MskType/MskSPrm use u32, values like 0xFFFFFFFF are common in
aggregate inits). Change from s32 to u32 to match usage.

Also fix AT_TYPE_WOLF_ATTACK/AT_TYPE_UNK to use unsigned literals,
and remove now-unnecessary (s32) casts on hex literals in collision
source data.

* Mark dummy() functions as static to avoid multiple definition errors

These decomp artifact functions have the same name and signature across
TUs, causing linker errors when building as a single binary.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix remaining &lt;string&gt; -&gt; &lt;cstring&gt; for GCC compilation (#3114 follow-up)

MWerks' &lt;string&gt; header transitively includes C string functions
(memcpy, strlen, strcmp, etc.), but GCC/Clang's &lt;string&gt; is the C++
std::string header. These files all use C string functions and should
include &lt;cstring&gt; instead.

* Use std::isnan instead of isnan for GCC compilation

GCC's &lt;cmath&gt; places isnan in the std namespace. Using the unqualified
isnan fails to compile with GCC/Clang.

* Fix cCcD_Src types: s32 -&gt; u32 for bitmask fields

cCcD_SrcObjCommonBase::mSPrm, cCcD_SrcObjTg::mType, and
cCcD_SrcObjAt::mType are used as bitmasks (SetType/SetSPrm take u32,
MskType/MskSPrm use u32, values like 0xFFFFFFFF are common in
aggregate inits). Change from s32 to u32 to match usage.

Also fix AT_TYPE_WOLF_ATTACK/AT_TYPE_UNK to use unsigned literals,
and remove now-unnecessary (s32) casts on hex literals in collision
source data.

* Mark dummy() functions as static to avoid multiple definition errors

These decomp artifact functions have the same name and signature across
TUs, causing linker errors when building as a single binary.</pre>
</div>
</content>
</entry>
<entry>
<title>Some GCC compilation fixes (#3114)</title>
<updated>2026-02-28T20:11:00+00:00</updated>
<author>
<name>Luke Street</name>
<email>luke@street.dev</email>
</author>
<published>2026-02-28T20:11:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=c900a043b89786d5e594ec883d9acd92e0db6bc7'/>
<id>c900a043b89786d5e594ec883d9acd92e0db6bc7</id>
<content type='text'>
* Fix 6-byte multichar literals

* Add `struct` to `e_ga_class::ga_s`

* Fix remaining wrong forward declares (struct/class)

* Replace `#include &lt;string&gt;` with `#include &lt;cstring&gt;`

* Guard FLT_EPSILON define to prevent redefinition

* Add missing `#include &lt;cstring&gt;` for direct cstring function usage</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix 6-byte multichar literals

* Add `struct` to `e_ga_class::ga_s`

* Fix remaining wrong forward declares (struct/class)

* Replace `#include &lt;string&gt;` with `#include &lt;cstring&gt;`

* Guard FLT_EPSILON define to prevent redefinition

* Add missing `#include &lt;cstring&gt;` for direct cstring function usage</pre>
</div>
</content>
</entry>
<entry>
<title>Implement Z2AudioCS (#3103)</title>
<updated>2026-02-20T10:53:27+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2026-02-20T10:53:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=803bc041c7e228e2b7c88afd1121550e51db3f82'/>
<id>803bc041c7e228e2b7c88afd1121550e51db3f82</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix compiler warnings (#3094)</title>
<updated>2026-02-11T08:14:18+00:00</updated>
<author>
<name>Jcw87</name>
<email>Jcw87@users.noreply.github.com</email>
</author>
<published>2026-02-11T08:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=a07ec61d666522ef022bf490a2b95b43e081884b'/>
<id>a07ec61d666522ef022bf490a2b95b43e081884b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add missing TUs for Wii/Shield retail (+ filename cleanup) (#3072)</title>
<updated>2026-01-29T22:18:08+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2026-01-29T22:18:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=050ebb447137e7077903e208b41deccbf0ee23f6'/>
<id>050ebb447137e7077903e208b41deccbf0ee23f6</id>
<content type='text'>
* Fix GCN_mem_alloc.c filename capitalization

* Fix up TRK file names in Wii/Shield splits

* Add string_TRK

* Add cc_gdev

* Add Shield-only wstring TUs

* Implement NdevExi2A

* Add missing JSystem TUs (more are still missing from ShieldD)

* Clean up includes</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix GCN_mem_alloc.c filename capitalization

* Fix up TRK file names in Wii/Shield splits

* Add string_TRK

* Add cc_gdev

* Add Shield-only wstring TUs

* Implement NdevExi2A

* Add missing JSystem TUs (more are still missing from ShieldD)

* Clean up includes</pre>
</div>
</content>
</entry>
<entry>
<title>general cleanup, d_menu_quit / d_a_obj_testcube mostly done, d_msg_scrn_explain debug (#3065)</title>
<updated>2026-01-25T07:36:23+00:00</updated>
<author>
<name>TakaRikka</name>
<email>38417346+TakaRikka@users.noreply.github.com</email>
</author>
<published>2026-01-25T07:36:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=5867eaf68b97bfe359849aafe93af5f73313c782'/>
<id>5867eaf68b97bfe359849aafe93af5f73313c782</id>
<content type='text'>
* typedef for cPhs_Step

* make sdk includes consistent

* d_menu_quit / d_msg_scrn_explain debug

* d_a_obj_testcube mostly done

* d_debug_pad mostly done

* jstudio tool library headers

* some JStudioCameraEditor headers

* d_jcam_editor mostly done

* try fixing some shield regressions

* d_bg_parts mostly done

* fix merge errors

* debug fix</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* typedef for cPhs_Step

* make sdk includes consistent

* d_menu_quit / d_msg_scrn_explain debug

* d_a_obj_testcube mostly done

* d_debug_pad mostly done

* jstudio tool library headers

* some JStudioCameraEditor headers

* d_jcam_editor mostly done

* try fixing some shield regressions

* d_bg_parts mostly done

* fix merge errors

* debug fix</pre>
</div>
</content>
</entry>
<entry>
<title>standard compiler compatibility changes (#3040)</title>
<updated>2026-01-12T22:48:25+00:00</updated>
<author>
<name>kipcode66</name>
<email>kipcode66@gmail.com</email>
</author>
<published>2026-01-12T22:48:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=dd03bf861fdc92109c57d58cc7436066a8a02430'/>
<id>dd03bf861fdc92109c57d58cc7436066a8a02430</id>
<content type='text'>
* move math to cmath

* replace stdarg to cstdarg

* change stdint to stdint.h

* minor fixes

* change stdio to cstdio

* change stdlib to stdlib

* renamed ctype to cctype

* fix missing argument for UNSET_FLAG</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* move math to cmath

* replace stdarg to cstdarg

* change stdint to stdint.h

* minor fixes

* change stdio to cstdio

* change stdlib to stdlib

* renamed ctype to cctype

* fix missing argument for UNSET_FLAG</pre>
</div>
</content>
</entry>
<entry>
<title>Fix errors when building with -ipa program (#3035)</title>
<updated>2026-01-12T03:25:26+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2026-01-12T03:25:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=6a59c5231fb6807c05532267927c023f6475bed9'/>
<id>6a59c5231fb6807c05532267927c023f6475bed9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
