* Clean up various inlines/fakematches/comments
* Copy OptRuby inline name from TWW debug
* Resolve all dEvt_control_c related fakematches, return pointer instead of reference
* Fix some more missing inline usages
* Fix Debug_BBA being in the wrong split for GCN
* Add .init splits/symbols for Wii versions
* Fix incorrect relocations detected to __check_pad3 for Wii
* Add .init splits and fix __check_pad3 for Shield versions
* Replace bss lbl_ with init$0000
* Rename l_HIOInit to hio_set
The name is excluded from TP's weird maps, but hio_set is the name they used in TWW's maps.
* Fix a couple more init$ names
* Fix nbomb missing some bss
* Fix camera localstatics having wrong name
* Rename l_initHIO to hio_set
* A couple manual fixes
* Rename hioInit to hio_set
* Couple more manual fixes
* Fix d_a_npc_cd2 data and function order
* More data fixes
* Fix inconsistent hex vs decimal
* JAUSectionHeap OK
* Slightly improve d_camera weak func order (12 -> 10)
* Minor d_a_alink fixes
* weak_order_diff.py: Change to take source file as cli argument instead of .o file
For cli autocompletion to work.
* Reorganize J3D structs (no change in weak order)
* Match sumouPunchMiss, improve sumouPunchChaseShock
Removing these consts also matches several functions on debug.
* Match sumouSideStep and sumouPunchChaseShock
* J3D debug work
* Clean up JSystem GXColor ctors, remove a couple fakematches
* Update symbols.txt
* Fix res include syntax
* Remove fakematch that isn't necessary anymore
* Fix some Shield regressions
* Fix functionvalue weak func order
* Add script to help diffing weak function order
* Improve alink weak func order (44 -> 15)
* Improve m_Do_ext weak order (12 -> 7)
* Remove old hack
* Fix d_a_tbox weak func order
* Fix d_a_npc_ks weak func order
* Fix error when trying to diff weak func order for ShieldD due to hidden function alignment gap symbols
* Fix missing line numbers for debug
* Fix horse inlines and HIO
* Match daHorse_c::setEffect
* Improve a few debug matches
* Match daHorse_c::checkHorseNoMove (half fake)
* Update configure.py
* 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 HIO load order in daHoZelda_c::searchBodyAngle
* Fix regression in daHoZelda_c::createHeap
Apparently the HIO class being constructed having an explicit ctor breaks the compiler ability to branchlessly optimize the false/true return afterwards. Without an explicit ctor the compiler is able to optimize it successfully, which breaks the match.
* Fix HIO load order in daNpc_ykW_c::setAttnPos
* Remove false version diff
* Update configure.py
* Remove old comment
* Fix alink HIO members being private
* alink: Fix HIO loads in 3 retail functions and almost all debug functions
* Match four inline asm functions with manual regalloc
* J3DSkinDeform::changeFastSkinDL: Clean up var names, slightly improve match
* Syntax
* More var names
* Misc debug matches
* Fix JASBasicWaveBank weak func order
* Remove more dol2asm stuff, fix missing includes
* Some data fixes
* Update comments
* d_file_sel_warning is already OK
* Fix Z2 splits
* Fix movebox namespace
* Fix inlining issue in m_Do_ext
* Fix Z2 splits for P and J
* Misc matches
* Remove more old dol2asm stuff
* Remove dCcS::SetMass-related fakematches
No longer necessary with the PCH for some reason.
* Use attention types enum in more places
* Remove more dol2asm stuff
* Clean up matDL_dis.py
* dBgWKCol::CaptPoly equivalent
* dBgWKCol::CaptPoly OK
* Switch s32->int for the rest of the dBgW functions just in case
This doesn't immediately help any other functions besides CaptPoly, but I suspect it could help prevent issues in the future since it's more likely to be what the original devs did.
* Debug var fix
* Match 3 more kcol funcs
* Remove unused lits
* Update nonmatching comments
* Fix ChkShdwDrawThrough
* 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
* Misc debug matches
* Fix d_map weak function order
* Remove old nonmatching comments
* d_menu_dmap and JASAudioThread OK, fix weak func order and rodata alignment
* More misc matches
* Replace DANPCF_C_HACK with a better fakematch
* d_a_obj_item OK
* Fix ninja diff
* Misc debug/nonmatching fixes
* Fix ninja diff for PAL
* Fix bad PAL split
* Fix REL ctors splits for Shield final version
* Fix profile_lst split for Shield
* Add Shield to vscode configure task
* Add align:16 to most functions in Shield main.dol
* Start linking some TUs for Shield
* Add Shield final version to CI
* Fix "0" asserts
* More debug and regalloc fixes
* Fix PTMF syntax for compatibility with other compilers
* Fix some fakematches, link more TUs for J/P
* Debug work + some retail regalloc fixes
* Use AUDIO_INSTANCES in places it's missing, link d_a_e_bee
* Link m_Do_machine
* Fix clang putting other includes before the pchs
* Link some more debug TUs that already match
* 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
* Match mDoExt_morf_c::getPlayMode
* Misc cleanup
* Fix actor cull spheres
* Match daPy_py_c::getLastSceneSwordAtUpTime, JUTGamePad::testTrigger
* Fix improper demangling of dBgS_SphChk::SetCallback
* Fix d_camera rangef weak func order
* Match more alink_wolf funcs
* Fix clang union handling (affects all TUs including d_camera.h)
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.
* Link all TUs that already match on debug
In order to link TUs for debug, most functions seem to need to have their alignment set to 16 in symbols.txt. There are a few hundred functions that seem to be the exception and break when their alignment is set to 16, but I don't know the reason for this.
* Remove some fakematches (nosyminline/sym off) for weak func order in retail
* Fix clang not knowing that MSL_C++ is C++
* Link more debug TUs
* Fix missing PAL split
* Fix wrong slashes being used in includes
* RZDE01_00: Fix incorrect capitalization in config.yml
* Add RZDE01_00 to configure task
* Revert configure.py to use MatchingFor
* Fix PAL splits and symbols, link matching PAL TUs
* Add ShieldD to GitHub CI build
* Update dtk-template, add support for CI caching
* Fix PAL and JPN not building on Linux due to case sensitive file paths
* Add PAL and JPN to GitHub CI build
* Fix bad copy paste
* Update dtk-template
* Fix debug build
* Fix d_event_debug includes
* Progress reports: Enable function relocation diffing (data_value)
* Fix some diffs
* Fix a few more diffs
* More fixes
* Fix debug build
* Minor fixes
* Match daAlink_c::getDemoLookActor
* Fix JStudio paths in ShieldD splits
* Fix JStudio not compiling on debug
* Fix JStudio not compiling on retail, add fake header
* Fix debug build
* Debug build now takes .alf as input instead of .dol
I had to manually remove the following line from symbols.txt for DTK to work:
```
.data = .sbss:0x8074C97C; // type:object size:0x4 scope:local data:byte
```
After that it built OK, and DTK automatically modified all other lines in symbols.txt.
* Fix pragma in header messing up debug optimization level
* Fix missing arg to JUT_ASSERT
* Fix some MWCC version diff errors
* Compile m_Do_ext, d_demo, actor_mng
* Add VSCode task to quickly switch between versions
* Unlink magLift for debug
* Update the hash of the debug dol
The old cbea5fa... hash here was for the dol generated by the alf2dol.py script, which produces incorrect alignment.
The dol with the new hash can be obtained by using `dtk elf2dol` to convert the debug .alf file to a dol.
The DOL now builds OK.
* Fix all debug REL dtor splits
All RELs now also build OK, meaning `ninja build/ShieldD/ok` now succeeds.
* Add genMessage declarations to all HIO subclasses
* Fixing more compilation errors
* m_Do_mtx 100% on debug
Cannot be linked due to weak function name mangling?
* Improve various matches
* Fix all remaining compilation errors
* Fix new compilation errors from main
* Fix retail regression
* Link f_pc_profile_lst
* Fix false pointer relocations in data breaking shiftability
* Update matDL_dis.py from tww
* remove debug prints from matDL build script
* matDL build rule: Allow specifying global/local scope
* Use asset extraction for ShieldD
* Set mode `+x` on executable Python scripts
* set `+x` on matDL_dis