Commit Graph

1650 Commits

Author SHA1 Message Date
PJB3005 b9d1fe605c Fix Aurora event processing (fix exit) 2026-03-01 17:29:19 +01:00
PJB3005 4b2c38c1fe JParticle BE fixes 2026-03-01 17:08:17 +01:00
PJB3005 397b94f595 Allow imgui windows to be toggled 2026-03-01 17:06:52 +01:00
PJB3005 47dd2dfb69 Move imgui debug overlay to own file 2026-03-01 16:38:39 +01:00
PJB3005 5e157c82e9 Fix createEditorCamera link error 2026-03-01 15:16:22 +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
PJB3005 eaff191b47 process class inheritance vtable fix 2026-03-01 14:34:07 +01:00
Luke Street c31932a308 Merge decomp/main into dusk 2026-02-28 21:33:12 -07: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 3058d869c3 Some u32/s32 -> uintptr_t/intptr_t 2026-02-28 20:34:06 -07:00
Luke Street f65e364fad More -Wpointer-arith fixes 2026-02-28 20:34:06 -07:00
Luke Street b68dfd94f6 More pointer truncation & implicit conversion fixes 2026-02-28 18:47:49 -07:00
Luke Street 9853034e31 Add C versions of all ASM blocks (except THP) 2026-02-28 18:10:14 -07:00
PJB3005 eaed93ac3a Remove anime (for now) 2026-03-01 01:19:07 +01:00
PJB3005 20fb15780f Implement JMAMTXApplyScale, add panic to other unimplemented functions 2026-03-01 01:18:56 +01:00
Luke Street 989c6ac3db Various minor warning fixes 2026-02-28 17:18:04 -07:00
PJB3005 37eb6085a0 Implement dot product calculation in JMAQuatLerp 2026-03-01 00:44:34 +01:00
Luke Street 62f42abe12 Fix all -Wconversion-null warnings 2026-02-28 15:59:24 -07:00
Luke Street 475ca80882 Some MULTI_CHAR fixes 2026-02-28 15:43:37 -07:00
Jasper St. Pierre 43907ebc31 fopAcM_GetID 2026-02-28 14:23:08 -08: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
Jasper St. Pierre 8185100d2f get farther 2026-02-28 12:46:05 -08: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
Luke Street 819f59c1c7 Use tls_model("global-dynamic") for JKRHeap on GCC 2026-02-28 13:16:42 -07:00
Luke Street f501960314 Some TARGET_PC fixes 2026-02-28 13:16:02 -07: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 5926989394 Fix pointer truncation in fopScnM_CreateReq i_data 2026-02-28 21:00:16 +01:00
PJB3005 5a519da22b Fix JGadget::TLinkList offsets on 64-bit 2026-02-28 20:17:20 +01:00
PJB3005 a23721bc7d Process debug imgui 2026-02-28 19:39:52 +01:00
PJB3005 9a12c28823 Fix dScnPly_Create not returning properly 2026-02-28 19:13:17 +01:00
PJB3005 2ed6a26de4 Get imgui running 2026-02-28 14:43:47 +01:00
PJB3005 29ec605929 Stub out the entire dynamic linking table 2026-02-28 13:47:24 +01:00
PJB3005 0c16a748c3 Make stage loading work on LE & 64-bit 2026-02-28 13:17:05 +01:00
Jeffrey Crowell 799cfc022d address comments 2026-02-27 16:56:35 -08:00
PJB3005 b8e92ad08d Speed up logos
Keeping this in my working tree was getting annoying. Later we can probably revert it.
2026-02-27 23:55:10 +01:00
PJB3005 be84ab7b0a Disable the audio engine for now 2026-02-27 23:54:50 +01:00
PJB3005 f759c7fe65 Disable clearEfb for now
Causes crash due to weird way of clearing depth buffer
2026-02-27 23:33:36 +01:00
PJB3005 bb0ef954c2 Merge branch 'main' into 26-02-27-pjb-dev-2 2026-02-27 23:28:08 +01:00
Max Roncace d017a3cd36 d_a_alink debug improvements (#3112) 2026-02-27 11:20:39 -07:00
Jeffrey Crowell 1f01a1e147 fix more compile errors with clang 2026-02-26 23:03:55 -08:00
PJB3005 4213b055ea 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 e9cd1d1f64 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