Commit Graph

2333 Commits

Author SHA1 Message Date
TakaRikka 8e2545f2ec 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
qwertyquerty a2b179f952 JUTDataFileHeader (#3121) 2026-03-02 16:29:07 -08:00
Luke Street 4df8ccc871 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 c9a46bd65b 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 6e748ac283 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 38b7156a8e 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 ff82ba7a4f 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 a290c2d52c 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 29c96f5c65 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 bf4d19d8db d_a_alink debug improvements (#3112) 2026-02-27 11:20:39 -07:00
Pieter-Jan Briers 35890e5880 Fix broken J3DTexture assert (#3111) 2026-02-25 14:06:37 -08:00
Pieter-Jan Briers af7ab981e6 Fix MORE wrong forward declares (struct/class) (#3110) 2026-02-24 14:20:45 -08:00
Pieter-Jan Briers cd6498e372 Minor JKRSolidHeap fixes (#3109)
64-bit compat
2026-02-24 14:20:11 -08:00
Pieter-Jan Briers 929939c4a2 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 a2dcb7251b 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 765878893f Warpappear doc (#3104)
* warpappear documentation

* dist documentation

* more doc

* add enum name + square macro
2026-02-20 19:06:42 -08:00
Jcw87 b6abc56f94 d_resorce debug (#3105) 2026-02-20 03:05:23 -08:00
Max Roncace d939dcd474 Implement Z2AudioCS (#3103) 2026-02-20 02:53:27 -08:00
roeming 07ef4b6d26 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 979afc7c59 Fix Wii splits for EXI2_GDEV_GCN/main.c (#3102) 2026-02-17 23:04:42 -08:00
Max Roncace ba2700248e d_cursor_mng mostly matching (#3101) 2026-02-17 22:58:52 -08:00
Max Roncace d118f6446c Link exception.s for Wii/demo versions (#3100) 2026-02-13 15:16:28 -08:00
Max Roncace ca94ab6a92 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 6703a5c0ce d_demo debug (#3098) 2026-02-13 15:08:10 -08:00
Jcw87 a6561ebcf1 d_bg_parts debug (#3097) 2026-02-13 15:06:14 -08:00
Max Roncace 9c154e3509 Add .gitkeep for orig/DZDE01 and add DZDE01 to README (#3092) 2026-02-13 15:05:16 -08:00
Jcw87 75c6f795d0 fix d_a_player regression (#3096) 2026-02-12 01:03:43 -08:00
TakaRikka 43b886a7c9 extract d_a_player l_sightDL (#3095) 2026-02-11 08:00:44 -07:00
Jcw87 7a22a1c320 fix compiler warnings (#3094) 2026-02-11 00:14:18 -08:00
Huitzi 754b265e3b Add doxygen comment format to .clangd (#3093) 2026-02-11 00:13:26 -08:00
Max Roncace 7f478b5743 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 9250959981 d_a_obj debug (#3089) 2026-02-11 00:06:12 -08:00
Jcw87 c6b361575e d_jnt_col debug (#3088) 2026-02-11 00:05:16 -08:00
Jcw87 25ce57cd32 d_save debug (#3087) 2026-02-11 00:04:54 -08:00
Jcw87 ce8f51cbe2 JParticle debug (#3090) 2026-02-07 04:43:51 -08:00
Max Roncace 38f4e3d9cc Replace ALL_GCN with ALL in configure.py for Dolphin SDK libs (#3086) 2026-02-07 04:35:04 -08:00
Max Roncace d7878a0246 revolution/usb matching for Wii+Shield (#3085) 2026-02-07 04:33:54 -08:00
Max Roncace 1cadf80609 KPAD mostly matching for Wii (#3084) 2026-02-07 04:32:31 -08:00
Jcw87 963aac44e5 d_lib debug (#3083) 2026-02-07 04:30:53 -08:00
Jcw87 971daa6efa d_com_static debug (#3082) 2026-02-02 23:46:39 -08:00
TakaRikka c22022f3df update tools (#3081) 2026-02-02 23:33:59 -08:00
Max Roncace 1f81392302 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 53242c2ef5 Remove incorrectly-cased REL dirs from DZDE01 config (#3079) 2026-02-01 19:54:34 -08:00
Max Roncace 274b30fefb 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 dbee7c8f1f d_com_inf_game debug (#3075)
* d_com_inf_game debug

* inline sorting
2026-01-29 18:58:59 -08:00
Max Roncace 46b0f095c5 Add configuration for DZDE01 (USA kiosk demo) (#3073) 2026-01-29 15:11:23 -08:00
Max Roncace cff0e8ee74 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 4e8adeef59 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
hatal175 13d3ae312a Use literals in TWgate (#3071) 2026-01-28 14:22:12 -08:00
Huitzi 9041d6289f 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