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.
* Add helper functions for d_attention
* Copy and adapt code from TP
* Move for better matching layout
* Clean up includes for d_attention.cpp
* Give dAttention_c::nextAttention a return
* Use enums in dAttention_c::getActionBtnB and slight reformat
* Change return types for comparison code to match
I don't love this
* Implement dAttList_c::calcWeight
* Implement dAttention_c::sortList
* Implement dAttDraw_c::draw
* Implement dAttDraw_c::setAnm
* Implement dAttention_c::chaseAttention
* Implement judgement related functions
* Implement dAttention_c::Run and runDrawProc
* Implement dAttention_c::Draw
Actually finish Draw
* Looks like dAttention_c::stockAttention had an unused return value
* Give d_Attention_c::mLockOnState an enum
* Rename field_0x02c to mDrawAttnPos based on TP
* Add comments for fields of d_attention
* Give d_attention's flags an enum (although without names)
* Undo type change for dAttention_c::{chk,set,clr}Flag
Co-Authored-By: LagoLunatic <LagoLunatic@users.noreply.github.com>
* Do not spell the `this` pointer
Co-Authored-By: LagoLunatic <LagoLunatic@users.noreply.github.com>
* Deal with resource enums and inlines
* Move PLAYER_STATUS_FLAG_MAGIC_JUDGEMENT to daPy__PlayerStatus0 enum
* Use inlines and macros
* Add mDoCPd_L_LOCK_BUTTON inline, debug maps claim it exists
Nothing else uses it
* Update TODO comments
* Debug maps claim runXyCheckCB was used but it only makes sense if modified
* Use dComIfGp_getPlayer instead of directly indexing the array
* Locate a few more inlines
* Do not cast to AttentionFlags enum type
* Update configure script
---------
Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
* f_op_msg_mng work
* Fix Some Conflicts
Haven't had much chance to work on actual progress, still looking to do more matching before merge
* Tiny bit of Work
Little bit of cleanup, start on a couple more functions
* More Matches
Also add back some missing nonmatch comments
* Fixes
* JPN ifdefs
* Inline Fix
Also force one match (there's no way that casting is real)
* Reorder Strings
Fix rodata, I think this order is also slightly more accurate to the function (but I'm not really trying to match it right now anyways)
* initial progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* fix outdated member names
* more progress
* more progress
* more progress
* more progress
* more progress
* more progress
* fixed deprecated member references
* more progress
* more progress
* more progress
* fix deprecated member references
* more progress
* more progress
* more progress
* more progress
* more progress
* check in for review
* remove comment
* initial PR changes
* more PR changes
* more PR changes
* added anonymous struct as class member
* reverted changes to `stage_camera2_data_class`
* added `dCamera_event_data`, `dCamera_monitoring_things` and `dCamera_DMC_system` from debug maps
* more progress
* more progress
* realmatch for `camera_draw`
* PR changes
* fix broken merge
* formatting
* Reverted change to `camSphChkdata` that caused `sph_chk_callback` match to regress
* Reverted change to `BG` struct that caused ctor and dtor match to regress
* 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