Commit Graph

705 Commits

Author SHA1 Message Date
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 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 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
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
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 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 0c16a748c3 Make stage loading work on LE & 64-bit 2026-02-28 13:17:05 +01:00
Max Roncace d017a3cd36 d_a_alink debug improvements (#3112) 2026-02-27 11:20:39 -07:00
Jeffrey Crowell 9c7f55d1ac 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 22a86deb76 First pink screen! 2026-02-21 22:15:39 +01: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
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
Lurs 43847d81b1 first start with aurora after linking on MSVC 2026-02-17 22:28:42 +01:00
Lurs f6cba82a91 Merge origin/wip/linkfix2 into msvc-linkfix-dev (local dev branch) 2026-02-15 20:36:46 +01:00
Jeffrey Crowell cc2b506476 now it links (except for no main!) 2026-02-14 15:55:43 -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
TakaRikka 51b8da6ba2 extract d_a_player l_sightDL (#3095) 2026-02-11 08:00:44 -07:00
Jcw87 a07ec61d66 fix compiler warnings (#3094) 2026-02-11 00:14:18 -08:00
Lurs 143c973b49 Merge branch 'wip/linkfix2' into wip/linkfix 2026-02-11 07:20:44 +01:00
Jcw87 00bdde3b94 d_com_static debug (#3082) 2026-02-02 23:46:39 -08:00
roeming ef1e1e954c 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 fcb2ab00e1 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 46951b63e8 Use literals in TWgate (#3071) 2026-01-28 14:22:12 -08:00
Huitzi 414a650f9f 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 5812194fad 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 38c854bb01 Merge remote-tracking branch 'decomp/main' into compile 2026-01-26 18:11:18 -05:00
kipcode66 d787afaee0 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
TakaRikka 5867eaf68b general cleanup, d_menu_quit / d_a_obj_testcube mostly done, d_msg_scrn_explain debug (#3065)
* typedef for cPhs_Step

* make sdk includes consistent

* d_menu_quit / d_msg_scrn_explain debug

* d_a_obj_testcube mostly done

* d_debug_pad mostly done

* jstudio tool library headers

* some JStudioCameraEditor headers

* d_jcam_editor mostly done

* try fixing some shield regressions

* d_bg_parts mostly done

* fix merge errors

* debug fix
2026-01-24 23:36:23 -08:00
Niklas Bauer e01dbc3297 d_a_e_tk debug (#3062)
* d_a_e_tk debug

* a_this -> actor
2026-01-24 21:20:33 +02:00
kipcode66 63f8079212 Merge commit '86fddd48d54f5b8fb126cf71f130a4733c8f0ded' into compile 2026-01-23 17:04:18 -05:00
YunataSavior 6472d5a4a6 dbg npc_aru (-1 func), npc_maro, and npc_bans equiv (#3053)
* dbg npc_aru (-1 func), npc_maro, and tag_push equiv
* daNpc_Aru_c::adjustMoveDir doesn't match. I don't know how to fix it without breaking GCN

* JORM default args + PR comments

* npc_bans dbg equiv
2026-01-20 16:28:50 -08:00
Max Roncace 1fba6e13e5 Use default parameter values in JORMContext calls where appropriate (#3057) 2026-01-19 18:18:30 -08:00
Max Roncace d83996c711 Fix misspelled dSv_config_language enum values (#3056) 2026-01-19 18:15:39 -08:00
Max Roncace a0a5b0cc38 d_a_tag_* TUs mostly matching for debug (#3054)
* d_a_tag_event debug almost matching

* d_a_tag_msg debug almost matching

* d_a_tag_attention almost matching

* d_a_tag_chkpoint debug almost matching (weak func order)

* d_a_tag_evt debug almost matching (extra weak fns)

* d_a_tag_evtarea debug almost matching (weak func order)

* d_a_tag_evtmsg debug almost matching (weak func order)

* d_a_tag_mist debug almost matching (weak func order)

* d_a_tag_howl debug almost matching (weak func order)

* d_a_tag_lantern debug almost matching (weak func order)

* d_a_tag_push debug almost matching (weak func order)

* d_a_tag_telop debug almost matching (weak func order)

* d_a_tag_CstaSw debug almost matching (weak func order)

* d_a_tag_ajnot debug almost matching (weak func order)

* d_a_tag_attack_item debug almost matching (weak func order)

* d_a_tag_gstart debug almost matching (weak func order)

* d_a_tag_hinit debug almost matching (debug weak func order)

* d_a_tag_hjump debug almost matching (weak func order)

* d_a_tag_hstop debug almost matching (weak func order)

* d_a_tag_lv2prchk debug almost matching (weak func order)

* d_a_tag_magne debug almost matching (weak func order)

* d_a_tag_mhint debug almost matching (weak func order)

* d_a_tag_mstop debug almost matching (weak func order)

* d_a_tag_spring debug almost matching (weak func order)

* d_a_tag_statue_evt debug almost matching (weak func order)

* d_a_tag_arena debug almost matching (weak func order)

* d_a_tag_Lv6Gate debug almost matching (weak func order)

* d_a_tag_Lv7Gate debug almost matching (weak func order)

* d_a_tag_Lv8Gate debug almost matching (.data + weak func order)

* d_a_tag_TWgate debug almost matching (weak func order)

* d_a_tag_lv6CstaSw debug almost matching (weak func order)

* d_a_tag_assistance debug almost matching (weak func order)

* d_a_tag_bottle_item debug almost matching (weak func order)

* d_a_tag_chgrestart debug almost matching (weak func order)

* d_a_tag_csw debug almost matching (weak func order)

* d_a_tag_escape debug almost matching (weak func order)

* d_a_tag_firewall debug almost matching (weak func order)

* d_a_tag_gra debug almost matching (weak func order)

* d_a_tag_guard debug almost matching (weak func order)

* d_a_tag_instruction debug almost matching (weak func order)

* d_a_tag_kago_fall debug almost matching (weak func order)

* d_a_tag_lightball debug almost matching (weak func order)

* d_a_tag_lv5soup debug almost matching (weak func order)

* d_a_tag_mmsg debug almost matching (weak func order)

* d_a_tag_mwait debug almost matching (weak func order)

* d_a_tag_myna2 debug almost matching (weak func order)

* d_a_tag_myna_light debug almost matching (weak func order)

* d_a_tag_pachi debug almost matching (weak func order)

* d_a_tag_poFire debug almost matching (weak func order)

* d_a_tag_qs debug almost matching (small mismatch in search)

* d_a_tag_ret_room debug almost matching (weak func order)

* d_a_tag_river_back debug almost matching (weak func order)

* d_a_tag_rmbit_sw debug almost matching (weak func order)

* d_a_tag_schedule debug almost matching (weak func order)

* d_a_tag_setBall debug almost matching (weak func order)

* d_a_tag_setrestart debug almost matching (weak func order)

* d_a_tag_shop_item debug almost matching (weak func order)

* d_a_tag_smk_emt debug almost matching (weak func order)

* d_a_tag_spinner debug almost matching (weak func order)

* d_a_tag_sspath debug almost matching (weak func order)

* d_a_tag_ss_drink debug almost matching (weak func order)

* d_a_tag_stream debug almost matching (weak func order)

* d_a_tag_theB_hint debug almost matching (weak func order)

* d_a_tag_watchge debug almost matching (weak func order)

* d_a_tag_waterfall debug almost matching (weak func order)

* d_a_tag_allmato debug almost matching (weak func order)

* d_a_tag_camera debug almost matching (extra weak fns)

* d_a_tag_wara_howl debug almost matching (RTTI mismatch?)

* d_a_tag_yami debug almost matching (weak func order)

* Fix Shield regressions related to d_a_tag_* debug work
2026-01-19 18:11:54 -08:00
Niklas Bauer 1817d3123f d_a_obj_fallobj debug work + dVibration_c alignment (#3048)
* d_a_obj_fallobj debug

* fix dVibration_c alignment

* fix

* pr comments
2026-01-19 17:58:59 -08:00
YunataSavior 52a1e1363a npc_besu, npc_toby DBG equiv (#3051) 2026-01-18 17:52:48 -08:00
Jeffrey Crowell a5b7f2d1c4 fix build in daNpc_Hoz_c::test (#3050)
mMotionSeqMngr.setNo and mFaceMotionSeqMngr.setNo were called with int instead of the proper pointer.
2026-01-17 19:15:44 -08:00
roeming d45b10d0fd fopAcM_Register cleanup (#3047)
* use macro `fopAcM_Register` more consistently

* replace fopAcM_RegisterCreateID with version that doesn't create `a_this`
2026-01-17 15:52:32 +02:00