mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-30 14:18:10 -05:00
Eighth 5x10 batch; 49 of 50 matched at score 0 and land here. overlay_11_022FAC54 LiveObject accessors overlay_11_022E46FC coroutine table and special recruitment main_020325AC further inventory-menu paging overlay_17_0238A754 menu state setters main_0201BAC8 OAM attribute copying New placeholder structs: unk_022FD1A0, unk_02324FA0, unk_02320904, unk_C_ROUTINES, unk_0238BE00, unk_0201BCCC with unk_oam_sub and unk_oam_elem. struct unk_020332AC gains field_0xBC and field_0xD0, splitting two byte arrays without changing its size; no already-landed function changes. GetCoroutineInfo is NOT here. It reaches 30 -- two rows, a register swap between the base pointer and the record pointer, with every instruction otherwise identical. Eight structural variants and six declaration orderings were tried; restructuring around a record pointer took it from 500 to 30 and nothing since has moved it. It stays as assembly. Two matching findings, both in docs/MATCHING_TIPS.md. A switch needs a fourth case before MWCC emits a binary split rather than a flat compare chain, which is now the second batch where that closed a function. And x == 4 || x == 5 folds into a range test at every width tried, where the target keeps cmp/cmpne; the double negation !(x != 4 && x != 5) blocks the fold and keeps the arm order. 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>
18 lines
559 B
C
18 lines
559 B
C
#ifndef PMDSKY_MAIN_020327CC_H
|
|
#define PMDSKY_MAIN_020327CC_H
|
|
|
|
#include "main_020332AC.h"
|
|
|
|
void sub_020327CC(struct unk_020332AC *m, s32 a, s32 b);
|
|
void sub_020327E4(struct unk_020332AC *m);
|
|
void sub_0203280C(struct unk_020332AC *m);
|
|
void sub_0203282C(struct unk_020332AC *m);
|
|
void sub_02032864(struct unk_020332AC *m);
|
|
void sub_02032894(struct unk_020332AC *m, s32 a);
|
|
s32 GetPageItemYOffset(struct unk_020332AC *m, s32 i);
|
|
s32 sub_020328F4(struct unk_020332AC *m);
|
|
s32 sub_02032918(struct unk_020332AC *m);
|
|
s32 sub_0203293C(struct unk_020332AC *m);
|
|
|
|
#endif
|