Commit Graph

881 Commits

Author SHA1 Message Date
LagoLunatic 96bbf3e97e Add some more inlines 2026-09-25 14:03:54 -04:00
LagoLunatic 624ab5f13c d_a_bomb2 OK for demo 2026-09-25 09:45:34 -04:00
LagoLunatic a15aec383f Merge pull request #1216 from SuperDude88/main
More Random Cleanup
2026-09-24 14:16:21 -04:00
SuperDude88 7953486589 Explicit Template Types
u32 and the literal suffixes don't necessarily refer to the same type depending on compiler
2026-09-23 22:17:12 -04:00
SuperDude88 236bf47a63 Fixed-Width Type Consistency
Make sure some of the declarations + definitions are consistent, plus some other misc fixes
2026-09-23 22:17:11 -04:00
SuperDude88 d1d7b5bdd3 More const char*
Change a bunch of char* -> const char* to be more standard-compliant. These ones didn't require extra casting/didn't seem particularly inconsistent with nearby uses.
2026-09-23 21:23:54 -04:00
LagoLunatic e652f902b7 d_a_player_main inlines and fix himo2/himo3 confusion 2026-09-23 16:19:00 -04:00
LagoLunatic 82f1e2c734 d_a_saku matching for all retail versions, add inlines, and almost matching for demo 2026-09-23 13:44:28 -04:00
Kenz Linden ae3b3b0deb d_a_saku GLZE01 (#1214)
* daSaku_c matching setMoveBGMtx func

* minor adjustment of daSaku_c setMoveBGMTx func

* remove unecessary class declaration in d_a_saku header

* daSaku_c setEffFire matching

* d_a_saku Draw func matching

* d_a_saku move mtx into array

* d_a_saku move mtxs out of array, setMtx func matching

* d_a_saku checkCol func matching

* d_a_saku checkCol func cleanup

* d_a_saku move related adjacent values into array as opposed to separate variables

* d_a_saku setup HIO class

* d_a_saku mode_break_throw_obj matching, adjust other funcs for data type change

* d_a_saku broken matching, update other funcs to reflect changed data types

* d_a_saku change collision func matching

* d_a_saku burn matching

* fix sakuHIO class data structure

* d_a_saku execute matching

* d_a_saku GetDzId func matching

* d_a_saku CreateHeap func matching

* d_a_saku daSaku_Delete func matching

* d_a_saku adjust data type, update matching funcs for updated data type

* d_a_saku mode_break_none func matching

* d_a_saku daSaku_create matching except stringbase, fix CreateHeap func type

* d_a_saku fix CreateHeap and loadModel func types

* d_a_saku RecreateHeap func matching except stringbase

* d_a_saku CreateInit matching

* d_a_saku CreateDummyHeap func matching

* d_a_saku matAlphaAnim, changeXluMaterialAlpha, l_blendInfo, l_zmodeInfo, l_zmodeInfo2 matching

* d_a_saku DrawSub matching, adjust matAlphaAnim output type

* d_a_saku MoveBGResist func matching

* d_a_saku fix matAlphaAnim to use u16 in for loop

* d_a_saku mode_break_fire func matching

* d_a_saku loadModel func matching except stringbase

* d_a_saku loadMoveBG func matching

* d_a_saku update mode_break_throw_obj heap name

* d_a_saku change my_cyl_src to not const to force into .data

* d_a_saku setCol matching

* d_a_saku adjust loadModel value to correct val

* d_a_saku setEffBreak func matching

* d_a_saku fix sakuHIO_c destructor not properly initialised

* d_a_saku instantiate static vars, re-shuffle to get correct ordering and data placement

* d_a_saku remove redundant "this" usage

* d_a_saku run format on doc

* d_a_saku remove redundant non-matching comments

* d_a_saku cleanup - var names, formatting, function cleanup

* d_a_saku marked as matching

* d_a_saku remove redundant class declaration

* d_a_saku implement code review feedback

* reverse formatter making changes to configure.py

* d_a_saku code review fixes
2026-09-22 21:46:01 -04:00
LagoLunatic 1b5b1ccf41 d_a_npc_cb1 OK for JPN, almost for demo 2026-09-22 15:59:54 -04:00
LagoLunatic 7f8a57ed3d warpls inlines from debug map 2026-09-22 13:06:04 -04:00
Luke 03a2cd7ae1 d_a_warpls 100% matching (#1054)
* d_a_warpls 100% matching

* warpls updated

Changed some member types to better attribute to their usage. Added member and local names as close to what they do. Cleaned up functions and some missing inlines.

* tweak some floats to suffix "f"

* Names & Member Funcs

Feel pretty good about these changes. I also added enums for the type of warp, event type and event state for readability.

* implement review changes

* missing space
2026-09-22 12:57:30 -04:00
Robert Kämpf d09d06562b d_a_obj_mmrr 100% matching (#1212)
* d_a_obj_mmrr 80% matching

* d_a_obj_mmrr 100% matching & linked

* Cleanup and renames

* Remove commented out code

* Exclude demo version from matches

* Use particle id enum
2026-09-21 12:22:18 -04:00
LagoLunatic ae69d049e9 YLzou documentation 2026-09-21 02:02:54 -04:00
Lee, Derek 5725ecf675 d_a_obj_YLzou matching (#1118)
* Most simple functions match or almost matching

* Run format

* set_start_type except some regswap

* Fix set_start_type regswap

* create_heap match except instruction locations

* eff_set_slip_smoke_pos matching except for some offsets

* Remove unnecessary

* Capitalize some hex

* eff_smoke_slip_start matching except some offsets

* Remove debug map comment

* name emitter

* vib_proc matching except some offsets

* demo_regist_wait_act_proc match

* demo_vib_start_wait_act_proc 100%

* Remove useless return

* demo_vib_act_proc matching except instruction offsets

* format

* move_ylzou_demo_move_act_proc matching except for instruction locations

* Clean up unnecessary returns

* demo_end_wait_act_proc except instruction offset for instruction offsets

* format

* demo_regist_wait_act_init_proc matched

* demo_end_wait_act_init_proc matching except instruction offsets

* go_up_stairs_demo_move_start_wait_act_init_proc matching except instruction offsets

* go_up_stairs_demo_move_act_proc matching except instruction offsets

* formatting

* _execute matching

* _create matched

* _delete matching

* rename variable to match objdiff

* 100% match

* Cleanup

* Add matching for since it doesn't match for demo

* Match d_a_obj_YLzou

* Demo matching

* Demo matched

* Update d_a_obj_YLzou.cpp

* Format and type triforce_complete as BOOL

---------

Co-authored-by: WilliamArnett <arnettwilliam7@gmail.com>
2026-09-20 23:33:32 -04:00
LagoLunatic adfcecf5f9 tag_ba1 OK for demo, fix inline usage 2026-09-20 23:05:42 -04:00
Phillip Stephens cf50f63c42 Match d_a_tag_ba1 (#1211)
* Match d_a_tag_ba1

* Don't link against D44J01

* Format nits
2026-09-20 22:56:00 -04:00
Teddy Heidmann 6efcd81322 d_a_npc_mn (#1210)
* class structure

* .data

* .rodata

* small fns

* talk2()

* phase_1, phase_2

* createHeap(), _delete()

* createInit, eventMesSetInit

* _draw(), _execute()

* not inlines

* executeWait()

* weird bool vs BOOL return

* executes

* more events

* talk3()

* getMsg() and anm fns

* privateCut()

* chkAttention()

* lookBack()

* remaining fns

* fieldNames

* matching retail

* D44J01

* add state enums

* review comments
2026-09-20 17:15:46 -04:00
LagoLunatic bee05a995f Fix several actors missing dCcD src structs 2026-09-19 14:16:07 -04:00
LagoLunatic 99662e663f demo matches for some grid funcs 2026-09-09 13:35:22 -04:00
TakaRikka 01edd8c27a d_a_grid mostly done (#1198)
* d_a_grid mostly done

* demo fixes
2026-09-09 12:06:35 -04:00
LagoLunatic 56528e2e29 demo progress for d_menu_fmap and ghostship 2026-09-04 19:36:03 -04:00
Jcw87 9234aa8286 Compiler compatibility, other fixes (#1188)
* add missing data

* fix return value

* d_camera fix

* missing GXEnd

* struct fixes

* fix include
2026-08-28 14:07:33 -04:00
LagoLunatic 7ac30822c3 d_a_kb OK + several demo matches 2026-08-26 17:52:15 -04:00
LagoLunatic 445abf5629 himo3 OK 2026-08-25 14:38:49 -04:00
LagoLunatic e93a21702a several more TUs OK for demo 2026-08-24 20:30:40 -04:00
LagoLunatic e051378deb hsehi1 inlines and demo match 2026-08-24 17:38:54 -04:00
Spoony 69332d9167 Match d_a_obj_hsehi1 (#1182)
* [WIP] In-progress work on hseh1

* [WIP] Implement talk/message methods

* [WIP] Implement action state machine

* [WIP] Implement action methods

* [WIP] Implement most other functions

* Fully implement hseh1

* Add comments for Japanese text in HIO settings

* Fix pEmitter flags access

* Update matched builds for hseh1

* Address feedback, match JP game version
2026-08-24 16:57:11 -04:00
LagoLunatic 0195ac864a d_a_bridge OK, cXyz inline cleanup 2026-08-24 14:34:25 -04:00
LagoLunatic 927142114a misc demo matches 2026-08-22 19:00:05 -04:00
LagoLunatic f0d5cd7b6a Fix camera structs being swapped
`camera_process_class` and `camera_class` were swapped according to TP's RTTI info.
2026-08-17 23:03:22 -04:00
LagoLunatic e3f5172595 d_camera fixes for demo and inlines 2026-08-17 22:16:25 -04:00
LagoLunatic e389a9b814 demo work (#1172)
* Some d_message demo matches

* More demo matches

* fix jpn
2026-08-16 18:05:17 -04:00
LagoLunatic 150819d7ed Silence unused param warnings for debug genMessage funcs 2026-08-16 12:11:34 -04:00
Jcw87 80c7719636 Compiler compatibility (#1171)
* mark functions with duplicate names as static

* make std::__tag_va_List work with other compilers

* fix some offset comments

* use inlines in J3DJointFactory, JUTCacheFont

* fix class/struct mismatch

* improve const correctness

* fix missing return values

* make some JAudio namespaces more explicit
2026-08-16 11:15:07 -04:00
LagoLunatic 37f7baaaf0 Several demo matches (#1165) 2026-08-13 16:19:28 -04:00
LagoLunatic e1e081f37b d_a_obj_ikada OK 2026-08-13 14:23:30 -04:00
LagoLunatic 93a2a6522a d_a_movie_player fixes 2026-08-12 12:56:27 -04:00
LagoLunatic 5f056105b3 d_a_magma OK for demo 2026-08-12 12:18:36 -04:00
LagoLunatic 2289b54d5f ba1 cleanup 2026-08-08 15:34:12 -04:00
Anthony Rossi 7bf6761243 D_a_npc_ba1 100% matching (#1144)
* Ba1 matched 100%

* last fixes

* Proper interaction with actor_fa

* Not matching 100% on JP

* Matching on JPN

* Forgot to update the configure file ...

* 100% matching

* Applied review suggestions

---------

Co-authored-by: Anthony Rossi <anthony.rossi@pm.me>
2026-08-08 15:01:29 -04:00
LagoLunatic 1d57f04689 salvage_tbox demo match and fix inlines 2026-08-03 17:54:03 -04:00
Anders Gjerde cb6a9205db d_a_salvage_tbox - 100% (GZLJ01, GZLE01, GZLP01) (#1113)
* First attempts at d_a_salvage_tbox

* CreateHeap match

* set_mtx 87%

* set_mtx 100%

* initWaitGetItem 93%

* initWaitGetItem 98.24%

* initWaitGetItem 98.24% - removed comments

* Removed unecessary fields

* actWait02 78.04%

* daSTBox_Draw 100%

* _create 39.71%

* _create 80.10%

* _create 98.50%

* Some changes in class members to be done, _create 99.99%, started on shadowEcallBack.

* _create 100%, shadowEcallBack.getMaxWaterY 84.93%, shadowEcallBack.setup 100%

* shadowEcallBack.getMaxWaterY 93.68%

* shadowEcallBack.getMaxWaterY 94.64%

* shadowEcallBack.getMaxWaterY 99.32%

* getWaterY 99.62%

* Swap position of mpAngle to get setup back to 100%

* actWait02 81.50%

* actDrop 74.60%

* actDrop 98.80%

* actWait 32.54%

* actWait 84.60%

* actWait 88.69%

* actWait 99.35%

* actWait02 100%

* _delete 55.71%

* _delete 97.57%

* _delete 99.12%

* shadowEcallBack_c::execute 79.13%

* shadowEcallBack_c::execute 99.70%

* CreateInit 94.92%

* CreateInit 98.64%

* shadowEcallBack_c::draw 21.24%

* shadowEcallBack_c::draw 34.81%

* shadowEcallBack_c::draw 54.72%

* shadowEcallBack_c::draw 69.86%

* shadowEcallBack_c::draw 97.99%

* shadowEcallBack_c::draw 99.10%

* actWait 99.43%

* _execute 40.58%

* _execute 73.14%

* _execute 98.29%

* initWaitGetItem improvements 98.24%

* initWaitGetItem 100%

* Removed unnecessary this->

* _delete 100%

* actWait 99.82%

* CreateInit 99.52%

* shadowEcallBack_c::getMaxWaterY 99.32%

* CreateInit 99.52%

* Simplified getStaffId in _execute

* shadowEcallBack_c::draw 99.11%

* shadowEcallBack_c::draw 99.23%

* shadowEcallBack_c::draw 99.48%

* actWait 99.85%

* Named shadowCallback

* actDrop 99.60%

* Renamed m_arc_name to m_arcname

* actWait 99.97% - using dComIfGp_particle_setShipTail

* _execute 99.58% - changed actIdx type to s16

* _execute 98.43% - reverting actIdx type back to int.

* CreateInit 99.92% - created cXyz position in shadowEcallBack.

* _execute 100% - cast on ship.

* .rodata 100% - Moved crane_offset above actWait where it first is used.

* Hoisted alpha_arr in shadowEcallBack_c::execute but to no avail.

* shadowEcallBack_c::execute 100% - emitter->setGlobalTranslation for regswap and used inline emitter->setGlobalRotation

* shadowEcallBack_c::draw 100% - moved fVar3 down a few lines to fix regswap

* shadowEcallBack_c::execute 100% - getting global translation object, only modifying its y property, and setting it again.

* Removed Nonmatching from matching functions and fixed memory offsets in shadowEcallBack_c.

* Linked - Added destructor for shadowEcallBack and added Matching in configure.py

* Set MatchingFor Japanese, United Statian and European versions - demo differs quite a bit.

* Removed incorrectly added include d_a_ship.h from d_com_inf_game.h

---------

Co-authored-by: Anders Gjerde <mail@mail.com>
2026-08-03 16:36:40 -04:00
LagoLunatic 537b6cfc3b use 4 spaces for indentation instead of 2/8/etc 2026-08-03 01:53:25 -04:00
WilliamArnett 11f4940d74 d_a_npc_p1 100% Matching (#1098)
* 99% match

* Rewrote _execute to increase accuracy. Only issue in .text is a label not loading correctly. I have no idea how to fix this.

* Equivalent. Weak func ordering.

* 7% text

* 28% text

* 41% text

* 65% text

* Rewrote _execute to increase accuracy. Only issue in .text is a label not loading correctly. I have no idea how to fix this.

* Equivalent. Weak func ordering.

* 82% text

* Equivalent. A lot of work is needed to name variables and clean up functions. Weak function ordering is wrong.

* Cleaned some functions, named several variables, and began documenting dialog tree.

* Naming a couple more variables

* 21% text

* change out getMySubstanceP for getMyIntegerP inline

* 100% text

* Refactor to use JUT_ASSERT macro

* #181: d_a_tag_attention matching; TODO: implement chk_inside and dComIfGp_att_Look2RequestF

* #181: continue working on d_a_tag_attention, matching almost complete

* #181: revert naming class member (not certain enough)

* #181: preliminary changes to resolve #784 comments regarding usage of debug maps

* #181: commit suggestion by @WilliamArnett, fixing regalloc error

Co-authored-by: WilliamArnett <149556961+WilliamArnett@users.noreply.github.com>

* #181: fix missing curly bracket

* #181: resolve #784 comments with the kind help of @WilliamArnett;
 move `daTagAttention::Act_c::chk_inside` to header file; split `plyrToObjVec` definition to match assembly;
 remove temp variable, use values directly and swap operands;
 implement `Look2RequestF` in `include/d/d_attention.h`;
 remove non-matching use of temp variable `iVar1` and replace `current.pos` with uninitialized variable in `daTagAttention::Act_c::_execute`

* Update fork to match upstream

* some changes

* 73% text

* 100% Matching minus kaji_anm

* Delete debug/m2cdecomp

* revert unnecessary file changes

* remove d_a_npc_p2_cut.inc

* Match kaji_anm

* swap declaration order of l_msg and l_msgId

* Naming many fields

* Implement GetKajiID inline

* Enum and variable names

* Remove virtual genMessage function

* Implement @LagoLunatic 's suggested changes

* Revert array changes in d_camera.h (@LagoLunatic suggested change)

* Whitespace

* Rename dSnap enum

---------

Co-authored-by: Skelp <skelp@pm.me>
Co-authored-by: Skelp <59535863+Skelp@users.noreply.github.com>
2026-08-03 01:40:12 -04:00
Teddy Heidmann 5063d3433c zeldaret/tww#385 d_a_obj_drift (#1100)
* zeldaret/tww#385 d_a_obj_drift

* configure changes

* GZLJ01

* D44J01

* Not matching D44J01

* demo support

* variable cleanup

* revert new helper

* revert again

* Attempt 2

* Try to fix non-deterministic issue

* Revert tide fix

* debug mapping

* more map fixes

* Update src/d/actor/d_a_obj_drift.cpp

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

* review comments

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2026-07-30 22:46:56 -04:00
LagoLunatic 2bebe68302 majyuu door inlines 2026-07-30 17:17:14 -04:00
Teddy Heidmann 32cd6f7080 d_a_obj_majyuu_door 100% Matching (#1138)
* Initial structure

* More progress

* fix index

* _create()

* more progress

* modeProcCall

* fix smoke_set

* Matching

* add demo support, remove current.roomNo

* cleanup
2026-07-30 17:11:54 -04:00
LagoLunatic be8da688fc zl1 cleanup, inline cleanup 2026-07-27 12:14:38 -04:00
LagoLunatic 2091385155 Demo matches 2026-07-24 14:25:28 -04:00