Files
pmd-sky/include/main_02064FFC.h
cecilarmitais 4f33a43bf9 Decomp ov11_022E96E4
Decompile ov11_022E96E4 from asm/overlay_11.s. It returns the byte at offset 4 of
ov11_02324FA0. This is overlay_11's first decompiled function, so it creates
src/overlay_11_022E96E4.c rather than merging; the trailing functions move
verbatim into asm/overlay_11_022E96F4.s, the .inc files are regenerated, and the
two objects are added inside main.lsf's Overlay OVY_11 section.

ov11_02324FA0 is declared as u8[0x20] rather than given a struct. The symbol is
.space 0x20 in the data, so the size is a fact, and other functions in the
overlay touch offsets 0x0, 0xc, 0x10, 0x14 and 0x1c -- none of which are
decompiled, so a struct would have to invent a layout around the one field this
function reads. The array asserts only the size.

The return type is u8. The load is ldrb, so the width is known, but every
candidate return type produces identical bytes here; bool8 would additionally
assert that the value is a truth value, which is only an inference from the two
callers testing it in a condition. u8 states what is known and nothing more.

sub_02065050 and sub_0206549C call it and had a provisional int prototype in
main_02064FFC.h while only the call site was understood. That is replaced by an
include of the new header, and both were rebuilt to confirm they stay
byte-identical.

No new names are introduced: both ov11_022E96E4 and ov11_02324FA0 are
pre-existing labels.

No comments are added to any pmd-sky file.

Authored by Claude (Opus 4.8) under human direction. Confirmed by a matching
build: build/pmdsky.us/pmdsky.us.nds: OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-16 13:45:14 -07:00

49 lines
1.0 KiB
C

#ifndef PMDSKY_MAIN_02064FFC_H
#define PMDSKY_MAIN_02064FFC_H
#include "common.h"
#include "main_02055770.h"
#include "main_0205567C.h"
#include "main_020568A4.h"
#include "main_02056914.h"
#include "main_02055410.h"
#include "main_02056D70.h"
#include "main_0201E380.h"
#include "main_020564B0.h"
#include "overlay_11_022E96E4.h"
struct unk_02064F94 {
u8 field_0x0[8];
s16 field_0x8;
};
struct unk_02064FE4 {
u8 field_0x0[0x20];
u32 field_0x20;
int field_0x24;
};
struct unk_020A5488 {
s16 field_0x0;
u16 field_0x2;
u16 field_0x4;
u16 field_0x6;
char *field_0x8;
};
extern struct unk_020A5488 EVENTS[];
extern u8 *_020AFC70;
extern s16 ARM9_UNKNOWN_TABLE__NA_20A68BC[];
extern struct team_member_table *TEAM_MEMBER_TABLE_PTR;
int OverlayIsLoaded(s32 overlay_id);
void sub_02064F94(struct unk_02064F94* a, u32* data, int count);
void sub_02064FE4(struct unk_02064F94* a, struct unk_02064FE4* b);
char* sub_02064FFC(s16 id);
int sub_02065014(s16 id);
int sub_02065050(s16* p);
int sub_0206549C(s16* p, s16* out);
#endif