Files
pmd-sky/include/main_02048CB8.h
cecilarmitais c9d0c76608 Decomp 38 functions across four groups; drop a group to an inlining trap
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>
2026-08-20 03:18:59 -07:00

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