<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tp/src/d/d_envse.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>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>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>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>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>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>d_camera improvements (part 1) (#2623)</title>
<updated>2025-09-03T07:32:02+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2025-09-03T07:32:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=adb62e947bfe70f3f611cbd45380e389f9461f67'/>
<id>adb62e947bfe70f3f611cbd45380e389f9461f67</id>
<content type='text'>
* Rename several dCamera_c fields

* Refactor mWork to generic buffer instead of union

* d_camera match improvements

* Implement several dCamera_c functions

* Remove d_camera.h from PCH

The symbol names in d_camera indicate that this header wasn't
included in the PCH (as they're compiled directly in d_camera.cpp).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Rename several dCamera_c fields

* Refactor mWork to generic buffer instead of union

* d_camera match improvements

* Implement several dCamera_c functions

* Remove d_camera.h from PCH

The symbol names in d_camera indicate that this header wasn't
included in the PCH (as they're compiled directly in d_camera.cpp).</pre>
</div>
</content>
</entry>
<entry>
<title>Add a precompiled header for RELs (#2597)</title>
<updated>2025-08-24T06:52:08+00:00</updated>
<author>
<name>Max Roncace</name>
<email>me@caseif.net</email>
</author>
<published>2025-08-24T06:52:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=513816ce5c055be898b80dfa3b7048bcaca876a7'/>
<id>513816ce5c055be898b80dfa3b7048bcaca876a7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>d_camera work (#2369)</title>
<updated>2025-04-02T02:05:30+00:00</updated>
<author>
<name>Caroline Madsen</name>
<email>69010899+randomsalience@users.noreply.github.com</email>
</author>
<published>2025-04-02T02:05:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=e55c504f28caf0815a0bf7ba31c4014dd8d3d849'/>
<id>e55c504f28caf0815a0bf7ba31c4014dd8d3d849</id>
<content type='text'>
* bumpCheck matching

* checkGroundInfo matching

* chaseCamera matching

* lockonCamera attempted

* talktoCamera matching

* subjectCamera, magneCamera matching

* colosseumCamera close, plus various fixes

* towerCamera attempted

* hookshotCamera matching</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* bumpCheck matching

* checkGroundInfo matching

* chaseCamera matching

* lockonCamera attempted

* talktoCamera matching

* subjectCamera, magneCamera matching

* colosseumCamera close, plus various fixes

* towerCamera attempted

* hookshotCamera matching</pre>
</div>
</content>
</entry>
<entry>
<title>Fix dPnt struct (#2361)</title>
<updated>2025-03-30T22:45:59+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2025-03-30T22:45:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tp/commit/?id=559d389e3dc7d47136b5f2e98ad44c48b5641225'/>
<id>559d389e3dc7d47136b5f2e98ad44c48b5641225</id>
<content type='text'>
* Fix dPnt struct

* Fix Vec warning</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix dPnt struct

* Fix Vec warning</pre>
</div>
</content>
</entry>
</feed>
