Commit Graph

2702 Commits

Author SHA1 Message Date
LagoLunatic 2115d05965 d_a_npc_ls1 anim field naming pass, add enums 2026-07-22 21:28:12 -04:00
LagoLunatic 96347ab502 Clean up angle constants and conversions (#1135)
* Add angle conversion constants and macros

* Replace angle literals with hex instead of decimal
2026-07-22 20:13:31 -04:00
WilliamArnett bf372802ca d_a_npc_bm1 100% Matching Retail (#1107)
* 99% match

* Rewrote _execute to increase accuracy. Only issue in .text is a label not loading correctly. I have no idea how to fix this.

* Equivalent. Weak func ordering.

* 7% text

* 28% text

* 41% text

* 65% text

* Rewrote _execute to increase accuracy. Only issue in .text is a label not loading correctly. I have no idea how to fix this.

* Equivalent. Weak func ordering.

* 82% text

* Equivalent. A lot of work is needed to name variables and clean up functions. Weak function ordering is wrong.

* Cleaned some functions, named several variables, and began documenting dialog tree.

* Naming a couple more variables

* 21% text

* change out getMySubstanceP for getMyIntegerP inline

* 100% text

* Refactor to use JUT_ASSERT macro

* #181: d_a_tag_attention matching; TODO: implement chk_inside and dComIfGp_att_Look2RequestF

* #181: continue working on d_a_tag_attention, matching almost complete

* #181: revert naming class member (not certain enough)

* #181: preliminary changes to resolve #784 comments regarding usage of debug maps

* #181: commit suggestion by @WilliamArnett, fixing regalloc error

Co-authored-by: WilliamArnett <149556961+WilliamArnett@users.noreply.github.com>

* #181: fix missing curly bracket

* #181: resolve #784 comments with the kind help of @WilliamArnett;
 move `daTagAttention::Act_c::chk_inside` to header file; split `plyrToObjVec` definition to match assembly;
 remove temp variable, use values directly and swap operands;
 implement `Look2RequestF` in `include/d/d_attention.h`;
 remove non-matching use of temp variable `iVar1` and replace `current.pos` with uninitialized variable in `daTagAttention::Act_c::_execute`

* Update fork to match upstream

* some changes

* 12% text

* 21% text

* 26% text

* 43% text

* 51% text

* Revert unnecessary file changes

* Update d_a_tag_attention.cpp

* 55% text

* 52% text

* 52% text

* 56% text

* 68%

* 77% text

* 100% matching minus regswap

* 100% matching for retail

* Many more demo matches

* Fix broken match in _create()

* Demo Match

* Add some missing inlines

* Fix dComIfGp_setMesgCameraInfoActor

* More inline matching

* fix broken demo match

* Name some fields

* Utilize EventBit enum

* Name more fields, and add inline calls to d_a_npc_ls1

* Remove comments

* Implement @LagoLunatic suggested changes

* remove actor cast from dSnap_RegistFig calls

* Fix broken match in eInit_ATTENTION_

* Second round of @LagoLunatic 's suggested changes

---------

Co-authored-by: Skelp <skelp@pm.me>
Co-authored-by: Skelp <59535863+Skelp@users.noreply.github.com>
2026-07-22 20:10:59 -04:00
LagoLunatic 5c556d3c53 Enum usage 2026-07-22 12:36:48 -04:00
LagoLunatic ebc8cd2caf d_cam_param OK 2026-07-20 21:48:48 -04:00
Mattias Blum 61a3a0ac17 d_cam_param 100% for GZLE01 (#1126)
* initial progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* fix outdated member names

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* fixed deprecated member references

* more progress

* more progress

* more progress

* fix deprecated member references

* more progress

* more progress

* more progress

* more progress

* more progress

* check in for review

* remove comment

* initial PR changes

* more PR changes

* more PR changes

* added anonymous struct as class member

* reverted changes to `stage_camera2_data_class`

* added `dCamera_event_data`, `dCamera_monitoring_things` and `dCamera_DMC_system` from debug maps

* more progress

* more progress

* realmatch for `camera_draw`

* PR changes

* fix broken merge

* formatting

* Reverted change to `camSphChkdata` that caused  `sph_chk_callback` match to regress

* Reverted change to `BG` struct that caused ctor and dtor match to regress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* more progress

* PR changes

* corrected size comment

* fixed broken member references

* more d_camera work

* remove comment

* update symbols

* d_cam_param 100% for GZLE01

Code is 100% matching

* Update math.h
2026-07-19 17:00:55 -04:00
LagoLunatic 0fdc3a3f3b Cleanup/documentation for various photo-related code 2026-07-19 15:54:06 -04:00
LagoLunatic 9f18a6f34c d_picture_box closer to matching for other versions 2026-07-18 21:31:38 -04:00
Mattias Blum db61d31022 d_picture_box mostly matching for GZLE01 (#1125)
* initial progress

* more progress

* more progress

* d_picture_box mostly matching for GZLE01

Unable to resolve the regswap in dJle_Pb_c::draw()

* reverted some changes to member names

* filled missing enum value

* PR changes made

* renamed some fields
2026-07-18 17:37:31 -04:00
LagoLunatic c1513e97e5 Some npc/ship inline fixes from debug map 2026-07-17 16:08:55 -04:00
Zeclos d3d65a4d8c d_a_npc_mk matching (#1115)
* matching

* cleanup

* d_a_npc_tt matching outside of _create and rodata

* matching

* all symbols matching order wrong fake inline usage

* matching

* cleanup, naming of some fields and enums

* undo changes
2026-07-16 17:23:52 -04:00
LagoLunatic c562f05ffa Merge pull request #1120 from LagoLunatic/clib-limit
Improve cLib limit inlines
2026-07-16 17:21:09 -04:00
LagoLunatic c30c494a15 Some demo matches and fake inline fixes 2026-07-14 17:06:45 -04:00
LagoLunatic 0f8be7a620 debug_map_diff.py: Diff alignment 2026-07-14 16:52:49 -04:00
LagoLunatic a498fbb50e Make debug_map_diff.py much more accurate for main.dol TUs
Functions are now marked as "FAKE?" instead of "FAKE" in cases where it's possible that they only seem fake due to the linker map not showing duplicate symbols multiple times (inlines used in multiple TUs).

"UNREFERENCED DUPLICATE" data in the base maps are now also taken into account. Also, limited linkage diffing can be done for main.dol symbols (based on the naming convention of l_ and g_ prefixes).
2026-07-14 16:38:20 -04:00
LagoLunatic 43b5e42feb Extract float formatting to separate function to reduce logic duplication 2026-07-14 11:02:06 -04:00
LagoLunatic 2833539046 Asset extraction: Raise error for wrong-sized symbols 2026-07-14 10:57:34 -04:00
LagoLunatic 2fdc8f35cc Asset extractor: Include headers that define Vec/cXy/GXColor 2026-07-14 10:55:14 -04:00
LagoLunatic a1ef9f163e Fix tn sjis error again 2026-07-14 10:53:58 -04:00
LagoLunatic c06b3874cc Extract Embedded Model Data (#1117)
* Add Model Extraction Script

- Support extraction of Vec/cXy/GXColor data

* Extract Embedded Model Data
2026-07-14 10:45:53 -04:00
SuperDude88 fbf39c24c9 Extract Embedded Model Data 2026-07-13 17:09:49 -04:00
SuperDude88 99f93ebe98 Add Model Extraction Script
- Support extraction of Vec/cXy/GXColor data
2026-07-13 17:09:42 -04:00
LagoLunatic 5319b0e006 Update dtk-template and tools (#1116) 2026-07-13 14:04:37 -04:00
LagoLunatic 98721a6b80 d_a_npc_tt inlines fix 2026-07-13 13:37:02 -04:00
LagoLunatic bd46bc4866 debug_map_diff.py: Fix handling of localstatics in main.dol TUs 2026-07-13 13:27:40 -04:00
LagoLunatic 3cb9b3bdb4 debug_map_diff.py: Several improvements
Auto-detect if the TU is in main.dol or a REL. Detect this separately for the target and the base, in order to support TUs like d_a_npc_tt which are in main.dol for the debug build, but a REL for release builds. And disable linkage comparison when comparing a REL TU to a main.dol TU as the official main.dol maps do not include linkage information, but the REL maps do.
2026-07-13 13:20:35 -04:00
LagoLunatic 6f09bf28ce d_a_bwd cleanup 2026-07-08 13:58:35 -04:00
LagoLunatic 4fdf76cc41 Several improvements to debug_map_diff.py
Support checking linkage diffs, and checking if REL data symbols are missing/misnamed.
2026-07-08 13:58:18 -04:00
LagoLunatic 28a4a7a979 d_a_bdk cleanup 2026-07-08 13:37:18 -04:00
LagoLunatic aefdf7499b d_a_obj_tide use res enums 2026-07-08 11:59:39 -04:00
LagoLunatic 87b5061c61 Match most d_flower funcs for demo 2026-07-05 17:23:02 -04:00
SuperDude88 adbf30e402 d_flower Code Matching (#1105)
Will handle the large data arrays separately
2026-07-05 17:10:45 -04:00
LagoLunatic 68ea9331aa d_a_npc_mt OK for all versions
closes #348
2026-07-05 14:07:43 -04:00
Mattias Blum 6812d925ff d_a_npc_mt 100% for GZLE01 (#1102)
* d_a_npc_mt 100% for GZLE01

* implemented dPb_erasePicture and added some relevant inlines

* fixed existing references to mSelectPicture

* PR changes made
2026-07-05 13:49:57 -04:00
LagoLunatic 5adfe20ead d_menu_save OK
closes #1026 closes #1011
2026-07-05 13:48:06 -04:00
TakaRikka d3c642c5d3 d_menu_save mostly done (#1103) 2026-07-05 13:34:40 -04:00
Zeclos a7a5b5d636 D_a_npc_tt (#1099)
* matching

* cleanup

* d_a_npc_tt matching outside of _create and rodata

* matching

* cleanup
2026-07-05 13:11:40 -04:00
LagoLunatic 6051ac9b5b A few small matches 2026-07-02 21:07:19 -04:00
TakaRikka f93c5ba62c d_message mostly done (#1097)
* d_message mostly done

* fopMsgM_selectMessageGet fix
2026-07-02 20:43:07 -04:00
LagoLunatic 873bb82e00 d_auction_screen OK
closes #1075
2026-06-30 19:43:24 -04:00
TakaRikka 2c0c3b9ed3 d_auction_screen mostly done (#1083) 2026-06-30 19:30:42 -04:00
LagoLunatic 76b1b025d5 d_name OK
closes #1073
2026-06-30 00:54:47 -04:00
TakaRikka 0d27cf3652 d_name mostly done (#1082) 2026-06-30 00:07:14 -04:00
LagoLunatic 0bb5696cd8 dMinigame_Starter_c::_execute match 2026-06-28 18:53:19 -04:00
TakaRikka 88a753265e water_mark / wpillar done, minigame_starter wip (#1069)
* d_minigame_starter attempt

* water_mark / wpillar done

* review changes
2026-06-28 18:40:28 -04:00
LagoLunatic 1eb337da18 d_seafightgame OK for demo 2026-06-26 20:16:52 -04:00
LagoLunatic bc3b08eb4f Fix d_a_kb demo version diffs, and match a couple retail funcs 2026-06-26 19:04:31 -04:00
LagoLunatic ad26698232 d_tree OK for retail 2026-06-26 18:53:07 -04:00
SuperDude88 4b401652d9 d_a_kb Almost Matching (#1040)
* d_a_kb Almost Matching

- Get most of the logic in

Still need to switch over from inheritance to composition, will fix at least 2/3 of the functions

* Switch Inheritance -> Composition

Causes regressions in way_check and target_set

* Use More Enums

Now uses res/loop mode/item number/sound/particle/collision attribute/event flag enums properly

* Fix d_a_npc_people

Used kb_class in a couple spots

* Another Inline

Found it in the debug map

* Joint Enums

- Add joint enums with note about normal/big pigs needing to have (at least partially) identical joint setups

* Assert for Joint Numbers

- Make sure the joint numbers match for the normal pig + big pig models
- Update/extend note accordingly
2026-06-26 17:45:09 -04:00
LagoLunatic f0f98bbcc3 Fix OdemuExi2 wrong caps 2026-06-26 17:20:57 -04:00