<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tww/config, branch main</title>
<subtitle>Decompilation of The Legend of Zelda: The Wind Waker (GCN)</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/'/>
<entry>
<title>Extract Embedded Model Data</title>
<updated>2026-07-13T21:09:49+00:00</updated>
<author>
<name>SuperDude88</name>
<email>82904174+SuperDude88@users.noreply.github.com</email>
</author>
<published>2026-07-13T20:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=fbf39c24c9c1d539378816afdabdf50172522b7c'/>
<id>fbf39c24c9c1d539378816afdabdf50172522b7c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>d_flower Code Matching (#1105)</title>
<updated>2026-07-05T21:10:45+00:00</updated>
<author>
<name>SuperDude88</name>
<email>82904174+SuperDude88@users.noreply.github.com</email>
</author>
<published>2026-07-05T21:10:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=adbf30e4023104c2456c8efa3325158ae7666315'/>
<id>adbf30e4023104c2456c8efa3325158ae7666315</id>
<content type='text'>
Will handle the large data arrays separately</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Will handle the large data arrays separately</pre>
</div>
</content>
</entry>
<entry>
<title>copy over a bunch of sdk stuff (#1066)</title>
<updated>2026-06-26T15:03:34+00:00</updated>
<author>
<name>TakaRikka</name>
<email>38417346+TakaRikka@users.noreply.github.com</email>
</author>
<published>2026-06-26T15:03:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=d489dc996b1cd4c59c6f25532c439e2323b83b6f'/>
<id>d489dc996b1cd4c59c6f25532c439e2323b83b6f</id>
<content type='text'>
* most of dolsdk copied over

* add some gf stuff

* trk wip

* ode/amc stuff

* build fix</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* most of dolsdk copied over

* add some gf stuff

* trk wip

* ode/amc stuff

* build fix</pre>
</div>
</content>
</entry>
<entry>
<title>Fix demo build failing</title>
<updated>2026-05-18T04:59:19+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2026-05-18T04:59:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=f85b3ff3c074a4137992edeead966ac3cfa82de5'/>
<id>f85b3ff3c074a4137992edeead966ac3cfa82de5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compile and link errors when building in debug mode</title>
<updated>2026-05-18T04:54:24+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2026-05-18T04:54:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=bc09a831c52b505ecdd5e617fb31ece9fa7d6c6c'/>
<id>bc09a831c52b505ecdd5e617fb31ece9fa7d6c6c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>JAIZelInst OK (#1005)</title>
<updated>2026-05-17T21:10:52+00:00</updated>
<author>
<name>LagoLunatic</name>
<email>LagoLunatic@users.noreply.github.com</email>
</author>
<published>2026-05-17T21:10:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=86a17bbfb726a5f39e23af257ac011af3e1f028c'/>
<id>86a17bbfb726a5f39e23af257ac011af3e1f028c</id>
<content type='text'>
* JAIZelInst OK

* Clean up some default args</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* JAIZelInst OK

* Clean up some default args</pre>
</div>
</content>
</entry>
<entry>
<title>d_menu_cloth matching (#937)</title>
<updated>2026-03-12T03:54:58+00:00</updated>
<author>
<name>Briggs Baltzell</name>
<email>briggsbaltzellb3@gmail.com</email>
</author>
<published>2026-03-12T03:54:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=ea7c107eb784bc05c446956ec72b5aaee7b2e21c'/>
<id>ea7c107eb784bc05c446956ec72b5aaee7b2e21c</id>
<content type='text'>
* Add `l_matDL` symbols and assets to config files for all regions for d_menu_cloth

* Extend `daCLOTH_HIO_c` with `JORReflexible` and add static instance `l_HIO` in `d_menu_cloth`

* Refactor `d_menu_cloth.h` to improve naming consistency for member variables.

* Initialize `dMCloth_c` member variables and create HIO child in constructor

* Include `l_matDL` in `d_menu_cloth` and call it in `dMCloth_c::draw`.

* Add private member variables to `daCLOTH_HIO_c` in `d_menu_cloth.h`

* Add virtual destructor to `daCLOTH_HIO_c` in `d_menu_cloth.h`

* Swap `daCLOTH_HIO_c` and `daCLOTH_ChildHIO_c` class definitions and adjust member variables in `d_menu_cloth.h`.

* Remove non-matching comments from `daCLOTH_ChildHIO_c` constructor and destructor in `d_menu_cloth.cpp`.

* Initialize `daCLOTH_HIO_c` member variables and update `daCLOTH_ChildHIO_c` access modifiers in `d_menu_cloth`.

* Remove unused member variables from `daCLOTH_HIO_c` and `daCLOTH_ChildHIO_c` in `d_menu_cloth.h`.

* Match dMCloth_c::dMCloth_c

* Match `dMCloth_c::init`.

* Match `dMCloth_c` destructor.

* Refactor `dMCloth_c` to use `mCurArr` for indexing and update structure definitions in `d_menu_cloth`.

* Define `ARR_SIZE` constant and replace hardcoded array sizes in `d_menu_cloth`.

* Match dMCloth_c::TevSetting

* Match dMCloth_c::TevSettingMenu

* Match `dMCloth_c::TevSettingMenu` and `dMCloth_c::TevSettingFileSelect`.

* Match `dMCloth_c::lightSet1`

* Start matching `dMCloth_c::cloth_init` and update structure definitions to use `INNER_SIZE` constant, optimize initialization logic, and replace redundant assignments with consolidated methods.

* Match `dMCloth_c::setNrmVtx` implementation and update header declaration.

* Match `daCLOTH_HIO_c` destructor implementation.

* Match `dMenu_ClothCreate`, `dMenu_ClothDelete`, `dMenu_ClothExecute`, `dMenu_ClothDraw`, and `dMenu_ClothIsDelete` implementations and update related structure definitions.

* Update `g_fopAc_Method` reference to `g_fopMsg_Method` in cloth menu structure.

* Match `dMCloth_c::cloth_move` implementation and update type definitions for `field_0xa` and `field_0x34` to `s16`.

* Start matching `dMCloth_c::cloth_move_sin` and `dMCloth_c::cloth_move_simple` implementations.

* Match `dMCloth_c::ShadowTevSetting` implementation.

* Match `dMCloth_c::ShadowTevSettingMenu` and `dMCloth_c::ShadowTevSettingFileSelect` implementations.

* Match `dMCloth_c::alpha_out` implementation.

* Match `dMCloth_c::plot` implementation and minor formatting fix in `dMCloth_c::ShadowTevSettingMenu`.

* Refactor `d_menu_cloth` to replace s16 color fields with `GXColorS10` and `GXColor` structures. Update all related logic and structure definitions accordingly.

* Match `dMCloth_c::draw` implementation, refactor initialization of `field_0x10`, and update associated structure definitions.

* Match `dMCloth_c::plot_shadow` implementation and update parameter names in `plot` and `plot_shadow` declarations.

* Update `d_menu_cloth` to use `msg_method_class` and `msg_process_profile_definition`. Refactor structure definitions and add TODO comment for size clarification.

* Add member comments in `dMenu_ClothMethodTable`

* Refactor `d_menu_cloth` to improve pointer arithmetic in `plot` loop and add missing implementations for `getOffsetVec` and `getShadowPos`.

* Refactor `dMCloth_c::plot` to improve naming consistency for loop variables and pointer arithmetic.

* Refactor `d_menu_cloth` to replace repeated member accesses with `HIO_CHILD` macro for improved readability and maintainability.

* Rename fields in `d_menu_cloth`

* Add clarifying comments in `dMenu_ClothMethodTable` about function order and usage

* Use `TRUE` and `FALSE` macros instead of literal values in `d_menu_cloth` methods for consistency.

* Replace numeric cloth type values with `MenuClothType` enum for improved readability and maintainability in `d_menu_cloth`.

* Refactor `dMCloth_c::cloth_init`: replace raw pointer arithmetic with `set` calls for improved clarity and maintainability.

* Refactor `MENU_CLOTH_TYPE_2` logic: replace hardcoded rotation calculation with `cM_deg2s` for clarity and maintainability.

* Change `wavePreSteps` type from `u16` to `s16` in `d_menu_cloth` for alignment with signed calculations.

* Replace hardcoded angle conversion with `cM_deg2s` in `MENU_CLOTH_TYPE_0` logic for improved clarity and maintainability.

* Change `mWaveProgress` type from `u16` to `s16` in `d_menu_cloth` for consistency with signed calculations.

* Match `cloth_init` in `d_menu_cloth`

* Fix `INNER_SIZE` iteration in `d_menu_cloth` to properly handle loop bounds.

* Update vertex attribute formats in `d_menu_cloth` for improved correctness.

* Add inline utility function `GXColor4x8` to `GX.h` for streamlined color input handling

* Refactor triangle strip generation in `d_menu_cloth` for improved readability and maintainability.

* Refactor vertex and texture coordinate handling in `dMCloth_c::plot_shadow` for improved clarity and correctness.

* Refactor vertex handling in `d_menu_cloth` to group vertex and texture operations for improved readability and structure.

* Add `GXNormal1x16` and `GXColor3x8` inline utility functions to `GX.h` for simplified normal and color input handling.

* Update vertex format in `d_menu_cloth` to use `GXPosition1x16` and `GXNormal1x16` for improved attribute handling.

* Add `dMs_clothOnly_create` and `dMs_clothOnly_delete` implementations in `d_menu_window`

* Implement `dMs_cloth_create` and `dMs_cloth_delete` functions in `d_menu_window` and update related structure definitions.

* Replace hardcoded cloth type with `MENU_CLOTH_TYPE_2` constant in `d_menu_window`.

* Refactor `MENU_CLOTH_TYPE` enum names for clarity and update all references across `d_menu_cloth`, `d_s_name`, and `d_menu_window`.

* Refactor `mChildren` array indexing in `daCLOTH_HIO_c` constructor to use `MENU_CLOTH_TYPE` constants for improved readability and maintainability.

* Refactor `color1` and `color2` fields to `clothColor` and `shadowColor` for improved clarity in `d_menu_cloth` structure and related logic.

* Simplify alpha blending logic by removing redundant variables in `d_menu_cloth`.

* Refactor `mColor1`/`mColor2` to `mClothColor`/`mShadowColor` for improved clarity in `d_menu_cloth` and update all related logic.

* Add temporary `dummy0` function in `d_menu_window` for placeholder debug strings.

* Refactor position array access in `d_menu_cloth` to use `getPos()` result for better clarity and maintainability.

* Change `waveFreqX` and `waveFreqY` types from `u16` to `s16` in `d_menu_cloth` structure for consistency.

* Add demo version-specific mipmap handling logic in `d_menu_cloth` initialization.

* Remove demo version-specific mipmap handling logic in `d_menu_cloth` initialization.

* Match `cloth_move_sin` and `cloth_move_simple`.

* Refactor loop variable initialization in `d_menu_cloth` for improved clarity.

* Refactor variable names in alpha calculation for improved clarity in `d_menu_cloth`.

* Inline vertex index calculations in `d_menu_cloth` to simplify code and reduce redundant variables.

* Match `plot` and `plot_shadow`.

* Refactor `lightDistance` variable in `d_menu_cloth` for improved clarity.

* Inline empty destructor for `daCLOTH_HIO_c` in `d_menu_cloth` to simplify code.

* Match `plot` and `plot_shadow` in demo build.

* Update vertex attribute formats and streamline vertex function calls in `d_cloth_packet`.

* Match `cloth_init` for JP version

* Match `init` for JP version

* Match `draw` for JP version

* Add TODO note to identify superclass for correct size in `menu_cloth_class`.

* Match `d_menu_cloth` for specific regions: GZLJ01, GZLE01, GZLP01.

* Adjust `plot_shadow` parameters in `d_menu_cloth` for consistent shadow scaling.

* Add dummy functions to ensure correct float order in `d_menu_cloth`.

* Use version-specific scale values for `MENU_CLOTH_TYPE_DEFAULT` in `d_menu_cloth`.

* Normalize hex color and value formatting in `d_menu_cloth`.

* Add `STATIC_ASSERT` checks for struct size validation in `d_menu_cloth`.

* Rename ambiguous `field` members to `padding` in `d_menu_cloth` and update struct size.

* Replace `menu_cloth_class` size calculation with `sizeof(dMCloth_c)` in `d_menu_cloth`.

* Revert "Replace `menu_cloth_class` size calculation with `sizeof(dMCloth_c)` in `d_menu_cloth`."

This reverts commit 3920b07e1ab3a757b87d490bc0861d346ac8c742.

* Revert "Rename ambiguous `field` members to `padding` in `d_menu_cloth` and update struct size."

This reverts commit 153ee490bfab1a5a18d6237a9aaf3318a1ebf4c3.

* Rename placeholder fields to `padding_*` in `d_menu_cloth` for clarity.

* Update `menu_cloth_class` size handling with `STATIC_ASSERT` and padding.

* Clarify comment for `dMenu_ClothMethodTable` initialization.

* Replace hardcoded offsets with calculated `INNER_SIZE`-based sizes in `d_menu_cloth`.

* Remove stray comments in `setClothType` definition and invocation.

* Annotate `mStatus` with offset comment in `dDlst_MENU_CAPTURE_c`.

* Replace `g_dComIfG_gameInfo.play` calls with `dComIfGp_` equivalents in `d_menu_window`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add `l_matDL` symbols and assets to config files for all regions for d_menu_cloth

* Extend `daCLOTH_HIO_c` with `JORReflexible` and add static instance `l_HIO` in `d_menu_cloth`

* Refactor `d_menu_cloth.h` to improve naming consistency for member variables.

* Initialize `dMCloth_c` member variables and create HIO child in constructor

* Include `l_matDL` in `d_menu_cloth` and call it in `dMCloth_c::draw`.

* Add private member variables to `daCLOTH_HIO_c` in `d_menu_cloth.h`

* Add virtual destructor to `daCLOTH_HIO_c` in `d_menu_cloth.h`

* Swap `daCLOTH_HIO_c` and `daCLOTH_ChildHIO_c` class definitions and adjust member variables in `d_menu_cloth.h`.

* Remove non-matching comments from `daCLOTH_ChildHIO_c` constructor and destructor in `d_menu_cloth.cpp`.

* Initialize `daCLOTH_HIO_c` member variables and update `daCLOTH_ChildHIO_c` access modifiers in `d_menu_cloth`.

* Remove unused member variables from `daCLOTH_HIO_c` and `daCLOTH_ChildHIO_c` in `d_menu_cloth.h`.

* Match dMCloth_c::dMCloth_c

* Match `dMCloth_c::init`.

* Match `dMCloth_c` destructor.

* Refactor `dMCloth_c` to use `mCurArr` for indexing and update structure definitions in `d_menu_cloth`.

* Define `ARR_SIZE` constant and replace hardcoded array sizes in `d_menu_cloth`.

* Match dMCloth_c::TevSetting

* Match dMCloth_c::TevSettingMenu

* Match `dMCloth_c::TevSettingMenu` and `dMCloth_c::TevSettingFileSelect`.

* Match `dMCloth_c::lightSet1`

* Start matching `dMCloth_c::cloth_init` and update structure definitions to use `INNER_SIZE` constant, optimize initialization logic, and replace redundant assignments with consolidated methods.

* Match `dMCloth_c::setNrmVtx` implementation and update header declaration.

* Match `daCLOTH_HIO_c` destructor implementation.

* Match `dMenu_ClothCreate`, `dMenu_ClothDelete`, `dMenu_ClothExecute`, `dMenu_ClothDraw`, and `dMenu_ClothIsDelete` implementations and update related structure definitions.

* Update `g_fopAc_Method` reference to `g_fopMsg_Method` in cloth menu structure.

* Match `dMCloth_c::cloth_move` implementation and update type definitions for `field_0xa` and `field_0x34` to `s16`.

* Start matching `dMCloth_c::cloth_move_sin` and `dMCloth_c::cloth_move_simple` implementations.

* Match `dMCloth_c::ShadowTevSetting` implementation.

* Match `dMCloth_c::ShadowTevSettingMenu` and `dMCloth_c::ShadowTevSettingFileSelect` implementations.

* Match `dMCloth_c::alpha_out` implementation.

* Match `dMCloth_c::plot` implementation and minor formatting fix in `dMCloth_c::ShadowTevSettingMenu`.

* Refactor `d_menu_cloth` to replace s16 color fields with `GXColorS10` and `GXColor` structures. Update all related logic and structure definitions accordingly.

* Match `dMCloth_c::draw` implementation, refactor initialization of `field_0x10`, and update associated structure definitions.

* Match `dMCloth_c::plot_shadow` implementation and update parameter names in `plot` and `plot_shadow` declarations.

* Update `d_menu_cloth` to use `msg_method_class` and `msg_process_profile_definition`. Refactor structure definitions and add TODO comment for size clarification.

* Add member comments in `dMenu_ClothMethodTable`

* Refactor `d_menu_cloth` to improve pointer arithmetic in `plot` loop and add missing implementations for `getOffsetVec` and `getShadowPos`.

* Refactor `dMCloth_c::plot` to improve naming consistency for loop variables and pointer arithmetic.

* Refactor `d_menu_cloth` to replace repeated member accesses with `HIO_CHILD` macro for improved readability and maintainability.

* Rename fields in `d_menu_cloth`

* Add clarifying comments in `dMenu_ClothMethodTable` about function order and usage

* Use `TRUE` and `FALSE` macros instead of literal values in `d_menu_cloth` methods for consistency.

* Replace numeric cloth type values with `MenuClothType` enum for improved readability and maintainability in `d_menu_cloth`.

* Refactor `dMCloth_c::cloth_init`: replace raw pointer arithmetic with `set` calls for improved clarity and maintainability.

* Refactor `MENU_CLOTH_TYPE_2` logic: replace hardcoded rotation calculation with `cM_deg2s` for clarity and maintainability.

* Change `wavePreSteps` type from `u16` to `s16` in `d_menu_cloth` for alignment with signed calculations.

* Replace hardcoded angle conversion with `cM_deg2s` in `MENU_CLOTH_TYPE_0` logic for improved clarity and maintainability.

* Change `mWaveProgress` type from `u16` to `s16` in `d_menu_cloth` for consistency with signed calculations.

* Match `cloth_init` in `d_menu_cloth`

* Fix `INNER_SIZE` iteration in `d_menu_cloth` to properly handle loop bounds.

* Update vertex attribute formats in `d_menu_cloth` for improved correctness.

* Add inline utility function `GXColor4x8` to `GX.h` for streamlined color input handling

* Refactor triangle strip generation in `d_menu_cloth` for improved readability and maintainability.

* Refactor vertex and texture coordinate handling in `dMCloth_c::plot_shadow` for improved clarity and correctness.

* Refactor vertex handling in `d_menu_cloth` to group vertex and texture operations for improved readability and structure.

* Add `GXNormal1x16` and `GXColor3x8` inline utility functions to `GX.h` for simplified normal and color input handling.

* Update vertex format in `d_menu_cloth` to use `GXPosition1x16` and `GXNormal1x16` for improved attribute handling.

* Add `dMs_clothOnly_create` and `dMs_clothOnly_delete` implementations in `d_menu_window`

* Implement `dMs_cloth_create` and `dMs_cloth_delete` functions in `d_menu_window` and update related structure definitions.

* Replace hardcoded cloth type with `MENU_CLOTH_TYPE_2` constant in `d_menu_window`.

* Refactor `MENU_CLOTH_TYPE` enum names for clarity and update all references across `d_menu_cloth`, `d_s_name`, and `d_menu_window`.

* Refactor `mChildren` array indexing in `daCLOTH_HIO_c` constructor to use `MENU_CLOTH_TYPE` constants for improved readability and maintainability.

* Refactor `color1` and `color2` fields to `clothColor` and `shadowColor` for improved clarity in `d_menu_cloth` structure and related logic.

* Simplify alpha blending logic by removing redundant variables in `d_menu_cloth`.

* Refactor `mColor1`/`mColor2` to `mClothColor`/`mShadowColor` for improved clarity in `d_menu_cloth` and update all related logic.

* Add temporary `dummy0` function in `d_menu_window` for placeholder debug strings.

* Refactor position array access in `d_menu_cloth` to use `getPos()` result for better clarity and maintainability.

* Change `waveFreqX` and `waveFreqY` types from `u16` to `s16` in `d_menu_cloth` structure for consistency.

* Add demo version-specific mipmap handling logic in `d_menu_cloth` initialization.

* Remove demo version-specific mipmap handling logic in `d_menu_cloth` initialization.

* Match `cloth_move_sin` and `cloth_move_simple`.

* Refactor loop variable initialization in `d_menu_cloth` for improved clarity.

* Refactor variable names in alpha calculation for improved clarity in `d_menu_cloth`.

* Inline vertex index calculations in `d_menu_cloth` to simplify code and reduce redundant variables.

* Match `plot` and `plot_shadow`.

* Refactor `lightDistance` variable in `d_menu_cloth` for improved clarity.

* Inline empty destructor for `daCLOTH_HIO_c` in `d_menu_cloth` to simplify code.

* Match `plot` and `plot_shadow` in demo build.

* Update vertex attribute formats and streamline vertex function calls in `d_cloth_packet`.

* Match `cloth_init` for JP version

* Match `init` for JP version

* Match `draw` for JP version

* Add TODO note to identify superclass for correct size in `menu_cloth_class`.

* Match `d_menu_cloth` for specific regions: GZLJ01, GZLE01, GZLP01.

* Adjust `plot_shadow` parameters in `d_menu_cloth` for consistent shadow scaling.

* Add dummy functions to ensure correct float order in `d_menu_cloth`.

* Use version-specific scale values for `MENU_CLOTH_TYPE_DEFAULT` in `d_menu_cloth`.

* Normalize hex color and value formatting in `d_menu_cloth`.

* Add `STATIC_ASSERT` checks for struct size validation in `d_menu_cloth`.

* Rename ambiguous `field` members to `padding` in `d_menu_cloth` and update struct size.

* Replace `menu_cloth_class` size calculation with `sizeof(dMCloth_c)` in `d_menu_cloth`.

* Revert "Replace `menu_cloth_class` size calculation with `sizeof(dMCloth_c)` in `d_menu_cloth`."

This reverts commit 3920b07e1ab3a757b87d490bc0861d346ac8c742.

* Revert "Rename ambiguous `field` members to `padding` in `d_menu_cloth` and update struct size."

This reverts commit 153ee490bfab1a5a18d6237a9aaf3318a1ebf4c3.

* Rename placeholder fields to `padding_*` in `d_menu_cloth` for clarity.

* Update `menu_cloth_class` size handling with `STATIC_ASSERT` and padding.

* Clarify comment for `dMenu_ClothMethodTable` initialization.

* Replace hardcoded offsets with calculated `INNER_SIZE`-based sizes in `d_menu_cloth`.

* Remove stray comments in `setClothType` definition and invocation.

* Annotate `mStatus` with offset comment in `dDlst_MENU_CAPTURE_c`.

* Replace `g_dComIfG_gameInfo.play` calls with `dComIfGp_` equivalents in `d_menu_window`.</pre>
</div>
</content>
</entry>
<entry>
<title>d_a_boomerang matching (#936)</title>
<updated>2026-03-04T04:44:51+00:00</updated>
<author>
<name>Briggs Baltzell</name>
<email>briggsbaltzellb3@gmail.com</email>
</author>
<published>2026-03-04T04:44:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=d54d983a4a7433f97f92b9e162cea5972dac6165'/>
<id>d54d983a4a7433f97f92b9e162cea5972dac6165</id>
<content type='text'>
* Added constructor implementation for `daBoomerang_c`.

* Extend `daBoomerang_sightPacket_c` with `dDlst_base_c` base class.

* Refactor `d_a_boomerang.h`: reorganize class definitions and update member layout in `daBoomerang_c`.

* Extend `daBoomerang_c`: add new arrays, members, and static assertions for structure validation.

* Extend `daBoomerang_c`: add `dBgS_BoomerangLinChk` member and update padding fields.

* Extend `daBoomerang_c`: implement `create` method, add new members, and update function signatures.

* Refactor `daBoomerang_c`: update `createHeap` function to return `BOOL` and adjust related calls.

* Extend `daBoomerang_c`: implement `execute` method logic, update member variables, and adjust structure layout in `d_a_boomerang.h`.

* Extend `daBoomerang_c`: add static blur vector definitions for `l_blur_top` and `l_blur_root`.

* Add fields to `daBoomerang_blur_c`.

* Refactor `daBoomerang_blur_c`: implement `initBlur` logic, add `pos` field, update structure layout in `d_a_boomerang.h`.

* Refactor `daBoomerang_blur_c`: update `initBlur` and `copyBlur` logic, modify array structure to use 2D layout, and adjust declarations in `d_a_boomerang.h`.

* Match `copyBlur`

* Update `config.yml`: add symbol `l_matDL` for `daBoomerang_blur_c`.

* Extend `daBoomerang_blur_c`: implement `draw` method, add vertex description, attribute format lists, and texture handling logic.

* Add fields to `daBoomerang_sightPacket_c`

* Update `play` method in `daBoomerang_sightPacket_c`: implement looping logic for modifying `field_0xF4` values.

* Refactor `setSight` and `play` in `daBoomerang_sightPacket_c`: implement animation logic, replace `field_0xF4` with `arr_0xF4`, add `arr_0xF9`, and update structure in `d_a_boomerang.h`.

* Refactor `daBoomerang_sightPacket_c`: add `setTex` and `setImage` methods; update image data logic in `d_a_boomerang.cpp` and `d_a_boomerang.h`.

* Update `initFrame` and `resetSightOn` in `daBoomerang_sightPacket_c`: initialize `arr_0xF4` and reset `targetFlags`.

* Replace hardcoded array size with `BOOM_TARGET_MAX` in `d_a_boomerang.cpp` and `d_a_boomerang.h`

* Refactor `daBoomerang_sightPacket_c`: rename variables for clarity, update structure fields, and adjust logic in `setSight`, `play`, and related methods.

* Implement `draw` method in `daBoomerang_sightPacket_c`: add vertex descriptor/attribute format lists, texture handling, and sight rendering logic.

* Adjust vertex attribute formats in `d_a_boomerang.cpp`: update position to `GX_S8` and texture to `GX_U8`.

* Reorder includes in `d_a_boomerang.cpp` to resolve dependencies for `l_sightMatDL` and `l_sightDL__d_a_boomerang`

* Update `getFlyMax` in `daBoomerang_c`: add player status and stage name checks to determine maximum flight distance.

* Refactor `procMove` and `execute` in `daBoomerang_c`: improve boomerang targeting logic, rename variables for clarity, update array structures, and adjust control flow.

* Implement enhanced boomerang movement logic in `daBoomerang_c`: calculate angles, update position/rotation, handle water effects, and refine collision detection. Adjust structure fields in `d_a_boomerang.h`.

* Refactor `daBoomerang_c` control flow: reorder player retrieval logic, adjust distance-based normalization, and refine boomerang return handling.

* Change return type of `returnBoomerang` from `int` to `BOOL` in `d_a_player_main.h` and `d_a_player_boomerang.inc`.

* Change `setItemWaterEffect` return type from `u32` to `BOOL` and refactor its parameters and logic for clarity and behavior adjustment.

* Adjust `setItemWaterEffect` call in `d_a_boomerang.cpp` to use explicit `BOOL` comparison for clarity.

* Refactor `daBoomerang_c` control flow and targeting logic: introduce `mTargetRayEnd`, enhance position/angle calculations, integrate player sight checks, and update camera handling. Adjust includes and structure definitions for consistency.

* Match `rockLineCallback`

* Rename `param_1` to `pHitActor` in `rockLineCallback` for clarity.

* Match `setAimActor` in `d_a_boomerang.cpp`.

* Refactor `daBoomerang_c`: update `setLockActor` to use `BOOL` type, modify related logic for clarity, and ensure consistent parameter usage across `d_a_boomerang.cpp`.

* Match `resetLockActor` in `d_a_boomerang.cpp`: initialize target arrays and reset counters for consistency.

* Refactor `daBoomerang_c`: Fix struct offsets, update instance size

* Match `setRoomInfo` in `d_a_boomerang.cpp`: update position handling, ground checks, room ID assignment, and environment override logic.

* Match `create` in `d_a_boomerang.cpp`: update matrix handling, target ID initialization, callback setup, and clean up unused code.

* Match `setKeepMatrix` in `d_a_boomerang.cpp`: update transformation logic to align boomerang with Link's hand.

* Refactor `d_a_player_main` boomerang logic: rename `m36F4` to `mBoomerangCatchPos`, implement `getBoomerangCatchPos` accessor

* Match `setAimPos` in `d_a_boomerang.cpp`: implement target position logic based on current target index and player catch position.

* Match `checkBgHit` in `d_a_boomerang.cpp`: implement background collision logic, position updates, sound effects, and behavior adjustments.

* Continue matching `procWait` in `d_a_boomerang.cpp`

* Refactor `d_a_boomerang.cpp`: rename `field_0xF3A` to `mModelRotY` for clarity, update all associated references, and adjust struct definition in the header file.

* Continue matching `procWait` in `d_a_boomerang.cpp`

* Match `procWait` in `d_a_boomerang.cpp`

* Continue matching `procMove` in `d_a_boomerang.cpp`

* Refactor `d_a_boomerang.cpp`: convert `u8` fields to `bool` for clarity and better type usage, update header and references accordingly.

* Match `draw` in `d_a_boomerang.cpp`: implement drawing logic with model updates, light settings, shadow handling, and target sight management. Update struct definition to include `mGroundY`.

* Refactor `procMove` in `d_a_boomerang.cpp`: simplify angle calculations, update `mInWater` to `u8`, and improve readability by reducing nested logic.

* Fix `at_offset` initialization in `procMove` in `d_a_boomerang.cpp`

* Match `procMove` in `d_a_boomerang.cpp`

* Refine `draw` in `d_a_boomerang.cpp`: inline comments for quads setup, add light yellow trail color definition.

* Refactor `d_a_boomerang.cpp` and header: rename `field_0x14` to `numTrailSegments` for improved clarity and update all related references.

* Refactor `draw` in `d_a_boomerang.cpp`: reorganize quads initialization and alpha blending loops for improved structure and readability.

* Refactor `draw` in `d_a_boomerang.cpp`: combine alpha variable declarations for improved local scope and clarity.

* Refactor `draw` in `d_a_boomerang.cpp`: introduce `QUAD_VERT` macro to streamline quad vertex setup and improve code readability.

* Refactor `draw` in `d_a_boomerang.cpp`: rename `alpha` variables to `uCoord` for improved clarity and consistency with their purpose.

* Refactor `d_a_boomerang.cpp` and header: introduce `SEGMENTS_PER_STEP` constant for improved clarity and consistency, update related loops and data structures.

* Refactor `d_a_boomerang.cpp` and header: rename trail arrays for improved clarity and consistency, update all related references.

* Refactor `d_a_boomerang.cpp` and header: simplify trail vertex array indexing by flattening multidimensional arrays and updating all related code.

* Refactor `d_a_boomerang.cpp`: mark `se_flg` array as `const` for improved immutability and clarity.

* Refactor `d_a_boomerang.cpp`: relocate `l_at_cps_src` definition for improved organization and consistency.

* Refactor `d_a_boomerang.cpp` and header: rename and clarify multiple variables (e.g., `field_0xF2C` to `mIsReturning`) for improved readability and consistency, update all related references and logic.

* Refactor `d_a_boomerang.h`: add destructors to `daBoomerang_blur_c` and `daBoomerang_sightPacket_c` for proper ordering.

* Refactor `daBoomerang_blur_c::draw` in `d_a_boomerang.cpp`: reorder variable initialization, streamline loops, and adjust `QUAD_VERT` macro usage for improved clarity and consistency.

* Add inline geometry utility functions to `GFGeometry.h`

* Refactor `d_a_boomerang.cpp`: simplify geometry rendering by updating `QUAD_VERT` macro implementation and replacing manual vertex management with `GFBegin`/`GFEnd`.

* Refactor `d_a_boomerang.cpp`: simplify trail rendering by streamlining `uCoord` handling, reducing redundant variables, and improving clarity in loops.

* Refactor `d_a_boomerang.cpp`: rename `QUAD_VERT` to `QUAD_VTX` for clarity and update all related references.

* Add `l_matDL$4438` entry to config files for `daBoomerang_blur_c` rendering assets.

* Add version check around `j3dSys.reinitGX()` in `d_a_boomerang.cpp` to limit execution to non-demo builds.

* Refactor `d_a_boomerang.cpp`: replace direct `current.roomNo` usage with `roomNo` variable for improved clarity and consistency.

* Add version-specific asserts in `d_a_boomerang.cpp` for demo and non-demo builds

* Add version-specific asserts and adjust version check logic in `d_a_boomerang.cpp` for Japanese build

* Align `GXVtxDescList` and `GXVtxAttrFmtList` declarations with `ALIGN_DECL(32)` in `d_a_boomerang.cpp` for consistent memory alignment.

* Update `d_a_boomerang` to use `MatchingFor` in configuration

* Remove outdated `FIXME` comment in `d_a_boomerang.cpp`.

* Refactor `d_a_boomerang.cpp`: replace hardcoded rotation constants with `yRotPerStep` variable for clarity and maintainability.

* Update `d_a_boomerang.cpp` configuration to use `Matching` instead of `MatchingFor`.

* Refactor `d_a_boomerang.cpp`: rename `field_0xF2E` to `mJustHit` and `field_0xF2D` to `unused_0xF2D` for improved clarity.

* Replace hardcoded value in `d_a_boomerang.cpp` with `daBoomerang_blur_c::SEGMENTS_PER_STEP` for improved readability and maintainability.

* Refactor `d_a_boomerang.cpp`: replace `fpcM_GetParam` with `fopAcM_GetParam` for consistency with actor parameter retrieval methods.

* Introduce `Mode` enum in `d_a_boomerang` and replace related hardcoded values for improved readability and maintainability.

* Refactor `setAimActor` in `d_a_boomerang.cpp`: rename parameter for improved clarity.

* Replace `fpcM_SetParam` with `fopAcM_SetParam` in `d_a_boomerang.cpp` for consistency with actor parameter setting methods.

* Replace hardcoded `0` with `dEvtMode_NONE_e` in `d_a_boomerang.cpp` for improved readability and maintainability.

* Replace `BOOM_TARGET_MAX` with `BOOMERANG_LOCK_MAX` in `d_a_boomerang` for consistency.

* Refactor `d_a_boomerang.cpp` and `d_a_boomerang.h`: rename target-related variables and methods to lock-related for improved clarity and consistency.

* Refactor `daBoomerang_Draw` and `daBoomerang_Execute` in `d_a_boomerang.cpp` to simplify and remove redundant casts.

* Replace `Mode_0` and `Mode_1` with `Mode_Wait` and `Mode_Throw` in `d_a_boomerang`

* Simplify boolean assignment in boomerang lock condition in `d_a_boomerang.cpp`.

* Rename variable `b` to `isAiming` in `d_a_boomerang.cpp` for improved readability.

* Refactor draw methods in `d_a_boomerang.cpp` to streamline list-setting logic.

* Refactor particle effect in `d_a_boomerang.cpp` to use `dComIfGp_particle_setP1` for improved clarity and maintainability.

* Replace `g_dComIfG_gameInfo` camera getter with `dComIfGp` equivalents in `d_a_boomerang.cpp` for consistency.

* Simplify version-specific `JUT_ASSERT` calls in `d_a_boomerang.cpp` with `VERSION_SELECT` for improved maintainability.

* Replace direct model matrix assignment with `fopAcM_SetMtx` in `d_a_boomerang.cpp` for consistency.

* Update matching logic for `d_a_boomerang.cpp` to use `MatchingFor`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Added constructor implementation for `daBoomerang_c`.

* Extend `daBoomerang_sightPacket_c` with `dDlst_base_c` base class.

* Refactor `d_a_boomerang.h`: reorganize class definitions and update member layout in `daBoomerang_c`.

* Extend `daBoomerang_c`: add new arrays, members, and static assertions for structure validation.

* Extend `daBoomerang_c`: add `dBgS_BoomerangLinChk` member and update padding fields.

* Extend `daBoomerang_c`: implement `create` method, add new members, and update function signatures.

* Refactor `daBoomerang_c`: update `createHeap` function to return `BOOL` and adjust related calls.

* Extend `daBoomerang_c`: implement `execute` method logic, update member variables, and adjust structure layout in `d_a_boomerang.h`.

* Extend `daBoomerang_c`: add static blur vector definitions for `l_blur_top` and `l_blur_root`.

* Add fields to `daBoomerang_blur_c`.

* Refactor `daBoomerang_blur_c`: implement `initBlur` logic, add `pos` field, update structure layout in `d_a_boomerang.h`.

* Refactor `daBoomerang_blur_c`: update `initBlur` and `copyBlur` logic, modify array structure to use 2D layout, and adjust declarations in `d_a_boomerang.h`.

* Match `copyBlur`

* Update `config.yml`: add symbol `l_matDL` for `daBoomerang_blur_c`.

* Extend `daBoomerang_blur_c`: implement `draw` method, add vertex description, attribute format lists, and texture handling logic.

* Add fields to `daBoomerang_sightPacket_c`

* Update `play` method in `daBoomerang_sightPacket_c`: implement looping logic for modifying `field_0xF4` values.

* Refactor `setSight` and `play` in `daBoomerang_sightPacket_c`: implement animation logic, replace `field_0xF4` with `arr_0xF4`, add `arr_0xF9`, and update structure in `d_a_boomerang.h`.

* Refactor `daBoomerang_sightPacket_c`: add `setTex` and `setImage` methods; update image data logic in `d_a_boomerang.cpp` and `d_a_boomerang.h`.

* Update `initFrame` and `resetSightOn` in `daBoomerang_sightPacket_c`: initialize `arr_0xF4` and reset `targetFlags`.

* Replace hardcoded array size with `BOOM_TARGET_MAX` in `d_a_boomerang.cpp` and `d_a_boomerang.h`

* Refactor `daBoomerang_sightPacket_c`: rename variables for clarity, update structure fields, and adjust logic in `setSight`, `play`, and related methods.

* Implement `draw` method in `daBoomerang_sightPacket_c`: add vertex descriptor/attribute format lists, texture handling, and sight rendering logic.

* Adjust vertex attribute formats in `d_a_boomerang.cpp`: update position to `GX_S8` and texture to `GX_U8`.

* Reorder includes in `d_a_boomerang.cpp` to resolve dependencies for `l_sightMatDL` and `l_sightDL__d_a_boomerang`

* Update `getFlyMax` in `daBoomerang_c`: add player status and stage name checks to determine maximum flight distance.

* Refactor `procMove` and `execute` in `daBoomerang_c`: improve boomerang targeting logic, rename variables for clarity, update array structures, and adjust control flow.

* Implement enhanced boomerang movement logic in `daBoomerang_c`: calculate angles, update position/rotation, handle water effects, and refine collision detection. Adjust structure fields in `d_a_boomerang.h`.

* Refactor `daBoomerang_c` control flow: reorder player retrieval logic, adjust distance-based normalization, and refine boomerang return handling.

* Change return type of `returnBoomerang` from `int` to `BOOL` in `d_a_player_main.h` and `d_a_player_boomerang.inc`.

* Change `setItemWaterEffect` return type from `u32` to `BOOL` and refactor its parameters and logic for clarity and behavior adjustment.

* Adjust `setItemWaterEffect` call in `d_a_boomerang.cpp` to use explicit `BOOL` comparison for clarity.

* Refactor `daBoomerang_c` control flow and targeting logic: introduce `mTargetRayEnd`, enhance position/angle calculations, integrate player sight checks, and update camera handling. Adjust includes and structure definitions for consistency.

* Match `rockLineCallback`

* Rename `param_1` to `pHitActor` in `rockLineCallback` for clarity.

* Match `setAimActor` in `d_a_boomerang.cpp`.

* Refactor `daBoomerang_c`: update `setLockActor` to use `BOOL` type, modify related logic for clarity, and ensure consistent parameter usage across `d_a_boomerang.cpp`.

* Match `resetLockActor` in `d_a_boomerang.cpp`: initialize target arrays and reset counters for consistency.

* Refactor `daBoomerang_c`: Fix struct offsets, update instance size

* Match `setRoomInfo` in `d_a_boomerang.cpp`: update position handling, ground checks, room ID assignment, and environment override logic.

* Match `create` in `d_a_boomerang.cpp`: update matrix handling, target ID initialization, callback setup, and clean up unused code.

* Match `setKeepMatrix` in `d_a_boomerang.cpp`: update transformation logic to align boomerang with Link's hand.

* Refactor `d_a_player_main` boomerang logic: rename `m36F4` to `mBoomerangCatchPos`, implement `getBoomerangCatchPos` accessor

* Match `setAimPos` in `d_a_boomerang.cpp`: implement target position logic based on current target index and player catch position.

* Match `checkBgHit` in `d_a_boomerang.cpp`: implement background collision logic, position updates, sound effects, and behavior adjustments.

* Continue matching `procWait` in `d_a_boomerang.cpp`

* Refactor `d_a_boomerang.cpp`: rename `field_0xF3A` to `mModelRotY` for clarity, update all associated references, and adjust struct definition in the header file.

* Continue matching `procWait` in `d_a_boomerang.cpp`

* Match `procWait` in `d_a_boomerang.cpp`

* Continue matching `procMove` in `d_a_boomerang.cpp`

* Refactor `d_a_boomerang.cpp`: convert `u8` fields to `bool` for clarity and better type usage, update header and references accordingly.

* Match `draw` in `d_a_boomerang.cpp`: implement drawing logic with model updates, light settings, shadow handling, and target sight management. Update struct definition to include `mGroundY`.

* Refactor `procMove` in `d_a_boomerang.cpp`: simplify angle calculations, update `mInWater` to `u8`, and improve readability by reducing nested logic.

* Fix `at_offset` initialization in `procMove` in `d_a_boomerang.cpp`

* Match `procMove` in `d_a_boomerang.cpp`

* Refine `draw` in `d_a_boomerang.cpp`: inline comments for quads setup, add light yellow trail color definition.

* Refactor `d_a_boomerang.cpp` and header: rename `field_0x14` to `numTrailSegments` for improved clarity and update all related references.

* Refactor `draw` in `d_a_boomerang.cpp`: reorganize quads initialization and alpha blending loops for improved structure and readability.

* Refactor `draw` in `d_a_boomerang.cpp`: combine alpha variable declarations for improved local scope and clarity.

* Refactor `draw` in `d_a_boomerang.cpp`: introduce `QUAD_VERT` macro to streamline quad vertex setup and improve code readability.

* Refactor `draw` in `d_a_boomerang.cpp`: rename `alpha` variables to `uCoord` for improved clarity and consistency with their purpose.

* Refactor `d_a_boomerang.cpp` and header: introduce `SEGMENTS_PER_STEP` constant for improved clarity and consistency, update related loops and data structures.

* Refactor `d_a_boomerang.cpp` and header: rename trail arrays for improved clarity and consistency, update all related references.

* Refactor `d_a_boomerang.cpp` and header: simplify trail vertex array indexing by flattening multidimensional arrays and updating all related code.

* Refactor `d_a_boomerang.cpp`: mark `se_flg` array as `const` for improved immutability and clarity.

* Refactor `d_a_boomerang.cpp`: relocate `l_at_cps_src` definition for improved organization and consistency.

* Refactor `d_a_boomerang.cpp` and header: rename and clarify multiple variables (e.g., `field_0xF2C` to `mIsReturning`) for improved readability and consistency, update all related references and logic.

* Refactor `d_a_boomerang.h`: add destructors to `daBoomerang_blur_c` and `daBoomerang_sightPacket_c` for proper ordering.

* Refactor `daBoomerang_blur_c::draw` in `d_a_boomerang.cpp`: reorder variable initialization, streamline loops, and adjust `QUAD_VERT` macro usage for improved clarity and consistency.

* Add inline geometry utility functions to `GFGeometry.h`

* Refactor `d_a_boomerang.cpp`: simplify geometry rendering by updating `QUAD_VERT` macro implementation and replacing manual vertex management with `GFBegin`/`GFEnd`.

* Refactor `d_a_boomerang.cpp`: simplify trail rendering by streamlining `uCoord` handling, reducing redundant variables, and improving clarity in loops.

* Refactor `d_a_boomerang.cpp`: rename `QUAD_VERT` to `QUAD_VTX` for clarity and update all related references.

* Add `l_matDL$4438` entry to config files for `daBoomerang_blur_c` rendering assets.

* Add version check around `j3dSys.reinitGX()` in `d_a_boomerang.cpp` to limit execution to non-demo builds.

* Refactor `d_a_boomerang.cpp`: replace direct `current.roomNo` usage with `roomNo` variable for improved clarity and consistency.

* Add version-specific asserts in `d_a_boomerang.cpp` for demo and non-demo builds

* Add version-specific asserts and adjust version check logic in `d_a_boomerang.cpp` for Japanese build

* Align `GXVtxDescList` and `GXVtxAttrFmtList` declarations with `ALIGN_DECL(32)` in `d_a_boomerang.cpp` for consistent memory alignment.

* Update `d_a_boomerang` to use `MatchingFor` in configuration

* Remove outdated `FIXME` comment in `d_a_boomerang.cpp`.

* Refactor `d_a_boomerang.cpp`: replace hardcoded rotation constants with `yRotPerStep` variable for clarity and maintainability.

* Update `d_a_boomerang.cpp` configuration to use `Matching` instead of `MatchingFor`.

* Refactor `d_a_boomerang.cpp`: rename `field_0xF2E` to `mJustHit` and `field_0xF2D` to `unused_0xF2D` for improved clarity.

* Replace hardcoded value in `d_a_boomerang.cpp` with `daBoomerang_blur_c::SEGMENTS_PER_STEP` for improved readability and maintainability.

* Refactor `d_a_boomerang.cpp`: replace `fpcM_GetParam` with `fopAcM_GetParam` for consistency with actor parameter retrieval methods.

* Introduce `Mode` enum in `d_a_boomerang` and replace related hardcoded values for improved readability and maintainability.

* Refactor `setAimActor` in `d_a_boomerang.cpp`: rename parameter for improved clarity.

* Replace `fpcM_SetParam` with `fopAcM_SetParam` in `d_a_boomerang.cpp` for consistency with actor parameter setting methods.

* Replace hardcoded `0` with `dEvtMode_NONE_e` in `d_a_boomerang.cpp` for improved readability and maintainability.

* Replace `BOOM_TARGET_MAX` with `BOOMERANG_LOCK_MAX` in `d_a_boomerang` for consistency.

* Refactor `d_a_boomerang.cpp` and `d_a_boomerang.h`: rename target-related variables and methods to lock-related for improved clarity and consistency.

* Refactor `daBoomerang_Draw` and `daBoomerang_Execute` in `d_a_boomerang.cpp` to simplify and remove redundant casts.

* Replace `Mode_0` and `Mode_1` with `Mode_Wait` and `Mode_Throw` in `d_a_boomerang`

* Simplify boolean assignment in boomerang lock condition in `d_a_boomerang.cpp`.

* Rename variable `b` to `isAiming` in `d_a_boomerang.cpp` for improved readability.

* Refactor draw methods in `d_a_boomerang.cpp` to streamline list-setting logic.

* Refactor particle effect in `d_a_boomerang.cpp` to use `dComIfGp_particle_setP1` for improved clarity and maintainability.

* Replace `g_dComIfG_gameInfo` camera getter with `dComIfGp` equivalents in `d_a_boomerang.cpp` for consistency.

* Simplify version-specific `JUT_ASSERT` calls in `d_a_boomerang.cpp` with `VERSION_SELECT` for improved maintainability.

* Replace direct model matrix assignment with `fopAcM_SetMtx` in `d_a_boomerang.cpp` for consistency.

* Update matching logic for `d_a_boomerang.cpp` to use `MatchingFor`.
</pre>
</div>
</content>
</entry>
<entry>
<title>d_cloth_packet matching (#928)</title>
<updated>2026-02-12T06:42:21+00:00</updated>
<author>
<name>Briggs Baltzell</name>
<email>b3apollo13@gmail.com</email>
</author>
<published>2026-02-12T06:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=ca9481dcc9710e8df69c69637d3eb3d9abac6f7e'/>
<id>ca9481dcc9710e8df69c69637d3eb3d9abac6f7e</id>
<content type='text'>
* Match dCloth_packet_c::setMtx

* Match dCloth_packet_c::setGlobalWind

* Match dCloth_packet_c::dCloth_packet_c constructor implementation

* Match dCloth_packet_c::getFactor and get_cloth_anim_sub_factor implementation

* Match dCloth_packet_c::cloth_move implementation

* Match dCloth_packet_c::setNrm implementation

* Match dCloth_packet_c::init and default_factor_checkCB implementation

* Match dCloth_packet_c::draw implementation

* Match dCloth_packet_c::cloth_draw implementation

* Match dCloth_packet_c::plot implementation

* Match dCloth_packet_c::TexObjLoad implementation

* Match dCloth_packet_c::TexObjInit implementation

* Match dCloth_packet_c::TevSetting implementation

* Match dCloth_packet_c::dCloth_packet_create implementation

* Match dCloth_packet_c::TevSetting implementation

* Match dCloth_packetXlu_c::TevSetting implementation and make dCloth_packet_c members protected

* Match dCloth_packetXlu_c::cloth_draw implementation

* Match dClothVobj03_c::cloth_copy implementation and update member definitions

* Match dClothVobj04_c, dClothVobj05_c, and dClothVobj07_0_c::cloth_copy implementations and update member definitions

* Match dClothVobj03_c::init implementation, update cloth_counter definitions, and add new member variables

* Match `dClothVobj04_c::init`, `dClothVobj05_c::init`, and `dClothVobj07_0_c::init` implementations, and add new member variables.

* Match `dClothVobj03_c::dClothVobj03_create` and constructor implementations, update member definitions, and add new logic checks.

* Match `dClothVobj03_c::cloth_move` implementation

* Match `dClothVobj04_c`, `dClothVobj05_c`, and `dClothVobj07_0_c::cloth_move` implementations

* Match `dClothVobj03_c`, `dClothVobj04_c`, `dClothVobj05_c`, and `dClothVobj07_0_c::TexObjInit` implementations, update member definitions, and initialize `mTlutObj`.

* Match `TexObjLoad` implementations for `dClothVobj03_c`, `dClothVobj04_c`, `dClothVobj05_c`, and `dClothVobj07_0_c`.

* Fix `dClothVobj04_c::cloth_move`

* Match `dClothVobj04_create`, `dClothVobj05_create`, and `dClothVobj07_0_create` implementations, update parameter definitions, and add new constructor logic.

* Update parameter names in `dClothVobj05_VtxFactorCB` and `dClothVobj07_0_VtxFactorCB` for consistency.

* Adjust parameter values in `dClothVobj05_create` and `dClothVobj07_0_create` for consistency with expected behavior.

* Match `dClothVobj05_VtxFactorCB` and `dClothVobj07_0_VtxFactorCB` implementations and update return logic.

* Fix constructors

* Refactor repetitive parameter assignments in `dCloth_packet_c` with `setParam` and `setWindPower` for cleaner and more maintainable code.

* Add `setFactorCheckCB` call in `dCloth_packet_c` initialization

* Refactor `dCloth_packet_c` and related classes to eliminate redundant success checks with `chkCreateBuff` helper method.

* Refactor `dCloth_packet_c` and related classes to use getter methods for cleaner access and rename methods for improved clarity.

* Simplify constructors for `dClothVobj03_c`, `dClothVobj04_c`, `dClothVobj05_c`, and `dClothVobj07_0_c` by removing redundant parameters.

* Replace `field_0x109` with `mIsIndoors` for improved clarity and consistency across `dCloth_packet_c` and related classes.

* Replace `VECDotProduct` with `inprod` method in `dCloth_packet_c` for improved readability and modern syntax usage.

* Make `top_pointer` and `cloth_counter` members private in multiple `dClothVobjXX_c` classes for encapsulation.

* Match cloth creation functions

* Add `l_alpha_matDL` assets and update `GXCallDisplayList` usage in `dCloth_packetXlu_c`

* Match dCloth_packet_c::init

* Match dCloth_packet_c::setNrm

* Refactor dCloth_packet_c to use mDoMtx_stack_c methods

* Match `get_cloth_anim_sub_factor` implementation in `dCloth_packet_c`.

* Refactor `getFactor` in `dCloth_packet_c` to use a bitmask for neighbor checks, enhancing code clarity and efficiency.

* Match dCloth_packet_c::cloth_move

* Match dCloth_packet_c::setGlobalWind

* Match dCloth_packet_c::plot implementation

* Remove unused virtual function declarations

* Update `d/d_cloth_packet.cpp` to Matching in configure.py

* Refactor field_0x108 and mIsIndoors to boolean types, rename, and add explanatory comments.

* Update `d/d_cloth_packet.cpp` to `MatchingFor("GZLE01")` in configure.py

* Add new material and alpha material configurations for `d_cloth_packet` across GZLP01, GZLJ01, and D44J01

* Update `d/d_cloth_packet.cpp` to `Matching` in configure.py

* Update `d/d_cloth_packet.cpp` to `MatchingFor("GZLE01", "GZLP01")` in configure.py

* Add conditional GXSetNumIndStages and resetVcdVatCache for non-JPN versions in `dCloth_packet_c::draw`

* Update `d/d_cloth_packet.cpp` to `MatchingFor("GZLJ01", "GZLE01", "GZLP01")` in configure.py

* Matched dCloth_packet_c::dCloth_packet_c for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Matched dCloth_packet_c::cloth_move for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Matched dCloth_packet_c::draw for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Matched dCloth_packet_c::TexObjInit for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Matched dClothVobjXX_c::TexObjInit for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Update `d/d_cloth_packet.cpp` to `Matching` in configure.py

* Replaced direct member access with getter methods in `d/d_cloth_packet.cpp`

* Added `f` suffix to floating-point literals in `d/d_cloth_packet.cpp` for consistency.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Match dCloth_packet_c::setMtx

* Match dCloth_packet_c::setGlobalWind

* Match dCloth_packet_c::dCloth_packet_c constructor implementation

* Match dCloth_packet_c::getFactor and get_cloth_anim_sub_factor implementation

* Match dCloth_packet_c::cloth_move implementation

* Match dCloth_packet_c::setNrm implementation

* Match dCloth_packet_c::init and default_factor_checkCB implementation

* Match dCloth_packet_c::draw implementation

* Match dCloth_packet_c::cloth_draw implementation

* Match dCloth_packet_c::plot implementation

* Match dCloth_packet_c::TexObjLoad implementation

* Match dCloth_packet_c::TexObjInit implementation

* Match dCloth_packet_c::TevSetting implementation

* Match dCloth_packet_c::dCloth_packet_create implementation

* Match dCloth_packet_c::TevSetting implementation

* Match dCloth_packetXlu_c::TevSetting implementation and make dCloth_packet_c members protected

* Match dCloth_packetXlu_c::cloth_draw implementation

* Match dClothVobj03_c::cloth_copy implementation and update member definitions

* Match dClothVobj04_c, dClothVobj05_c, and dClothVobj07_0_c::cloth_copy implementations and update member definitions

* Match dClothVobj03_c::init implementation, update cloth_counter definitions, and add new member variables

* Match `dClothVobj04_c::init`, `dClothVobj05_c::init`, and `dClothVobj07_0_c::init` implementations, and add new member variables.

* Match `dClothVobj03_c::dClothVobj03_create` and constructor implementations, update member definitions, and add new logic checks.

* Match `dClothVobj03_c::cloth_move` implementation

* Match `dClothVobj04_c`, `dClothVobj05_c`, and `dClothVobj07_0_c::cloth_move` implementations

* Match `dClothVobj03_c`, `dClothVobj04_c`, `dClothVobj05_c`, and `dClothVobj07_0_c::TexObjInit` implementations, update member definitions, and initialize `mTlutObj`.

* Match `TexObjLoad` implementations for `dClothVobj03_c`, `dClothVobj04_c`, `dClothVobj05_c`, and `dClothVobj07_0_c`.

* Fix `dClothVobj04_c::cloth_move`

* Match `dClothVobj04_create`, `dClothVobj05_create`, and `dClothVobj07_0_create` implementations, update parameter definitions, and add new constructor logic.

* Update parameter names in `dClothVobj05_VtxFactorCB` and `dClothVobj07_0_VtxFactorCB` for consistency.

* Adjust parameter values in `dClothVobj05_create` and `dClothVobj07_0_create` for consistency with expected behavior.

* Match `dClothVobj05_VtxFactorCB` and `dClothVobj07_0_VtxFactorCB` implementations and update return logic.

* Fix constructors

* Refactor repetitive parameter assignments in `dCloth_packet_c` with `setParam` and `setWindPower` for cleaner and more maintainable code.

* Add `setFactorCheckCB` call in `dCloth_packet_c` initialization

* Refactor `dCloth_packet_c` and related classes to eliminate redundant success checks with `chkCreateBuff` helper method.

* Refactor `dCloth_packet_c` and related classes to use getter methods for cleaner access and rename methods for improved clarity.

* Simplify constructors for `dClothVobj03_c`, `dClothVobj04_c`, `dClothVobj05_c`, and `dClothVobj07_0_c` by removing redundant parameters.

* Replace `field_0x109` with `mIsIndoors` for improved clarity and consistency across `dCloth_packet_c` and related classes.

* Replace `VECDotProduct` with `inprod` method in `dCloth_packet_c` for improved readability and modern syntax usage.

* Make `top_pointer` and `cloth_counter` members private in multiple `dClothVobjXX_c` classes for encapsulation.

* Match cloth creation functions

* Add `l_alpha_matDL` assets and update `GXCallDisplayList` usage in `dCloth_packetXlu_c`

* Match dCloth_packet_c::init

* Match dCloth_packet_c::setNrm

* Refactor dCloth_packet_c to use mDoMtx_stack_c methods

* Match `get_cloth_anim_sub_factor` implementation in `dCloth_packet_c`.

* Refactor `getFactor` in `dCloth_packet_c` to use a bitmask for neighbor checks, enhancing code clarity and efficiency.

* Match dCloth_packet_c::cloth_move

* Match dCloth_packet_c::setGlobalWind

* Match dCloth_packet_c::plot implementation

* Remove unused virtual function declarations

* Update `d/d_cloth_packet.cpp` to Matching in configure.py

* Refactor field_0x108 and mIsIndoors to boolean types, rename, and add explanatory comments.

* Update `d/d_cloth_packet.cpp` to `MatchingFor("GZLE01")` in configure.py

* Add new material and alpha material configurations for `d_cloth_packet` across GZLP01, GZLJ01, and D44J01

* Update `d/d_cloth_packet.cpp` to `Matching` in configure.py

* Update `d/d_cloth_packet.cpp` to `MatchingFor("GZLE01", "GZLP01")` in configure.py

* Add conditional GXSetNumIndStages and resetVcdVatCache for non-JPN versions in `dCloth_packet_c::draw`

* Update `d/d_cloth_packet.cpp` to `MatchingFor("GZLJ01", "GZLE01", "GZLP01")` in configure.py

* Matched dCloth_packet_c::dCloth_packet_c for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Matched dCloth_packet_c::cloth_move for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Matched dCloth_packet_c::draw for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Matched dCloth_packet_c::TexObjInit for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Matched dClothVobjXX_c::TexObjInit for `VERSION_DEMO` in `d/d_cloth_packet.cpp`

* Update `d/d_cloth_packet.cpp` to `Matching` in configure.py

* Replaced direct member access with getter methods in `d/d_cloth_packet.cpp`

* Added `f` suffix to floating-point literals in `d/d_cloth_packet.cpp` for consistency.</pre>
</div>
</content>
</entry>
<entry>
<title>d_a_goal_flag - matching (#918)</title>
<updated>2026-01-09T18:09:23+00:00</updated>
<author>
<name>Roland</name>
<email>roland@wildpaws.xyz</email>
</author>
<published>2026-01-09T18:09:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/tww/commit/?id=6893c2588e1a616072f39913a6dc09ac2c4f8705'/>
<id>6893c2588e1a616072f39913a6dc09ac2c4f8705</id>
<content type='text'>
* initial work on d_a_goal_flag

* Update config.yml to extract symbols from d_a_goal_flag; also add l_pos and l_texCoord

* 17% matching in .text

* daGoal_Flag_c::CreateHeap matched

* RopeMove 99%

* Update d_a_goal_flag.cpp

* getRacePath 100%

* 31% in .text

* 47% matching in .text

* 56% matching in .text

* 70% matching in .text
Add definitions to inlines in daGFlag_packet_c and fully matched some daGFlag_packet_c methods.

* 84% matching in .text
Match daGFlag_packet_c::draw

* 91% matching in .text
- Formatting tweaks
- Match TimerExecute
- Add fopMsgM_MiniGameTerminater_create inline
- Move daGoal_Flag_c::_create in the correct place to match .data

* d_a_goal_flag matching 100% for retail

* d_a_goal_flag demo 99%

* Resolve _create fakematch

* d_a_goal_flag demo matching 100%

* link d_a_goal_flag for demo

* Renaming of fields/variables and some refactoring

* Refactoring continued
- Change direct calls to VECDotProduct to cXyz::getDotProduct

* Named more HIO fields and packet fields

* Implement fopMsgM_MiniGameStarter_create

* Name all used HIO fields

* Named all fields in daGoal_Flag_c

* Finishing touches</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* initial work on d_a_goal_flag

* Update config.yml to extract symbols from d_a_goal_flag; also add l_pos and l_texCoord

* 17% matching in .text

* daGoal_Flag_c::CreateHeap matched

* RopeMove 99%

* Update d_a_goal_flag.cpp

* getRacePath 100%

* 31% in .text

* 47% matching in .text

* 56% matching in .text

* 70% matching in .text
Add definitions to inlines in daGFlag_packet_c and fully matched some daGFlag_packet_c methods.

* 84% matching in .text
Match daGFlag_packet_c::draw

* 91% matching in .text
- Formatting tweaks
- Match TimerExecute
- Add fopMsgM_MiniGameTerminater_create inline
- Move daGoal_Flag_c::_create in the correct place to match .data

* d_a_goal_flag matching 100% for retail

* d_a_goal_flag demo 99%

* Resolve _create fakematch

* d_a_goal_flag demo matching 100%

* link d_a_goal_flag for demo

* Renaming of fields/variables and some refactoring

* Refactoring continued
- Change direct calls to VECDotProduct to cXyz::getDotProduct

* Named more HIO fields and packet fields

* Implement fopMsgM_MiniGameStarter_create

* Name all used HIO fields

* Named all fields in daGoal_Flag_c

* Finishing touches</pre>
</div>
</content>
</entry>
</feed>
