Files
pokepinballrs/graphics/stage/ruby
Cyphgirl ee1bf672d9 Extract 8 banner/background palettes and colour their PNGs
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>
2026-08-06 22:45:49 -04:00
..
2026-02-28 03:02:37 -06:00
2026-02-28 03:02:37 -06:00
2026-02-28 03:02:37 -06:00
2026-02-28 02:48:36 -06:00
2026-02-28 02:48:36 -06:00