Commit Graph

2358 Commits

Author SHA1 Message Date
PJB3005 99e0ca4a46 Use BE(T) for JKRArchive 2026-02-24 16:55:08 +01:00
PJB3005 78be0f28fa Revert accidental changes to JKRArchive.h
(not mine)
2026-02-24 16:51:27 +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 6e385ad102 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 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 8257cab1fe Add CMake option to re-enable warnings in game build 2026-02-24 15:40:26 +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
PJB3005 ed6e31c88b Make console UTF-8 & VT sequences work reliably on Windows 2026-02-24 14:54:53 +01:00
PJB3005 59119622f8 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 defe78c4a2 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 cce53f356e Move source file listing to separate CMake file
Huge
2026-02-24 13:14:12 +01:00
PJB3005 811e50b452 Remove some GX stubs now implemented by Aurora 2026-02-24 13:13:46 +01:00
PJB3005 a616aa954d Move Aurora include before setting compile options
Fixes our compile options breaking Aurora build
2026-02-24 13:13:32 +01:00
PJB3005 aaf75a2ac9 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 0faa2568ad Bringing aurora to remote origin again 2026-02-23 21:47:34 +01:00
Lurs 1513f896ed 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 472debc53a stubbed unresolved symbols again after updating aurora 2026-02-22 07:31:22 +01:00
Lurs c76ba99ef2 Update aurora 2026-02-22 07:18:58 +01:00
Lurs d5c5bb8708 tests with edited aurora 2026-02-22 07:06:54 +01:00
Lurs 22a86deb76 First pink screen! 2026-02-21 22:15:39 +01:00
Lurs a41c3d59b4 first try to draw first logo 2026-02-20 21:13:50 +01:00
Lurs 8020eb64ba 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 43847d81b1 first start with aurora after linking on MSVC 2026-02-17 22:28:42 +01:00
Lurs f6cba82a91 Merge origin/wip/linkfix2 into msvc-linkfix-dev (local dev branch) 2026-02-15 20:36:46 +01:00
Jeffrey Crowell 3391680faf call game_main 2026-02-14 16:04:12 -08:00
Jeffrey Crowell cc2b506476 now it links (except for no main!) 2026-02-14 15:55:43 -08:00
Jeffrey Crowell 5bf60a807d change ifdef instead of copying function blocks 2026-02-14 00:03:10 -08:00
Lurs d069062c5c 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 143c973b49 Merge branch 'wip/linkfix2' into wip/linkfix 2026-02-11 07:20:44 +01:00
Jeffrey Crowell 6b212d913d 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 ef1e1e954c 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 fcb2ab00e1 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 41b9b3c85d Merge pull request #6 from TakaRikka/compile
Compile
2026-01-30 21:06:33 -08:00
kipcode66 b89730ec9b Adding JHostID files and stubs 2026-01-30 23:54:55 -05:00
kipcode66 c02247b6cb fix c++ name mangling 2026-01-27 16:17:59 -05:00
kipcode66 d8ffa3b703 Adding vifuncs.h stubs 2026-01-27 00:54:30 -05:00
kipcode66 ceef317afb Adding mtx.h stubs 2026-01-27 00:47:51 -05:00
kipcode66 2dab5c6691 Adding os stubs 2026-01-26 23:50:56 -05:00
kipcode66 0c3eea1fca Adding gx stubs 2026-01-26 23:07:55 -05:00
kipcode66 64384d5da9 Adding GDBase.h stubs 2026-01-26 22:41:59 -05:00
kipcode66 058013c09b Adding dvd.h stubs 2026-01-26 22:36:18 -05:00
kipcode66 2286eb61ca Adding OSCache.h and dsp.h stubs 2026-01-26 21:40:54 -05:00
kipcode66 0c2cc0def1 adding card.h and mtx.h stubs 2026-01-26 21:12:58 -05:00
kipcode66 b518425c9e Adding ai.h and ar.h stubs 2026-01-26 20:59:11 -05:00