Commit Graph

2461 Commits

Author SHA1 Message Date
TakaRikka 47be6a482b Merge pull request #30 from TakaRikka/merge
Merge upstream decomp changes & more fixes
2026-02-28 13:35:54 -08:00
Luke Street 1eb018ea26 Fix compilation errors after decomp/main merge
- Fix <string> -> <cstring> across all source files (upstream fix)
- Add <cstring> to JASGadget.h, <cstdarg> to JUTDbPrint.cpp
- Fix <string> -> <cstring> in JUTFont.h, d_save.h, f_ap_game.h
- Fix std::isnan usage in c_cc_d.cpp
- Fix cCcD_Src types: s32 -> u32 for bitmask fields (upstream fix)
- Fix AT_TYPE_WOLF_ATTACK/AT_TYPE_UNK unsigned literals (upstream fix)
- Remove (s32) casts on hex literals in collision data (upstream fix)
- Fix 0xFFFFFFFF literal in d_a_obj_wood_statue.cpp (upstream fix)
- Add braces to case 0 in d_a_e_gb.cpp to fix jump-over-init
- Fix Z2AudioCS.h include path (Z2AudioLib -> Z2AudioCS)
- Forward-declare Z2AudioCS in stubs.cpp to avoid revolution conflicts
- Guard JASGlobalInstance specializations with __MWERKS__ in m_Do_main
- Remove duplicate inline functions from d_com_inf_game.h
- Mark dummy() functions as static (upstream fix)
- Add JAUSectionHeap.h include to m_Do_main.cpp
2026-02-28 14:29:46 -07:00
Luke Street 32c32a73ca Merge decomp/main into dusk
Merges 44 upstream commits from zeldaret/tp decomp/main.

