mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-28 05:07:58 -05:00
3046c8b010b69ff6bf88f1d564e7ef5b550e0d5a
Decompile from asm: DseTrackEvent_SetOctave 0x02071AC0 DseTrackEvent_OctaveDelta 0x02071ACC DseTrackEvent_SetTuningJitterAmplitude 0x0207216C DseTrackEvent_SetUnknown2 0x020721B0 DseTrackEvent_SetKeyBendRange 0x020721C8 DseTrackEvent_Dummy2Bytes2 0x0207299C These are the same handler family as the previous two commits, but they live in lib/DSE, which is compiled with different flags: -O4,p and -enum int, where the arm9 modules use -O4,s and -enum min. Signatures follow the parameter names already used by the landed handlers in lib/DSE/src/main_02071A98.c rather than the ones the previous two commits introduced. Field names come from struct dse_channel in lib/DSE/include/dse.h and match the offsets the asm uses: bend_jitter_amplitude at 0xa, field_0x56 at 0x56, and bend_sensitivity_override at 0x59, whose meaning agrees with SetKeyBendRange writing to it. SetTuningJitterAmplitude and SetUnknown2 read their two operand bytes in opposite orders -- little-endian for the first, big-endian for the second -- which the asm's shift operands show directly. Landing these needed two adjustments the arm9 path does not. extract_function.py hardcodes asm/, src/, include/ and main.lsf, so it was run with lib/DSE as the working directory; the object lines it then inserts into main.lsf carry no lib/DSE/ prefix and were corrected by hand. It also emits .include "main_XXXX.inc", which is right for arm9 where the search path is ./asm/include, but lib asm is built with -Ilib/DSE/asm/ and its existing files use .include "include/main_XXXX.inc"; the four split files were fixed to match. 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%