Commit Graph

139 Commits

Author SHA1 Message Date
Luke Street 9853034e31 Add C versions of all ASM blocks (except THP) 2026-02-28 18:10:14 -07: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
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
Pieter-Jan Briers a096caa8de Fix broken J3DTexture assert (#3111) 2026-02-25 14:06:37 -08:00
PJB3005 58774dc2bf Fix broken J3DTexture assert 2026-02-25 22:55:02 +01:00
PJB3005 284e6c50b6 Fix endianness & 64-bit in 3D asset loading code
Combination of plumbing BE(T) through everything, making BE<T> have template specializations, and inverting at load time where more practical.
2026-02-25 20:20:45 +01: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
PJB3005 defe78c4a2 Fix compile with Dusk's mtx lib
Move Mtx33 and similar types to JMath

Rename mtx.h in decomp to _mtx.h so Aurora's header is used instead.
2026-02-24 13:15:21 +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
Lurs a41c3d59b4 first try to draw first logo 2026-02-20 21:13:50 +01:00
Jcw87 2113d9044b d_resorce debug (#3105) 2026-02-20 03:05:23 -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 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
Jcw87 1a65a6bbbd J3D debug (#3037)
* J3DGraphBase debug

* J3DGraphAnimator debug

* J3DGraphLoader debug
2026-01-13 17:49:09 +02:00
kipcode66 dd03bf861f standard compiler compatibility changes (#3040)
* move math to cmath

* replace stdarg to cstdarg

* change stdint to stdint.h

* minor fixes

* change stdio to cstdio

* change stdlib to stdlib

* renamed ctype to cctype

* fix missing argument for UNSET_FLAG
2026-01-13 00:48:25 +02:00
Max Roncace 3679e7abab Misc debug include/class order improvements + link remaining Z2AudioLib TUs (#3014)
* Improve dolzel.pch ordering

* Improve JSystem include order

* Various class ordering fixes

* Link remaining Z2AudioLib TUs

* Fix some symbols in Shield and weak functions in ShieldD
2026-01-06 04:38:40 -08:00
kipcode66 1d2a0d9568 Add guards around std library headers (#3013)
* Last fix for standard compiler error

* adding define guards around headers

* rename cmath.h and climits.h to cmath and climits respectively

* renaming cstdarg.h to cstdarg

* renaming cstdlib.h to cstdlib

* renaming cstring.h to cstring

* renaming cstdio.h to cstdio

* renaming cmath locale ctype

* renaming stdarg string and va_list

* renaming cstddef

* renaming stdio stddef stdlib

* renaming algorithm, functional, iterator, memory, and utility

* renaming bitset, cstdint, limits, and stdint

* renaming new and type_traits

* update quote includes for standard library headers to angle bracket includes
2026-01-05 03:50:45 -08:00
Max Roncace b72be3074a m_Do_ext retail linked + debug improvements (#3009) 2026-01-04 17:20:35 -08:00
LagoLunatic 09280ae00b Fix optimization flag for Shield (#3004)
* Fix optimization flag for Shield

* Minor debug work

* Fix NULL asserts
2025-12-26 16:20:21 -08:00
Max Roncace ee32f5db55 d_a_vrbox2 matching (#2981) 2025-12-21 10:52:34 -08:00
LagoLunatic 16a2980f5a Update to objdiff 3.5.0 (#2980)
* Update to objdiff 3.5.0

* Fix symbols being in .data instead of .rodata for Wii/Shield
2025-12-21 10:46:14 -08:00
LagoLunatic 48f1d47690 Work on weak order (#2979)
* JAUSectionHeap OK

* Slightly improve d_camera weak func order (12 -> 10)

* Minor d_a_alink fixes

* weak_order_diff.py: Change to take source file as cli argument instead of .o file

For cli autocompletion to work.

* Reorganize J3D structs (no change in weak order)
2025-12-21 14:13:21 +02:00
LagoLunatic 1b8ea3206d J3D debug work (#2949)
* J3D debug work

* Clean up JSystem GXColor ctors, remove a couple fakematches

* Update symbols.txt

* Fix res include syntax

* Remove fakematch that isn't necessary anymore

* Fix some Shield regressions
2025-12-12 21:04:03 -08:00
roeming 2481e184fb Link J2DWindowEX (#2946)
* Add debug for J2DWindowEx, link GCN version

* locking non-const copy ctor behind GCN check

* fix typo for define

* fix another define typo

* update bugged ctor and leave a comment
2025-12-11 15:41:44 -08:00
kipcode66 fc31053cb6 Improving compatibility with standard cpp compiler (#2920)
* Improving compatibility with standard cpp compiler

* Add __REGISTER macro for non mwcc compatibility

* Fix for PR comments

* fix missing define for revolution

* Simplifying cSAngle conversion
2025-12-06 21:08:05 -08:00
LagoLunatic 7ac2c38caf Fix const loop invariant issues (#2921)
* Fix const loop invariant issues by defining explicit operator= for structs

* Fix J2DMatBlock weak func order
2025-12-06 14:19:09 -08:00
Max Roncace 136f6b3f40 d_kankyo debug work (#2918)
* Global: Define DEBUG as 0 if not already defined

* Clean up DEBUG-guarded code

* d_kankyo debug almost matching
2025-12-06 13:39:30 -08:00
TakaRikka a6e76c0841 project cleanup (#2895)
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes
2025-11-30 15:23:42 -07:00
LagoLunatic 434415337d J3DSkinDeform work (#2896)
* Match four inline asm functions with manual regalloc

* J3DSkinDeform::changeFastSkinDL: Clean up var names, slightly improve match

* Syntax

* More var names
2025-11-30 23:39:56 +02:00
LagoLunatic 4fb3af91b8 Various small matches (#2879)
* Misc debug matches

* Fix JASBasicWaveBank weak func order

* Remove more dol2asm stuff, fix missing includes

* Some data fixes

* Update comments

* d_file_sel_warning is already OK

* Fix Z2 splits

* Fix movebox namespace

* Fix inlining issue in m_Do_ext

* Fix Z2 splits for P and J
2025-11-27 21:34:18 -08:00
LagoLunatic 5d0da9be7c Match J3DTransformInfo::operator=, fixing several regalloc issues (#2873) 2025-11-26 14:41:10 -07:00
TakaRikka 194282d2c2 obj_pdwall / obj_rw / obj_stopper2 done (#2760)
* obj_pdwall / obj_rw / obj_stopper2 done

* fix jp/pal

* Use NULL instead of 0

* Use dEvtCnd_CANDEMO_e

---------

Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
2025-10-30 07:56:22 +02:00
TakaRikka 850fae1aa3 m_Do_main / f_ap_game / f_op_actor debug work and misc (#2744)
* m_Do_main / f_ap_game debug stuff

* revolution sdk compatibility

* f_op_actor debug work

* rename fopAcM_SetupActor to fopAcM_ct

* fix build

* fix jp/pal splits
2025-10-19 20:30:49 +03:00
LagoLunatic 6242aa6e84 Misc matches and fixes (#2703)
* Match mDoExt_morf_c::getPlayMode

* Misc cleanup

* Fix actor cull spheres

* Match daPy_py_c::getLastSceneSwordAtUpTime, JUTGamePad::testTrigger

* Fix improper demangling of dBgS_SphChk::SetCallback

* Fix d_camera rangef weak func order

* Match more alink_wolf funcs
2025-09-26 18:50:46 -07:00
Carco_21 5f70650ba2 d_a_e_gm matching (#2669)
* initial work

* Almost matching

* missed formatting changes

* matching

* changed to equivalent

* PR cleanup, now matching
2025-09-20 03:44:42 +03:00
Max Roncace 4b729b0f65 Minor d_a_alink improvements (#2646) 2025-09-10 21:10:04 -07:00
TakaRikka 52aa5f677f scannon / scannon_crs / scannon_ten done (#2632)
* scannon done

* scannon_crs done

* scannon_ten done

* pr

* attention debug stuff

* attn flags

* fix build
2025-09-08 12:01:20 +03:00
TakaRikka b45a089e15 some J3D/misc cleanup (#2628)
* some j3d cleanup

* begin using uintptr_t

* j3dgraphbase cleanup

* j3dgraphanimator cleanup
2025-09-04 17:56:59 +03:00
Max Roncace 8c94dc8608 Add hacks to fix PCH .data causing fake mismatches with decompctx (#2606) 2025-08-30 20:57:35 -07:00
Max Roncace 513816ce5c Add a precompiled header for RELs (#2597) 2025-08-24 09:52:08 +03:00
Max Roncace 156d2b24c3 Misc. J3D improvements (#2570) 2025-08-08 12:56:18 +03:00
hatal175 ee608ceaac d_a_obj_fallobj OK (#2568)
* d_a_obj_fallobj OK

* J3DMatBlock equivalent
2025-08-05 18:10:43 -07:00
Carco_21 b67414ef1a d_a_demo00 work (#2525)
* Initial work

* Got to ke_control

* draw function

* tiny execute work

* all functions worked on

* PR cleanup

* Took out static keyword for dDemo_setDemoData
2025-07-11 02:16:30 +03:00
LagoLunatic ac06966414 Add more J3D_ASSERTs (#2491)
* Fix debug build

* Add more J3D_ASSERTs

* Move J3DShapeMtx to correct header for assert

* Add VSCode task for ninja changes_all
2025-06-19 23:41:43 -07:00
Max Roncace 23bee3b523 d_a_e_dk matching (#2476) 2025-06-06 08:16:44 +03:00
hatal175 0ab8dc2519 Daswc (#2398)
* swball cleanup

* daSwc00_c OK

* Revert change in configure - we'll handle rel/dol changes in seperate PR
2025-04-17 16:23:05 -07:00
hatal175 b5e932c493 A Little j3d work (#2396) 2025-04-15 14:09:31 -07:00
Caroline Madsen c6f76e7240 Various JSystem work (#2383)
* JKernel and JStudio cleanup

* JMessage cleanup

* JAudio cleanup

* JASBNKParser work

* functionvalue work

* fvb work

* J2D and J3D cleanup

* steal from tww

* J2DPictureEx mostly done

* fix build
2025-04-09 13:45:30 -07:00
LagoLunatic 6672817e41 JSystem work (#2384)
* object-id 100% on debug

Can't be linked due to .text alignment issues?

* J3DMaterialFactory and J3DMaterialFactory_v21 OK

* Match dKy_bg_MAxx_proc
2025-04-08 22:17:20 -07:00
LagoLunatic 4dc0cd9d09 Debug version now builds OK and all_source compiles (#2343)
* Fix missing arg to JUT_ASSERT

* Fix some MWCC version diff errors

* Compile m_Do_ext, d_demo, actor_mng

* Add VSCode task to quickly switch between versions

* Unlink magLift for debug

* Update the hash of the debug dol

The old cbea5fa... hash here was for the dol generated by the alf2dol.py script, which produces incorrect alignment.

The dol with the new hash can be obtained by using `dtk elf2dol` to convert the debug .alf file to a dol.

The DOL now builds OK.

* Fix all debug REL dtor splits

All RELs now also build OK, meaning `ninja build/ShieldD/ok` now succeeds.

* Add genMessage declarations to all HIO subclasses

* Fixing more compilation errors

* m_Do_mtx 100% on debug

Cannot be linked due to weak function name mangling?

* Improve various matches

* Fix all remaining compilation errors

* Fix new compilation errors from main

* Fix retail regression

* Link f_pc_profile_lst
2025-03-22 18:00:51 -07:00