The hope of auto-importing data via lld MinGW
+ pseudo_reloc is now dead thanks to ARM64,
so I just wrote a script to go annotate every
exported data symbol in the game instead.
* Add a *ton* of const and constexpr around the codebase.
This makes the codebase compile without strings being cast to non-const char*. I also went through and added constexpr where appropriate for tons of static data.
* Make process definitions const too
Might as well
* Array size UB fixes
* Fix ShieldD
* Remove (almost) all unsafe strcpy calls
Bunch of macros. C arrays are easy enough and just need a different call. For various cases where a char* is passed around bare, I've made a TEXT_SPAN macro that can store a length too for bounds checking.
* Move crash handling in safe string operations to separate TU
* strcat safe version
* sprintf made safe too
* Fix compile
* Consolidate fopAcM_STATUS into fopAc_Status_e
* Add _e suffix to fopAcStts enums
* Prepare for profile enumeration
* Correct typo in scene_process_profile_definition
* Manually handle g_profile_Obj_DamCps (inline preprocessing)
* Correct g_profile_TAG_LV5SOUP procname to enum
* Create d_priority.h
* Update process profile definitions
* Moved inline comments to the left
* Add missing fopAcStts enums
* Add d_priority.h include in f_pc_leaf.h
* Manually update d_a_obj_damCps profile
* Replace fopAcStts enums replacing and anticipatory profile size correction
* Changed profile size from literal to sizeof() in anticipation of PR #3116
* Provided putative names to staff-related status enums
* Replaced appropriate literals with fopAcStts enums
* Fix borked merge
* Rename item number enums and move to d_item_data.h
* Rename process profile name & draw priority enums
* Move process profile name & draw priority enums to appropriate files
* Moved fpcNm_ enums from d/d_procname.h to f_pc/f_pc_name.h
* Moved fpcDwPi_ enums from d/d_priority.h to f_pc/f_pc_draw_priority.h
* ACTUALLY (whoops) stage merge
* Correct item mistranslation
Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
---------
Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
* Debug matches
* Match daAlink_c::procGrassWhistleWait
* Match JASAramStream::channelProc
* More debug matches
* Match JAUStreamStaticAramMgr_::deleteStreamAram and bitset inlines
* Fix some fakematches
* Fix gameinfo player info not being a struct
* Update bug comments
* Fix procids in alink
* d_a_scene_exit OK
* Fix GetPolyIndex and GetBgIndex, fixing a couple regallocs
* Match daNpcCd2_c::checkFearSituation and daNpcCd2_c::getAnmP
* Match daAlink_c::jointControll
* Clean up float class checks
* Move float constants to global.h
* Fix JUT_ASSERT to be a nested define
* Switch names that appear in asserts to be constants instead of defines
* Replace `0` in asserts with `NULL` or `FALSE`
* Fix fpclassify
* Fix ARRAY_SIZE
* Use G_CM3D_F_INF
* More fixes for fpclassify
* Remove FLOAT_LABEL
* Remove incorrect FLAG_ON macro
* Remove UNK_BSS macro
* Silence clangd unused header warning for PCH
* anm_init and nodeCallBack, need to review nodeCallBack as weird code
* First pass on class, 86% match
* Cleanup for PR, still work to do
* Solve error after pull
* Clangd format
* Adressing PR comments
* Update l_HIOInit
* Fix debug building, 60% match on debug :')
* add "global.h" to files that use it
* add MSL_C includes to files that use them
* remove dolphin includes from headers that don't need them
* remove JSupport includes from headers that don't need them
* remove JKernel includes from headers that don't need them
* remove JUtility includes from headers that don't need them
* remove J3D includes from headers that don't need them
* remove J2D includes from headers that don't need them
* remove JAudio2 includes from headers that don't need them
* remove Z2AudioLib includes from headers that don't need them
* remove JMessage includes from headers that don't need them
* remove JParticle includes from headers that don't need them
* remove SComponent includes from headers that don't need them
* remove dol includes from headers that don't need them
* sort includes
* d_a_alink pass1 wip
* more d_a_alink work
* remove asm
* more daalink work
* 20% dol code decompiled
* fixed some nonmatchings for building
* a few daalink functions and labeling some HIO data
* work on fop actor / actor mng, daalink, d_a_obj_item
* d_a_title mostly decompiled
* daalink / d_event / JMessage / dmsg_out_font work
* msg_scrn_base / msg_scrn_boss
* some work on mDo machine, d_menu_save, d_tresure, and various
* remove asm
* progress
* some d_save matches / fixes
* more d_save cleanup
* fopAc_ac_c changes
* move a bunch of d_save / d_com_inf_game stuff
* format + remove asm
* move bit labels to correct header
* format
* move d_item
* fix check_itemno doc
* move
* fixes
* getLayerNo_common_common almost matching
just regalloc issues
* small fixes
* few more matches
* fix