-
Notifications
You must be signed in to change notification settings - Fork 105
lb: Match lbRefract, lbBgFlash, lbAudio, and lbColl functions #2025
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+190
−76
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Match the following functions: - lbRefract_80022560, lbRefract_800225D4, fn_80022608, fn_80021F34 - lbBgFlash_800205F0, fn_8002087C (with improved struct types) - lbColl_80009DD4 (debug quad drawing) - fn_800263B4 (lbaudio_ax memory free) Also updates lbBgFlash_800205F0 signature from void(void) to void(s32) and updates the caller in gm_17C0.c accordingly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Report for GALE01 (ae5ac00 - 572bbb5)📈 Matched code: 47.86% (+0.01%, +320 bytes) ✅ 4 new matches
📈 1 improvement in unmatched functions
|
r-burns
reviewed
Dec 30, 2025
- lbRefract: fn_80021F34 → lbRefract_WriteTexCoordIA4 - lbRefract: fn_80022608 → lbRefract_DObjDispReset - lbBgFlash: fn_8002087C → lbBgFlash_InitState - lbAudioAx: fn_800263B4 → lbAudioAx_ObjFree Added @brief documentation and improved parameter names. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Resolve merge conflicts in lbrefract.c (keep new functions) - Address r-burns feedback: use temporary struct type instead of pointer arithmetic on user_data in fn_80021C80 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Rename parameters and locals to describe their purpose: - arg0 → data, arg1 → row, arg2 → col - arg5 → intensity, arg6 → alpha - t0/t1/t2 → tile_offset/tile_col/base_addr - ptr → dst Added @param documentation for each parameter. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Rename struct fields based on usage analysis: - unk0 → buffer (base address of texture buffer) - unk1 → format (3=IA4, 4=IA8, 6=RGBA8) - unk2 → width, unk3 → height - unk4 → row_stride (bytes per row, 32/64-byte aligned) - unk5 → buffer_size Also improve lbRefract_8002219C parameter names and add documentation for the init function. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add file-level documentation for lbrefract.c/h and lbbgflash.c/h - Rename fn_80022120 to lbRefract_ReadTexCoordRGBA8 - Add @brief comments to matched functions - Rename arg0 to duration in lbBgFlash_800205F0 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Update symbols.txt to use proper function names: - fn_80021F34 -> lbRefract_WriteTexCoordIA4 (81.3% match) - fn_80022608 -> lbRefract_DObjDispReset (100% match) These functions were decompiled but the symbol names weren't updated, causing them to appear as unlinked in the report. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The function was renamed in the source but the symbol name wasn't updated, causing a match regression from 62.74% to 0%. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
itsgrimetime
commented
Jan 3, 2026
Address review feedback: replace pointer arithmetic with temporary struct access patterns in lbBgFlash_80021C48 and lbRefract_WriteTexCoordIA4. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Split from #2024 - focused PR for lb (library) module matches.
Functions matched:
lbRefract_80022560(100%) - texture copy for refraction effectslbRefract_800225D4(100%) - reset TEV/indirect stagesfn_80022608(100%) - DObj display wrapper with TEV resetfn_80021F34(81.3%) - texture coordinate calculation callbacklbBgFlash_800205F0(100%) - background flash triggerfn_8002087C(100%) - background flash state initializationlbColl_80009DD4(100%) - debug quad drawingfn_800263B4(100%) - audio memory free wrapperAlso includes:
BgFlashStateandBgFlashDatalbBgFlash_800205F0signature fromvoid(void)tovoid(s32)gm_17C0.cfor signature changeTest plan
--require-protos🤖 Generated with Claude Code