mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-09-26 13:32:51 -04:00
Ereader text, overlapping array cleanup/finish dump, moved graphic optimizations back out from graphics_rules.mk files.
This commit is contained in:
+139
-165
@@ -150,91 +150,64 @@ gEReaderTextGlyphTable:: @ 0x086A4CF8
|
||||
@ Entry = (byte offset of the glyph within gEReaderText_Gfx) | (advance width in px).
|
||||
@ A glyph is 1 tile wide and 2 tall; 0x0000 is a blank cell.
|
||||
@ DrawEReaderTextPage masks the width off with & 0xFFF0 and nothing ever reads it:
|
||||
@ i=2; apostrophe, comma, full stop and l=4; word-final n=5; everything else 6.
|
||||
@ Glyph spacing mostly matches the char spacing in the dex, but there's a few characters
|
||||
@ that are increased to 6 px for the char. n has some using 5px, some using 6???
|
||||
|
||||
@ "Transmit data with the"
|
||||
.2byte 0x3046, 0x3346, 0x3126, 0x32c6, 0x3366, 0x32a6, 0x3222, 0x3386, 0x0000, 0x3186, 0x3126, 0x3386, 0x3126, 0x0000, 0x33e6, 0x3222, 0x3386, 0x3206, 0x0000, 0x3386, 0x3206, 0x31a6, 0x0000, 0x0000
|
||||
@ "e-Reader!"
|
||||
.2byte 0x31a6, 0x2826, 0x3006, 0x31a6, 0x3126, 0x3186, 0x31a6, 0x3346, 0x3946, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Transmit data with the"
|
||||
.ereaderText "e-Reader!"
|
||||
.ereaderText ""
|
||||
|
||||
@ "Press the A Button"
|
||||
.2byte 0x2bc6, 0x3346, 0x31a6, 0x3366, 0x3366, 0x0000, 0x3386, 0x3206, 0x31a6, 0x0000, 0x29e6, 0x0000, 0x2a06, 0x33a6, 0x3386, 0x3386, 0x32e6, 0x32c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
@ "when you're ready."
|
||||
.2byte 0x33e6, 0x3206, 0x31a6, 0x32c6, 0x0000, 0x3826, 0x32e6, 0x33a6, 0x3b06, 0x3346, 0x31a6, 0x0000, 0x3346, 0x31a6, 0x3126, 0x3186, 0x3826, 0x39e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Press the A Button"
|
||||
.ereaderText "when you#re ready."
|
||||
.ereaderText ""
|
||||
|
||||
@ "Transmission successful."
|
||||
.2byte 0x3046, 0x3346, 0x3126, 0x32c6, 0x3366, 0x32a6, 0x3222, 0x3366, 0x3366, 0x3222, 0x32e6, 0x32c6, 0x0000, 0x3366, 0x33a6, 0x3166, 0x3166, 0x31a6, 0x3366, 0x3366, 0x31c6, 0x33a6, 0x3284, 0x39e4
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
@ "When you activate"
|
||||
.2byte 0x30a6, 0x3206, 0x31a6, 0x32c6, 0x0000, 0x3826, 0x32e6, 0x33a6, 0x0000, 0x3126, 0x3166, 0x3386, 0x3222, 0x33c6, 0x3126, 0x3386, 0x31a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Transmission successful."
|
||||
.ereaderText ""
|
||||
.ereaderText "When you activate"
|
||||
|
||||
@ "CATCH 'EM MODE, there is"
|
||||
.2byte 0x2a26, 0x29e6, 0x3046, 0x2a26, 0x2ac6, 0x0000, 0x3ac4, 0x2a66, 0x2b66, 0x0000, 0x2b66, 0x2ba6, 0x2a46, 0x2a66, 0x39c4, 0x0000, 0x3386, 0x3206, 0x31a6, 0x3346, 0x31a6, 0x0000, 0x3222, 0x3366
|
||||
@ "a special appearance of"
|
||||
.2byte 0x3126, 0x0000, 0x3366, 0x3306, 0x31a6, 0x3166, 0x3222, 0x3126, 0x3284, 0x0000, 0x3126, 0x3306, 0x3306, 0x31a6, 0x3126, 0x3346, 0x3126, 0x32c6, 0x3166, 0x31a6, 0x0000, 0x32e6, 0x31c6, 0x0000
|
||||
@ "rare Pokémon."
|
||||
.2byte 0x3346, 0x3126, 0x3346, 0x31a6, 0x0000, 0x2bc6, 0x32e6, 0x3266, 0x3aa6, 0x32a6, 0x32e6, 0x32c6, 0x39e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "CATCH `EM MODE, there is"
|
||||
.ereaderText "a special appearance of"
|
||||
.ereaderText "rare Pokémon."
|
||||
|
||||
@ "Transmission successful."
|
||||
.2byte 0x3046, 0x3346, 0x3126, 0x32c6, 0x3366, 0x32a6, 0x3222, 0x3366, 0x3366, 0x3222, 0x32e6, 0x32c6, 0x0000, 0x3366, 0x33a6, 0x3166, 0x3166, 0x31a6, 0x3366, 0x3366, 0x31c6, 0x33a6, 0x3284, 0x39e4
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Transmission successful."
|
||||
.ereaderText ""
|
||||
.ereaderText ""
|
||||
|
||||
@ "The Pokémon which rarely"
|
||||
.2byte 0x3046, 0x3206, 0x31a6, 0x0000, 0x2bc6, 0x32e6, 0x3266, 0x3aa6, 0x32a6, 0x32e6, 0x32c6, 0x0000, 0x33e6, 0x3206, 0x3222, 0x3166, 0x3206, 0x0000, 0x3346, 0x3126, 0x3346, 0x31a6, 0x3284, 0x3826
|
||||
@ "appear are now easier to"
|
||||
.2byte 0x3126, 0x3306, 0x3306, 0x31a6, 0x3126, 0x3346, 0x0000, 0x3126, 0x3346, 0x31a6, 0x0000, 0x32c6, 0x32e6, 0x33e6, 0x0000, 0x31a6, 0x3126, 0x3366, 0x3222, 0x31a6, 0x3346, 0x0000, 0x3386, 0x32e6
|
||||
@ "find in CATCH 'EM MODE."
|
||||
.2byte 0x31c6, 0x3222, 0x32c6, 0x3186, 0x0000, 0x3222, 0x32c5, 0x0000, 0x2a26, 0x29e6, 0x3046, 0x2a26, 0x2ac6, 0x0000, 0x3ac4, 0x2a66, 0x2b66, 0x0000, 0x2b66, 0x2ba6, 0x2a46, 0x2a66, 0x39e4, 0x0000
|
||||
.ereaderText "The Pokémon which rarely"
|
||||
.ereaderText "appear are now easier to"
|
||||
.ereaderText "find iņ CATCH `EM MODE."
|
||||
|
||||
@ "Transmission successful."
|
||||
.2byte 0x3046, 0x3346, 0x3126, 0x32c6, 0x3366, 0x32a6, 0x3222, 0x3366, 0x3366, 0x3222, 0x32e6, 0x32c6, 0x0000, 0x3366, 0x33a6, 0x3166, 0x3166, 0x31a6, 0x3366, 0x3366, 0x31c6, 0x33a6, 0x3284, 0x39e4
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Transmission successful."
|
||||
.ereaderText ""
|
||||
.ereaderText ""
|
||||
|
||||
@ "Start with nine Balls."
|
||||
.2byte 0x3026, 0x3386, 0x3126, 0x3346, 0x3386, 0x0000, 0x33e6, 0x3222, 0x3386, 0x3206, 0x0000, 0x32c6, 0x3222, 0x32c6, 0x31a6, 0x0000, 0x2a06, 0x3126, 0x3284, 0x3284, 0x3366, 0x39e4, 0x0000, 0x0000
|
||||
@ "Start with Master Ball."
|
||||
.2byte 0x3026, 0x3386, 0x3126, 0x3346, 0x3386, 0x0000, 0x33e6, 0x3222, 0x3386, 0x3206, 0x0000, 0x2b66, 0x3126, 0x3366, 0x3386, 0x31a6, 0x3346, 0x0000, 0x2a06, 0x3126, 0x3284, 0x3284, 0x39e4, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Start with nine Balls."
|
||||
.ereaderText "Start with Master Ball."
|
||||
.ereaderText ""
|
||||
|
||||
@ "Start with 99 Coins."
|
||||
.2byte 0x3026, 0x3386, 0x3126, 0x3346, 0x3386, 0x0000, 0x33e6, 0x3222, 0x3386, 0x3206, 0x0000, 0x29a6, 0x29a6, 0x0000, 0x2a26, 0x32e6, 0x3222, 0x32c6, 0x3366, 0x39e4, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
@ "Pichu Saver stays on."
|
||||
.2byte 0x2bc6, 0x3222, 0x3166, 0x3206, 0x33a6, 0x0000, 0x3026, 0x3126, 0x33c6, 0x31a6, 0x3346, 0x0000, 0x3366, 0x3386, 0x3126, 0x3826, 0x3366, 0x0000, 0x32e6, 0x32c5, 0x39e4, 0x0000, 0x0000, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Start with 99 Coins."
|
||||
.ereaderText "Pichu Saver stays oņ."
|
||||
.ereaderText ""
|
||||
|
||||
@ "Transmission successful."
|
||||
.2byte 0x3046, 0x3346, 0x3126, 0x32c6, 0x3366, 0x32a6, 0x3222, 0x3366, 0x3366, 0x3222, 0x32e6, 0x32c6, 0x0000, 0x3366, 0x33a6, 0x3166, 0x3166, 0x31a6, 0x3366, 0x3366, 0x31c6, 0x33a6, 0x3284, 0x39e4
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Transmission successful."
|
||||
.ereaderText ""
|
||||
.ereaderText ""
|
||||
|
||||
@ "Start in the Ruin Area."
|
||||
.2byte 0x3026, 0x3386, 0x3126, 0x3346, 0x3386, 0x0000, 0x3222, 0x32c5, 0x0000, 0x3386, 0x3206, 0x31a6, 0x0000, 0x3006, 0x33a6, 0x3222, 0x32c6, 0x0000, 0x29e6, 0x3346, 0x31a6, 0x3126, 0x39e4, 0x0000
|
||||
@ "First bonus stage will"
|
||||
.2byte 0x2a86, 0x3222, 0x3346, 0x3366, 0x3386, 0x0000, 0x3146, 0x32e6, 0x32c6, 0x33a6, 0x3366, 0x0000, 0x3366, 0x3386, 0x3126, 0x31e6, 0x31a6, 0x0000, 0x33e6, 0x3222, 0x3284, 0x3284, 0x0000, 0x0000
|
||||
@ "be the RAYQUAZA stage."
|
||||
.2byte 0x3146, 0x31a6, 0x0000, 0x3386, 0x3206, 0x31a6, 0x0000, 0x3006, 0x29e6, 0x30e6, 0x2be6, 0x3066, 0x29e6, 0x3106, 0x29e6, 0x0000, 0x3366, 0x3386, 0x3126, 0x31e6, 0x31a6, 0x39e4, 0x0000, 0x0000
|
||||
.ereaderText "Start iņ the Ruin Area."
|
||||
.ereaderText "First bonus stage will"
|
||||
.ereaderText "be the RAYQUAZA stage."
|
||||
|
||||
@ "Transmission successful."
|
||||
.2byte 0x3046, 0x3346, 0x3126, 0x32c6, 0x3366, 0x32a6, 0x3222, 0x3366, 0x3366, 0x3222, 0x32e6, 0x32c6, 0x0000, 0x3366, 0x33a6, 0x3166, 0x3166, 0x31a6, 0x3366, 0x3366, 0x31c6, 0x33a6, 0x3284, 0x39e4
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Transmission successful."
|
||||
.ereaderText ""
|
||||
.ereaderText ""
|
||||
|
||||
@ "You can select the"
|
||||
.2byte 0x30e6, 0x32e6, 0x33a6, 0x0000, 0x3166, 0x3126, 0x32c6, 0x0000, 0x3366, 0x31a6, 0x3284, 0x31a6, 0x3166, 0x3386, 0x0000, 0x3386, 0x3206, 0x31a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
@ "bonus stage."
|
||||
.2byte 0x3146, 0x32e6, 0x32c6, 0x33a6, 0x3366, 0x0000, 0x3366, 0x3386, 0x3126, 0x31e6, 0x31a6, 0x39e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.2byte 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "You can select the"
|
||||
.ereaderText "bonus stage."
|
||||
.ereaderText ""
|
||||
|
||||
@ "Transmission failure."
|
||||
.2byte 0x3046, 0x3346, 0x3126, 0x32c6, 0x3366, 0x32a6, 0x3222, 0x3366, 0x3366, 0x3222, 0x32e6, 0x32c6, 0x0000, 0x31c6, 0x3126, 0x3222, 0x3284, 0x33a6, 0x3346, 0x31a6, 0x39e4, 0x0000, 0x0000, 0x0000
|
||||
@ "Check the connection"
|
||||
.2byte 0x2a26, 0x3206, 0x31a6, 0x3166, 0x3266, 0x0000, 0x3386, 0x3206, 0x31a6, 0x0000, 0x3166, 0x32e6, 0x32c6, 0x32c6, 0x31a6, 0x3166, 0x3386, 0x3222, 0x32e6, 0x32c6, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
@ "and try once again."
|
||||
.2byte 0x3126, 0x32c6, 0x3186, 0x0000, 0x3386, 0x3346, 0x3826, 0x0000, 0x32e6, 0x32c6, 0x3166, 0x31a6, 0x0000, 0x3126, 0x31e6, 0x3126, 0x3222, 0x32c6, 0x39e4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
.ereaderText "Transmission failure."
|
||||
.ereaderText "Check the connection"
|
||||
.ereaderText "and try once again."
|
||||
|
||||
gEReaderSpriteSets:: @ 0x086A54D8
|
||||
.4byte gPokedexStartTransmissionPopupSpriteSet
|
||||
@@ -683,37 +656,13 @@ gPokedexAnimBaseTileNums:: @ 0x086A5DDA
|
||||
.2byte 576, 580, 582, 584
|
||||
|
||||
gPokedexCatchAnimTileOffsets:: @ 0x086A5DF2
|
||||
@ Declared [][20] but this run is 16 entries, not a whole number of
|
||||
@ rows, so it is listed flat.
|
||||
.2byte 0, 36, 0, 36, 0, 36, 0, 36, 72, 0, 0, 0, 0, 0, 0, 0
|
||||
|
||||
gPokedexAnimTileDeltas:: @ 0x086A5E12
|
||||
.2byte 0, 0, 0, 0
|
||||
.2byte 0, 9, 18, 27
|
||||
.2byte 36, 45, 54, 63
|
||||
.2byte 72, 81, 90, 99
|
||||
.2byte 108, 117, 0, 126
|
||||
.2byte 0, 0, 0, 0
|
||||
.2byte 0, 9, 18, 27
|
||||
.2byte 36, 27, 45, 54
|
||||
.2byte 63, 54, 72, 81
|
||||
.2byte 90, 81, 99, 108
|
||||
.2byte 117, 108, 0, 126
|
||||
.2byte 8, 8, 8, 8
|
||||
.2byte 8, 8, 8, 8
|
||||
.2byte 8, 8, 8, 0
|
||||
.2byte 0, 0, 0, 0
|
||||
.2byte 0, 0, 0, 0
|
||||
.2byte 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 30
|
||||
.2byte 0, 0, 0, 0
|
||||
.2byte 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 30
|
||||
@ Declared [][20]
|
||||
.2byte 0, 36, 0, 36, 0, 36, 0, 36, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 0, 126, 0, 0, 0, 0
|
||||
.2byte 0, 9, 18, 27, 36, 27, 45, 54, 63, 54, 72, 81, 90, 81, 99, 108, 117, 108, 0, 126
|
||||
.2byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 30, 0, 0, 0, 0
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 30
|
||||
|
||||
gPokedexHatchAnimTileOffsets:: @ 0x086A5EE2
|
||||
.2byte 0, 36, 0, 36, 0, 36, 0, 36, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
@@ -721,18 +670,17 @@ gPokedexHatchAnimTileOffsets:: @ 0x086A5EE2
|
||||
.2byte 18, 27, 36, 27, 18, 27, 36, 27, 18, 27, 36, 27, 45, 54, 63, 54, 45, 54, 63, 54, 45, 54, 63, 54, 72, 81, 90, 81, 72, 81, 90, 81, 72, 81, 90, 81, 99, 108, 117, 108, 99, 108, 117, 108, 99, 108, 117, 108, 126, 0, 0
|
||||
|
||||
gPokedexAnimFrameDurations:: @ 0x086A6014
|
||||
@ Declared [][51] but this run is 154 entries, not a whole number of
|
||||
@ rows, so it is listed flat.
|
||||
.2byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0
|
||||
.2byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 40, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9, 9, 9, 40, 0, 0, 0
|
||||
@ Declared [][51] : 3 sets, and a spacer
|
||||
.2byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9
|
||||
.2byte 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 40, 0, 0
|
||||
|
||||
.align 2
|
||||
|
||||
gPokedexSpriteSets:: @ 0x086A6148
|
||||
.4byte gPokedexCursorHandSpriteSet
|
||||
@@ -6703,13 +6651,18 @@ gGulpinAnimData:: @ 0x086ADA6E
|
||||
.2byte 72, 4, 1, 5, 0
|
||||
|
||||
gSideBumperGfxFrameIndices:: @ 0x086ADEB0
|
||||
.2byte 0x00
|
||||
|
||||
gSideBumperAnimDurations:: @ 0x086ADEB2
|
||||
@ Declared [][2] but this run is 23 entries, not a whole number of
|
||||
@ rows, so it is listed flat.
|
||||
.2byte 200, 0, 28, 0, 44, 1, 10, 0, 10, 1, 10, 0, 40, 1, 10, 0
|
||||
.2byte 10, 1, 10, 0, 10, 0, 28
|
||||
.2byte 0, 200
|
||||
.2byte 0, 28
|
||||
.2byte 0, 44
|
||||
.2byte 1, 10
|
||||
.2byte 0, 10
|
||||
.2byte 1, 10
|
||||
.2byte 0, 40
|
||||
.2byte 1, 10
|
||||
.2byte 0, 10
|
||||
.2byte 1, 10
|
||||
.2byte 0, 10
|
||||
.2byte 0, 28
|
||||
|
||||
gCatchOverlayAnimData:: @ 0x086ADEE0
|
||||
.2byte 0, 10
|
||||
@@ -6765,14 +6718,18 @@ gTimerIndicatorFrames:: @ 0x086ADFD4
|
||||
.2byte 0, 0, 3, 2, 1, 0, 0
|
||||
|
||||
gPikaSaverFrameData:: @ 0x086ADFE2
|
||||
@ Declared [][2] but this run is 83 entries, not a whole number of
|
||||
@ rows, so it is listed flat.
|
||||
.2byte 0, 3, 1, 3, 2, 3, 3, 3, 4, 7, 5, 7, 3, 49, 6, 5
|
||||
.2byte 7, 4, 8, 3, 9, 2, 10, 4, 11, 19, 12, 3, 13, 3, 14, 3
|
||||
.2byte 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3
|
||||
.2byte 23, 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 3
|
||||
.2byte 32, 9, 33, 4, 34, 3, 35, 1, 36, 1, 37, 1, 38, 1, 39, 1
|
||||
.2byte 40, 7, 0
|
||||
@ Declared [][2] but listed here in sets of 10.
|
||||
.2byte 0, 3, 1, 3, 2, 3, 3, 3, 4, 7
|
||||
.2byte 5, 7, 3, 49, 6, 5, 7, 4, 8, 3
|
||||
.2byte 9, 2, 10, 4, 11, 19, 12, 3, 13, 3
|
||||
.2byte 14, 3, 15, 3, 16, 3, 17, 3, 18, 3
|
||||
.2byte 19, 3, 20, 3, 21, 3, 22, 3, 23, 3
|
||||
.2byte 24, 3, 25, 3, 26, 3, 27, 3, 28, 3
|
||||
.2byte 29, 3, 30, 3, 32, 9, 33, 4, 34, 3
|
||||
.2byte 35, 1, 36, 1, 37, 1, 38, 1, 39, 1
|
||||
.2byte 40, 7
|
||||
|
||||
.align 2
|
||||
|
||||
gFlyingCreatureCameraOffsets:: @ 0x086AE088
|
||||
.2byte 42, 92
|
||||
@@ -6993,12 +6950,12 @@ gSplashEffectPositions:: @ 0x086AE554
|
||||
.2byte 159, 10
|
||||
|
||||
gSplashEffectTileIndices:: @ 0x086AE588
|
||||
.2byte 0
|
||||
|
||||
gSplashEffectFrameDurations:: @ 0x086AE58A
|
||||
@ Declared [][2] but this run is 11 entries, not a whole number of
|
||||
@ rows, so it is listed flat.
|
||||
.2byte 1, 1, 1, 2, 2, 3, 0, 1, 1, 0, 0
|
||||
.2byte 0, 1
|
||||
.2byte 1, 1
|
||||
.2byte 2, 2
|
||||
.2byte 3, 0
|
||||
.2byte 1, 1
|
||||
.2byte 0, 0
|
||||
|
||||
gHoleAnimKeyframeData:: @ 0x086AE5A0
|
||||
.2byte 0x0006, 0x0001;
|
||||
@@ -7501,19 +7458,19 @@ gScreenShakeOscillationValues:: @ 0x086AEF28
|
||||
.2byte 1, 2, 0, -1, -2, 0, 2, 1, 0, -2, -1, 0
|
||||
|
||||
gGroudonFootstepShakePatterns:: @ 0x086AEF40
|
||||
.2byte 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 2, 0, 65534, 2, 0, 65534, 2, 0, 65534, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 3, 0, 65533, 3, 0, 65533, 3, 0, 65533, 2, 0, 65534, 2, 0, 65534, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 4, 0, 65532, 4, 0, 65532, 3, 0, 65533, 2, 0, 65534, 2, 0, 65534, 2, 0, 65534, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 0
|
||||
.2byte 6, 0, 65530, 5, 0, 65531, 4, 0, 65532, 3, 0, 65533, 2, 0, 65534, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 3, 0, 65533, 3, 0, 65533, 2, 0, 65534, 2, 0, 65534, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 2, 0, -2, 2, 0, -2, 2, 0, -2, 1, 0, -1, 1, 0, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 3, 0, -3, 3, 0, -3, 3, 0, -3, 2, 0, -2, 2, 0, -2, 1, 0, -1, 1, 0, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 4, 0, -4, 4, 0, -4, 3, 0, -3, 2, 0, -2, 2, 0, -2, 2, 0, -2, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 0
|
||||
.2byte 6, 0, -6, 5, 0, -5, 4, 0, -4, 3, 0, -3, 2, 0, -2, 1, 0, -1, 1, 0, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0
|
||||
.2byte 3, 0, -3, 3, 0, -3, 2, 0, -2, 2, 0, -2, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0
|
||||
|
||||
gGroudonCryShakePattern:: @ 0x086AF0B4
|
||||
.2byte 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1
|
||||
.2byte 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0
|
||||
.2byte 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535
|
||||
.2byte 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1, 0, 65535, 1
|
||||
.2byte 0, 65535, 1, 0, 65535, 0
|
||||
.2byte 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1
|
||||
.2byte 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0
|
||||
.2byte -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1
|
||||
.2byte 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1, 0, -1, 1
|
||||
.2byte 0, -1, 1, 0, -1, 0
|
||||
|
||||
gGroudonAnimFramesetTable:: @ 0x086AF140
|
||||
@ 99 framesets of 2 u16: OAM animation frame index and how many game frames to
|
||||
@@ -8155,13 +8112,28 @@ gSphealFramesetData:: @ 0x086AFB2C
|
||||
.2byte 0, 3, 21
|
||||
|
||||
gSphealWhiscashAnimFrameset:: @ 0x086AFC16
|
||||
@ Declared [][4] but this run is 77 entries, not a whole number of
|
||||
@ rows, so it is listed flat.
|
||||
.2byte 10, 260, 0, 0, 4, 8, 0, 0, 3, 8, 0, 0, 2, 8, 0, 0
|
||||
.2byte 0, 21, 0, 0, 1, 21, 0, 0, 5, 2, 0, 0, 6, 6, 0, 0
|
||||
.2byte 7, 6, 0, 0, 7, 6, 1, -1, 7, 14, 2, -2, 7, 6, 1, -1
|
||||
.2byte 7, 6, 0, 0, 0, 9, 0, 0, 1, 9, 0, 0, 2, 8, 0, 0
|
||||
.2byte 3, 8, 0, 0, 4, 8, 0, 0, 10, 3, 0, 0, 0
|
||||
@ Declared [][4]
|
||||
.2byte 10, 260, 0, 0
|
||||
.2byte 4, 8, 0, 0
|
||||
.2byte 3, 8, 0, 0
|
||||
.2byte 2, 8, 0, 0
|
||||
.2byte 0, 21, 0, 0
|
||||
.2byte 1, 21, 0, 0
|
||||
.2byte 5, 2, 0, 0
|
||||
.2byte 6, 6, 0, 0
|
||||
.2byte 7, 6, 0, 0
|
||||
.2byte 7, 6, 1, -1
|
||||
.2byte 7, 14, 2, -2
|
||||
.2byte 7, 6, 1, -1
|
||||
.2byte 7, 6, 0, 0
|
||||
.2byte 0, 9, 0, 0
|
||||
.2byte 1, 9, 0, 0
|
||||
.2byte 2, 8, 0, 0
|
||||
.2byte 3, 8, 0, 0
|
||||
.2byte 4, 8, 0, 0
|
||||
.2byte 10, 3, 0, 0
|
||||
|
||||
.align 2
|
||||
|
||||
gBoardCollisionDataSets:: @ 0x086AFCB0
|
||||
@ Note: Only the layer 0 (1st column) from this data is referenced in code.
|
||||
@@ -11564,12 +11536,12 @@ gHatchCaveOamFramesets:: @ 0x086B4D4E
|
||||
|
||||
|
||||
gCatchTileParticleOamAttributes:: @ 0x086B4E3E
|
||||
@ Declared [][3] but this run is 2 entries, not a whole number of
|
||||
@ rows, so it is listed flat.
|
||||
.2byte 0, 49152
|
||||
|
||||
gUnknown_086B4E42:: @ 0x086B4E42
|
||||
.incbin "baserom.gba", 0x6B4E42, 0x20
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_64x64, tileNum=0x2C0, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_64x64, tileNum=0x300, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_64x64, tileNum=0x340, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_64x64, tileNum=0x380, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_64x64, tileNum=0x340, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_64x64, tileNum=0x300, paletteNum=0xE
|
||||
|
||||
gCatchTile_BurstRevealOamFramesets1:: @ 0x086B4E62
|
||||
packed_sprite_oam x=0x18, y=0x18, spriteSize=SPRITE_SIZE_16x16, tileNum=0x2c8, paletteNum=0xe
|
||||
@@ -11811,12 +11783,14 @@ gAreaRouletteOamFramesets:: @ 0x086B51CE
|
||||
|
||||
|
||||
gHatchAnimOamAttributes:: @ 0x086B53B4
|
||||
@ Declared [][3] but this run is 2 entries, not a whole number of
|
||||
@ rows, so it is listed flat.
|
||||
.2byte 33020, 33276
|
||||
|
||||
gUnknown_086B53B8:: @ 0x086B53B8
|
||||
.incbin "baserom.gba", 0x6B53B8, 0x2C
|
||||
packed_sprite_oam x=-0x4, y=-0x4, spriteSize=SPRITE_SIZE_16x32, tileNum=0x304, paletteNum=0xE
|
||||
packed_sprite_oam x=-0x4, y=-0x4, spriteSize=SPRITE_SIZE_16x32, tileNum=0x30C, paletteNum=0xE
|
||||
packed_sprite_oam x=-0x4, y=-0x4, spriteSize=SPRITE_SIZE_16x32, tileNum=0x314, paletteNum=0xE
|
||||
packed_sprite_oam x=-0x4, y=-0x4, spriteSize=SPRITE_SIZE_16x32, tileNum=0x31C, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_8x8, tileNum=0x324, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_8x8, tileNum=0x325, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_8x8, tileNum=0x326, paletteNum=0xE
|
||||
packed_sprite_oam x=0x0, y=0x0, spriteSize=SPRITE_SIZE_8x8, tileNum=0x3C0, paletteNum=0xE
|
||||
|
||||
gCatchTile_SequentialBreakSpritesheetOam:: @ 0x086B53E4
|
||||
packed_sprite_oam x=-0x8, y=-0x8, spriteSize=SPRITE_SIZE_32x32, tileNum=0x2c0, paletteNum=0xe
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"kind": "oam-shape",
|
||||
"version": 1,
|
||||
"tilecount": 34,
|
||||
"pngsize": "8x5",
|
||||
"pieces": [
|
||||
{
|
||||
"pos": "0,0",
|
||||
"size": "4x1"
|
||||
},
|
||||
{
|
||||
"pos": "4,0",
|
||||
"size": "4x1"
|
||||
},
|
||||
{
|
||||
"pos": "0,1",
|
||||
"size": "4x1"
|
||||
},
|
||||
{
|
||||
"pos": "4,1",
|
||||
"size": "4x1"
|
||||
},
|
||||
{
|
||||
"pos": "1,2",
|
||||
"size": "4x1"
|
||||
},
|
||||
{
|
||||
"pos": "5,2",
|
||||
"size": "2x1"
|
||||
},
|
||||
{
|
||||
"pos": "1,3",
|
||||
"size": "4x1"
|
||||
},
|
||||
{
|
||||
"pos": "5,3",
|
||||
"size": "2x1"
|
||||
},
|
||||
{
|
||||
"pos": "1,4",
|
||||
"size": "4x1"
|
||||
},
|
||||
{
|
||||
"pos": "5,4",
|
||||
"size": "2x1"
|
||||
},
|
||||
{
|
||||
"pos": "0,2",
|
||||
"size": "1x2",
|
||||
"spacer": true
|
||||
},
|
||||
{
|
||||
"pos": "7,2",
|
||||
"size": "1x2",
|
||||
"spacer": true
|
||||
},
|
||||
|
||||
{
|
||||
"pos": "0,4",
|
||||
"size": "1x1",
|
||||
"spacer": true
|
||||
},
|
||||
{
|
||||
"pos": "7,4",
|
||||
"size": "1x1",
|
||||
"spacer": true
|
||||
},
|
||||
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -334,6 +334,12 @@
|
||||
"gfx_filename": "egg",
|
||||
"palette": "bonus_stage_obj.gbapal",
|
||||
"palbank": 2
|
||||
},
|
||||
{
|
||||
"gfx_filename": "hole_indicator",
|
||||
"oamshape": "hatch_mach_hole_shape.json",
|
||||
"width": 32,
|
||||
"palette": "hole_indicator.gbapal"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -422,6 +422,11 @@
|
||||
"oam": true,
|
||||
"mheight": 9,
|
||||
"mwidth": 30
|
||||
},
|
||||
{
|
||||
"gfx_filename": "travel_volbeat",
|
||||
"oamshape": "../main/travel_painter_shape.json",
|
||||
"width": 102
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -398,6 +398,21 @@
|
||||
{
|
||||
"gfx_filename": "shop_sign_tiles",
|
||||
"oamshape": "shop_sign_shape.json"
|
||||
},
|
||||
{
|
||||
"gfx_filename": "travel_illumise",
|
||||
"oamshape": "../main/travel_painter_shape.json",
|
||||
"width": 102
|
||||
},
|
||||
{
|
||||
"gfx_filename": "bumper_minun",
|
||||
"oamshape": "bumper_shape.json",
|
||||
"width": 60
|
||||
},
|
||||
{
|
||||
"gfx_filename": "bumper_plusle",
|
||||
"oamshape": "bumper_shape.json",
|
||||
"width": 60
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -15,23 +15,3 @@ graphics/options/sprites.4bpp: graphics/options/sprites.png
|
||||
|
||||
graphics/pokedex/text_glyphs.4bpp: graphics/pokedex/text_glyphs.png
|
||||
$(GFX) $< $@ -num_tiles 513
|
||||
|
||||
# Travel-cutscene painter mons. Each frame is 4 OAM pieces that tile into a 6x6
|
||||
# block, so -oamshape lays the 17 frames out as the sprite instead of the 1D
|
||||
# tile order the hardware wants.
|
||||
PAINTER_SHAPE := graphics/stage/main/travel_painter_shape.json
|
||||
graphics/stage/ruby/travel_volbeat.4bpp: graphics/stage/ruby/travel_volbeat.png $(PAINTER_SHAPE)
|
||||
$(GFX) $< $@ -oamshape $(PAINTER_SHAPE) -mwidth 6 -mheight 6
|
||||
|
||||
graphics/stage/sapphire/travel_illumise.4bpp: graphics/stage/sapphire/travel_illumise.png $(PAINTER_SHAPE)
|
||||
$(GFX) $< $@ -oamshape $(PAINTER_SHAPE) -mwidth 6 -mheight 6
|
||||
|
||||
# Sapphire Plusle/Minun bumpers. Each frame is a 32x32 over a 32x16, which tiles
|
||||
# into a 4x6 block, so -oamshape lays the frames out as the sprite.
|
||||
BUMPER_SHAPE := graphics/stage/sapphire/bumper_shape.json
|
||||
graphics/stage/sapphire/bumper_minun.4bpp: graphics/stage/sapphire/bumper_minun.png $(BUMPER_SHAPE)
|
||||
$(GFX) $< $@ -oamshape $(BUMPER_SHAPE) -mwidth 4 -mheight 6
|
||||
|
||||
graphics/stage/sapphire/bumper_plusle.4bpp: graphics/stage/sapphire/bumper_plusle.png $(BUMPER_SHAPE)
|
||||
$(GFX) $< $@ -oamshape $(BUMPER_SHAPE) -mwidth 4 -mheight 6
|
||||
|
||||
|
||||
@@ -18,5 +18,6 @@
|
||||
#define POKEMON_HEIGHT_WEIGHT_TEXT_LENGTH 9
|
||||
#define POKEMON_CATEGORY_NAME_LENGTH 11
|
||||
#define POKEMON_DEX_LINE_LENGTH 42
|
||||
#define EREADER_LINE_LENGTH 24
|
||||
|
||||
#endif // GUARD_CONSTANTS_GLOBAL_H
|
||||
|
||||
@@ -18,8 +18,8 @@ extern struct SongHeader se_groudon_fire_ring;
|
||||
extern struct SongHeader se_groudon_fire_grab;
|
||||
extern const s16 gShockwaveSplashDistanceThresholds[];
|
||||
extern const s16 gScreenShakeOscillationValues[];
|
||||
extern const u16 gGroudonFootstepShakePatterns[][31];
|
||||
extern const u16 gGroudonCryShakePattern[];
|
||||
extern const s16 gGroudonFootstepShakePatterns[][31];
|
||||
extern const s16 gGroudonCryShakePattern[];
|
||||
extern const u16 gGroudonAnimFramesetTable[][2];
|
||||
extern const struct Vector16 gGroudonFirePillarBasePositions[];
|
||||
extern const u16 gGroudonFirePillarAnimFrameset[][2];
|
||||
|
||||
+1
-2
@@ -76,7 +76,6 @@ extern const u16 gPokedexCatchAnimTileOffsets[][20];
|
||||
extern const s16 gPokedexCatchAnimIndices[];
|
||||
extern const u16 gPokedexHatchAnimTileOffsets[][51];
|
||||
extern const s16 gPokedexAnimFrameDurations[][51];
|
||||
extern const u16 gPokedexAnimTileDeltas[][4];
|
||||
extern s16 gPokedexListNameVramOffsets[];
|
||||
|
||||
enum PokedexPopupType {
|
||||
@@ -1290,7 +1289,7 @@ static void RenderLinkGraphics(void)
|
||||
{
|
||||
groupOam = &group4->oam[i];
|
||||
gOamBuffer[groupOam->oamId].tileNum = gPokedexAnimBaseTileNums[1][i] +
|
||||
gPokedexAnimTileDeltas[1][gPokedexSpriteAnimFrame];
|
||||
gPokedexCatchAnimTileOffsets[1][gPokedexSpriteAnimFrame];
|
||||
gOamBuffer[groupOam->oamId].x = groupOam->xOffset + group4->baseX;
|
||||
gOamBuffer[groupOam->oamId].y = groupOam->yOffset + group4->baseY;
|
||||
}
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
#include "constants/board/ruby_states.h"
|
||||
|
||||
extern const u8 gSideBumperGfx[][0x100];
|
||||
extern const s16 gSideBumperGfxFrameIndices[][2];
|
||||
extern const u16 gSideBumperAnimDurations[][2];
|
||||
extern const u16 gSideBumperGfxFrameIndices[][2];
|
||||
|
||||
extern const s16 gGulpinAnimData[][5];
|
||||
extern const u16 gGulpinOamData[146][18];
|
||||
@@ -334,7 +333,7 @@ void UpdateRubySideBumperAnimation(void)
|
||||
{
|
||||
if (gCurrentPinballGame->linooneSideBumperExtensionsPending[i] > 0)
|
||||
{
|
||||
if (gSideBumperAnimDurations[gCurrentPinballGame->linooneSideBumperAnimPhase[i]][0] > gCurrentPinballGame->linooneSideBumperAnimTimer[i])
|
||||
if (gSideBumperGfxFrameIndices[gCurrentPinballGame->linooneSideBumperAnimPhase[i]][1] > gCurrentPinballGame->linooneSideBumperAnimTimer[i])
|
||||
{
|
||||
gCurrentPinballGame->linooneSideBumperAnimTimer[i]++;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ extern const u8 gHoleIndicatorTileGfx[][0x440];
|
||||
|
||||
extern const u8 gSplashEffectTileGfx[][0x100];
|
||||
extern struct Vector16 gSplashEffectPositions[];
|
||||
extern const s16 gSplashEffectFrameDurations[][2];
|
||||
extern const s16 gSplashEffectTileIndices[][2];
|
||||
extern const u8 gSapphireShopSignPalettes[][0x20];
|
||||
extern const u8 gSapphireShopSignTileGfx[][0x480];
|
||||
@@ -731,7 +730,7 @@ void UpdateSapphireEggMachine(void)
|
||||
group = &gMain.spriteGroups[SG_SAPPHIRE_HATCH_MACHINE_LIGHT_SPARK_FX_BASE + i];
|
||||
if (group->active)
|
||||
{
|
||||
if (gSplashEffectFrameDurations[gCurrentPinballGame->splashEffectFrameIndex[i]][0] > gCurrentPinballGame->splashEffectFrameTimer[i])
|
||||
if (gSplashEffectTileIndices[gCurrentPinballGame->splashEffectFrameIndex[i]][1] > gCurrentPinballGame->splashEffectFrameTimer[i])
|
||||
{
|
||||
gCurrentPinballGame->splashEffectFrameTimer[i]++;
|
||||
}
|
||||
|
||||
+71
-28
@@ -177,6 +177,8 @@ Directive AsmFile::GetDirective()
|
||||
return Directive::DexCategory;
|
||||
else if (CheckForDirective(".dexText"))
|
||||
return Directive::DexText;
|
||||
else if (CheckForDirective(".ereaderText"))
|
||||
return Directive::EreaderText;
|
||||
else
|
||||
return Directive::Unknown;
|
||||
}
|
||||
@@ -375,40 +377,81 @@ int AsmFile::ReadBraille(unsigned char* s)
|
||||
return length;
|
||||
}
|
||||
|
||||
int AsmFile::ReadDexString(unsigned short* s, uint8_t targetLength, bool padLeft = false)
|
||||
int AsmFile::ReadDexString(unsigned short* s, uint8_t targetLength, bool padLeft = false, bool fixedWidthEncoding = false)
|
||||
{
|
||||
// Sample dexEncoding map
|
||||
static std::map<std::string, unsigned short> dexEncoding =
|
||||
static std::map<std::string, unsigned short> dexEncoding;
|
||||
if (!fixedWidthEncoding)
|
||||
{
|
||||
{ " ", 0x0000 },
|
||||
{ "-", 0x2826 }, { "♀", 0x2846 }, { "♂", 0x2866 },
|
||||
{ "0", 0x2886 }, { "1", 0x28A3 }, { "2", 0x28C6 }, { "3", 0x28E6 },
|
||||
{ "4", 0x2906 }, { "5", 0x2926 }, { "6", 0x2946 }, { "7", 0x2966 },
|
||||
{ "8", 0x2986 }, { "9", 0x29A6 }, { "—", 0x29C6 },
|
||||
dexEncoding =
|
||||
{
|
||||
{ " ", 0x0000 },
|
||||
{ "-", 0x2826 }, { "♀", 0x2846 }, { "♂", 0x2866 },
|
||||
{ "0", 0x2886 }, { "1", 0x28A3 }, { "2", 0x28C6 }, { "3", 0x28E6 },
|
||||
{ "4", 0x2906 }, { "5", 0x2926 }, { "6", 0x2946 }, { "7", 0x2966 },
|
||||
{ "8", 0x2986 }, { "9", 0x29A6 }, { "—", 0x29C6 },
|
||||
|
||||
{ "A", 0x29E6 }, { "B", 0x2A06 }, { "C", 0x2A26 }, { "D", 0x2A46 },
|
||||
{ "E", 0x2A66 }, { "F", 0x2A86 }, { "G", 0x2AA6 }, { "H", 0x2AC6 },
|
||||
{ "I", 0x2AE2 }, { "J", 0x2B06 }, { "K", 0x2B26 }, { "L", 0x2B46 },
|
||||
{ "M", 0x2B66 }, { "N", 0x2B86 }, { "O", 0x2BA6 }, { "P", 0x2BC6 },
|
||||
{ "Q", 0x2BE6 }, { "R", 0x3006 }, { "S", 0x3026 }, { "T", 0x3046 },
|
||||
{ "U", 0x3066 }, { "V", 0x3086 }, { "W", 0x30A6 }, { "X", 0x30C6 },
|
||||
{ "Y", 0x30E6 }, { "Z", 0x3106 },
|
||||
{ "A", 0x29E6 }, { "B", 0x2A06 }, { "C", 0x2A26 }, { "D", 0x2A46 },
|
||||
{ "E", 0x2A66 }, { "F", 0x2A86 }, { "G", 0x2AA6 }, { "H", 0x2AC6 },
|
||||
{ "I", 0x2AE2 }, { "J", 0x2B06 }, { "K", 0x2B26 }, { "L", 0x2B46 },
|
||||
{ "M", 0x2B66 }, { "N", 0x2B86 }, { "O", 0x2BA6 }, { "P", 0x2BC6 },
|
||||
{ "Q", 0x2BE6 }, { "R", 0x3006 }, { "S", 0x3026 }, { "T", 0x3046 },
|
||||
{ "U", 0x3066 }, { "V", 0x3086 }, { "W", 0x30A6 }, { "X", 0x30C6 },
|
||||
{ "Y", 0x30E6 }, { "Z", 0x3106 },
|
||||
|
||||
{ "a", 0x3126 }, { "b", 0x3146 }, { "c", 0x3166 }, { "d", 0x3186 },
|
||||
{ "e", 0x31A6 }, { "f", 0x31C6 }, { "g", 0x31E6 }, { "h", 0x3206 },
|
||||
{ "i", 0x3222 }, { "j", 0x3246 }, { "k", 0x3266 }, { "l", 0x3283 },
|
||||
{ "m", 0x32A6 }, { "n", 0x32C5 }, { "o", 0x32E6 }, { "p", 0x3306 },
|
||||
{ "q", 0x3326 }, { "r", 0x3345 }, { "s", 0x3366 }, { "t", 0x3386 },
|
||||
{ "u", 0x33A6 }, { "v", 0x33C6 }, { "w", 0x33E6 }, { "x", 0x3806 },
|
||||
{ "y", 0x3826 }, { "z", 0x3846 },
|
||||
{ "a", 0x3126 }, { "b", 0x3146 }, { "c", 0x3166 }, { "d", 0x3186 },
|
||||
{ "e", 0x31A6 }, { "f", 0x31C6 }, { "g", 0x31E6 }, { "h", 0x3206 },
|
||||
{ "i", 0x3222 }, { "j", 0x3246 }, { "k", 0x3266 }, { "l", 0x3283 },
|
||||
{ "m", 0x32A6 }, { "n", 0x32C5 }, { "o", 0x32E6 }, { "p", 0x3306 },
|
||||
{ "q", 0x3326 }, { "r", 0x3345 }, { "s", 0x3366 }, { "t", 0x3386 },
|
||||
{ "u", 0x33A6 }, { "v", 0x33C6 }, { "w", 0x33E6 }, { "x", 0x3806 },
|
||||
{ "y", 0x3826 }, { "z", 0x3846 },
|
||||
|
||||
{ "ˎ", 0x3866 }, { "˳", 0x3886 }, { "╔", 0x38A6 }, { "╝", 0x38C6 },
|
||||
{ "×", 0x38E6 }, { "“", 0x3926 }, { "”", 0x3906 }, { "!", 0x3942 },
|
||||
{ "?", 0x3968 }, { ":", 0x3984 }, { ";", 0x39A4 }, { ",", 0x39C4 },
|
||||
{ ".", 0x39E4 }, { "•", 0x3A04 }, { "(", 0x3A26 }, { ")", 0x3A46 },
|
||||
{ "~", 0x3A68 }, { "▼", 0x3A88 }, { "é", 0x3AA6 }, { "`", 0x3AC3 },
|
||||
{ "´", 0x3AE4 }, { "#", 0x3B06 },
|
||||
};
|
||||
{ "ˎ", 0x3866 }, { "˳", 0x3886 }, { "╔", 0x38A6 }, { "╝", 0x38C6 },
|
||||
{ "×", 0x38E6 }, { "“", 0x3926 }, { "”", 0x3906 }, { "!", 0x3942 },
|
||||
{ "?", 0x3968 }, { ":", 0x3984 }, { ";", 0x39A4 }, { ",", 0x39C4 },
|
||||
{ ".", 0x39E4 }, { "•", 0x3A04 }, { "(", 0x3A26 }, { ")", 0x3A46 },
|
||||
{ "~", 0x3A68 }, { "▼", 0x3A88 }, { "é", 0x3AA6 }, { "`", 0x3AC3 },
|
||||
{ "´", 0x3AE4 }, { "#", 0x3B06 },
|
||||
};
|
||||
}
|
||||
else {
|
||||
// a handful of characters now take 6 px for their ending, rather flexing
|
||||
dexEncoding =
|
||||
{
|
||||
{ " ", 0x0000 },
|
||||
{ "-", 0x2826 }, { "♀", 0x2846 }, { "♂", 0x2866 },
|
||||
{ "0", 0x2886 }, { "1", 0x28A3 }, { "2", 0x28C6 }, { "3", 0x28E6 },
|
||||
{ "4", 0x2906 }, { "5", 0x2926 }, { "6", 0x2946 }, { "7", 0x2966 },
|
||||
{ "8", 0x2986 }, { "9", 0x29A6 }, { "—", 0x29C6 },
|
||||
|
||||
{ "A", 0x29E6 }, { "B", 0x2A06 }, { "C", 0x2A26 }, { "D", 0x2A46 },
|
||||
{ "E", 0x2A66 }, { "F", 0x2A86 }, { "G", 0x2AA6 }, { "H", 0x2AC6 },
|
||||
{ "I", 0x2AE2 }, { "J", 0x2B06 }, { "K", 0x2B26 }, { "L", 0x2B46 },
|
||||
{ "M", 0x2B66 }, { "N", 0x2B86 }, { "O", 0x2BA6 }, { "P", 0x2BC6 },
|
||||
{ "Q", 0x2BE6 }, { "R", 0x3006 }, { "S", 0x3026 }, { "T", 0x3046 },
|
||||
{ "U", 0x3066 }, { "V", 0x3086 }, { "W", 0x30A6 }, { "X", 0x30C6 },
|
||||
{ "Y", 0x30E6 }, { "Z", 0x3106 },
|
||||
|
||||
{ "a", 0x3126 }, { "b", 0x3146 }, { "c", 0x3166 }, { "d", 0x3186 },
|
||||
{ "e", 0x31A6 }, { "f", 0x31C6 }, { "g", 0x31E6 }, { "h", 0x3206 },
|
||||
{ "i", 0x3222 }, { "j", 0x3246 }, { "k", 0x3266 }, { "l", 0x3284 },
|
||||
{ "m", 0x32A6 }, { "n", 0x32C6 }, { "o", 0x32E6 }, { "p", 0x3306 },
|
||||
{ "q", 0x3326 }, { "r", 0x3346 }, { "s", 0x3366 }, { "t", 0x3386 },
|
||||
{ "u", 0x33A6 }, { "v", 0x33C6 }, { "w", 0x33E6 }, { "x", 0x3806 },
|
||||
{ "y", 0x3826 }, { "z", 0x3846 },
|
||||
|
||||
{ "ˎ", 0x3866 }, { "˳", 0x3886 }, { "╔", 0x38A6 }, { "╝", 0x38C6 },
|
||||
{ "×", 0x38E6 }, { "“", 0x3926 }, { "”", 0x3906 }, { "!", 0x3946 },
|
||||
{ "?", 0x3968 }, { ":", 0x3984 }, { ";", 0x39A4 }, { ",", 0x39C4 },
|
||||
{ ".", 0x39E4 }, { "•", 0x3A04 }, { "(", 0x3A26 }, { ")", 0x3A46 },
|
||||
{ "~", 0x3A68 }, { "▼", 0x3A88 }, { "é", 0x3AA6 }, { "`", 0x3AC4 },
|
||||
{ "´", 0x3AE4 }, { "#", 0x3B06 },
|
||||
|
||||
//funky n, not matching the normal spacer px...
|
||||
{"ņ", 0x32C5}
|
||||
};
|
||||
}
|
||||
|
||||
SkipWhitespace();
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ enum class Directive
|
||||
DexName,
|
||||
DexCategory,
|
||||
DexText,
|
||||
EreaderText,
|
||||
Unknown
|
||||
};
|
||||
|
||||
@@ -49,7 +50,7 @@ public:
|
||||
std::string ReadPath();
|
||||
int ReadString(unsigned char* s);
|
||||
int ReadBraille(unsigned char* s);
|
||||
int ReadDexString(unsigned short* s, uint8_t targetLength, bool padLeft);
|
||||
int ReadDexString(unsigned short* s, uint8_t targetLength, bool padLeft, bool fixedWidthEncoding);
|
||||
bool IsAtEnd();
|
||||
void OutputLine();
|
||||
void OutputLocation();
|
||||
|
||||
@@ -102,19 +102,25 @@ void PreprocAsmFile(std::string filename)
|
||||
}
|
||||
case Directive::DexName:{
|
||||
unsigned short s[POKEMON_NAME_LENGTH];
|
||||
int length = stack.top().ReadDexString(s, POKEMON_NAME_LENGTH, false);
|
||||
int length = stack.top().ReadDexString(s, POKEMON_NAME_LENGTH, false, false);
|
||||
PrintAsmHalfwords(s, length);
|
||||
break;
|
||||
}
|
||||
case Directive::DexCategory:{
|
||||
unsigned short s[POKEMON_CATEGORY_NAME_LENGTH];
|
||||
int length = stack.top().ReadDexString(s, POKEMON_CATEGORY_NAME_LENGTH, true);
|
||||
int length = stack.top().ReadDexString(s, POKEMON_CATEGORY_NAME_LENGTH, true, false);
|
||||
PrintAsmHalfwords(s, length);
|
||||
break;
|
||||
}
|
||||
case Directive::DexText:{
|
||||
unsigned short s[POKEMON_DEX_LINE_LENGTH];
|
||||
int length = stack.top().ReadDexString(s, POKEMON_DEX_LINE_LENGTH, false);
|
||||
int length = stack.top().ReadDexString(s, POKEMON_DEX_LINE_LENGTH, false, false);
|
||||
PrintAsmHalfwords(s, length);
|
||||
break;
|
||||
}
|
||||
case Directive::EreaderText:{
|
||||
unsigned short s[EREADER_LINE_LENGTH];
|
||||
int length = stack.top().ReadDexString(s, EREADER_LINE_LENGTH, false, true);
|
||||
PrintAsmHalfwords(s, length);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user