<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tp/src/m_Do/m_Do_main.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>m_Do_main mostly matching for Wii versions (#3165)</title>
<updated>2026-06-23T02:29:49+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2026-06-23T02:29:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=8eae8919c8f53c4c5015ef9b664c6cd2f7c31f8b'/>
<id>8eae8919c8f53c4c5015ef9b664c6cd2f7c31f8b</id>
<content type='text'>
* m_Do_main mostly matching for Wii versions

* Use machine-specific PCH for all m_Do TUs</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* m_Do_main mostly matching for Wii versions

* Use machine-specific PCH for all m_Do TUs</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>Fix JASGlobalInstance instance definitions (#3108)</title>
<updated>2026-02-23T19:17:37+00:00</updated>
<author>
<name>Pieter-Jan Briers</name>
<email>pieterjan.briers@gmail.com</email>
</author>
<published>2026-02-23T19:17:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=96ffd91c9a2cd145c0a40fb05de47af695fa6ffb'/>
<id>96ffd91c9a2cd145c0a40fb05de47af695fa6ffb</id>
<content type='text'>
There are a few places where JASGlobalInstance have their sInstance storage implemented via template specialization. The problem is that these have no initializer, which means that they are not proper definitions (only declarations) in standards-compliant C++. MSVC and (evidently) MWCC accept this, but modern Clang and GCC do not and won't emit symbols.

I've added a macro that properly initializes these outside MWCC.

Also, JASGlobalInstance&lt;JAUSectionHeap&gt; was only being declared in each actor file that used it, which sounds incorrect? Not sure about this but I added it to m_Do_main too, again behind MWERKS check.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are a few places where JASGlobalInstance have their sInstance storage implemented via template specialization. The problem is that these have no initializer, which means that they are not proper definitions (only declarations) in standards-compliant C++. MSVC and (evidently) MWCC accept this, but modern Clang and GCC do not and won't emit symbols.

I've added a macro that properly initializes these outside MWCC.

Also, JASGlobalInstance&lt;JAUSectionHeap&gt; was only being declared in each actor file that used it, which sounds incorrect? Not sure about this but I added it to m_Do_main too, again behind MWERKS check.</pre>
</div>
</content>
</entry>
<entry>
<title>Use default parameter values in JORMContext calls where appropriate (#3057)</title>
<updated>2026-01-20T02:18:30+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2026-01-20T02:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=1fba6e13e56dd74ca73bcfabfe2756b520fd8d7b'/>
<id>1fba6e13e56dd74ca73bcfabfe2756b520fd8d7b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>m_Do debug (#3052)</title>
<updated>2026-01-19T01:59:57+00:00</updated>
<author>
<name>Jcw87</name>
<email>Jcw87@users.noreply.github.com</email>
</author>
<published>2026-01-19T01:59:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=87a3705039533b309a04baaaa0f99010b5d71c00'/>
<id>87a3705039533b309a04baaaa0f99010b5d71c00</id>
<content type='text'>
* m_Do debug

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

* m_Do wii data</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>m_Do debug (#3017)</title>
<updated>2026-01-05T10:19:14+00:00</updated>
<author>
<name>Jcw87</name>
<email>Jcw87@users.noreply.github.com</email>
</author>
<published>2026-01-05T10:19:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=b897ed3ec9b63001ce74411569a087cacc4f23d9'/>
<id>b897ed3ec9b63001ce74411569a087cacc4f23d9</id>
<content type='text'>
* m_Do debug

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

* d_particle fix</pre>
</div>
</content>
</entry>
<entry>
<title>m_Do_ext retail linked + debug improvements (#3009)</title>
<updated>2026-01-05T01:20:35+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2026-01-05T01:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=b72be3074adae802510f47643cac7bfc1fd6e9c7'/>
<id>b72be3074adae802510f47643cac7bfc1fd6e9c7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>MSL_C header cleanup (#2988)</title>
<updated>2025-12-23T18:20:32+00:00</updated>
<author>
<name>TakaRikka</name>
<email>38417346+TakaRikka@users.noreply.github.com</email>
</author>
<published>2025-12-23T18:20:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=c9d0c58ffe107550835987fc37504839e9d98f05'/>
<id>c9d0c58ffe107550835987fc37504839e9d98f05</id>
<content type='text'>
* msl_c header cleanup

* math header cleanup

* fix rest of shieldD configs

* cleanup cflag configs a bit

* fix shield build</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* msl_c header cleanup

* math header cleanup

* fix rest of shieldD configs

* cleanup cflag configs a bit

* fix shield build</pre>
</div>
</content>
</entry>
</feed>
