Luke Street
b807bedd35
More -Wpointer-arith fixes
2026-02-28 20:34:06 -07:00
Luke Street
bd8cf29176
Add C versions of all ASM blocks (except THP)
2026-02-28 18:10:14 -07:00
Luke Street
bd682c9818
Various minor warning fixes
2026-02-28 17:18:04 -07:00
Luke Street
0631cfe894
Fix all -Wconversion-null warnings
2026-02-28 15:59:24 -07:00
Luke Street
3385468314
Merge decomp/main into dusk
2026-02-28 14:49:57 -07:00
Luke Street
38b7156a8e
Another round of GCC fixes ( #3115 )
...
* Fix remaining <string> -> <cstring> for GCC compilation (#3114 follow-up)
MWerks' <string> header transitively includes C string functions
(memcpy, strlen, strcmp, etc.), but GCC/Clang's <string> is the C++
std::string header. These files all use C string functions and should
include <cstring> instead.
* Use std::isnan instead of isnan for GCC compilation
GCC's <cmath> places isnan in the std namespace. Using the unqualified
isnan fails to compile with GCC/Clang.
* Fix cCcD_Src types: s32 -> u32 for bitmask fields
cCcD_SrcObjCommonBase::mSPrm, cCcD_SrcObjTg::mType, and
cCcD_SrcObjAt::mType are used as bitmasks (SetType/SetSPrm take u32,
MskType/MskSPrm use u32, values like 0xFFFFFFFF are common in
aggregate inits). Change from s32 to u32 to match usage.
Also fix AT_TYPE_WOLF_ATTACK/AT_TYPE_UNK to use unsigned literals,
and remove now-unnecessary (s32) casts on hex literals in collision
source data.
* Mark dummy() functions as static to avoid multiple definition errors
These decomp artifact functions have the same name and signature across
TUs, causing linker errors when building as a single binary.
2026-02-28 13:35:07 -08:00
Luke Street
b7961b7739
Fix compilation errors after decomp/main merge
...
- Fix <string> -> <cstring> across all source files (upstream fix)
- Add <cstring> to JASGadget.h, <cstdarg> to JUTDbPrint.cpp
- Fix <string> -> <cstring> in JUTFont.h, d_save.h, f_ap_game.h
- Fix std::isnan usage in c_cc_d.cpp
- Fix cCcD_Src types: s32 -> u32 for bitmask fields (upstream fix)
- Fix AT_TYPE_WOLF_ATTACK/AT_TYPE_UNK unsigned literals (upstream fix)
- Remove (s32) casts on hex literals in collision data (upstream fix)
- Fix 0xFFFFFFFF literal in d_a_obj_wood_statue.cpp (upstream fix)
- Add braces to case 0 in d_a_e_gb.cpp to fix jump-over-init
- Fix Z2AudioCS.h include path (Z2AudioLib -> Z2AudioCS)
- Forward-declare Z2AudioCS in stubs.cpp to avoid revolution conflicts
- Guard JASGlobalInstance specializations with __MWERKS__ in m_Do_main
- Remove duplicate inline functions from d_com_inf_game.h
- Mark dummy() functions as static (upstream fix)
- Add JAUSectionHeap.h include to m_Do_main.cpp
2026-02-28 14:29:46 -07:00
Luke Street
3b8300d0d2
Merge decomp/main into dusk
...
Merges 44 upstream commits from zeldaret/tp decomp/main.
Conflict resolutions:
- .github/workflows/build.yml: keep deleted (not needed for PC port)
- README.md: keep PC port README
- J3DAnimation.h: keep OFFSET_PTR macro + add upstream forward decl
- J3DModelLoader.h: keep BE(u32) mBlockNum + add field_0x1c
- d_com_inf_game.h: keep PC port inlines + add upstream declarations
- global.h: keep MULTI_CHAR macro + add FABSF macro
- JUTConsole.cpp: keep uintptr_t cast for 64-bit
- JUTDbPrint.cpp: keep PC enter_() helper + add cstring include
- JUTResFont.cpp: take upstream loop/struct improvements with BE types
- JUTCacheFont.cpp: take upstream decomp fix
- float.h: use upstream !PLATFORM_GCN guard
- d_a_npc_bouS/theB.cpp: keep MULTI_CHAR() for PC portability
- d_a_npc_henna.cpp: keep uintptr_t + use upstream var name
- d_demo.cpp: keep near_/far_ field renames for PC
- d_resorce.cpp: keep uintptr_t + fix var name to res
- d_s_room.cpp, m_Do_graphic.cpp: keep dusk includes + add cstring
- m_Do_main.cpp: keep JHIComPortManager + use JAS_GLOBAL_INSTANCE_INIT
- angle_utils.h: remove redundant types.h include
2026-02-28 13:33:16 -07:00
Luke Street
f38dcf3aef
Use tls_model("global-dynamic") for JKRHeap on GCC
2026-02-28 13:16:42 -07:00
Luke Street
5395eb1b53
Some TARGET_PC fixes
2026-02-28 13:16:02 -07:00
Luke Street
29c96f5c65
Some GCC compilation fixes ( #3114 )
...
* Fix 6-byte multichar literals
* Add `struct` to `e_ga_class::ga_s`
* Fix remaining wrong forward declares (struct/class)
* Replace `#include <string>` with `#include <cstring>`
* Guard FLT_EPSILON define to prevent redefinition
* Add missing `#include <cstring>` for direct cstring function usage
2026-02-28 12:11:00 -08:00
Jeffrey Crowell
d2fe6ac2c9
address comments
2026-02-27 16:56:35 -08: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
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
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
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
d9e39c8786
Fix getMaxAllocatableSize & CMemBlock::getBlock on 64-bit
2026-02-24 21:39:45 +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
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
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
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
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
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
Lurs
c86a2208d2
first start with aurora after linking on MSVC
2026-02-17 22:28:42 +01: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
Lurs
292724920c
Merge branch 'wip/linkfix2' into wip/linkfix
2026-02-11 07:20:44 +01:00