Extract the flipper frames from baserom

gFlipperTileGraphics is 6 angles of 0x200, copied into tile 0 for the left
flipper and tile 16 for the right. Each is a single 32x32 from
gBonusBoardLeft/RightFlipperSpriteSet in palette bank 0, so the sheet is 4 tiles
wide with no OAM packing and no shape.

These are the same two slots the shared bonus-board block fills at t0..31 on every
board's intro sheet, which is why bank 0 is already the answer ruby and kyogre
record for their own copies of the flipper.

Rebuilt sheet matches the ROM blob before and after recolouring, check passes,
make compare passes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Cyphgirl
2026-08-08 09:45:00 -04:00
parent ef693dd40c
commit 6d2cffda06
4 changed files with 13 additions and 1 deletions

View File

@@ -1439,8 +1439,13 @@ gPickupIcon8_Gfx:: @ 0x083FA84C
gPickupIcon7_Gfx:: @ 0x083FC64C
.incbin "graphics/board_pickups/icon7_bolt.4bpp"
@ 6 flipper angles of 0x200, copied into tile 0 for the left flipper and tile 16
@ for the right (all_board_process4.c). Each is a single 32x32 from
@ gBonusBoardLeft/RightFlipperSpriteSet in palette bank 0, so the sheet is 4
@ tiles wide with no OAM packing. These are the same two slots the shared
@ bonus-board block occupies at t0..31 on every board's intro sheet.
gFlipperTileGraphics:: @ 0x083FE44C
.incbin "baserom.gba", 0x3FE44C, 0xC00
.incbin "graphics/stage/main/flipper_frames.4bpp"
@ 52 letters of 0x40 -- A-Z then a-z -- each an 8x16 pair of tiles. The name
@ display copies one letter at a time into tile 704 + 2i (main_board_to_be_split.c)

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 B

View File

@@ -564,6 +564,12 @@
"width": 21,
"palette": "field_variants.gbapal",
"palbank": 1
},
{
"gfx_filename": "flipper_frames",
"width": 4,
"palette": "../ruby/ruby_board_palset_0.gbapal",
"palbank": 0
}
]
}

View File

@@ -219,6 +219,7 @@ SLOTS = {
('graphics/stage/main', 'alphabet'): ('ruby', 704, 2, 'main_board_to_be_split.c'),
('graphics/stage/main', 'capture_mode'): ('ruby', 704, 102, 'main_board_to_be_split.c'),
('graphics/stage/main', 'spoink_launcher'): ('ruby', 263, 14, 'main_board_launcher_and_cutscenes.c'),
('graphics/stage/main', 'flipper_frames'): ('ruby', 0, 16, 'all_board_process4.c'),
('graphics/stage/main', 'ball_spawn_glow_type1'): ('ruby', 57, 16, 'all_board_process7.c'),
('graphics/stage/main', 'ball_spawn_glow_type2'): ('ruby', 57, 16, 'all_board_process7.c'),
('graphics/stage/main', 'end_of_ball'): ('ruby', 704, 320, 'all_board_mode_change_and_debug_menu.c'),