Commit Graph

55 Commits

Author SHA1 Message Date
kipcode66 d7facf5956
Resource (#2939)
* matching Do_destroy from resource.cpp

* add missing constants from `float.c`

* add numeric_limits for double

* set TObject::reset for each version in stb.cpp

* improve debug matching
2025-12-15 17:00:16 -08:00
Max Roncace 8ad2d661a2
Clean up conditional compilation a bit (#2943) 2025-12-11 15:34:16 -08:00
kipcode66 3b26aae532
Improving standard compiler compatibility (#2926)
* Adding explicit dolphin/ prefix & fix characters

* Rename ShiftJIS to SJIS

* Separate JASSeqReader read methods implementation between compilers.

* Fix pointer.h

* fix d_item_data typo

* fix gcn matching issue
2025-12-08 20:31:22 -08:00
Max Roncace a30e617e5a
Various debug conditional compilation cleanup (#2915)
* Global: Define DEBUG as 0 if not already defined

* Clean up DEBUG-guarded code
2025-12-06 13:34:47 -08:00
LagoLunatic ae9fa8922a
Work on weak function ordering (#2917)
* Fix functionvalue weak func order

* Add script to help diffing weak function order

* Improve alink weak func order (44 -> 15)

* Improve m_Do_ext weak order (12 -> 7)

* Remove old hack

* Fix d_a_tbox weak func order

* Fix d_a_npc_ks weak func order

* Fix error when trying to diff weak func order for ShieldD due to hidden function alignment gap symbols
2025-12-05 18:46:58 -08:00
robojumper 6a5397e847
JStudio debug improvements (#2902) 2025-12-01 16:33:32 -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 e2fddadf32
Misc matches (#2845)
* Misc debug matches

* Fix d_map weak function order

* Remove old nonmatching comments

* d_menu_dmap and JASAudioThread OK, fix weak func order and rodata alignment

* More misc matches
2025-11-21 15:52:16 -08:00
hatal175 8a39ebfa8b
fvb Matching (#2820)
* fvb Matching

* J2DScreen debug work
2025-11-18 18:13:35 -08:00
LagoLunatic bd2def28db
d_a_demo00 OK (#2817)
* Misc small matches

* Add J3DFrameCtrl::EMode_NULL enum

* Improve weak bss fakematch and remove a functionvalue fakematch

* demo00 OK
2025-11-17 15:38:04 -08:00
LagoLunatic 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
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
LagoLunatic 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
LagoLunatic 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
robojumper 6f4fae57da
jstudio-object OK (#2427)
* jstudio-object checkpoint

* jstudio-object OK

* Small debug improvements
2025-05-08 18:06:38 +03:00
hatal175 3df5c7bb42
Various alignments to debug + matching TUs (#2391) 2025-04-13 11:55:52 -07:00
LagoLunatic 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
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 6c51708b8c
JStudio object-actor OK (#2381)
* Fix debug build

* object-actor OK
2025-04-07 15:36:51 -07:00
LagoLunatic 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
LagoLunatic 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
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
TakaRikka 2453c0e333
copy dolsdk2004 to tp / b_bh + e_mb done (#2299)
* move dolsdk2004 over

* cleanup some temp work

* finish and cleanup gf

* b_bh done

* d_a_e_mb done
2025-02-10 21:20:42 +02:00
TakaRikka 9948a6371f
wip debug / pal building, b_gm mostly done (#2285)
* b_gm mostly done

* wip debug / pal building

* fix configure.py

* fix some debug macros / flags
2025-01-16 19:37:39 +02:00
TakaRikka aec7c1df12
d_demo mostly matched (#2242) 2024-11-10 05:18:28 -05:00
TakaRikka b1d7bc9cc4
d_a_alink_effect mostly done (#2227)
* d_a_alink_effect work

* more d_a_alink_effect work

* some d_a_alink data cleanup

* d_a_alink_effect mostly done
2024-10-28 13:00:15 +02:00
hatal175 38445f4d51
Work on d_a_title (#2215) 2024-10-17 14:21:08 -07:00
TakaRikka 12eb254d76
switch to dtk setup (#2203)
* switch to dtk setup

* some cleanup / fixes

* cleanup d_a_alink literals

* Restore doxygen, update CI & README.md (#1)

* Fix build image ref (#2)

---------

Co-authored-by: Luke Street <luke@street.dev>
2024-10-10 08:29:58 -06:00
hatal175 b7380e77d1
Work on JStudio (#2195)
* work on object-light

* JStage control OK

* object-fog OK

* object-camera OK

* Work on object-actor
2024-08-30 04:50:05 -07:00
hatal175 d3420ffe8d
jstudio particle and sound OK (#2194)
* Work on object-sound

* object-particle OK

* object-sound OK

* JStudio_JAudio2 control OK

* JStudio_JParticle control OK

* JStage object OK

* JStage ambient light OK
2024-08-22 13:17:24 -07:00
hatal175 106d72032c
Work on d_msg_object (#2186) 2024-08-07 03:18:30 -07:00
Pheenoh a61e3491f7
d_a_e_fz work, doxygen revamp (#2127)
* initial freezard actor struct + setActionMode OK

* daE_FZ_Draw

* setReflectAngle

* mBoundSoundset

* daE_FZ_Execute & execute

* demoDelete

* daE_FZ_Delete & _delete

* CreateHeap

* useHeapInit

* cc_set

* mtx_set

* action WIP

* way_gake_check

* executeRollMove

* executeMove

* draw WIP

* executeDamage

* checkpoint

* create

* checkpoint

* daE_FZ_c::executeWait

* checkpoint

* daE_FZ_c::damage_check almost done

* rm asm

* rm headers

* setup_profile WIP + doxygen update

* fix merge issues

* docs fix?

* fix2

* doxygen updates

* setup g_profile_E_FZ, profile setup script WIP

* update github actions

* update progress.md
2024-04-12 00:10:30 -06:00
TakaRikka ba4847e9cc
d_a_shop_item, d_a_b_go, d_a_b_gos OK (#2085)
* d_a_shop_item OK

* d_a_b_go OK

* d_a_b_gos OK

* remove asm

* some work on d_a_b_oh / d_a_b_zant_sima

* d_a_startAndGoal done
2024-03-07 20:23:18 -07:00
hatal175 1c891adeb8
work on functionvalue (#2054) 2024-01-30 16:02:22 -08:00
hatal175 1ea10fcc63
More jstudio work (#2048) 2024-01-25 14:50:55 -08:00
TakaRikka ba44ade90c
more various JSystem work (#2046)
* most of J3DAnmLoader done

* J3D / JKernel / JUTConsole work

* remove asm

* fix build

* dol 50%
2024-01-24 14:00:46 +02:00
hatal175 b2310b84b6
A little work on jstudio (#2045) 2024-01-23 15:05:15 -08:00
TakaRikka 981cfe7283
almost all of dolphin matched (#2036)
* TRK full match

* remove trk asm

* ar done

* cleanup some dolphin headers

* more dolphin cleanup

* cleanup / GD fully matched

* almost all of GX fully matched

* GX / Mtx full matched

* most of OS done

* pad done

* most of VI

* remove asm

* forgot couple vec funcs

* couple JUtility matches
2024-01-20 02:22:19 +02:00
Pheenoh 7fd7d0c1f3
d_a_obj_carry work, SETUP_ACTOR macro, header cleanup (#1885)
* d_a_obj_carry work, SETUP_ACTOR macro

* rm headers, add script

* progress

* macro rename, consistent spacing
2023-08-16 12:07:52 -07:00
hatal175 cb8bf4a489
More JSystem borrowing (#383) 2023-07-23 15:30:24 -07:00
Jcw87 221f40e609
Remove #includes from headers (#334)
* add "global.h" to files that use it

* add MSL_C includes to files that use them

* remove dolphin includes from headers that don't need them

* remove JSupport includes from headers that don't need them

* remove JKernel includes from headers that don't need them

* remove JUtility includes from headers that don't need them

* remove J3D includes from headers that don't need them

* remove J2D includes from headers that don't need them

* remove JAudio2 includes from headers that don't need them

* remove Z2AudioLib includes from headers that don't need them

* remove JMessage includes from headers that don't need them

* remove JParticle includes from headers that don't need them

* remove SComponent includes from headers that don't need them

* remove dol includes from headers that don't need them

* sort includes
2023-05-12 12:10:14 -07:00
TakaRikka ca71275bbe
big d_a_alink pass (#214)
* d_a_alink pass1 wip

* more d_a_alink work

* remove asm

* more daalink work

* 20% dol code decompiled

* fixed some nonmatchings for building

* a few daalink functions and labeling some HIO data
2022-12-19 12:06:32 -07:00
TakaRikka 6d006074a7 d_attention / d_demo / d_lib work 2022-10-18 05:15:45 -07:00
TakaRikka f8979749e3
j2d / map_path work, d_drawlist / d_attention cleanup (#208)
* work on fop actor / actor mng, daalink, d_a_obj_item

* d_a_title mostly decompiled

* daalink / d_event / JMessage / dmsg_out_font work

* msg_scrn_base / msg_scrn_boss

* some work on mDo machine, d_menu_save, d_tresure, and various

* remove asm

* progress

* finish d_menu_save / d_pane_class_alpha / d_pane_class / rename some data

* rename more data

* remove asm / progress

* match all of d_pane_class

* fixes / some dKankyo doc

* bunch of j2d work. d_drawlist / d_attention cleanup

* progress / asm

* cleanup wip

* decompile JStage

* setup some more JStudio structs

* set up d_demo classes

* some d_demo work

* cleanup dolphin os stuff

* some initial dEvent documentation

* some At collision documentation

* match JUTConsole::doDraw

* dbgs work / split up some of d_a_alink into .inc files

* d_a_alink_spinner work
2022-08-30 15:22:17 -06:00
notyourav c4ef30bc95
Port JStudio work to new branch (#160)
* build fix

* stb

* functionvalue

* fvb

* jstudio cleanup

* d
2021-11-26 15:50:22 +01:00
Julgodis 815c1a2039 clang-format 2021-03-29 00:10:25 +02:00
Julgodis d244b7cb0d dol2asm OK 2021-03-28 22:49:05 +02:00
lepelog 80ba3d9fd2
Fix symbol names (#118)
* checkpoint

* checkpoint

* rename f_pc

* checkpoint

* small symbol rename and fix some fpc symbols

* remove unneeded entries from ldscript

* simplify ok check, update docker container

Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-03-15 02:12:44 -04:00
lepelog 5c83d2532c
Decompile some SComponent data and some MSL_C.PPCEABI.bare.H headers (#115)
* data for c_angle

* data c_sxyz

* partially migrated c_xyz data

* c_xyz data

* c_xyz data decomp

* c_math data

* c_math data

* c_lib data, some cleanup

* rename some unnamed functions and create header for them

* header for string functions

* format and fix fabsf

* cleanup

* remove more unneded function prototypes

* move fpclassify to math.h
2021-02-19 10:51:02 -05:00