Commit Graph

767 Commits

Author SHA1 Message Date
LagoLunatic 5cb5fe848b Clean up mDoAud_seStart inline
The devs apparently made 4 versions of this inline instead of just using default arguments.
2025-03-17 15:57:18 -04:00
LagoLunatic 9fd3443e35 Minor include cleanup in actor headers 2025-03-17 15:39:52 -04:00
LagoLunatic 95ceb5c3ef d_a_obj_homen OK 2025-03-17 15:25:51 -04:00
mattias-blum ae528dc3d9 d_a_fganon 100% (#695)
* added `cBgS_Chk::OffSameActorChk`inline function

* initial progress of d_a_fganon

100% Matching:
- `anim_init`
- `tama_draw`
- `daFganon_Draw`
- `daFganon_IsDelete`

Partial Matching:
- `daFganon_Hio_C::daFganon_HIO_c` (88%)
- `deru_brk` (98%, code is matching, variable memory locations needed for 100% match)
- `kieru_brk` (98%, code is matching, variable memory locations needed for 100% match)
- `deru_brk2` (98%, code is matching, variable memory locations needed for 100% match)
- `kieru_brk2` (98%, code is matching, variable memory locations needed for 100% match)
- `pos_move` (73%)
- `move` (80%)
- `mahou_se_set` (82%)
- `daFganon_Delete` (94%, code is matching, variable memory locations needed for 100% match)
- `useHeapInit` (92%)
- `daFganon_Create` (77%)
- `fgannon_class::fganon_class()` (88%)

Remainder haven't been started

* Additional progress, more functions at 100% matching

100% Matching:
- `daFganon_Hio_C::daFganon_HIO_c`
- `anim_init`
- `tama_draw`
- `daFganon_Draw`
- `deru_brk`
- `kieru_brk`
- `deru_brk2`
- `kieru_brk2`
- `pos_move`
- `fly_se_set`
- `mahou_set`
- `mahou_se_set`
- `daFganon_IsDelete`
- `daFganon_Delete`
- `useHeapInit`

Partial Matching:
- `fly` (60%)
- `shot` (46%)
- `move` (92%)
- `daFganon_Execute` (11%)
- `daFganon_Create` (60%)
- `fgannon_class::fganon_class()` (93%)

* More functions at 100% matching

- Added a `cXyz` member to `mant_class` that is referenced in this TU.
- Changed 'fganon_class` to inherit from `fopEn_enemy_c` instead of `fopAc_ac_c`

100% Matching:
- `daFganon_Hio_C::daFganon_HIO_c`
- `anim_init`
- `tama_draw`
- `daFganon_Draw`
- `deru_brk`
- `kieru_brk`
- `deru_brk2`
- `kieru_brk2`
- `pos_move`
- `fly_se_set`
- `fly`
- `shot`
- `spinattack`
- `fly2`
- `tama_set`
- `mahou_set`
- `mahou_set`
- `mahou_se_set`
- `daFganon_IsDelete`
- `daFganon_Delete`
- `useHeapInit`
- `fgannon_class::fganon_class()`

Partial Matching:
- `move` (96%, code is matching, variable memory locations needed for 100% match)
- `daFganon_Execute` (96%, code is matching, variable memory locations needed for 100% match)
- `daFganon_Create` (96%, code is matching, variable memory locations needed for 100% match)

* additional functions at 100% matching

Cleaned up the values of the static globals, will resolve their symbols later

100% Matching:
- `daFganon_Hio_C::daFganon_HIO_c`
- `anim_init`
- `tama_draw`
- `daFganon_Draw`
- `deru_brk`
- `kieru_brk`
- `deru_brk2`
- `kieru_brk2`
- `pos_move`
- `fly_se_set`
- `fly`
- `shot`
- `spinattack`
- `fly2`
- `tama_set`
- `mahou_set`
- `shot2`
- `spinattack2`
- `down`
- `kabe_check`
- `deru`
- `kieru`
- `fail`
- `standby`
- `start`
- `last_end`
- `damage_check`
- `ball_tg_check`
- `mahou_se_set`
- `daFganon_IsDelete`
- `daFganon_Delete`
- `useHeapInit`
- `fgannon_class::fganon_class()`

Partial Matching:
- `end` (97%, code is matching, variable memory locations needed for 100% match)
- `move` (97%, code is matching, variable memory locations needed for 100% match)
- `demo_camera` (63%)
- `daFganon_Execute` (97%, code is matching, variable memory locations needed for 100% match)
- `daFganon_Create` (98%, code is matching, variable memory locations needed for 100% match)

* added `mDoAud_changeSubBgmStatus` inline

* changed return type of `dComIfGp_getPlayerCameraID` inline

needed this change to get a match for this `d_a_fganon`

* d_a_fganon 100% matching

Currently the checksum fails but I have some theories as to why that might be. I'll continue to cleanup the symbols.

* symbol cleanup

* fixed `mDoAud_changeSubBgmStatus` calling wrong function

* 100% matching now, checksum passes

There is a weak function ordering issue so I included the param in `configure.py`

* PR changes made

* Additional PR changes, better naming of class members
2025-03-16 19:04:00 -04:00
LagoLunatic e9afe4c428 Add comments to scene profile structs 2025-03-15 19:29:10 -04:00
LagoLunatic a9e1527253 Work on d_a_bk, c_damagereaction 2025-03-12 22:30:10 -04:00
LagoLunatic 74b917e08c Fix const params in JGeometry::TVec3 ctor 2025-03-10 21:38:02 -04:00
LagoLunatic 8509a38a8e Cleanup 2025-03-10 21:17:59 -04:00
Ross Newman 7a8b7bfc95 d-a-obj-swhammer equivalent (#702)
* start d-a-obj-swhammer

* mostly match swhammer and name members

* rename smoke callback member mColor

* name attrs and match createheap

* 100% equivalent
2025-03-10 21:17:26 -04:00
LagoLunatic 87dcddd519 Use cLib on/off bit inlines for attn flags
The debug maps indicate these inlines were pretty much always used when these flags are ORed or ANDed (but not when checked or set).
2025-03-08 17:27:16 -05:00
Ross Newman e696d982c6 d-a-obj-barrel (#700)
* d_a_obj_barrel wip

* d_a_obj_barrel wip

* mostly match, names and cleanup

* d-a-obj-barrel 100%

* remove unused field

* remove comments and address PR suggestions
2025-03-08 16:42:46 -05:00
LagoLunatic 49c69eeb0f C_BG_MIN_HEIGHT, C_BG_MAX_HEIGHT 2025-03-06 20:41:37 -05:00
LagoLunatic c6768dba61 A few more matches for d_particle
createCommon/createRoomScene only match when the particle group enum is used, as enums and literals have different codegen
2025-03-06 18:31:33 -05:00
LagoLunatic 4a4624decf Populate particle IDs enum with placeholders and use them everywhere 2025-03-06 17:37:20 -05:00
LagoLunatic a80f464ab7 Mark obj_hat equivalent 2025-03-02 16:29:54 -05:00
Ross Newman 47c101e1e1 d_a_obj_shelf equivalent (#698)
* d-a-obj-shelf 100%

* names

* mark equivalent

* label L_attr values

* Apply suggestions from code review

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

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2025-03-02 16:22:20 -05:00
Nikolaj Jensen Ulrik d62ccfae12 d_a_obj_hat 100% (#696)
* nearly matching obj_hat

* use inline instead

* cleanup

* remove debug map

* renaming member variables

* fixing missing inlines in setMtx

* last couple of renames, status to Matching

* bit more inlining

* Apply suggestions from code review

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

* fixing review comments, missing returns

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2025-03-02 16:16:25 -05:00
LagoLunatic 6e83a87f42 Implement dCom attention inlines 2025-03-01 00:54:52 -05:00
LagoLunatic 6c6b5a95ac d_a_lwood OK 2025-02-28 18:08:31 -05:00
LagoLunatic 5571ec74e4 Document the second param to joint callback functions 2025-02-28 18:04:05 -05:00
Ross Newman fdfb69f055 d_a_tornado (#697)
* d_a_tornado 100%

* update member names

* fixes

* fix constant

* add compiler flag

* return BOOL type

* Apply suggestions from code review

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

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2025-02-28 01:49:58 -05:00
LagoLunatic c61fe4a335 Use "switch no" instead of "switch id/index" 2025-02-27 18:14:50 -05:00
mattias-blum f2264eea7c d_a_tag_so 100% (#694)
* d_a_tag_so 100%

Small one, nothing to comment on

* PR changes made

Reverted variable names, better use of inlines

* small fix, removed extra semi
2025-02-25 20:53:21 -05:00
LagoLunatic c36f24357e leaflift minor fix 2025-02-25 19:54:47 -05:00
mattias-blum ea840c9a23 d_a_leaflift 100% (#693)
* d_a_leaflift 100%

* d_a_leaflift_static 100%

Additional formatting changes plus variable re-naming's due to added context from `d_a_leaflift_static`

* PR changes made, renamed other variables

The m43C-m43E flags seem to be flags relating to Link's gliding state but couldn't figure out the order of them. m43F seems to be some timer.

* additional PR changes
2025-02-25 19:46:12 -05:00
LagoLunatic 33f76d9968 More cleanup 2025-02-23 20:56:27 -05:00
LagoLunatic c4ad9f7241 Various cleanup 2025-02-23 19:59:54 -05:00
mattias-blum 730b74e2e3 d_a_shutter2 100% (#692)
* d_a_shutter_2 100%

- Code should be consistent with `d_a_shutter`
- A couple of variables still remain unnamed

* fixed issue in configure.py, git related

* forgot to set to matching

* weak function ordering in fine, removed param

* merged decleration and instantiation of minVel, maxVel

* PR changes

_create() still has me stumped. You would think that the return after that if statement would be `return cPhs_COMPLEATE_e;` but it just, doesn't exist? Adding any sort of return statement causes it not to match. Potential bug forgotten by the devs maybe?
2025-02-23 19:42:10 -05:00
mattias-blum 8338fd56e6 d_a_shutter 100% (#691)
* d_a_shutter 100%

- Wasn't sure what to name some of the used member variables that have yet to be assigned names (ex. `field_0x339`) but if you have an intuitive guess based on the code/previous actors I'd be happy to change them

* Requested PR changes made

The only thing I was unsure about was the new name for `mCount`. I settled on `mFrameTimer` because it's initialized to 30 and counts down every frame (assuming `_execute()` is called every frame).

* changed typing of `mbIsSwitch` to remove unnecessary cast

* file reference changes
2025-02-22 21:06:13 -05:00
mattias-blum 3f00e1e347 d_a_steam_tag 100% (#690)
* d_a_steam_tag 100%

Added inline functions to `d_point_wind` that were referenced in this TU

* PR changes added

- Also removed an unused local variable, renamed another
- Seems my struct had one member too many so I removed the last one ('field_0x0F`) and resized `field_0x0E` accordingly
2025-02-20 18:38:33 -05:00
mattias-blum 5dcccc228f d_a_tori_flag 100% (#689)
* d_a_tori_flag 100%

Had to add a constructor for `dCloth_packet_c`, may want to reconsider the naming of certain members of `daTori_Flag_HIO_c` in the future.

* d_a_tori_flag 100% configuration

* Requested PR changes made

* added proper inline functions
2025-02-19 19:48:55 -05:00
LagoLunatic f51b9b65df A few small matches for 2dnumber/meter 2025-02-11 17:08:48 -05:00
LagoLunatic 9875a39ee6 Mark d_a_obj_hha as equivalent, and fix various small things in it 2025-02-01 16:42:58 -05:00
LagoLunatic 025b7e459a Switch return type of _execute/_draw/_delete to be bool by default instead of BOOL
It's not completely consistent, but it seems like the majority used `bool`, and only a handful used `BOOL`. So I switched all of them to `bool` except for 13 TUs that stopped matching when changed like this.
2025-02-01 16:17:46 -05:00
Azurpourpre 39aace2c91 d_a_obj_hha 100% (#688)
* daObjHhaPart_c : progress on init_data, set_mdl_area, set_bgw, init_mtx

* daObjHhaSplash_c::create_s match

* daObjHhaYgush_c::create_area match

* daObjHhaYgush_c::init_data match

* daObjHhaYgush_c::init_mtx match

* daObjHhaYgush_c::draw match

* daObjHha_c class definition

* exe_normal & draw_normal match

* daObjHha_c::create_heap match

* daObjHha_c::_create match

* daObjHha_c::_delete almost match

* daObjHha_c::check_sw

* daObjHha_c::set_tex match

* daObjHha_c::init_mtx match

* daObjHha_c::get_water_h

* daObjHha_c::set_splash_bottom_* & daObjHha_get_r match

* daObjHha_c::set_splash_bottom_stop_r match

* daObjHha_c::part_manager almost match

* daObjHha_c::ygush_manager match

* daObjHha_c::_execute almost match

* daObjHha_c::_draw match

* daObjHha_c::water_manager match

* Mthd match

* da_a_obj_hha object file match

* Cleaning & adding variable names

* Updating configure.py & cleaning

* fixing d_a_obj_hha constants symbol name

* Adding suggestions (zeldaret/tww/#688)

* Fixing d_a_obj_hha Mthd (as suggested in PR zeldaret/tww/#688)

* Reverting configure.py
2025-02-01 15:44:48 -05:00
LagoLunatic a52bb789da Rename HostIO mChildID to mNo
TP debug has an assert in d_a_obj showing the name of this variable is `M_no` there.
2025-01-31 15:49:44 -05:00
LagoLunatic 901bc51f40 d_a_npc_md work 2025-01-27 19:26:14 -05:00
LagoLunatic 46801e0ee9 npc_ji1 small matches 2025-01-27 19:22:15 -05:00
LagoLunatic ffe54e0bea Mark funcs with weak func order issues as Equivalent, fix a few other issues 2025-01-23 21:52:41 -05:00
LagoLunatic e8adc6c9e5 Rename more item enums 2025-01-17 20:58:43 -05:00
LagoLunatic 5400c43ea1 d_a_bk work 2025-01-17 20:04:27 -05:00
LagoLunatic 2a02484cdc JStudio/JMessage work and cleanup 2025-01-17 20:04:18 -05:00
LagoLunatic e620f9328b Use _GX name typedefs 2025-01-14 22:47:21 -05:00
LagoLunatic 8e44641465 Fix various data relocation differences in unlinked TUs 2025-01-14 22:11:08 -05:00
LagoLunatic 40d18bef9d Misc cleanup 2025-01-11 22:12:10 -05:00
LagoLunatic 532bdb29ad Some initial work on HIO classes definitions for debug build 2025-01-11 22:10:44 -05:00
LagoLunatic d330c1e68a Add enums for items and disappears 2025-01-11 19:15:36 -05:00
LagoLunatic 24fab1a52a Add player anm enum comments to anm index tables 2025-01-11 18:28:46 -05:00
LagoLunatic ca6bebcb4b Add more actor mode enums 2025-01-11 17:20:45 -05:00
Azurpourpre 3816b8d8f0 d_a_obj_rforce match (#686)
* d_a_obj_rforce match

* Adding suggestions (Pull Request zeldaret/tww/#686)
2025-01-10 23:48:07 -05:00