mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-28 21:31:17 -05:00
1bcd98523f54285d077355defa888c9434826bde
The previous commit dropped eight functions whose only difference from the target was instruction order: retail loads the stat global before materialising the constant destined for the stack, the candidate after. The cause is aliasing. Declared as plain externs, MWCC must assume the stores to [sp] can affect the global, so the load cannot move above them. Declaring the globals const frees it, and all eight match: DoMoveGrowl, DoMoveLowerDefense1, DoMoveFeatherDance, DoMoveFakeTears, DoMoveMetalSound, DoMoveScreech, DoMoveCharm and DoMoveHealOrder. Also LogMessageQuiet and LogMessageWithPopup, which pass FALSE/TRUE to LogMessage. Every existing `extern struct StatIndex` in src/ is const-ified to match, since the globals cannot be const in one translation unit and not another. Thirteen files touched; the functions already landed against them still match, which is independent confirmation of the reading. DoMoveMetalSound lowers by 3 stages, not the 2 assumed when it was first written; the asm says `mov r3, #3`. Authored by Claude (Opus 5) under human direction. All ten 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>
…
…
…
…
…
…
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:
- pmdsky.us.nds
sha1: 5fa96ca8d8dd6405d6cd2bad73ed68bc73a9d152 - pmdsky.eu.nds
sha1: c838a5adf1ed32d2da8454976e5b1a1aa189c139 - pmdsky.jp.nds
sha1: 7785138dd343b6f2d0f2c9cadc26b4aa927161d7
For contacts and other pret projects, see pret.github.io.
Description
Languages
Assembly
66.3%
C
18%
C++
7.1%
Boogie
4.3%
sed
1.5%
Other
2.8%