Commit Graph

58 Commits

Author SHA1 Message Date
PJB3005 6388c3d199 Add heap imgui 2026-03-01 22:23:59 +01:00
Luke Street 3058d869c3 Some u32/s32 -> uintptr_t/intptr_t 2026-02-28 20:34:06 -07:00
Luke Street 989c6ac3db Various minor warning fixes 2026-02-28 17:18:04 -07:00
Luke Street 62f42abe12 Fix all -Wconversion-null warnings 2026-02-28 15:59:24 -07:00
Luke Street ac714d1bf9 Merge decomp/main into dusk 2026-02-28 14:49:57 -07:00
Luke Street b5d3b8c059 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 1eb018ea26 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 32c32a73ca 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 819f59c1c7 Use tls_model("global-dynamic") for JKRHeap on GCC 2026-02-28 13:16:42 -07: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 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 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
Pieter-Jan Briers 02607a4571 Minor JKRSolidHeap fixes (#3109)
64-bit compat
2026-02-24 14:20:11 -08:00
PJB3005 696cf75ed3 Fix getMaxAllocatableSize & CMemBlock::getBlock on 64-bit 2026-02-24 21:39:45 +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
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 99e0ca4a46 Use BE(T) for JKRArchive 2026-02-24 16:55:08 +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
Jcw87 2113d9044b d_resorce debug (#3105) 2026-02-20 03:05:23 -08: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
kipcode66 38c854bb01 Merge remote-tracking branch 'decomp/main' into compile 2026-01-26 18:11:18 -05:00
TakaRikka 5867eaf68b general cleanup, d_menu_quit / d_a_obj_testcube mostly done, d_msg_scrn_explain debug (#3065)
* typedef for cPhs_Step

* make sdk includes consistent

* d_menu_quit / d_msg_scrn_explain debug

* d_a_obj_testcube mostly done

* d_debug_pad mostly done

* jstudio tool library headers

* some JStudioCameraEditor headers

* d_jcam_editor mostly done

* try fixing some shield regressions

* d_bg_parts mostly done

* fix merge errors

* debug fix
2026-01-24 23:36:23 -08:00
kipcode66 63f8079212 Merge commit '86fddd48d54f5b8fb126cf71f130a4733c8f0ded' into compile 2026-01-23 17:04:18 -05:00
Jcw87 623ba48542 JKernel wii (#3059) 2026-01-20 16:35:11 -08:00
kipcode66 cb7d9787cc get dusk past compilation and into linking 2026-01-15 19:24:39 -05:00
kipcode66 dd03bf861f standard compiler compatibility changes (#3040)
* move math to cmath

* replace stdarg to cstdarg

* change stdint to stdint.h

* minor fixes

* change stdio to cstdio

* change stdlib to stdlib

* renamed ctype to cctype

* fix missing argument for UNSET_FLAG
2026-01-13 00:48:25 +02:00
kipcode66 1d2a0d9568 Add guards around std library headers (#3013)
* Last fix for standard compiler error

* adding define guards around headers

* rename cmath.h and climits.h to cmath and climits respectively

* renaming cstdarg.h to cstdarg

* renaming cstdlib.h to cstdlib

* renaming cstring.h to cstring

* renaming cstdio.h to cstdio

* renaming cmath locale ctype

* renaming stdarg string and va_list

* renaming cstddef

* renaming stdio stddef stdlib

* renaming algorithm, functional, iterator, memory, and utility

* renaming bitset, cstdint, limits, and stdint

* renaming new and type_traits

* update quote includes for standard library headers to angle bracket includes
2026-01-05 03:50:45 -08:00
Jcw87 deb7bead20 JKernel debug (#3012) 2026-01-04 17:22:56 -08:00
TakaRikka 1f391dc5bd jgadget debug improvements (#3000) 2025-12-27 15:24:27 -07:00
Jcw87 038b8fd62f JAudio2 debug (#3006) 2025-12-27 15:23:15 -07:00
TakaRikka cefe919b8d msl_c mostly matching for wii/shield (#2994) 2025-12-24 16:54:21 -08:00
LagoLunatic 877889c510 Clean up code, remove fakematches, add UNUSED, enable warnings (#2992)
* Remove NDEBUG_DEFINED fakematch, clean up getName temps

* Fix ifdef

* Fix bad JSystem pch ifdef breaking decomp.me

* Remove Acch Chk fakematches

* Private Acch fields

* Fix some clangd errors in headers

* Add UNUSED macro for matching debug parameters

* Enable clangd unused-parameter warning

* Remove extern from initializers

Probably added by dol2asm?

* Fix process profile definitions

* Remove leftover dol2asm address comments

* Remove some unnecessary double casts

* Enable some more clangd warnings

* Fix missing usages of fopAcM_ct

* Fix wrong enum usage

* Fix more fakematches
2025-12-23 15:53:10 -08:00
TakaRikka c9d0c58ffe MSL_C header cleanup (#2988)
* msl_c header cleanup

* math header cleanup

* fix rest of shieldD configs

* cleanup cflag configs a bit

* fix shield build
2025-12-23 10:20:32 -08:00
kipcode66 4045f16667 next round of standard compiler fixes (#2969)
* next round of standard compiler fixes

* Fix weak function order issue

* fix missmatch with ShieldD version
2025-12-21 17:48:09 -08:00
roeming 93067110f6 Use consistent s32/u32 (#2964)
* cleanup long usage

* fix regression
2025-12-18 13:31:44 -08:00
Max Roncace a30e617e5a Various debug conditional compilation cleanup (#2915)
* Global: Define DEBUG as 0 if not already defined

* Clean up DEBUG-guarded code
2025-12-06 13:34:47 -08:00
Niklas Bauer 4d3f25d34e Resolve all "illegal jump past declaration/initializer" warnings (#2911)
* resolve illegal jump past declaration/initializer

* pr comments
2025-12-04 14:57:33 +02:00
TakaRikka a6e76c0841 project cleanup (#2895)
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes
2025-11-30 15:23:42 -07:00
LagoLunatic 2f2f37a734 Misc fixes (#2860)
* Misc matches

* Remove more old dol2asm stuff

* Remove dCcS::SetMass-related fakematches

No longer necessary with the PCH for some reason.

* Use attention types enum in more places

* Remove more dol2asm stuff

* Clean up matDL_dis.py
2025-11-25 18:32:34 +02:00
LagoLunatic e2fddadf32 Misc matches (#2845)
* Misc debug matches

* Fix d_map weak function order

* Remove old nonmatching comments

* d_menu_dmap and JASAudioThread OK, fix weak func order and rodata alignment

* More misc matches
2025-11-21 15:52:16 -08:00
TakaRikka 540217c31b wii building OK / m_Do_graphic debug work (#2815)
* wii building OK + m_Do_graphic debug work

* d_meter_HIO debug cleanup

* wii m_Do_graphic stuff

* tag_attack_item OK, mirror_chain almost

* fix build

* mg_fshop matching
2025-11-17 20:01:03 +02:00
LagoLunatic 9eea9289b1 Fix JUT_ASSERT and several other macros (#2711)
* Fix JUT_ASSERT to be a nested define

* Switch names that appear in asserts to be constants instead of defines

* Replace `0` in asserts with `NULL` or `FALSE`

* Fix fpclassify

* Fix ARRAY_SIZE

* Use G_CM3D_F_INF

* More fixes for fpclassify

* Remove FLOAT_LABEL

* Remove incorrect FLAG_ON macro

* Remove UNK_BSS macro

* Silence clangd unused header warning for PCH
2025-09-28 13:11:07 -07:00
LagoLunatic 54d8839d91 Remove unnecessary externs (#2705) 2025-09-27 15:30:54 -07:00
Max Roncace a6c3c20b23 Add PCH for JSystem (#2645) 2025-09-11 13:20:45 -07:00
TakaRikka b45a089e15 some J3D/misc cleanup (#2628)
* some j3d cleanup

* begin using uintptr_t

* j3dgraphbase cleanup

* j3dgraphanimator cleanup
2025-09-04 17:56:59 +03:00
TakaRikka 79c56b2548 add wii usa rev0 support (#2505)
* wii usa rev0 dol building ok

* wii dol cleanup

* some wii tests

* most rels building
2025-06-27 13:14:58 +03:00
hatal175 3df5c7bb42 Various alignments to debug + matching TUs (#2391) 2025-04-13 11:55:52 -07:00