cecilarmitais 38aa265d9d Decomp CalcTypeBasedDamageEffects; pad damage_calc_diag to its real layout
CalcTypeBasedDamageEffects (0x0230AD04, 676 instructions) applies every
type-, ability-, weather- and status-based multiplier to a damage
calculation. It merges into src/type_effectiveness.c, which already held
its callee GetTypeMatchup, so asm/overlay_29_0230AD04.{s,inc} are removed
and main.lsf loses that object with no new object added.

struct damage_calc_diag modelled move_type as a 1-byte enum plus explicit
field_0x1/0x2/0x3 padding, but gave move_category no such padding, so
every member from move_indiv_type_matchups (0x8) to attacker_level (0x16)
compiled below the offset its own comment states. Downstream alignment
before damage_calc re-absorbed the drift, so the struct still totalled
0x54 and no build caught it; the two existing users in the tree both sit
past the re-convergence point. asm/overlay_29_022E0378.s writes 0x188 and
asm/overlay_29_022E335C.s reads 0x184/0x188 with word accesses, so both
fields are four bytes in retail. Adding field_0x5/0x6/0x7 is byte-neutral
for the existing tree.

include/type_effectiveness.h gains overlay_29_02308FBC.h, which defines
the struct unk_02308FE0 its new declaration names.

Region handling follows the neighbouring files: six
DefenderAbilityIsActive__0230A940 calls take three arguments under JAPAN
and four elsewhere, and five message ids are file-scope defines at
US - 0x2C1 under JAPAN. EU is identical to US - the original asm block
carries no EUROPE directive at all.

Authored by Claude (Opus 5) under human direction. Confirmed by matching
builds of all three regions: build/pmdsky.us/pmdsky.us.nds: OK,
build/pmdsky.eu/pmdsky.eu.nds: OK, build/pmdsky.jp/pmdsky.jp.nds: OK,
each also passing main.sha1 and filesystem.sha1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-18 23:12:40 -07:00
2026-08-22 20:45:50 -04:00
…
2026-08-01 12:46:55 -04:00
2026-09-04 13:13:23 -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 335 MiB
Languages
Assembly 66.3%
C 18%
C++ 7.1%
Boogie 4.3%
sed 1.5%
Other 2.8%