summaryrefslogtreecommitdiff
path: root/src/JSystem
AgeCommit message (Collapse)Author
2026-03-01Reorganize library code into `libs/` (#3119)Luke Street
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN} * Update configure.py and project.py for new libs structure * Refactor `#include <dolphin/x.h>` -> `<x.h>` * Remove `__REVOLUTION_SDK__` forwards from dolphin * Fix dolphin/ references in revolution * Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__` * Always build TRK against dolphin headers * Resolve revolution SDK header resolution issues
2026-02-28More GCC compatibility/warning fixes (#3118)Luke Street
* Wrap >4-char literals in a MULTI_CHAR macro Modern compilers do not support CW's non-standard behavior with >4 char literals. We can, however, use a constexpr function to compute the u64 values directly. This leaves <=4 char literals unchanged. * Replace non-pointer usages of NULL with 0 * Define NULL to nullptr on C++11 and above * Fix more -Wpointer-arith and -Woverflow warnings * Replace u32/s32 with uintptr_t/intptr_t where appropriate * JSUOutputStream: Overload all standard int types
2026-02-28Another round of GCC fixes (#3115)Luke Street
* Fix remaining <string> -> <cstring> for GCC compilation (#3114 follow-up) MWerks' <string> header transitively includes C string functions (memcpy, strlen, strcmp, etc.), but GCC/Clang's <string> is the C++ std::string header. These files all use C string functions and should include <cstring> instead. * Use std::isnan instead of isnan for GCC compilation GCC's <cmath> places isnan in the std namespace. Using the unqualified isnan fails to compile with GCC/Clang. * Fix cCcD_Src types: s32 -> u32 for bitmask fields cCcD_SrcObjCommonBase::mSPrm, cCcD_SrcObjTg::mType, and cCcD_SrcObjAt::mType are used as bitmasks (SetType/SetSPrm take u32, MskType/MskSPrm use u32, values like 0xFFFFFFFF are common in aggregate inits). Change from s32 to u32 to match usage. Also fix AT_TYPE_WOLF_ATTACK/AT_TYPE_UNK to use unsigned literals, and remove now-unnecessary (s32) casts on hex literals in collision source data. * Mark dummy() functions as static to avoid multiple definition errors These decomp artifact functions have the same name and signature across TUs, causing linker errors when building as a single binary.
2026-02-28Some GCC compilation fixes (#3114)Luke Street
* Fix 6-byte multichar literals * Add `struct` to `e_ga_class::ga_s` * Fix remaining wrong forward declares (struct/class) * Replace `#include <string>` with `#include <cstring>` * Guard FLT_EPSILON define to prevent redefinition * Add missing `#include <cstring>` for direct cstring function usage
2026-02-24Minor JKRSolidHeap fixes (#3109)Pieter-Jan Briers
64-bit compat
2026-02-20d_resorce debug (#3105)Jcw87
2026-02-20Implement Z2AudioCS (#3103)Max Roncace
2026-02-20Big cast cleanup (#3076)roeming
* Big cast cleanup * fix for name conflict * rename header * rename cast macros * fix rename mistake --------- Co-authored-by: roeming <roeming@users.noreply.github.com>
2026-02-13d_bg_parts debug (#3097)Jcw87
2026-02-11fix compiler warnings (#3094)Jcw87
2026-02-07JParticle debug (#3090)Jcw87
2026-01-29Add missing TUs for Wii/Shield retail (+ filename cleanup) (#3072)Max Roncace
* Fix GCN_mem_alloc.c filename capitalization * Fix up TRK file names in Wii/Shield splits * Add string_TRK * Add cc_gdev * Add Shield-only wstring TUs * Implement NdevExi2A * Add missing JSystem TUs (more are still missing from ShieldD) * Clean up includes
2026-01-28JUtility matching for debug (#3074)roeming
* Jut cleanup work * data section fix * match the last of JUtility * added more helpful comment * Add missed null terminator * do while -> while loop * replace more do whiles * Fix wii regression * Add suggestions * fix null check --------- Co-authored-by: roeming <roeming@users.noreply.github.com>
2026-01-25Work on d_jdpreviwer (#3067)hatal175
2026-01-24general cleanup, d_menu_quit / d_a_obj_testcube mostly done, ↵TakaRikka
d_msg_scrn_explain debug (#3065) * typedef for cPhs_Step * make sdk includes consistent * d_menu_quit / d_msg_scrn_explain debug * d_a_obj_testcube mostly done * d_debug_pad mostly done * jstudio tool library headers * some JStudioCameraEditor headers * d_jcam_editor mostly done * try fixing some shield regressions * d_bg_parts mostly done * fix merge errors * debug fix
2026-01-20JUtility wii (#3061)Jcw87
* JUtility wii * lbl_8074CFA4
2026-01-20JKernel wii (#3059)Jcw87
2026-01-18m_Do debug (#3052)Jcw87
* m_Do debug * m_Do wii data
2026-01-13JAWWindow (#3039)Jcw87
2026-01-13J3D debug (#3037)Jcw87
* J3DGraphBase debug * J3DGraphAnimator debug * J3DGraphLoader debug
2026-01-13standard compiler compatibility changes (#3040)kipcode66
* move math to cmath * replace stdarg to cstdarg * change stdint to stdint.h * minor fixes * change stdio to cstdio * change stdlib to stdlib * renamed ctype to cctype * fix missing argument for UNSET_FLAG
2026-01-11Fix errors when building with -ipa program (#3035)Max Roncace
2026-01-11J2DGraph debug (#3028)Jcw87
* J2DGraph debug * J2DGraph debug
2026-01-10std-vector debug (#3027)Jcw87
2026-01-10first round of constants cleanup (#3021)roeming
* first round of constants cleanup * move m_PI_D definition * remove compatibility comment * add future version of angle subtracting with/without cast * whitespace change to run builds again
2026-01-08linklist debug (#3025)Jcw87
2026-01-07JMath debug (#3023)Jcw87
2026-01-07JFWDisplay debug (#3022)Jcw87
2026-01-06Misc debug include/class order improvements + link remaining Z2AudioLib TUs ↵Max Roncace
(#3014) * Improve dolzel.pch ordering * Improve JSystem include order * Various class ordering fixes * Link remaining Z2AudioLib TUs * Fix some symbols in Shield and weak functions in ShieldD
2026-01-05JUtility debug (#3020)Jcw87
2026-01-05fix functions not returning values (#3018)Jcw87
2026-01-05Add guards around std library headers (#3013)kipcode66
* Last fix for standard compiler error * adding define guards around headers * rename cmath.h and climits.h to cmath and climits respectively * renaming cstdarg.h to cstdarg * renaming cstdlib.h to cstdlib * renaming cstring.h to cstring * renaming cstdio.h to cstdio * renaming cmath locale ctype * renaming stdarg string and va_list * renaming cstddef * renaming stdio stddef stdlib * renaming algorithm, functional, iterator, memory, and utility * renaming bitset, cstdint, limits, and stdint * renaming new and type_traits * update quote includes for standard library headers to angle bracket includes
2026-01-04JKernel debug (#3012)Jcw87
2025-12-27jgadget debug improvements (#3000)TakaRikka
2025-12-27JAudio2 debug (#3006)Jcw87
2025-12-26Fix optimization flag for Shield (#3004)LagoLunatic
* Fix optimization flag for Shield * Minor debug work * Fix NULL asserts
2025-12-26JAudio2 debug (#2996)Jcw87
2025-12-24msl_c mostly matching for wii/shield (#2994)TakaRikka
2025-12-23Clean up code, remove fakematches, add UNUSED, enable warnings (#2992)LagoLunatic
* Remove NDEBUG_DEFINED fakematch, clean up getName temps * Fix ifdef * Fix bad JSystem pch ifdef breaking decomp.me * Remove Acch Chk fakematches * Private Acch fields * Fix some clangd errors in headers * Add UNUSED macro for matching debug parameters * Enable clangd unused-parameter warning * Remove extern from initializers Probably added by dol2asm? * Fix process profile definitions * Remove leftover dol2asm address comments * Remove some unnecessary double casts * Enable some more clangd warnings * Fix missing usages of fopAcM_ct * Fix wrong enum usage * Fix more fakematches
2025-12-23JAudio2 debug (#2990)Jcw87
2025-12-23MSL_C header cleanup (#2988)TakaRikka
* msl_c header cleanup * math header cleanup * fix rest of shieldD configs * cleanup cflag configs a bit * fix shield build
2025-12-22GCN data 100% matching (#2987)Max Roncace
* Update GZ2J01 symbols from linked DOL * GCN data 100% matching * Run dtk apply
2025-12-22JAHostIO, JAWExtSystem debug (#2985)Jcw87
2025-12-21next round of standard compiler fixes (#2969)kipcode66
* next round of standard compiler fixes * Fix weak function order issue * fix missmatch with ShieldD version
2025-12-21Miscellaneous data fixes (#2983)LagoLunatic
* 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
2025-12-21Update to objdiff 3.5.0 (#2980)LagoLunatic
* Update to objdiff 3.5.0 * Fix symbols being in .data instead of .rodata for Wii/Shield
2025-12-21Work on weak order (#2979)LagoLunatic
* 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)
2025-12-19Match JFWSystem::init (#2972)LagoLunatic
Co-authored-by: Cuyler36 <Cuyler36@users.noreply.github.com>
2025-12-19m_Do_main debug (#2965)Jcw87
2025-12-18JASAiCtrl OK (#2967)LagoLunatic