232 Commits

Author SHA1 Message Date
LagoLunatic 86a17bbfb7 JAIZelInst OK (#1005)
* JAIZelInst OK

* Clean up some default args
2026-05-17 17:10:52 -04:00
LagoLunatic 10651a0c4e Player inlines and item enums 2026-05-12 17:57:33 -04:00
LagoLunatic 928ff4f07b Add fopAcM_RegisterCreateID/fopAcM_RegisterDeleteID macros from TP decomp 2026-05-10 16:11:54 -04:00
Maide f7cb58cbed d_a_tag_mk (#983) 2026-05-08 18:39:42 -04:00
LagoLunatic cf210f963b Add helper macros to simplify fopAcM_ct-related version differences 2026-05-07 16:13:55 -04:00
LagoLunatic e1f5b7e23b Rename fopAcM_SetupActor to fopAcM_ct 2026-05-07 15:59:23 -04:00
LagoLunatic ca7b466bcd d_meter work, f_pc_manager OK for demo 2026-05-07 00:03:43 -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 c56b902ed1 Match fopMsgM_messageGet and fopMsgM_passwordGet 2026-04-30 02:56:31 -04:00
Lord-McSweeney 8fb16fa696 Work on f_op_msg_mng (#964)
* Work on f_op_msg_mng, especially PAL translations

* Finish translations work on f_op_msg_mng

* fopMsgM_messageGet and fopMsgM_passwordGet 98%
2026-04-30 00:24:59 -04:00
Roland c79fa65efd d_a_npc_ls1 matching (#925)
* Match daNpc_Ls1_c::create, decideType, and ctor

* 16% matching in .text
-Match daNpc_Ls1_c::CreateHeap
-Match daNpc_Ls1_c::itemCreateHeap
-Match daNpc_Ls1_c::handCreateHeap
-Match daNpc_Ls1_c::_delete
-Match other trivial functions

* Add hio_prm_c

* 27% matching in .text
-Add some static data
-Match daNpc_Ls1_c::endEvent
-Match daNpc_Ls1_c::isEventEntry
-Match daNpc_Ls1_c::execute
-Match daNpc_Ls1_c::bodyCreateHeap
-Match some more trivial funcs

* 33% matching in .text
-Match daNpc_Ls1_c::create_init
-Match daNpc_Ls1_c::chngAnmTag
-Match daNpc_Ls1_c::ctrlAnmTag
-Match init_LS1_#n() funcs
-Match searchActor funcs

* Add daNpc_Ls1_c::anm_prm_c struct and associated static data

* 39% matching in .text
- Matched daNpc_Ls1_matAnm_c::calc
- Matched static node callbacks
- Matched daNpc_Ls1_c::setAnm_anm
- Matched daNpc_Ls1_c::setAnm_NUM
- Matched daNpc_Ls1_c::chngAnmAtr
- Misc code formatting changes

* 52% matching in .text
- Match daNpc_Ls1_c::play_animation
- Match daNpc_Ls1_c::set_mtx
- Match ResID funcs
- Match daNpc_Ls1_c::setBtp
- Match daNpc_Ls1_c::setMat
- Match daNpc_Ls1_c::setBtk
- Match daNpc_Ls1_c::init_texPttrnAnm
- Match daNpc_Ls1_c::play_btp_anm
- Match daNpc_Ls1_c::play_btk_anm
- Match daNpc_Ls1_c::ctrlAnmAtr
- Match daNpc_Ls1_c::setAnm_ATR
- Match daNpc_Ls1_c::chk_parts_notMov
- Match daNpc_Ls1_c::cut_init_LOK_PLYER
- Match daNpc_Ls1_c::cut_move_WAI
- Match daNpc_Ls1_c::cut_init_ANM_CHG
- Match daNpc_Ls1_c::set_action

* Update comments

* Match daNpc_Ls1_c::_draw

* 63% matching in .text
- Match member J3D node callbacks
- Match daNpc_Ls1_c::eye_ctrl
- Match daNpc_Ls1_c::next_msgStatus
- Match daNpc_Ls1_c::getMsg
- Match daNpc_Ls1_c::chk_talk
- Match daNpc_Ls1_c::setEyeCtrl
- Match daNpc_Ls1_c::clrEyeCtrl
- Match daNpc_Ls1_c::setAttention
- Add misc enums
- Add a_cut_tbl

* 66% matching in .text
- Matched daNpc_Ls1_c::searchByID
- Matched daNpc_Ls1_c::partner_search_sub
- Matched daNpc_Ls1_c::partner_search
- Matched daNpc_Ls1_c::chkAttention
- Marched daNpc_Ls1_c::shadowDraw

* 75% matching in .text
- Match daNpc_Ls1_c::anmAtr
- Match daNpc_Ls1_c::getMsg_LS1_0
- Match daNpc_Ls1_c::chk_talk
- Match daNpc_Ls1_c::setStt
- Match daNpc_Ls1_c::get_playerEvnPos
- Match daNpc_Ls1_c::chkTelescope
- Match daNpc_Ls1_c::wait_1
- Match daNpc_Ls1_c::wait_4
- Match daNpc_Ls1_c::talk_1
- Match daNpc_Ls1_c::demo_action1

* Match daNpc_Ls1_c::wait_3

* 100% matching for both demo and retail

* Update comments

* Initial refactoring work

* Renaming work & declaring functions in f_op_msg_mng header

* Refactoring continued

* Last bit of renaming work

* Add missing include
2026-02-11 22:31:05 -05:00
Roland 6893c2588e d_a_goal_flag - matching (#918)
* 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
2026-01-09 13:09:23 -05:00
Lord-McSweeney ca83b5d1ae d_file_error matching (#915)
* d_file_error decompiled

* Use dComIfGs_getPalLanguage

* Resolve review comments

* d_file_error matching for non-debug
2026-01-01 14:14:13 -05:00
123456789758 d0852db127 d_meter - 99% matching (#907)
Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
2025-12-27 16:23:15 -05:00
123456789758 9075155201 d_msg - 99% matching (#899)
Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
2025-11-14 19:51:12 -08:00
LagoLunatic d89fe27888 Use composition instead of inheritance for most f_op classes 2025-09-25 15:59:25 -04:00
LagoLunatic 37865be5b5 Rename subtype to argument
This appears to be the official name of this field based off of an assert in TP debug.
2025-09-14 14:24:43 -04:00
123456789758 52d3e87e7d d_a_btd - 99% matching (#872)
Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
2025-08-29 17:04:11 -04:00
LagoLunatic ac8ff10650 Fix most weak function ordering issues 2025-08-20 19:09:06 -04:00
Maide 1ab3619dbf d_a_stone (#846) 2025-08-11 17:19:18 -04:00
LagoLunatic cb76a08c3a Fix some missing enum usages 2025-08-04 00:02:15 -04:00
SuperDude88 4adfd27155 daNpc_Cb1_c Almost OK (#822)
* daNpc_Cb1_c Almost OK

Down to regswaps/minor instruction issues

* Oops

That inline was fake

* Some Cleanup

- Fill in more inlines
- Reorganize daNpc_Cb1_c inlines
- Use inlines more
- Some naming and typing consistency

* Naming, Consistency Tweaks

- TRUE/FALSE macros for all cases of BOOL, use int -> BOOL sometimes
- Rename HIO to be consistent with other NPCs
- Animation enum

* Some HIO Names

* Clarity Tweaks

- NULL in more asserts
- Squared constants
2025-07-29 21:04:42 -04:00
Maide 5a3911cfed d_a_kanban (#820)
* d_a_kanban

* PR

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2025-07-27 17:26:24 -04:00
Maide 9461730b10 d_a_bridge (#811)
* d_a_bridge

* PR
2025-07-22 01:44:41 -04:00
Maide b324f4b1fc d_a_bb (#810)
* d_a_bb

* PR
2025-07-19 22:39:35 -04:00
LagoLunatic 96a546265e Remove fake inline 2025-06-27 15:50:54 -04:00
LagoLunatic 3bb95dd90c d_mesg work 2025-06-26 19:12:22 -04:00
LagoLunatic cdfaa05635 More demo work, cleanup 2025-06-01 16:05:42 -04:00
LagoLunatic 431943a893 Cleanup, demo work, and match daNpcPeople_c::getMsg on retail 2025-05-29 15:41:38 -04:00
LagoLunatic c484eb490d More demo work, fix some fakematches in retail 2025-05-25 19:20:08 -04:00
LagoLunatic 7cd75e8f7b Demo matches (#767) 2025-05-24 18:54:46 -04:00
Mattias Blum 59d39267ec Merge branch 'zeldaret:main' into d_menu 2025-05-17 22:57:55 -04:00
mattias-blum 5f7d4c3745 more progress 2025-05-17 20:30:16 -04:00
mattias-blum b92b0db6a6 more progress 2025-05-15 18:23:10 -04:00
mattias-blum 0a2e18900f more progress 2025-05-15 17:51:38 -04:00
LagoLunatic 36fec0f7fd Disappear drop type cleanup 2025-05-09 16:34:02 -04:00
123456789758 224b83ed8c d_a_player_main - 96% matching (#750)
Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
2025-05-07 19:08:04 -04:00
LagoLunatic f064e064eb d_cam_style: Fix excessive float precision 2025-05-07 01:47:44 -04:00
LagoLunatic f690b92d28 Add camera mWork union; also fix clang union handling
Union members with non-trivial ctors/dtors is undefined behavior and clangd normally throws a fit and refuses to parse the whole union, but it seems to be possible to ifdef the problematic ctors out for non-mwerks compilers and explicitly tell modern compilers to use the defaults instead. Thanks to encounter for this fix.
2025-05-07 01:19:23 -04:00
LagoLunatic c4eb26b2a1 d_attention cleanup, add mDoCPd inlines 2025-04-27 16:38:29 -04:00
Mm2PL 4d1cb33cd8 d_attention 100% (#701)
* Add helper functions for d_attention

* Copy and adapt code from TP

* Move for better matching layout

* Clean up includes for d_attention.cpp

* Give dAttention_c::nextAttention a return

* Use enums in dAttention_c::getActionBtnB and slight reformat

* Change return types for comparison code to match
I don't love this

* Implement dAttList_c::calcWeight

* Implement dAttention_c::sortList

* Implement dAttDraw_c::draw

* Implement dAttDraw_c::setAnm

* Implement dAttention_c::chaseAttention

* Implement judgement related functions

* Implement dAttention_c::Run and runDrawProc

* Implement dAttention_c::Draw

Actually finish Draw

* Looks like dAttention_c::stockAttention had an unused return value

* Give d_Attention_c::mLockOnState an enum

* Rename field_0x02c to mDrawAttnPos based on TP

* Add comments for fields of d_attention

* Give d_attention's flags an enum (although without names)

* Undo type change for dAttention_c::{chk,set,clr}Flag

Co-Authored-By: LagoLunatic <LagoLunatic@users.noreply.github.com>

* Do not spell the `this` pointer

Co-Authored-By: LagoLunatic <LagoLunatic@users.noreply.github.com>

* Deal with resource enums and inlines

* Move PLAYER_STATUS_FLAG_MAGIC_JUDGEMENT to daPy__PlayerStatus0 enum

* Use inlines and macros

* Add mDoCPd_L_LOCK_BUTTON inline, debug maps claim it exists

Nothing else uses it

* Update TODO comments

* Debug maps claim runXyCheckCB was used but it only makes sense if modified

* Use dComIfGp_getPlayer instead of directly indexing the array

* Locate a few more inlines

* Do not cast to AttentionFlags enum type

* Update configure script

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2025-04-27 15:12:46 -04:00
Jcw87 be0f59f361 d_mesg 2025-04-17 12:16:48 -07:00
LagoLunatic 1f049c0911 Move remaining class definitions to headers 2025-04-16 14:18:08 -04:00
LagoLunatic 26015238ef d_stage cleanup 2025-04-13 23:21:01 -04:00
SuperDude88 1f1900bf66 f_op_msg_mng Work (#685)
* f_op_msg_mng work

* Fix Some Conflicts

Haven't had much chance to work on actual progress, still looking to do more matching before merge

* Tiny bit of Work

Little bit of cleanup, start on a couple more functions

* More Matches

Also add back some missing nonmatch comments

* Fixes

* JPN ifdefs

* Inline Fix

Also force one match (there's no way that casting is real)

* Reorder Strings

Fix rodata, I think this order is also slightly more accurate to the function (but I'm not really trying to match it right now anyways)
2025-04-12 21:02:24 -04:00
Mattias Blum 5f287fcaee d_camera 28% (#732)
* 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
2025-04-11 16:37:42 -04:00
LagoLunatic 309158e274 J3DModel inlines cleanup, procBottleSwing_init match, etc 2025-04-10 19:30:51 -04:00
LagoLunatic 458d027fc9 d_a_hookshot equivalent 2025-04-02 15:54:23 -04:00
LagoLunatic 5dff645173 Cleanup
0.0099999998f -> 0.01f
4 space indents
Unnecessary parentheses from Ghidra
etc
2025-04-01 15:26:16 -04:00
123456789758 340a15feb3 d_a_player_grab.inc - Almost all matching except a few with minor issues. (#719)
Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
2025-04-01 14:31:00 -04:00