summaryrefslogtreecommitdiff
path: root/src/JSystem/JUtility
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-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-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-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-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-05JUtility debug (#3020)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
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-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-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-19m_Do_main debug (#2965)Jcw87
2025-12-08Improving standard compiler compatibility (#2926)kipcode66
* Adding explicit dolphin/ prefix & fix characters * Rename ShiftJIS to SJIS * Separate JASSeqReader read methods implementation between compilers. * Fix pointer.h * fix d_item_data typo * fix gcn matching issue
2025-12-04Resolve all "illegal jump past declaration/initializer" warnings (#2911)Niklas Bauer
* resolve illegal jump past declaration/initializer * pr comments
2025-11-30project cleanup (#2895)TakaRikka
* some wii OS fixes * remove old dol2asm comments * remove dol2asm.h * remove function address comments * normalize ATTRIBUTE_ALIGN usage * DECL_WEAK macro * fix gcc attribute weak macro * wrap more mwcc specific things in ifdefs * fixes * fix revo sdk version flags * fixes
2025-11-25Misc fixes (#2860)LagoLunatic
* 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
2025-11-23Fix more nonmatchings (#2850)LagoLunatic
* 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
2025-11-21Misc matches (#2845)LagoLunatic
* 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
2025-11-20Remove fake matches, fix false equivalencies, and other small matches (#2837)LagoLunatic
* Debug matches and remove fake matches * Fix false equivalencies, regallocs, and vtable orders * Fix PAL splits
2025-09-28Fix JUT_ASSERT and several other macros (#2711)LagoLunatic
* 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
2025-09-27Remove unnecessary externs (#2705)LagoLunatic
2025-09-11Add PCH for JSystem (#2645)Max Roncace
2025-09-04some J3D/misc cleanup (#2628)TakaRikka
* some j3d cleanup * begin using uintptr_t * j3dgraphbase cleanup * j3dgraphanimator cleanup
2025-08-24Add a precompiled header for RELs (#2597)Max Roncace
2025-02-10copy dolsdk2004 to tp / b_bh + e_mb done (#2299)TakaRikka
* move dolsdk2004 over * cleanup some temp work * finish and cleanup gf * b_bh done * d_a_e_mb done
2025-01-14Fix various issues in TUs marked `Equivalent` (#2286)LagoLunatic
2024-12-29various matches / cleanup (#2271)TakaRikka
* cleanup various TUs * checkpoint * d_attention doc
2024-12-02d_vibration / JUTGamePad matched + linked (#2256)TakaRikka
* d_vibration done * JUTGamePad done * cleanup JUTGamePad * d_menu_window cleanup
2024-10-31more misc. cleanup (#2232)Caroline Madsen
2024-10-10switch to dtk setup (#2203)TakaRikka
* switch to dtk setup * some cleanup / fixes * cleanup d_a_alink literals * Restore doxygen, update CI & README.md (#1) * Fix build image ref (#2) --------- Co-authored-by: Luke Street <luke@street.dev>
2020-09-05organize files, update makefile, add CI checks, begin adding d_save.cppunknown
2020-08-29okunknown