<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tp/src/d/actor/d_a_alink.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>Alink Documentation (#3159)</title>
<updated>2026-06-21T03:37:24+00:00</updated>
<author>
<name>Luzagar</name>
<email>40547781+Luzagar@users.noreply.github.com</email>
</author>
<published>2026-06-21T03:37:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=db28ce3942423be923838aa6cf72d252f55370e1'/>
<id>db28ce3942423be923838aa6cf72d252f55370e1</id>
<content type='text'>
* some player work

* more work

* better  name

* fix compilation</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* some player work

* more work

* better  name

* fix compilation</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a bunch of compiler warnings and document several more bugs (#3130)</title>
<updated>2026-03-18T05:38:05+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2026-03-18T05:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=6694c1b281a142972fce587bd20cd82ee65ab38f'/>
<id>6694c1b281a142972fce587bd20cd82ee65ab38f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Actor status consolidation &amp; process profile definition editing (#3117)</title>
<updated>2026-03-10T01:33:31+00:00</updated>
<author>
<name>Huitzi</name>
<email>73550465+marwernerh@users.noreply.github.com</email>
</author>
<published>2026-03-10T01:33:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=0b0fdd1f60193d1e3e610326cc2cf2a7b558d366'/>
<id>0b0fdd1f60193d1e3e610326cc2cf2a7b558d366</id>
<content type='text'>
* Consolidate fopAcM_STATUS into fopAc_Status_e

* Add _e suffix to fopAcStts enums

* Prepare for profile enumeration
* Correct typo in scene_process_profile_definition
* Manually handle g_profile_Obj_DamCps (inline preprocessing)
* Correct g_profile_TAG_LV5SOUP procname to enum
* Create d_priority.h

* Update process profile definitions
* Moved inline comments to the left
* Add missing fopAcStts enums
* Add d_priority.h include in f_pc_leaf.h
* Manually update d_a_obj_damCps profile

* Replace fopAcStts enums replacing and anticipatory profile size correction
* Changed profile size from literal to sizeof() in anticipation of PR #3116
* Provided putative names to staff-related status enums
* Replaced appropriate literals with fopAcStts enums

* Fix borked merge

* Rename item number enums and move to d_item_data.h

* Rename process profile name &amp; draw priority enums

* Move process profile name &amp; draw priority enums to appropriate files
* Moved fpcNm_ enums from d/d_procname.h to f_pc/f_pc_name.h
* Moved fpcDwPi_ enums from d/d_priority.h to f_pc/f_pc_draw_priority.h

* ACTUALLY (whoops) stage merge

* Correct item mistranslation

Co-authored-by: LagoLunatic &lt;LagoLunatic@users.noreply.github.com&gt;

---------

Co-authored-by: LagoLunatic &lt;LagoLunatic@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Consolidate fopAcM_STATUS into fopAc_Status_e

* Add _e suffix to fopAcStts enums

* Prepare for profile enumeration
* Correct typo in scene_process_profile_definition
* Manually handle g_profile_Obj_DamCps (inline preprocessing)
* Correct g_profile_TAG_LV5SOUP procname to enum
* Create d_priority.h

* Update process profile definitions
* Moved inline comments to the left
* Add missing fopAcStts enums
* Add d_priority.h include in f_pc_leaf.h
* Manually update d_a_obj_damCps profile

* Replace fopAcStts enums replacing and anticipatory profile size correction
* Changed profile size from literal to sizeof() in anticipation of PR #3116
* Provided putative names to staff-related status enums
* Replaced appropriate literals with fopAcStts enums

* Fix borked merge

* Rename item number enums and move to d_item_data.h

* Rename process profile name &amp; draw priority enums

* Move process profile name &amp; draw priority enums to appropriate files
* Moved fpcNm_ enums from d/d_procname.h to f_pc/f_pc_name.h
* Moved fpcDwPi_ enums from d/d_priority.h to f_pc/f_pc_draw_priority.h

* ACTUALLY (whoops) stage merge

* Correct item mistranslation

Co-authored-by: LagoLunatic &lt;LagoLunatic@users.noreply.github.com&gt;

---------

Co-authored-by: LagoLunatic &lt;LagoLunatic@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>d_s_room / d_s_name / d_a_title debug work (#3123)</title>
<updated>2026-03-07T06:30:25+00:00</updated>
<author>
<name>TakaRikka</name>
<email>38417346+TakaRikka@users.noreply.github.com</email>
</author>
<published>2026-03-07T06:30:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=30e839c28be83fb07bfbe008d3eb9eb9127e3801'/>
<id>30e839c28be83fb07bfbe008d3eb9eb9127e3801</id>
<content type='text'>
* d_s_room / d_s_name debug work

* camera_class rtti fix

* d_a_title debug / handle shield rel changes

* fix shield build

* fix regressions</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* d_s_room / d_s_name debug work

* camera_class rtti fix

* d_a_title debug / handle shield rel changes

* fix shield build

* fix regressions</pre>
</div>
</content>
</entry>
<entry>
<title>JUTDataFileHeader (#3121)</title>
<updated>2026-03-03T00:29:07+00:00</updated>
<author>
<name>qwertyquerty</name>
<email>qwertytrogi@gmail.com</email>
</author>
<published>2026-03-03T00:29:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=6c72b91f8e477ee94ccdc56b94605140e9f2abd6'/>
<id>6c72b91f8e477ee94ccdc56b94605140e9f2abd6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>d_a_alink debug improvements (#3112)</title>
<updated>2026-02-27T18:20:39+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2026-02-27T18:20:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=d017a3cd36dacdcbd6a62640a85b8715540d82e5'/>
<id>d017a3cd36dacdcbd6a62640a85b8715540d82e5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Big cast cleanup (#3076)</title>
<updated>2026-02-20T10:48:29+00:00</updated>
<author>
<name>roeming</name>
<email>brother64youyou@gmail.com</email>
</author>
<published>2026-02-20T10:48:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=0558bde1e61374f5a1b54453f07fe6cc15525bc1'/>
<id>0558bde1e61374f5a1b54453f07fe6cc15525bc1</id>
<content type='text'>
* Big cast cleanup

* fix for name conflict

* rename header

* rename cast macros

* fix rename mistake

---------

Co-authored-by: roeming &lt;roeming@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Big cast cleanup

* fix for name conflict

* rename header

* rename cast macros

* fix rename mistake

---------

Co-authored-by: roeming &lt;roeming@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
</feed>