Conflict resolutions:
- .github/workflows/build.yml: keep deleted (not needed for PC port)
- README.md: keep PC port README
- J3DAnimation.h: keep OFFSET_PTR macro + add upstream forward decl
- J3DModelLoader.h: keep BE(u32) mBlockNum + add field_0x1c
- d_com_inf_game.h: keep PC port inlines + add upstream declarations
- global.h: keep MULTI_CHAR macro + add FABSF macro
- JUTConsole.cpp: keep uintptr_t cast for 64-bit
- JUTDbPrint.cpp: keep PC enter_() helper + add cstring include
- JUTResFont.cpp: take upstream loop/struct improvements with BE types
- JUTCacheFont.cpp: take upstream decomp fix
- float.h: use upstream !PLATFORM_GCN guard
- d_a_npc_bouS/theB.cpp: keep MULTI_CHAR() for PC portability
- d_a_npc_henna.cpp: keep uintptr_t + use upstream var name
- d_demo.cpp: keep near_/far_ field renames for PC
- d_resorce.cpp: keep uintptr_t + fix var name to res
- d_s_room.cpp, m_Do_graphic.cpp: keep dusk includes + add cstring
- m_Do_main.cpp: keep JHIComPortManager + use JAS_GLOBAL_INSTANCE_INIT
- angle_utils.h: remove redundant types.h include
2026-02-28 13:33:16 -07:00
TakaRikka 7992cb22ac Merge pull request #29 from TakaRikka/gcc-fixes
Some GCC fixes
2026-02-28 12:20:23 -08:00
Luke Street 819f59c1c7 Use tls_model("global-dynamic") for JKRHeap on GCC 2026-02-28 13:16:42 -07:00
Luke Street 596a8c89bb Simplify CMake config for Linux 2026-02-28 13:16:20 -07:00
Luke Street f501960314 Some TARGET_PC fixes 2026-02-28 13:16:02 -07: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
TakaRikka 3d97a07488 Merge pull request #27 from TakaRikka/ptrfix2
fix more compile errors with clang
2026-02-27 17:21:48 -08:00
Jeffrey Crowell 799cfc022d address comments 2026-02-27 16:56:35 -08:00
Max Roncace d017a3cd36 d_a_alink debug improvements (#3112) 2026-02-27 11:20:39 -07:00
Jeffrey Crowell 1f01a1e147 fix more compile errors with clang 2026-02-26 23:03:55 -08:00
TakaRikka f59295c127 Merge pull request #26 from TakaRikka/26-02-27-be-gx
Make GXVtxDescList and GXVtxAttrFmtList not be behind BE
2026-02-26 16:10:41 -08:00
TakaRikka 2a864958a1 Merge pull request #24 from TakaRikka/26-02-26-pointer-add
Fix POINTER_ADD macro (64-bit & C++ compile)
2026-02-26 16:08:11 -08:00
PJB3005 4213b055ea Make GXVtxDescList and GXVtxAttrFmtList not be behind BE
Fixes a stub call because we couldn't pass the BE form to the API
2026-02-27 01:04:44 +01:00
PJB3005 031aabd9d0 Fix POINTER_ADD macro (64-bit & C++ compile) 2026-02-26 18:44:29 +01:00
Pieter-Jan Briers a096caa8de Fix broken J3DTexture assert (#3111) 2026-02-25 14:06:37 -08:00
TakaRikka 10e77f77e6 Merge pull request #23 from TakaRikka/26-02-25-fix-j3dtexture-assert
Fix broken J3DTexture assert
2026-02-25 13:56:07 -08:00
PJB3005 58774dc2bf Fix broken J3DTexture assert 2026-02-25 22:55:02 +01:00
TakaRikka a2e8b9647b Merge pull request #22 from TakaRikka/26-02-25-fix-fader
Re-enable fader logic
2026-02-25 13:53:22 -08:00
PJB3005 70f32d0f25 Re-enable fader logic
Was disabled during port development, needed to load the game
2026-02-25 22:47:31 +01:00
TakaRikka 4c021a97a5 Merge pull request #21 from TakaRikka/26-02-25-jsystem-debug
Make the rest of JSystem compiled in DEBUG
2026-02-25 12:54:28 -08:00
TakaRikka fe063bc1f5 Merge pull request #20 from TakaRikka/26-02-25-warning-fixes
Warning fixes
2026-02-25 12:53:30 -08:00
PJB3005 454d3e80c6 Make the rest of JSystem compiled in DEBUG 2026-02-25 21:31:13 +01:00
PJB3005 9f2b9f4e33 Mark OSPanic and OSFatal as [[noreturn]]
Enables them to avoid "method isn't returning a value" errors
2026-02-25 21:31:13 +01:00
PJB3005 a1ba5059da Suppress some warnings we don't care about 2026-02-25 21:29:59 +01:00
PJB3005 484d8ffa9a Fix FLT_EPSILON redefinition warning 2026-02-25 21:29:59 +01:00
TakaRikka 7fc1363d8b Merge pull request #16 from TakaRikka/26-02-25-more-endian-fixes
Asset loading endian fixes (mostly)
2026-02-25 11:58:37 -08:00
TakaRikka 0e9f284ff8 Merge pull request #18 from TakaRikka/26-02-25-windows-build-fix
Windows build fixes
2026-02-25 11:48:09 -08:00
PJB3005 24ea26187e Merge branch 'main' into 26-02-25-more-endian-fixes 2026-02-25 20:47:33 +01:00
PJB3005 e7e176bfd4 Windows build fixes
Name mangling/linkage shenanigans

Remove jsystem_stubs.cpp, it's not necessary.
2026-02-25 20:43:43 +01:00
Jeffrey Crowell 8202bab196 Merge pull request #17 from TakaRikka/ptrfix
fix two more ptr narrowing casts
2026-02-25 11:23:37 -08:00
Jeffrey Crowell 7da545a06f fix two more ptr narrowing casts 2026-02-25 11:21:28 -08:00
PJB3005 284e6c50b6 Fix endianness & 64-bit in 3D asset loading code
Combination of plumbing BE(T) through everything, making BE<T> have template specializations, and inverting at load time where more practical.
2026-02-25 20:20:45 +01:00
TakaRikka 7552e5059e Merge pull request #15 from TakaRikka/wip/mac
fix build on clang/mac
2026-02-25 11:12:17 -08:00
Jeffrey Crowell 9c7f55d1ac builds on mac again
revert some useless ifdefs

rm TARGET_PC in the wrong place

remove stubbed version of functions
2026-02-25 11:09:19 -08:00
PJB3005 975a15036e Implement GDInitGDLObj a little bit
Enough to avoid a crash during asset loading.
2026-02-25 19:52:31 +01:00
TakaRikka 913d19ed52 Merge pull request #14 from TakaRikka/26-02-25-jsystem-debug-asserts
Compile majority of JSystem (& SSystem) with debug asserts enabled
2026-02-24 17:12:33 -08:00
PJB3005 46f5edf7da Fix build
Yeah CMake didn't feel like triggering rebuild last time...
2026-02-25 00:32:38 +01:00
PJB3005 f2a94dcd77 Compile majority of JSystem (& SSystem) with debug asserts enabled
I went through and enabled JSystem parts that seemed to not cause linker errors when compiled in DEBUG
2026-02-25 00:16:47 +01:00
TakaRikka 7f76378d0f Merge pull request #13 from TakaRikka/26-02-24-thread-local-current-heap
Make JKRHeap::sCurrentHeap thread local
2026-02-24 14:53:44 -08:00
PJB3005 6fed5eb37c Make JKRHeap::sCurrentHeap thread local
Needed because we're using true OS threading, so we can't do the normal JSystem heap changing on thread change.

Requires encapsulating it (removing the public static field)
2026-02-24 23:35:16 +01:00
TakaRikka 283dc585b0 Merge pull request #12 from TakaRikka/26-02-24-dvd-thread-assert-heap
Disable assert heap on DVD thread
2026-02-24 14:34:08 -08:00
PJB3005 e10bf4a8d2 Disable assert heap on DVD thread
Nintendo does this probably as a debugging aid. Problem is we allocate from our DVD driver implementation, so everything explodes.
2026-02-24 23:32:45 +01:00
Pieter-Jan Briers f54661f878 Fix MORE wrong forward declares (struct/class) (#3110) 2026-02-24 14:20:45 -08:00
Pieter-Jan Briers 02607a4571 Minor JKRSolidHeap fixes (#3109)
64-bit compat
2026-02-24 14:20:11 -08:00
TakaRikka 2473e04818 Merge pull request #11 from TakaRikka/26-02-24-fix-assert-lines
Use real line numbers for asserts
2026-02-24 14:16:47 -08:00
PJB3005 2ac86ddc4a Use real line numbers for asserts
Redefine the macros to use __LINE__
2026-02-24 23:15:01 +01:00
TakaRikka 0b24a2bcd3 Merge pull request #10 from TakaRikka/26-02-24-error-fix
Error handling fixes
2026-02-24 14:04:10 -08:00