mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-10-01 14:26:56 -04:00
ee1bf672d9
Finds palettes still on baserom.gba whose symbol name pairs with an already-extracted graphic (<base>_Gfx / <base>_Pal), extracts them, and re-renders the matching PNGs in colour instead of greyscale. ROM still matches (make compare). gEReaderBackground_Pals 0x81D20 0x200 gMainBoardEvoBanner_Pal 0x5221AC 0x200 gMainCatchModeBanner_Pal 0x5267CC 0x200 gMainBoardJirachiBanner_Pal 0x5269CC 0x200 gMainBoardTravel_Pal 0x526BCC 0x200 gRubyChinchouCatchBurstBanner_Pal 0x51956C 0x20 gRubyLotadCatchBurstBanner_Pal 0x51958C 0x20 gSapphireShroomishCatchBurstBanner_Pal 0x5195AC 0x1C0 The name pairing alone would not say which bank of a 0x200 palette belongs to the graphic, so that was checked rather than assumed: in seven of the eight only bank 0 is non-blank and the rest is zero padding, which makes the choice unambiguous. gEReaderBackground_Pals has banks 0 and 1 populated and bank 0 is the one embedded. The PNGs are re-rendered through gbagfx rather than by rewriting the PNG header. gbagfx uses the colour type as the signal for whether to invert pixel values (see the comment in convert_png.c), so flipping a greyscale PNG to indexed in place silently changes every index and the built .4bpp with it. Going through the tool keeps both directions consistent; each file was checked to rebuild its .4bpp byte-identically before this was committed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>