mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-09-27 13:41:53 -04:00
ad2db56f71
gSphealIntroSprites_Gfx, gCatchTile_RevealTilesGfx, gRayquazaSkyBackgroundGfx and gBoardActionTilesGfx were the four biggest baserom incbins left in rom_1.s, 40096 bytes between them. Each is now a segmented PNG sheet. Segment boundaries come from the OAM entries in rom_2.s that draw each sheet, filtered by the palette bank the sheet is loaded with -- the tile-704 overlay slot is shared by around 160 labels, so the bank is what says which of them belong to a given sheet. Piece geometry comes from the same entries. The Rayquaza clouds are irregular composites that -oam cannot describe, so they get oam-shape jsons with spacer runs for the holes, as the painter and ball-open sheets already do. objpalette.py gains the bindings this needed: SLOT_PALETTES for the catch reveal and evolution banner, whose palettes are DMA'd beside their sheets; SLOTS for the Rayquaza sky; and overrides for the sky's unreferenced tail and for Spheal's pause block, which is the one board leaving OBJ bank 9 blank. Trailing blank tiles stay as .space rather than padding out the PNGs. Every segment round-trips png -> 4bpp byte-exact, each rebuilt sheet matches the ROM blob before and after recolouring, and make compare still passes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>