* data for c_angle
* data c_sxyz
* partially migrated c_xyz data
* c_xyz data
* c_xyz data decomp
* c_math data
* c_math data
* c_lib data, some cleanup
* rename some unnamed functions and create header for them
* header for string functions
* format and fix fabsf
* cleanup
* remove more unneded function prototypes
* move fpclassify to math.h
Some inline helper function of the included files in the header make use
of functions defined within it. This can cause a circular dependency
cycle if said helper functions are ever defined within the classes.
To break this potential cycle, we can use forward declarations.
This also has the benefit of reducing preprocessing overhead a little
bit.
* decompiled some bgs_chk funcs
* c_m3d_g
* c_math progress
* remove duplicate SComponent headers
* move some variables and decompile a function
* some inlined from debug
* cM3d_2PlaneLinePosNearPos
* fix fabsf and decompile cM3d_CrawVec
* format
* cleanup
* more cleanup
Co-authored-by: Pheenoh <pheenoh@gmail.com>
* c_phase: Make cPhs_Do a little more matching
Still doesn't fully match, but now the branch offsets and everything
else line up.
The load of pUserData still doesn't properly match though.
* c_phase: Make cPhs_Next completely match
Co-authored-by: Pheenoh <pheenoh@gmail.com>
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.
* c_lib: Decomp cLib_memSet and cLib_memCpy
Gets rid of some low-hanging fruit.
* c_lib: Decomp cLib_distanceAngleS
Another super trivial function to make match.
* c_lib: Decomp cLib_targetAngleY overload set
Fairly trivial in terms of matching.
* c_lib: Sate clang-format
I didn't touch this code, but the clang-format pass wants this done, and
so it is.
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>
* f_pc_base, one non matching
* some of f_pc_manager
* f_pc_node OK
* f_pc_pause partly
* started node_req
* more progress
* most of node req
* delete unused asm
* node req header and param names
* param renaming
* header for manager
* review comment struct names
* fpcM_Management OK
* int -> s32
* merge master
* most of f_pc_create_iter
* f_pc_stdcreate_req OK
* f_pc_fstcreate OK
* f_pc_leaf OK
* f_pc_draw OK
* f_pc_deletor partly
* fix parameter type in f_pc_pause
* review
* review, use cPh enum and fix process_profile_definition struct
* convert f_pc files to C
* matched more functions
* fix global.h
* fix variable types
* format
* mpre Phs enum
* fix merge errors
* fix gamepad stopPatternedRumble
* format
* delete leftover files from merge
* move asm to correct folder
* revert f_pc from C to CPP
* remove C hacks and format
* format
* OK
* f_op_actor_tag OK
* f_pc_layer_tag OK
* f_pc_layer_iter
* forgot a return
* identation and extern var name comments
* fix struct member name
Co-authored-by: Pheenoh <pheenoh@gmail.com>