Commit Graph

1581 Commits

Author SHA1 Message Date
PJB3005 5a519da22b Fix JGadget::TLinkList offsets on 64-bit 2026-02-28 20:17:20 +01:00
PJB3005 a23721bc7d Process debug imgui 2026-02-28 19:39:52 +01:00
PJB3005 9a12c28823 Fix dScnPly_Create not returning properly 2026-02-28 19:13:17 +01:00
PJB3005 2ed6a26de4 Get imgui running 2026-02-28 14:43:47 +01:00
PJB3005 29ec605929 Stub out the entire dynamic linking table 2026-02-28 13:47:24 +01:00
PJB3005 0c16a748c3 Make stage loading work on LE & 64-bit 2026-02-28 13:17:05 +01:00
PJB3005 b8e92ad08d Speed up logos
Keeping this in my working tree was getting annoying. Later we can probably revert it.
2026-02-27 23:55:10 +01:00
PJB3005 be84ab7b0a Disable the audio engine for now 2026-02-27 23:54:50 +01:00
PJB3005 f759c7fe65 Disable clearEfb for now
Causes crash due to weird way of clearing depth buffer
2026-02-27 23:33:36 +01:00
PJB3005 bb0ef954c2 Merge branch 'main' into 26-02-27-pjb-dev-2 2026-02-27 23:28:08 +01: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 e9cd1d1f64 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 d7a4fe6fa8 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 fb20c793ce This parameter was not what I thought it was 2026-02-26 23:02:46 +01:00
PJB3005 4a36376ae4 Increase audio heap sizes on PC
prevent allocation failures from larger 64-bit pointers
2026-02-26 18:46:47 +01:00
PJB3005 60e5d599ee 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 55d162fd3e 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 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
PJB3005 454d3e80c6 Make the rest of JSystem compiled in DEBUG 2026-02-25 21:31:13 +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
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 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
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 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
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
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
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 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 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 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 38b02dbc41 Replace some hardcoded 4 -> alignof(max_align_t)
Hope this fixes the allocator issues
2026-02-24 16:04:53 +01:00
PJB3005 c925d2483a Fix JKRSolidHeap on 64-bit 2026-02-24 15:49:28 +01:00
PJB3005 436a500c65 Compile fixes for previous commit
oops
2026-02-24 15:29:08 +01:00
PJB3005 4fb2389b43 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 a526eab880 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 df50d57ca9 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