WIP header library for Super Paper Mario.
One of the following preprocessor defines should be used for the target game version:
SPM_JP0SPM_JP1SPM_US0SPM_US1SPM_US2SPM_EU0SPM_EU1SPM_KR0
It is recommended to use this with git subrepo.
For use in decomp, the include, include_cpp and decomp folders should be added to the include path, and the preprocessor define DECOMP should be used.
For use in mods, the include and mod folders should be added to the include path and an lst from linker should be used. Mods should include their compiler's standard library headers (do not use -nostdinc), though linking it is not required (so -nostdlib is fine).
Optionally, you may wish to add the preprocessor define RELAX_NAMESPACING to allow omitting the namespaces (for example, spm::memory::MemWork becomes MemWork).
Warning: NW4R headers are probably unsafe to use with GCC currently
All code originally written for this project (everything under the include, decomp and linker directories) is available under the MIT license.
Everything under the mod folder is available under the GPLv3 license as it's derived from other GPL code.
Currently, symbols are manually added and ported as needed. Any symbols that are missing from the lsts here can be found in the decomp symbols yml for eu0. In the future, that yml will become part of this repo and the lsts will be auto generated based on it.
See CONTRIBUTING.md for guidelines on contributing.