cecilarmitais 4d2a484c28 Decomp five leftover single-function asm files
Seventh cleanup sweep. Five asm files and their includes removed:

  asm/overlay_29_0232E400.s   DoMoveWakeUpSlap
  asm/main_0204317C.s         FreeUnkStorageStruct0x18c0
  asm/main_02009DCC.s         sub_02009DCC
  asm/main_020018A4.s         sub_020018A4
  asm/main_0200C4CC.s         sub_0200C4CC

All five merged into an adjacent source rather than splitting one, so the sweep
removes five files and adds none.

DoMoveWakeUpSlap doubles the damage multiplier when the target is in any of the
three sleep-class states, then ends the status. EndSleepClassStatus takes five
arguments here, not four: the target loads r2=0, r3=1 and pushes a third flag on
the stack.

sub_020018A4 rounds a 64-bit value up to the next multiple of 0x100 and returns
the high 56 bits. The `and r2, r1, #0` that opens it is the high half of a 64-bit
`x & 0xFF`, not a separate test.

sub_02009DCC clears one bit of a 5-bit mask per non-zero entry in five byte
arrays at stride 5, then merges it into DISPCNT for the requested engine. The
zero-engine arm has to come first in the source or the wrong arm is predicated.

sub_0200C4CC copies 232 bytes out of _02094C18, whose size is fixed by the gap to
_02094D00.

Field types forced by the access widths in main_02042AF8.h: struct unk_02043148's
field_0x0 becomes s32 and field_0x7D5 splits into two s8s plus padding; struct
unk_020AFEE0's field_0xC becomes s32, which was the last differing row in
FreeUnkStorageStruct0x18c0.

struct unk_02094C18 is new. Its member is u32[0x3A] rather than u8[0xE8] because
the copy's alignment, and so its instruction shape, comes from the member type.

Authored by Claude (Opus 5) under human direction. All five verified at score 0.
Confirmed by a matching build: build/pmdsky.us/pmdsky.us.nds: OK. None carries a
region conditional, so US alone is sufficient.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 20:30:00 -07:00
2026-08-01 12:46:55 -04:00
2026-07-16 07:36:58 -07: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 328 MiB
Languages
Assembly 69.8%
C 14.6%
C++ 7%
Boogie 4.3%
sed 1.5%
Other 2.8%