PJB3005
038ef4216f
Isolate JKRHeap operator overloads
...
Fixes #25
This isolates the JKRHeap operator new/delete overloads. Every single new/delete site in the code has been replaced with a macro.
Sadly for new[] and delete[] we have to keep global operators. The global new[] just allocates into malloc() however, and delete[] goes into free() if it's not in a JKRHeap. So that's fine.
2026-02-27 23:11:59 +01:00
Max Roncace
bf4d19d8db
d_a_alink debug improvements ( #3112 )
2026-02-27 11:20:39 -07:00
Jeffrey Crowell
91c940bc1e
fix more compile errors with clang
2026-02-26 23:03:55 -08:00
PJB3005
317fb95c27
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
38c006fa0e
Endianness fixes in JAudio loading code
...
Not tested because I can't even get the code to init again due to the aforementioned race condition
2026-02-26 23:22:47 +01:00
PJB3005
b6a6c4fd0e
Fix JASDram allocation race condition
...
Not sure if useful as long-term plan involves abandoning the DSP entirely.
2026-02-26 23:19:15 +01:00
PJB3005
06801cbd66
This parameter was not what I thought it was
2026-02-26 23:02:46 +01:00
PJB3005
8b4bb290d8
Increase audio heap sizes on PC
...
prevent allocation failures from larger 64-bit pointers
2026-02-26 18:46:47 +01:00
PJB3005
b36aee6da7
Make the audio engine initialize again
...
Removes spurious mDoAud_zelAudio_c::onInitFlag call in m_do_main that was added in the port, it breaks audio engine init.
Re-introduced g_mDoAud_audioHeap initialization.
2026-02-26 18:45:57 +01:00
PJB3005
2ee3dae5d5
Make stage loading work somewhat
...
BE & 64-bit support
Most nodes haven't been fixed yet but this at least avoids an immediate crash.
2026-02-26 18:44:40 +01:00
TakaRikka
b7649f367e
Merge pull request #22 from TakaRikka/26-02-25-fix-fader
...
Re-enable fader logic
2026-02-25 13:53:22 -08:00
PJB3005
10d3e63ee2
Re-enable fader logic
...
Was disabled during port development, needed to load the game
2026-02-25 22:47:31 +01:00
PJB3005
cf5ce234b6
Make the rest of JSystem compiled in DEBUG
2026-02-25 21:31:13 +01:00
TakaRikka
39981e4a65
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
PJB3005
720d59cdff
Merge branch 'main' into 26-02-25-more-endian-fixes
2026-02-25 20:47:33 +01:00
PJB3005
3e0023961f
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
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
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
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
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
Pieter-Jan Briers
cd6498e372
Minor JKRSolidHeap fixes ( #3109 )
...
64-bit compat
2026-02-24 14:20:11 -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
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
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
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
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
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
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
00b193b121
Remove some GX stubs now implemented by Aurora
2026-02-24 13:13:46 +01:00
Pieter-Jan Briers
929939c4a2
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
Lurs
f710f30702
Added a bunch of Diag functions to diagnose the black screen issue (was a bug in GXGeometry.h). Resumed to old ClearEfb function, no pink screen anymore.
...
Updated aurora with local changes for TP
2026-02-23 14:33:29 +01:00