* 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
* 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
* Match four inline asm functions with manual regalloc
* J3DSkinDeform::changeFastSkinDL: Clean up var names, slightly improve match
* Syntax
* More var names
* 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
* d_a_tag_evtarea mostly done, work on d_a_npc
* work on d_a_npc_ash
* work on Z2SoundHandles
* Z2SoundObject, JAUSoundAnimator OK
* Update Progress.md
---------
Co-authored-by: randomsalience <randomsalience@gmail.com>
* 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
* finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data
* rename more data
* remove asm / progress
* match all of d_pane_class
* fixes / some dKankyo doc
* bunch of j2d work. d_drawlist / d_attention cleanup
* progress / asm
* cleanup wip
* decompile JStage
* setup some more JStudio structs
* set up d_demo classes
* some d_demo work
* cleanup dolphin os stuff
* some initial dEvent documentation
* some At collision documentation
* match JUTConsole::doDraw
* dbgs work / split up some of d_a_alink into .inc files
* d_a_alink_spinner work
* 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
* finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data
* rename more data
* remove asm / progress
* match all of d_pane_class
* fixes / some dKankyo doc
* wip
* bunch of MSL_C files
thanks to pikmin2 decomp for their work
* format / asm
* progress
* fix
* fix remove-asm to work with C files
* init / start
* JUTException inherit JKRThread
* OK __ct__12JUTExceptionFP14JUTDirectPrint
* OK create__12JUTExceptionFP14JUTDirectPrint
* OK setFPException__12JUTExceptionFUl
* OK showFloatSub__12JUTExceptionFif
* OK showFloat__12JUTExceptionFP9OSContext
* OK searchPartialModule__12JUTExceptionFUlPUlPUlPUlPUl
* OK search_name_part__FPUcPUci
* OK showStack__12JUTExceptionFP9OSContext
* OK showMainInfo__12JUTExceptionFUsP9OSContextUlUl
* OK showGPR__12JUTExceptionFP9OSContext
* OK __sinit_JUTException_cpp
* OK showMapInfo_subroutine__12JUTExceptionFUlb
* OK showGPRMap__12JUTExceptionFP9OSContext
* OK showSRR0Map__12JUTExceptionFP9OSContext
* OK printDebugInfo__12JUTExceptionFQ212JUTException9EInfoPageUsP9OSContextUlUl
* OK isEnablePad__12JUTExceptionCFv
* OK readPad__12JUTExceptionFPUlPUl
* NONMATCHING printContext__12JUTExceptionFUsP9OSContextUlUl
* OK printContext__12JUTExceptionFUsP9OSContextUlUl
* OK __dt__12JUTExceptionFv
* OK waitTime__12JUTExceptionFl
* OK createFB__12JUTExceptionFv
* OK setPreUserCallback__12JUTExceptionFPFUsP9OSContextUlUl_v
* OK __ct__13JUTExternalFBFP16_GXRenderModeObj8_GXGammaPvUl
* OK createConsole__12JUTExceptionFPvUl
* NONMATCHING queryMapAddress_single__12JUTExceptionFPcUllPUlPUlPcUlbb
* OK queryMapAddress__12JUTExceptionFPcUllPUlPUlPcUlbb
* OK appendMapFile__12JUTExceptionFPCc
* clean up
* OK panic_f__12JUTExceptionFPCciPCce
* OK panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct
* OK errorHandler__12JUTExceptionFUsP9OSContextUlUl
* format
* format
* fixed requested changes
* merged with master and removed *.s files
Co-authored-by: Julgodis <>
* d_resource / some d_stage
* setup dDlst_list_c / d_select_icon OK
* JUTXfb / some JUTVideo + various
* some J2D classes / JUTVideo/Fader attempts
* bunch of m_Do cleanup + matches / f_ap_game OK
* mDoLib_clipper::setup OK
* most of d_meter_HIO OK
* pane_class / kantera_icon_meter
Removes the strong dependency on a single header file and moves
declarations to their respective header file.
This allows for making dependencies explicit in cpp files and other
headers, and also makes it much easier to track where everything related
to a particular component is.
This change also creates a few header files that previously didn't
exist, making it much nicer for people implementing things, as they
won't need to create the header file, it'll just be there ready to go.
Ideally functions.h wouldn't even be a thing, as this header adds a lot
of preprocessing overhead due to its size, and will continue to grow
significantly larger over the lifespan of the project, which can also
impact the performance of editors that do dependency lookups and
context-aware syntax highlighting.
i previously had a bad habit of using double underscores in include
guard macro names, which are implementation-reserved per
the C++98 standard (see 17.4.3.1.2 Global names).
Co-authored-by: Pheenoh <pheenoh@gmail.com>
* before __register_global_object
* JKRThread::sThreadList, JKRHeap::sSystemHeap, etc.
* cleanup and started on JKRDvdArchive
* before changing JKRCompression
* more JKRDvdArchive, abs, and memset
* fixed JKRArchive::setExpandSize split
* JKRArchive::sCurrentDirID, JKRDvdFile::sDvdList, and matching JKRDvdFile constructors
* problems
* merge fixes and formatting
* updated clang version in clang-format-all to version 10
* Added OSPhysicalToCached and struct for global memory
* remove useless __attribute__
* changed from defines and macros to const variable and function
* changed FLAG_HAS to FLAG_ON
* JKRAram, linking problems
* fix JKRAram
* remove nonmatching stuff
* renamed static data
* more static class members
* JKRAramStream OK
* formatting
Co-authored-by: Julgodis <>
Co-authored-by: Pheenoh <pheenoh@gmail.com>