From e422d7b8ad7ebadf0694b400c8406b6fb9ac8042 Mon Sep 17 00:00:00 2001 From: Retnuhytnuob <65794339+Retnuhytnuob@users.noreply.github.com> Date: Sun, 15 Feb 2026 08:21:13 -0600 Subject: [PATCH] Dump/split board intro sprites (gUnknown_0845A48C, gUnknown_0845F9EC) (#194) * ruby board * Sapphire Intro, naming * remove unneeded incbin comment --- data/rom_1.s | 42 +-- data/rom_2.s | 20 +- graphics/stage/ruby/intro_sprite_ball.png | Bin 0 -> 161 bytes graphics/stage/ruby/intro_sprite_ball_2.png | Bin 0 -> 153 bytes .../ruby/intro_sprite_ball_upgrade_fx.png | Bin 0 -> 228 bytes graphics/stage/ruby/intro_sprite_blank.png | Bin 0 -> 72 bytes graphics/stage/ruby/intro_sprite_burst_fx.png | Bin 0 -> 224 bytes .../stage/ruby/intro_sprite_catch_mon.png | Bin 0 -> 476 bytes .../intro_sprite_charge_indicator_center.png | Bin 0 -> 200 bytes .../intro_sprite_charge_indicator_edge.png | Bin 0 -> 177 bytes .../stage/ruby/intro_sprite_chikorita.png | Bin 0 -> 301 bytes .../ruby/intro_sprite_chikorita_blade.png | Bin 0 -> 134 bytes .../intro_sprite_chikorita_blade_hit_fx.png | Bin 0 -> 128 bytes graphics/stage/ruby/intro_sprite_chinchou.png | Bin 0 -> 376 bytes graphics/stage/ruby/intro_sprite_coin.png | Bin 0 -> 238 bytes .../stage/ruby/intro_sprite_cyndaquil.png | Bin 0 -> 370 bytes graphics/stage/ruby/intro_sprite_egg.png | Bin 0 -> 174 bytes .../stage/ruby/intro_sprite_evo_pickup.png | Bin 0 -> 179 bytes .../ruby/intro_sprite_explosion_left.png | Bin 0 -> 289 bytes .../ruby/intro_sprite_explosion_right.png | Bin 0 -> 194 bytes graphics/stage/ruby/intro_sprite_flipper.png | Bin 0 -> 194 bytes graphics/stage/ruby/intro_sprite_glint.png | Bin 0 -> 80 bytes .../stage/ruby/intro_sprite_glint_set.png | Bin 0 -> 117 bytes .../stage/ruby/intro_sprite_glint_set_0.png | Bin 0 -> 130 bytes graphics/stage/ruby/intro_sprite_gulpin.png | Bin 0 -> 236 bytes .../stage/ruby/intro_sprite_hatch_cave.png | Bin 0 -> 510 bytes .../stage/ruby/intro_sprite_hatch_mon.png | Bin 0 -> 228 bytes graphics/stage/ruby/intro_sprite_linoone1.png | Bin 0 -> 185 bytes .../stage/ruby/intro_sprite_linoone1_arm.png | Bin 0 -> 101 bytes graphics/stage/ruby/intro_sprite_linoone2.png | Bin 0 -> 185 bytes .../stage/ruby/intro_sprite_linoone2_arm.png | Bin 0 -> 101 bytes graphics/stage/ruby/intro_sprite_location.png | Bin 0 -> 630 bytes .../ruby/intro_sprite_location_border_h.png | Bin 0 -> 76 bytes .../ruby/intro_sprite_location_border_v.png | Bin 0 -> 73 bytes .../stage/ruby/intro_sprite_makuhita_feet.png | Bin 0 -> 134 bytes .../stage/ruby/intro_sprite_makuhita_top.png | Bin 0 -> 329 bytes graphics/stage/ruby/intro_sprite_nuzleaf.png | Bin 0 -> 355 bytes .../stage/ruby/intro_sprite_pause_select.png | Bin 0 -> 96 bytes .../stage/ruby/intro_sprite_pause_text.png | Bin 0 -> 157 bytes .../stage/ruby/intro_sprite_pika_kickback.png | Bin 0 -> 377 bytes .../stage/ruby/intro_sprite_ramp_prize.png | Bin 0 -> 168 bytes graphics/stage/ruby/intro_sprite_shape.png | Bin 0 -> 85 bytes .../stage/ruby/intro_sprite_sharpedo_body.png | Bin 0 -> 340 bytes .../ruby/intro_sprite_sharpedo_side_fin.png | Bin 0 -> 88 bytes .../ruby/intro_sprite_sharpedo_top_fin.png | Bin 0 -> 104 bytes .../stage/ruby/intro_sprite_shop_door.png | Bin 0 -> 266 bytes .../stage/ruby/intro_sprite_shop_roof.png | Bin 0 -> 635 bytes graphics/stage/ruby/intro_sprite_spinner.png | Bin 0 -> 172 bytes graphics/stage/ruby/intro_sprite_spoink.png | Bin 0 -> 266 bytes .../stage/ruby/intro_sprite_spoink_tail.png | Bin 0 -> 113 bytes graphics/stage/ruby/intro_sprite_treeko.png | Bin 0 -> 259 bytes graphics/stage/ruby/intro_sprite_whiscash.png | Bin 0 -> 453 bytes graphics/stage/ruby/ruby_gfx.json | 245 +++++++++++++++++- graphics/stage/sapphire/intro_sprite_ball.png | Bin 0 -> 161 bytes .../stage/sapphire/intro_sprite_ball_2.png | Bin 0 -> 153 bytes .../sapphire/intro_sprite_ball_upgrade_fx.png | Bin 0 -> 228 bytes .../stage/sapphire/intro_sprite_basket.png | Bin 0 -> 251 bytes .../stage/sapphire/intro_sprite_catch_mon.png | Bin 0 -> 476 bytes .../intro_sprite_charge_indicator_center.png | Bin 0 -> 200 bytes .../intro_sprite_charge_indicator_edge.png | Bin 0 -> 177 bytes graphics/stage/sapphire/intro_sprite_coin.png | Bin 0 -> 238 bytes graphics/stage/sapphire/intro_sprite_egg.png | Bin 0 -> 174 bytes .../sapphire/intro_sprite_evo_pickup.png | Bin 0 -> 179 bytes .../sapphire/intro_sprite_explosion_left.png | Bin 0 -> 289 bytes .../sapphire/intro_sprite_explosion_right.png | Bin 0 -> 194 bytes .../stage/sapphire/intro_sprite_flipper.png | Bin 0 -> 194 bytes .../stage/sapphire/intro_sprite_glint_set.png | Bin 0 -> 117 bytes .../intro_sprite_hatch_machine_base.png | Bin 0 -> 267 bytes .../stage/sapphire/intro_sprite_hatch_mon.png | Bin 0 -> 228 bytes .../stage/sapphire/intro_sprite_location.png | Bin 0 -> 630 bytes .../intro_sprite_location_border_h.png | Bin 0 -> 76 bytes .../intro_sprite_location_border_v.png | Bin 0 -> 73 bytes .../stage/sapphire/intro_sprite_minon.png | Bin 0 -> 318 bytes .../sapphire/intro_sprite_minun_charge.png | Bin 0 -> 129 bytes .../sapphire/intro_sprite_pause_select.png | Bin 0 -> 96 bytes .../sapphire/intro_sprite_pause_text.png | Bin 0 -> 157 bytes .../stage/sapphire/intro_sprite_pelipper.png | Bin 0 -> 433 bytes .../sapphire/intro_sprite_pika_kickback.png | Bin 0 -> 377 bytes .../stage/sapphire/intro_sprite_plussle.png | Bin 0 -> 326 bytes .../sapphire/intro_sprite_plussle_charge.png | Bin 0 -> 128 bytes .../sapphire/intro_sprite_press_start.png | Bin 0 -> 258 bytes .../stage/sapphire/intro_sprite_seedot.png | Bin 0 -> 369 bytes .../stage/sapphire/intro_sprite_shape.png | Bin 0 -> 85 bytes .../sapphire/intro_sprite_shop_bottom.png | Bin 0 -> 104 bytes .../sapphire/intro_sprite_shop_charge.png | Bin 0 -> 140 bytes .../stage/sapphire/intro_sprite_shop_top.png | Bin 0 -> 334 bytes .../stage/sapphire/intro_sprite_shroomish.png | Bin 0 -> 378 bytes .../stage/sapphire/intro_sprite_spacer.png | Bin 0 -> 72 bytes .../stage/sapphire/intro_sprite_spinner.png | Bin 0 -> 172 bytes .../stage/sapphire/intro_sprite_spoink.png | Bin 0 -> 266 bytes .../sapphire/intro_sprite_spoink_tail.png | Bin 0 -> 113 bytes .../stage/sapphire/intro_sprite_treeko.png | Bin 0 -> 259 bytes graphics/stage/sapphire/intro_sprite_unk.png | Bin 0 -> 146 bytes .../stage/sapphire/intro_sprite_wailmer.png | Bin 0 -> 280 bytes .../stage/sapphire/intro_sprite_zigzagoon.png | Bin 0 -> 381 bytes graphics/stage/sapphire/sapphire_gfx.json | 201 ++++++++++++++ include/global.h | 2 +- src/board_process3_kecleon.c | 8 +- src/pinball_game_main.c | 6 +- src/rom_201B8.c | 12 +- src/rom_27E08.c | 10 +- src/rom_30480.c | 4 +- src/rom_31BE8.c | 2 +- src/rom_467F4.c | 8 +- 104 files changed, 500 insertions(+), 60 deletions(-) create mode 100644 graphics/stage/ruby/intro_sprite_ball.png create mode 100644 graphics/stage/ruby/intro_sprite_ball_2.png create mode 100644 graphics/stage/ruby/intro_sprite_ball_upgrade_fx.png create mode 100644 graphics/stage/ruby/intro_sprite_blank.png create mode 100644 graphics/stage/ruby/intro_sprite_burst_fx.png create mode 100644 graphics/stage/ruby/intro_sprite_catch_mon.png create mode 100644 graphics/stage/ruby/intro_sprite_charge_indicator_center.png create mode 100644 graphics/stage/ruby/intro_sprite_charge_indicator_edge.png create mode 100644 graphics/stage/ruby/intro_sprite_chikorita.png create mode 100644 graphics/stage/ruby/intro_sprite_chikorita_blade.png create mode 100644 graphics/stage/ruby/intro_sprite_chikorita_blade_hit_fx.png create mode 100644 graphics/stage/ruby/intro_sprite_chinchou.png create mode 100644 graphics/stage/ruby/intro_sprite_coin.png create mode 100644 graphics/stage/ruby/intro_sprite_cyndaquil.png create mode 100644 graphics/stage/ruby/intro_sprite_egg.png create mode 100644 graphics/stage/ruby/intro_sprite_evo_pickup.png create mode 100644 graphics/stage/ruby/intro_sprite_explosion_left.png create mode 100644 graphics/stage/ruby/intro_sprite_explosion_right.png create mode 100644 graphics/stage/ruby/intro_sprite_flipper.png create mode 100644 graphics/stage/ruby/intro_sprite_glint.png create mode 100644 graphics/stage/ruby/intro_sprite_glint_set.png create mode 100644 graphics/stage/ruby/intro_sprite_glint_set_0.png create mode 100644 graphics/stage/ruby/intro_sprite_gulpin.png create mode 100644 graphics/stage/ruby/intro_sprite_hatch_cave.png create mode 100644 graphics/stage/ruby/intro_sprite_hatch_mon.png create mode 100644 graphics/stage/ruby/intro_sprite_linoone1.png create mode 100644 graphics/stage/ruby/intro_sprite_linoone1_arm.png create mode 100644 graphics/stage/ruby/intro_sprite_linoone2.png create mode 100644 graphics/stage/ruby/intro_sprite_linoone2_arm.png create mode 100644 graphics/stage/ruby/intro_sprite_location.png create mode 100644 graphics/stage/ruby/intro_sprite_location_border_h.png create mode 100644 graphics/stage/ruby/intro_sprite_location_border_v.png create mode 100644 graphics/stage/ruby/intro_sprite_makuhita_feet.png create mode 100644 graphics/stage/ruby/intro_sprite_makuhita_top.png create mode 100644 graphics/stage/ruby/intro_sprite_nuzleaf.png create mode 100644 graphics/stage/ruby/intro_sprite_pause_select.png create mode 100644 graphics/stage/ruby/intro_sprite_pause_text.png create mode 100644 graphics/stage/ruby/intro_sprite_pika_kickback.png create mode 100644 graphics/stage/ruby/intro_sprite_ramp_prize.png create mode 100644 graphics/stage/ruby/intro_sprite_shape.png create mode 100644 graphics/stage/ruby/intro_sprite_sharpedo_body.png create mode 100644 graphics/stage/ruby/intro_sprite_sharpedo_side_fin.png create mode 100644 graphics/stage/ruby/intro_sprite_sharpedo_top_fin.png create mode 100644 graphics/stage/ruby/intro_sprite_shop_door.png create mode 100644 graphics/stage/ruby/intro_sprite_shop_roof.png create mode 100644 graphics/stage/ruby/intro_sprite_spinner.png create mode 100644 graphics/stage/ruby/intro_sprite_spoink.png create mode 100644 graphics/stage/ruby/intro_sprite_spoink_tail.png create mode 100644 graphics/stage/ruby/intro_sprite_treeko.png create mode 100644 graphics/stage/ruby/intro_sprite_whiscash.png create mode 100644 graphics/stage/sapphire/intro_sprite_ball.png create mode 100644 graphics/stage/sapphire/intro_sprite_ball_2.png create mode 100644 graphics/stage/sapphire/intro_sprite_ball_upgrade_fx.png create mode 100644 graphics/stage/sapphire/intro_sprite_basket.png create mode 100644 graphics/stage/sapphire/intro_sprite_catch_mon.png create mode 100644 graphics/stage/sapphire/intro_sprite_charge_indicator_center.png create mode 100644 graphics/stage/sapphire/intro_sprite_charge_indicator_edge.png create mode 100644 graphics/stage/sapphire/intro_sprite_coin.png create mode 100644 graphics/stage/sapphire/intro_sprite_egg.png create mode 100644 graphics/stage/sapphire/intro_sprite_evo_pickup.png create mode 100644 graphics/stage/sapphire/intro_sprite_explosion_left.png create mode 100644 graphics/stage/sapphire/intro_sprite_explosion_right.png create mode 100644 graphics/stage/sapphire/intro_sprite_flipper.png create mode 100644 graphics/stage/sapphire/intro_sprite_glint_set.png create mode 100644 graphics/stage/sapphire/intro_sprite_hatch_machine_base.png create mode 100644 graphics/stage/sapphire/intro_sprite_hatch_mon.png create mode 100644 graphics/stage/sapphire/intro_sprite_location.png create mode 100644 graphics/stage/sapphire/intro_sprite_location_border_h.png create mode 100644 graphics/stage/sapphire/intro_sprite_location_border_v.png create mode 100644 graphics/stage/sapphire/intro_sprite_minon.png create mode 100644 graphics/stage/sapphire/intro_sprite_minun_charge.png create mode 100644 graphics/stage/sapphire/intro_sprite_pause_select.png create mode 100644 graphics/stage/sapphire/intro_sprite_pause_text.png create mode 100644 graphics/stage/sapphire/intro_sprite_pelipper.png create mode 100644 graphics/stage/sapphire/intro_sprite_pika_kickback.png create mode 100644 graphics/stage/sapphire/intro_sprite_plussle.png create mode 100644 graphics/stage/sapphire/intro_sprite_plussle_charge.png create mode 100644 graphics/stage/sapphire/intro_sprite_press_start.png create mode 100644 graphics/stage/sapphire/intro_sprite_seedot.png create mode 100644 graphics/stage/sapphire/intro_sprite_shape.png create mode 100644 graphics/stage/sapphire/intro_sprite_shop_bottom.png create mode 100644 graphics/stage/sapphire/intro_sprite_shop_charge.png create mode 100644 graphics/stage/sapphire/intro_sprite_shop_top.png create mode 100644 graphics/stage/sapphire/intro_sprite_shroomish.png create mode 100644 graphics/stage/sapphire/intro_sprite_spacer.png create mode 100644 graphics/stage/sapphire/intro_sprite_spinner.png create mode 100644 graphics/stage/sapphire/intro_sprite_spoink.png create mode 100644 graphics/stage/sapphire/intro_sprite_spoink_tail.png create mode 100644 graphics/stage/sapphire/intro_sprite_treeko.png create mode 100644 graphics/stage/sapphire/intro_sprite_unk.png create mode 100644 graphics/stage/sapphire/intro_sprite_wailmer.png create mode 100644 graphics/stage/sapphire/intro_sprite_zigzagoon.png diff --git a/data/rom_1.s b/data/rom_1.s index e9ed37d..56f0a69 100644 --- a/data/rom_1.s +++ b/data/rom_1.s @@ -1787,25 +1787,25 @@ gUnknown_083C806C:: @ 0x083C806C .include "data/graphics/mon_hatch_sprites.inc" -gUnknown_083EB84C:: @ 0x083EB84C +gPickupIcon1_Gfx:: @ 0x083EB84C .incbin "graphics/board_pickups/icon1.4bpp" -gUnknown_083ED64C:: @ 0x083ED64C +gPickupIcon2_Gfx:: @ 0x083ED64C .incbin "graphics/board_pickups/icon2.4bpp" -gUnknown_083EF44C:: @ 0x083EF44C +gPickupIcon3_Gfx:: @ 0x083EF44C .incbin "graphics/board_pickups/icon3.4bpp" -gUnknown_083F124C:: @ 0x083F124C +gPickupIcon9_Gfx:: @ 0x083F124C .incbin "graphics/board_pickups/icon9.4bpp" -gUnknown_083F304C:: @ 0x083F304C +gPickupIcon4_Gfx:: @ 0x083F304C .incbin "graphics/board_pickups/icon4.4bpp" -gUnknown_083F4E4C:: @ 0x083F4E4C +gPickupIcon5_Gfx:: @ 0x083F4E4C .incbin "graphics/board_pickups/icon5.4bpp" -gUnknown_083F6C4C:: @ 0x083F6C4C +gPickupIcon6_Gfx:: @ 0x083F6C4C .incbin "graphics/board_pickups/icon6.4bpp" -gUnknown_083F8A4C:: @ 0x083F8A4C +gPickupIcon10_Gfx:: @ 0x083F8A4C .incbin "graphics/board_pickups/icon10.4bpp" -gUnknown_083FA84C:: @ 0x083FA84C +gPickupIcon8_Gfx:: @ 0x083FA84C .incbin "graphics/board_pickups/icon8.4bpp" -gUnknown_083FC64C:: @ 0x083FC64C +gPickupIcon7_Gfx:: @ 0x083FC64C .incbin "graphics/board_pickups/icon7.4bpp" gUnknown_083FE44C:: @ 0x083FE44C @@ -1822,28 +1822,28 @@ gSapphireBoardWailmer_Gfx:: @ 0x083FFD8C .include "data/graphics/mon_catch_sprites.inc" -gUnknown_08447A8C:: @ 0x08447A8C +gRubyStageGulpin_Gfx:: @ 0x08447A8C .incbin "graphics/stage/ruby/gulpin.4bpp" -gUnknown_0844838C:: @ 0x0844838C +gMainStageBonusTrap_Gfx:: @ 0x0844838C .incbin "graphics/stage/main/bonus_trap.4bpp" gUnknown_0844928C:: @ 0x0844928C .incbin "baserom.gba", 0x44928C, 0xB00 -gUnknown_08449D8C:: @ 0x08449D8C +gRubyStageCyndaquil_Gfx:: @ 0x08449D8C .incbin "graphics/stage/ruby/cyndaquil.4bpp" gUnknown_0844AA0C:: @ 0x0844AA0C .incbin "graphics/stage/main/gunk_0844AA0C.4bpp" -gUnknown_0844F20C:: @ 0x0844F20C +gSapphireStageBasket_Gfx:: @ 0x0844F20C .incbin "graphics/stage/sapphire/seedot_basket.4bpp" -gUnknown_0844F98C:: @ 0x0844F98C +gKecleonStageKecleon_Gfx:: @ 0x0844F98C .incbin "graphics/stage/kecleon/kecleon.4bpp" -gUnknown_0845588C:: @ 0x0845588C +gKecleonStageKecleonFx_Gfx:: @ 0x0845588C .incbin "graphics/stage/kecleon/kecleon_fx.4bpp" gUnknown_08455E8C:: @ 0x08455E8C @@ -1855,17 +1855,17 @@ gUnknown_0845648C:: @ 0x0845648C gUnknown_0845690C:: @ 0x0845690C .incbin "graphics/stage/misc/gunk_0845690C.4bpp" -gUnknown_0845710C:: @ 0x0845710C +gRubyStageNuzleaf_Gfx:: @ 0x0845710C .incbin "graphics/stage/ruby/nuzleaf.4bpp" gUnknown_0845A08C:: @ 0x0845A08C .incbin "baserom.gba", 0x45A08C, 0x400 -gUnknown_0845A48C:: @ 0x0845A48C - .incbin "baserom.gba", 0x45A48C, 0x5560 +gRubyIntroSprites_Gfx:: @ 0x0845A48C + .incbin "graphics/stage/ruby/intro_sprite.4bpp" -gUnknown_0845F9EC:: @ 0x0845F9EC - .incbin "baserom.gba", 0x45F9EC, 0x5560 +gSapphireIntroSprites_Gfx:: @ 0x0845F9EC + .incbin "graphics/stage/sapphire/intro_sprite.4bpp" gUnknown_08464F4C:: @ 0x08464F4C .incbin "baserom.gba", 0x464F4C, 0x26A0 diff --git a/data/rom_2.s b/data/rom_2.s index 8a4814d..e41752e 100644 --- a/data/rom_2.s +++ b/data/rom_2.s @@ -643,16 +643,16 @@ gUnknown_086AD474:: @ 0x086AD474 .4byte gUnknown_08166F84 gUnknown_086AD49C:: @ 0x086AD49C - .4byte gUnknown_083EB84C - .4byte gUnknown_083ED64C - .4byte gUnknown_083EF44C - .4byte gUnknown_083F304C - .4byte gUnknown_083F4E4C - .4byte gUnknown_083F6C4C - .4byte gUnknown_083FC64C - .4byte gUnknown_083FA84C - .4byte gUnknown_083F124C - .4byte gUnknown_083F8A4C + .4byte gPickupIcon1_Gfx + .4byte gPickupIcon2_Gfx + .4byte gPickupIcon3_Gfx + .4byte gPickupIcon4_Gfx + .4byte gPickupIcon5_Gfx + .4byte gPickupIcon6_Gfx + .4byte gPickupIcon7_Gfx + .4byte gPickupIcon8_Gfx + .4byte gPickupIcon9_Gfx + .4byte gPickupIcon10_Gfx gUnknown_086AD4C4:: @ 0x086AD4C4 diff --git a/graphics/stage/ruby/intro_sprite_ball.png b/graphics/stage/ruby/intro_sprite_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..c2af65c1b43876c6acbfdacd1cd098d213bb28ed GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx8J;eVAsjPx&u-*8Y{0`3aQ5r@ z>fE*qKimE^@ce6Zs8h_2-eLQ$V5-lSJI%~N4{I=Jf|yLqx(Ch<$EYv!lA^n*OC?ZPV-Te>0nI$k;o%V!}(1-JY&~ JF6*2UngB?qKE?n5 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_ball_2.png b/graphics/stage/ruby/intro_sprite_ball_2.png new file mode 100644 index 0000000000000000000000000000000000000000..70ee6405698757c44b6d3d86965f9230018bc621 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx37#&FAsjP(dlmT(81OLrZu3(8 z8Rh8_IMKWP+q{W?*V~_%lbO(`6z`C8MBPQ_L2IbR!~hRJ?lr*&oF|+U)X?`i?DtHK zC!ceY`GF0UmrD*8op*k}-Fy0^)qA4LLf`+`YJa8OPB?lRLjlN6Pgg&ebxsLQ03EM3 As550nbrz}tH7kp!<;J6+O b4+>`N`B+u6{1-oD!M<{B>LG literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_blank.png b/graphics/stage/ruby/intro_sprite_blank.png new file mode 100644 index 0000000000000000000000000000000000000000..b607f14a6666977eb377374e7f7e77abeef05f69 GIT binary patch literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-k0wfqJyypGG?qzd|)8>G>$C?jpGnNaOyIUR*wt6O$ z;m0jgZZ2+8pmyOm=NvW*cacL84vGP7N4DMjQpYVC^&m(x%2j+q7~clY-YYJ?<_RmWllP>Gh2`b``q^_wWB_ YsK2qOG<)KYXCSA0y85}Sb4q9e0Gh{Fj{pDw literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_catch_mon.png b/graphics/stage/ruby/intro_sprite_catch_mon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3fffa389df5b582e97b9844416f4e289f7f648 GIT binary patch literal 476 zcmV<20VDp2P)t617Onb)yx4R(shlxPof-PdjCU|Oy-~T>C;8osJsFnicJq>zp9nfMB{p1`Bh_H)xQ6UX=@&wR`|K+`pa5h6M_& z{ZqVGT4+20z+^JNLJMyiM#kOH3DOj*s44-#6JzYWKVD#t^?+@_Y{5HXmcS+;14eES zwSrk-bbjO93kpbMDZOqY8VnfYtKyzfY9<(S&D#o>dAZy00)Rxa7f#2UKpKdtue(P0rR){#$3tsQenmuR1!)rBvxc zzLyylh{AK63U>?6bG@dkDe%`6aj?;0jPI$?681G7ToCCqo`0B@)c^ATWxoO8NNCjc SZq!l$0000+E-m=$?g4(K}8 zoIZMYeNe!TJx#~!YB&lYet3)-rktuto{6+Lg Zu&KA|ZdQ?Uir4{ii>Irf%Q~loCICf=JTd?P literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_chikorita.png b/graphics/stage/ruby/intro_sprite_chikorita.png new file mode 100644 index 0000000000000000000000000000000000000000..b856876ca8ff05cb3b04731a0e2aa9ddca665a0e GIT binary patch literal 301 zcmV+|0n+}7P)bwT@zlISv4ZE|6JBfRj~^r{8ufHtyO};hR&5@Yi%X@GIs|&-r$f5? zk&0ERe}TUT>s-Upm$0L@g2B2HtRYu`=?!@Sp&L$SETHR8xrGPYvE&v8ZlPfo5S8m} znr_=xHLr&PV$`OBwT95gJCIZQy~C9d&Ts{20A4__45I{03%&(tygZ|=L3BJ?>_2hI zV1WICIf25hz7p`8PYg=}Z81R3!GNQfG!Oyrhsm}Qm_A$vyFHVZ)B2|+!Nc2j3nd6j z)2&1v>zT$zLe%8LR3yg7jm$J1r;x=5|MSVI81Oh>jA>kG z&Q%<;vi{k>>Y2Wa*~DyYD>wLR%S}>!*1?qQtR9%rdei>HqTD<71ql;bd1qT*-s$s> g?@8^YDHp00i_>zopr06>v0?EnA( literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_chikorita_blade_hit_fx.png b/graphics/stage/ruby/intro_sprite_chikorita_blade_hit_fx.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c0b0754d206ff80e82877d0d8c80bc94b76e3c GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wDR)m7#}J9B$v^m6d6pP`O6>gTe~DWM4f+g>Wg literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_chinchou.png b/graphics/stage/ruby/intro_sprite_chinchou.png new file mode 100644 index 0000000000000000000000000000000000000000..45ac28de8732eb6405e78c0506c592069dece9c2 GIT binary patch literal 376 zcmV-;0f+vHP)b;z6o6q)Yr@p6P6m_>hYOJS2Cbut5h+Gpktoba6gMXzVMsf|twh+M>S1+B1={11q1L~=pVW-p+%JI;X5n+Z-{ z#Ta(0++dtCady!k`TX5Qbu{M9#&9i<#%+CmD}6ZF_}GKO$^9BirEnmWYoO@C2RtEo z>gi;j5}lX{K)ST`bmD<74q{QZATdj)f6#{wfo|jJh7+55F{0DeE)zC}=4|OKRDY?q zM5oqjYxa1&Cou;V#GVQjf^&*)S#YS4MHWamlX8J{kt|s3=vv0;`MHI3Ax5kyOvd=F z{qq}Zj|q>M+G7rlCQNJSF)tNif>MNewZ9{#f%;3+qro zPYl1Eh%#V>p-7H_$RHh3@dL{dNRZ^{Xx1DZr64(m3b>k6aY{*w^?$A_IQ>eW#bCi9g-2Jizh3_iR7^8-J3Ilq!r-iNPOM;_La+odgpt6XC5;C^MHmu@2*ybe$|z$Z_#_x@ zG(-pm3bgM-0uVmj<+}-l7_2h-s;_JY3r4_IHM(K(9TGt1z;c$rLIXa{E;T~)p+Yx$ ziZhJncgVcC)IN_f-i8thim?nOu+oQho$X(58OHl*hho3J{F5JN2$JDF>Up2d;Oq~^ zFQnVt61WlJl6IR8B`7)JZP$C)PB3 z3P$K@fw8LSiINf}a79H5O7DOWH!@H*Dpi>7o@mDovIhy1K%AB3nuk&+vi0^mFDO!$#~muKbq2T!)AS@ExvJLB5FE#mf<@(s*q W_UtW}={~&$T1)Ke~Qk@dOr=dpKv^i`KD(mwMSu46hk*EzOtrju;3U7Iw+ zfsLHIRgafR+;5CC+yASY cPsTrBnmX^g(WO#RkYgA;UHx3vIVCg!0KF$Z#sB~S literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_explosion_left.png b/graphics/stage/ruby/intro_sprite_explosion_left.png new file mode 100644 index 0000000000000000000000000000000000000000..7aa793b1e873ee8b8bca7479b170a8e7a487dba3 GIT binary patch literal 289 zcmV++0p9+JP)tHL%5Zd?Axa67WzYWuRT~Fg1P|UQ2FQOM@00000NkvXXu0mjf=~8w- literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_explosion_right.png b/graphics/stage/ruby/intro_sprite_explosion_right.png new file mode 100644 index 0000000000000000000000000000000000000000..9cee381f2a8558f9a4693c339fb3c65efb38cdb4 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZLK9#}J9BwLJ@km<>5tf8IJ{ z857lRz35bam?>YtPA5G>QP;O`Ht?@2{UBbzth?d0cnV|Qhq>}QJ_UbeI~ZWdx@^@> z2A7tdylGcUXQ_K0GMhTE+WgFScc-%BW2 tY4tq3c57we#)6sle-D2YS$4GWC)29yS7KjI-60HeoTsaw%Q~loCIEm_OUwWO literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_flipper.png b/graphics/stage/ruby/intro_sprite_flipper.png new file mode 100644 index 0000000000000000000000000000000000000000..86c2bf9e0c92db59fb5c1ef9ae1d156f9000206b GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@0wfq_iykiqQk|YIjv*GkZzp+k9Z=w5we>EE z&$z=q>$m(exdpv5eng9L>6)BA$n#9~S0O<1SUWHwkb{dMKzopr0A@8v!TVCd_CA}+!yu)eu6{1-oD!Ml&7bQV~9m>@{fKt34t@89rnnp zF+BY9-(FsY;pv~5pa1{Q&s=a|zUlw}^XHZRJMVYWcE38;xnql%F7vF}*0U@5itOTd e5~b`X-!U*qwaPttH?d6`WVolRpUXO@geCx>r7-FM literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_gulpin.png b/graphics/stage/ruby/intro_sprite_gulpin.png new file mode 100644 index 0000000000000000000000000000000000000000..cccf8a294da3d5360427560869258e268292c5b6 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|^0wfs9-CX5>)Mif?#}JF&p!MjUWWdC|F)rYUWwYQpm62tXXS9h1c zf7Z@j^Wq*ale7TS_KPf5e$A{EKNm9DANaHPuJr;Y*#u#;H}^KMD}7*GQ)B*p-aX?0 zQJ!=KC+P$x2f+!;WNq0WY%6%f*g40MqsC(6?&oJ_8goo%GW|Hm@^HhOXf_3hk9I-| kK?x>tZjV_#6P_I7X1K#~A;FY0^(e?2p00i_>zopr0JT6_0ssI2 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_hatch_cave.png b/graphics/stage/ruby/intro_sprite_hatch_cave.png new file mode 100644 index 0000000000000000000000000000000000000000..cd428141c72b4bc22ded5042a3d19fc8ad77961d GIT binary patch literal 510 zcmV?0005SNklDA&S9<3Es&o5eY#Bgb;QkluP( zgN^Mc&5Y#n-T5EK-N%HZJ|Dl`oFVk9e0@|8Z)yogsj6C+e39yL38#%*sZt9qRsFnx zQ^&6gDXNvKE8SjU>npL6q9}#bN;ET^f>b-a_bJWuQnGw=rS z$gypPHGs)rI5FQ}+G))haLO^H`u)^r1Mdqo&A3;C!Je)_cJ7jOL$_f#e_w#dx#7mg z8PF~PZ3h1yo*)C_wW-r{lmD!yS^hXTj{gXM0o23n3$5H%TL1t607*qoM6N<$f*XJ8 Ah5!Hn literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_hatch_mon.png b/graphics/stage/ruby/intro_sprite_hatch_mon.png new file mode 100644 index 0000000000000000000000000000000000000000..dc5ca45f6b1efe68cefccf22d701e554400e6e5d GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^5+KY1Bp4Xp^s55N)t)YnArezVFBtMQ8Hh9_`X3X# z5hJr}=Zq7U5jWmm@@4n6XqXY_@X1d>_=3mE_2wC_FSIv$e}3ve`&;gw@8_)gFTXRl zH|W(-x;#U0&!tnxn63*ct@`Zic4zzUj=1;ydwCtoG;el!t+UuSt7pMI*L6&DY(#fX z;C6e^)V)0RRIw;yo^yMboFyt=akR{0P?_H1^@s6 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_linoone1.png b/graphics/stage/ruby/intro_sprite_linoone1.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea43906c0d7a775a9540317c4c74377a349f645 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^5-+A3b9S&#FE}-PId6Xo((5e(@qBM?|<;BSnCvc}qaY zrZ1n|95-(HQenW(ajCIrk%3>>flqFQbsFluh6;Nb53K~MPk5ctD#6Q`z-(o7#385S iqHL$6?8=1+-|86-{-{0?R^w6va+9a4pUXO@geCyOCrLg4 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_linoone1_arm.png b/graphics/stage/ruby/intro_sprite_linoone1_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..6c049ddd1d9b364d1b7b2b049dac9f5033dfe6dc GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQaYY4jv*W~lV5mn^Y;G#|KHx( y#ogUK%5K6((>;rQ19(pS_-`x1;lQJD;4lM&f0}W;?Uj#`ApM@MelF{r5}E+~W*vqA literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_linoone2.png b/graphics/stage/ruby/intro_sprite_linoone2.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea43906c0d7a775a9540317c4c74377a349f645 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^5-+A3b9S&#FE}-PId6Xo((5e(@qBM?|<;BSnCvc}qaY zrZ1n|95-(HQenW(ajCIrk%3>>flqFQbsFluh6;Nb53K~MPk5ctD#6Q`z-(o7#385S iqHL$6?8=1+-|86-{-{0?R^w6va+9a4pUXO@geCyOCrLg4 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_linoone2_arm.png b/graphics/stage/ruby/intro_sprite_linoone2_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..6c049ddd1d9b364d1b7b2b049dac9f5033dfe6dc GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~c0wfp&-k$XWQaYY4jv*W~lV5mn^Y;G#|KHx( y#ogUK%5K6((>;rQ19(pS_-`x1;lQJD;4lM&f0}W;?Uj#`ApM@MelF{r5}E+~W*vqA literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_location.png b/graphics/stage/ruby/intro_sprite_location.png new file mode 100644 index 0000000000000000000000000000000000000000..e99fca28e3147ab49fea71e8a9b48391e0a533aa GIT binary patch literal 630 zcmV-+0*U>JP)Bl~6bEp9ryEKePD^i)0_}EWYDYl~xh))}w38^7Az5l%S&&FYN_z|q;sYY-_Bt@bput{O86P{_k&~}Aj|AS-UdmOT(VP3sW&A`Qr(PAOr$t2gXgHY6S0?Q$my{mt)v> zJD>8LA*@bz6Lhz(3r#bIo!1--sY&1cD7j-Xc#Jb1G!&CZxFmhVE!Fuv?)sL_Lkk!X z7J@H0^E%V7yZ!}+{xMRB50DW6uO_(uy~YM`PaT3%Wc{;p2=nl4y*^#P58bts2r2n6 zWC*-(`_pM1Kj$EoM0o3b`A#ps9WAjP;W|9Q^3DFsaxD*+D5ul-h>-L2FY4dK8+=~Z Q$^ZZW07*qoM6N<$f?rG+UH||9 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_location_border_h.png b/graphics/stage/ruby/intro_sprite_location_border_h.png new file mode 100644 index 0000000000000000000000000000000000000000..42b48a44d97237820de67ee02015872044b0a624 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-k0wfqJ?)78&qol`;+02Txh3IG5A literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_location_border_v.png b/graphics/stage/ruby/intro_sprite_location_border_v.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc5c9a5c3b4056826f227e06bb2729bf5e92902 GIT binary patch literal 73 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDFIIx#}JO0$q)Yj|8IZzfhvP< VQeq?X!)3W3HJ+}1F6*2UngBdq6L0_k literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_makuhita_feet.png b/graphics/stage/ruby/intro_sprite_makuhita_feet.png new file mode 100644 index 0000000000000000000000000000000000000000..0be13d9dd4230d365d78729207f477991d2e87ad GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-k0wfqJWiaGxf{HkJrPV#8Xr zp7PVqzL{C|3$?m88cS$9OPDR7l^eZbI5+6S1a45;F%awR(mbUUpEZ<+V=kJr79HdoMM_Xc;F#S?-3gtbTU`;LGY~n1ffP6D9qmxLo8c(Xa>n2_DlB zgNMO`L_-c+$TigR0CJ}zC^WoZHehNvLo)zmPBlbmhOX8fh?n4Ya&7yhgZ0CFV%_wB zn-+RLrZ~b1L-3SEU12LI@Ep5uhxUx7wH(uorY>a)SW*L}sc>4@ikbmS1y|q|B$lO9 zvS|915Vznea8vOuAxk(V2jJunJ-Uv6E^u4ehZRn((AOjULKk6xEDd%zy1`A8*!|}A z8!YM#)^MN6_g*tS4_T`U3hr{ELYow~;nY7iSpVCV7A{hu9X0>}002ovPDHLkV1kH7 Bldb>& literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_pause_select.png b/graphics/stage/ruby/intro_sprite_pause_select.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3e4df27a7d5e5cddb9956b4d8beb8b0f91f443 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^93adBBp6ht@Pq*=bx#+^5RRFuryO}16c`R4sGQaC t>$)+c>VfqqO}C|aU1;4nLGD&l&fofF=?XmmAhxMw6aeV^@8F}22f;wvm|AD|R46%A+v5s$5M5(~hUkbnMKQJ2qy3(OKH>ne3ucxb@%Q~lo FCIC8hI4b}E literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_pika_kickback.png b/graphics/stage/ruby/intro_sprite_pika_kickback.png new file mode 100644 index 0000000000000000000000000000000000000000..e2258904befc3fb7698c878fad2f3fada50532db GIT binary patch literal 377 zcmV-<0fzpGP)7!G5Ww+_ZmKHs7RfIgHjGudBQSY{iz+2s1aA^4@8FT`$~R=GH~)1uKK~Ag6w9@r z5D$n$DejQMo{OXYCIlSDP#n3Pa+s~5loG4g9GukSIBDRR1I}ceteMvu+|^nO3R}1@ z)|^%Rq7)vV)?Aber^WF7gbm;Ubox~AxDeu^?=eY8%1ScbuY1^_0rQ0s^lAszxf@%yIsxf4!sWN0JRvCQw z@=&ZX0Q`EW#*m>p21`LLs$;kZ7u7Lbfic}PY*g|~&){9ezb;M$mp3Rb_`8e$V;SQQ X`Q~f1-K6@S00000NkvXXu0mjfX&$Gp literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_ramp_prize.png b/graphics/stage/ruby/intro_sprite_ramp_prize.png new file mode 100644 index 0000000000000000000000000000000000000000..b441a6893a2a86f99125b435782639c9ffe8ad9b GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx`JOJ0AsjP(&lz$x81S%Oh*`+~ zp=#!;?}9p(-HQX*k2jsY;kh}zD^TRj7lrwM8fNw>&uq**wR3_p>%=IY67JjyUJHub zPpCUSYLnP`K;^||J%g>%f7@S7kTraM^e{h{hP?S7KU-PtO4jiEf4uLT>rD`izCGa~ Q4=czCp00i_>zopr05Uf{ivR!s literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_shape.png b/graphics/stage/ruby/intro_sprite_shape.png new file mode 100644 index 0000000000000000000000000000000000000000..c69b96fe11b9d9fe59a33c68bc858fc746a79f43 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^96&6<0wfqt3-&AkQZk+{jv*W~lYj8D@JJkCuTwb4 irDE42q$cr0u!`||m%jDoCw!+t>OEckT-G@yGywq5KoqV3 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_sharpedo_body.png b/graphics/stage/ruby/intro_sprite_sharpedo_body.png new file mode 100644 index 0000000000000000000000000000000000000000..9d8d7cf4ea977262ee3d1f070cd434681c7975a7 GIT binary patch literal 340 zcmV-a0jvIrP)>{6ugfo*!BQhRA6Rs24U88H{7i<*dvS?1b7!W zX`-SXN`AWY{cRCbm1IRO5)2kPp6J~1>#|{L2xf(kHg1OkNM`*#!R@>PK mQQdB~@pl5px;cmVPxu3dHkQMi^<9nt0000}Qjv*W~lYj8D@K|(Qc6ju= zR3Wfh#%&I((Eaxfoqru3nFZXPfBUxNzw7fX`P3LH&so_>u`maMjPP{zb6Mw<&;$T+ CrypDZ literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_shop_door.png b/graphics/stage/ruby/intro_sprite_shop_door.png new file mode 100644 index 0000000000000000000000000000000000000000..0c4917ac0c7707b69adfdd28461d43f40ddbe979 GIT binary patch literal 266 zcmV+l0rmcgP)FbNRJ&CW#->LTb7PV zS|lPD-pt5IWQgg=dE&Q_bCz)%DuKYz+)*!A_a9wYO<=bl%vqh#?wzY~z{`MxSk9`d z8qu%yQ*G-!!g%eU37r5w8)3?TTSBj2_`)jo{;q)2r-*5Ege>P%D1&cud=nwfah1>k zuFOUp3}C~8JJ9EijoUnc)r)onK5}k$z>0o`;&;ZZ08Njf7!b^whDq<>4~&+%dZTtb Q@c;k-07*qoM6N<$f0)+jEP)oc(Ch}yZqVJv2k?H%Hlh~k zm;{N#Pd|T=l9{Ga9{xU`5l;{2HJ(nVM|==wn#wD{=_>H}{1$Nke;}7%e`X+`V5@^LXN}lGt#p_DH7-fa46-7<*P!c2qnPC9sa)AvGf(9Zl&91 zOer9_{2-#wny>a$p$3Q)IObbt%%&nQ;w)5@_?Q54ya8a54BmOI1fuzX{ICF>kRdC< zIwBu7qy#s^Fff3r5GngT03vJ1SYR6v#2L2|fmX_@cE&o34>)VQ`p6n)nt`sZP@gOW zoFmxrvZp#Q5idZGnvhlnWAMhN?cS@z3e*Z18$CFvs3RNTLV+;?;yjj-C+}hyXVt|D zpnK?2@Hz~*h`^=}GcXluQizsulW5u*0Gvf&Y_ZJ%??genE%-tO$YwJz6=h$eJ$MD| zP^I)qF2I=gRlwdNpi&TVUaC5479e)YSnSSt9UCgaFl1Li3Or~UJ&NNn7Ah&wNu?HI zhqUWD`~<+=(0S^pTm%$R4+#Jl6x*mJ=n5eDPn-emr<#RPZLeDEy(1VB)ufQm{U3|dZikBxwE0iU`7Dbr1v?4g^Sf2oe zj|9`Z<%a6=7XXzrfs?9HFuwxce+5wrzlsHz%EPCf4w=5c1$50f0NG{-`Q3$T{sF$7 VOJfGvC8z)Z002ovPDHLkV1fbU7XSbN literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_spinner.png b/graphics/stage/ruby/intro_sprite_spinner.png new file mode 100644 index 0000000000000000000000000000000000000000..7a7870749772e55228e8c43dad3dc4dafea52370 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^5+KY1Bp4Xp^s55NVow*x5Q(X4&l&PLI0&#_xX9J2 zZ85K4`PDj=EGg4yivv5Fv<LO~ZL*v2090_M@15v71>Dj1mjNel)Fjm*268*(vgS UY3k9fdqA%6boFyt=akR{00D75D*ylh literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_spoink.png b/graphics/stage/ruby/intro_sprite_spoink.png new file mode 100644 index 0000000000000000000000000000000000000000..fe618886171591e64feb5fc49e722fe68dc19424 GIT binary patch literal 266 zcmV+l0rmcgP)$Bb*_ zJFZCS0Z6$)$boYqjRO~$b=?mQCkVtO`3{JNFljs^4yaRC!_ZxdYCVAU?$U7s?W3Sw z8%X00%QS`BA3Bj#>N}kPAhd0#vpT@KG=O&y{(2sPL+n@J5({-4kQrC>2Y@6)Vm7w# QwEzGB07*qoM6N<$f(P=oh5!F0 z8@|k3o^WjYp5=-Djy>xa{w(~Mu=0QWd`HQ`mH!X+tPg*@kVoLJJcHL!Q`ad=YFa>M NdAjDEd3002ov JPDHLkV1jhqX5|0? literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/intro_sprite_whiscash.png b/graphics/stage/ruby/intro_sprite_whiscash.png new file mode 100644 index 0000000000000000000000000000000000000000..77a94260e28a05f3d5c77d9f5934a15ed153a43a GIT binary patch literal 453 zcmV;$0XqJPP)?0004uNklnU*LYO5pFKV7Syu;v#9~w+<+7u~Y&r_@nSV z?pX4iXk#HC!(x;pC=9y80z~A3uQ2J33h29lJ%#9b^BeAD!TZ_6VDCes@A%zHL$DVIDeg7_4m$?$)5nptprA z+vmNHATub0D^3Lk>=9T}&Gh20954%FiMJ`|C#Qev*op_sxIn*7_%NlbwUT8^q-!9E vHGj88tS*5LpX7uCd%XW6kf>=@j{ksfBY^4+@}vBv00000NkvXXu0mjfSSQJ5 literal 0 HcmV?d00001 diff --git a/graphics/stage/ruby/ruby_gfx.json b/graphics/stage/ruby/ruby_gfx.json index b397f4f..bdf892b 100644 --- a/graphics/stage/ruby/ruby_gfx.json +++ b/graphics/stage/ruby/ruby_gfx.json @@ -37,20 +37,259 @@ "mwidth":2, "width":8 }, - { + { "gfx_filename": "gulpin", "mwidth":4, "oam":true }, - { + { "gfx_filename": "cyndaquil", "mwidth":4, "oam":true }, - { + { "gfx_filename": "nuzleaf", "mwidth":4, "oam":true + }, + { + "gfx_filename": "intro_sprite", + "segments": + [ + { + "segfile":"intro_sprite_flipper", + "width":4 + }, + { + "segfile":"intro_sprite_ball", + "width":2 + }, + { + "segfile":"intro_sprite_pika_kickback", + "width":4 + }, + { + "segfile":"intro_sprite_spinner", + "oam":true, + "mwidth":3, + "mheight":3, + "width":3 + }, + { + "segfile":"intro_sprite_charge_indicator_edge", + "width":4, + "mheight":4, + "mwidth":2 + }, + { + "segfile":"intro_sprite_charge_indicator_center", + "width":2 + }, + { + "segfile":"intro_sprite_location_border_h", + "width":4 + }, + { + "segfile":"intro_sprite_location_border_v", + "width":1 + }, + { + "segfile":"intro_sprite_catch_mon", + "mwidth":2, + "mheight":2, + "width":6 + }, + { + "segfile":"intro_sprite_location", + "mwidth":2, + "mheight":2, + "width":6 + }, + { + "segfile":"intro_sprite_hatch_mon", + "oam":true, + "mwidth":3, + "mheight":3, + "width":3 + }, + { + "segfile":"intro_sprite_explosion_left", + "width":4 + }, + { + "segfile":"intro_sprite_explosion_right", + "width":2 + }, + { + "segfile":"intro_sprite_evo_pickup", + "width":4 + }, + { + "segfile":"intro_sprite_pause_select", + "width":1 + }, + { + "segfile":"intro_sprite_pause_text", + "width":10 + }, + { + "segfile":"intro_sprite_coin", + "width":2 + }, + { + "segfile":"intro_sprite_egg", + "width":4 + }, + { + "segfile":"intro_sprite_ball_upgrade_fx", + "width":4 + }, + { + "segfile":"intro_sprite_spoink", + "oam": true, + "mwidth":3, + "mheight":4, + "width":3 + }, + { + "segfile":"intro_sprite_spoink_tail", + "width":2 + }, + { + "segfile":"intro_sprite_hatch_cave", + "oam":true, + "mwidth":6, + "mheight":6, + "width":6 + }, + { + "segfile":"intro_sprite_chikorita", + "width":4 + }, + { + "segfile":"intro_sprite_linoone1", + "oam":true, + "mwidth":3, + "mheight":2, + "width":3 + }, + { + "segfile":"intro_sprite_linoone1_arm", + "width":2 + }, + { + "segfile":"intro_sprite_linoone2", + "oam":true, + "mwidth":3, + "mheight":2, + "width":3 + }, + { + "segfile":"intro_sprite_linoone2_arm", + "width":2 + }, + { + "segfile":"intro_sprite_sharpedo_top_fin", + "width":1 + }, + { + "segfile":"intro_sprite_sharpedo_body", + "width":4 + }, + { + "segfile":"intro_sprite_sharpedo_side_fin", + "width":1 + }, + { + "segfile":"intro_sprite_chinchou", + "width":2 + }, + { + "segfile":"intro_sprite_shop_door", + "oam":true, + "mwidth":3, + "mheight":4, + "width":3 + }, + { + "segfile":"intro_sprite_cyndaquil", + "width":4 + }, + { + "segfile":"intro_sprite_makuhita_top", + "oam":true, + "mwidth":5, + "mheight":4, + "width":5 + }, + { + "segfile":"intro_sprite_makuhita_feet", + "width":4 + }, + { + "segfile":"intro_sprite_gulpin", + "width":4 + }, + { + "segfile":"intro_sprite_shop_roof", + "width":5 + }, + { + "segfile":"intro_sprite_chikorita_blade", + "width":5 + }, + { + "segfile":"intro_sprite_chikorita_blade_hit_fx", + "width":5 + }, + { + "segfile":"intro_sprite_nuzleaf", + "width":4 + }, + { + "segfile":"intro_sprite_blank", + "width":4 + }, + { + "segfile":"intro_sprite_whiscash", + "oam":true, + "mwidth":6, + "mheight":6, + "width":6 + }, + { + "segfile":"intro_sprite_ramp_prize", + "width":2 + }, + { + "segfile":"intro_sprite_burst_fx", + "width":4 + }, + { + "segfile":"intro_sprite_glint_set_0", + "width":4 + }, + { + "segfile":"intro_sprite_glint", + "width":1 + }, + { + "segfile":"intro_sprite_glint_set", + "width":4 + }, + { + "segfile":"intro_sprite_treeko", + "width":4 + }, + { + "segfile":"intro_sprite_ball_2", + "width":2 + }, + { + "segfile":"intro_sprite_shape", + "width":1 + } + ] } ] } \ No newline at end of file diff --git a/graphics/stage/sapphire/intro_sprite_ball.png b/graphics/stage/sapphire/intro_sprite_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..c2af65c1b43876c6acbfdacd1cd098d213bb28ed GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx8J;eVAsjPx&u-*8Y{0`3aQ5r@ z>fE*qKimE^@ce6Zs8h_2-eLQ$V5-lSJI%~N4{I=Jf|yLqx(Ch<$EYv!lA^n*OC?ZPV-Te>0nI$k;o%V!}(1-JY&~ JF6*2UngB?qKE?n5 literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_ball_2.png b/graphics/stage/sapphire/intro_sprite_ball_2.png new file mode 100644 index 0000000000000000000000000000000000000000..70ee6405698757c44b6d3d86965f9230018bc621 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx+BpCi@`0fEx37#&FAsjP(dlmT(81OLrZu3(8 z8Rh8_IMKWP+q{W?*V~_%lbO(`6z`C8MBPQ_L2IbR!~hRJ?lr*&oF|+U)X?`i?DtHK zC!ceY`GF0UmrD*8op*k}-Fy0^)qA4LLf`+`YJa8OPB?lRLjlN6Pgg&ebxsLQ03EM3 As550nbrz}tH7kp!<;J6+O b4+>`N`B+u6{1-oD!M<{B>LG literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_basket.png b/graphics/stage/sapphire/intro_sprite_basket.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca4c9f613d9e180b105346a1754fb302d36cfe9 GIT binary patch literal 251 zcmVQ3VfImm7l-z$|rUs{J)V1mp1Aa1=ji*-Ig|$tsTm_3r_{6x2 z$TLKJXCKJ4$al;eRKU8} z3CoTys&%YSN-$$D4qydA_fihP@4cKEV=uqA{sK^+VhyUz;+g;e002ovPDHLkV1hc9 BWg!3n literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_catch_mon.png b/graphics/stage/sapphire/intro_sprite_catch_mon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3fffa389df5b582e97b9844416f4e289f7f648 GIT binary patch literal 476 zcmV<20VDp2P)t617Onb)yx4R(shlxPof-PdjCU|Oy-~T>C;8osJsFnicJq>zp9nfMB{p1`Bh_H)xQ6UX=@&wR`|K+`pa5h6M_& z{ZqVGT4+20z+^JNLJMyiM#kOH3DOj*s44-#6JzYWKVD#t^?+@_Y{5HXmcS+;14eES zwSrk-bbjO93kpbMDZOqY8VnfYtKyzfY9<(S&D#o>dAZy00)Rxa7f#2UKpKdtue(P0rR){#$3tsQenmuR1!)rBvxc zzLyylh{AK63U>?6bG@dkDe%`6aj?;0jPI$?681G7ToCCqo`0B@)c^ATWxoO8NNCjc SZq!l$0000+E-m=$?g4(K}8 zoIZMYeNe!TJx#~!YB&lYet3)-rktuto{6+Lg Zu&KA|ZdQ?Uir4{ii>Irf%Q~loCICf=JTd?P literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_coin.png b/graphics/stage/sapphire/intro_sprite_coin.png new file mode 100644 index 0000000000000000000000000000000000000000..64a535378b65961f6f4460479b0763a219c0db78 GIT binary patch literal 238 zcmVqro zPYl1Eh%#V>p-7H_$RHh3@dL{dNRZ^{Xx1DZr64(m3i>7o@mDovIhy1K%AB3nuk&+vi0^mFDO!$#~muKbq2T!)AS@ExvJLB5FE#mf<@(s*q W_UtW}={~&$T1)Ke~Qk@dOr=dpKv^i`KD(mwMSu46hk*EzOtrju;3U7Iw+ zfsLHIRgafR+;5CC+yASY cPsTrBnmX^g(WO#RkYgA;UHx3vIVCg!0KF$Z#sB~S literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_explosion_left.png b/graphics/stage/sapphire/intro_sprite_explosion_left.png new file mode 100644 index 0000000000000000000000000000000000000000..7aa793b1e873ee8b8bca7479b170a8e7a487dba3 GIT binary patch literal 289 zcmV++0p9+JP)tHL%5Zd?Axa67WzYWuRT~Fg1P|UQ2FQOM@00000NkvXXu0mjf=~8w- literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_explosion_right.png b/graphics/stage/sapphire/intro_sprite_explosion_right.png new file mode 100644 index 0000000000000000000000000000000000000000..9cee381f2a8558f9a4693c339fb3c65efb38cdb4 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<50wfrI3wa3wsZLK9#}J9BwLJ@km<>5tf8IJ{ z857lRz35bam?>YtPA5G>QP;O`Ht?@2{UBbzth?d0cnV|Qhq>}QJ_UbeI~ZWdx@^@> z2A7tdylGcUXQ_K0GMhTE+WgFScc-%BW2 tY4tq3c57we#)6sle-D2YS$4GWC)29yS7KjI-60HeoTsaw%Q~loCIEm_OUwWO literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_flipper.png b/graphics/stage/sapphire/intro_sprite_flipper.png new file mode 100644 index 0000000000000000000000000000000000000000..86c2bf9e0c92db59fb5c1ef9ae1d156f9000206b GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@0wfq_iykiqQk|YIjv*GkZzp+k9Z=w5we>EE z&$z=q>$m(exdpv5eng9L>6)BA$n#9~S0O<1SUWHwkb{dMKzopr0A@8v!T*DdOJ)MTT9y;U8&)I5FQnOmHlA<1Q4s=m;w== zWF{zy9MC1sUkYGmKMQm^F87|(9r?^FWIivKmNzIs%io?8oUM0)(%MqlabI;SU74OJYLo RnBM>Z002ovPDHLkV1o2rXGH)2 literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_hatch_mon.png b/graphics/stage/sapphire/intro_sprite_hatch_mon.png new file mode 100644 index 0000000000000000000000000000000000000000..dc5ca45f6b1efe68cefccf22d701e554400e6e5d GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^5+KY1Bp4Xp^s55N)t)YnArezVFBtMQ8Hh9_`X3X# z5hJr}=Zq7U5jWmm@@4n6XqXY_@X1d>_=3mE_2wC_FSIv$e}3ve`&;gw@8_)gFTXRl zH|W(-x;#U0&!tnxn63*ct@`Zic4zzUj=1;ydwCtoG;el!t+UuSt7pMI*L6&DY(#fX z;C6e^)V)0RRIw;yo^yMboFyt=akR{0P?_H1^@s6 literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_location.png b/graphics/stage/sapphire/intro_sprite_location.png new file mode 100644 index 0000000000000000000000000000000000000000..e99fca28e3147ab49fea71e8a9b48391e0a533aa GIT binary patch literal 630 zcmV-+0*U>JP)Bl~6bEp9ryEKePD^i)0_}EWYDYl~xh))}w38^7Az5l%S&&FYN_z|q;sYY-_Bt@bput{O86P{_k&~}Aj|AS-UdmOT(VP3sW&A`Qr(PAOr$t2gXgHY6S0?Q$my{mt)v> zJD>8LA*@bz6Lhz(3r#bIo!1--sY&1cD7j-Xc#Jb1G!&CZxFmhVE!Fuv?)sL_Lkk!X z7J@H0^E%V7yZ!}+{xMRB50DW6uO_(uy~YM`PaT3%Wc{;p2=nl4y*^#P58bts2r2n6 zWC*-(`_pM1Kj$EoM0o3b`A#ps9WAjP;W|9Q^3DFsaxD*+D5ul-h>-L2FY4dK8+=~Z Q$^ZZW07*qoM6N<$f?rG+UH||9 literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_location_border_h.png b/graphics/stage/sapphire/intro_sprite_location_border_h.png new file mode 100644 index 0000000000000000000000000000000000000000..42b48a44d97237820de67ee02015872044b0a624 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-k0wfqJ?)78&qol`;+02Txh3IG5A literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_location_border_v.png b/graphics/stage/sapphire/intro_sprite_location_border_v.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc5c9a5c3b4056826f227e06bb2729bf5e92902 GIT binary patch literal 73 zcmeAS@N?(olHy`uVBq!ia0vp^96+qV0wfsDXLs`gDFIIx#}JO0$q)Yj|8IZzfhvP< VQeq?X!)3W3HJ+}1F6*2UngBdq6L0_k literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_minon.png b/graphics/stage/sapphire/intro_sprite_minon.png new file mode 100644 index 0000000000000000000000000000000000000000..72e930adf543c11826b927ab3daf8f6f3fd91fcc GIT binary patch literal 318 zcmV-E0m1%>P)qYEd(W($-g0Y{&C{Y4n>gO_F_>O&6l%fhzJ zt}0Mz2(t=qeba=5s>9`G*pmwRH(3D{*v;NooI7e9nLVn6-9 QOaK4?07*qoM6N<$g3VEihX4Qo literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_minun_charge.png b/graphics/stage/sapphire/intro_sprite_minun_charge.png new file mode 100644 index 0000000000000000000000000000000000000000..869037564f8d73420b683b8f2756caa124467415 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk^Bp47{|Oy8@*`kJgLG bHmmtCb{f22aPJ}aLXg>>u6{1-oD!M<2`DYE literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_pause_select.png b/graphics/stage/sapphire/intro_sprite_pause_select.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3e4df27a7d5e5cddb9956b4d8beb8b0f91f443 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^93adBBp6ht@Pq*=bx#+^5RRFuryO}16c`R4sGQaC t>$)+c>VfqqO}C|aU1;4nLGD&l&fofF=?XmmAhxMw6aeV^@8F}22f;wvm|AD|R46%A+v5s$5M5(~hUkbnMKQJ2qy3(OKH>ne3ucxb@%Q~lo FCIC8hI4b}E literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_pelipper.png b/graphics/stage/sapphire/intro_sprite_pelipper.png new file mode 100644 index 0000000000000000000000000000000000000000..e6a92d2ebf28ee2a1e972af5b2d365479f1aced3 GIT binary patch literal 433 zcmV;i0Z#sjP)?0004aNkl7xV5CGu5!mSnJt(*?bwWTsK1P>(bSi?|>4QHs7t+r@0!IFs;rAVxiio~A6MpTBT z4h~6#)2&-?yia%M->dAGxcW!HxeS_sGsZn>!WUy~sEQ1jobsFpCJgx)fInY?V0j+k z=@O2dU%x5X8>cF{X|xNlHj9LI>fTQaW=0cF;OQrqZfUCk#;!)&Nln zgPERl+uU1D`O)j0`q@J&W1uZeH^Kue8Z2DGHZq` b`(yY4Dnqc4MWBf^00000NkvXXu0mjf0#CV= literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_pika_kickback.png b/graphics/stage/sapphire/intro_sprite_pika_kickback.png new file mode 100644 index 0000000000000000000000000000000000000000..e2258904befc3fb7698c878fad2f3fada50532db GIT binary patch literal 377 zcmV-<0fzpGP)7!G5Ww+_ZmKHs7RfIgHjGudBQSY{iz+2s1aA^4@8FT`$~R=GH~)1uKK~Ag6w9@r z5D$n$DejQMo{OXYCIlSDP#n3Pa+s~5loG4g9GukSIBDRR1I}ceteMvu+|^nO3R}1@ z)|^%Rq7)vV)?Aber^WF7gbm;Ubox~AxDeu^?=eY8%1ScbuY1^_0rQ0s^lAszxf@%yIsxf4!sWN0JRvCQw z@=&ZX0Q`EW#*m>p21`LLs$;kZ7u7Lbfic}PY*g|~&){9ezb;M$mp3Rb_`8e$V;SQQ X`Q~f1-K6@S00000NkvXXu0mjfX&$Gp literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_plussle.png b/graphics/stage/sapphire/intro_sprite_plussle.png new file mode 100644 index 0000000000000000000000000000000000000000..12fa949f0591162e7b49ff848056907bc7629174 GIT binary patch literal 326 zcmV-M0lEH(P)gLn(@qr(y|yC~&BZGNDND!JS@L(Mv`a`EY$sj1 zFml^H+2`|JuR4m}Ujpeakc@N(Bx8-VfJNi>6~!2Lptar?E??0QPa_p*-XuUmR@f z>@^1EPSB`^NemyZs1(^9o5vFq;PaZ@zFig$C>ot#^xv<1>vS{Na5Tz&j%0s6%X8~T zC?9MBiwynL)stE$(J(C>&{%yf_|UW#MRuyu76Gaq;&=$g%5aipL&L@e2CEtt8Vbp4e2DyEysKfM!76Xw*1*s|?iUR+ b4v8?FzVmp7>HcMgAfr89{an^LB{Ts5bFM4Y literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_press_start.png b/graphics/stage/sapphire/intro_sprite_press_start.png new file mode 100644 index 0000000000000000000000000000000000000000..95f04a0f333ecc9025ffb81f91c5cfbf029cc575 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk^Bp4XQ!?!g42m#|GoEsJ%k&@kYHd01xesUj| zv12fc(3yn-lUPn2$Y9W1(qP2$>)3q@=io5LkPEg3nl?#JnZ0oZG1q^#6ct`z=4<@S z7~goG_h^HRnM!m}V0{kD615Af?x!YBNS55>a2K2 z`y?0p?wCIFjI#%&Q$x?+^R^Ycelv>o{i_y+Py1Zj>`6(?x8eLsO@Kre0x3H%>wCIX3P&+*xkfpMUrtB54yyK;>3H P00000NkvXXu0mjfQv#iV literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_shape.png b/graphics/stage/sapphire/intro_sprite_shape.png new file mode 100644 index 0000000000000000000000000000000000000000..c69b96fe11b9d9fe59a33c68bc858fc746a79f43 GIT binary patch literal 85 zcmeAS@N?(olHy`uVBq!ia0vp^96&6<0wfqt3-&AkQZk+{jv*W~lYj8D@JJkCuTwb4 irDE42q$cr0u!`||m%jDoCw!+t>OEckT-G@yGywq5KoqV3 literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_shop_bottom.png b/graphics/stage/sapphire/intro_sprite_shop_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..01db80065634c92aa046dde9c37d8b841975fced GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-k0wfqJHB(2zY|K@ui8A2`Z{T+S_}IY=NxB? o6W`X%b8t8rW2+D{H|qRvakZCm@~>F9V?owWns~jL4x6;Q({~WEOZ`3y^)}#=~lXu@I0&xrKH-s{xp`J955#M9yW_ gx6eRxFtzLY1C0ZkgbtCx`CY0kBya-LRX~_*`b zJ~_026@>;ko?8$VH6@YpvY!z>Ak{@On4S~>K5rntjRJHZHt;@z3|s+wFf2n;+FiHA z(F457rOBEM>~I8-X}U)$CDQ>Ij6e6a#0>`{YnpR!IRQ7qAvJ-|lZGI`1Lb!ui)Ikn zsRS%q&Lz@U*)##QStD#g0eKyq-kpbZN_V5-&dc9` z$lL;_@Mrr=#7hIBN4klFc>7%(UXuMS4$EeL2eN&tha5jv`&59RR{L`(`53DGo(gbq zEcQ>j1V)uOSR|Vx6^*O*Etk;om&*20a=FG~PWJs42iZfi-^2mZ{XgSy2Ojx&t<807*qoM6N<$f*?+$y#N3J literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_spacer.png b/graphics/stage/sapphire/intro_sprite_spacer.png new file mode 100644 index 0000000000000000000000000000000000000000..d49464d5b97b7f7524be56eac05743a00f956b71 GIT binary patch literal 72 zcmeAS@N?(olHy`uVBq!ia0vp^3P8-k0wfqJLO~ZL*v2090_M@15v71>Dj1mjNel)Fjm*268*(vgS UY3k9fdqA%6boFyt=akR{00D75D*ylh literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_spoink.png b/graphics/stage/sapphire/intro_sprite_spoink.png new file mode 100644 index 0000000000000000000000000000000000000000..fe618886171591e64feb5fc49e722fe68dc19424 GIT binary patch literal 266 zcmV+l0rmcgP)$Bb*_ zJFZCS0Z6$)$boYqjRO~$b=?mQCkVtO`3{JNFljs^4yaRC!_ZxdYCVAU?$U7s?W3Sw z8%X00%QS`BA3Bj#>N}kPAhd0#vpT@KG=O&y{(2sPL+n@J5({-4kQrC>2Y@6)Vm7w# QwEzGB07*qoM6N<$f(P=oh5!F0 z8@|k3o^WjYp5=-Djy>xa{w(~Mu=0QWd`HQ`mH!X+tPg*@kVoLJJcHL!Q`ad=YFa>M NdAjDEd3002ov JPDHLkV1jhqX5|0? literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/intro_sprite_unk.png b/graphics/stage/sapphire/intro_sprite_unk.png new file mode 100644 index 0000000000000000000000000000000000000000..bc604198c831e8570a65e60c8498d245981728e1 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@0wfq_iykiqQjwl6jv*GkM<)exF(`02@BW|o zmTlVC$f#(MpQ`-F)pVvN3UQXOOez;=*PDMpWG=fFleb9OP4{}Hju&T9Uqv_sgG00H87j zRshy@TL8>CXZPzLU`|a9Xa>^tDJ7Q_I_jZMKr#=*7y+}u3}g&_3@igU1JO>D5I4j^ zw+{LVB+De^H=a%0bPFH$UIcyG*E#Iu_HxIy37hI?V0tDs7-$1L>6joXsP-}4hwg{r zYTJ^rk5UjvWRHVRweE*2QEJm5QxMi;z=Nn7T?Y%v(>mG1U4c;gOOz-p2tnbO@fQ_k e85XNPby`11;hS@OYCZV?000090t1Y#%aT~O3pJKexg zYW&bd{YA4P!S!5+P>R9%Gf~m_sSYcd-B}63nmt@JK*~s8J}MlgmXNxw|l+ZNHq~^00000NkvXXu0mjfy8x($ literal 0 HcmV?d00001 diff --git a/graphics/stage/sapphire/sapphire_gfx.json b/graphics/stage/sapphire/sapphire_gfx.json index 9d76146..dffa4fa 100644 --- a/graphics/stage/sapphire/sapphire_gfx.json +++ b/graphics/stage/sapphire/sapphire_gfx.json @@ -42,6 +42,207 @@ "gfx_filename": "seedot_basket", "mwidth":4, "oam":true + }, + { + "gfx_filename": "intro_sprite", + "segments": + [ + { + "segfile":"intro_sprite_flipper", + "width":4 + }, + { + "segfile":"intro_sprite_ball", + "width":2 + }, + { + "segfile":"intro_sprite_pika_kickback", + "width":4 + }, + { + "segfile":"intro_sprite_spinner", + "oam":true, + "mwidth":3, + "mheight":3, + "width":3 + }, + { + "segfile":"intro_sprite_charge_indicator_edge", + "width":4, + "mheight":4, + "mwidth":2 + }, + { + "segfile":"intro_sprite_charge_indicator_center", + "width":2 + }, + { + "segfile":"intro_sprite_location_border_h", + "width":4 + }, + { + "segfile":"intro_sprite_location_border_v", + "width":1 + }, + { + "segfile":"intro_sprite_catch_mon", + "mwidth":2, + "mheight":2, + "width":6 + }, + { + "segfile":"intro_sprite_location", + "mwidth":2, + "mheight":2, + "width":6 + }, + { + "segfile":"intro_sprite_hatch_mon", + "oam":true, + "mwidth":3, + "mheight":3, + "width":3 + }, + { + "segfile":"intro_sprite_explosion_left", + "width":4 + }, + { + "segfile":"intro_sprite_explosion_right", + "width":2 + }, + { + "segfile":"intro_sprite_evo_pickup", + "width":4 + }, + { + "segfile":"intro_sprite_pause_select", + "width":1 + }, + { + "segfile":"intro_sprite_pause_text", + "width":10 + }, + { + "segfile":"intro_sprite_coin", + "width":2 + }, + { + "segfile":"intro_sprite_egg", + "width":4 + }, + { + "segfile":"intro_sprite_ball_upgrade_fx", + "width":4 + }, + { + "segfile":"intro_sprite_spoink", + "oam": true, + "mwidth":3, + "mheight":4, + "width":3 + }, + { + "segfile":"intro_sprite_spoink_tail", + "width":2 + }, + { + "segfile":"intro_sprite_pelipper", + "oam":true, + "mwidth":6, + "mheight":6, + "width":6 + }, + { + "segfile":"intro_sprite_wailmer", + "oam":true, + "mwidth":6, + "mheight":4, + "width":6 + }, + { + "segfile":"intro_sprite_zigzagoon", + "oam":true, + "mwidth":6, + "mheight":4, + "width":6 + }, + { + "segfile":"intro_sprite_minon", + "width":4 + }, + { + "segfile":"intro_sprite_plussle", + "width":4 + }, + { + "segfile":"intro_sprite_shroomish", + "width":4 + }, + { + "segfile":"intro_sprite_basket", + "width":4 + }, + { + "segfile":"intro_sprite_seedot", + "oam":true, + "mwidth":3, + "mheight":4, + "width":3 + }, + { + "segfile":"intro_sprite_unk", + "width":4 + }, + { + "segfile":"intro_sprite_hatch_machine_base", + "width":4 + }, + { + "segfile":"intro_sprite_shop_charge", + "width":4 + }, + { + "segfile":"intro_sprite_minun_charge", + "width":4 + }, + { + "segfile":"intro_sprite_plussle_charge", + "width":4 + }, + { + "segfile":"intro_sprite_shop_top", + "width":4 + }, + { + "segfile":"intro_sprite_shop_bottom", + "width":4 + }, + { + "segfile":"intro_sprite_press_start", + "width":4 + }, + { + "segfile":"intro_sprite_spacer", + "width":4 + }, + { + "segfile":"intro_sprite_glint_set", + "width":4 + }, + { + "segfile":"intro_sprite_treeko", + "width":4 + }, + { + "segfile":"intro_sprite_ball_2", + "width":2 + }, + { + "segfile":"intro_sprite_shape", + "width":1 + } + ] } ] } \ No newline at end of file diff --git a/include/global.h b/include/global.h index 67b8efc..08057ab 100644 --- a/include/global.h +++ b/include/global.h @@ -983,7 +983,7 @@ extern const u8 gUnknown_08397E6C[]; extern const u8 gUnknown_083A8EEC[][0x300]; extern const u8 gUnknown_083BB16C[][0x80]; extern const u8 gUnknown_083BD36C[][0x200]; -extern const u8 gUnknown_0844838C[][0x300]; +extern const u8 gMainStageBonusTrap_Gfx[][0x300]; extern const u8 gUnknown_0848D68C[][0x300]; extern const u8 gUnknown_084C00EC[][0x80]; extern const u8 gUnknown_084C07EC[]; diff --git a/src/board_process3_kecleon.c b/src/board_process3_kecleon.c index febd245..fec85ba 100644 --- a/src/board_process3_kecleon.c +++ b/src/board_process3_kecleon.c @@ -31,8 +31,8 @@ struct Unk_086AEA70 extern const u8 gKecleonBonusClear_Gfx[]; extern const u16 gUnknown_08327994[]; -extern const u8 gUnknown_0844F98C[][0x280]; -extern const u8 gUnknown_0845588C[][0x100]; +extern const u8 gKecleonStageKecleon_Gfx[][0x280]; +extern const u8 gKecleonStageKecleonFx_Gfx[][0x100]; extern struct SongHeader se_unk_fc; extern struct SongHeader se_unk_fd; extern struct SongHeader se_unk_fe; @@ -789,7 +789,7 @@ void sub_36CB4(void) sp0 = gCurrentPinballGame->unk3DF; gCurrentPinballGame->unk3DF = gUnknown_086AE718[gCurrentPinballGame->unk3E2][2]; - DmaCopy16(3, gUnknown_0844F98C[sp0], (void *)0x6010920, 0x280); + DmaCopy16(3, gKecleonStageKecleon_Gfx[sp0], (void *)0x6010920, 0x280); sp4 = gUnknown_086AE718[gCurrentPinballGame->unk3E2][0]; spriteGroup->baseX = gCurrentPinballGame->unk3E8 / 10 + baseX - gCurrentPinballGame->unk58; spriteGroup->baseY = gCurrentPinballGame->unk3EA / 10 + baseY - gCurrentPinballGame->unk5A; @@ -899,7 +899,7 @@ void sub_36CB4(void) var0 = gCurrentPinballGame->unk3F8 * 3; var1 = gCurrentPinballGame->unk3FC / 8 - 2; - DmaCopy16(3, gUnknown_0845588C[var0 - var1], (void *)0x6010BA0, 0x100); + DmaCopy16(3, gKecleonStageKecleonFx_Gfx[var0 - var1], (void *)0x6010BA0, 0x100); if (gCurrentPinballGame->unk3FC > 0) { gCurrentPinballGame->unk3FC--; diff --git a/src/pinball_game_main.c b/src/pinball_game_main.c index bc1f0ad..94f685d 100644 --- a/src/pinball_game_main.c +++ b/src/pinball_game_main.c @@ -54,7 +54,7 @@ extern const u8 gUnknown_083C3C2C[][0x300]; extern const u8 gRubyBoardSharpedo_Gfx[][0x260]; extern const u8 gUnknown_083C806C[][0x100]; extern const u8 gRubyBoardShopDoor_Gfx[][0x180]; -extern const u8 gUnknown_08449D8C[][0x280]; +extern const u8 gRubyStageCyndaquil_Gfx[][0x280]; extern const u8 gRubyBoardShop_Gfx[][0x500]; extern const u8 gUnknown_08490A4C[][0x440]; extern const s16 gUnknown_086AE5A0[][2]; @@ -1488,7 +1488,7 @@ void sub_4C290(void) } } - DmaCopy16(3, gUnknown_0844838C[gCurrentPinballGame->unk20B], 0x060113C0, 0x300); + DmaCopy16(3, gMainStageBonusTrap_Gfx[gCurrentPinballGame->unk20B], 0x060113C0, 0x300); DmaCopy16(3, gUnknown_086AD49C[gCurrentPinballGame->unk25F] + var0 * 0x200, 0x060116C0, 0x200); DmaCopy16(3, gUnknown_084FD18C[(s16)gUnknown_086AD2EE[gCurrentPinballGame->unk1ED][3]], 0x06011CE0, 0x200); DmaCopy16(3, gUnknown_083BD36C[gCurrentPinballGame->unk6E], 0x06011EE0, 0x200); @@ -1516,7 +1516,7 @@ void sub_4C808(void) else gCurrentPinballGame->unk746 = 1; - DmaCopy16(3, gUnknown_08449D8C[gCurrentPinballGame->unk746], (void *)0x6013300, 0x280); + DmaCopy16(3, gRubyStageCyndaquil_Gfx[gCurrentPinballGame->unk746], (void *)0x6013300, 0x280); var0 = gUnknown_086AD456[gCurrentPinballGame->unk1A5][(gCurrentPinballGame->unk1B4 % 42) / 6]; DmaCopy16(3, gRubyBoardShop_Gfx[var0], (void *)0x6013D00, 0x500); } diff --git a/src/rom_201B8.c b/src/rom_201B8.c index f84d7ba..77376ef 100644 --- a/src/rom_201B8.c +++ b/src/rom_201B8.c @@ -8,7 +8,7 @@ extern const s16 gUnknown_086ADEB0[][2]; extern const u16 gUnknown_086ADEB2[][2]; extern const s16 gUnknown_086ADA6E[][5]; extern const u16 gUnknown_086B2FC0[146][18]; -extern const u8 gUnknown_08447A8C[][0x180]; +extern const u8 gRubyStageGulpin_Gfx[][0x180]; extern const s16 gUnknown_086ADA58[]; extern const u8 gUnknown_083C3C2C[][0x300]; extern const u8 gUnknown_083C562C[][0x100]; @@ -30,7 +30,7 @@ extern const u8 gUnknown_084B7FEC[][0x480]; extern const u8 gRubyBoardShopDoor_Gfx[][0x180]; extern const s16 gUnknown_086AD7C0[50][3]; extern const s16 gUnknown_086AD856[][2]; -extern const u8 gUnknown_0845710C[][0x280]; +extern const u8 gRubyStageNuzleaf_Gfx[][0x280]; extern const u16 gUnknown_086B2E64[58][6]; extern const u16 gUnknown_081C00E4[]; extern const u16 gUnknown_086AD798[2]; @@ -477,7 +477,7 @@ void sub_1D5D8(void) { group->baseX = gUnknown_086AD856[gCurrentPinballGame->unk2F9][0] - gCurrentPinballGame->unk58; group->baseY = gUnknown_086AD856[gCurrentPinballGame->unk2F9][1] - gCurrentPinballGame->unk5A; - DmaCopy16(3, gUnknown_0845710C[gCurrentPinballGame->unk2FC], (void *)0x06014380, 0x260); + DmaCopy16(3, gRubyStageNuzleaf_Gfx[gCurrentPinballGame->unk2FC], (void *)0x06014380, 0x260); for (i = 0; i < 2; i++) { oamSimple = &group->oam[i]; @@ -1660,9 +1660,9 @@ void sub_1FBC4(void) } index = var0[0]; - DmaCopy16(3, gUnknown_08447A8C[var0[2]], (void *)0x06013B80, 0x180); - DmaCopy16(3, gUnknown_08447A8C[var0[3]], (void *)0x06013A00, 0x180); - DmaCopy16(3, gUnknown_08447A8C[var0[4]], (void *)0x06013880, 0x180); + DmaCopy16(3, gRubyStageGulpin_Gfx[var0[2]], (void *)0x06013B80, 0x180); + DmaCopy16(3, gRubyStageGulpin_Gfx[var0[3]], (void *)0x06013A00, 0x180); + DmaCopy16(3, gRubyStageGulpin_Gfx[var0[4]], (void *)0x06013880, 0x180); for (i = 0; i < 6; i++) { oamSimple = &group->oam[i]; diff --git a/src/rom_27E08.c b/src/rom_27E08.c index 7b7bef4..41d4c17 100644 --- a/src/rom_27E08.c +++ b/src/rom_27E08.c @@ -47,7 +47,7 @@ extern const u8 gUnknown_0202D760[]; extern const u16 gUnknown_086B4B0E[48][4][3]; extern const u16 gUnknown_086AE0B4[]; extern const struct Vector16 gUnknown_086AE0A4[]; -extern const u8 gUnknown_08449D8C[][0x280]; +extern const u8 gRubyStageCyndaquil_Gfx[][0x280]; extern const u8 gRubyBoardHatchCave_Gfx[][0x480]; extern const u16 gUnknown_086B4D4E[40][2][3]; extern const u8 gUnknown_083FFD4C[][0x40]; @@ -501,7 +501,7 @@ void sub_216FC(void) void sub_219A8(void) { - DmaCopy16(3, gUnknown_0844838C[0], (void *)0x060113C0, 0x300); + DmaCopy16(3, gMainStageBonusTrap_Gfx[0], (void *)0x060113C0, 0x300); gMain.unk44[13]->available = 1; gCurrentPinballGame->unk5F3 = 1; } @@ -529,7 +529,7 @@ void sub_219EC(void) { if (gCurrentPinballGame->unk20B != gCurrentPinballGame->unk20C) { - DmaCopy16(3, gUnknown_0844838C[gCurrentPinballGame->unk20B], (void *)0x060113C0, 0x300); + DmaCopy16(3, gMainStageBonusTrap_Gfx[gCurrentPinballGame->unk20B], (void *)0x060113C0, 0x300); gCurrentPinballGame->unk20C = gCurrentPinballGame->unk20B; } } @@ -1569,7 +1569,7 @@ void sub_23E18(void) group->baseY = gCurrentPinballGame->unk2D6 - gCurrentPinballGame->unk5A; if (var0 % 6 == 0) { - DmaCopy16(3, gUnknown_08449D8C[gCurrentPinballGame->unk746], (void *)0x06013300, 0x280); + DmaCopy16(3, gRubyStageCyndaquil_Gfx[gCurrentPinballGame->unk746], (void *)0x06013300, 0x280); } } else if (gCurrentPinballGame->unk2DA == 3) @@ -1580,7 +1580,7 @@ void sub_23E18(void) { gCurrentPinballGame->unk1EC = 2; gCurrentPinballGame->unk746 = 1; - DmaCopy16(3, gUnknown_08449D8C[gCurrentPinballGame->unk746], (void *)0x06013300, 0x280); + DmaCopy16(3, gRubyStageCyndaquil_Gfx[gCurrentPinballGame->unk746], (void *)0x06013300, 0x280); gMain.unkF |= 0x1; gCurrentPinballGame->unkEA = 0; gCurrentPinballGame->unkEC = 60; diff --git a/src/rom_30480.c b/src/rom_30480.c index 507a871..8a65fff 100644 --- a/src/rom_30480.c +++ b/src/rom_30480.c @@ -5,7 +5,7 @@ extern const u16 gUnknown_086B4D4E[40][2][3]; extern const u16 gUnknown_086AE54A[]; -extern const u8 gUnknown_0844F20C[][0x280]; +extern const u8 gSapphireStageBasket_Gfx[][0x280]; extern const u8 gSapphireBoardSeedot_Gfx[][0x180]; extern const u16 gUnknown_086AE544[]; extern const u16 gSapphireBoardSeedotSpritesheetOam[6][6][2][3]; @@ -388,7 +388,7 @@ void sub_30EB4(void) group->baseX = 10 - gCurrentPinballGame->unk58; group->baseY = 298 - gCurrentPinballGame->unk5A; index = gCurrentPinballGame->unk324; - DmaCopy16(3, gUnknown_0844F20C[index], (void *)0x060139A0, 0x280); + DmaCopy16(3, gSapphireStageBasket_Gfx[index], (void *)0x060139A0, 0x280); for (i = 0; i < 2; i++) { diff --git a/src/rom_31BE8.c b/src/rom_31BE8.c index c58d31b..2ff6339 100644 --- a/src/rom_31BE8.c +++ b/src/rom_31BE8.c @@ -11,7 +11,7 @@ extern const s16 gUnknown_086AE58A[][2]; extern const s16 gUnknown_086AE588[][2]; extern const u8 gUnknown_08490A4C[][0x440]; extern struct Vector16 gUnknown_086AE554[]; -extern const u8 gUnknown_08449D8C[][0x280]; +extern const u8 gRubyStageCyndaquil_Gfx[][0x280]; extern const u8 gUnknown_081BC984[][0x20]; extern const u8 gUnknown_0848108C[][0x480]; diff --git a/src/rom_467F4.c b/src/rom_467F4.c index cacecbe..abbd7fb 100644 --- a/src/rom_467F4.c +++ b/src/rom_467F4.c @@ -67,8 +67,8 @@ extern const u8 gUnknown_0838E828[]; extern const u8 gUnknown_083A826C[]; extern const u8 gUnknown_083A8ACC[]; -extern const u8 gUnknown_0845A48C[]; -extern const u8 gUnknown_0845F9EC[]; +extern const u8 gRubyIntroSprites_Gfx[]; +extern const u8 gSapphireIntroSprites_Gfx[]; extern const u8 gUnknown_08464F4C[]; extern const u8 gUnknown_084675EC[]; extern const u8 gUnknown_0846A40C[]; @@ -100,7 +100,7 @@ void sub_467F4(void) DmaCopy16(3, gUnknown_0822E424, (void *)0x06001000, 0x1000); DmaCopy16(3, gUnknown_083A8ACC, (void *)0x06006800, 0x400); DmaCopy16(3, gUnknown_083A826C, (void *)0x06006C00, 0x800); - DmaCopy16(3, gUnknown_0845A48C, (void *)0x06010000, 0x8000); + DmaCopy16(3, gRubyIntroSprites_Gfx, (void *)0x06010000, 0x8000); break; case FIELD_SAPPHIRE: DmaCopy16(3, gUnknown_0826EC10, (void *)BG_PLTT, BG_PLTT_SIZE); @@ -116,7 +116,7 @@ void sub_467F4(void) DmaCopy16(3, gUnknown_082AE6D0, (void *)0x06001000, 0x1000); DmaCopy16(3, gUnknown_083A8ACC, (void *)0x06006800, 0x400); DmaCopy16(3, gUnknown_083A826C, (void *)0x06006C00, 0x800); - DmaCopy16(3, gUnknown_0845F9EC, (void *)0x06010000, 0x8000); + DmaCopy16(3, gSapphireIntroSprites_Gfx, (void *)0x06010000, 0x8000); break; case FIELD_DUSCLOPS: DmaCopy16(3, gUnknown_082EDEE0, (void *)BG_PLTT, BG_PLTT_SIZE);