Commit Graph

2472 Commits

Author SHA1 Message Date
Luke Street 8ee459cda0 Implement JHIhtonl/JHIntohl 2026-02-28 18:24:48 -07:00
Luke Street bd8cf29176 Add C versions of all ASM blocks (except THP) 2026-02-28 18:10:14 -07:00
Luke Street 4cbb6d22b7 Guard operator new/delete behind !TARGET_PC 2026-02-28 17:26:24 -07:00
Luke Street bd682c9818 Various minor warning fixes 2026-02-28 17:18:04 -07:00
Luke Street 60edc293c4 Include JUTPalette in J2DAnimation to avoid deleting forward decl 2026-02-28 17:17:01 -07:00
Luke Street a5568d8cb5 Update CMake warning flags for Linux 2026-02-28 17:16:20 -07:00
Luke Street 0631cfe894 Fix all -Wconversion-null warnings 2026-02-28 15:59:24 -07:00
Luke Street c786f40a23 Some MULTI_CHAR fixes 2026-02-28 15:43:37 -07:00
Luke Street 3385468314 Merge decomp/main into dusk 2026-02-28 14:49:57 -07:00
TakaRikka 13dd364404 Merge pull request #30 from TakaRikka/merge
Merge upstream decomp changes & more fixes
2026-02-28 13:35:54 -08: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
Luzagar ff82ba7a4f E rd documentation (#3106)
* some e_rd doc

* fix build

* more doc

* more doc

* fix debug

* fix debug for real

* change some name

* some rename

* rename
2026-02-28 12:25:31 -08:00
TakaRikka 700d0daaac Merge pull request #29 from TakaRikka/gcc-fixes
Some GCC fixes
2026-02-28 12:20:23 -08:00
Luke Street f38dcf3aef Use tls_model("global-dynamic") for JKRHeap on GCC 2026-02-28 13:16:42 -07:00
Luke Street 6340087698 Simplify CMake config for Linux 2026-02-28 13:16:20 -07:00
Luke Street 5395eb1b53 Some TARGET_PC fixes 2026-02-28 13:16:02 -07:00
Max Roncace a290c2d52c ShieldD: Clean up a bunch of 99% matching TUs (#3113)
* d_a_npc_ks debug code 100%

* d_a_npc_rafrel debug code 100%

* d_a_npc_inko minor improvements

* d_a_npc_gro debug code 100%

* d_a_npc_pachi_taro debug code 100%

* d_a_npc_passer debug code 100%

* d_a_npc_pachi_maro debug code 100%

* d_a_npc_post debug code 100%

* d_a_obj_bemos debug improvements

* d_a_obj_scannon_ten debug code 100%

* d_a_b_mgn debug code 100%

* d_a_e_fb debug code 100%

* d_a_e_gb debug code 100%

* d_a_e_hz debug code 100%

* d_a_e_cr_egg debug code 100%

* d_a_e_md debug code 100%

* d_a_e_wb debug code 100%

* d_a_obj_mirror_6pole debug code 100%

* d_a_obj_spinLift debug data fixes

* d_a_obj_pdwall debug data fixes

* d_a_obj_ss_drink debug code almost matching

* d_a_obj_poFire debug code 100%

* d_a_obj_picture debug code 100%

* d_a_obj_dust debug code 100%

* d_a_obj_fallobj debug code 100%

* d_a_obj_itamato debug code almost matching

* d_a_obj_syRock debug code 100%

* d_a_obj_katatsumuri debug code 100%

* d_a_obj_wood_statue debug code 100%

* d_a_obj_lv6egate debug code 100%

* d_a_tag_qs minor debug symbol fixes

* d_a_obj_twGate debug code 100%

* d_a_obj_lv6SwGate debug code 100%

* d_a_obj_lv6swturn debug code 100%

* d_a_obj_lv6Tenbin debug code 100%

* d_a_obj_kwheel01 debug code 100%

* Fix RTTI order regression (cM3dGCyl vs cBgS_*)
2026-02-28 12:13:57 -08: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
TakaRikka 95702e2023 Merge pull request #27 from TakaRikka/ptrfix2
fix more compile errors with clang
2026-02-27 17:21:48 -08:00
Jeffrey Crowell d2fe6ac2c9 address comments 2026-02-27 16:56:35 -08:00
Max Roncace bf4d19d8db d_a_alink debug improvements (#3112) 2026-02-27 11:20:39 -07:00
Jeffrey Crowell 91c940bc1e fix more compile errors with clang 2026-02-26 23:03:55 -08:00
TakaRikka 2204ad0813 Merge pull request #26 from TakaRikka/26-02-27-be-gx
Make GXVtxDescList and GXVtxAttrFmtList not be behind BE
2026-02-26 16:10:41 -08:00
TakaRikka 61c302ea68 Merge pull request #24 from TakaRikka/26-02-26-pointer-add
Fix POINTER_ADD macro (64-bit & C++ compile)
2026-02-26 16:08:11 -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
PJB3005 c582d01cf7 Fix POINTER_ADD macro (64-bit & C++ compile) 2026-02-26 18:44:29 +01:00
Pieter-Jan Briers 35890e5880 Fix broken J3DTexture assert (#3111) 2026-02-25 14:06:37 -08:00
TakaRikka 6bdba0ecdd Merge pull request #23 from TakaRikka/26-02-25-fix-j3dtexture-assert
Fix broken J3DTexture assert
2026-02-25 13:56:07 -08:00
PJB3005 96502d8570 Fix broken J3DTexture assert 2026-02-25 22:55:02 +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
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
TakaRikka 6650a8524c Merge pull request #20 from TakaRikka/26-02-25-warning-fixes
Warning fixes
2026-02-25 12:53:30 -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 18086e5bfb Suppress some warnings we don't care about 2026-02-25 21:29:59 +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
TakaRikka 2d23ef4b12 Merge pull request #18 from TakaRikka/26-02-25-windows-build-fix
Windows build fixes
2026-02-25 11:48:09 -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 ae7dd96002 Merge pull request #17 from TakaRikka/ptrfix
fix two more ptr narrowing casts
2026-02-25 11:23:37 -08: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
TakaRikka 05921d1fc9 Merge pull request #15 from TakaRikka/wip/mac
fix build on clang/mac
2026-02-25 11:12:17 -08: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 31149794f1 Implement GDInitGDLObj a little bit
Enough to avoid a crash during asset loading.
2026-02-25 19:52:31 +01:00
TakaRikka e21af7551a Merge pull request #14 from TakaRikka/26-02-25-jsystem-debug-asserts
Compile majority of JSystem (& SSystem) with debug asserts enabled
2026-02-24 17:12:33 -08:00