Commit Graph

1225 Commits

Author SHA1 Message Date
Zeclos 814c70590c d_a_npc_jb1 matching (#991) 2026-05-10 16:00:47 -04:00
LagoLunatic 578d45153f DSNAP enum cleanup 2026-05-10 13:11:56 -04:00
maimai0254 797be404b3 d_a_bdk demo OK (#985)
* demo OK

* Fix issues from code review
2026-05-09 19:18:03 -04:00
LagoLunatic fe76ad5a3b Demo work (#984) 2026-05-09 18:42:01 -04:00
LagoLunatic 0e98a9b636 d_a_bmdhand OK, misc matches 2026-05-08 23:07:57 -04:00
LagoLunatic a3dd6ac9e1 Cleanup 2026-05-08 21:51:18 -04:00
Maide f7cb58cbed d_a_tag_mk (#983) 2026-05-08 18:39:42 -04:00
LagoLunatic 897f043575 Document some more enum value names 2026-05-08 18:12:26 -04:00
123456789758 e0d06d07c5 Bosses: Demo matches + more cleanup (#972)
Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
2026-05-07 22:58:39 -04:00
LagoLunatic 0bff98c469 Merge pull request #980 from LagoLunatic/daobj
d_a_obj OK
2026-05-07 22:42:07 -04:00
LagoLunatic 333ea2f775 Cleanup 2026-05-07 16:54:44 -04:00
LagoLunatic e1f5b7e23b Rename fopAcM_SetupActor to fopAcM_ct 2026-05-07 15:59:23 -04:00
Maide ea80482679 d_a_hmlif (#877) 2026-05-07 15:34:28 -04:00
Maide 47c08e9f8a d_a_obj_bemos (#975)
* d_a_obj_bemos

* Improve d_particle for demo
2026-05-07 12:42:48 -04:00
LagoLunatic bcbbb282c1 swlight inline fixes 2026-05-07 12:33:26 -04:00
Maide c9ed4854de d_a_obj_swlight (#976) 2026-05-07 12:13:01 -04:00
LagoLunatic ca7b466bcd d_meter work, f_pc_manager OK for demo 2026-05-07 00:03:43 -04:00
LagoLunatic 7838465e48 d_a_tsubo OK, cleanup 2026-05-06 17:36:22 -04:00
Zeclos 800f53fc2a D_a_npc_hr matching (#973)
* progress push

* matching

* documentation and cleanup

* feedback from pr review
2026-05-06 13:33:33 -04:00
LagoLunatic def3445cc6 Fix particle_set inlines (#971) 2026-05-04 13:50:55 -04:00
123456789758 b46f2904d1 d_a_player - Add cut type enum (#966)
Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
2026-05-01 01:12:52 -04:00
LagoLunatic fdbac96f9a Demo work 2026-04-27 19:05:33 -04:00
Lord-McSweeney 24990ae11a d_a_npc_mk_static matching (#922)
* d_a_npc_mk_static matching

* Resolve review notes on d_a_npc_mk_static
2026-04-24 21:23:48 -04:00
LagoLunatic 9dedd44567 Demo work 2026-04-24 02:46:59 -04:00
LagoLunatic be23b195ec d_camera: Name mViewCache based on TP decomp 2026-04-24 02:11:28 -04:00
Mattias Blum 8e1e74975b more d_camera work (#963)
* 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
2026-04-24 01:36:04 -04:00
Jason T 9901be8103 d_a_obj_gnndemotakis (#953)
* init

* configure and dComIfGp_event_runCheck usage

* reverted configure

* revert back to previous usage for _execute

* matched _execute

* match

---------

Co-authored-by: jaysc <9077125+jaysc@users.noreply.github.com>
2026-04-17 13:00:11 -04:00
LagoLunatic 51bb7d8130 d_a_obj_coming OK, d_a_coming2 OK
The barrel2 make_prm params were swapped around, making it seem impossible to match.
2026-04-17 12:55:19 -04:00
LagoLunatic 55a6be8b87 Misc demo matches (#952) 2026-04-14 20:33:05 -04:00
LagoLunatic d29477ca93 d_a_obj_gtaki matching only for demo, slightly closer on retail 2026-04-13 16:47:04 -04:00
Teotia444 217c89b76b d_a_obj_gtaki (#950)
* d_a_obj_gtaki - 99% matching

* d_a_obj_gtaki - 99% matching

* d_a_obj_gtaki - small mistakes
2026-04-13 16:41:59 -04:00
ThePlayerRolo 47edd9aec4 d_a_obj_msdan progress (#951)
* d_a_obj_msdan

* fixed extra 0x

* formatting
2026-04-13 16:25:55 -04:00
LagoLunatic 2d0dc6ea49 Cleanup 2026-04-12 20:03:12 -04:00
ThePlayerRolo c0205a02b5 d_a_nzg ok (#948)
* ngz progress

* d_a_nzg ok

* add todo notice about rodata

* apply changes

* link d_a_nzg
2026-04-12 19:30:12 -04:00
LagoLunatic 0f5bf67fa0 d_magma OK (#947)
Co-authored-by: Roland <roland@wildpaws.xyz>
2026-04-11 23:10:45 -04:00
big zam 49d51e338c D boss magma 100% matching (#946)
* 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

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>

* d_boss_magma: dMagma_ballBoss_c::calc 81.99% matching

* d_boss_magma: dMagma_ballBoss_c::calc 95.41% matching

* d_boss_magma: dMagma_ballBoss_c::calc 98.06% matching

* d_boss_magma: dMagma_ballBoss_c::calc 98.99% matching

* dMagma_ballBoss_c::~dMagma_ballBoss_c() 100% matching, dMagma_ballBoss_c::calc(float, unsigned char, int) 99%

* dMagma_ballBoss_c::calc(float, unsigned char, int) 100% matching

* Autoformat

* update() 100% matching

* 100% matching

* 100% matching

* Fixed virtualFunc standing in for setup

* dMagma_ballBoss_c::__vtable 100% matching

* fixed mWaveTimer type, Add missing mTimer

* d_boss_magma 100% matching

* Regression fix: introduce union, fixed dMagma_ballBoss_c::calc matching

* Fixed regression

* pr feedback, removed union, restored vtable

* pr feedback, square helpers

* revert field_0x7c

* revert mpathtimer

* remove

* Remove misleading mWaveTimer name, fix regression in d_magma

* fix regression in d_magma

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2026-04-11 20:37:51 -04:00
big zam fe4ca85c79 d_a_obj_plant equivalent (#945)
* 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
2026-04-06 02:49:09 -04:00
LagoLunatic 2a75abb376 Use composition for d_a_ks 2026-04-02 18:52:28 -04:00
LagoLunatic 0342876722 Switch inheritance->composition for more C-style actors 2026-04-01 23:40:08 -04:00
LagoLunatic 765f88e4f3 Move extern forward decls from cpps to headers 2026-04-01 19:38:51 -04:00
LagoLunatic 36c9a1e4b4 d_a_wind_tag OK (#944) 2026-04-01 18:58:31 -04:00
LagoLunatic 63a3aa2399 ProcID cleanup 2026-04-01 18:50:20 -04:00
LagoLunatic 85c97022df Implement inlines for d_menu_window 2026-03-31 21:00:57 -04:00
LagoLunatic 7f19fc0312 Fix d_menu_window func order 2026-03-31 20:14:11 -04:00
LagoLunatic 14d60a3daa Fix some clangd errors in d_menu_window 2026-03-31 20:06:13 -04:00
Briggs Baltzell 547284c1de Equivalent d_menu_window (#943)
* 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`.
2026-03-31 19:54:00 -04:00
LagoLunatic 7df5ceeb49 d_a_fganon nearly matching for demo 2026-03-31 19:44:40 -04:00
LagoLunatic bf8e0b31cb Use composition instead of inheritance for fganon 2026-03-31 17:54:29 -04:00
maimai0254 9223937baf Bwds 100% (#941)
* bwds 100%

* configure.py debug

* Update NonMatching

* Fix function order

* Fix issues from code review
2026-03-26 04:17:48 -04:00
LagoLunatic 061fa893eb Replace particle enums with official names 2026-03-20 16:02:41 -04:00