mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-28 21:31:17 -05:00
909484fb99848cf1d57dbbb6bf8698088927a350
Decompile from asm: DseTrackEvent_SetupKeyBendLfoEnvelope 0x0207222C DseTrackEvent_UseKeyBendLfo 0x0207225C DseTrackEvent_SetupVolumeLfoEnvelope 0x02072504 DseTrackEvent_UseVolumeLfo 0x02072534 DseTrackEvent_SetupPanLfoEnvelope 0x02072720 DseTrackEvent_UsePanLfo 0x02072750 All six index struct dse_channel's existing lfo_settings[4], which sits at offset 0x74 with a 0x10 stride -- the stride the asm computes as ip lsl #4, and the offset another handler in this family loads directly as channel + 0x74. The three pairs address entries 0, 1 and 2, so key bend, volume and pan each own one lfo_settings slot. Within an entry the setters write +0xa and +0xc, which are msec_until_lfo_started and lfo_envelope_len_msec, and the Use handlers write +1 and +2, which are type and output_type. output_type is set to 1, 2 and 3 for key bend, volume and pan respectively, which is consistent with the slot each one uses; that is an observation about the constants, not something the bytes label. The Use handlers needed an explicit if/else rather than a ternary. Every conditional-expression spelling tried -- v ? N : 0, v == 0 ? 0 : N, !v ? 0 : N, and (v != 0) -- emits movne before moveq, where the target emits moveq before movne. The statement form reverses the pair and matches. No comments are added to any pmd-sky file. 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>
…
…
…
…
…
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%