Commit Graph
30 Commits
Author SHA1 Message Date
LagoLunaticandGitHub 23a1c94063 Regalloc/debug/misc fixes (#2794)
* Fix "0" asserts

* More debug and regalloc fixes

* Fix PTMF syntax for compatibility with other compilers

* Fix some fakematches, link more TUs for J/P
2025-11-10 18:25:00 -08:00
LagoLunaticandGitHub ba7cdd4fe9 Debug work + some retail regalloc fixes (#2787)
* Debug work + some retail regalloc fixes

* Use AUDIO_INSTANCES in places it's missing, link d_a_e_bee

* Link m_Do_machine

* Fix clang putting other includes before the pchs

* Link some more debug TUs that already match
2025-11-09 11:43:14 -08:00
LagoLunaticandGitHub 9eea9289b1 Fix JUT_ASSERT and several other macros (#2711)
* Fix JUT_ASSERT to be a nested define

* Switch names that appear in asserts to be constants instead of defines

* Replace `0` in asserts with `NULL` or `FALSE`

* Fix fpclassify

* Fix ARRAY_SIZE

* Use G_CM3D_F_INF

* More fixes for fpclassify

* Remove FLOAT_LABEL

* Remove incorrect FLAG_ON macro

* Remove UNK_BSS macro

* Silence clangd unused header warning for PCH
2025-09-28 13:11:07 -07:00
LagoLunaticandGitHub c9a710a939 d_cc_s OK (#2710) 2025-09-28 11:42:21 -06:00
LagoLunaticandGitHub 5dc86158bc Fix most vtable issues (#2706) 2025-09-27 15:35:11 -07:00
LagoLunaticandGitHub 54d8839d91 Remove unnecessary externs (#2705) 2025-09-27 15:30:54 -07:00
LagoLunaticandGitHub 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
LagoLunaticandGitHub dbf6abeb90 Use composition instead of inheritance for most f_op classes (#2700) 2025-09-25 12:57:15 -07:00
LagoLunaticandGitHub ae6f4242b3 Finish renaming subtype to argument (#2659) 2025-09-14 13:17:54 -07:00
LagoLunaticandGitHub ea82ed4931 Update objdiff (#2624) 2025-09-02 15:19:08 -07:00
LagoLunaticandGitHub 956e84b0e7 Start linking some TUs on debug and PAL (#2612)
* Fix clang union handling (affects all TUs including d_camera.h)

Union members with non-trivial ctors/dtors is undefined behavior and clangd normally throws a fit and refuses to parse the whole union, but it seems to be possible to ifdef the problematic ctors out for non-mwerks compilers and explicitly tell modern compilers to use the defaults instead. Thanks to encounter for this fix.

* Link all TUs that already match on debug

In order to link TUs for debug, most functions seem to need to have their alignment set to 16 in symbols.txt. There are a few hundred functions that seem to be the exception and break when their alignment is set to 16, but I don't know the reason for this.

* Remove some fakematches (nosyminline/sym off) for weak func order in retail

* Fix clang not knowing that MSL_C++ is C++

* Link more debug TUs

* Fix missing PAL split

* Fix wrong slashes being used in includes

* RZDE01_00: Fix incorrect capitalization in config.yml

* Add RZDE01_00 to configure task

* Revert configure.py to use MatchingFor

* Fix PAL splits and symbols, link matching PAL TUs
2025-08-27 17:37:31 -07:00
LagoLunaticandGitHub e09f037fa3 Fix ShieldD REL hash checks (#2611) 2025-08-27 20:52:40 +03:00
LagoLunaticandGitHub 0579f4acef Fix d_a_ykgr retail regalloc and mostly match on debug (#2608)
* d_a_ykgr OK

* Fix sqrtf for shield

* Fix pch caps
2025-08-27 01:40:48 -07:00
LagoLunaticandGitHub a945ef4fb8 Fix all REL module names for ShieldD (#2607) 2025-08-25 18:46:46 -07:00
LagoLunaticandGitHub ee6c527735 Add PAL, JPN, and Shield versions to CI, update dtk-template (#2605)
* Add ShieldD to GitHub CI build

* Update dtk-template, add support for CI caching

* Fix PAL and JPN not building on Linux due to case sensitive file paths

* Add PAL and JPN to GitHub CI build

* Fix bad copy paste
2025-08-25 17:45:28 -07:00
LagoLunaticandGitHub 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
LagoLunaticandGitHub 23cba4d117 getDemoIDData matched, fix up various inlines and template classes (#2489)
* Fix debug build

* getDemoIDData matched, fix up various inlines and template classes

* Remove nonmatching comments
2025-06-17 22:11:53 -07:00
LagoLunaticandGitHub 0212d1d18e Update dtk-template (#2453)
* Update dtk-template

* Fix debug build

* Fix d_event_debug includes

* Progress reports: Enable function relocation diffing (data_value)

* Fix some diffs

* Fix a few more diffs

* More fixes
2025-05-22 22:25:06 -07:00
LagoLunaticandGitHub f891887626 d_stage cleanup (#2392) 2025-04-13 20:54:57 -07:00
LagoLunaticandGitHub b52d288cd0 functionvalue 100% (#2389)
* functionvalue 100%

* Fix ninja always thinking the build is dirty due to nonexistent dependent file
2025-04-12 09:12:27 +03:00
LagoLunaticandGitHub 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
LagoLunaticandGitHub 6c51708b8c JStudio object-actor OK (#2381)
* Fix debug build

* object-actor OK
2025-04-07 15:36:51 -07:00
LagoLunaticandGitHub c0e111b081 Debug JStudio fix + match one retail func (#2378)
* Fix debug build

* Minor fixes

* Match daAlink_c::getDemoLookActor

* Fix JStudio paths in ShieldD splits

* Fix JStudio not compiling on debug

* Fix JStudio not compiling on retail, add fake header
2025-04-06 17:57:52 -07:00
LagoLunaticandGitHub 559d389e3d Fix dPnt struct (#2361)
* Fix dPnt struct

* Fix Vec warning
2025-03-30 15:45:59 -07:00
LagoLunaticandGitHub ed42b15988 Debug build now takes .alf as input instead of .dol (#2360)
* Fix debug build

* Debug build now takes .alf as input instead of .dol

I had to manually remove the following line from symbols.txt for DTK to work:
```
.data = .sbss:0x8074C97C; // type:object size:0x4 scope:local data:byte
```
After that it built OK, and DTK automatically modified all other lines in symbols.txt.

* Fix pragma in header messing up debug optimization level
2025-03-30 15:43:44 -07:00
LagoLunaticandGitHub 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
LagoLunaticandGitHub fb45587923 c_m3d OK (#2317) 2025-03-07 16:01:38 -08:00
LagoLunaticandGitHub ca3e900835 Fix false pointer relocations in data breaking shiftability (#2296)
* Fix false pointer relocations in data breaking shiftability

* Update matDL_dis.py from tww

* remove debug prints from matDL build script
* matDL build rule: Allow specifying global/local scope

* Use asset extraction for ShieldD

* Set mode `+x` on executable Python scripts

* set `+x` on matDL_dis
2025-01-31 23:58:59 +02:00
LagoLunaticandGitHub bf4053fefa Fix spurious differences when using ninja diff (#2294)
* Fix spurious differences when using ninja diff

* Fix some clangd errors/warnings
2025-01-26 22:01:05 -08:00
LagoLunaticandGitHub 2189777abf Fix various issues in TUs marked Equivalent (#2286) 2025-01-14 22:47:29 -08:00