mirror of
https://github.com/pret/pmd-sky.git
synced 2026-10-01 22:57:58 -05:00
Sixth 5x10 batch; all fifty matched at score 0 and landed.
overlay_29_022DC694 HEAD team-stats forwarders, a 10-argument forwarder,
and a 22-entry table search
overlay_29_022E4714 HEAD PlayEffectAnimationEntity wrappers
overlay_29_022E37DC TAIL same family, merging into overlay_29_022E406C.c
overlay_18 mid LINK_SHOP_PTR state setters
main_020022C4 mid Nitro OS thread and mutex wrappers
New placeholder structs: unk_022DC694, unk_02353518, unk_0238C950,
unk_020027E8, unk_0229B0E0. The OS wrappers use nitro's own OSThread and
OSMutex types, which every translation unit already has through the prefix
header, rather than private tags.
Two spellings a reviewer should weigh, both recorded in the note:
_0229B0E0 is declared volatile because the target reloads it where any
ordinary spelling is common-subexpression-eliminated, and ov29_022DC78C
matches in byte-offset form rather than array indexing because the target
keeps the offset live in a separate mul.
Group selection now rejects malformed disassembly: 0.4% of asm blocks end
without a return (a .global mid-body split one function in two) and 6.5% are
several functions merged into one block (no .global marks the later entry
points). Neither is decompilable as written.
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>
29 lines
621 B
C
29 lines
621 B
C
#ifndef PMDSKY_MAIN_020027E8_H
|
|
#define PMDSKY_MAIN_020027E8_H
|
|
|
|
#include "util.h"
|
|
|
|
struct unk_020027E8 {
|
|
OSThread *field_0x0;
|
|
u8 field_0x4[0x10];
|
|
s32 field_0x14;
|
|
};
|
|
|
|
struct unk_0229B0E0 {
|
|
s32 field_0x0;
|
|
s32 field_0x4;
|
|
};
|
|
|
|
void sub_020027E8(struct unk_020027E8 *p);
|
|
u32 sub_020027F8(struct unk_020027E8 *p, u32 prio);
|
|
u32 sub_02002824(u32 prio);
|
|
void sub_02002858(struct unk_020027E8 *p, s32 v);
|
|
s32 sub_02002860(struct unk_020027E8 *p);
|
|
bool8 sub_02002878(s32 v);
|
|
void sub_020028AC(void);
|
|
void sub_020028B0(OSMutex *mutex);
|
|
void sub_020028F8(OSMutex *mutex);
|
|
void sub_02002904(OSMutex *mutex);
|
|
|
|
#endif
|