Commit Graph

1634 Commits

Author SHA1 Message Date
LagoLunatic b72d243f9b Cleanup the 3 path/point structs 2025-03-28 20:31:04 -04:00
LagoLunatic 8cfd2f7a1e ship 99.98% 2025-03-28 19:25:28 -04:00
LagoLunatic bf2a5b9808 shand OK, ship 99.8%, add some missing inlines 2025-03-28 18:15:14 -04:00
mattias-blum d945c14cac d_a_ship 95% (#706)
* Initial Progress

Basic functions at 100% matching

100% Matching:
- `daShip_Draw`
- `daShip_Execute`
- `daShip_IsDelete`
- `daShip_Delete`
- `daShip_createHeap`
- `daShip_Create`

* implemented `getJointPos` inlines in `daTornado_c` needed for d_a_ship

* implemented `Center()` inline in `dCamera_c` needed for d_a_ship

* added `setTranslationX` inline to `J3DTexMtx` needed for match in d_a_ship

* parameters set to `const` for certain inlines in `m_Do_mtx.h`

* added `dComIfGp_onMenuCollect` inline

* changed `shipSpecialDemoStart` return type to `BOOL`

* added member functions to `dPa_waveEcallBack`, `dPa_splashEcallBack `, `dPa_trackEcallBack`

also modified member type of `mRotMtx` of `dPa_waveEcallBack`  and `mPos` of `dPa_trackEcallBack`

* added member to `daGrid_c` that is used in d_a_ship

* added `mDoAud_setShipSailState` and `mDoAud_shipCruiseSePlay` inline functions

* added `fopAcM_seenPlayerAngleY` inline

* d_a_ship mostly matching

approx. 90% matching, mostly regalloc issues. , `checkNextMode`, `setRopePos`, `setHeadAnm`, and `execute` need to have their logic fixer

* replace `unknown_inline_TODO ` from `daShip_c` with `checkForceMove`

* .data match

* .rodata matching

* more inline return type changes from `bool` to `BOOL`

Also changed the array size of `mPlayerStatus`

* implemented `force_calc_wind_rel_angle` inline in `daGrid_c`

* fix `d_a_ship_static`

* fixed `getEmitterAxis`, might need review but works for now

* more progress

* reverted change to `getEmitterAxis`, moved casts to function call in `dPa_waveEcallBack::executeAfter`

* more progress

* change return types of certain inlines from `BOOL` to `u32`

`dComIfGp_checkCameraAttentionStatus`, `dComIfGp_checkPlayerStatus0`, `dComIfGp_checkPlayerStatus1` needed for match in d_a_ship

* fixed memory addresses in `daGrid_c`

* more progress

* resolving symbols

* Initial PR changes

* Removed unnecessary cast

* replaced instances of `PSVECSquareMag` with corresponding inline functions

* update memory layout in `d_a_grid` for consistency

* More PR changes

`checkNextMode` and `procZevDemo` now at 100% matching
2025-03-28 14:17:21 -04:00
Azurpourpre 4a2d7dd320 d_a_shand (#709)
* hand_draw match

* daShand_Draw match

* d_a_shand/control1 match except regalloc

* control2 almost done (regalloc issue)

* control3 match

* cut_control progress

* cut_control3 match

* normal progress

* cut match

* hand_move progress

* daShand_Execute match

* daShand_Delete & daShand_IsDelete match

* daShand_Create progress

* daShand_solidHeapCB match & useHeapInit progress

* daShand_HIO_c::daShand_HIO_c match

* control1 match

* control2 match

* cut_control match

* hand_move progress

* daShand_Create progress

* useHeapInit match

* Minor fixing

* Fixed hand_move stack

* semicolon forgot

* Added suggestions (PR #709)

* Correcting typo
2025-03-28 14:02:56 -04:00
Zeclos f02691a407 D_a_tpota (#710)
* cool push for now, execute almost done

* _create function

* alot closer to matching most

* fixed data

* delete function

* rodata is good now

* 100% matching

* matching in configure.py

* changes from comments
2025-03-27 04:24:40 -04:00
Ross Newman 1a752bbbb9 d-a-obj-shmrgrd (#708)
* start d-a-obj-shmrgrd

* mostly matching

* constructor

* 100%

* d-a-obj-shmrgrd equivalent
2025-03-27 01:26:27 -04:00
LagoLunatic 030082648d Fix ninja diff 2025-03-26 18:07:08 -04:00
LagoLunatic 13fd5f3dc4 d_a_bk OK 2025-03-24 20:32:30 -04:00
Ross Newman 8c89f42a0c d-a-obj-swpush (#707)
* start d-a-obj-swpush

* wip

* 99% match

* renames

* cflag

* label attr

* pr feedback
2025-03-23 18:39:30 -04:00
LagoLunatic 4ae8f5fa4b Fix obj_ebomzo regalloc, link
nice const meme
2025-03-21 01:45:27 -04:00
LagoLunatic 9a3f07b7da Fix obj_shelf weak order, fix MoveBG inline usage 2025-03-21 01:42:04 -04:00
LagoLunatic e71662caa0 More return types, set up all dBgS_MoveBgActor subclasses 2025-03-18 16:17:53 -04:00
LagoLunatic 4c3bd2c651 Missed some spots where cPhs_State should be used 2025-03-18 15:10:32 -04:00
LagoLunatic 822b13e57a Add cPhs_State typedef and use it everywhere 2025-03-17 22:26:56 -04:00
LagoLunatic 455ff4a571 akabe/swheavy create_heap: Found a slightly cleaner fakematch 2025-03-17 19:49:14 -04:00
Ross Newman 20317a1942 d-a-obj-swheavy (#704)
* start d-a-obj-swheavy

* mostly finish d-a-obj-swheavy

* renames and 100%

* mark matching

* address PR comments
2025-03-17 19:03:04 -04:00
LagoLunatic b97eeed779 Rename J3DFrameCtrl loop mode enum
See https://github.com/zeldaret/tp/pull/2327/commits/2a284165cf35a2324d36d825add5c06ffa864398
2025-03-17 16:21:46 -04:00
LagoLunatic 90a8e2db65 Fix compilation warning from ygush 2025-03-17 15:57:32 -04:00
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
LagoLunatic 6acb5f801b dolphin/dvd OK 2025-03-16 21:52:11 -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 243c576d6e JASHardStream OK 2025-03-15 20:35:06 -04:00
LagoLunatic 89e9cdafb5 JASChannel OK 2025-03-15 19:55:45 -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
LagoLunatic b4a6abb121 Fix priority type u32 -> s32 2025-03-10 21:17:59 -04:00
LagoLunatic 6c4ce7ec80 Fix fakematch reuse of var in getLayerNo
Turns out that a double ternary has different codegen than if+else+ternary
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 d36ca31105 Fix up nonmatching d_attention functions 2025-03-08 17:27:16 -05: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 7678a0be84 d_bg_w and c_m3d OK 2025-03-07 17:40:54 -05:00
LagoLunatic 49c69eeb0f C_BG_MIN_HEIGHT, C_BG_MAX_HEIGHT 2025-03-06 20:41:37 -05:00
LagoLunatic 0e508ad721 Clean up JPAEmitterLoader 2025-03-06 19:15:49 -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 d882c16b55 d_bg_w progress 2025-03-06 01:12:50 -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