mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-29 05:41:47 -05:00
Fifth 5x10 batch. 48 functions matched at score 0; 38 land here.
overlay_29_022E37DC -> src/overlay_29_022E406C.c (new, 10)
overlay_29_022E41F0 -> src/overlay_29_022E4338.c (new, 10)
overlay_11_022E9B84 -> src/overlay_11_022E9A78.c (merged, 10)
main_02048764 -> src/main_02048B48.c,
src/main_02048BB4.c,
src/main_02048CB8.c (new, 8)
New placeholder structs: unk_020AFF38, unk_022AAE74. Two existing placeholders
in overlay_11_022E9A78.h are refined by this batch's evidence -- u8 field_0x4[8]
becomes s32 field_0x4 + s32 field_0x8, and u8 field_0x0[0x44] gains s16
field_0x14. Both keep their total size and no pre-existing function changed.
overlay_29_022E406C.h and overlay_29_022E4338.h gain dungeon_mode.h, which they
need for struct entity.
The fifth group -- ten DWC functions from asm/overlay_00_022DB1A4.s -- is not
here. All ten scored 0 and still changed OVY_0's size by 16 bytes, failing
main.sbin and OVY_0-OVY_9. A decomp.me scratch declares callees extern, so MWCC
cannot inline them; landing the group into a .c that defines those callees makes
the bodies visible and -O4,s inlines them. The target's calls show retail kept
these in separate translation units. docs/MATCHING_TIPS.md gains an entry with
the mechanism and a one-object diagnostic that does not need a full build.
Authored by Claude (Opus 5) under human direction. Confirmed by a matching
build: build/pmdsky.us/pmdsky.us.nds: OK.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
17 lines
266 B
C
17 lines
266 B
C
#ifndef PMDSKY_MAIN_02048CB8_H
|
|
#define PMDSKY_MAIN_02048CB8_H
|
|
|
|
struct unk_022AAE74 {
|
|
s32 field_0x0;
|
|
char field_0x4[0x20];
|
|
s32 field_0x24;
|
|
s32 field_0x28;
|
|
u8 field_0x2C;
|
|
u8 field_0x2D;
|
|
u8 field_0x2E[2];
|
|
};
|
|
|
|
s32 sub_02048CB8(void);
|
|
|
|
#endif
|