cecilarmitais c34d1196f2 Decomp 50 functions in five themed groups
Third 5x10 batch: fifty located as five groups of ten before any matching, all
fifty matched, one build, one commit.

  Dwci account bitfield accessors   10   Dwci_Acc_SetMaskBits .. Dwci_Acc_GetFlags
  overlay-11 menu/overlay loaders   10   ov11_0230CB88 .. LoadRecycleShopOverlayResume
  _020B0B6C accessors + copies      10   sub_0206C0D8 .. sub_0206C19C
  overlay-11 veneers                10   ov11_022E9A78 .. ov11_022E9B5C
  main_02065C84 wrappers            10   sub_020663C8 .. sub_020664AC

Each group is a contiguous run, costing one .s split apiece. None of the fifty
carries a region conditional -- checked per function, not per file -- so US alone
verifies this commit.

The two 8-byte copy loops need an UNSIGNED counter. With s32, `--n != 0` emits
sub followed by cmp and scores 505; with u32 it fuses into the target's single
subs. A struct assignment through a cast also scores 0 but needs a new type.

ov11_0230CB88 passes an argument to EntryOverlay13, which this tree already has
decompiled and matching as `void EntryOverlay13(void)`. Dropping the argument
scores 220 -- the target saves r0 into r4 across the InitMenu call specifically
to pass it. Retail's caller evidently had a prototype its definition did not
match; reproducing that needs the two declarations to disagree across translation
units, so this file declares `extern void EntryOverlay13(s32 a);` locally.

Dwci_Acc_GetUserId and Dwci_Acc_GetFriendKey return 64-bit values; the tell is
the pair of no-op `orr rX, rX, #0` instructions MWCC emits assembling a u64
across r0/r1. GetUserId's high half is field_0x0 masked to 0x7FF, which agrees
with Dwci_Acc_SetUserId passing that same mask to Dwci_Acc_SetMaskBits.

New placeholder structs: unk_022DB0E0, unk_020B0B70, unk_02388FC0, unk_023890A0.

Authored by Claude (Opus 5) under human direction. All fifty verified at score 0.
Confirmed by a matching build: build/pmdsky.us/pmdsky.us.nds: OK.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 00:11:24 -07:00
…
2026-08-01 12:46:55 -04:00
…
…
…
…
…
…

Pokémon Mystery Dungeon: Explorers of Sky

This is a WIP disassembly of Pokémon Mystery Dungeon: Explorers of Sky. For instructions on how to set up the repository, please read INSTALL.md. For information on how to contribute changes, see CONTRIBUTING.md.

This repository builds the following ROMs:

For contacts and other pret projects, see pret.github.io.

Description
Decompilation of Pokémon Mystery Dungeon: Explorers of Sky
Readme 335 MiB
Languages
Assembly 66.3%
C 18%
C++ 7.1%
Boogie 4.3%
sed 1.5%
Other 2.8%