Commit Graph

130 Commits

Author SHA1 Message Date
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
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
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
Max Roncace 803bc041c7 Implement Z2AudioCS (#3103) 2026-02-20 02:53:27 -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
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
kipcode66 dd03bf861f standard compiler compatibility changes (#3040)
* 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-13 00:48:25 +02:00
Max Roncace 6a59c5231f Fix errors when building with -ipa program (#3035) 2026-01-11 19:25:26 -08:00
Max Roncace 3679e7abab Misc debug include/class order improvements + link remaining Z2AudioLib TUs (#3014)
* Improve dolzel.pch ordering

* Improve JSystem include order

* Various class ordering fixes

* Link remaining Z2AudioLib TUs

* Fix some symbols in Shield and weak functions in ShieldD
2026-01-06 04:38:40 -08:00
Jcw87 767e3ba17e Z2AudioLib debug (#3016) 2026-01-05 03:54:00 -08:00
kipcode66 1d2a0d9568 Add guards around std library headers (#3013)
* 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-05 03:50:45 -08:00
Jcw87 038b8fd62f JAudio2 debug (#3006) 2025-12-27 15:23:15 -07:00
Jcw87 bae6d9da2d JAudio2 debug (#2996) 2025-12-26 13:20:53 -08:00
Jcw87 6ef13c620a JAudio2 debug (#2990) 2025-12-23 10:23:09 -08:00
Jcw87 f156a2a413 JAHostIO, JAWExtSystem debug (#2985) 2025-12-22 12:27:31 -08:00
kipcode66 4045f16667 next round of standard compiler fixes (#2969)
* next round of standard compiler fixes

* Fix weak function order issue

* fix missmatch with ShieldD version
2025-12-21 17:48:09 -08:00
LagoLunatic 48f1d47690 Work on weak order (#2979)
* JAUSectionHeap OK

* Slightly improve d_camera weak func order (12 -> 10)

* Minor d_a_alink fixes

* weak_order_diff.py: Change to take source file as cli argument instead of .o file

For cli autocompletion to work.

* Reorganize J3D structs (no change in weak order)
2025-12-21 14:13:21 +02:00
roeming 93067110f6 Use consistent s32/u32 (#2964)
* cleanup long usage

* fix regression
2025-12-18 13:31:44 -08:00
LagoLunatic 26f4c5a0fe JASAramStream OK (#2937) 2025-12-09 14:52:31 -07:00
kipcode66 3b26aae532 Improving standard compiler compatibility (#2926)
* 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-08 20:31:22 -08:00
LagoLunatic 251d49c6f1 JASBNKParser OK, Z2Audience OK (#2929) 2025-12-07 21:49:42 -08:00
LagoLunatic cd94afafa0 Match Z2SceneMgr::sceneBgmStart (#2923) 2025-12-06 21:09:16 -08:00
Max Roncace a30e617e5a Various debug conditional compilation cleanup (#2915)
* Global: Define DEBUG as 0 if not already defined

* Clean up DEBUG-guarded code
2025-12-06 13:34:47 -08:00
LagoLunatic f97d334732 Debug+retail matches and clean up some fakematches (#2910)
* Debug matches

* Match daAlink_c::procGrassWhistleWait

* Match JASAramStream::channelProc

* More debug matches

* Match JAUStreamStaticAramMgr_::deleteStreamAram and bitset inlines

* Fix some fakematches

* Fix gameinfo player info not being a struct

* Update bug comments

* Fix procids in alink

* d_a_scene_exit OK
2025-12-03 15:09:56 -08:00
TakaRikka a6e76c0841 project cleanup (#2895)
* 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-30 15:23:42 -07:00
LagoLunatic 7abe8d4a40 JASHeapCtrl OK (#2893) 2025-11-29 21:30:50 -08:00
LagoLunatic 4fb3af91b8 Various small matches (#2879)
* Misc debug matches

* Fix JASBasicWaveBank weak func order

* Remove more dol2asm stuff, fix missing includes

* Some data fixes

* Update comments

* d_file_sel_warning is already OK

* Fix Z2 splits

* Fix movebox namespace

* Fix inlining issue in m_Do_ext

* Fix Z2 splits for P and J
2025-11-27 21:34:18 -08:00
TakaRikka 6f96e66518 various Z2Audio / JAudio debug cleanup (#2876)
* some JAudio work

* audio cleanup checkpoint

* checkpoint more audio cleanup

* fix symbols

* more z2 cleanup

* fix regression

* fix build

* some fixes
2025-11-27 21:19:33 -08:00
LagoLunatic 2f2f37a734 Misc fixes (#2860)
* 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-25 18:32:34 +02:00
LagoLunatic 23a1c94063 Regalloc/debug/misc fixes (#2794)
* Fix "0" asserts

* More debug and regalloc fixes

* Fix PTMF syntax for compatibility with other compilers

* Fix some fakematches, link more TUs for J/P
2025-11-10 18:25:00 -08:00
LagoLunatic 9eea9289b1 Fix JUT_ASSERT and several other macros (#2711)
* 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-28 13:11:07 -07:00
Max Roncace 8420c94854 Minor JSystem/Z2Audio fixes (#2650) 2025-09-11 23:39:23 -07:00
Max Roncace a6c3c20b23 Add PCH for JSystem (#2645) 2025-09-11 13:20:45 -07:00
TakaRikka b45a089e15 some J3D/misc cleanup (#2628)
* some j3d cleanup

* begin using uintptr_t

* j3dgraphbase cleanup

* j3dgraphanimator cleanup
2025-09-04 17:56:59 +03:00
Max Roncace 513816ce5c Add a precompiled header for RELs (#2597) 2025-08-24 09:52:08 +03:00
hatal175 e43b660038 Improve some J2DPictureEx matches (#2493)
* Improve some J2DPictureEx matches

+ other minor debug improvements

* Fix JASTrack::channelStart
2025-06-21 03:47:24 -07:00
hatal175 1a189d3d95 Work on d_a_obj_flag3 (#2485)
* Work on d_a_obj_flag3

* Fix JASBasicWaveBank::incWaveTable

* Match JASBNKParser::Ver0::createBasicBank
2025-06-15 15:38:08 -07:00
hatal175 3df5c7bb42 Various alignments to debug + matching TUs (#2391) 2025-04-13 11:55:52 -07:00
Caroline Madsen c6f76e7240 Various JSystem work (#2383)
* 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-09 13:45:30 -07:00
TakaRikka 934e14f12b fix debug build (#2345) 2025-03-27 00:45:52 -07:00
Caroline Madsen 5a7b9f62d6 Z2AudioLib work (#2339)
* Z2LinkMgr work, Z2AudioArcLoader matching

* Z2SeMgr matching

* Z2SpeechMgr2 almost done, Z2SoundHandles matching
2025-03-21 23:03:43 -07:00
TakaRikka 2453c0e333 copy dolsdk2004 to tp / b_bh + e_mb done (#2299)
* move dolsdk2004 over

* cleanup some temp work

* finish and cleanup gf

* b_bh done

* d_a_e_mb done
2025-02-10 21:20:42 +02:00
LagoLunatic bf4053fefa Fix spurious differences when using ninja diff (#2294)
* Fix spurious differences when using ninja diff

* Fix some clangd errors/warnings
2025-01-26 22:01:05 -08:00
TakaRikka 9948a6371f wip debug / pal building, b_gm mostly done (#2285)
* b_gm mostly done

* wip debug / pal building

* fix configure.py

* fix some debug macros / flags
2025-01-16 19:37:39 +02:00
hatal175 d874f05f44 d_a_obj_wsStick, d_a_obj_onsenTaru OK (#2268)
* d_a_obj_wsStick, d_a_obj_onsenTaru OK

* d_a_obj_pdtile OK

* d_a_obj_stone equivalent

* d_a_npc_lf OK

* Z2SoundMgr OK

* Remove fixed nonmatching comment

* d_a_obj_kantera OK

* Remove unneeded header

* daMyna_c::deleteItem matching

* d_a_obj_crvsteel OK
2024-12-24 02:36:01 -08:00
Caroline Madsen 5650c7fe08 JAudio2 and Z2AudioLib work (#2223)
* JAudio2 and Z2AudioLib work

* check1stDynamicWave matched
2024-10-24 02:25:13 +03:00
hatal175 ec07abb09b Reintroduce missing changes from pull request #2200 (#2213)
* Reintroduce missing changes from pull request  #2200

* m_Do_audio OK
2024-10-16 12:41:21 -07:00