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
LagoLunatic
c91ade372a
VSCode configure task: Use the env's Python interpreter
2025-03-16 21:49:29 -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
f5e7395ddd
Fix wording
2025-03-12 21:46:02 -04:00
LagoLunatic
5a5019589e
Added decompilation guides for new contributors ( #703 )
2025-03-11 19:20:47 -07: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
6c75c400f2
Reorder dComIfG inlines
2025-03-01 00:54:57 -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
8ed6cad381
d_timer OK
2025-02-23 20:57:01 -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