Commit Graph

2356 Commits

Author SHA1 Message Date
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
Lurs ac411e8489 Bringing aurora to remote origin again 2026-02-23 21:47:34 +01: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 43ea7786b9 stubbed unresolved symbols again after updating aurora 2026-02-22 07:31:22 +01:00
Lurs 133842b4c5 Update aurora 2026-02-22 07:18:58 +01:00
Lurs d66e35eefc tests with edited aurora 2026-02-22 07:06:54 +01:00
Lurs 8599684fae First pink screen! 2026-02-21 22:15:39 +01:00
Lurs 97e7a8b145 first try to draw first logo 2026-02-20 21:13:50 +01: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
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 833db377af call game_main 2026-02-14 16:04:12 -08:00
Jeffrey Crowell 147b4bdb97 now it links (except for no main!) 2026-02-14 15:55:43 -08:00
Jeffrey Crowell 5d359236e1 change ifdef instead of copying function blocks 2026-02-14 00:03:10 -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
Lurs 292724920c Merge branch 'wip/linkfix2' into wip/linkfix 2026-02-11 07:20:44 +01:00
Jeffrey Crowell 5d6aa01e6e Fix linker errors.
Stubbing out all OS* functions to stubs.cpp, these will likely have to
be replaced with the operating system's primitives for
locking/heaps/threads/etc.

Moved some generic globals into globals.cpp, not sure where they're
actually to be used.

Stub DSP functions

Stub JSUMemoryOutputStream, JORServer, Z2Audio

mDoExt stubs

add memcpy

add some more stubs, add extras c++ mangled functions

add extras.cpp

AR/AQ stubbing

stub DVD

stub CARD

more stubs, more extras

add missing mtx functions to dusk file

finish mtx

stub GX

KPAD and LC, also do pragma marks for better visualization

finish mtx, add a few more stubs

gf/wpad/vi

translate some matrix math from ppc to C

jorserver/debugpad/fap/dmsgobject

add m_Do_ext functions from debug block to separate file

make small janges to JSystem, does this need upstreaming

reorg DVD stubs

reorganize stubs by mark
2026-02-07 15:25:09 -08:00
roeming 81d679d207 Fix errors for msvc
Use less strict compiler flags instead of modifying source code

Add ugly defines so MSVC stops complaining about zero length arrays
2026-02-01 15:37:26 -08:00
Jeffrey Crowell ef14b2b932 Fix linker errors.
Stubbing out all OS* functions to stubs.cpp, these will likely have to
be replaced with the operating system's primitives for
locking/heaps/threads/etc.

Moved some generic globals into globals.cpp, not sure where they're
actually to be used.

Stub DSP functions

Stub JSUMemoryOutputStream, JORServer, Z2Audio

mDoExt stubs

add memcpy

add some more stubs, add extras c++ mangled functions

add extras.cpp

AR/AQ stubbing

stub DVD

stub CARD

more stubs, more extras

add missing mtx functions to dusk file

finish mtx

stub GX

KPAD and LC, also do pragma marks for better visualization

finish mtx, add a few more stubs

gf/wpad/vi

translate some matrix math from ppc to C

jorserver/debugpad/fap/dmsgobject

add m_Do_ext functions from debug block to separate file

make small janges to JSystem, does this need upstreaming

reorg DVD stubs

reorganize stubs by mark
2026-02-01 15:36:56 -08:00
TakaRikka fddd017d4c Merge pull request #6 from TakaRikka/compile
Compile
2026-01-30 21:06:33 -08:00
kipcode66 1764f04eb5 Adding JHostID files and stubs 2026-01-30 23:54:55 -05:00
kipcode66 20c83ce77a fix c++ name mangling 2026-01-27 16:17:59 -05:00
kipcode66 e619de962c Adding vifuncs.h stubs 2026-01-27 00:54:30 -05:00
kipcode66 9e51a3fbc0 Adding mtx.h stubs 2026-01-27 00:47:51 -05:00
kipcode66 19a07bd91f Adding os stubs 2026-01-26 23:50:56 -05:00
kipcode66 c70d44e9bd Adding gx stubs 2026-01-26 23:07:55 -05:00
kipcode66 40cff5cbb2 Adding GDBase.h stubs 2026-01-26 22:41:59 -05:00
kipcode66 259cebed84 Adding dvd.h stubs 2026-01-26 22:36:18 -05:00
kipcode66 1a680f0a69 Adding OSCache.h and dsp.h stubs 2026-01-26 21:40:54 -05:00
kipcode66 17c77af044 adding card.h and mtx.h stubs 2026-01-26 21:12:58 -05:00
kipcode66 77afcd1b28 Adding ai.h and ar.h stubs 2026-01-26 20:59:11 -05:00
kipcode66 b34bbc3496 adding imgui to compilation list 2026-01-26 20:38:05 -05:00
kipcode66 ebaec37082 Adding stubs file to compilation list 2026-01-26 20:35:21 -05:00