mirror of
https://github.com/pret/pmd-sky.git
synced 2026-09-30 22:27:51 -05:00
e1879864e2424ed58f4201785d6b8bb1b8f7c830
Decompile two more callees of the actor cluster, from asm/main_02055894.s and asm/main_020151E4.s. Each splits its file; the trailing functions move verbatim into asm/main_02056504.s and asm/main_0201E3AC.s, the affected .inc files are regenerated, and main.lsf gains the four objects. sub_020564B0 takes a member index and reports whether it is the appointed leader's. It repeats the roster read that GetAppointedLeaderMemberIdx performs -- active_team selects one of the number_active_team_members fields, and that value indexes active_roster_member_idxs -- and compares the result against its argument, returning false if either the argument or the intermediate is -1. With this, both NPC-collection filters are accounted for: GetAdventureNpcIds excludes the appointed leader, and GetUnitNpcIds excludes the three main characters. sub_0201E380 writes one palette entry. It converts an 8-bit RGB triple through Rgb8ToRgb5 into the halfword at index (c << 8) + d of the table its first argument points at, then sets a byte at index c in a second table, which reads as marking that palette dirty. That first argument is a struct with a halfword pointer at 0x18 and a byte pointer at 0x1c. No global has that type -- callers pass an interior offset of whatever _020AFC70 points at -- so it takes the address of the function that receives it, struct unk_0201E380, with fields named for their offsets. The parameter was previously declared u8* while only the call site was understood, so sub_02064F94 now casts at that call site; it was rebuilt to confirm it stays byte-identical. src/main_02056D70.c likewise drops its local extern for sub_020564B0 in favour of the new header. No other names are introduced. Rgb8ToRgb5, TEAM_MEMBER_TABLE_PTR, struct team_member_table and its fields all already exist, and both functions keep their sub_ names. No comments are added to any pmd-sky file. Authored by Claude (Opus 4.8) under human direction. Confirmed by a matching build: build/pmdsky.us/pmdsky.us.nds: OK. Co-Authored-By: Claude Opus 4.8 <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%