<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tp/src/JSystem/J2DGraph/J2DMaterialFactory.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>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>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>J2DGraph debug (#3028)</title>
<updated>2026-01-12T03:00:04+00:00</updated>
<author>
<name>Jcw87</name>
<email>Jcw87@users.noreply.github.com</email>
</author>
<published>2026-01-12T03:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=2dd7e2ea62daaa33195b2adbca8b086ceaa6d464'/>
<id>2dd7e2ea62daaa33195b2adbca8b086ceaa6d464</id>
<content type='text'>
* J2DGraph debug

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

* J2DGraph debug</pre>
</div>
</content>
</entry>
<entry>
<title>Add guards around std library headers (#3013)</title>
<updated>2026-01-05T11:50:45+00:00</updated>
<author>
<name>kipcode66</name>
<email>kipcode66@gmail.com</email>
</author>
<published>2026-01-05T11:50:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=1d2a0d956851e10549c56be039fd42f6f0937802'/>
<id>1d2a0d956851e10549c56be039fd42f6f0937802</id>
<content type='text'>
* Last fix for standard compiler error

* adding define guards around headers

* rename cmath.h and climits.h to cmath and climits respectively

* renaming cstdarg.h to cstdarg

* renaming cstdlib.h to cstdlib

* renaming cstring.h to cstring

* renaming cstdio.h to cstdio

* renaming cmath locale ctype

* renaming stdarg string and va_list

* renaming cstddef

* renaming stdio stddef stdlib

* renaming algorithm, functional, iterator, memory, and utility

* renaming bitset, cstdint, limits, and stdint

* renaming new and type_traits

* update quote includes for standard library headers to angle bracket includes</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Last fix for standard compiler error

* adding define guards around headers

* rename cmath.h and climits.h to cmath and climits respectively

* renaming cstdarg.h to cstdarg

* renaming cstdlib.h to cstdlib

* renaming cstring.h to cstring

* renaming cstdio.h to cstdio

* renaming cmath locale ctype

* renaming stdarg string and va_list

* renaming cstddef

* renaming stdio stddef stdlib

* renaming algorithm, functional, iterator, memory, and utility

* renaming bitset, cstdint, limits, and stdint

* renaming new and type_traits

* update quote includes for standard library headers to angle bracket includes</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up code, remove fakematches, add UNUSED, enable warnings (#2992)</title>
<updated>2025-12-23T23:53:10+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-12-23T23:53:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=877889c5105e59ee3aa4e57e53d3b0c5ffcfca77'/>
<id>877889c5105e59ee3aa4e57e53d3b0c5ffcfca77</id>
<content type='text'>
* Remove NDEBUG_DEFINED fakematch, clean up getName temps

* Fix ifdef

* Fix bad JSystem pch ifdef breaking decomp.me

* Remove Acch Chk fakematches

* Private Acch fields

* Fix some clangd errors in headers

* Add UNUSED macro for matching debug parameters

* Enable clangd unused-parameter warning

* Remove extern from initializers

Probably added by dol2asm?

* Fix process profile definitions

* Remove leftover dol2asm address comments

* Remove some unnecessary double casts

* Enable some more clangd warnings

* Fix missing usages of fopAcM_ct

* Fix wrong enum usage

* Fix more fakematches</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove NDEBUG_DEFINED fakematch, clean up getName temps

* Fix ifdef

* Fix bad JSystem pch ifdef breaking decomp.me

* Remove Acch Chk fakematches

* Private Acch fields

* Fix some clangd errors in headers

* Add UNUSED macro for matching debug parameters

* Enable clangd unused-parameter warning

* Remove extern from initializers

Probably added by dol2asm?

* Fix process profile definitions

* Remove leftover dol2asm address comments

* Remove some unnecessary double casts

* Enable some more clangd warnings

* Fix missing usages of fopAcM_ct

* Fix wrong enum usage

* Fix more fakematches</pre>
</div>
</content>
</entry>
<entry>
<title>J3D debug work (#2949)</title>
<updated>2025-12-13T05:04:03+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-12-13T05:04:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=1b8ea3206dbbaa6e4ebe7b4dfadffd8d85f37480'/>
<id>1b8ea3206dbbaa6e4ebe7b4dfadffd8d85f37480</id>
<content type='text'>
* J3D debug work

* Clean up JSystem GXColor ctors, remove a couple fakematches

* Update symbols.txt

* Fix res include syntax

* Remove fakematch that isn't necessary anymore

* Fix some Shield regressions</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* J3D debug work

* Clean up JSystem GXColor ctors, remove a couple fakematches

* Update symbols.txt

* Fix res include syntax

* Remove fakematch that isn't necessary anymore

* Fix some Shield regressions</pre>
</div>
</content>
</entry>
<entry>
<title>Fix const loop invariant issues (#2921)</title>
<updated>2025-12-06T22:19:09+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-12-06T22:19:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=7ac2c38caf44f8b20088a4f0376371ce15c78844'/>
<id>7ac2c38caf44f8b20088a4f0376371ce15c78844</id>
<content type='text'>
* Fix const loop invariant issues by defining explicit operator= for structs

* Fix J2DMatBlock weak func order</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix const loop invariant issues by defining explicit operator= for structs

* Fix J2DMatBlock weak func order</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>
</feed>
