Commit Graph

83 Commits

Author SHA1 Message Date
LagoLunatic 7cd75e8f7b Demo matches (#767) 2025-05-24 18:54:46 -04:00
LagoLunatic 21cd7a2f67 G_CM3D_F_INF 2025-05-21 16:46:21 -04:00
LagoLunatic ee2e164fa2 Demo: Fix cM3dGCyl 2025-05-21 14:51:12 -04:00
LagoLunatic cbbd4c2dc0 Match more player_main regalloc/stack/etc issues 2025-05-08 23:00:19 -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 2690304a74 player_main cleanup and a few matches 2025-04-29 15:44:49 -04:00
LagoLunatic db2c5ef978 Cleanp a bunch of stuff 2025-03-28 20:44:06 -04:00
LagoLunatic 822b13e57a Add cPhs_State typedef and use it everywhere 2025-03-17 22:26:56 -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 8509a38a8e Cleanup 2025-03-10 21:17:59 -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
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 d882c16b55 d_bg_w progress 2025-03-06 01:12:50 -05:00
LagoLunatic 7297cbaf38 c_m3d done except for regalloc 2025-02-05 18:04:26 -05:00
Jasper St. Pierre 2db35c0108 name cPhsUNK3_e 2024-12-24 14:37:05 -08:00
LagoLunatic ba203cc5fb Match most cM3d tri funcs 2024-09-06 19:20:29 -04:00
Jasper St. Pierre 893f6bc112 d_particle work 2024-09-02 18:21:08 -07:00
LagoLunatic 660a5ac699 cc cleanup 2024-08-24 12:39:21 -04:00
LagoLunatic f3670781af Use std:: namespace for tanf, tolower, strlen, strrchr 2024-08-08 17:18:13 -04:00
LagoLunatic a25d2651de Move sqrtf to std:: namespace 2024-08-08 14:55:57 -04:00
LagoLunatic 707fceca57 Move fmodf, atan2f, sinf, and cosf to std:: namespace 2024-08-08 14:50:10 -04:00
LagoLunatic d287e79ab0 Move abs and fabsf to std namespace 2024-08-07 12:55:30 -04:00
LagoLunatic 2def735282 Add fpc_ProcID type and use it for all process IDs
See https://github.com/zeldaret/tp/pull/2173
2024-07-12 21:14:13 -04:00
LagoLunatic aad93dbfb4 clean up c_xyz to not use fake inlines 2024-06-30 11:18:02 -04:00
LagoLunatic f9d40ebad8 Use NULL macro in asserts, fix NULL macro to match 2024-06-22 11:07:16 -04:00
LagoLunatic 459cf6caa7 clean up some inline parameters 2024-04-18 23:16:38 -04:00
LagoLunatic d0e8844b4b Add uint typedef 2024-03-11 18:23:44 -04:00
LagoLunatic 64dd688ddd Make JUT_ASSERT macro more accurate
(COND) == 0 and !(COND) both only match sometimes, but (void)((COND) || ...) seems to work all the time.
2024-03-09 17:05:34 -05:00
LagoLunatic 7e5a8dbe16 a few minor c_m3d matches 2024-02-26 22:38:26 -05:00
LagoLunatic bab128d8a8 Copy new c_m3d progress from TP decomp 2024-02-26 22:00:18 -05:00
Franklyn Tackitt 68c97bf2db Implement cM3d_Len3dSqPntAndSegLine
Fix cM3d_Len2dSqPntAndSegLine
2024-02-26 16:12:02 -07:00
LagoLunatic a3748c1fbc d_cc_s work 2024-02-12 00:29:59 -05:00
LagoLunatic 85a3e6266f d_bg_w_hf OK 2024-02-11 22:06:25 -05:00
LagoLunatic a38191d6ee d_bg_w_hf 70% 2024-02-11 00:19:36 -05:00
LagoLunatic deb7faebbf various cleanup, fix some fakematches 2024-02-10 01:09:51 -05:00
LagoLunatic f4ac738d36 Clean up comments 2024-02-01 20:56:47 -05:00
Jasper St. Pierre 1acd6f1a97 c_m3d work 2024-01-20 10:44:36 -08:00
Jasper St. Pierre e93bb0a65c c_bg_w match 2024-01-20 10:35:03 -08:00
Jasper St. Pierre f524c4e974 c_bg_w 99% 2024-01-20 10:30:36 -08:00
LagoLunatic fa5010b1dd some actor documentation and cleanup 2024-01-18 18:55:47 -05:00
Jasper St. Pierre 1bc2a4255c c_bg_w work 2024-01-18 00:46:33 -08:00
Jasper St. Pierre 42cd8fc310 c_bg_w work 2024-01-18 00:16:48 -08:00
Jasper St. Pierre 743c91ff74 c_bg_w work 2024-01-17 22:18:40 -08:00
LagoLunatic a19a4d3378 d_bg_s_acch almost 2024-01-05 02:32:41 -05:00
LagoLunatic 69444ef01e use enums and inlines in more places 2023-12-30 15:08:24 -05:00
TakaRikka 5773ee904c reorganize MSL_C/Runtime files. wip, notmatching 2023-12-27 21:07:21 -08:00
LagoLunatic ed66f75566 c_cc_d inlines and enums progress 2023-12-22 20:11:49 -05:00
LagoLunatic b066a4c59b c_cc_d OK 2023-12-20 23:52:56 -05:00
Jcw87 586e74f8d4 make function signatures more consistent 2023-12-20 18:50:51 -08:00