1182 Commits

Author SHA1 Message Date
Pieter-Jan Briers 3f24f432fe Array size UB fixes (#3162)
* Array size UB fixes

* Fix ShieldD

* Another one
2026-05-18 19:08:12 -06:00
Howard Luck b3cf239301 Fix obj_sw_class array sizes (#3156) 2026-04-19 14:23:19 -07:00
TakaRikka def29adbab cat door cleanup (#3155) 2026-04-13 01:42:10 -07:00
Howard Luck c57a7cf98f Fix daE_VA_c::mRopeCutStatus and va_tag_* array sizes (#3152) 2026-04-11 12:53:51 -07:00
Howard Luck 63d68e9b1d Fix daE_FB_c::mKeys array size on PC (#3151) 2026-04-11 12:52:48 -07:00
Howard Luck 1779734b12 Fix obj_maki_class::field_0x6f8 array size (#3149) 2026-04-11 12:51:20 -07:00
Howard Luck ad6f8e9265 Fix daNpcCoach_Attr_c::field_0x28 array size (#3148) 2026-04-11 12:50:50 -07:00
Pieter-Jan Briers 37d22cfed2 Fix daBaseNpc_c field_0x744 array size (#3154) 2026-04-11 12:37:32 -06:00
Pieter-Jan Briers 9b900a1a55 UB fixes (#3150)
* Fix incorrect size for J2DTevBlock8::insertTexture local_38

* Fix dMeter_drawOptionHIO_c mOptionTypeBGPosX/Y size

* dMeter_drawLightDropHIO_c mVesselAlpha fix

* d_a_mg_rod array size fixes

* Fix e_tk2_class mActionTimer array size

* daObjTOMBO_c field_0x714 array size fix
2026-04-11 11:28:01 -06:00
TakaRikka 472af2590a henna ub fix (#3147) 2026-04-11 00:07:18 -07:00
Pieter-Jan Briers 22d9840ed1 Fix field array size on field_0x50 (#3145)
UB caught by modern compilers, this fixes it.
2026-04-10 23:44:22 -07:00
Pieter-Jan Briers bcd5a96391 Couple names in dMeterMap_c (#3142) 2026-04-10 23:41:24 -07:00
TakaRikka 5685fa58c6 Z2Audio player debug work / fix actor method returns (#3140)
* Z2Audio player debug work

* fix actor method returns

* wii build fix
2026-03-30 02:10:42 -07:00
TakaRikka cb6ee4b21e d_path / d_vibration debug work (#3138)
* dpath debug

* dvibration debug

* d_meter2_info debug

* gcyl/gpsh debug
2026-03-29 16:43:00 -07:00
Luzagar c98b96f94e E ws work (#3137)
* e_ws work

* more doc

* add debug message

* move declaration

* more match

* test

* Revert "more match"

This reverts commit 3d910e6e91.

* fix

* cleanup

* fix

* rename mIsHome
2026-03-29 16:27:52 -07:00
TakaRikka f8cf545848 cleanup d_a_obj_wflag (#3135) 2026-03-21 00:56:27 -07:00
TakaRikka bc7503cb70 fix push pull callback UB in other compilers (#3134) 2026-03-18 02:57:37 -07:00
TakaRikka f64015ea38 cc debug work (#3133) 2026-03-17 22:48:37 -07:00
Max Roncace 6694c1b281 Fix a bunch of compiler warnings and document several more bugs (#3130) 2026-03-17 22:38:05 -07:00
TakaRikka 9f340b604b various d_bg debug cleanup / d_menu_window_HIO debug (#3132)
* various d_bg debug cleanup

* matching forward decl for compiler compatibility

* fix build
2026-03-17 03:44:11 -07:00
roeming ae0f8909a6 convert daPasserMng_c::mGroupTbl underlying data from bytes to daPasserMng_c::Group (#3129)
* daPasserMng_c::mGroupTbl underlying data to daPasserMng_c::Group

* move over to const groups

* templated solution that works on modern compilers + mwcc

---------

Co-authored-by: roeming <roeming@users.noreply.github.com>
2026-03-15 18:06:16 -07:00
Max Roncace bc9bf9d062 d_a_npc_tkj2 debug code+data 100% (#3128) 2026-03-11 03:18:57 -07:00
Max Roncace 01654335d4 d_a_horse debug improvements (#3127) 2026-03-11 03:16:11 -07:00
Luzagar 7f91d9547f E wb documentation + e_rd cleanup (#3125)
* e_rd cleanup

* first pass

* fix ?

* rename

* more rename

* fix other platform

* fix typo

* more documentation

* more work

* fix build

* fix

* more doc

* camera work

* more work

* cleanup

* more work

* clean up + fix build

* fix build

* more work

* change mSpeedRate name

* change description

* more work

* fire eff work

* fix build

* fix match

* debug fix ?

* update description

* rename field
2026-03-11 03:12:17 -07:00
Max Roncace 8a333fc7c9 More debug fixes for 99% TUs (#3122)
* d_a_e_hp debug code 100%

* d_a_npc_chin debug improvements

* d_a_npc_du debug code 100%

* d_a_npc_cdn3 debug code 100%

* d_a_e_rdy GCN symbol fixes

* d_a_kago debug code 100%

* d_a_e_oc debug code 100%

* d_a_e_yr debug code almost matching

* d_a_e_bg debug code 100%

* d_a_ykgr debug code 100%

* d_a_tag_hjump debug data fixes

* d_a_tag_attack_item debug data fixes

* d_a_e_df debug code 100%

* d_a_e_sh debug code 100%

* d_a_L7op_demo_dr debug code 100%

* d_a_L7low_dr debug code 100%

* d_a_e_sm2 debug code 100%

* d_a_movie_player debug code 100%

* d_a_e_st debug code 100%

* d_a_npc_aru debug code 100%

* d_a_e_yg debug code 100%

* d_a_door_spiral debug code 100%

* d_a_bg debug code 100% (still has .data issues)

* d_a_e_dn debug code 100%

* d_a_tag_attention debug code 100%

* d_a_e_bd debug code 100%

* d_a_tag_camera debug .rodata fix

* d_a_obj_movebox debug code 100% (array dtors are mismapped)

* d_a_mg_rod debug improvements

* d_a_e_rd debug symbol fixes
2026-03-11 03:07:19 -07:00
Huitzi 0b0fdd1f60 Actor status consolidation & process profile definition editing (#3117)
* Consolidate fopAcM_STATUS into fopAc_Status_e

* Add _e suffix to fopAcStts enums

* Prepare for profile enumeration
* Correct typo in scene_process_profile_definition
* Manually handle g_profile_Obj_DamCps (inline preprocessing)
* Correct g_profile_TAG_LV5SOUP procname to enum
* Create d_priority.h

* Update process profile definitions
* Moved inline comments to the left
* Add missing fopAcStts enums
* Add d_priority.h include in f_pc_leaf.h
* Manually update d_a_obj_damCps profile

* Replace fopAcStts enums replacing and anticipatory profile size correction
* Changed profile size from literal to sizeof() in anticipation of PR #3116
* Provided putative names to staff-related status enums
* Replaced appropriate literals with fopAcStts enums

* Fix borked merge

* Rename item number enums and move to d_item_data.h

* Rename process profile name & draw priority enums

* Move process profile name & draw priority enums to appropriate files
* Moved fpcNm_ enums from d/d_procname.h to f_pc/f_pc_name.h
* Moved fpcDwPi_ enums from d/d_priority.h to f_pc/f_pc_draw_priority.h

* ACTUALLY (whoops) stage merge

* Correct item mistranslation

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>

---------

Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
2026-03-09 18:33:31 -07:00
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 f54661f878 Fix MORE wrong forward declares (struct/class) (#3110) 2026-02-24 14:20:45 -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
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
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 00bdde3b94 d_com_static debug (#3082) 2026-02-02 23:46:39 -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