TakaRikka
79e8cc33f8
Merge https://github.com/zeldaret/tp
2026-03-06 22:39:33 -08:00
TakaRikka
30e839c28b
d_s_room / d_s_name / d_a_title debug work ( #3123 )
...
* d_s_room / d_s_name debug work
* camera_class rtti fix
* d_a_title debug / handle shield rel changes
* fix shield build
* fix regressions
2026-03-06 22:30:25 -08:00
TakaRikka
78d4169929
Revert "Isolate JKRHeap operator overloads" ( #39 )
2026-03-06 19:49:35 -08:00
PJB3005
942be208d2
Merge branch 'main' into 26-02-27-allocator-isolation
2026-03-05 00:15:09 +01:00
madeline
f406e605f7
fix bmg loading
2026-03-02 15:34:04 -08:00
PJB3005
a82c4b9b01
Make collision PLC data BE aware
2026-03-02 16:56:56 +01:00
PJB3005
2442b9d948
Move TP-specific OSReport functions elsewhere
2026-03-02 13:47:19 +01:00
PJB3005
ab389c5f49
Merge remote-tracking branch 'decomp/main' into 26-02-27-pjb-dev-2
2026-03-02 12:36:59 +01:00
PJB3005
3a0b45c508
Switch to Aurora headers for GX/VI
...
Replace GXSetArray() with GXSETARRAY() taking in size everywhere
Fix a ton of structs/enums being referred to with underscore name.
2026-03-02 12:00:53 +01:00
Luke Street
9649319ec4
Reorganize library code into libs/ ( #3119 )
...
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}
* Update configure.py and project.py for new libs structure
* Refactor `#include <dolphin/x.h>` -> `<x.h>`
* Remove `__REVOLUTION_SDK__` forwards from dolphin
* Fix dolphin/ references in revolution
* Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__`
* Always build TRK against dolphin headers
* Resolve revolution SDK header resolution issues
2026-03-01 14:35:36 -08:00
PJB3005
6388c3d199
Add heap imgui
2026-03-01 22:23:59 +01:00
TakaRikka
6e149819e1
d_s_logo / d_s_play debug work, d_a_kago cleanup, misc cleanup ( #3116 )
...
* d_a_kago cleanup
* d_s_logo wii/shield work
* d_s_logo / d_s_play debug work
* fix missing profile class sizeof's
* fix phase->id values
* build fixes
* fix dCamera_c and camera profile
2026-03-01 13:19:48 -08:00
Jasper St. Pierre
162ad71254
kcol be start
...
lots of methods still not finished
2026-03-01 11:45:03 -08:00
PJB3005
5e157c82e9
Fix createEditorCamera link error
2026-03-01 15:16:22 +01:00
PJB3005
0202ecfc16
Fix dBgS_CaptPoly forward declares
2026-03-01 15:14:23 +01:00
PJB3005
798caf079a
Merge remote-tracking branch 'origin/main' into 26-02-27-pjb-dev-2
2026-03-01 15:08:52 +01:00
CraftyBoss
83eb869cee
update some actors to use sizeof for mSize, endian swap J2DScreen related structs, add 64bit endian swapping
...
game appears to be hanging on fully initing some processes, so while there isnt an immediate crash, nothing seems to be happening
2026-03-01 14:46:16 +01:00
Luke Street
6a48380461
More GCC compatibility/warning fixes ( #3118 )
...
* Wrap >4-char literals in a MULTI_CHAR macro
Modern compilers do not support CW's non-standard behavior with
>4 char literals. We can, however, use a constexpr function to
compute the u64 values directly. This leaves <=4 char literals
unchanged.
* Replace non-pointer usages of NULL with 0
* Define NULL to nullptr on C++11 and above
* Fix more -Wpointer-arith and -Woverflow warnings
* Replace u32/s32 with uintptr_t/intptr_t where appropriate
* JSUOutputStream: Overload all standard int types
2026-02-28 20:19:17 -08:00
Luke Street
62f42abe12
Fix all -Wconversion-null warnings
2026-02-28 15:59:24 -07:00
PJB3005
46a0c1b054
Fix cBgD_Grp_t m_name field size
...
Missed this.
2026-02-28 23:21:11 +01:00
PJB3005
349990e0f6
Fix collision data loading (64-bit & BE)
2026-02-28 22:52:18 +01: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
PJB3005
67c7b9242c
Actually fix compile with offset_ptr for real this time I hope?
2026-02-28 22:28:37 +01:00
PJB3005
a7148d8bc3
Rename StageOffsetPtr to just OffsetPtr
2026-02-28 22:12:39 +01: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
Luzagar
06ebc176c2
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
Max Roncace
ebe7c7aabc
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
c900a043b8
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
5645b96d28
fix StageOffsetPtrT -> overload
2026-02-28 20:58:21 +01:00
PJB3005
a23721bc7d
Process debug imgui
2026-02-28 19:39:52 +01:00
PJB3005
0c16a748c3
Make stage loading work on LE & 64-bit
2026-02-28 13:17:05 +01:00
PJB3005
0ee3b2b197
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
d017a3cd36
d_a_alink debug improvements ( #3112 )
2026-02-27 11:20:39 -07:00
PJB3005
55d162fd3e
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
e7e176bfd4
Windows build fixes
...
Name mangling/linkage shenanigans
Remove jsystem_stubs.cpp, it's not necessary.
2026-02-25 20:43:43 +01:00
Pieter-Jan Briers
f54661f878
Fix MORE wrong forward declares (struct/class) ( #3110 )
2026-02-24 14:20:45 -08:00
PJB3005
08ab1e1106
Fix wrong forward declares (struct/class)
...
Requires removing the now-matching symbols from jsystem_stubs.cpp
2026-02-24 16:58:12 +01:00
Pieter-Jan Briers
59fd9f387a
Fix incorrect forward declare keywords ( #3107 )
...
Mixups of class/struct keyword in forward declares. Doesn't seem to matter on MWCC, but causes name mangling mismatching on modern platforms.
2026-02-23 11:13:00 -08:00
Luzagar
73debfd6b9
Warpappear doc ( #3104 )
...
* warpappear documentation
* dist documentation
* more doc
* add enum name + square macro
2026-02-20 19:06:42 -08:00
Jcw87
2113d9044b
d_resorce debug ( #3105 )
2026-02-20 03:05:23 -08:00
roeming
0558bde1e6
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
Max Roncace
a790efafc5
d_cursor_mng mostly matching ( #3101 )
2026-02-17 22:58:52 -08:00
Max Roncace
1273e633f2
m_Re_controller_pad mostly matching ( #3099 )
...
* Move m_Re_controller_pad to m_Re/
* m_Re_controller_pad mostly matching
2026-02-13 15:15:42 -08:00
Jcw87
0b1cb89d69
d_demo debug ( #3098 )
2026-02-13 15:08:10 -08:00
Jcw87
68f3531c2d
d_bg_parts debug ( #3097 )
2026-02-13 15:06:14 -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
Jcw87
a07ec61d66
fix compiler warnings ( #3094 )
2026-02-11 00:14:18 -08:00
Jcw87
b9de3375b4
d_a_obj debug ( #3089 )
2026-02-11 00:06:12 -08:00