mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-10-08 08:22:51 -04:00
d5fd01bb28
All five are OBJ tile data (destinations 0x06010480, 0x06010600 and 0x06015800 are all in OBJ VRAM), and all five are banks of 0x180 frames drawn as SPRITE_SIZE_32x16 over SPRITE_SIZE_32x8 per gPikachuKickbackSpriteSet / gPichuKickbackSpriteSet, so each frame is a 4x3 tile rectangle and they convert with -mwidth 4 -mheight 3 -oam. ROM still matches (make compare). gPikaSaverTilesGfx 3 frames gDxModePikachuObjTiles 6 frames gPikachuSaverTilesGfx 6 frames gPikaSaverFullCoverageGfx 24 frames gPikaSaverPartialCoverageGfx 24 frames The first three are one contiguous 15 frame bank: the index expression gPikaSaverTilesGfx + pikaSaverTileIndex * 0x180 reaches index 9, which is 0xD80 and lands exactly on gPikachuSaverTilesGfx, so reads run past the first symbol into the two that follow. The symbol boundaries are noted in a comment rather than changed. The coverage pair is declared 0x2420 but only 0x2400 is copied; the trailing 0x20 is a blank tile and becomes .space 0x20. The 4x3 shape was not assumed for the coverage pair. At a plain tile width its sprites are visibly fragmented; as 24 4x3 frames each one resolves into a single coherent sprite, and the round trip is exact. PNGs are greyscale, matching pika_spinner.png, the neighbouring pika asset that uses the same OBJ palette bank (3). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>