TakaRikka
3623b27f37
Revert "Isolate JKRHeap operator overloads" ( #39 )
2026-03-06 19:49:35 -08:00
PJB3005
3ffc3266d7
Merge branch 'main' into 26-02-27-allocator-isolation
2026-03-05 00:15:09 +01:00
PJB3005
7b91d48954
vrbox/vrbox2 rendering: take two
...
just disable only the broken code, it does nothing according to Jasper
2026-03-02 21:40:35 +01:00
PJB3005
f5e37de746
Disable vrbox/vrbox2 rendering
...
Code's broken in the original game but happens to work due to luck, causes hard crash on Dusk.
2026-03-02 20:38:40 +01:00
PJB3005
d762e1d8ec
Make it build with 100% Aurora dolphin headers
2026-03-02 13:26:35 +01:00
PJB3005
8c52a386d5
Merge remote-tracking branch 'decomp/main' into 26-02-27-pjb-dev-2
2026-03-02 12:36:59 +01:00
PJB3005
883ba38bb8
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
4df8ccc871
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
TakaRikka
c9a46bd65b
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
PJB3005
3750e7cfee
Merge remote-tracking branch 'origin/main' into 26-02-27-pjb-dev-2
2026-03-01 15:08:52 +01:00
CraftyBoss
3e4b9bf59b
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
PJB3005
5832f70384
process class inheritance vtable fix
2026-03-01 14:34:07 +01:00
Luke Street
6e748ac283
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
acdf6ad70f
Some u32/s32 -> uintptr_t/intptr_t
2026-02-28 20:34:06 -07:00
Luke Street
b807bedd35
More -Wpointer-arith fixes
2026-02-28 20:34:06 -07:00
Luke Street
196b334453
More pointer truncation & implicit conversion fixes
2026-02-28 18:47:49 -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
Jasper St. Pierre
5579fcabc3
fopAcM_GetID
2026-02-28 14:23:08 -08: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
Jasper St. Pierre
99f6a4f912
get farther
2026-02-28 12:46:05 -08: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
b598f856b4
Make stage loading work on LE & 64-bit
2026-02-28 13:17:05 +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
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
Lurs
8599684fae
First pink screen!
2026-02-21 22:15:39 +01:00
Luzagar
765878893f
Warpappear doc ( #3104 )
...
* warpappear documentation
* dist documentation
* more doc
* add enum name + square macro
2026-02-20 19:06:42 -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
c86a2208d2
first start with aurora after linking on MSVC
2026-02-17 22:28:42 +01:00
Lurs
89ed35ad76
Merge origin/wip/linkfix2 into msvc-linkfix-dev (local dev branch)
2026-02-15 20:36:46 +01:00
Jeffrey Crowell
147b4bdb97
now it links (except for no main!)
2026-02-14 15:55:43 -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
TakaRikka
43b886a7c9
extract d_a_player l_sightDL ( #3095 )
2026-02-11 08:00:44 -07: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
Jcw87
971daa6efa
d_com_static debug ( #3082 )
2026-02-02 23:46:39 -08:00
roeming
81d679d207
Fix errors for msvc
...
Use less strict compiler flags instead of modifying source code
Add ugly defines so MSVC stops complaining about zero length arrays
2026-02-01 15:37:26 -08:00
Jeffrey Crowell
ef14b2b932
Fix linker errors.
...
Stubbing out all OS* functions to stubs.cpp, these will likely have to
be replaced with the operating system's primitives for
locking/heaps/threads/etc.
Moved some generic globals into globals.cpp, not sure where they're
actually to be used.
Stub DSP functions
Stub JSUMemoryOutputStream, JORServer, Z2Audio
mDoExt stubs
add memcpy
add some more stubs, add extras c++ mangled functions
add extras.cpp
AR/AQ stubbing
stub DVD
stub CARD
more stubs, more extras
add missing mtx functions to dusk file
finish mtx
stub GX
KPAD and LC, also do pragma marks for better visualization
finish mtx, add a few more stubs
gf/wpad/vi
translate some matrix math from ppc to C
jorserver/debugpad/fap/dmsgobject
add m_Do_ext functions from debug block to separate file
make small janges to JSystem, does this need upstreaming
reorg DVD stubs
reorganize stubs by mark
2026-02-01 15:36:56 -08:00
hatal175
13d3ae312a
Use literals in TWgate ( #3071 )
2026-01-28 14:22:12 -08:00
Huitzi
9041d6289f
Various Lakebed Temple/water-related object debug equivalencies ( #3070 )
...
* d_a_obj_syRock + waterPillar debug equivalent
* Implemented HIO genMessage
* Added drawCylinder debug drawing
* d_a_obj_waterfall debug equivalent
* Implemented HIO genMessage
* Added unused tri collider and cull box data
* Various LV3 d_a_obj_* actors debug equivalent
* Added/modified some documentation
* Added some widescreen support functions
* Added relevant HIO stuff
* Noted weak ordering issues in configure.py
* Refactoring according to feedback
2026-01-28 14:21:47 -08:00
YunataSavior
7130aecf9a
DBG npc_henna and mg_fshop equiv ( #3069 )
...
* DBG npc_henna almost, some mg_fshop
* Fix weed_control
* demo_camera_shop OK
* misc dbg symbol/etc fixes
* Fix e_ym/npc_henna dbg bss splits
Thanks @LagoLunatic
* dbg mg_fshop equiv
* PR comments
* DEBUG_CHECK_PAD_TRIG_Z mg_fshop
2026-01-28 14:19:46 -08:00
kipcode66
d82453292a
Merge remote-tracking branch 'decomp/main' into compile
2026-01-26 18:11:18 -05:00
kipcode66
a4246921a3
Std7 ( #3068 )
...
* fix standard compiler error for d_a_tag_TWgate
* fix standard compiler errors for J3DJoint
* fix regression in ShieldD
2026-01-27 00:20:19 +02:00