PJB3005
720d59cdff
Merge branch 'main' into 26-02-25-more-endian-fixes
2026-02-25 20:47:33 +01:00
Jeffrey Crowell
ae7dd96002
Merge pull request #17 from TakaRikka/ptrfix
...
fix two more ptr narrowing casts
2026-02-25 11:23:37 -08:00
Jeffrey Crowell
de9576c32b
fix two more ptr narrowing casts
2026-02-25 11:21:28 -08:00
PJB3005
e7861f1ee3
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
05921d1fc9
Merge pull request #15 from TakaRikka/wip/mac
...
fix build on clang/mac
2026-02-25 11:12:17 -08:00
Jeffrey Crowell
9af9240253
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
31149794f1
Implement GDInitGDLObj a little bit
...
Enough to avoid a crash during asset loading.
2026-02-25 19:52:31 +01:00
TakaRikka
e21af7551a
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
d3b8300644
Fix build
...
Yeah CMake didn't feel like triggering rebuild last time...
2026-02-25 00:32:38 +01:00
PJB3005
755bf3316e
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
ae147e97f7
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
f2dacf2a75
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
73a11d6157
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
02a6746c68
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
daa7999da1
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
807ea3e006
Use real line numbers for asserts
...
Redefine the macros to use __LINE__
2026-02-24 23:15:01 +01:00
TakaRikka
0e7339f36b
Merge pull request #10 from TakaRikka/26-02-24-error-fix
...
Error handling fixes
2026-02-24 14:04:10 -08:00
PJB3005
5d496baee4
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
7f4d6a91d3
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
68fabb248a
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
d9e39c8786
Fix getMaxAllocatableSize & CMemBlock::getBlock on 64-bit
2026-02-24 21:39:45 +01:00
PJB3005
a4f66b9892
Add BIT_64 define to types.h
...
I'll be using this
2026-02-24 21:39:11 +01:00
PJB3005
513b86f8ed
Translate memory allocation failure error
2026-02-24 21:04:48 +01:00
PJB3005
e4104cadad
Make OSReport_Error less hideous to look at
2026-02-24 21:03:05 +01:00
PJB3005
77581bace4
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
3cfef81753
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
2b78bb3375
Changed loading for already static loaded .rel files. Added gamepad init
2026-02-24 20:42:45 +01:00
PJB3005
e2dacba262
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
6d47b43766
Fix JKRExpHeap on 64 bit
2026-02-24 18:16:45 +01:00
PJB3005
fcf1f4bed1
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
79e9fa257f
Use BE(T) for JKRArchive
2026-02-24 16:55:08 +01:00
PJB3005
a36f3aaef9
Revert accidental changes to JKRArchive.h
...
(not mine)
2026-02-24 16:51:27 +01:00
PJB3005
29375d2b79
I apparently missed JUTCacheFont
2026-02-24 16:36:16 +01:00
PJB3005
f3ca75b3b7
Use BE(T) for JUTPalette
2026-02-24 16:35:45 +01:00
PJB3005
9e02e3cfce
Use BE(T) for JUTFont
2026-02-24 16:29:13 +01:00
PJB3005
36895ee3b6
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
1b6a118eae
Replace some hardcoded 4 -> alignof(max_align_t)
...
Hope this fixes the allocator issues
2026-02-24 16:04:53 +01:00
PJB3005
d05478cfaa
Fix JKRSolidHeap on 64-bit
2026-02-24 15:49:28 +01:00
PJB3005
32e83a26a1
Add CMake option to re-enable warnings in game build
2026-02-24 15:40:26 +01:00
PJB3005
750f9a044d
Compile fixes for previous commit
...
oops
2026-02-24 15:29:08 +01:00
PJB3005
e9b3df4d61
Fix primitive int types on 64-bit non-Windows targets
...
`long` is variable-sized on non-Windows targets, so don't use it.
Added some static_asserts to confirm this is the case.
2026-02-24 15:23:52 +01:00
PJB3005
e5cfe0e6b4
Use calloc instead of malloc followed by memset
...
Avoids forcing pages to be allocated until actually needed.
2026-02-24 15:17:47 +01:00
PJB3005
818b190bb5
Make heap init work on 64-bit
...
Larger pointer sizes means the normal heap limits don't work.
Expand them even when on 32-bit because we're already allocating 256 MB
of MEM1 anyways
2026-02-24 15:14:57 +01:00
PJB3005
bc8d5a2dce
Make console UTF-8 & VT sequences work reliably on Windows
2026-02-24 14:54:53 +01:00
PJB3005
04fdee9d5a
Fix mDoPrintf_vprintf_Interrupt on 64-bit
...
This is an ABI hazard so I'm just gonna call vprintf directly.
2026-02-24 14:08:15 +01:00
PJB3005
449900d2bf
Fix compile with Dusk's mtx lib
...
Move Mtx33 and similar types to JMath
Rename mtx.h in decomp to _mtx.h so Aurora's header is used instead.
2026-02-24 13:15:21 +01:00
PJB3005
33eec2d3d9
Move source file listing to separate CMake file
...
Huge
2026-02-24 13:14:12 +01:00
PJB3005
00b193b121
Remove some GX stubs now implemented by Aurora
2026-02-24 13:13:46 +01:00
PJB3005
5185613b71
Move Aurora include before setting compile options
...
Fixes our compile options breaking Aurora build
2026-02-24 13:13:32 +01:00
PJB3005
0e3f7f10bd
Remove manual C++20 compile option from MSVC
...
Not necessary, we already set CMAKE_CXX_STANDARD
2026-02-24 13:11:35 +01:00