* initial progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* fix outdated member names
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* fixed deprecated member references
* more progress
* more progress
* more progress
* fix deprecated member references
* more progress
* more progress
* more progress
* more progress
* more progress
* check in for review
* remove comment
* initial PR changes
* more PR changes
* more PR changes
* added anonymous struct as class member
* reverted changes to `stage_camera2_data_class`
* added `dCamera_event_data`, `dCamera_monitoring_things` and `dCamera_DMC_system` from debug maps
* more progress
* more progress
* realmatch for `camera_draw`
* PR changes
* fix broken merge
* formatting
* Reverted change to `camSphChkdata` that caused `sph_chk_callback` match to regress
* Reverted change to `BG` struct that caused ctor and dtor match to regress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* PR changes
* corrected size comment
* fixed broken member references
* more d_camera work
* remove comment
* update symbols
* d_a_obj_plant: Add headers, functions (nodeCallBack, CheckCreateHeap, CreateInit, set_mtx, daObjPlant_Delete)
* d_a_obj_plant: draw
* CreateHeap in progress, Moved NodeCallBack higher
* daObjPlant_c::CreateHeap 100% matching
* daObjPlant_Create 100% matching
* Fixed field 40A being unsigned, plant_execute() 99% matching
* Fixed floating point order of ops, daObjPlant_Execute 100% matching
* rename param
* Fixed checkCreateHeap not returning
* Marked as equivalent due to weak function ordering
* Fixed nodeCallBack function order
* PR Feedback: Removed nodeCallBack forward declaration, Moved all inline functions from h to cpp, Replaced magic numbers with enums
* d_a_obj_plant 100% matching
* d_a_obj_plant: Fixed matching for kiosk demo
* Update src/d/actor/d_a_obj_plant.cpp
* Add definitions for `l_dMs_Method` and `g_profile_MENUWINDOW` in `d_menu_window` and update includes.
* Update `d_menu_window` to include `d_meter` and implement `dMs_IsDelete` function.
* Update `d_menu_window` to add `mButtonsPressed` field and implement button bit manipulation functions.
* Match dMs_isPush_L_Button and dMs_isPush_R_Button
* Match `dMs_childHeap_freeAll`
* Extend `sub_ms_screen_class` from `msg_class` in `d_menu_window`.
* Implement `draw` methods for `dDlst_MENU_CAPTURE_c` and `dDlst_MENU_CLOTH_c` in `d_menu_window`.
* Implement non-matching portions of `dDlst_MENU_CLOTH_c::draw` in `d_menu_window` and update includes.
* Extend `dMw_HIO_c` and `dMw_DHIO_c` from `JORReflexible` in `d_menu_window` and add virtual destructors.
* Match `dMs_isButtonBit` and use TRUE and FALSE in other methods
* Add `dMenu_setMenuStatus` declaration to `d_meter` header
* Refactor `d_menu_window` to expand `sub_ms_screen_class` fields and add external `dMw_HIO_c` and `dMw_DHIO_c` instances.
* Initialize new fields in `d_menu_window`, add font-related setup in `dMs_Create`, and update heap and timer logic.
* Add `getItemResArchive` method to `d_com_inf_game`
* Expand `sub_ms_screen_class` with new fields and initialize them in `dMs_item_create`.
* Abstract menu functionality into a new `dMenu_base_c` class and update `dMenu_Collect_c` and `dMenu_Item_c` to inherit from it.
* Add `dMenu_Item_c` instance and include in `d_menu_window`
* Add new menu-related includes and static instances to `d_menu_window`
* Reorder `d_menu_window` static instances and adjust font-related declarations.
* Initialize `dMi_c` instance in `d_menu_window`.
* Extend `dMenu_Dmap_c` to inherit from `dMenu_base_c` and update methods to be virtual.
* Refactor vertex setup in `d_menu_window` to use 3D positions and texture coordinates with new attribute formats.
* Add `dMenu_Fmap2_c` instance and related updates to `dMenu_Fmap_c`
* Add `dDlst_FMAP2_c` and `dDlst_FMAP2GS_c` instances to `dMenu_Fmap2_c` and adjust structure padding
* Update include path for `d_menu_fmap2.h` in `d_menu_fmap.h`
* Add `dComIfGp_event_photoCheck` inline function to `d_com_inf_game`
* Update `d_menu_window` structure: replace `field_0x108` with `mMsgID` and modify `field_0x1B0` type to `u16`
* Match `dMs_telescopeMove`
* Match `dMs_placenameMove` logic
* Make `dMi_HIO_c` inherit from `JORReflexible` and add a virtual destructor.
* Introduce global instance `g_miHIO` of `dMi_HIO_c` in `d_menu_item`.
* Declare new member variables in `dMi_HIO_c`.
* Set `g_miHIO.mNo` with child HIO creation for "Item Screen" in `dMenu_Item_c::_create`.
* Expand `dMi_HIO_c` with new member variables and define `ARR_SIZE` constant.
* Match `dMi_HIO_c` constructor logic and update structure to include `mColor0`.
* Correct `mColor0` type casting in `dMi_HIO_c` constructor.
* Replace `mColor0` and `field_0x50` with `JUtility::TColor` members in `dMi_HIO_c` and update initialization logic.
* Retrieve colors from `g_miHIO` for `GXColor` initialization in `dMenu_Window_c`.
* Rename `mColor1`/`mColor2` to `mClothColor`/`mShadowColor` in `dMenu_Item_c` and update references accordingly.
* Match `dDlst_MENU_CLOTH_c::draw`
* Expand `dMw_HIO_c` structure with new member variables and update padding/array definitions.
* Expand `dMw_DHIO_c` structure with new array and padding definitions.
* Match `dMw_DHIO_c` constructor logic by initializing `arr_0x05` elements to zero.
* Match `dMw_HIO_c::dMw_HIO_c`: expand `dMw_HIO_c` structure with additional member variables and initialize them in the constructor.
* Add `setPictureStatus` function and its inline wrapper `dComIfGp_setPictureStatus`.
* Add `mDoExt_getCurrentHeap` function declaration to `m_Do_ext.h`.
* Match `dMs_Delete` function logic.
* Match `dMs_Delete` function logic by updating conditions and removing obsolete comments.
* Add `dMenu_getMenuStatus` function declaration to `d_meter.h`.
* Match `dMenu_Fmap_c::draw` logic by calling `_draw()`.
* Match `dMs_Draw` function logic by updating conditions and adding new menu status handling.
* Expand `d_menu_window` structure by adding `dMw_Status` enum and `mMenuProc` member variable.
* Add `fmapOpenCheck`, `fmapOpenOff` functions and their inline wrappers
* Add `dMenu_setMenuStatusOld` function declaration to `d_meter.h`.
* Update `noteCheck` return type to `u32` in `d_menu_dmap`.
* Expand `d_menu_dmap` structure by adding new fields and member variables.
* Change `noteCheck` return type to `bool` and update logic to match field condition
* Rename `field_0x4952` to `mNameOpen` and update related functions. Add inline wrappers for `nameOpenOn` and `nameOpenCheck`.
* Change `mMenuCollect` type to `bool` and add corresponding inline wrapper functions
* Change `mFmapOpen` type to `u8` and update related functions and inline wrappers
* Expand `d_menu_item` structure by adding new fields and member variables.
* Expand `d_menu_collect` structure by adding new fields and member variables.
* Add `dMenu_getCollectMode`, `dMenu_setCollectMode`, `dMenu_getItemMode`, and `dMenu_setItemMode` function declarations to `d_meter.h`.
* Change `_open` methods to return `bool` in `d_menu_collect`, `d_menu_dmap`, and `d_menu_item` classes and update virtual declarations.
* Change `_open3` and `_close2` return types to `bool` in `d_menu_collect` and update virtual declarations.
* Update `_open2` and `_close2` methods in `d_menu_collect` and `d_menu_item` to return `bool` and adjust related declarations and structures.
* Rename `field_0x4952` to `mNameOpen` in `d_menu_window` for consistency with updated naming conventions.
* Change `noteCheck` return type to `u8` in `d_menu_item` and update related structure fields and declarations. Add `dMeter_subWinFlag` function declaration.
* Update `dMw_Status` enum in `d_menu_window` to replace placeholder names with descriptive identifiers.
* Match `dMs_Execute` method in `d_menu_window` 50.00%
* Implement `MW_STATUS_UNK_36`, `MW_STATUS_UNK_37`, and `MW_STATUS_UNK_38` logic in `d_menu_window`.
* Update `dMw_Status` enum and replace placeholder names with descriptive identifiers in `d_menu_window`.
* Update `dMw_Status` enum in `d_menu_window` with descriptive identifiers and replace usages accordingly
* Update `dMw_Status` enum by replacing unknown placeholder names with descriptive identifiers and adjust related logic
* Replace hardcoded timer threshold `0xF6` with `g_menuHIO.field_0x90` in `d_menu_window` logic.
* Change `_close` method return type to `bool` in `d_menu_collect`, `d_menu_dmap`, and `d_menu_item`, and update related declarations.
* Implement logic for `MW_STATUS_UNK_5` and `MW_STATUS_UNK_16/19` in `d_menu_window`
* Change `_open` and `_close` methods return type to `bool` in `d_menu_fmap` and update related declarations.
* Change `_open` methods return type to `bool` in `d_menu_fmap` and update related declarations and implementations.
* Implement `_open` logic for various `MW_STATUS_FMAP` states in `d_menu_window`.
* Change `isFmapClose` return type to `bool` in `d_menu_fmap` and update its implementation.
* Implement movement and close logic for various `MW_STATUS_FMAP` states in `d_menu_window`.
* Add `nameOpenChangeOff` and `nameOpenCancelOff` methods to manage `mNameOpen` state
* Implement `_open`, `_move`, and `_close` logic for `MW_STATUS_NAME_*` states in `d_menu_window`.
* Update button lock logic in `d_menu_window` to use `mDoCPd_L_LOCK_BUTTON`.
* Refactor `dMenu_setCollectMode` logic in `d_menu_window` for clarity and consistency.
* Add `STATIC_ASSERT` for `dMenu_Collect_c` size and fix `m27A0` to `m2780`
* Update button bit handling logic in `d_menu_window` and clean up redundant code
* Decrease item record timer conditionally in `d_menu_window`.
* Implement `decItemTimer` logic in `d_com_inf_game` and integrate with `dComIfGp_decItemTimer`.
* Integrate `dComIfGp_decItemTimer` call in `d_menu_window`.
* Change `getButtonIconMode` return type to `u8` and implement placeholder return value.
* Move `dMeter_Info` declaration from `d_msg.cpp` to `d_meter.h`.
* Set `dMeter_Info.field_0x1` based on `dMf_c` state in `d_menu_window`.
* Rename `field_0x1` to `mButtonIconMode` in `dMeter_Info` for clarity and consistency.
* Update `MW_STATUS_FMAP_MOVE_WALLPAPER` logic to handle additional button triggers and call `_move` when applicable. Clean up redundant code.
* Handle `MW_STATUS_DMAP_CLOSE` in `d_menu_window` by invoking `_close` and cleaning up related resources.
* Update `MW_STATUS_DMAP_MOVE` button triggers and replace `_close` with `_move` in `d_menu_window`.
* Handle `MW_STATUS_DMAP_OPEN` logic by invoking `_open` and transitioning to `MW_STATUS_DMAP_MOVE` in `d_menu_window`.
* Change `_close3` return type from `void` to `bool` in `dMenu_Collect_c`.
* Handle `MW_STATUS_UNK_20` logic by invoking `_close3`, cleaning up resources, and resetting menu state in `d_menu_window`.
* Refactor redundant condition checks in `d_menu_window` by introducing `CAN_PROCEED` macro for clarity and reuse.
* Simplify condition checks in `d_menu_window` by consolidating `CAN_PROCEED` logic into a single `if-else` chain.
* Update `event_wait_frame` type to signed and adjust condition checks in `d_menu_window` for better logic clarity.
* Handle `MW_STATUS_ITEM_OPEN1_1` logic by initializing heap, creating item, and updating menu state in `d_menu_window`.
* Handle `MW_STATUS_FMAP_OPEN` and `MW_STATUS_DMAP_OPEN` logic by introducing button checks, creating menu states, and playing audio cues in `d_menu_window`.
* Update `noteCheck` return type to `u8` and adjust struct layout in `dMenu_Collect_c`.
* Handle button press logic and update menu state transitions in `MW_STATUS_UNK_13` within `d_menu_window`.
* Simplify button press handling logic by restructuring nested conditionals in `d_menu_window`.
* Handle `MW_STATUS_UNK_14` logic by adding button checks, updating menu state, and playing audio cues in `d_menu_window`.
* Handle `MW_STATUS_UNK_15` logic by adding condition checks, updating menu state, initializing heap, and triggering audio cues in `d_menu_window`.
* Refactor `mMenuProc` handling by replacing `switch-case` statements with `if-else` chains in `d_menu_window`.
* Initialize `timer` to 0 in `dMs_Execute` and add a newline for readability in `d_menu_window`.
* Refactor `mMenuProc` handling by introducing a `menuProc` local variable for improved readability and reduced redundancy in `d_menu_window`.
* Simplify conditionals and improve menu handling logic in `d_menu_window`.
* Replace `menuProc` variable usage with direct access to `i_Ms->mMenuProc` to reduce redundancy in `d_menu_window`.
* Refactor conditional checks and streamline button press handling in `d_menu_window`.
* Refactor conditional checks and improve readability in button press handling logic within `d_menu_window`.
* Match `dMs_Execute`
* Refactor `dMw_Status` enum to `MENU_STATE`, clarify naming conventions, and update all references in `d_menu_window`.
* Refactor `fwaterTimer` logic by replacing direct member access with helper functions for improved readability in `d_menu_window`.
* Add `dMenu_FmapSv_c` class definition to `d_menu_fmap` header.
* Initialize fields in `dMenu_FmapSv_c` constructor in `d_menu_fmap` header.
* Add `dMenu_FmapSv_c` declaration and definition to `d_menu_window`.
* Replace `TODO` with initialization of `dMv_CIO_c` using `dMenu_FmapSv_c` in `d_menu_window`.
* Adjust initialization value of `field_0x9` in `d_menu_fmap` header.
* Fix incorrect assertion parameter in `d_menu_window` for `rfonttype`.
* Add `dummy_arr` array and remove non-matching comment in `d_menu_window`
* Add padding fields and `mSvPtr` member to `dMenu_Fmap_c` with a size assertion
* Set `mSvPtr` in `setSvPtr` method in `d_menu_fmap` header.
* Move `dDlst_FMAP_c` class definition and integrate into `dMenu_Fmap_c`.
* Replace padding with `J2DScreen* scrn` in `dMenu_Fmap_c`.
* Introduce `MenuStatus` enum and replace menu status magic numbers with enum constants.
* Update `mMsgID` initialization to use `fpcM_ERROR_PROCESS_ID_e` in `d_menu_window`
* Replace direct `g_dComIfG_gameInfo.play` calls with new `dComIfGp_` helper functions in `d_menu_window`.
* Match `dMs_name_create`
* Match `dMs_name_delete`
* Add new button bit function declarations, initialize `dMenu_Item_c` fields, and update `d_menu_item` structure with new members
* Refactor `d_menu_item` structure to use arrays for `name`, `note`, and `dummy` fields instead of individual members.
* Update `d_menu_item` methods to initialize member variables instead of using empty bodies.
* Refactor `dMs_item_create` to use setter methods for `dMenu_Item_c` initialization.
* Update `setTextArea` to assign parameters to arrays and refactor structure to include `name`, `note`, and `dummy` arrays
* Refactor `setTextArea` to initialize arrays and update structure with `name`, `note`, and `dummy` fields.
* Refactor `setTextArea_New` to initialize arrays and update `dMenu_Fmap_c` structure with `name`, `note`, and `dummy` fields.
* Match `dMs_save_delete`
* Refactor `setFont` method and update member variables `m2470` and `m2474` to `mFont` and `mRFont` respectively
* Refactor `setFont` method to assign `mFont` and `mRFont`, and update `d_menu_dmap_c` structure to include new font-related members
* Update `setArchive` method to assign `mpArc` and modify `d_menu_dmap_c` structure to include `mpArc` member
* Add static assert to verify `dMenu_Dmap_c` structure size
* Refactor `setFont` method to assign `mFont` and `mRFont`, and update `dMenu_Fmap_c` structure to include new font-related members
* Add `getDmapResArchive` method to retrieve `mpDmapResArchive`
* Refactor `d_menu_dmap_c` structure to replace padding with `arr_0x1AFC` array and update `mMsgProc` definition.
* Match `dMs_dmap_create` implementation to initialize required buffers, fields, and objects.
* Match `dMs_dmap_delete` implementation to properly free allocated resources and reset pointers.
* Match `dMs_item_delete` implementation to properly free allocated resources and reset pointers.
* Add parameter names to `dMs_collect_create`, `dMs_collect_create2`, `dMs_collect_delete`, `dMs_fmap_create`, and `dMs_fmap_delete` functions.
* Add getter methods for `CollectResArchive`, `OptionResArchive`, and `SaveResArchive`
* Refactor `d_menu_collect` structure to update archive and texture buffer setters, and adjust member definitions
* Match `dMs_collect_create` implementation to initialize resources, allocate buffers, and set up archives and objects.
* Refactor `d_menu_collect` to update texture buffer setters, adjust resource handling, and clean up formatting.
* Refactor `d_menu_window` to use texture buffer setter methods instead of direct member assignments.
* Refactor `d_menu_collect` to rename texture buffer variables and update related member definitions and methods.
* Refactor `d_menu_collect` to clean up formatting
* Add `tact_beat` array to define the number of beats for each baton song in `d_menu_collect`.
* Refactor `d_menu_collect` to replace alpha assignments with `show` method calls for improved readability.
* Refactor `d_menu_collect` to standardize hexadecimal offsets with consistent padding.
* Refactor `d_menu_collect` to use `alphaChange` method for modifying alpha values
* Refactor `d_menu_collect` to add `setTimer` method and replace direct `m27E2` assignments with method calls.
* Refactor `d_menu_collect` to use local `archive` variable for consistent resource handling and improved readability.
* Refactor `d_menu_collect` to update text pane color values for consistency.
* Change `d_menu_collect` to use different pane data array.
* Refactor `d_menu_collect` to simplify `m18F8` pane data handling and improve readability.
* Refactor `d_menu_collect` to replace pointer with fixed-size array for `print_format` variable.
* Match `dMenu_Collect_c::screenSet`.
* Refactor `dMenu_Collect_c::screenSet` to relocate `print_format` declaration for improved code clarity.
* Match `dMs_collect_create2`.
* Match `dMs_collect_delete`.
* Refactor fields in `dMenu_Fmap_c` and `dMenu_Fmap2_c`.
* Match `dMs_fmap_create`.
* Match `dMs_fmap_delete`.
* Match `dMenu_FmapSv_c` constructor and destructor usage. Refactor `dMv_CIO_c` initialization for explicit field assignment.
* Match `dMenu_FmapSv_c` destructor and expand class with placeholder accessor methods.
* Refactor `dMenu_Fmap_c` to rename `mSvPtr` field to `fmapSv` for consistency.
* Remove unused padding field `padding_0xC5` from `d_menu_window.h`.
* Add `dDlst_NameIN_c` destructor.
* Add static assert for `dName_c` size validation.
* Add placeholder `genMessage` method in `dNm_HIO_c`.
* Add default constructor to `dName_c`.
* Refactor dummy functions in `d_menu_cloth.cpp` and `d_menu_window.cpp` for clarity.
* Match `dMenu_Window_c` for GZLJ01, GZLE01, and GZLP01.
* Match `dMenu_Window_c` and refactor `dDlst_MENU_CLOTH_c` and `dDlst_MENU_CAPTURE_c` methods for improved clarity and update comments for initialization consistency.
* Refactor `dDlst_MENU_CAPTURE_c` to improve clarity by adding draw flag helper methods and simplifying `draw` logic.
* Refactor `d_menu_window.cpp` to replace direct `mStatus` access with draw flag helper methods for improved clarity.
* Extract `dMenu_base_c` to a new header file for improved modularity and update includes accordingly.
* Extract `dDlst_MENU_CLOTH_c` and `dDlst_MENU_CAPTURE_c` into a new header file for improved modularity and update includes.
* Update includes in `d_menu_capture.h` and remove unused include from `d_menu_window.cpp` for consistency and cleanup.
* Extract `dMenu_FmapSv_c` to a new header file for improved modularity and update includes.
* Restrict `dMenu_Window_c` matching to GZLE01 only.
* Add `title_p` field to `dMenu_Window_c` for PAL version and allocate memory in `d_menu_window.cpp`.
* Update `d/d_menu_window.cpp` to use `Equivalent` instead of `MatchingFor("GZLE01")`.
* Rename `nameOpen` methods to `InputPasswordOpen` in `d/d_menu_window.cpp` and `d_com_inf_game.h` for clarity.
* Make `dummy` functions static in `d_menu_cloth.cpp` and `d_menu_window.cpp` to limit their scope.
* Update `g_profile_MENUWINDOW` definitions in `d/d_menu_window.cpp` for consistency with type usage and naming conventions.
* Remove outdated comments from `d_menu_fmap.h` and `d_menu_item.cpp`.
* Restore `InputPasswordOpen` methods in `d_com_inf_game.h`.
* should be fixed
* matching ?
* matching now
* matching for GZLE01 and GZLP01
* fixed dDemo_setDemoData probably
* matching except setfrontwalltype for demo
* small progress push
* bit of progress
* most funcs done
* mostly matching
* debug drawr matching
* cleanup and matching
* bit of cleanup, matching for GZLE01 and GZLP01
* accidentally changed the wrong actor in configure.py
* even more cleanup
* removed changed configure.py
* fully matching
* version select jut assert
* 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 3920b07e1a.
* Revert "Rename ambiguous `field` members to `padding` in `d_menu_cloth` and update struct size."
This reverts commit 153ee490bf.
* 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`.
* bit too difficult for me for now, might go back later
* progress
* getmsg
* logic matching data isnt
* data section matches
* mathubcg 100%
* cleanup
* revert this change
* final cleanup and configure.py
* nevermind cleanup
* Equivalent onstead of matching
* removed padding
* cleanup code comments and a bit more
* matching
* cleanup
* matching for retail
* matching
* documentation
* changed field name
* matching for GZLE01, GZLP01
* GZLJ01 and D44J01
* verion select for jutassert
* tiny bit of cleanup and moving enums to header
* feedback from pr
* itemNo renamed to enum