TakaRikka
bb6eca1c1a
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
PJB3005
cf5ce234b6
Make the rest of JSystem compiled in DEBUG
2026-02-25 21:31:13 +01:00
PJB3005
b34ba7b4f0
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
bd4371870c
Fix FLT_EPSILON redefinition warning
2026-02-25 21:29:59 +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
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
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
Pieter-Jan Briers
af7ab981e6
Fix MORE wrong forward declares (struct/class) ( #3110 )
2026-02-24 14:20:45 -08:00
PJB3005
807ea3e006
Use real line numbers for asserts
...
Redefine the macros to use __LINE__
2026-02-24 23:15:01 +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
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
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
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
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
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
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
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
Pieter-Jan Briers
a2dcb7251b
Fix incorrect forward declare keywords ( #3107 )
...
Mixups of class/struct keyword in forward declares. Doesn't seem to matter on MWCC, but causes name mangling mismatching on modern platforms.
2026-02-23 11:13:00 -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
Lurs
8599684fae
First pink screen!
2026-02-21 22:15:39 +01:00
Luzagar
765878893f
Warpappear doc ( #3104 )
...
* warpappear documentation
* dist documentation
* more doc
* add enum name + square macro
2026-02-20 19:06:42 -08:00
Lurs
97e7a8b145
first try to draw first logo
2026-02-20 21:13:50 +01:00
Jcw87
b6abc56f94
d_resorce debug ( #3105 )
2026-02-20 03:05:23 -08:00
Max Roncace
d939dcd474
Implement Z2AudioCS ( #3103 )
2026-02-20 02:53:27 -08:00
roeming
07ef4b6d26
Big cast cleanup ( #3076 )
...
* Big cast cleanup
* fix for name conflict
* rename header
* rename cast macros
* fix rename mistake
---------
Co-authored-by: roeming <roeming@users.noreply.github.com >
2026-02-20 02:48:29 -08:00
Lurs
a4d72437ef
OS threading, DVD I/O, Endianness fixes, ARAM emulation, GX vertex fix
...
Major changes:
- Implement Big-Endian to Little-Endian byte-swapping for all RARC archive
types (JKRCompArchive, JKRMemArchive, JKRDvdArchive, JKRAramArchive)
- Implement DVD file I/O via DvdEmu (DVDOpen, DVDFastOpen, DVDReadPrio,
DVDReadAsyncPrio, DVDConvertPathToEntrynum)
- Fix YAZ0 decompression endianness in JKRDvdRipper, JKRDecomp, JKRAram,
and JKRDvdAramRipper (use JKRDecompExpandSize instead of direct header read)
- Emulate ARAM with 16MB malloc buffer and synchronous memcpy in ARQPostRequest
instead of hardware DMA transfers that hang on PC
- Add real OS threading implementation (OSContext, OSThread, OSMutex) using
native Windows threads with side-table pattern for GC struct compatibility
- Fix font endianness for JUTResFont and JUTCacheFont
- Redirect GXVert.h to Aurora's PC implementation to prevent FIFO writes to
the GameCube hardware address 0xCC008000
- Add Z-buffer texture format support (GX_TF_Z24X8, GX_TF_Z16, GX_TF_Z8)
in Aurora's texture converter
2026-02-19 10:35:42 +01:00
Max Roncace
ba2700248e
d_cursor_mng mostly matching ( #3101 )
2026-02-17 22:58:52 -08:00
Lurs
c86a2208d2
first start with aurora after linking on MSVC
2026-02-17 22:28:42 +01:00
Lurs
89ed35ad76
Merge origin/wip/linkfix2 into msvc-linkfix-dev (local dev branch)
2026-02-15 20:36:46 +01:00
Jeffrey Crowell
147b4bdb97
now it links (except for no main!)
2026-02-14 15:55:43 -08:00
Max Roncace
ca94ab6a92
m_Re_controller_pad mostly matching ( #3099 )
...
* Move m_Re_controller_pad to m_Re/
* m_Re_controller_pad mostly matching
2026-02-13 15:15:42 -08:00
Jcw87
6703a5c0ce
d_demo debug ( #3098 )
2026-02-13 15:08:10 -08:00
Jcw87
a6561ebcf1
d_bg_parts debug ( #3097 )
2026-02-13 15:06:14 -08:00
Lurs
3b742025db
Fix MSVC compiler and linker errors
...
- Fix struct/class forward declaration mismatches (JAIAudience, JASTrack) causing different MSVC mangled names and unresolved symbols
- Add jsystem_stubs.cpp with stubs for JASHeap, JASVoiceBank, J3DShapeTable, JAUSection, JHICommBuf, HIO/HIO2, JOR
2026-02-13 23:28:47 +01:00
Jcw87
7a22a1c320
fix compiler warnings ( #3094 )
2026-02-11 00:14:18 -08:00
Max Roncace
7f478b5743
Revolution SDK work ( #3091 )
...
* Implement revolution/ax
Copied mostly unchanged from Petari
* Implement revolution/axfx
Copied mostly unchanged from Petari
* Implement revolution/arc
Copied mostly unchanged from Petari
* Implement revolution/mem
Copied mostly unchanged from Petari
* Implement revolution/tpl
Copied verbatim from Petari
* revolution/ipc matching (except small linking issue on ShieldD)
* revolution/pad/Pad matching
Largely copied from Petari with significant modifications
* Fix up ut_TextWriterBase symbols
* Fix homebuttonLib file names in Shield splits
2026-02-11 00:10:40 -08:00
Jcw87
9250959981
d_a_obj debug ( #3089 )
2026-02-11 00:06:12 -08:00
Jcw87
c6b361575e
d_jnt_col debug ( #3088 )
2026-02-11 00:05:16 -08:00
Jcw87
25ce57cd32
d_save debug ( #3087 )
2026-02-11 00:04:54 -08:00
Lurs
292724920c
Merge branch 'wip/linkfix2' into wip/linkfix
2026-02-11 07:20:44 +01:00