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
PJB3005
e33f21f713
Fix J3DModelLoader OFFSET_POINTER macro name conflict
2026-03-01 00:39:19 +01: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
Jasper St. Pierre
d7ad3622bb
fopAc_ac_c inherit
2026-02-28 14:23:50 -08:00
PJB3005
17873f0a22
Fix cBgD_Grp_t m_name field size
...
Missed this.
2026-02-28 23:21:11 +01:00
PJB3005
fd140a6beb
Fix fopAcM_ct_placement with vtable layouts
2026-02-28 23:02:06 +01:00
PJB3005
1b69152d5a
Fix collision data loading (64-bit & BE)
2026-02-28 22:52:18 +01: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
PJB3005
6abae56af4
Actually fix compile with offset_ptr for real this time I hope?
2026-02-28 22:28:37 +01:00
PJB3005
cd275b7c51
Actually add offset_ptr.h to the repo
2026-02-28 22:15:09 +01:00
PJB3005
f43b88823c
Rename StageOffsetPtr to just OffsetPtr
2026-02-28 22:12:39 +01: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
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
PJB3005
24fc42f5be
Fix pointer truncation in fopScnM_CreateReq i_data
2026-02-28 21:00:16 +01:00
PJB3005
d90b0c550b
fix StageOffsetPtrT -> overload
2026-02-28 20:58:21 +01:00
PJB3005
a0f7194500
Fix JGadget::TLinkList offsets on 64-bit
2026-02-28 20:17:20 +01:00
PJB3005
4d78474d12
Process debug imgui
2026-02-28 19:39:52 +01:00
PJB3005
43e156913b
Get imgui running
2026-02-28 14:43:47 +01:00
PJB3005
6025319c84
Fix default constructor parent zeroing shenanigans in actor creation
2026-02-28 13:27:42 +01:00
PJB3005
b598f856b4
Make stage loading work on LE & 64-bit
2026-02-28 13:17:05 +01:00
PJB3005
288cd84a64
Disable the audio engine for now
2026-02-27 23:54:50 +01:00
PJB3005
642cc1a02b
Merge branch 'main' into 26-02-27-pjb-dev-2
2026-02-27 23:28:08 +01:00
PJB3005
038ef4216f
Isolate JKRHeap operator overloads
...
Fixes #25
This isolates the JKRHeap operator new/delete overloads. Every single new/delete site in the code has been replaced with a macro.
Sadly for new[] and delete[] we have to keep global operators. The global new[] just allocates into malloc() however, and delete[] goes into free() if it's not in a JKRHeap. So that's fine.
2026-02-27 23:11:59 +01:00
Max Roncace
bf4d19d8db
d_a_alink debug improvements ( #3112 )
2026-02-27 11:20:39 -07: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
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
38c006fa0e
Endianness fixes in JAudio loading code
...
Not tested because I can't even get the code to init again due to the aforementioned race condition
2026-02-26 23:22:47 +01:00
PJB3005
b6a6c4fd0e
Fix JASDram allocation race condition
...
Not sure if useful as long-term plan involves abandoning the DSP entirely.
2026-02-26 23:19:15 +01:00
PJB3005
2ee3dae5d5
Make stage loading work somewhat
...
BE & 64-bit support
Most nodes haven't been fixed yet but this at least avoids an immediate crash.
2026-02-26 18:44:40 +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
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
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
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
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