Commit Graph

1267 Commits

Author SHA1 Message Date
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 bd8cf29176 Add C versions of all ASM blocks (except THP) 2026-02-28 18:10:14 -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
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
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
Max Roncace bf4d19d8db d_a_alink debug improvements (#3112) 2026-02-27 11:20:39 -07: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 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 f710f30702 Added a bunch of Diag functions to diagnose the black screen issue (was a bug in GXGeometry.h). Resumed to old ClearEfb function, no pink screen anymore.
Updated aurora with local changes for TP
2026-02-23 14:33:29 +01: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
Lurs 97e7a8b145 first try to draw first logo 2026-02-20 21:13:50 +01:00
Jcw87 b6abc56f94 d_resorce debug (#3105) 2026-02-20 03:05:23 -08:00
Max Roncace d939dcd474 Implement Z2AudioCS (#3103) 2026-02-20 02:53:27 -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
Max Roncace ba2700248e d_cursor_mng mostly matching (#3101) 2026-02-17 22:58:52 -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
Max Roncace ca94ab6a92 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 6703a5c0ce d_demo debug (#3098) 2026-02-13 15:08:10 -08:00
Jcw87 a6561ebcf1 d_bg_parts debug (#3097) 2026-02-13 15:06:14 -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
Jcw87 9250959981 d_a_obj debug (#3089) 2026-02-11 00:06:12 -08:00
Jcw87 c6b361575e d_jnt_col debug (#3088) 2026-02-11 00:05:16 -08:00
Jcw87 25ce57cd32 d_save debug (#3087) 2026-02-11 00:04:54 -08:00
Lurs 292724920c Merge branch 'wip/linkfix2' into wip/linkfix 2026-02-11 07:20:44 +01:00
Jcw87 ce8f51cbe2 JParticle debug (#3090) 2026-02-07 04:43:51 -08:00
Jcw87 963aac44e5 d_lib debug (#3083) 2026-02-07 04:30:53 -08: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
Jcw87 dbee7c8f1f d_com_inf_game debug (#3075)
* d_com_inf_game debug

* inline sorting
2026-01-29 18:58:59 -08:00
Max Roncace 46b0f095c5 Add configuration for DZDE01 (USA kiosk demo) (#3073) 2026-01-29 15:11:23 -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
hatal175 6e1fcd4dcf Work on d_jdpreviwer (#3067) 2026-01-25 21:20:02 -08:00