TakaRikka
30e839c28b
d_s_room / d_s_name / d_a_title debug work ( #3123 )
...
* d_s_room / d_s_name debug work
* camera_class rtti fix
* d_a_title debug / handle shield rel changes
* fix shield build
* fix regressions
2026-03-06 22:30:25 -08:00
Luke Street
9649319ec4
Reorganize library code into libs/ ( #3119 )
...
* 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-03-01 14:35:36 -08:00
TakaRikka
6e149819e1
d_s_logo / d_s_play debug work, d_a_kago cleanup, misc cleanup ( #3116 )
...
* d_a_kago cleanup
* d_s_logo wii/shield work
* d_s_logo / d_s_play debug work
* fix missing profile class sizeof's
* fix phase->id values
* build fixes
* fix dCamera_c and camera profile
2026-03-01 13:19:48 -08:00
Luke Street
6a48380461
More GCC compatibility/warning fixes ( #3118 )
...
* 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-28 20:19:17 -08:00
Luke Street
b5d3b8c059
Another round of GCC fixes ( #3115 )
...
* 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-28 13:35:07 -08:00
Luzagar
06ebc176c2
E rd documentation ( #3106 )
...
* some e_rd doc
* fix build
* more doc
* more doc
* fix debug
* fix debug for real
* change some name
* some rename
* rename
2026-02-28 12:25:31 -08:00
Max Roncace
ebe7c7aabc
ShieldD: Clean up a bunch of 99% matching TUs ( #3113 )
...
* d_a_npc_ks debug code 100%
* d_a_npc_rafrel debug code 100%
* d_a_npc_inko minor improvements
* d_a_npc_gro debug code 100%
* d_a_npc_pachi_taro debug code 100%
* d_a_npc_passer debug code 100%
* d_a_npc_pachi_maro debug code 100%
* d_a_npc_post debug code 100%
* d_a_obj_bemos debug improvements
* d_a_obj_scannon_ten debug code 100%
* d_a_b_mgn debug code 100%
* d_a_e_fb debug code 100%
* d_a_e_gb debug code 100%
* d_a_e_hz debug code 100%
* d_a_e_cr_egg debug code 100%
* d_a_e_md debug code 100%
* d_a_e_wb debug code 100%
* d_a_obj_mirror_6pole debug code 100%
* d_a_obj_spinLift debug data fixes
* d_a_obj_pdwall debug data fixes
* d_a_obj_ss_drink debug code almost matching
* d_a_obj_poFire debug code 100%
* d_a_obj_picture debug code 100%
* d_a_obj_dust debug code 100%
* d_a_obj_fallobj debug code 100%
* d_a_obj_itamato debug code almost matching
* d_a_obj_syRock debug code 100%
* d_a_obj_katatsumuri debug code 100%
* d_a_obj_wood_statue debug code 100%
* d_a_obj_lv6egate debug code 100%
* d_a_tag_qs minor debug symbol fixes
* d_a_obj_twGate debug code 100%
* d_a_obj_lv6SwGate debug code 100%
* d_a_obj_lv6swturn debug code 100%
* d_a_obj_lv6Tenbin debug code 100%
* d_a_obj_kwheel01 debug code 100%
* Fix RTTI order regression (cM3dGCyl vs cBgS_*)
2026-02-28 12:13:57 -08:00
Luke Street
c900a043b8
Some GCC compilation fixes ( #3114 )
...
* 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-28 12:11:00 -08:00
Max Roncace
d017a3cd36
d_a_alink debug improvements ( #3112 )
2026-02-27 11:20:39 -07:00
Pieter-Jan Briers
a096caa8de
Fix broken J3DTexture assert ( #3111 )
2026-02-25 14:06:37 -08:00
Pieter-Jan Briers
f54661f878
Fix MORE wrong forward declares (struct/class) ( #3110 )
2026-02-24 14:20:45 -08:00
Pieter-Jan Briers
96ffd91c9a
Fix JASGlobalInstance instance definitions ( #3108 )
...
There are a few places where JASGlobalInstance have their sInstance storage implemented via template specialization. The problem is that these have no initializer, which means that they are not proper definitions (only declarations) in standards-compliant C++. MSVC and (evidently) MWCC accept this, but modern Clang and GCC do not and won't emit symbols.
I've added a macro that properly initializes these outside MWCC.
Also, JASGlobalInstance<JAUSectionHeap> was only being declared in each actor file that used it, which sounds incorrect? Not sure about this but I added it to m_Do_main too, again behind MWERKS check.
2026-02-23 11:17:37 -08:00
Pieter-Jan Briers
59fd9f387a
Fix incorrect forward declare keywords ( #3107 )
...
Mixups of class/struct keyword in forward declares. Doesn't seem to matter on MWCC, but causes name mangling mismatching on modern platforms.
2026-02-23 11:13:00 -08:00
Luzagar
73debfd6b9
Warpappear doc ( #3104 )
...
* warpappear documentation
* dist documentation
* more doc
* add enum name + square macro
2026-02-20 19:06:42 -08:00
Jcw87
2113d9044b
d_resorce debug ( #3105 )
2026-02-20 03:05:23 -08:00
Max Roncace
803bc041c7
Implement Z2AudioCS ( #3103 )
2026-02-20 02:53:27 -08:00
roeming
0558bde1e6
Big cast cleanup ( #3076 )
...
* 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-20 02:48:29 -08:00
Max Roncace
a790efafc5
d_cursor_mng mostly matching ( #3101 )
2026-02-17 22:58:52 -08:00
Max Roncace
1273e633f2
m_Re_controller_pad mostly matching ( #3099 )
...
* Move m_Re_controller_pad to m_Re/
* m_Re_controller_pad mostly matching
2026-02-13 15:15:42 -08:00
Jcw87
0b1cb89d69
d_demo debug ( #3098 )
2026-02-13 15:08:10 -08:00
Jcw87
68f3531c2d
d_bg_parts debug ( #3097 )
2026-02-13 15:06:14 -08:00
Jcw87
a07ec61d66
fix compiler warnings ( #3094 )
2026-02-11 00:14:18 -08:00
Max Roncace
255705a4cd
Revolution SDK work ( #3091 )
...
* Implement revolution/ax
Copied mostly unchanged from Petari
* Implement revolution/axfx
Copied mostly unchanged from Petari
* Implement revolution/arc
Copied mostly unchanged from Petari
* Implement revolution/mem
Copied mostly unchanged from Petari
* Implement revolution/tpl
Copied verbatim from Petari
* revolution/ipc matching (except small linking issue on ShieldD)
* revolution/pad/Pad matching
Largely copied from Petari with significant modifications
* Fix up ut_TextWriterBase symbols
* Fix homebuttonLib file names in Shield splits
2026-02-11 00:10:40 -08:00
Jcw87
b9de3375b4
d_a_obj debug ( #3089 )
2026-02-11 00:06:12 -08:00
Jcw87
d8a4157b9f
d_jnt_col debug ( #3088 )
2026-02-11 00:05:16 -08:00
Jcw87
a772c05f4d
d_save debug ( #3087 )
2026-02-11 00:04:54 -08:00
Jcw87
57cea18076
JParticle debug ( #3090 )
2026-02-07 04:43:51 -08:00
Max Roncace
8609826deb
revolution/usb matching for Wii+Shield ( #3085 )
2026-02-07 04:33:54 -08:00
Max Roncace
6ad0254bbc
KPAD mostly matching for Wii ( #3084 )
2026-02-07 04:32:31 -08:00
Jcw87
00bdde3b94
d_com_static debug ( #3082 )
2026-02-02 23:46:39 -08:00
Max Roncace
3bc0670b91
Revolution WUD work (mostly matching) ( #3080 )
...
* WUD mostly matching for Wii
Mostly copied from Petari with small modifications, Shield match is
still pretty bad.
* Implement WUDHidHost
* Fix WUD regressions in Shield/ShieldD
2026-02-02 23:17:29 -08:00
Max Roncace
f5dbf1d827
Revolution WPAD work ( #3078 )
...
* WPAD mostly matching, likely equivalent
* Implement WPADEncrypt (mostly taken from SMG1 decomp)
* Implement WPADHidParser
* Add wpad_debug_msg stub
* Fix WUD file paths in splits
* Fix WPAD regressions in Shield/ShieldD
2026-02-01 17:33:08 -08:00
Jcw87
21de544196
d_com_inf_game debug ( #3075 )
...
* d_com_inf_game debug
* inline sorting
2026-01-29 18:58:59 -08:00
Max Roncace
050ebb4471
Add missing TUs for Wii/Shield retail (+ filename cleanup) ( #3072 )
...
* 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-29 14:18:08 -08:00
roeming
c161523338
JUtility matching for debug ( #3074 )
...
* 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-28 19:38:20 -08:00
Huitzi
414a650f9f
Various Lakebed Temple/water-related object debug equivalencies ( #3070 )
...
* d_a_obj_syRock + waterPillar debug equivalent
* Implemented HIO genMessage
* Added drawCylinder debug drawing
* d_a_obj_waterfall debug equivalent
* Implemented HIO genMessage
* Added unused tri collider and cull box data
* Various LV3 d_a_obj_* actors debug equivalent
* Added/modified some documentation
* Added some widescreen support functions
* Added relevant HIO stuff
* Noted weak ordering issues in configure.py
* Refactoring according to feedback
2026-01-28 14:21:47 -08:00
YunataSavior
5812194fad
DBG npc_henna and mg_fshop equiv ( #3069 )
...
* DBG npc_henna almost, some mg_fshop
* Fix weed_control
* demo_camera_shop OK
* misc dbg symbol/etc fixes
* Fix e_ym/npc_henna dbg bss splits
Thanks @LagoLunatic
* dbg mg_fshop equiv
* PR comments
* DEBUG_CHECK_PAD_TRIG_Z mg_fshop
2026-01-28 14:19:46 -08:00
kipcode66
d787afaee0
Std7 ( #3068 )
...
* fix standard compiler error for d_a_tag_TWgate
* fix standard compiler errors for J3DJoint
* fix regression in ShieldD
2026-01-27 00:20:19 +02:00
hatal175
be3efedee3
Work on d_jdpreviwer ( #3067 )
2026-01-25 21:20:02 -08:00
Jcw87
7883248acc
d_map debug ( #3066 )
2026-01-25 21:17:59 -08:00
TakaRikka
5867eaf68b
general cleanup, d_menu_quit / d_a_obj_testcube mostly done, 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-24 23:36:23 -08:00
Niklas Bauer
e01dbc3297
d_a_e_tk debug ( #3062 )
...
* d_a_e_tk debug
* a_this -> actor
2026-01-24 21:20:33 +02:00
Jcw87
86fddd48d5
d_stage debug ( #3063 )
2026-01-22 21:11:28 -08:00
Jcw87
623ba48542
JKernel wii ( #3059 )
2026-01-20 16:35:11 -08:00
Max Roncace
e023387d7b
Add missing d_bg_* TUs ( #3058 )
...
* Implement d_bg_s_capt_poly
* Add d_bg_s_func
* Ad d_bg_w_deform
* Add empty source file for d_bg_w_hf
2026-01-20 16:29:47 -08:00
YunataSavior
6472d5a4a6
dbg npc_aru (-1 func), npc_maro, and npc_bans equiv ( #3053 )
...
* dbg npc_aru (-1 func), npc_maro, and tag_push equiv
* daNpc_Aru_c::adjustMoveDir doesn't match. I don't know how to fix it without breaking GCN
* JORM default args + PR comments
* npc_bans dbg equiv
2026-01-20 16:28:50 -08:00
Max Roncace
1fba6e13e5
Use default parameter values in JORMContext calls where appropriate ( #3057 )
2026-01-19 18:18:30 -08:00
Max Roncace
d83996c711
Fix misspelled dSv_config_language enum values ( #3056 )
2026-01-19 18:15:39 -08:00
Max Roncace
9d926f6720
Fix signaling NaN constants not appearing in debug .rodata ( #3055 )
2026-01-19 18:15:10 -08:00
Max Roncace
a0a5b0cc38
d_a_tag_* TUs mostly matching for debug ( #3054 )
...
* d_a_tag_event debug almost matching
* d_a_tag_msg debug almost matching
* d_a_tag_attention almost matching
* d_a_tag_chkpoint debug almost matching (weak func order)
* d_a_tag_evt debug almost matching (extra weak fns)
* d_a_tag_evtarea debug almost matching (weak func order)
* d_a_tag_evtmsg debug almost matching (weak func order)
* d_a_tag_mist debug almost matching (weak func order)
* d_a_tag_howl debug almost matching (weak func order)
* d_a_tag_lantern debug almost matching (weak func order)
* d_a_tag_push debug almost matching (weak func order)
* d_a_tag_telop debug almost matching (weak func order)
* d_a_tag_CstaSw debug almost matching (weak func order)
* d_a_tag_ajnot debug almost matching (weak func order)
* d_a_tag_attack_item debug almost matching (weak func order)
* d_a_tag_gstart debug almost matching (weak func order)
* d_a_tag_hinit debug almost matching (debug weak func order)
* d_a_tag_hjump debug almost matching (weak func order)
* d_a_tag_hstop debug almost matching (weak func order)
* d_a_tag_lv2prchk debug almost matching (weak func order)
* d_a_tag_magne debug almost matching (weak func order)
* d_a_tag_mhint debug almost matching (weak func order)
* d_a_tag_mstop debug almost matching (weak func order)
* d_a_tag_spring debug almost matching (weak func order)
* d_a_tag_statue_evt debug almost matching (weak func order)
* d_a_tag_arena debug almost matching (weak func order)
* d_a_tag_Lv6Gate debug almost matching (weak func order)
* d_a_tag_Lv7Gate debug almost matching (weak func order)
* d_a_tag_Lv8Gate debug almost matching (.data + weak func order)
* d_a_tag_TWgate debug almost matching (weak func order)
* d_a_tag_lv6CstaSw debug almost matching (weak func order)
* d_a_tag_assistance debug almost matching (weak func order)
* d_a_tag_bottle_item debug almost matching (weak func order)
* d_a_tag_chgrestart debug almost matching (weak func order)
* d_a_tag_csw debug almost matching (weak func order)
* d_a_tag_escape debug almost matching (weak func order)
* d_a_tag_firewall debug almost matching (weak func order)
* d_a_tag_gra debug almost matching (weak func order)
* d_a_tag_guard debug almost matching (weak func order)
* d_a_tag_instruction debug almost matching (weak func order)
* d_a_tag_kago_fall debug almost matching (weak func order)
* d_a_tag_lightball debug almost matching (weak func order)
* d_a_tag_lv5soup debug almost matching (weak func order)
* d_a_tag_mmsg debug almost matching (weak func order)
* d_a_tag_mwait debug almost matching (weak func order)
* d_a_tag_myna2 debug almost matching (weak func order)
* d_a_tag_myna_light debug almost matching (weak func order)
* d_a_tag_pachi debug almost matching (weak func order)
* d_a_tag_poFire debug almost matching (weak func order)
* d_a_tag_qs debug almost matching (small mismatch in search)
* d_a_tag_ret_room debug almost matching (weak func order)
* d_a_tag_river_back debug almost matching (weak func order)
* d_a_tag_rmbit_sw debug almost matching (weak func order)
* d_a_tag_schedule debug almost matching (weak func order)
* d_a_tag_setBall debug almost matching (weak func order)
* d_a_tag_setrestart debug almost matching (weak func order)
* d_a_tag_shop_item debug almost matching (weak func order)
* d_a_tag_smk_emt debug almost matching (weak func order)
* d_a_tag_spinner debug almost matching (weak func order)
* d_a_tag_sspath debug almost matching (weak func order)
* d_a_tag_ss_drink debug almost matching (weak func order)
* d_a_tag_stream debug almost matching (weak func order)
* d_a_tag_theB_hint debug almost matching (weak func order)
* d_a_tag_watchge debug almost matching (weak func order)
* d_a_tag_waterfall debug almost matching (weak func order)
* d_a_tag_allmato debug almost matching (weak func order)
* d_a_tag_camera debug almost matching (extra weak fns)
* d_a_tag_wara_howl debug almost matching (RTTI mismatch?)
* d_a_tag_yami debug almost matching (weak func order)
* Fix Shield regressions related to d_a_tag_* debug work
2026-01-19 18:11:54 -08:00