mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-09-29 06:00:59 -04:00
d4ead51565
Removes 291 baserom incbins (223,976 bytes). Everything below was checked by re-encoding the emitted data and comparing against the ROM bytes before the source was touched, and the build matches at every step. Sprite sets and tables in rom_2.s - Convert 212 packed sprite sets to packed_sprite_oam. Note the "l" suffix in packed_sprite_oaml means an 8-byte entry, not 6, so the entry size is checked against each set's leading count rather than inferred from its size. - Convert 79 named tables using their extern declarations to fix each shape, including the structs defined in .c files rather than headers (KecleonMoveNode, IntroAnimVelocity). Eight tables whose element count does not divide by the declared row width are listed flat, with a comment, rather than forced into a shape the data contradicts. - gEReaderTextGlyphTable is 14 pages of 3x24 u16. Each entry packs a glyph offset in bits 4-15 with an advance width in bits 0-3 that the draw code masks off: i=2, apostrophe/comma/full stop/l=4, word-final n=5, everything else 6. The 42 lines of text are transcribed as comments; the glyph map and the transcription were checked against each other over all 1008 entries. - gUnknown_086BBC44 was two things: six sprite sets, then 680 bytes that nothing in the ROM points at, holding stale pointers past the rom end and a second copy of the POKEPINAGB signature. That part stays an incbin as gUnusedRomTail. Large blobs in rom_1.s - gUnknown_81A6BE4 is an 8x8 ASCII font, 0x20-0x5F in order, with a yen sign in the backslash slot. The other 30,720 bytes are zero. Now gDebugAsciiFont. - The idle board configs are attract-mode demos: 4800 ReplayInputFrame each paired with one PinballGame snapshot. Extracted to data/idle_board. The labels run 0, 2, 3, 1 in ROM order. - Kyogre body, Rayquaza body variants, the travel painter mons, the hole indicator and the Sapphire bumpers are extracted as tile sheets. Frame counts come from the declared strides; palettes come from the OBJ palette sets, not the board BG palette, whose banks are black or grey for these sprites. Where a sprite's pieces tile into a rectangle the sheet is laid out with -oamshape so the frames are readable; where they do not, or where the tiles are scattered over several board positions, it is one frame per row and the comment says so. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>