summaryrefslogtreecommitdiff
path: root/include/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-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-18m_Do debug (#3052)Jcw87
* m_Do debug * m_Do wii data
2026-01-13fix va_list (#3042)kipcode66
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-11Work on c_damagereaction and f_ap_game debug (#3033)hatal175
2026-01-07JFWDisplay debug (#3022)Jcw87
2026-01-06f_pc mostly linked for Wii/Shield (#3015)Max Roncace
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
2026-01-04m_Do_ext retail linked + debug improvements (#3009)Max Roncace
2025-12-30f_op work (#3008)Niklas Bauer
* f_op debug 1 * f_op debug 2 * f_op debug 3 * f_op debug 4 * f_op debug 5 * f_op_debug fix build * f_op linking * remove goto in fopac_create * fix regressions * fix regressions * pr comments * f_op debug 6 * f_op debug 7 * f_op debug 8 * f_op debug 9 * f_op debug 10 * f_op work, linking, symbols, heap * regressions 1 * regressions 2 * pr comments
2025-12-27jgadget debug improvements (#3000)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-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-22JAHostIO, JAWExtSystem debug (#2985)Jcw87
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-18Use consistent s32/u32 (#2964)roeming
* cleanup long usage * fix regression
2025-12-11Link J2DWindowEX (#2946)roeming
* Add debug for J2DWindowEx, link GCN version * locking non-const copy ctor behind GCN check * fix typo for define * fix another define typo * update bugged ctor and leave a comment
2025-12-11Clean up conditional compilation a bit (#2943)Max Roncace
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-06Various debug conditional compilation cleanup (#2915)Max Roncace
* Global: Define DEBUG as 0 if not already defined * Clean up DEBUG-guarded code
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-25Small matches/improvements (#2844)Carco_21
* j2dmatblock debug work * J2DMaterialFactory matching * J2DPictureEx matching * tiny work * fixed regressions * PR cleanup * build error fix
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-17wii building OK / m_Do_graphic debug work (#2815)TakaRikka
* wii building OK + m_Do_graphic debug work * d_meter_HIO debug cleanup * wii m_Do_graphic stuff * tag_attack_item OK, mirror_chain almost * fix build * mg_fshop matching
2025-10-19m_Do_main / f_ap_game / f_op_actor debug work and misc (#2744)TakaRikka
* m_Do_main / f_ap_game debug stuff * revolution sdk compatibility * f_op_actor debug work * rename fopAcM_SetupActor to fopAcM_ct * fix build * fix jp/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-26Misc matches and fixes (#2703)LagoLunatic
* Match mDoExt_morf_c::getPlayMode * Misc cleanup * Fix actor cull spheres * Match daPy_py_c::getLastSceneSwordAtUpTime, JUTGamePad::testTrigger * Fix improper demangling of dBgS_SphChk::SetCallback * Fix d_camera rangef weak func order * Match more alink_wolf funcs
2025-09-04some J3D/misc cleanup (#2628)TakaRikka
* some j3d cleanup * begin using uintptr_t * j3dgraphbase cleanup * j3dgraphanimator cleanup
2025-06-21Improve some J2DPictureEx matches (#2493)hatal175
* Improve some J2DPictureEx matches + other minor debug improvements * Fix JASTrack::channelStart
2025-06-17getDemoIDData matched, fix up various inlines and template classes (#2489)LagoLunatic
* Fix debug build * getDemoIDData matched, fix up various inlines and template classes * Remove nonmatching comments
2025-04-20d_msg_class mostly equivalent (#2403)hatal175
2025-04-15A Little j3d work (#2396)hatal175
2025-04-13Various alignments to debug + matching TUs (#2391)hatal175
2025-04-11Misc Matches using debug (#2388)hatal175
2025-04-09Various JSystem work (#2383)Caroline Madsen
* JKernel and JStudio cleanup * JMessage cleanup * JAudio cleanup * JASBNKParser work * functionvalue work * fvb work * J2D and J3D cleanup * steal from tww * J2DPictureEx mostly done * fix build
2025-04-08JSystem work (#2384)LagoLunatic
* object-id 100% on debug Can't be linked due to .text alignment issues? * J3DMaterialFactory and J3DMaterialFactory_v21 OK * Match dKy_bg_MAxx_proc
2025-04-06GCN pal / jpn support, some debug work (#2375)TakaRikka
* d_save debug cleanup / d_s_menu debug * gameinfo / kankyo struct debug fixes * pal building ok * jp building ok * some tests with jp * some more pal/jp tests
2025-03-22Debug version now builds OK and all_source compiles (#2343)LagoLunatic
* Fix missing arg to JUT_ASSERT * Fix some MWCC version diff errors * Compile m_Do_ext, d_demo, actor_mng * Add VSCode task to quickly switch between versions * Unlink magLift for debug * Update the hash of the debug dol The old cbea5fa... hash here was for the dol generated by the alf2dol.py script, which produces incorrect alignment. The dol with the new hash can be obtained by using `dtk elf2dol` to convert the debug .alf file to a dol. The DOL now builds OK. * Fix all debug REL dtor splits All RELs now also build OK, meaning `ninja build/ShieldD/ok` now succeeds. * Add genMessage declarations to all HIO subclasses * Fixing more compilation errors * m_Do_mtx 100% on debug Cannot be linked due to weak function name mangling? * Improve various matches * Fix all remaining compilation errors * Fix new compilation errors from main * Fix retail regression * Link f_pc_profile_lst
2025-03-01tag_allmato almost, swhit0 treesh swball done, misc cleanup (#2312)TakaRikka
* d_a_tag_allmato almost done * d_a_swhit0 done * some SSystem cleanup * treesh done * swball done, some other rel cleanup
2025-02-13d_a_obj_carry mostly done (#2301)TakaRikka
* d_a_obj_carry mostly done * cleanup some acch inlines
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-19most of JHostIO / m_Do_hostIO done (#2288)TakaRikka
2025-01-16wip debug / pal building, b_gm mostly done (#2285)TakaRikka
* b_gm mostly done * wip debug / pal building * fix configure.py * fix some debug macros / flags
2024-12-29various matches / cleanup (#2271)TakaRikka
* cleanup various TUs * checkpoint * d_attention doc