Commit Graph

2403 Commits

Author SHA1 Message Date
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
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
PJB3005 80e09302ac Make JUT showAssert_f_va just log and exit
Normally it tries to draw the error on screen, but the wait on vblank just infinite loops for us.
2026-02-24 23:01:29 +01:00
TakaRikka d01a596804 Merge pull request #9 from TakaRikka/msvc-linkfix-dev
Merged wip/linkfix branches and show first logos on MSVC
2026-02-24 14:01:27 -08:00
PJB3005 0cdbd764b4 Make OSPanic abort properly, don't unwind stack
Existing abort code is a bad idea on a modern compiler. Just call abort()
2026-02-24 23:00:23 +01:00
PJB3005 696cf75ed3 Fix getMaxAllocatableSize & CMemBlock::getBlock on 64-bit 2026-02-24 21:39:45 +01:00
PJB3005 6e0c9f2637 Add BIT_64 define to types.h
I'll be using this
2026-02-24 21:39:11 +01:00
PJB3005 a000b79584 Translate memory allocation failure error 2026-02-24 21:04:48 +01:00
PJB3005 61abd3b353 Make OSReport_Error less hideous to look at 2026-02-24 21:03:05 +01:00
PJB3005 78c91adcf6 Fix AR DMAs & async DVD reads on 64-bit
We get to the health and safety screen!!
2026-02-24 20:48:16 +01:00
Lurs 26b3ffb303 Fix JSUOutputStream uintptr_t operator conflict on MSVC x86.
uintptr_t == u32 == unsigned int on 32-bit MSVC since u32 was changed from unsigned long to unsigned int for TARGET_PC. Guard the uintptr_t overload to x64 only where uintptr_t != u32.
2026-02-24 20:42:46 +01:00
Lurs ae76a2e614 Changed loading for already static loaded .rel files. Added gamepad init 2026-02-24 20:42:45 +01:00
PJB3005 cf5eca0910 Fix JKRArchive on 64-bit
They store the data address in the same struct that's directly loaded from archive files. This means it's impossible to expand to 64-bit directly, and instead we need to allocate the data pointers in a separate array.
2026-02-24 19:55:15 +01:00
PJB3005 4e0a8292e9 Fix JKRExpHeap on 64 bit 2026-02-24 18:16:45 +01:00
PJB3005 08ab1e1106 Fix wrong forward declares (struct/class)
Requires removing the now-matching symbols from jsystem_stubs.cpp
2026-02-24 16:58:12 +01:00
PJB3005 99e0ca4a46 Use BE(T) for JKRArchive 2026-02-24 16:55:08 +01:00
PJB3005 78be0f28fa Revert accidental changes to JKRArchive.h
(not mine)
2026-02-24 16:51:27 +01:00
PJB3005 1061a79070 I apparently missed JUTCacheFont 2026-02-24 16:36:16 +01:00
PJB3005 2900265ceb Use BE(T) for JUTPalette 2026-02-24 16:35:45 +01:00
PJB3005 4c98a536af Use BE(T) for JUTFont 2026-02-24 16:29:13 +01:00
PJB3005 6e385ad102 Add template-based BE(T) endianness conversion helper types
Doesn't require modification at the call sites thanks to the implicit conversion operator.
2026-02-24 16:29:00 +01:00
PJB3005 38b02dbc41 Replace some hardcoded 4 -> alignof(max_align_t)
Hope this fixes the allocator issues
2026-02-24 16:04:53 +01:00