summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x].gitignore0
-rw-r--r--[-rwxr-xr-x]INSTALL.md23
-rw-r--r--[-rwxr-xr-x]Makefile46
-rw-r--r--[-rwxr-xr-x]README.md0
-rw-r--r--[-rwxr-xr-x]audio/engine_0f.asm0
-rw-r--r--[-rwxr-xr-x]audio/engine_10.asm0
-rw-r--r--[-rwxr-xr-x]audio/engine_11.asm0
-rw-r--r--[-rwxr-xr-x]audio/engine_12.asm0
-rw-r--r--[-rwxr-xr-x]audio/engine_13.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/bluefield.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/catchemblue.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/catchemred.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/endcredits.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/fieldselect.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/gameover.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/gastlyinthegraveyard.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/gengarinthegraveyard.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/haunterinthegraveyard.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/hiscore.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/hurryupblue.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/hurryupred.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/meowthstage.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/mewtwostage.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/nameentry.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/nothing0f.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/nothing10.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/nothing11.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/nothing12.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/nothing13.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/options.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/pokedex.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/redfield.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/seelstage.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/title.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/whackthediglett.asm0
-rw-r--r--[-rwxr-xr-x]audio/music/whackthedugtrio.asm0
-rw-r--r--[-rwxr-xr-x]audio/pikapcm.asm0
-rw-r--r--[-rwxr-xr-x]audio/sound_clips/pi_ka_chu.wavbin26020 -> 26020 bytes
-rw-r--r--[-rwxr-xr-x]audio/sound_clips/piiiiikaaaa.wavbin37204 -> 37204 bytes
-rw-r--r--[-rwxr-xr-x]charmap.asm0
-rw-r--r--[-rwxr-xr-x]constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/ball_types.asm0
-rw-r--r--[-rwxr-xr-x]constants/diglett_stage_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/evolution_line_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/evolution_type_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/joy_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/map_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/pinball_game_constants.asm5
-rw-r--r--[-rwxr-xr-x]constants/pokemon_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/screen_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/song_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/sound_effect_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/species_constants.asm0
-rw-r--r--[-rwxr-xr-x]constants/stage_constants.asm0
-rw-r--r--[-rwxr-xr-x]data/ball_palettes.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/billboard_pic_pointers.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/billboard_pics.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/bonus_multiplier_pics.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/map_palette_maps.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/map_palette_maps_2.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/map_palettes.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/map_palettes_2.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/map_pics.asm0
-rw-r--r--[-rwxr-xr-x]data/billboard/reward_pics.asm0
-rw-r--r--[-rwxr-xr-x]data/blue_wild_mons.asm0
-rw-r--r--[-rwxr-xr-x]data/catchem_timer_values.asm0
-rw-r--r--[-rwxr-xr-x]data/collision/ball_physics_e4000.binbin4096 -> 4096 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/ball_physics_ec000.binbin16384 -> 16384 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/ball_physics_f0000.binbin9216 -> 9216 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/circle_collision_angles.bin0
-rw-r--r--[-rwxr-xr-x]data/collision/collision_deltas.asm0
-rw-r--r--[-rwxr-xr-x]data/collision/flippers/horizontal_attributes_0bin16384 -> 16384 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/flippers/horizontal_attributes_1bin8192 -> 8192 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/flippers/vertical_attributes_0bin8192 -> 8192 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/flippers/vertical_attributes_1bin16384 -> 16384 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/game_objects/blue_stage_game_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]data/collision/game_objects/red_stage_game_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]data/collision/gengar_collision_angles.bin0
-rw-r--r--[-rwxr-xr-x]data/collision/haunter_collision_angles.bin0
-rw-r--r--[-rwxr-xr-x]data/collision/maps/blue_stage_bottom.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/blue_stage_top.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/blue_stage_top_ball_entrance.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/diglett_bonus.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/diglett_bonus_ball_entrance.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/gengar_bonus.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/gengar_bonus_ball_entrance.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/meowth_bonus.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/meowth_bonus_ball_entrance.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/mewtwo_bonus.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/mewtwo_bonus_ball_entrance.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_bottom.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_top_0.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_top_1.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_top_2.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_top_3.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_top_4.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_top_5.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_top_6.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/red_stage_top_7.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/seel_bonus.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/maps/seel_bonus_ball_entrance.collisionbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/blue_stage_bottom.masksbin2048 -> 2048 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/blue_stage_top.masksbin2048 -> 2048 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/bottom_left_bonus_stage_masks.masksbin384 -> 384 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/bottom_left_masks.masksbin384 -> 384 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/bottom_right_bonus_stage_masks.masksbin384 -> 384 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/bottom_right_masks.masksbin384 -> 384 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/diglett_bonus.masksbin768 -> 768 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/gengar_bonus.masksbin384 -> 384 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/meowth_bonus.masksbin256 -> 256 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/mewtwo_bonus.masksbin256 -> 256 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/red_stage_bottom.masksbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/red_stage_top_0.masksbin2048 -> 2048 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/red_stage_top_1.masksbin2048 -> 2048 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/red_stage_top_2.masksbin2048 -> 2048 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/red_stage_top_3.masksbin2048 -> 2048 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/masks/seel_bonus.masksbin256 -> 256 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/meowth_collision_angles.binbin1920 -> 1920 bytes
-rw-r--r--[-rwxr-xr-x]data/collision/meowth_jewel_collision_angles.bin0
-rw-r--r--[-rwxr-xr-x]data/collision/mon_collision_mask_pointers.asm0
-rw-r--r--[-rwxr-xr-x]data/collision/mon_collision_masks.asm0
-rw-r--r--[-rwxr-xr-x]data/collision/unused_trailing_data.binbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]data/dex_scroll_offsets.asm0
-rw-r--r--[-rwxr-xr-x]data/diglett_stage/diglett_stage_animation_data.asm0
-rw-r--r--[-rwxr-xr-x]data/evolution_line_starts.asm0
-rw-r--r--[-rwxr-xr-x]data/evolution_lines.asm0
-rw-r--r--[-rwxr-xr-x]data/evolution_methods.asm0
-rw-r--r--[-rwxr-xr-x]data/initial_high_scores.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_animated_sprite_types.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_animated_palettes_1.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_animated_palettes_2.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_animated_palettes_3.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_animated_pics_1.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_animated_pics_2.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_animated_pics_3.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_animated_pics_4.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_animated_pics_5.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palette_maps_1.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palette_maps_2.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palette_maps_3.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palette_maps_4.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palette_maps_5.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palettes_1.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palettes_2.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palettes_3.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palettes_4.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palettes_5.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_palettes_6.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_1.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_10.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_2.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_3.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_4.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_5.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_6.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_7.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_8.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_billboard_pics_9.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_gfx/mon_gfx_pointers.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_initial_indicator_states.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_names.asm0
-rw-r--r--[-rwxr-xr-x]data/mon_species.asm0
-rw-r--r--[-rwxr-xr-x]data/oam_frames.asm2
-rwxr-xr-xdata/queued_tiledata/blue_field/bonus_multiplier_railings.asm1269
-rwxr-xr-xdata/queued_tiledata/blue_field/bumpers.asm219
-rwxr-xr-xdata/queued_tiledata/blue_field/force_field.asm171
-rwxr-xr-xdata/queued_tiledata/blue_field/poliwag_psyduck.asm881
-rwxr-xr-xdata/queued_tiledata/blue_field/spinner.asm659
-rwxr-xr-xdata/queued_tiledata/red_field/bonus_multiplier_railings.asm1281
-rwxr-xr-xdata/queued_tiledata/red_field/bumpers.asm219
-rwxr-xr-xdata/queued_tiledata/red_field/diglett.asm771
-rwxr-xr-xdata/queued_tiledata/red_field/spinner.asm659
-rw-r--r--[-rwxr-xr-x]data/red_wild_mons.asm0
-rw-r--r--[-rwxr-xr-x]data/sine_table.asm0
-rw-r--r--[-rwxr-xr-x]data/stage_base_gfx.asm0
-rw-r--r--[-rwxr-xr-x]data/stage_palettes.asm0
-rw-r--r--[-rwxr-xr-x]data/timer_digits_tiledata.asm0
-rw-r--r--[-rwxr-xr-x]data/unknown/unused_4b6a8.binbin2392 -> 2392 bytes
-rw-r--r--[-rwxr-xr-x]data/unknown/unused_dbf60.binbin160 -> 160 bytes
-rw-r--r--[-rwxr-xr-x]data/unused_data_d3800.binbin2048 -> 2048 bytes
-rw-r--r--[-rwxr-xr-x]data/vwf_character_widths.asm0
-rw-r--r--[-rwxr-xr-x]data/wild_mons.asm0
-rw-r--r--[-rwxr-xr-x]engine/copyright_screen.asm0
-rw-r--r--[-rwxr-xr-x]engine/erase_all_data_menu.asm0
-rw-r--r--[-rwxr-xr-x]engine/field_select_screen.asm0
-rw-r--r--[-rwxr-xr-x]engine/high_scores_screen.asm2
-rw-r--r--[-rwxr-xr-x]engine/options_screen.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game.asm12
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_gfx.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init.asm4
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init_blue_field.asm6
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init_diglett_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init_gengar_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init_meowth_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init_red_field.asm6
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init_seel_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_init/ball_init_unused_stage.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_loss/ball_loss.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_loss/ball_loss_blue_field.asm6
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm4
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm4
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_loss/ball_loss_red_field.asm6
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_saver/ball_saver_20.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_saver/ball_saver_30.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_saver/ball_saver_60.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_saver/ball_saver_90.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/billboard.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/billboard_tiledata.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/bonus_multiplier.asm12
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/catchem_mode.asm20
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/catchem_mode/catchem_mode_red_field.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_red_field_sprites.asm2
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_sprites.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/end_of_ball_bonus.asm8
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm4
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/evolution_mode/evolution_mode_red_field.asm4
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/extra_ball.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/flippers.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_blue_field.asm24
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_diglett_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_gengar_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_meowth_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_red_field.asm16
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_seel_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_stage_data.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/load_stage_data/load_unused_stage.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/menu.asm4
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/blue_stage_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/blue_stage_resolve_collision.asm3618
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/diglett_bonus_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/gengar_bonus_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm4
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/meowth_bonus_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/object_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/red_stage_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/red_stage_resolve_collision.asm3230
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/seel_bonus_object_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/save_game.asm2
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/score.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/slot.asm26
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_collision_attributes.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_blue_field.asm6
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_diglett_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_gengar_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_meowth_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_mewtwo_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_red_field.asm6
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_seel_bonus.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_stages.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/stage_init/init_unused_stage.asm2
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/timer.asm0
-rw-r--r--[-rwxr-xr-x]engine/pinball_game/vertical_screen_transition.asm6
-rw-r--r--[-rwxr-xr-x]engine/pokedex.asm4
-rw-r--r--[-rwxr-xr-x]engine/pokedex/variable_width_font_character.asm0
-rw-r--r--[-rwxr-xr-x]engine/select_gameboy_target_menu.asm0
-rw-r--r--[-rwxr-xr-x]engine/titlescreen.asm0
-rw-r--r--[-rwxr-xr-x]gbhw.asm0
-rw-r--r--[-rwxr-xr-x]gfx/bgattr/copyright_screen.bgattrbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/bgattr/erase_all_data.bgattrbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/bgattr/field_select.bgattrbin576 -> 576 bytes
-rw-r--r--[-rwxr-xr-x]gfx/bgattr/pokedex.bgattrbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/bgattr/pokedex_2.bgattrbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/bgattr/titlescreen.bgattrbin576 -> 576 bytes
-rw-r--r--[-rwxr-xr-x]gfx/billboard/gotonext_off.pngbin261 -> 261 bytes
-rw-r--r--[-rwxr-xr-x]gfx/billboard/gotonext_on.pngbin314 -> 314 bytes
-rw-r--r--[-rwxr-xr-x]gfx/billboard/hurryup2_off.pngbin246 -> 246 bytes
-rw-r--r--[-rwxr-xr-x]gfx/billboard/hurryup2_on.pngbin319 -> 319 bytes
-rw-r--r--[-rwxr-xr-x]gfx/billboard/hurryup_off.pngbin243 -> 243 bytes
-rw-r--r--[-rwxr-xr-x]gfx/billboard/hurryup_on.pngbin324 -> 324 bytes
-rw-r--r--[-rwxr-xr-x]gfx/high_scores/high_scores_transition_palettes.asm0
-rw-r--r--[-rwxr-xr-x]gfx/high_scores/high_scores_transition_palettes_2.asm0
-rw-r--r--[-rwxr-xr-x]gfx/stage/ball_capture_smoke.interleave.pngbin385 -> 385 bytes
-rw-r--r--[-rwxr-xr-x]gfx/stage/shared/arrows.pngbin146 -> 146 bytes
-rw-r--r--[-rwxr-xr-x]gfx/stage/shared/bonus_slot_glow_2.pngbin94 -> 94 bytes
-rw-r--r--[-rwxr-xr-x]gfx/stage/shared/pika_bolt.pngbin118 -> 118 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/copyright_screen.map0
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/erase_all_data.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/field_select.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/high_scores_screen.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/high_scores_screen_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/high_scores_screen_3.map0
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/high_scores_screen_4.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/high_scores_screen_5.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/option_menu.mapbin576 -> 576 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/option_menu_2.mapbin576 -> 576 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/option_menu_3.mapbin576 -> 576 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/option_menu_4.mapbin576 -> 576 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/pokedex.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/pokedex_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/sgb_border.mapbin2144 -> 2144 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_blue_field_bottom_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_blue_field_bottom_gameboycolor.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_blue_field_bottom_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_blue_field_top_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_blue_field_top_gameboycolor.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_blue_field_top_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_diglett_bonus_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_diglett_bonus_gameboycolor.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_diglett_bonus_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_gengar_bonus_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_gengar_bonus_gameboycolor.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_gengar_bonus_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_meowth_bonus_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_meowth_bonus_gameboycolor.map0
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_meowth_bonus_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_mewtwo_bonus_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_mewtwo_bonus_gameboycolor.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_mewtwo_bonus_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_red_field_bottom_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_red_field_bottom_gameboycolor.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_red_field_bottom_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_red_field_top_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_red_field_top_gameboycolor.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_red_field_top_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_seel_bonus_gameboy.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_seel_bonus_gameboycolor.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/stage_seel_bonus_gameboycolor_2.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/titlescreen.mapbin1024 -> 1024 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/unused_tilemap_c3640.mapbin448 -> 448 bytes
-rw-r--r--[-rwxr-xr-x]gfx/tilemaps/unused_tilemap_d2800.mapbin2048 -> 2048 bytes
-rw-r--r--[-rwxr-xr-x]home.asm83
-rw-r--r--[-rwxr-xr-x]home/save.asm0
-rw-r--r--[-rwxr-xr-x]home/serial.asm0
-rw-r--r--[-rwxr-xr-x]home/sgb.asm0
-rw-r--r--[-rwxr-xr-x]home/text.asm3
-rw-r--r--[-rwxr-xr-x]hram.asm0
-rw-r--r--[-rwxr-xr-x]macros.asm0
-rw-r--r--[-rwxr-xr-x]macros/sound.asm0
-rw-r--r--[-rwxr-xr-x]main.asm178
-rw-r--r--[-rwxr-xr-x]rom.md50
-rw-r--r--[-rwxr-xr-x]sram.asm0
-rw-r--r--[-rwxr-xr-x]text.asm0
-rw-r--r--[-rwxr-xr-x]text/pokedex_descriptions.asm0
-rw-r--r--[-rwxr-xr-x]text/pokedex_mon_attributes.asm0
-rw-r--r--[-rwxr-xr-x]text/pokedex_mon_names.asm0
-rw-r--r--[-rwxr-xr-x]text/pokedex_species.asm0
-rw-r--r--tools/Makefile18
-rw-r--r--tools/common.h37
-rw-r--r--tools/gfx.c291
-rw-r--r--tools/pcm.c255
-rw-r--r--tools/scan_includes.c132
-rw-r--r--[-rwxr-xr-x]vram.asm0
-rw-r--r--[-rwxr-xr-x]wram.asm85
362 files changed, 7566 insertions, 6769 deletions
diff --git a/.gitignore b/.gitignore
index 4d424b4..4d424b4 100755..100644
--- a/.gitignore
+++ b/.gitignore
diff --git a/INSTALL.md b/INSTALL.md
index dd38b9e..e9b81bd 100755..100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -2,12 +2,12 @@
Dependencies:
- sudo apt-get install make gcc bison git python python-setuptools
+ sudo apt-get install make gcc bison git
sudo easy_install pip
The assembler used is [**rgbds**](https://github.com/bentley/rgbds).
- git clone git://github.com/bentley/rgbds.git
+ git clone https://github.com/rednex/rgbds
cd rgbds
sudo mkdir -p /usr/local/man/man{1,7}
sudo make install
@@ -16,16 +16,14 @@ The assembler used is [**rgbds**](https://github.com/bentley/rgbds).
Set up the repository.
- git clone git://github.com/huderlem/pokepinball.git
+ git clone https://github.com/huderlem/pokepinball
cd pokepinball
- git submodule init
- git submodule update
To build `pokepinball.gbc`:
make
-This will take a few second the first time you build because it needs to process all of the graphics.
+This will take a few seconds the first time you build because it needs to process all of the graphics.
To remove all generated files by the build process:
@@ -47,22 +45,21 @@ Then follow the Linux instructions.
# Windows
-It's recommended that you use a virtual machine running Linux or OS X.
-
-If you insist on Windows, use [**Cygwin**](http://cygwin.com/install.html) (32-bit).
+To build on Windows, install [**Cygwin**](http://cygwin.com/install.html) with the default settings.
Dependencies are downloaded in the installer rather than the command line.
Select the following packages:
* make
* git
-* python
-* python-setuptools
+* gcc-core
The latest pokepinball-compatible version of **rgbds** is [**0.3.0**](https://github.com/rednex/rgbds/releases/download/v0.3.0/rgbds-0.3.0-win32.zip). To install, put each of the files in the download in `C:\cygwin\usr\local\bin`.
Then set up the repository. In the **Cygwin terminal**:
- https://github.com/pret/pokepinball.git
+ git clone https://github.com/pret/pokepinball.git
cd pokepinball
-To build, follow the Linux instructions.
+To build `pokepinball.gbc`:
+
+ make
diff --git a/Makefile b/Makefile
index 6b2e814..f1a100e 100755..100644
--- a/Makefile
+++ b/Makefile
@@ -1,31 +1,23 @@
-.PHONY: all compare clean tidy
+.PHONY: all tools compare clean tidy
.SUFFIXES:
-.SUFFIXES: .asm .o .gbc .png
.SECONDEXPANSION:
+.PRECIOUS:
+.SECONDARY:
-# Build Pokemon Pinball.
ROM := pokepinball.gbc
OBJS := main.o wram.o sram.o
-# If your default python is 3, you may want to change this to python27.
-PYTHON := python
-PRET := pokemon-reverse-engineering-tools/pokemontools
-MD5 := md5sum -c --quiet
+MD5 := md5sum -c
-$(foreach obj, $(OBJS), \
- $(eval $(obj:.o=)_dep := $(shell $(PYTHON) $(PRET)/scan_includes.py $(obj:.o=.asm))) \
-)
-
-# Link objects together to build a rom.
all: $(ROM) compare
-# Assemble source files into objects.
-# Use rgbasm -h to use halts without nops.
-$(OBJS): $$*.asm $$($$*_dep)
- @$(PYTHON) $(PRET)/gfx.py 2bpp $(2bppq)
- @$(PYTHON) $(PRET)/gfx.py 1bpp $(1bppq)
- @$(PYTHON) $(PRET)/pcm.py pcm $(pcmq)
+ifeq (,$(filter tools clean tidy,$(MAKECMDGOALS)))
+Makefile: tools
+endif
+
+%.o: dep = $(shell tools/scan_includes $(@D)/$*.asm)
+%.o: %.asm $$(dep)
rgbasm -h -o $@ $<
$(ROM): $(OBJS) contents/contents.link
@@ -36,21 +28,25 @@ $(ROM): $(OBJS) contents/contents.link
compare: $(ROM)
@$(MD5) rom.md5
-# Remove files generated by the build process.
+tools:
+ $(MAKE) -C tools
+
tidy:
rm -f $(ROM) $(OBJS) $(ROM:.gbc=.sym) $(ROM:.gbc=.map)
+ $(MAKE) -C tools clean
clean: tidy
find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pcm' \) -exec rm {} +
+%.interleave.2bpp: %.interleave.png
+ rgbgfx -o $@ $<
+ tools/gfx --interleave --png $< -o $@ $@
+
%.2bpp: %.png
- $(eval 2bppq += $<)
- @rm -f $@
+ rgbgfx -o $@ $<
%.1bpp: %.png
- $(eval 1bppq += $<)
- @rm -f $@
+ rgbgfx -d1 -o $@ $<
%.pcm: %.wav
- $(eval pcmq += $<)
- @rm -f $@
+ tools/pcm -o $@ $<
diff --git a/README.md b/README.md
index 73413c6..73413c6 100755..100644
--- a/README.md
+++ b/README.md
diff --git a/audio/engine_0f.asm b/audio/engine_0f.asm
index 395c3c5..395c3c5 100755..100644
--- a/audio/engine_0f.asm
+++ b/audio/engine_0f.asm
diff --git a/audio/engine_10.asm b/audio/engine_10.asm
index 7f525c7..7f525c7 100755..100644
--- a/audio/engine_10.asm
+++ b/audio/engine_10.asm
diff --git a/audio/engine_11.asm b/audio/engine_11.asm
index 7d04f53..7d04f53 100755..100644
--- a/audio/engine_11.asm
+++ b/audio/engine_11.asm
diff --git a/audio/engine_12.asm b/audio/engine_12.asm
index 9623f0c..9623f0c 100755..100644
--- a/audio/engine_12.asm
+++ b/audio/engine_12.asm
diff --git a/audio/engine_13.asm b/audio/engine_13.asm
index ebacaf3..ebacaf3 100755..100644
--- a/audio/engine_13.asm
+++ b/audio/engine_13.asm
diff --git a/audio/music/bluefield.asm b/audio/music/bluefield.asm
index b85c4b9..b85c4b9 100755..100644
--- a/audio/music/bluefield.asm
+++ b/audio/music/bluefield.asm
diff --git a/audio/music/catchemblue.asm b/audio/music/catchemblue.asm
index 392333f..392333f 100755..100644
--- a/audio/music/catchemblue.asm
+++ b/audio/music/catchemblue.asm
diff --git a/audio/music/catchemred.asm b/audio/music/catchemred.asm
index 14e98f3..14e98f3 100755..100644
--- a/audio/music/catchemred.asm
+++ b/audio/music/catchemred.asm
diff --git a/audio/music/endcredits.asm b/audio/music/endcredits.asm
index ad1511a..ad1511a 100755..100644
--- a/audio/music/endcredits.asm
+++ b/audio/music/endcredits.asm
diff --git a/audio/music/fieldselect.asm b/audio/music/fieldselect.asm
index 121e29c..121e29c 100755..100644
--- a/audio/music/fieldselect.asm
+++ b/audio/music/fieldselect.asm
diff --git a/audio/music/gameover.asm b/audio/music/gameover.asm
index 35964b0..35964b0 100755..100644
--- a/audio/music/gameover.asm
+++ b/audio/music/gameover.asm
diff --git a/audio/music/gastlyinthegraveyard.asm b/audio/music/gastlyinthegraveyard.asm
index 02380dc..02380dc 100755..100644
--- a/audio/music/gastlyinthegraveyard.asm
+++ b/audio/music/gastlyinthegraveyard.asm
diff --git a/audio/music/gengarinthegraveyard.asm b/audio/music/gengarinthegraveyard.asm
index d4c090b..d4c090b 100755..100644
--- a/audio/music/gengarinthegraveyard.asm
+++ b/audio/music/gengarinthegraveyard.asm
diff --git a/audio/music/haunterinthegraveyard.asm b/audio/music/haunterinthegraveyard.asm
index 1c99ffb..1c99ffb 100755..100644
--- a/audio/music/haunterinthegraveyard.asm
+++ b/audio/music/haunterinthegraveyard.asm
diff --git a/audio/music/hiscore.asm b/audio/music/hiscore.asm
index fb52b11..fb52b11 100755..100644
--- a/audio/music/hiscore.asm
+++ b/audio/music/hiscore.asm
diff --git a/audio/music/hurryupblue.asm b/audio/music/hurryupblue.asm
index bf10018..bf10018 100755..100644
--- a/audio/music/hurryupblue.asm
+++ b/audio/music/hurryupblue.asm
diff --git a/audio/music/hurryupred.asm b/audio/music/hurryupred.asm
index e805364..e805364 100755..100644
--- a/audio/music/hurryupred.asm
+++ b/audio/music/hurryupred.asm
diff --git a/audio/music/meowthstage.asm b/audio/music/meowthstage.asm
index 70c0e91..70c0e91 100755..100644
--- a/audio/music/meowthstage.asm
+++ b/audio/music/meowthstage.asm
diff --git a/audio/music/mewtwostage.asm b/audio/music/mewtwostage.asm
index b8f8b25..b8f8b25 100755..100644
--- a/audio/music/mewtwostage.asm
+++ b/audio/music/mewtwostage.asm
diff --git a/audio/music/nameentry.asm b/audio/music/nameentry.asm
index 688b30d..688b30d 100755..100644
--- a/audio/music/nameentry.asm
+++ b/audio/music/nameentry.asm
diff --git a/audio/music/nothing0f.asm b/audio/music/nothing0f.asm
index 714c8f3..714c8f3 100755..100644
--- a/audio/music/nothing0f.asm
+++ b/audio/music/nothing0f.asm
diff --git a/audio/music/nothing10.asm b/audio/music/nothing10.asm
index ca74143..ca74143 100755..100644
--- a/audio/music/nothing10.asm
+++ b/audio/music/nothing10.asm
diff --git a/audio/music/nothing11.asm b/audio/music/nothing11.asm
index c819181..c819181 100755..100644
--- a/audio/music/nothing11.asm
+++ b/audio/music/nothing11.asm
diff --git a/audio/music/nothing12.asm b/audio/music/nothing12.asm
index 3007c0e..3007c0e 100755..100644
--- a/audio/music/nothing12.asm
+++ b/audio/music/nothing12.asm
diff --git a/audio/music/nothing13.asm b/audio/music/nothing13.asm
index e4fa4d6..e4fa4d6 100755..100644
--- a/audio/music/nothing13.asm
+++ b/audio/music/nothing13.asm
diff --git a/audio/music/options.asm b/audio/music/options.asm
index f8a4580..f8a4580 100755..100644
--- a/audio/music/options.asm
+++ b/audio/music/options.asm
diff --git a/audio/music/pokedex.asm b/audio/music/pokedex.asm
index 8d2def8..8d2def8 100755..100644
--- a/audio/music/pokedex.asm
+++ b/audio/music/pokedex.asm
diff --git a/audio/music/redfield.asm b/audio/music/redfield.asm
index 01dd3ce..01dd3ce 100755..100644
--- a/audio/music/redfield.asm
+++ b/audio/music/redfield.asm
diff --git a/audio/music/seelstage.asm b/audio/music/seelstage.asm
index ca49393..ca49393 100755..100644
--- a/audio/music/seelstage.asm
+++ b/audio/music/seelstage.asm
diff --git a/audio/music/title.asm b/audio/music/title.asm
index 9124fa3..9124fa3 100755..100644
--- a/audio/music/title.asm
+++ b/audio/music/title.asm
diff --git a/audio/music/whackthediglett.asm b/audio/music/whackthediglett.asm
index ead52ee..ead52ee 100755..100644
--- a/audio/music/whackthediglett.asm
+++ b/audio/music/whackthediglett.asm
diff --git a/audio/music/whackthedugtrio.asm b/audio/music/whackthedugtrio.asm
index b6bd864..b6bd864 100755..100644
--- a/audio/music/whackthedugtrio.asm
+++ b/audio/music/whackthedugtrio.asm
diff --git a/audio/pikapcm.asm b/audio/pikapcm.asm
index 6b4bbfe..6b4bbfe 100755..100644
--- a/audio/pikapcm.asm
+++ b/audio/pikapcm.asm
diff --git a/audio/sound_clips/pi_ka_chu.wav b/audio/sound_clips/pi_ka_chu.wav
index 9be38b1..9be38b1 100755..100644
--- a/audio/sound_clips/pi_ka_chu.wav
+++ b/audio/sound_clips/pi_ka_chu.wav
Binary files differ
diff --git a/audio/sound_clips/piiiiikaaaa.wav b/audio/sound_clips/piiiiikaaaa.wav
index 1c52bc5..1c52bc5 100755..100644
--- a/audio/sound_clips/piiiiikaaaa.wav
+++ b/audio/sound_clips/piiiiikaaaa.wav
Binary files differ
diff --git a/charmap.asm b/charmap.asm
index 7754cd1..7754cd1 100755..100644
--- a/charmap.asm
+++ b/charmap.asm
diff --git a/constants.asm b/constants.asm
index f91532d..f91532d 100755..100644
--- a/constants.asm
+++ b/constants.asm
diff --git a/constants/ball_types.asm b/constants/ball_types.asm
index 0256532..0256532 100755..100644
--- a/constants/ball_types.asm
+++ b/constants/ball_types.asm
diff --git a/constants/diglett_stage_constants.asm b/constants/diglett_stage_constants.asm
index 5c2fe7c..5c2fe7c 100755..100644
--- a/constants/diglett_stage_constants.asm
+++ b/constants/diglett_stage_constants.asm
diff --git a/constants/evolution_line_constants.asm b/constants/evolution_line_constants.asm
index 871da64..871da64 100755..100644
--- a/constants/evolution_line_constants.asm
+++ b/constants/evolution_line_constants.asm
diff --git a/constants/evolution_type_constants.asm b/constants/evolution_type_constants.asm
index bf538e7..bf538e7 100755..100644
--- a/constants/evolution_type_constants.asm
+++ b/constants/evolution_type_constants.asm
diff --git a/constants/joy_constants.asm b/constants/joy_constants.asm
index 59d392b..59d392b 100755..100644
--- a/constants/joy_constants.asm
+++ b/constants/joy_constants.asm
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index 1a28b53..1a28b53 100755..100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
diff --git a/constants/pinball_game_constants.asm b/constants/pinball_game_constants.asm
index 2c339d4..aad6e43 100755..100644
--- a/constants/pinball_game_constants.asm
+++ b/constants/pinball_game_constants.asm
@@ -10,4 +10,7 @@ SPECIAL_MODE_MAP_MOVE EQU 2 ; shares value with SPECIAL_MODE_EVOLUTION
; To encounter Mew, you must first beat Mewtwo's bonus stage 2 times.
NUM_MEWTWO_COMPLETIONS_FOR_MEW EQU 2
-MAX_BONUS_MULTIPLIER EQU 11
+MAX_BONUS_MULTIPLIER EQU 99
+MAX_BONUS_MULTIPLIER_FIELD_EVENTS EQU 11
+
+MAP_MOVE_FRAMES_COUNTER EQU 480 ; 8 seconds until the map move counter decrease by 1
diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm
index fff8fdc..fff8fdc 100755..100644
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
diff --git a/constants/screen_constants.asm b/constants/screen_constants.asm
index bec5a6e..bec5a6e 100755..100644
--- a/constants/screen_constants.asm
+++ b/constants/screen_constants.asm
diff --git a/constants/song_constants.asm b/constants/song_constants.asm
index b1aae4d..b1aae4d 100755..100644
--- a/constants/song_constants.asm
+++ b/constants/song_constants.asm
diff --git a/constants/sound_effect_constants.asm b/constants/sound_effect_constants.asm
index a3cd474..a3cd474 100755..100644
--- a/constants/sound_effect_constants.asm
+++ b/constants/sound_effect_constants.asm
diff --git a/constants/species_constants.asm b/constants/species_constants.asm
index 6e0a5b0..6e0a5b0 100755..100644
--- a/constants/species_constants.asm
+++ b/constants/species_constants.asm
diff --git a/constants/stage_constants.asm b/constants/stage_constants.asm
index 600abf9..600abf9 100755..100644
--- a/constants/stage_constants.asm
+++ b/constants/stage_constants.asm
diff --git a/data/ball_palettes.asm b/data/ball_palettes.asm
index bcc2162..bcc2162 100755..100644
--- a/data/ball_palettes.asm
+++ b/data/ball_palettes.asm
diff --git a/data/billboard/billboard_pic_pointers.asm b/data/billboard/billboard_pic_pointers.asm
index 128b65c..128b65c 100755..100644
--- a/data/billboard/billboard_pic_pointers.asm
+++ b/data/billboard/billboard_pic_pointers.asm
diff --git a/data/billboard/billboard_pics.asm b/data/billboard/billboard_pics.asm
index 898ca66..898ca66 100755..100644
--- a/data/billboard/billboard_pics.asm
+++ b/data/billboard/billboard_pics.asm
diff --git a/data/billboard/bonus_multiplier_pics.asm b/data/billboard/bonus_multiplier_pics.asm
index d1ed672..d1ed672 100755..100644
--- a/data/billboard/bonus_multiplier_pics.asm
+++ b/data/billboard/bonus_multiplier_pics.asm
diff --git a/data/billboard/map_palette_maps.asm b/data/billboard/map_palette_maps.asm
index 1230e26..1230e26 100755..100644
--- a/data/billboard/map_palette_maps.asm
+++ b/data/billboard/map_palette_maps.asm
diff --git a/data/billboard/map_palette_maps_2.asm b/data/billboard/map_palette_maps_2.asm
index 7640e63..7640e63 100755..100644
--- a/data/billboard/map_palette_maps_2.asm
+++ b/data/billboard/map_palette_maps_2.asm
diff --git a/data/billboard/map_palettes.asm b/data/billboard/map_palettes.asm
index 13e05dd..13e05dd 100755..100644
--- a/data/billboard/map_palettes.asm
+++ b/data/billboard/map_palettes.asm
diff --git a/data/billboard/map_palettes_2.asm b/data/billboard/map_palettes_2.asm
index 7c38182..7c38182 100755..100644
--- a/data/billboard/map_palettes_2.asm
+++ b/data/billboard/map_palettes_2.asm
diff --git a/data/billboard/map_pics.asm b/data/billboard/map_pics.asm
index 63e854a..63e854a 100755..100644
--- a/data/billboard/map_pics.asm
+++ b/data/billboard/map_pics.asm
diff --git a/data/billboard/reward_pics.asm b/data/billboard/reward_pics.asm
index 508b235..508b235 100755..100644
--- a/data/billboard/reward_pics.asm
+++ b/data/billboard/reward_pics.asm
diff --git a/data/blue_wild_mons.asm b/data/blue_wild_mons.asm
index 98581b9..98581b9 100755..100644
--- a/data/blue_wild_mons.asm
+++ b/data/blue_wild_mons.asm
diff --git a/data/catchem_timer_values.asm b/data/catchem_timer_values.asm
index 5e7c776..5e7c776 100755..100644
--- a/data/catchem_timer_values.asm
+++ b/data/catchem_timer_values.asm
diff --git a/data/collision/ball_physics_e4000.bin b/data/collision/ball_physics_e4000.bin
index 5702c9a..5702c9a 100755..100644
--- a/data/collision/ball_physics_e4000.bin
+++ b/data/collision/ball_physics_e4000.bin
Binary files differ
diff --git a/data/collision/ball_physics_ec000.bin b/data/collision/ball_physics_ec000.bin
index 292db6c..292db6c 100755..100644
--- a/data/collision/ball_physics_ec000.bin
+++ b/data/collision/ball_physics_ec000.bin
Binary files differ
diff --git a/data/collision/ball_physics_f0000.bin b/data/collision/ball_physics_f0000.bin
index 00c3c20..00c3c20 100755..100644
--- a/data/collision/ball_physics_f0000.bin
+++ b/data/collision/ball_physics_f0000.bin
Binary files differ
diff --git a/data/collision/circle_collision_angles.bin b/data/collision/circle_collision_angles.bin
index 7783c2f..7783c2f 100755..100644
--- a/data/collision/circle_collision_angles.bin
+++ b/data/collision/circle_collision_angles.bin
diff --git a/data/collision/collision_deltas.asm b/data/collision/collision_deltas.asm
index ccd58d1..ccd58d1 100755..100644
--- a/data/collision/collision_deltas.asm
+++ b/data/collision/collision_deltas.asm
diff --git a/data/collision/flippers/horizontal_attributes_0 b/data/collision/flippers/horizontal_attributes_0
index 2918005..2918005 100755..100644
--- a/data/collision/flippers/horizontal_attributes_0
+++ b/data/collision/flippers/horizontal_attributes_0
Binary files differ
diff --git a/data/collision/flippers/horizontal_attributes_1 b/data/collision/flippers/horizontal_attributes_1
index 35f8f3b..35f8f3b 100755..100644
--- a/data/collision/flippers/horizontal_attributes_1
+++ b/data/collision/flippers/horizontal_attributes_1
Binary files differ
diff --git a/data/collision/flippers/vertical_attributes_0 b/data/collision/flippers/vertical_attributes_0
index a94ea51..a94ea51 100755..100644
--- a/data/collision/flippers/vertical_attributes_0
+++ b/data/collision/flippers/vertical_attributes_0
Binary files differ
diff --git a/data/collision/flippers/vertical_attributes_1 b/data/collision/flippers/vertical_attributes_1
index 5725d1d..5725d1d 100755..100644
--- a/data/collision/flippers/vertical_attributes_1
+++ b/data/collision/flippers/vertical_attributes_1
Binary files differ
diff --git a/data/collision/game_objects/blue_stage_game_object_collision.asm b/data/collision/game_objects/blue_stage_game_object_collision.asm
index 6a4dd1f..6a4dd1f 100755..100644
--- a/data/collision/game_objects/blue_stage_game_object_collision.asm
+++ b/data/collision/game_objects/blue_stage_game_object_collision.asm
diff --git a/data/collision/game_objects/red_stage_game_object_collision.asm b/data/collision/game_objects/red_stage_game_object_collision.asm
index 6ff62b4..6ff62b4 100755..100644
--- a/data/collision/game_objects/red_stage_game_object_collision.asm
+++ b/data/collision/game_objects/red_stage_game_object_collision.asm
diff --git a/data/collision/gengar_collision_angles.bin b/data/collision/gengar_collision_angles.bin
index 1e622b0..1e622b0 100755..100644
--- a/data/collision/gengar_collision_angles.bin
+++ b/data/collision/gengar_collision_angles.bin
diff --git a/data/collision/haunter_collision_angles.bin b/data/collision/haunter_collision_angles.bin
index 5f98355..5f98355 100755..100644
--- a/data/collision/haunter_collision_angles.bin
+++ b/data/collision/haunter_collision_angles.bin
diff --git a/data/collision/maps/blue_stage_bottom.collision b/data/collision/maps/blue_stage_bottom.collision
index 742e129..742e129 100755..100644
--- a/data/collision/maps/blue_stage_bottom.collision
+++ b/data/collision/maps/blue_stage_bottom.collision
Binary files differ
diff --git a/data/collision/maps/blue_stage_top.collision b/data/collision/maps/blue_stage_top.collision
index 8a9f9b7..8a9f9b7 100755..100644
--- a/data/collision/maps/blue_stage_top.collision
+++ b/data/collision/maps/blue_stage_top.collision
Binary files differ
diff --git a/data/collision/maps/blue_stage_top_ball_entrance.collision b/data/collision/maps/blue_stage_top_ball_entrance.collision
index 1ab8ae4..1ab8ae4 100755..100644
--- a/data/collision/maps/blue_stage_top_ball_entrance.collision
+++ b/data/collision/maps/blue_stage_top_ball_entrance.collision
Binary files differ
diff --git a/data/collision/maps/diglett_bonus.collision b/data/collision/maps/diglett_bonus.collision
index 41f0082..41f0082 100755..100644
--- a/data/collision/maps/diglett_bonus.collision
+++ b/data/collision/maps/diglett_bonus.collision
Binary files differ
diff --git a/data/collision/maps/diglett_bonus_ball_entrance.collision b/data/collision/maps/diglett_bonus_ball_entrance.collision
index 9ac6774..9ac6774 100755..100644
--- a/data/collision/maps/diglett_bonus_ball_entrance.collision
+++ b/data/collision/maps/diglett_bonus_ball_entrance.collision
Binary files differ
diff --git a/data/collision/maps/gengar_bonus.collision b/data/collision/maps/gengar_bonus.collision
index ba1acd6..ba1acd6 100755..100644
--- a/data/collision/maps/gengar_bonus.collision
+++ b/data/collision/maps/gengar_bonus.collision
Binary files differ
diff --git a/data/collision/maps/gengar_bonus_ball_entrance.collision b/data/collision/maps/gengar_bonus_ball_entrance.collision
index a5558f3..a5558f3 100755..100644
--- a/data/collision/maps/gengar_bonus_ball_entrance.collision
+++ b/data/collision/maps/gengar_bonus_ball_entrance.collision
Binary files differ
diff --git a/data/collision/maps/meowth_bonus.collision b/data/collision/maps/meowth_bonus.collision
index 03f57b8..03f57b8 100755..100644
--- a/data/collision/maps/meowth_bonus.collision
+++ b/data/collision/maps/meowth_bonus.collision
Binary files differ
diff --git a/data/collision/maps/meowth_bonus_ball_entrance.collision b/data/collision/maps/meowth_bonus_ball_entrance.collision
index 4c155fc..4c155fc 100755..100644
--- a/data/collision/maps/meowth_bonus_ball_entrance.collision
+++ b/data/collision/maps/meowth_bonus_ball_entrance.collision
Binary files differ
diff --git a/data/collision/maps/mewtwo_bonus.collision b/data/collision/maps/mewtwo_bonus.collision
index 60458b5..60458b5 100755..100644
--- a/data/collision/maps/mewtwo_bonus.collision
+++ b/data/collision/maps/mewtwo_bonus.collision
Binary files differ
diff --git a/data/collision/maps/mewtwo_bonus_ball_entrance.collision b/data/collision/maps/mewtwo_bonus_ball_entrance.collision
index a734eff..a734eff 100755..100644
--- a/data/collision/maps/mewtwo_bonus_ball_entrance.collision
+++ b/data/collision/maps/mewtwo_bonus_ball_entrance.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_bottom.collision b/data/collision/maps/red_stage_bottom.collision
index ed60762..ed60762 100755..100644
--- a/data/collision/maps/red_stage_bottom.collision
+++ b/data/collision/maps/red_stage_bottom.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_top_0.collision b/data/collision/maps/red_stage_top_0.collision
index c07ab31..c07ab31 100755..100644
--- a/data/collision/maps/red_stage_top_0.collision
+++ b/data/collision/maps/red_stage_top_0.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_top_1.collision b/data/collision/maps/red_stage_top_1.collision
index d4424f0..d4424f0 100755..100644
--- a/data/collision/maps/red_stage_top_1.collision
+++ b/data/collision/maps/red_stage_top_1.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_top_2.collision b/data/collision/maps/red_stage_top_2.collision
index 4d09392..4d09392 100755..100644
--- a/data/collision/maps/red_stage_top_2.collision
+++ b/data/collision/maps/red_stage_top_2.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_top_3.collision b/data/collision/maps/red_stage_top_3.collision
index 8e9178f..8e9178f 100755..100644
--- a/data/collision/maps/red_stage_top_3.collision
+++ b/data/collision/maps/red_stage_top_3.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_top_4.collision b/data/collision/maps/red_stage_top_4.collision
index a10543d..a10543d 100755..100644
--- a/data/collision/maps/red_stage_top_4.collision
+++ b/data/collision/maps/red_stage_top_4.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_top_5.collision b/data/collision/maps/red_stage_top_5.collision
index c90aba7..c90aba7 100755..100644
--- a/data/collision/maps/red_stage_top_5.collision
+++ b/data/collision/maps/red_stage_top_5.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_top_6.collision b/data/collision/maps/red_stage_top_6.collision
index e079969..e079969 100755..100644
--- a/data/collision/maps/red_stage_top_6.collision
+++ b/data/collision/maps/red_stage_top_6.collision
Binary files differ
diff --git a/data/collision/maps/red_stage_top_7.collision b/data/collision/maps/red_stage_top_7.collision
index 51f1bc9..51f1bc9 100755..100644
--- a/data/collision/maps/red_stage_top_7.collision
+++ b/data/collision/maps/red_stage_top_7.collision
Binary files differ
diff --git a/data/collision/maps/seel_bonus.collision b/data/collision/maps/seel_bonus.collision
index 03f57b8..03f57b8 100755..100644
--- a/data/collision/maps/seel_bonus.collision
+++ b/data/collision/maps/seel_bonus.collision
Binary files differ
diff --git a/data/collision/maps/seel_bonus_ball_entrance.collision b/data/collision/maps/seel_bonus_ball_entrance.collision
index 4c155fc..4c155fc 100755..100644
--- a/data/collision/maps/seel_bonus_ball_entrance.collision
+++ b/data/collision/maps/seel_bonus_ball_entrance.collision
Binary files differ
diff --git a/data/collision/masks/blue_stage_bottom.masks b/data/collision/masks/blue_stage_bottom.masks
index a8c935e..a8c935e 100755..100644
--- a/data/collision/masks/blue_stage_bottom.masks
+++ b/data/collision/masks/blue_stage_bottom.masks
Binary files differ
diff --git a/data/collision/masks/blue_stage_top.masks b/data/collision/masks/blue_stage_top.masks
index ecb2e27..ecb2e27 100755..100644
--- a/data/collision/masks/blue_stage_top.masks
+++ b/data/collision/masks/blue_stage_top.masks
Binary files differ
diff --git a/data/collision/masks/bottom_left_bonus_stage_masks.masks b/data/collision/masks/bottom_left_bonus_stage_masks.masks
index 1c52814..1c52814 100755..100644
--- a/data/collision/masks/bottom_left_bonus_stage_masks.masks
+++ b/data/collision/masks/bottom_left_bonus_stage_masks.masks
Binary files differ
diff --git a/data/collision/masks/bottom_left_masks.masks b/data/collision/masks/bottom_left_masks.masks
index 29b0cb6..29b0cb6 100755..100644
--- a/data/collision/masks/bottom_left_masks.masks
+++ b/data/collision/masks/bottom_left_masks.masks
Binary files differ
diff --git a/data/collision/masks/bottom_right_bonus_stage_masks.masks b/data/collision/masks/bottom_right_bonus_stage_masks.masks
index d613ba0..d613ba0 100755..100644
--- a/data/collision/masks/bottom_right_bonus_stage_masks.masks
+++ b/data/collision/masks/bottom_right_bonus_stage_masks.masks
Binary files differ
diff --git a/data/collision/masks/bottom_right_masks.masks b/data/collision/masks/bottom_right_masks.masks
index de080ef..de080ef 100755..100644
--- a/data/collision/masks/bottom_right_masks.masks
+++ b/data/collision/masks/bottom_right_masks.masks
Binary files differ
diff --git a/data/collision/masks/diglett_bonus.masks b/data/collision/masks/diglett_bonus.masks
index a76b978..a76b978 100755..100644
--- a/data/collision/masks/diglett_bonus.masks
+++ b/data/collision/masks/diglett_bonus.masks
Binary files differ
diff --git a/data/collision/masks/gengar_bonus.masks b/data/collision/masks/gengar_bonus.masks
index f95cba5..f95cba5 100755..100644
--- a/data/collision/masks/gengar_bonus.masks
+++ b/data/collision/masks/gengar_bonus.masks
Binary files differ
diff --git a/data/collision/masks/meowth_bonus.masks b/data/collision/masks/meowth_bonus.masks
index c1626d9..c1626d9 100755..100644
--- a/data/collision/masks/meowth_bonus.masks
+++ b/data/collision/masks/meowth_bonus.masks
Binary files differ
diff --git a/data/collision/masks/mewtwo_bonus.masks b/data/collision/masks/mewtwo_bonus.masks
index 05a497c..05a497c 100755..100644
--- a/data/collision/masks/mewtwo_bonus.masks
+++ b/data/collision/masks/mewtwo_bonus.masks
Binary files differ
diff --git a/data/collision/masks/red_stage_bottom.masks b/data/collision/masks/red_stage_bottom.masks
index 49d6d0d..49d6d0d 100755..100644
--- a/data/collision/masks/red_stage_bottom.masks
+++ b/data/collision/masks/red_stage_bottom.masks
Binary files differ
diff --git a/data/collision/masks/red_stage_top_0.masks b/data/collision/masks/red_stage_top_0.masks
index dc4fcbd..dc4fcbd 100755..100644
--- a/data/collision/masks/red_stage_top_0.masks
+++ b/data/collision/masks/red_stage_top_0.masks
Binary files differ
diff --git a/data/collision/masks/red_stage_top_1.masks b/data/collision/masks/red_stage_top_1.masks
index 945817f..945817f 100755..100644
--- a/data/collision/masks/red_stage_top_1.masks
+++ b/data/collision/masks/red_stage_top_1.masks
Binary files differ
diff --git a/data/collision/masks/red_stage_top_2.masks b/data/collision/masks/red_stage_top_2.masks
index b53cd74..b53cd74 100755..100644
--- a/data/collision/masks/red_stage_top_2.masks
+++ b/data/collision/masks/red_stage_top_2.masks
Binary files differ
diff --git a/data/collision/masks/red_stage_top_3.masks b/data/collision/masks/red_stage_top_3.masks
index 4b285f1..4b285f1 100755..100644
--- a/data/collision/masks/red_stage_top_3.masks
+++ b/data/collision/masks/red_stage_top_3.masks
Binary files differ
diff --git a/data/collision/masks/seel_bonus.masks b/data/collision/masks/seel_bonus.masks
index c1626d9..c1626d9 100755..100644
--- a/data/collision/masks/seel_bonus.masks
+++ b/data/collision/masks/seel_bonus.masks
Binary files differ
diff --git a/data/collision/meowth_collision_angles.bin b/data/collision/meowth_collision_angles.bin
index 5b9cd82..5b9cd82 100755..100644
--- a/data/collision/meowth_collision_angles.bin
+++ b/data/collision/meowth_collision_angles.bin
Binary files differ
diff --git a/data/collision/meowth_jewel_collision_angles.bin b/data/collision/meowth_jewel_collision_angles.bin
index fb8de1e..fb8de1e 100755..100644
--- a/data/collision/meowth_jewel_collision_angles.bin
+++ b/data/collision/meowth_jewel_collision_angles.bin
diff --git a/data/collision/mon_collision_mask_pointers.asm b/data/collision/mon_collision_mask_pointers.asm
index 4893bf4..4893bf4 100755..100644
--- a/data/collision/mon_collision_mask_pointers.asm
+++ b/data/collision/mon_collision_mask_pointers.asm
diff --git a/data/collision/mon_collision_masks.asm b/data/collision/mon_collision_masks.asm
index 34be309..34be309 100755..100644
--- a/data/collision/mon_collision_masks.asm
+++ b/data/collision/mon_collision_masks.asm
diff --git a/data/collision/unused_trailing_data.bin b/data/collision/unused_trailing_data.bin
index 54bfe79..54bfe79 100755..100644
--- a/data/collision/unused_trailing_data.bin
+++ b/data/collision/unused_trailing_data.bin
Binary files differ
diff --git a/data/dex_scroll_offsets.asm b/data/dex_scroll_offsets.asm
index 11541f0..11541f0 100755..100644
--- a/data/dex_scroll_offsets.asm
+++ b/data/dex_scroll_offsets.asm
diff --git a/data/diglett_stage/diglett_stage_animation_data.asm b/data/diglett_stage/diglett_stage_animation_data.asm
index 2a0384d..2a0384d 100755..100644
--- a/data/diglett_stage/diglett_stage_animation_data.asm
+++ b/data/diglett_stage/diglett_stage_animation_data.asm
diff --git a/data/evolution_line_starts.asm b/data/evolution_line_starts.asm
index 45f7329..45f7329 100755..100644
--- a/data/evolution_line_starts.asm
+++ b/data/evolution_line_starts.asm
diff --git a/data/evolution_lines.asm b/data/evolution_lines.asm
index 43f7308..43f7308 100755..100644
--- a/data/evolution_lines.asm
+++ b/data/evolution_lines.asm
diff --git a/data/evolution_methods.asm b/data/evolution_methods.asm
index a166dd8..a166dd8 100755..100644
--- a/data/evolution_methods.asm
+++ b/data/evolution_methods.asm
diff --git a/data/initial_high_scores.asm b/data/initial_high_scores.asm
index 66542dd..66542dd 100755..100644
--- a/data/initial_high_scores.asm
+++ b/data/initial_high_scores.asm
diff --git a/data/mon_animated_sprite_types.asm b/data/mon_animated_sprite_types.asm
index d00bfc1..d00bfc1 100755..100644
--- a/data/mon_animated_sprite_types.asm
+++ b/data/mon_animated_sprite_types.asm
diff --git a/data/mon_gfx/mon_animated_palettes_1.asm b/data/mon_gfx/mon_animated_palettes_1.asm
index b753c4f..b753c4f 100755..100644
--- a/data/mon_gfx/mon_animated_palettes_1.asm
+++ b/data/mon_gfx/mon_animated_palettes_1.asm
diff --git a/data/mon_gfx/mon_animated_palettes_2.asm b/data/mon_gfx/mon_animated_palettes_2.asm
index 0fa87d2..0fa87d2 100755..100644
--- a/data/mon_gfx/mon_animated_palettes_2.asm
+++ b/data/mon_gfx/mon_animated_palettes_2.asm
diff --git a/data/mon_gfx/mon_animated_palettes_3.asm b/data/mon_gfx/mon_animated_palettes_3.asm
index 007d2f9..007d2f9 100755..100644
--- a/data/mon_gfx/mon_animated_palettes_3.asm
+++ b/data/mon_gfx/mon_animated_palettes_3.asm
diff --git a/data/mon_gfx/mon_animated_pics_1.asm b/data/mon_gfx/mon_animated_pics_1.asm
index 64dea28..64dea28 100755..100644
--- a/data/mon_gfx/mon_animated_pics_1.asm
+++ b/data/mon_gfx/mon_animated_pics_1.asm
diff --git a/data/mon_gfx/mon_animated_pics_2.asm b/data/mon_gfx/mon_animated_pics_2.asm
index 727b2e6..727b2e6 100755..100644
--- a/data/mon_gfx/mon_animated_pics_2.asm
+++ b/data/mon_gfx/mon_animated_pics_2.asm
diff --git a/data/mon_gfx/mon_animated_pics_3.asm b/data/mon_gfx/mon_animated_pics_3.asm
index 58de71d..58de71d 100755..100644
--- a/data/mon_gfx/mon_animated_pics_3.asm
+++ b/data/mon_gfx/mon_animated_pics_3.asm
diff --git a/data/mon_gfx/mon_animated_pics_4.asm b/data/mon_gfx/mon_animated_pics_4.asm
index 08c0feb..08c0feb 100755..100644
--- a/data/mon_gfx/mon_animated_pics_4.asm
+++ b/data/mon_gfx/mon_animated_pics_4.asm
diff --git a/data/mon_gfx/mon_animated_pics_5.asm b/data/mon_gfx/mon_animated_pics_5.asm
index 386522f..386522f 100755..100644
--- a/data/mon_gfx/mon_animated_pics_5.asm
+++ b/data/mon_gfx/mon_animated_pics_5.asm
diff --git a/data/mon_gfx/mon_billboard_palette_maps_1.asm b/data/mon_gfx/mon_billboard_palette_maps_1.asm
index 3c80102..3c80102 100755..100644
--- a/data/mon_gfx/mon_billboard_palette_maps_1.asm
+++ b/data/mon_gfx/mon_billboard_palette_maps_1.asm
diff --git a/data/mon_gfx/mon_billboard_palette_maps_2.asm b/data/mon_gfx/mon_billboard_palette_maps_2.asm
index 355d407..355d407 100755..100644
--- a/data/mon_gfx/mon_billboard_palette_maps_2.asm
+++ b/data/mon_gfx/mon_billboard_palette_maps_2.asm
diff --git a/data/mon_gfx/mon_billboard_palette_maps_3.asm b/data/mon_gfx/mon_billboard_palette_maps_3.asm
index 489c4d6..489c4d6 100755..100644
--- a/data/mon_gfx/mon_billboard_palette_maps_3.asm
+++ b/data/mon_gfx/mon_billboard_palette_maps_3.asm
diff --git a/data/mon_gfx/mon_billboard_palette_maps_4.asm b/data/mon_gfx/mon_billboard_palette_maps_4.asm
index e0af5e3..e0af5e3 100755..100644
--- a/data/mon_gfx/mon_billboard_palette_maps_4.asm
+++ b/data/mon_gfx/mon_billboard_palette_maps_4.asm
diff --git a/data/mon_gfx/mon_billboard_palette_maps_5.asm b/data/mon_gfx/mon_billboard_palette_maps_5.asm
index 7cea56e..7cea56e 100755..100644
--- a/data/mon_gfx/mon_billboard_palette_maps_5.asm
+++ b/data/mon_gfx/mon_billboard_palette_maps_5.asm
diff --git a/data/mon_gfx/mon_billboard_palettes_1.asm b/data/mon_gfx/mon_billboard_palettes_1.asm
index 19e625e..19e625e 100755..100644
--- a/data/mon_gfx/mon_billboard_palettes_1.asm
+++ b/data/mon_gfx/mon_billboard_palettes_1.asm
diff --git a/data/mon_gfx/mon_billboard_palettes_2.asm b/data/mon_gfx/mon_billboard_palettes_2.asm
index 343583e..343583e 100755..100644
--- a/data/mon_gfx/mon_billboard_palettes_2.asm
+++ b/data/mon_gfx/mon_billboard_palettes_2.asm
diff --git a/data/mon_gfx/mon_billboard_palettes_3.asm b/data/mon_gfx/mon_billboard_palettes_3.asm
index 3d314c4..3d314c4 100755..100644
--- a/data/mon_gfx/mon_billboard_palettes_3.asm
+++ b/data/mon_gfx/mon_billboard_palettes_3.asm
diff --git a/data/mon_gfx/mon_billboard_palettes_4.asm b/data/mon_gfx/mon_billboard_palettes_4.asm
index 5848fcf..5848fcf 100755..100644
--- a/data/mon_gfx/mon_billboard_palettes_4.asm
+++ b/data/mon_gfx/mon_billboard_palettes_4.asm
diff --git a/data/mon_gfx/mon_billboard_palettes_5.asm b/data/mon_gfx/mon_billboard_palettes_5.asm
index 29787d8..29787d8 100755..100644
--- a/data/mon_gfx/mon_billboard_palettes_5.asm
+++ b/data/mon_gfx/mon_billboard_palettes_5.asm
diff --git a/data/mon_gfx/mon_billboard_palettes_6.asm b/data/mon_gfx/mon_billboard_palettes_6.asm
index bbe16b3..bbe16b3 100755..100644
--- a/data/mon_gfx/mon_billboard_palettes_6.asm
+++ b/data/mon_gfx/mon_billboard_palettes_6.asm
diff --git a/data/mon_gfx/mon_billboard_pics_1.asm b/data/mon_gfx/mon_billboard_pics_1.asm
index 2104a7c..2104a7c 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_1.asm
+++ b/data/mon_gfx/mon_billboard_pics_1.asm
diff --git a/data/mon_gfx/mon_billboard_pics_10.asm b/data/mon_gfx/mon_billboard_pics_10.asm
index 4caa3d6..4caa3d6 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_10.asm
+++ b/data/mon_gfx/mon_billboard_pics_10.asm
diff --git a/data/mon_gfx/mon_billboard_pics_2.asm b/data/mon_gfx/mon_billboard_pics_2.asm
index 75c3865..75c3865 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_2.asm
+++ b/data/mon_gfx/mon_billboard_pics_2.asm
diff --git a/data/mon_gfx/mon_billboard_pics_3.asm b/data/mon_gfx/mon_billboard_pics_3.asm
index 96cf935..96cf935 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_3.asm
+++ b/data/mon_gfx/mon_billboard_pics_3.asm
diff --git a/data/mon_gfx/mon_billboard_pics_4.asm b/data/mon_gfx/mon_billboard_pics_4.asm
index c520bcb..c520bcb 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_4.asm
+++ b/data/mon_gfx/mon_billboard_pics_4.asm
diff --git a/data/mon_gfx/mon_billboard_pics_5.asm b/data/mon_gfx/mon_billboard_pics_5.asm
index 959523d..959523d 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_5.asm
+++ b/data/mon_gfx/mon_billboard_pics_5.asm
diff --git a/data/mon_gfx/mon_billboard_pics_6.asm b/data/mon_gfx/mon_billboard_pics_6.asm
index fd43fad..fd43fad 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_6.asm
+++ b/data/mon_gfx/mon_billboard_pics_6.asm
diff --git a/data/mon_gfx/mon_billboard_pics_7.asm b/data/mon_gfx/mon_billboard_pics_7.asm
index 39ed299..39ed299 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_7.asm
+++ b/data/mon_gfx/mon_billboard_pics_7.asm
diff --git a/data/mon_gfx/mon_billboard_pics_8.asm b/data/mon_gfx/mon_billboard_pics_8.asm
index 42e89bf..42e89bf 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_8.asm
+++ b/data/mon_gfx/mon_billboard_pics_8.asm
diff --git a/data/mon_gfx/mon_billboard_pics_9.asm b/data/mon_gfx/mon_billboard_pics_9.asm
index 5d3b1a6..5d3b1a6 100755..100644
--- a/data/mon_gfx/mon_billboard_pics_9.asm
+++ b/data/mon_gfx/mon_billboard_pics_9.asm
diff --git a/data/mon_gfx/mon_gfx_pointers.asm b/data/mon_gfx/mon_gfx_pointers.asm
index 4bdb718..4bdb718 100755..100644
--- a/data/mon_gfx/mon_gfx_pointers.asm
+++ b/data/mon_gfx/mon_gfx_pointers.asm
diff --git a/data/mon_initial_indicator_states.asm b/data/mon_initial_indicator_states.asm
index 27b9db0..27b9db0 100755..100644
--- a/data/mon_initial_indicator_states.asm
+++ b/data/mon_initial_indicator_states.asm
diff --git a/data/mon_names.asm b/data/mon_names.asm
index 8d5bcdc..8d5bcdc 100755..100644
--- a/data/mon_names.asm
+++ b/data/mon_names.asm
diff --git a/data/mon_species.asm b/data/mon_species.asm
index 764a488..764a488 100755..100644
--- a/data/mon_species.asm
+++ b/data/mon_species.asm
diff --git a/data/oam_frames.asm b/data/oam_frames.asm
index ed41271..f8ce393 100755..100644
--- a/data/oam_frames.asm
+++ b/data/oam_frames.asm
@@ -3448,4 +3448,4 @@ OAMData2_83: ; 0x6258
OAMData2_84: ; 0x625d
db $10, $08, $F2, $00
- db $80 ; terminator \ No newline at end of file
+ db $80 ; terminator
diff --git a/data/queued_tiledata/blue_field/bonus_multiplier_railings.asm b/data/queued_tiledata/blue_field/bonus_multiplier_railings.asm
new file mode 100755
index 0000000..8c18c69
--- /dev/null
+++ b/data/queued_tiledata/blue_field/bonus_multiplier_railings.asm
@@ -0,0 +1,1269 @@
+BonusMultiplierRailingTileDataPointers_1d6be:
+ dw BonusMultiplierRailingTileData_1d6ee
+ dw BonusMultiplierRailingTileData_1d6f3
+ dw BonusMultiplierRailingTileData_1d6f8
+ dw BonusMultiplierRailingTileData_1d6fd
+ dw BonusMultiplierRailingTileData_1d702
+ dw BonusMultiplierRailingTileData_1d707
+ dw BonusMultiplierRailingTileData_1d70c
+ dw BonusMultiplierRailingTileData_1d711
+ dw BonusMultiplierRailingTileData_1d716
+ dw BonusMultiplierRailingTileData_1d71b
+ dw BonusMultiplierRailingTileData_1d720
+ dw BonusMultiplierRailingTileData_1d725
+ dw BonusMultiplierRailingTileData_1d72a
+ dw BonusMultiplierRailingTileData_1d72f
+ dw BonusMultiplierRailingTileData_1d734
+ dw BonusMultiplierRailingTileData_1d739
+ dw BonusMultiplierRailingTileData_1d73e
+ dw BonusMultiplierRailingTileData_1d743
+ dw BonusMultiplierRailingTileData_1d748
+ dw BonusMultiplierRailingTileData_1d74d
+ dw BonusMultiplierRailingTileData_1d752
+ dw BonusMultiplierRailingTileData_1d757
+ dw BonusMultiplierRailingTileData_1d75c
+ dw BonusMultiplierRailingTileData_1d761
+
+BonusMultiplierRailingTileData_1d6ee: ; 0x1d6ee
+ db $02
+ dw BonusMultiplierRailingTileData_1d766
+ dw BonusMultiplierRailingTileData_1d770
+
+BonusMultiplierRailingTileData_1d6f3: ; 0x1d6f3
+ db $02
+ dw BonusMultiplierRailingTileData_1d77a
+ dw BonusMultiplierRailingTileData_1d784
+
+BonusMultiplierRailingTileData_1d6f8: ; 0x1d6f8
+ db $02
+ dw BonusMultiplierRailingTileData_1d78e
+ dw BonusMultiplierRailingTileData_1d798
+
+BonusMultiplierRailingTileData_1d6fd: ; 0x1d6fd
+ db $02
+ dw BonusMultiplierRailingTileData_1d7a2
+ dw BonusMultiplierRailingTileData_1d7AC
+
+BonusMultiplierRailingTileData_1d702: ; 0x1d702
+ db $02
+ dw BonusMultiplierRailingTileData_1d7b6
+ dw BonusMultiplierRailingTileData_1d7C0
+
+BonusMultiplierRailingTileData_1d707: ; 0x1d707
+ db $02
+ dw BonusMultiplierRailingTileData_1d7ca
+ dw BonusMultiplierRailingTileData_1d7D4
+
+BonusMultiplierRailingTileData_1d70c: ; 0x1d70c
+ db $02
+ dw BonusMultiplierRailingTileData_1d7de
+ dw BonusMultiplierRailingTileData_1d7E8
+
+BonusMultiplierRailingTileData_1d711: ; 0x1d711
+ db $02
+ dw BonusMultiplierRailingTileData_1d7f2
+ dw BonusMultiplierRailingTileData_1d7FC
+
+BonusMultiplierRailingTileData_1d716: ; 0x1d716
+ db $02
+ dw BonusMultiplierRailingTileData_1d806
+ dw BonusMultiplierRailingTileData_1d810
+
+BonusMultiplierRailingTileData_1d71b: ; 0x1d71b
+ db $02
+ dw BonusMultiplierRailingTileData_1d81a
+ dw BonusMultiplierRailingTileData_1d824
+
+BonusMultiplierRailingTileData_1d720: ; 0x1d720
+ db $02
+ dw BonusMultiplierRailingTileData_1d82e
+ dw BonusMultiplierRailingTileData_1d838
+
+BonusMultiplierRailingTileData_1d725: ; 0x1d725
+ db $02
+ dw BonusMultiplierRailingTileData_1d842
+ dw BonusMultiplierRailingTileData_1d84C
+
+BonusMultiplierRailingTileData_1d72a: ; 0x1d72a
+ db $02
+ dw BonusMultiplierRailingTileData_1d856
+ dw BonusMultiplierRailingTileData_1d860
+
+BonusMultiplierRailingTileData_1d72f: ; 0x1d72f
+ db $02
+ dw BonusMultiplierRailingTileData_1d86a
+ dw BonusMultiplierRailingTileData_1d874
+
+BonusMultiplierRailingTileData_1d734: ; 0x1d734
+ db $02
+ dw BonusMultiplierRailingTileData_1d87e
+ dw BonusMultiplierRailingTileData_1d888
+
+BonusMultiplierRailingTileData_1d739: ; 0x1d739
+ db $02
+ dw BonusMultiplierRailingTileData_1d892
+ dw BonusMultiplierRailingTileData_1d89C
+
+BonusMultiplierRailingTileData_1d73e: ; 0x1d73e
+ db $02
+ dw BonusMultiplierRailingTileData_1d8a6
+ dw BonusMultiplierRailingTileData_1d8B0
+
+BonusMultiplierRailingTileData_1d743: ; 0x1d743
+ db $02
+ dw BonusMultiplierRailingTileData_1d8ba
+ dw BonusMultiplierRailingTileData_1d8C4
+
+BonusMultiplierRailingTileData_1d748: ; 0x1d748
+ db $02
+ dw BonusMultiplierRailingTileData_1d8ce
+ dw BonusMultiplierRailingTileData_1d8D8
+
+BonusMultiplierRailingTileData_1d74d: ; 0x1d74d
+ db $02
+ dw BonusMultiplierRailingTileData_1d8e2
+ dw BonusMultiplierRailingTileData_1d8EC
+
+BonusMultiplierRailingTileData_1d752: ; 0x1d752
+ db $02
+ dw BonusMultiplierRailingTileData_1d8f6
+ dw BonusMultiplierRailingTileData_1d900
+
+BonusMultiplierRailingTileData_1d757: ; 0x1d757
+ db $02
+ dw BonusMultiplierRailingTileData_1d90a
+ dw BonusMultiplierRailingTileData_1d914
+
+BonusMultiplierRailingTileData_1d75c: ; 0x1d75c
+ db $02
+ dw BonusMultiplierRailingTileData_1d91e
+ dw BonusMultiplierRailingTileData_1d928
+
+BonusMultiplierRailingTileData_1d761: ; 0x1d761
+ db $02
+ dw BonusMultiplierRailingTileData_1d932
+ dw BonusMultiplierRailingTileData_1d93C
+
+BonusMultiplierRailingTileData_1d766: ; 0x1d766
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d770: ; 0x1d770
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cc0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d77a: ; 0x1d77a
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d70
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d784: ; 0x1d784
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cd0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d78e: ; 0x1d78e
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d798: ; 0x1d798
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ce0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7a2: ; 0x1d7a2
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d90
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7AC: ; 0x1d7AC
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cf0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7b6: ; 0x1d7b6
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1da0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7C0: ; 0x1d7C0
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7ca: ; 0x1d7ca
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1db0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7D4: ; 0x1d7D4
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d10
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7de: ; 0x1d7de
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1dc0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7E8: ; 0x1d7E8
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7f2: ; 0x1d7f2
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1dd0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d7FC: ; 0x1d7FC
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d30
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d806: ; 0x1d806
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1de0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d810: ; 0x1d810
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d81a: ; 0x1d81a
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $27
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1df0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d824: ; 0x1d824
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7D
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d50
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d82e: ; 0x1d82e
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ea0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d838: ; 0x1d838
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d842: ; 0x1d842
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1eb0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d84C: ; 0x1d84C
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e10
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d856: ; 0x1d856
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ec0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d860: ; 0x1d860
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d86a: ; 0x1d86a
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ed0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d874: ; 0x1d874
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e30
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d87e: ; 0x1d87e
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ee0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d888: ; 0x1d888
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d892: ; 0x1d892
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ef0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d89C: ; 0x1d89C
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e50
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8a6: ; 0x1d8a6
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8B0: ; 0x1d8B0
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8ba: ; 0x1d8ba
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f10
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8C4: ; 0x1d8C4
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e70
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8ce: ; 0x1d8ce
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8D8: ; 0x1d8D8
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8e2: ; 0x1d8e2
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $28
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f30
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8EC: ; 0x1d8EC
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $7E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e90
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1d8f6: ; 0x1d8f6
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageBlueFieldBottomBaseGameBoyGfx + $A90
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+BonusMultiplierRailingTileData_1d900: ; 0x1d900
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $2C
+ dw StageBlueFieldBottomBaseGameBoyGfx + $AC0
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+BonusMultiplierRailingTileData_1d90a: ; 0x1d90a
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageBlueFieldBottomBaseGameBoyGfx + $AE0
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+BonusMultiplierRailingTileData_1d914: ; 0x1d914
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $2C
+ dw StageBlueFieldBottomBaseGameBoyGfx + $B10
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+BonusMultiplierRailingTileData_1d91e: ; 0x1d91e
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageBlueFieldBottomBaseGameBoyGfx + $B30
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+BonusMultiplierRailingTileData_1d928: ; 0x1d928
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $36
+ dw StageBlueFieldBottomBaseGameBoyGfx + $B60
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+BonusMultiplierRailingTileData_1d932: ; 0x1d932
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageBlueFieldBottomBaseGameBoyGfx + $B80
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+BonusMultiplierRailingTileData_1d93C: ; 0x1d93C
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $36
+ dw StageBlueFieldBottomBaseGameBoyGfx + $BB0
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+BonusMultiplierRailingTileDataPointers_1d946:
+ dw BonusMultiplierRailingTileData_1d94e
+ dw BonusMultiplierRailingTileData_1d951
+ dw BonusMultiplierRailingTileData_1d954
+ dw BonusMultiplierRailingTileData_1d957
+
+BonusMultiplierRailingTileData_1d94e: ; 0x1d94e
+ db $01
+ dw BonusMultiplierRailingTileData_1d95a
+
+BonusMultiplierRailingTileData_1d951: ; 0x1d951
+ db $01
+ dw BonusMultiplierRailingTileData_1d962
+
+BonusMultiplierRailingTileData_1d954: ; 0x1d954
+ db $01
+ dw BonusMultiplierRailingTileData_1d96a
+
+BonusMultiplierRailingTileData_1d957: ; 0x1d957
+ db $01
+ dw BonusMultiplierRailingTileData_1d972
+
+BonusMultiplierRailingTileData_1d95a: ; 0x1d95a
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $27
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1d962: ; 0x1d962
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $7D
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1d96a: ; 0x1d96a
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $28
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1d972: ; 0x1d972
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $7E
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileDataPointers_1d97a:
+ dw BonusMultiplierRailingTileData_1d9d2
+ dw BonusMultiplierRailingTileData_1d9d5
+ dw BonusMultiplierRailingTileData_1d9d8
+ dw BonusMultiplierRailingTileData_1d9db
+ dw BonusMultiplierRailingTileData_1d9de
+ dw BonusMultiplierRailingTileData_1d9e1
+ dw BonusMultiplierRailingTileData_1d9e4
+ dw BonusMultiplierRailingTileData_1d9e7
+ dw BonusMultiplierRailingTileData_1d9ea
+ dw BonusMultiplierRailingTileData_1d9ed
+ dw BonusMultiplierRailingTileData_1d9f0
+ dw BonusMultiplierRailingTileData_1d9f3
+ dw BonusMultiplierRailingTileData_1d9f6
+ dw BonusMultiplierRailingTileData_1d9f9
+ dw BonusMultiplierRailingTileData_1d9fc
+ dw BonusMultiplierRailingTileData_1d9ff
+ dw BonusMultiplierRailingTileData_1da02
+ dw BonusMultiplierRailingTileData_1da05
+ dw BonusMultiplierRailingTileData_1da08
+ dw BonusMultiplierRailingTileData_1da0b
+ dw BonusMultiplierRailingTileData_1da0e
+ dw BonusMultiplierRailingTileData_1da11
+ dw BonusMultiplierRailingTileData_1da14
+ dw BonusMultiplierRailingTileData_1da17
+ dw BonusMultiplierRailingTileData_1da1a
+ dw BonusMultiplierRailingTileData_1da1d
+ dw BonusMultiplierRailingTileData_1da20
+ dw BonusMultiplierRailingTileData_1da23
+ dw BonusMultiplierRailingTileData_1da26
+ dw BonusMultiplierRailingTileData_1da29
+ dw BonusMultiplierRailingTileData_1da2c
+ dw BonusMultiplierRailingTileData_1da2f
+ dw BonusMultiplierRailingTileData_1da32
+ dw BonusMultiplierRailingTileData_1da35
+ dw BonusMultiplierRailingTileData_1da38
+ dw BonusMultiplierRailingTileData_1da3b
+ dw BonusMultiplierRailingTileData_1da3e
+ dw BonusMultiplierRailingTileData_1da41
+ dw BonusMultiplierRailingTileData_1da44
+ dw BonusMultiplierRailingTileData_1da47
+ dw BonusMultiplierRailingTileData_1da4a
+ dw BonusMultiplierRailingTileData_1da4d
+ dw BonusMultiplierRailingTileData_1da50
+ dw BonusMultiplierRailingTileData_1da53
+
+BonusMultiplierRailingTileData_1d9d2: ; 0x1d9d2
+ db $01
+ dw BonusMultiplierRailingTileData_1da56
+
+BonusMultiplierRailingTileData_1d9d5: ; 0x1d9d5
+ db $01
+ dw BonusMultiplierRailingTileData_1da5e
+
+BonusMultiplierRailingTileData_1d9d8: ; 0x1d9d8
+ db $01
+ dw BonusMultiplierRailingTileData_1da66
+
+BonusMultiplierRailingTileData_1d9db: ; 0x1d9db
+ db $01
+ dw BonusMultiplierRailingTileData_1da6e
+
+BonusMultiplierRailingTileData_1d9de: ; 0x1d9de
+ db $01
+ dw BonusMultiplierRailingTileData_1da76
+
+BonusMultiplierRailingTileData_1d9e1: ; 0x1d9e1
+ db $01
+ dw BonusMultiplierRailingTileData_1da7e
+
+BonusMultiplierRailingTileData_1d9e4: ; 0x1d9e4
+ db $01
+ dw BonusMultiplierRailingTileData_1da86
+
+BonusMultiplierRailingTileData_1d9e7: ; 0x1d9e7
+ db $01
+ dw BonusMultiplierRailingTileData_1da8e
+
+BonusMultiplierRailingTileData_1d9ea: ; 0x1d9ea
+ db $01
+ dw BonusMultiplierRailingTileData_1da96
+
+BonusMultiplierRailingTileData_1d9ed: ; 0x1d9ed
+ db $01
+ dw BonusMultiplierRailingTileData_1da9e
+
+BonusMultiplierRailingTileData_1d9f0: ; 0x1d9f0
+ db $01
+ dw BonusMultiplierRailingTileData_1daa6
+
+BonusMultiplierRailingTileData_1d9f3: ; 0x1d9f3
+ db $01
+ dw BonusMultiplierRailingTileData_1daae
+
+BonusMultiplierRailingTileData_1d9f6: ; 0x1d9f6
+ db $01
+ dw BonusMultiplierRailingTileData_1dab6
+
+BonusMultiplierRailingTileData_1d9f9: ; 0x1d9f9
+ db $01
+ dw BonusMultiplierRailingTileData_1dabe
+
+BonusMultiplierRailingTileData_1d9fc: ; 0x1d9fc
+ db $01
+ dw BonusMultiplierRailingTileData_1dac6
+
+BonusMultiplierRailingTileData_1d9ff: ; 0x1d9ff
+ db $01
+ dw BonusMultiplierRailingTileData_1dace
+
+BonusMultiplierRailingTileData_1da02: ; 0x1da02
+ db $01
+ dw BonusMultiplierRailingTileData_1dad6
+
+BonusMultiplierRailingTileData_1da05: ; 0x1da05
+ db $01
+ dw BonusMultiplierRailingTileData_1dade
+
+BonusMultiplierRailingTileData_1da08: ; 0x1da08
+ db $01
+ dw BonusMultiplierRailingTileData_1dae6
+
+BonusMultiplierRailingTileData_1da0b: ; 0x1da0b
+ db $01
+ dw BonusMultiplierRailingTileData_1daee
+
+BonusMultiplierRailingTileData_1da0e: ; 0x1da0e
+ db $01
+ dw BonusMultiplierRailingTileData_1daf6
+
+BonusMultiplierRailingTileData_1da11: ; 0x1da11
+ db $01
+ dw BonusMultiplierRailingTileData_1dafe
+
+BonusMultiplierRailingTileData_1da14: ; 0x1da14
+ db $01
+ dw BonusMultiplierRailingTileData_1db06
+
+BonusMultiplierRailingTileData_1da17: ; 0x1da17
+ db $01
+ dw BonusMultiplierRailingTileData_1db0e
+
+BonusMultiplierRailingTileData_1da1a: ; 0x1da1a
+ db $01
+ dw BonusMultiplierRailingTileData_1db16
+
+BonusMultiplierRailingTileData_1da1d: ; 0x1da1d
+ db $01
+ dw BonusMultiplierRailingTileData_1db1e
+
+BonusMultiplierRailingTileData_1da20: ; 0x1da20
+ db $01
+ dw BonusMultiplierRailingTileData_1db26
+
+BonusMultiplierRailingTileData_1da23: ; 0x1da23
+ db $01
+ dw BonusMultiplierRailingTileData_1db2e
+
+BonusMultiplierRailingTileData_1da26: ; 0x1da26
+ db $01
+ dw BonusMultiplierRailingTileData_1db36
+
+BonusMultiplierRailingTileData_1da29: ; 0x1da29
+ db $01
+ dw BonusMultiplierRailingTileData_1db3e
+
+BonusMultiplierRailingTileData_1da2c: ; 0x1da2c
+ db $01
+ dw BonusMultiplierRailingTileData_1db46
+
+BonusMultiplierRailingTileData_1da2f: ; 0x1da2f
+ db $01
+ dw BonusMultiplierRailingTileData_1db4e
+
+BonusMultiplierRailingTileData_1da32: ; 0x1da32
+ db $01
+ dw BonusMultiplierRailingTileData_1db56
+
+BonusMultiplierRailingTileData_1da35: ; 0x1da35
+ db $01
+ dw BonusMultiplierRailingTileData_1db5e
+
+BonusMultiplierRailingTileData_1da38: ; 0x1da38
+ db $01
+ dw BonusMultiplierRailingTileData_1db66
+
+BonusMultiplierRailingTileData_1da3b: ; 0x1da3b
+ db $01
+ dw BonusMultiplierRailingTileData_1db6e
+
+BonusMultiplierRailingTileData_1da3e: ; 0x1da3e
+ db $01
+ dw BonusMultiplierRailingTileData_1db76
+
+BonusMultiplierRailingTileData_1da41: ; 0x1da41
+ db $01
+ dw BonusMultiplierRailingTileData_1db7e
+
+BonusMultiplierRailingTileData_1da44: ; 0x1da44
+ db $01
+ dw BonusMultiplierRailingTileData_1db86
+
+BonusMultiplierRailingTileData_1da47: ; 0x1da47
+ db $01
+ dw BonusMultiplierRailingTileData_1db8e
+
+BonusMultiplierRailingTileData_1da4a: ; 0x1da4a
+ db $01
+ dw BonusMultiplierRailingTileData_1db96
+
+BonusMultiplierRailingTileData_1da4d: ; 0x1da4d
+ db $01
+ dw BonusMultiplierRailingTileData_1dba5
+
+BonusMultiplierRailingTileData_1da50: ; 0x1da50
+ db $01
+ dw BonusMultiplierRailingTileData_1dbb4
+
+BonusMultiplierRailingTileData_1da53: ; 0x1da53
+ db $01
+ dw BonusMultiplierRailingTileData_1dbc3
+
+BonusMultiplierRailingTileData_1da56: ; 0x1da56
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $62
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da5e: ; 0x1da5e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $63
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da66: ; 0x1da66
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $64
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da6e: ; 0x1da6e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $65
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da76: ; 0x1da76
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $66
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da7e: ; 0x1da7e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $67
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da86: ; 0x1da86
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $68
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da8e: ; 0x1da8e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $69
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da96: ; 0x1da96
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $6A
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1da9e: ; 0x1da9e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $6B
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1daa6: ; 0x1daa6
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $58
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1daae: ; 0x1daae
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $59
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dab6: ; 0x1dab6
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $5A
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dabe: ; 0x1dabe
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $5B
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dac6: ; 0x1dac6
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $5C
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dace: ; 0x1dace
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $5D
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dad6: ; 0x1dad6
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $5E
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dade: ; 0x1dade
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $5F
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dae6: ; 0x1dae6
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $60
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1daee: ; 0x1daee
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $4
+ db $61
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1daf6: ; 0x1daf6
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $76
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dafe: ; 0x1dafe
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $77
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db06: ; 0x1db06
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $78
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db0e: ; 0x1db0e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $79
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db16: ; 0x1db16
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $7A
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db1e: ; 0x1db1e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $7B
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db26: ; 0x1db26
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $7C
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db2e: ; 0x1db2e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $7D
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db36: ; 0x1db36
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $7E
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db3e: ; 0x1db3e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $7F
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db46: ; 0x1db46
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $6C
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db4e: ; 0x1db4e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $6D
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db56: ; 0x1db56
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $6E
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db5e: ; 0x1db5e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $6F
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db66: ; 0x1db66
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $70
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db6e: ; 0x1db6e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $71
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db76: ; 0x1db76
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $72
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db7e: ; 0x1db7e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $73
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db86: ; 0x1db86
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $74
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db8e: ; 0x1db8e
+ dw LoadTileLists
+ db $01 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $F
+ db $75
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1db96: ; 0x1db96
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $24
+ db $25, $26, $27
+
+ db $02 ; number of tiles
+ dw vBGMap + $44
+ db $28, $29
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dba5: ; 0x1dba5
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $24
+ db $2A, $2B, $2C
+
+ db $02 ; number of tiles
+ dw vBGMap + $44
+ db $2D, $2E
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dbb4: ; 0x1dbb4
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $2D
+ db $27, $26, $2F
+
+ db $02 ; number of tiles
+ dw vBGMap + $4E
+ db $29, $28
+
+ db $00 ; terminator
+
+BonusMultiplierRailingTileData_1dbc3: ; 0x1dbc3
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $2D
+ db $2C, $2B, $30
+
+ db $02 ; number of tiles
+ dw vBGMap + $4E
+ db $2E, $2D
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/blue_field/bumpers.asm b/data/queued_tiledata/blue_field/bumpers.asm
new file mode 100755
index 0000000..d5f9bd2
--- /dev/null
+++ b/data/queued_tiledata/blue_field/bumpers.asm
@@ -0,0 +1,219 @@
+TileDataPointers_1ceca:
+ dw TileData_1ced2
+ dw TileData_1ced5
+ dw TileData_1ced8
+ dw TileData_1cedb
+
+TileData_1ced2: ; 0x1ced2
+ db $01
+ dw TileData_1cede
+
+TileData_1ced5: ; 0x1ced5
+ db $01
+ dw TileData_1cef5
+
+TileData_1ced8: ; 0x1ced8
+ db $01
+ dw TileData_1cf0c
+
+TileData_1cedb: ; 0x1cedb
+ db $01
+ dw TileData_1cf23
+
+TileData_1cede: ; 0x1cede
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $61
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $62, $63
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $64, $65
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $66, $67
+
+ db $00 ; number of tiles
+
+TileData_1cef5: ; 0x1cef5
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $68
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $69, $6A
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $6B, $6C
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $6D, $6E
+
+ db $00 ; number of tiles
+
+TileData_1cf0c: ; 0x1cf0c
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $6F
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $70, $71
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $72, $73
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $74, $75
+
+ db $00 ; number of tiles
+
+TileData_1cf23: ; 0x1cf23
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $76
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $77, $78
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $79, $7A
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $7B, $7C
+
+ db $00 ; number of tiles
+
+TileDataPointers_1cf3a:
+ dw TileData_1cf42
+ dw TileData_1cf45
+ dw TileData_1cf48
+ dw TileData_1cf4b
+
+TileData_1cf42: ; 0x1cf42
+ db $01
+ dw TileData_1cf4e
+
+TileData_1cf45: ; 0x1cf45
+ db $01
+ dw TileData_1cf65
+
+TileData_1cf48: ; 0x1cf48
+ db $01
+ dw TileData_1cf7c
+
+TileData_1cf4b: ; 0x1cf4b
+ db $01
+ dw TileData_1cf93
+
+TileData_1cf4e: ; 0x1cf4e
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $39
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $3A, $3B
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $3C, $3D
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $3E, $3F
+
+ db $00 ; terminator
+
+TileData_1cf65: ; 0x1cf65
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $40
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $41, $42
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $43, $44
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $45, $46
+
+ db $00 ; terminator
+
+TileData_1cf7c: ; 0x1cf7c
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $39
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $3B, $3A
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $3D, $3C
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $3F, $3E
+
+ db $00 ; terminator
+
+TileData_1cf93: ; 0x1cf93
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $40
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $42, $41
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $44, $43
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $46, $45
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/blue_field/force_field.asm b/data/queued_tiledata/blue_field/force_field.asm
new file mode 100755
index 0000000..522bed0
--- /dev/null
+++ b/data/queued_tiledata/blue_field/force_field.asm
@@ -0,0 +1,171 @@
+TileDataPointers_1f1b5:
+ dw TileData_1f1bd
+ dw TileData_1f1c0
+ dw TileData_1f1c3
+ dw TileData_1f1c6
+
+TileData_1f1bd: ; 0x1f1bd
+ db $01
+ dw TileData_1f1c9
+
+TileData_1f1c0: ; 0x1f1c0
+ db $01
+ dw TileData_1f1d7
+
+TileData_1f1c3: ; 0x1f1c3
+ db $01
+ dw TileData_1f1e5
+
+TileData_1f1c6: ; 0x1f1c6
+ db $01
+ dw TileData_1f1f3
+
+TileData_1f1c9: ; 0x1f1c9
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $189
+ db $70, $71
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $72, $73
+
+ db $00 ; terminator
+
+TileData_1f1d7: ; 0x1f1d7
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $189
+ db $74, $75
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $76, $77
+
+ db $00 ; terminator
+
+TileData_1f1e5: ; 0x1f1e5
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $189
+ db $78, $79
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $7A, $7B
+
+ db $00 ; terminator
+
+TileData_1f1f3: ; 0x1f1f3
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $189
+ db $7C, $7D
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $7E, $7F
+
+ db $00 ; terminator
+
+TileDataPointers_1f201:
+ dw TileData_1f209
+ dw TileData_1f20c
+ dw TileData_1f20f
+ dw TileData_1f212
+
+TileData_1f209: ; 0x1f209
+ db $01
+ dw TileData_1f215
+
+TileData_1f20c: ; 0x1f20c
+ db $01
+ dw TileData_1f228
+
+TileData_1f20f: ; 0x1f20f
+ db $01
+ dw TileData_1f23b
+
+TileData_1f212: ; 0x1f212
+ db $01
+ dw TileData_1f24e
+
+TileData_1f215: ; 0x1f215
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $02 ; number of otiles
+ dw vBGMap + $189
+ db $6C, $6D
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $6E, $6F
+
+ db $02
+ dw vBGMap + $1c9
+ db $70, $71
+
+ db $00 ; terminator
+
+TileData_1f228: ; 0x1f228
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $02 ; number of otiles
+ dw vBGMap + $189
+ db $72, $80
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $73, $74
+
+ db $02
+ dw vBGMap + $1c9
+ db $75, $80
+
+ db $00 ; terminator
+
+TileData_1f23b: ; 0x1f23b
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $02 ; number of otiles
+ dw vBGMap + $189
+ db $76, $77
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $78, $79
+
+ db $02
+ dw vBGMap + $1c9
+ db $7A, $7B
+
+ db $00 ; terminator
+
+TileData_1f24e: ; 0x1f24e
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $02 ; number of otiles
+ dw vBGMap + $189
+ db $80, $7C
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $7D, $7E
+
+ db $02
+ dw vBGMap + $1c9
+ db $80, $7F
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/blue_field/poliwag_psyduck.asm b/data/queued_tiledata/blue_field/poliwag_psyduck.asm
new file mode 100755
index 0000000..7140e25
--- /dev/null
+++ b/data/queued_tiledata/blue_field/poliwag_psyduck.asm
@@ -0,0 +1,881 @@
+TileDataPointers_1df66:
+ dw TileData_1df74
+ dw TileData_1df77
+ dw TileData_1df7a
+ dw TileData_1df7f
+ dw TileData_1df84
+ dw TileData_1df89
+ dw TileData_1df8e
+
+TileData_1df74: ; 0x1df74
+ db $01
+ dw TileData_1df93
+
+TileData_1df77: ; 0x1df77
+ db $01
+ dw TileData_1df9f
+
+TileData_1df7a: ; 0x1df7a
+ db $02
+ dw TileData_1dfab
+ dw TileData_1dfb5
+
+TileData_1df7f: ; 0x1df7f
+ db $02
+ dw TileData_1dfbf
+ dw TileData_1dfc9
+
+TileData_1df84: ; 0x1df84
+ db $02
+ dw TileData_1dfd3
+ dw TileData_1dfdd
+
+TileData_1df89: ; 0x1df89
+ db $02
+ dw TileData_1dfe7
+ dw TileData_1dff1
+
+TileData_1df8e: ; 0x1df8e
+ db $02
+ dw TileData_1dffb
+ dw TileData_1e005
+
+TileData_1df93: ; 0x1df93
+ dw LoadTileLists
+ db $02 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $A3
+ db $4A
+
+ db $01 ; number of tiles
+ dw vBGMap + $C3
+ db $4B
+
+ db $00 ; terminator
+
+TileData_1df9f: ; 0x1df9f
+ dw LoadTileLists
+ db $02 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $A3
+ db $4C
+
+ db $01 ; number of tiles
+ dw vBGMap + $C3
+ db $4D
+
+ db $00 ; terminator
+
+TileData_1dfab: ; 0x1dfab
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageBlueFieldBottomBaseGameBoyGfx + $CE0
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1dfb5: ; 0x1dfb5
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D10
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1dfbf: ; 0x1dfbf
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D30
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1dfc9: ; 0x1dfc9
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D60
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1dfd3: ; 0x1dfd3
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20B0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1dfdd: ; 0x1dfdd
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1dfe7: ; 0x1dfe7
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2100
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1dff1: ; 0x1dff1
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2130
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1dffb: ; 0x1dffb
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2150
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e005: ; 0x1e005
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2180
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileDataPointers_1e00f:
+ dw TileData_1e01d
+ dw TileData_1e020
+ dw TileData_1e023
+ dw TileData_1e026
+ dw TileData_1e029
+ dw TileData_1e02c
+ dw TileData_1e02f
+
+TileData_1e01d: ; 0x1e01d
+ db $01
+ dw TileData_1e032
+
+TileData_1e020: ; 0x1e020
+ db $01
+ dw TileData_1e03e
+
+TileData_1e023: ; 0x1e023
+ db $01
+ dw TileData_1e04a
+
+TileData_1e026: ; 0x1e026
+ db $01
+ dw TileData_1e05c
+
+TileData_1e029: ; 0x1e029
+ db $01
+ dw TileData_1e06e
+
+TileData_1e02c: ; 0x1e02c
+ db $01
+ dw TileData_1e080
+
+TileData_1e02f: ; 0x1e02f
+ db $01
+ dw TileData_1e092
+
+TileData_1e032: ; 0x1e032
+ dw LoadTileLists
+ db $02 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $A3
+ db $35
+
+ db $01 ; number of tiles
+ dw vBGMap + $C3
+ db $36
+
+ db $00 ; terminator
+
+TileData_1e03e: ; 0x1e03e
+ dw LoadTileLists
+ db $02 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $A3
+ db $37
+
+ db $01 ; number of tiles
+ dw vBGMap + $C3
+ db $38
+
+ db $00 ; terminator
+
+TileData_1e04a: ; 0x1e04a
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $4F
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $50, $51
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $52, $53
+
+ db $00 ; terminator
+
+TileData_1e05c: ; 0x1e05c
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $54
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $55, $56
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $57, $58
+
+ db $00 ; terminator
+
+TileData_1e06e: ; 0x1e06e
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $59
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $5A, $5B
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $5C, $5D
+
+ db $00 ; terminator
+
+TileData_1e080: ; 0x1e080
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $59
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $5A, $5E
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $5C, $5F
+
+ db $00 ; terminator
+
+TileData_1e092: ; 0x1e092
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $60
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $61, $62
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $63, $64
+
+ db $00 ; terminator
+
+TileDataPointers_1e0a4:
+ dw TileData_1e0b8
+ dw TileData_1e0bf
+ dw TileData_1e0c6
+ dw TileData_1e0cd
+ dw TileData_1e0d4
+ dw TileData_1e0d9
+ dw TileData_1e0de
+ dw TileData_1e0e3
+ dw TileData_1e0e8
+ dw TileData_1e0ed
+
+TileData_1e0b8: ; 0x1e0b8
+ db $03
+ dw TileData_1e0f0
+ dw TileData_1e0fa
+ dw TileData_1e104
+
+TileData_1e0bf: ; 0x1e0bf
+ db $03
+ dw TileData_1e10e
+ dw TileData_1e118
+ dw TileData_1e122
+
+TileData_1e0c6: ; 0x1e0c6
+ db $03
+ dw TileData_1e12c
+ dw TileData_1e136
+ dw TileData_1e140
+
+TileData_1e0cd: ; 0x1e0cd
+ db $03
+ dw TileData_1e14a
+ dw TileData_1e154
+ dw TileData_1e15e
+
+TileData_1e0d4: ; 0x1e0d4
+ db $02
+ dw TileData_1e168
+ dw TileData_1e172
+
+TileData_1e0d9: ; 0x1e0d9
+ db $02
+ dw TileData_1e17c
+ dw TileData_1e186
+
+TileData_1e0de: ; 0x1e0de
+ db $02
+ dw TileData_1e190
+ dw TileData_1e19a
+
+TileData_1e0e3: ; 0x1e0e3
+ db $02
+ dw TileData_1e1a4
+ dw TileData_1e1ae
+
+TileData_1e0e8: ; 0x1e0e8
+ db $02
+ dw TileData_1e1b8
+ dw TileData_1e1c2
+
+TileData_1e0ed: ; 0x1e0ed
+ db $01
+ dw TileData_1e1cc
+
+TileData_1e0f0: ; 0x1e0f0
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $41
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C10
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e0fa: ; 0x1e0fa
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C40
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e104: ; 0x1e104
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C70
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e10e: ; 0x1e10e
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $41
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e118: ; 0x1e118
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e122: ; 0x1e122
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e12c: ; 0x1e12c
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $41
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FF0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e136: ; 0x1e136
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e140: ; 0x1e140
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e14a: ; 0x1e14a
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $41
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2020
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e154: ; 0x1e154
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e15e: ; 0x1e15e
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e168: ; 0x1e168
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D80
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e172: ; 0x1e172
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $5A
+ dw StageBlueFieldBottomBaseGameBoyGfx + $DA0
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e17c: ; 0x1e17c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e186: ; 0x1e186
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $5A
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e190: ; 0x1e190
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e19a: ; 0x1e19a
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $5A
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2210
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e1a4: ; 0x1e1a4
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e1ae: ; 0x1e1ae
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $5A
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2240
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e1b8: ; 0x1e1b8
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C40
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e1c2: ; 0x1e1c2
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C70
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e1cc: ; 0x1e1cc
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D80
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileDataPointers_1e1d6:
+ dw TileData_1e1f2
+ dw TileData_1e1f5
+ dw TileData_1e1f8
+ dw TileData_1e1fb
+ dw TileData_1e1fe
+ dw TileData_1e201
+ dw TileData_1e204
+ dw TileData_1e207
+ dw TileData_1e20a
+ dw TileData_1e20d
+ dw TileData_1e210
+ dw TileData_1e213
+ dw TileData_1e216
+ dw TileData_1e219
+
+TileData_1e1f2: ; 0x1e1f2
+ db $01
+ dw TileData_1e21c
+
+TileData_1e1f5: ; 0x1e1f5
+ db $01
+ dw TileData_1e238
+
+TileData_1e1f8: ; 0x1e1f8
+ db $01
+ dw TileData_1e254
+
+TileData_1e1fb: ; 0x1e1fb
+ db $01
+ dw TileData_1e270
+
+TileData_1e1fe: ; 0x1e1fe
+ db $01
+ dw TileData_1e28c
+
+TileData_1e201: ; 0x1e201
+ db $01
+ dw TileData_1e2a2
+
+TileData_1e204: ; 0x1e204
+ db $01
+ dw TileData_1e2b8
+
+TileData_1e207: ; 0x1e207
+ db $01
+ dw TileData_1e2ce
+
+TileData_1e20a: ; 0x1e20a
+ db $01
+ dw TileData_1e2e4
+
+TileData_1e20d: ; 0x1e20d
+ db $01
+ dw TileData_1e2fa
+
+TileData_1e210: ; 0x1e210
+ db $01
+ dw TileData_1e310
+
+TileData_1e213: ; 0x1e213
+ db $01
+ dw TileData_1e326
+
+TileData_1e216: ; 0x1e216
+ db $01
+ dw TileData_1e336
+
+TileData_1e219: ; 0x1e219
+ db $01
+ dw TileData_1e346
+
+TileData_1e21c: ; 0x1e21c
+ dw LoadTileLists
+ db $0C ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $60
+ db $36, $37, $38
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $39, $3A, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $4C, $4D, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $4F, $50, $51
+
+ db $00 ; terminator
+
+TileData_1e238: ; 0x1e238
+ dw LoadTileLists
+ db $0C ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $60
+ db $3C, $37, $38
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $3D, $3E, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $52, $53, $54
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $55, $56, $57
+
+ db $00 ; terminator
+
+TileData_1e254: ; 0x1e254
+ dw LoadTileLists
+ db $0C ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $60
+ db $40, $41, $38
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $42, $43, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $52, $53, $54
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $55, $56, $57
+
+ db $00 ; terminator
+
+TileData_1e270: ; 0x1e270
+ dw LoadTileLists
+ db $0C ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $60
+ db $36, $46, $47
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $48, $49, $4A
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $52, $53, $54
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $55, $56, $57
+
+ db $00 ; terminator
+
+TileData_1e28c: ; 0x1e28c
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $65, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $67, $68
+
+ db $03 ; number of tiles
+ dw vBGMap + $D1
+ db $69, $6A, $6B
+
+ db $00 ; terminator
+
+TileData_1e2a2: ; 0x1e2a2
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $6C, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $6D, $6E, $68
+
+ db $03 ; number of tiles
+ dw vBGMap + $D1
+ db $6F, $70, $6B
+
+ db $00 ; terminator
+
+TileData_1e2b8: ; 0x1e2b8
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $6C, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $72, $68
+
+ db $03 ; number of tiles
+ dw vBGMap + $D1
+ db $69, $73, $6B
+
+ db $00 ; terminator
+
+TileData_1e2ce: ; 0x1e2ce
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $75, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $76, $77
+
+ db $03 ; number of tiles
+ dw vBGMap + $D1
+ db $69, $78, $79
+
+ db $00 ; terminator
+
+TileData_1e2e4: ; 0x1e2e4
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $3F, $3A, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $4C, $4D, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $4F, $50, $51
+
+ db $00 ; terminator
+
+TileData_1e2fa: ; 0x1e2fa
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $44, $45, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $4C, $4D, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $4F, $50, $51
+
+ db $00 ; terminator
+
+TileData_1e310: ; 0x1e310
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $39, $4B, $4A
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $4C, $4D, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $4F, $50, $51
+
+ db $00 ; terminator
+
+TileData_1e326: ; 0x1e326
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $65, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $6D, $71, $68
+
+ db $00 ; terminator
+
+TileData_1e336: ; 0x1e336
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $65, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $74, $68
+
+ db $00 ; terminator
+
+TileData_1e346: ; 0x1e346
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $65, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $67, $77
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/blue_field/spinner.asm b/data/queued_tiledata/blue_field/spinner.asm
new file mode 100755
index 0000000..51ebf55
--- /dev/null
+++ b/data/queued_tiledata/blue_field/spinner.asm
@@ -0,0 +1,659 @@
+TileDataPointers_1cb60:
+ dw TileData_1cb80
+ dw TileData_1cb85
+ dw TileData_1cb8a
+ dw TileData_1cb8f
+ dw TileData_1cb94
+ dw TileData_1cb99
+ dw TileData_1cb9e
+ dw TileData_1cba3
+ dw TileData_1cba8
+ dw TileData_1cbad
+ dw TileData_1cbb2
+ dw TileData_1cbb7
+ dw TileData_1cbbc
+ dw TileData_1cbc1
+ dw TileData_1cbc6
+ dw TileData_1cbcb
+
+TileData_1cb80: ; 0x1cb80
+ db $02
+ dw TileData_1cbd0
+ dw TileData_1cbda
+
+TileData_1cb85: ; 0x1cb85
+ db $02
+ dw TileData_1cbe4
+ dw TileData_1cbee
+
+TileData_1cb8a: ; 0x1cb8a
+ db $02
+ dw TileData_1cbf8
+ dw TileData_1cc02
+
+TileData_1cb8f: ; 0x1cb8f
+ db $02
+ dw TileData_1cc0c
+ dw TileData_1cc16
+
+TileData_1cb94: ; 0x1cb94
+ db $02
+ dw TileData_1cc20
+ dw TileData_1cc2a
+
+TileData_1cb99: ; 0x1cb99
+ db $02
+ dw TileData_1cc34
+ dw TileData_1cc3e
+
+TileData_1cb9e: ; 0x1cb9e
+ db $02
+ dw TileData_1cc48
+ dw TileData_1cc52
+
+TileData_1cba3: ; 0x1cba3
+ db $02
+ dw TileData_1cc5c
+ dw TileData_1cc66
+
+TileData_1cba8: ; 0x1cba8
+ db $02
+ dw TileData_1cc70
+ dw TileData_1cc7a
+
+TileData_1cbad: ; 0x1cbad
+ db $02
+ dw TileData_1cc84
+ dw TileData_1cc8e
+
+TileData_1cbb2: ; 0x1cbb2
+ db $02
+ dw TileData_1cc98
+ dw TileData_1cca2
+
+TileData_1cbb7: ; 0x1cbb7
+ db $02
+ dw TileData_1ccac
+ dw TileData_1ccb6
+
+TileData_1cbbc: ; 0x1cbbc
+ db $02
+ dw TileData_1ccc0
+ dw TileData_1ccca
+
+TileData_1cbc1: ; 0x1cbc1
+ db $02
+ dw TileData_1ccd4
+ dw TileData_1ccde
+
+TileData_1cbc6: ; 0x1cbc6
+ db $02
+ dw TileData_1cce8
+ dw TileData_1ccf2
+
+TileData_1cbcb: ; 0x1cbcb
+ db $02
+ dw TileData_1ccfc
+ dw TileData_1cd06
+
+TileData_1cbd0: ; 0xcbd0
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageBlueFieldTopBaseGameBoyGfx + $c20
+ db Bank(StageBlueFieldTopBaseGameBoyGfx)
+ db $00 ; terminator
+
+TileData_1cbda: ; 0xcbda
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageBlueFieldTopBaseGameBoyGfx + $c40
+ db Bank(StageBlueFieldTopBaseGameBoyGfx)
+ db $00 ; terminator
+
+TileData_1cbe4: ; 0xcbe4
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1800
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cbee: ; 0xcbee
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1820
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cbf8: ; 0xcbf8
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1840
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc02: ; 0xcc02
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1860
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc0c: ; 0xcc0c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1880
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc16: ; 0xcc16
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc20: ; 0xcc20
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc2a: ; 0xcc2a
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc34: ; 0xcc34
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1900
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc3e: ; 0xcc3e
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1920
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc48: ; 0xcc48
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1940
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc52: ; 0xcc52
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1960
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc5c: ; 0xcc5c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1980
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc66: ; 0xcc66
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc70: ; 0xcc70
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc7a: ; 0xcc7a
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc84: ; 0xcc84
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc8e: ; 0xcc8e
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc98: ; 0xcc98
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cca2: ; 0xcca2
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccac: ; 0xccac
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccb6: ; 0xccb6
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccc0: ; 0xccc0
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccca: ; 0xccca
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccd4: ; 0xccd4
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccde: ; 0xccde
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cce8: ; 0xcce8
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccf2: ; 0xccf2
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccfc: ; 0xccfc
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cd06: ; 0xcd06
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1BA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileDataPointers_1cd10:
+ dw TileData_1cd30
+ dw TileData_1cd33
+ dw TileData_1cd36
+ dw TileData_1cd39
+ dw TileData_1cd3c
+ dw TileData_1cd3f
+ dw TileData_1cd42
+ dw TileData_1cd45
+ dw TileData_1cd48
+ dw TileData_1cd4b
+ dw TileData_1cd4e
+ dw TileData_1cd51
+ dw TileData_1cd54
+ dw TileData_1cd57
+ dw TileData_1cd5a
+ dw TileData_1cd5d
+
+TileData_1cd30: ; 0x1cd30
+ db $01
+ dw TileData_1cd60
+
+TileData_1cd33: ; 0x1cd33
+ db $01
+ dw TileData_1cd6e
+
+TileData_1cd36: ; 0x1cd36
+ db $01
+ dw TileData_1cd7c
+
+TileData_1cd39: ; 0x1cd39
+ db $01
+ dw TileData_1cd8a
+
+TileData_1cd3c: ; 0x1cd3c
+ db $01
+ dw TileData_1cd98
+
+TileData_1cd3f: ; 0x1cd3f
+ db $01
+ dw TileData_1cda6
+
+TileData_1cd42: ; 0x1cd42
+ db $01
+ dw TileData_1cdb4
+
+TileData_1cd45: ; 0x1cd45
+ db $01
+ dw TileData_1cdc2
+
+TileData_1cd48: ; 0x1cd48
+ db $01
+ dw TileData_1cdd0
+
+TileData_1cd4b: ; 0x1cd4b
+ db $01
+ dw TileData_1cdde
+
+TileData_1cd4e: ; 0x1cd4e
+ db $01
+ dw TileData_1cdec
+
+TileData_1cd51: ; 0x1cd51
+ db $01
+ dw TileData_1cdfa
+
+TileData_1cd54: ; 0x1cd54
+ db $01
+ dw TileData_1ce08
+
+TileData_1cd57: ; 0x1cd57
+ db $01
+ dw TileData_1ce16
+
+TileData_1cd5a: ; 0x1cd5a
+ db $01
+ dw TileData_1ce24
+
+TileData_1cd5d: ; 0x1cd5d
+ db $01
+ dw TileData_1ce32
+
+TileData_1cd60: ; 0x1cd60
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $4A, $4B
+
+ db $00 ; terminator
+
+TileData_1cd6e: ; 0x1cd6e
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $4C, $4D
+
+ db $00 ; terminator
+
+TileData_1cd7c: ; 0x1cd7c
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $4E, $4F
+
+ db $00 ; terminator
+
+TileData_1cd8a: ; 0x1cd8a
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $50, $51
+
+ db $00 ; terminator
+
+TileData_1cd98: ; 0x1cd98
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $52, $53
+
+ db $00 ; terminator
+
+TileData_1cda6: ; 0x1cda6
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $54, $55
+
+ db $00 ; terminator
+
+TileData_1cdb4: ; 0x1cdb4
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $56, $57
+
+ db $00 ; terminator
+
+TileData_1cdc2: ; 0x1cdc2
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1cdd0: ; 0x1cdd0
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1cdde: ; 0x1cdde
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1cdec: ; 0x1cdec
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $5E, $5F
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1cdfa: ; 0x1cdfa
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $60, $61
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1ce08: ; 0x1ce08
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $62, $63
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1ce16: ; 0x1ce16
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $64, $65
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1ce24: ; 0x1ce24
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $66, $67
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1ce32: ; 0x1ce32
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $68, $69
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $6A, $6B
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/red_field/bonus_multiplier_railings.asm b/data/queued_tiledata/red_field/bonus_multiplier_railings.asm
new file mode 100755
index 0000000..083ff40
--- /dev/null
+++ b/data/queued_tiledata/red_field/bonus_multiplier_railings.asm
@@ -0,0 +1,1281 @@
+BonusMultiplierRailingTileDataPointers_16fc8:
+ dw BonusMultiplierRailingTileData_16ff0
+ dw BonusMultiplierRailingTileData_16ff5
+ dw BonusMultiplierRailingTileData_16ffa
+ dw BonusMultiplierRailingTileData_16fff
+ dw BonusMultiplierRailingTileData_17004
+ dw BonusMultiplierRailingTileData_17009
+ dw BonusMultiplierRailingTileData_1700e
+ dw BonusMultiplierRailingTileData_17013
+ dw BonusMultiplierRailingTileData_17018
+ dw BonusMultiplierRailingTileData_1701d
+ dw BonusMultiplierRailingTileData_17022
+ dw BonusMultiplierRailingTileData_17027
+ dw BonusMultiplierRailingTileData_1702c
+ dw BonusMultiplierRailingTileData_17031
+ dw BonusMultiplierRailingTileData_17036
+ dw BonusMultiplierRailingTileData_1703b
+ dw BonusMultiplierRailingTileData_17040
+ dw BonusMultiplierRailingTileData_17045
+ dw BonusMultiplierRailingTileData_1704a
+ dw BonusMultiplierRailingTileData_1704f
+
+BonusMultiplierRailingTileData_16ff0: ; 0x16ff0
+ db $02
+ dw BonusMultiplierRailingTileData_17054
+ dw BonusMultiplierRailingTileData_1705e
+
+BonusMultiplierRailingTileData_16ff5: ; 0x16ff5
+ db $02
+ dw BonusMultiplierRailingTileData_17068
+ dw BonusMultiplierRailingTileData_17072
+
+BonusMultiplierRailingTileData_16ffa: ; 0x16ffa
+ db $02
+ dw BonusMultiplierRailingTileData_1707c
+ dw BonusMultiplierRailingTileData_17086
+
+BonusMultiplierRailingTileData_16fff: ; 0x16fff
+ db $02
+ dw BonusMultiplierRailingTileData_17090
+ dw BonusMultiplierRailingTileData_1709a
+
+BonusMultiplierRailingTileData_17004: ; 0x17004
+ db $02
+ dw BonusMultiplierRailingTileData_170a4
+ dw BonusMultiplierRailingTileData_170ae
+
+BonusMultiplierRailingTileData_17009: ; 0x17009
+ db $02
+ dw BonusMultiplierRailingTileData_170b8
+ dw BonusMultiplierRailingTileData_170c2
+
+BonusMultiplierRailingTileData_1700e: ; 0x1700e
+ db $02
+ dw BonusMultiplierRailingTileData_170cc
+ dw BonusMultiplierRailingTileData_170d6
+
+BonusMultiplierRailingTileData_17013: ; 0x17013
+ db $02
+ dw BonusMultiplierRailingTileData_170e0
+ dw BonusMultiplierRailingTileData_170ea
+
+BonusMultiplierRailingTileData_17018: ; 0x17018
+ db $02
+ dw BonusMultiplierRailingTileData_170f4
+ dw BonusMultiplierRailingTileData_170fe
+
+BonusMultiplierRailingTileData_1701d: ; 0x1701d
+ db $02
+ dw BonusMultiplierRailingTileData_17108
+ dw BonusMultiplierRailingTileData_17112
+
+BonusMultiplierRailingTileData_17022: ; 0x17022
+ db $02
+ dw BonusMultiplierRailingTileData_1711c
+ dw BonusMultiplierRailingTileData_17126
+
+BonusMultiplierRailingTileData_17027: ; 0x17027
+ db $02
+ dw BonusMultiplierRailingTileData_17130
+ dw BonusMultiplierRailingTileData_1713a
+
+BonusMultiplierRailingTileData_1702c: ; 0x1702c
+ db $02
+ dw BonusMultiplierRailingTileData_17144
+ dw BonusMultiplierRailingTileData_1714e
+
+BonusMultiplierRailingTileData_17031: ; 0x17031
+ db $02
+ dw BonusMultiplierRailingTileData_17158
+ dw BonusMultiplierRailingTileData_17162
+
+BonusMultiplierRailingTileData_17036: ; 0x17036
+ db $02
+ dw BonusMultiplierRailingTileData_1716c
+ dw BonusMultiplierRailingTileData_17176
+
+BonusMultiplierRailingTileData_1703b: ; 0x1703b
+ db $02
+ dw BonusMultiplierRailingTileData_17180
+ dw BonusMultiplierRailingTileData_1718a
+
+BonusMultiplierRailingTileData_17040: ; 0x17040
+ db $02
+ dw BonusMultiplierRailingTileData_17194
+ dw BonusMultiplierRailingTileData_1719e
+
+BonusMultiplierRailingTileData_17045: ; 0x17045
+ db $02
+ dw BonusMultiplierRailingTileData_171a8
+ dw BonusMultiplierRailingTileData_171b2
+
+BonusMultiplierRailingTileData_1704a: ; 0x1704a
+ db $02
+ dw BonusMultiplierRailingTileData_171bc
+ dw BonusMultiplierRailingTileData_171c6
+
+BonusMultiplierRailingTileData_1704f: ; 0x1704f
+ db $02
+ dw BonusMultiplierRailingTileData_171d0
+ dw BonusMultiplierRailingTileData_171da
+
+BonusMultiplierRailingTileData_17054: ; 0x17054
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1280
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1705e: ; 0x1705e
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1140
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17068: ; 0x17068
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17072: ; 0x17072
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1160
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1707c: ; 0x1707c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17086: ; 0x17086
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1180
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17090: ; 0x17090
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1709a: ; 0x1709a
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170a4: ; 0x170a4
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1300
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170ae: ; 0x170ae
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170b8: ; 0x170b8
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1320
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170c2: ; 0x170c2
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170cc: ; 0x170cc
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1340
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170d6: ; 0x170d6
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1200
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170e0: ; 0x170e0
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1360
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170ea: ; 0x170ea
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1220
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170f4: ; 0x170f4
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1380
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_170fe: ; 0x170fe
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1240
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17108: ; 0x17108
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $46
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17112: ; 0x17112
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $48
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1260
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1711c: ; 0x1711c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1500
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17126: ; 0x17126
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17130: ; 0x17130
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1520
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1713a: ; 0x1713a
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17144: ; 0x17144
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1540
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1714e: ; 0x1714e
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1400
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17158: ; 0x17158
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1560
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17162: ; 0x17162
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1420
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1716c: ; 0x1716c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1580
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17176: ; 0x17176
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1440
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17180: ; 0x17180
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1718a: ; 0x1718a
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1460
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_17194: ; 0x17194
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_1719e: ; 0x1719e
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1480
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_171a8: ; 0x171a8
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_171b2: ; 0x171b2
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_171bc: ; 0x171bc
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1600
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_171c6: ; 0x171c6
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_171d0: ; 0x171d0
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4a
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1620
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_171da: ; 0x171da
+ dw Func_11d2
+ db $20, $02
+ dw vTilesSH tile $4c
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+BonusMultiplierRailingTileData_171e4:
+ dw BonusMultiplierRailingTileData_171ec
+ dw BonusMultiplierRailingTileData_171ef
+ dw BonusMultiplierRailingTileData_171f2
+ dw BonusMultiplierRailingTileData_171f5
+
+BonusMultiplierRailingTileData_171ec: ; 0x171ec
+ db $01
+ dw BonusMultiplierRailingTileData_171f8
+
+BonusMultiplierRailingTileData_171ef: ; 0x171ef
+ db $01
+ dw BonusMultiplierRailingTileData_17204
+
+BonusMultiplierRailingTileData_171f2: ; 0x171f2
+ db $01
+ dw BonusMultiplierRailingTileData_17210
+
+BonusMultiplierRailingTileData_171f5: ; 0x171f5
+ db $01
+ dw BonusMultiplierRailingTileData_1721c
+
+BonusMultiplierRailingTileData_171f8: ; 0x171f8
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $C6
+
+ db $01
+ dw vBGMap + $24
+ db $C7
+
+ db $00
+
+BonusMultiplierRailingTileData_17204: ; 0x17204
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $C8
+
+ db $01
+ dw vBGMap + $24
+ db $C9
+
+ db $00
+
+BonusMultiplierRailingTileData_17210: ; 0x17210
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $CA
+
+ db $01
+ dw vBGMap + $2F
+ db $CB
+
+ db $00
+
+BonusMultiplierRailingTileData_1721c: ; 0x1721c
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $CC
+
+ db $01
+ dw vBGMap + $2F
+ db $CD
+
+ db $00
+
+BonusMultiplierRailingTileDataPointers_17228:
+ dw BonusMultiplierRailingTileData_17278
+ dw BonusMultiplierRailingTileData_1727b
+ dw BonusMultiplierRailingTileData_1727e
+ dw BonusMultiplierRailingTileData_17281
+ dw BonusMultiplierRailingTileData_17284
+ dw BonusMultiplierRailingTileData_17287
+ dw BonusMultiplierRailingTileData_1728a
+ dw BonusMultiplierRailingTileData_1728d
+ dw BonusMultiplierRailingTileData_17290
+ dw BonusMultiplierRailingTileData_17293
+ dw BonusMultiplierRailingTileData_17296
+ dw BonusMultiplierRailingTileData_17299
+ dw BonusMultiplierRailingTileData_1729c
+ dw BonusMultiplierRailingTileData_1729f
+ dw BonusMultiplierRailingTileData_172a2
+ dw BonusMultiplierRailingTileData_172a5
+ dw BonusMultiplierRailingTileData_172a8
+ dw BonusMultiplierRailingTileData_172ab
+ dw BonusMultiplierRailingTileData_172ae
+ dw BonusMultiplierRailingTileData_172b1
+ dw BonusMultiplierRailingTileData_172b4
+ dw BonusMultiplierRailingTileData_172b7
+ dw BonusMultiplierRailingTileData_172ba
+ dw BonusMultiplierRailingTileData_172bd
+ dw BonusMultiplierRailingTileData_172c0
+ dw BonusMultiplierRailingTileData_172c3
+ dw BonusMultiplierRailingTileData_172c6
+ dw BonusMultiplierRailingTileData_172c9
+ dw BonusMultiplierRailingTileData_172cc
+ dw BonusMultiplierRailingTileData_172cf
+ dw BonusMultiplierRailingTileData_172d2
+ dw BonusMultiplierRailingTileData_172d5
+ dw BonusMultiplierRailingTileData_172d8
+ dw BonusMultiplierRailingTileData_172db
+ dw BonusMultiplierRailingTileData_172de
+ dw BonusMultiplierRailingTileData_172e1
+ dw BonusMultiplierRailingTileData_172e4
+ dw BonusMultiplierRailingTileData_172e7
+ dw BonusMultiplierRailingTileData_172ea
+ dw BonusMultiplierRailingTileData_172ed
+
+BonusMultiplierRailingTileData_17278: ; 0x17278
+ db $01
+ dw BonusMultiplierRailingTileData_172f0
+
+BonusMultiplierRailingTileData_1727b: ; 0x1727b
+ db $01
+ dw BonusMultiplierRailingTileData_172fc
+
+BonusMultiplierRailingTileData_1727e: ; 0x1727e
+ db $01
+ dw BonusMultiplierRailingTileData_17308
+
+BonusMultiplierRailingTileData_17281: ; 0x17281
+ db $01
+ dw BonusMultiplierRailingTileData_17314
+
+BonusMultiplierRailingTileData_17284: ; 0x17284
+ db $01
+ dw BonusMultiplierRailingTileData_17320
+
+BonusMultiplierRailingTileData_17287: ; 0x17287
+ db $01
+ dw BonusMultiplierRailingTileData_1732c
+
+BonusMultiplierRailingTileData_1728a: ; 0x1728a
+ db $01
+ dw BonusMultiplierRailingTileData_17338
+
+BonusMultiplierRailingTileData_1728d: ; 0x1728d
+ db $01
+ dw BonusMultiplierRailingTileData_17344
+
+BonusMultiplierRailingTileData_17290: ; 0x17290
+ db $01
+ dw BonusMultiplierRailingTileData_17350
+
+BonusMultiplierRailingTileData_17293: ; 0x17293
+ db $01
+ dw BonusMultiplierRailingTileData_1735c
+
+BonusMultiplierRailingTileData_17296: ; 0x17296
+ db $01
+ dw BonusMultiplierRailingTileData_17368
+
+BonusMultiplierRailingTileData_17299: ; 0x17299
+ db $01
+ dw BonusMultiplierRailingTileData_17374
+
+BonusMultiplierRailingTileData_1729c: ; 0x1729c
+ db $01
+ dw BonusMultiplierRailingTileData_17380
+
+BonusMultiplierRailingTileData_1729f: ; 0x1729f
+ db $01
+ dw BonusMultiplierRailingTileData_1738c
+
+BonusMultiplierRailingTileData_172a2: ; 0x172a2
+ db $01
+ dw BonusMultiplierRailingTileData_17398
+
+BonusMultiplierRailingTileData_172a5: ; 0x172a5
+ db $01
+ dw BonusMultiplierRailingTileData_173a4
+
+BonusMultiplierRailingTileData_172a8: ; 0x172a8
+ db $01
+ dw BonusMultiplierRailingTileData_173b0
+
+BonusMultiplierRailingTileData_172ab: ; 0x172ab
+ db $01
+ dw BonusMultiplierRailingTileData_173bc
+
+BonusMultiplierRailingTileData_172ae: ; 0x172ae
+ db $01
+ dw BonusMultiplierRailingTileData_173c8
+
+BonusMultiplierRailingTileData_172b1: ; 0x172b1
+ db $01
+ dw BonusMultiplierRailingTileData_173d4
+
+BonusMultiplierRailingTileData_172b4: ; 0x172b4
+ db $01
+ dw BonusMultiplierRailingTileData_173e0
+
+BonusMultiplierRailingTileData_172b7: ; 0x172b7
+ db $01
+ dw BonusMultiplierRailingTileData_173ec
+
+BonusMultiplierRailingTileData_172ba: ; 0x172ba
+ db $01
+ dw BonusMultiplierRailingTileData_173f8
+
+BonusMultiplierRailingTileData_172bd: ; 0x172bd
+ db $01
+ dw BonusMultiplierRailingTileData_17404
+
+BonusMultiplierRailingTileData_172c0: ; 0x172c0
+ db $01
+ dw BonusMultiplierRailingTileData_17410
+
+BonusMultiplierRailingTileData_172c3: ; 0x172c3
+ db $01
+ dw BonusMultiplierRailingTileData_1741c
+
+BonusMultiplierRailingTileData_172c6: ; 0x172c6
+ db $01
+ dw BonusMultiplierRailingTileData_17428
+
+BonusMultiplierRailingTileData_172c9: ; 0x172c9
+ db $01
+ dw BonusMultiplierRailingTileData_17434
+
+BonusMultiplierRailingTileData_172cc: ; 0x172cc
+ db $01
+ dw BonusMultiplierRailingTileData_17440
+
+BonusMultiplierRailingTileData_172cf: ; 0x172cf
+ db $01
+ dw BonusMultiplierRailingTileData_1744c
+
+BonusMultiplierRailingTileData_172d2: ; 0x172d2
+ db $01
+ dw BonusMultiplierRailingTileData_17458
+
+BonusMultiplierRailingTileData_172d5: ; 0x172d5
+ db $01
+ dw BonusMultiplierRailingTileData_17464
+
+BonusMultiplierRailingTileData_172d8: ; 0x172d8
+ db $01
+ dw BonusMultiplierRailingTileData_17470
+
+BonusMultiplierRailingTileData_172db: ; 0x172db
+ db $01
+ dw BonusMultiplierRailingTileData_1747c
+
+BonusMultiplierRailingTileData_172de: ; 0x172de
+ db $01
+ dw BonusMultiplierRailingTileData_17488
+
+BonusMultiplierRailingTileData_172e1: ; 0x172e1
+ db $01
+ dw BonusMultiplierRailingTileData_17494
+
+BonusMultiplierRailingTileData_172e4: ; 0x172e4
+ db $01
+ dw BonusMultiplierRailingTileData_174a0
+
+BonusMultiplierRailingTileData_172e7: ; 0x172e7
+ db $01
+ dw BonusMultiplierRailingTileData_174ac
+
+BonusMultiplierRailingTileData_172ea: ; 0x172ea
+ db $01
+ dw BonusMultiplierRailingTileData_174b8
+
+BonusMultiplierRailingTileData_172ed: ; 0x172ed
+ db $01
+ dw BonusMultiplierRailingTileData_174c4
+
+BonusMultiplierRailingTileData_172f0: ; 0x172f0
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $40
+
+ db $01
+ dw vBGMap + $24
+ db $41
+
+ db $00
+
+BonusMultiplierRailingTileData_172fc: ; 0x172fc
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $42
+
+ db $01
+ dw vBGMap + $24
+ db $43
+
+ db $00
+
+BonusMultiplierRailingTileData_17308: ; 0x17308
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $44
+
+ db $01
+ dw vBGMap + $24
+ db $45
+
+ db $00
+
+BonusMultiplierRailingTileData_17314: ; 0x17314
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $46
+
+ db $01
+ dw vBGMap + $24
+ db $47
+
+ db $00
+
+BonusMultiplierRailingTileData_17320: ; 0x17320
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $48
+
+ db $01
+ dw vBGMap + $24
+ db $49
+
+ db $00
+
+BonusMultiplierRailingTileData_1732c: ; 0x1732c
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $4A
+
+ db $01
+ dw vBGMap + $24
+ db $4B
+
+ db $00
+
+BonusMultiplierRailingTileData_17338: ; 0x17338
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $4C
+
+ db $01
+ dw vBGMap + $24
+ db $4D
+
+ db $00
+
+BonusMultiplierRailingTileData_17344: ; 0x17344
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $4E
+
+ db $01
+ dw vBGMap + $24
+ db $4F
+
+ db $00
+
+BonusMultiplierRailingTileData_17350: ; 0x17350
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $50
+
+ db $01
+ dw vBGMap + $24
+ db $51
+
+ db $00
+
+BonusMultiplierRailingTileData_1735c: ; 0x1735c
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $52
+
+ db $01
+ dw vBGMap + $24
+ db $53
+
+ db $00
+
+BonusMultiplierRailingTileData_17368: ; 0x17368
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $2C
+
+ db $01
+ dw vBGMap + $24
+ db $2D
+
+ db $00
+
+BonusMultiplierRailingTileData_17374: ; 0x17374
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $2E
+
+ db $01
+ dw vBGMap + $24
+ db $2F
+
+ db $00
+
+BonusMultiplierRailingTileData_17380: ; 0x17380
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $30
+
+ db $01
+ dw vBGMap + $24
+ db $31
+
+ db $00
+
+BonusMultiplierRailingTileData_1738c: ; 0x1738c
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $32
+
+ db $01
+ dw vBGMap + $24
+ db $33
+
+ db $00
+
+BonusMultiplierRailingTileData_17398: ; 0x17398
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $34
+
+ db $01
+ dw vBGMap + $24
+ db $35
+
+ db $00
+
+BonusMultiplierRailingTileData_173a4: ; 0x173a4
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $36
+
+ db $01
+ dw vBGMap + $24
+ db $37
+
+ db $00
+
+BonusMultiplierRailingTileData_173b0: ; 0x173b0
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $38
+
+ db $01
+ dw vBGMap + $24
+ db $39
+
+ db $00
+
+BonusMultiplierRailingTileData_173bc: ; 0x173bc
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $3A
+
+ db $01
+ dw vBGMap + $24
+ db $3B
+
+ db $00
+
+BonusMultiplierRailingTileData_173c8: ; 0x173c8
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $3C
+
+ db $01
+ dw vBGMap + $24
+ db $3D
+
+ db $00
+
+BonusMultiplierRailingTileData_173d4: ; 0x173d4
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $4
+ db $3E
+
+ db $01
+ dw vBGMap + $24
+ db $3F
+
+ db $00
+
+BonusMultiplierRailingTileData_173e0: ; 0x173e0
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $68
+
+ db $01
+ dw vBGMap + $2F
+ db $69
+
+ db $00
+
+BonusMultiplierRailingTileData_173ec: ; 0x173ec
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $6A
+
+ db $01
+ dw vBGMap + $2F
+ db $6B
+
+ db $00
+
+BonusMultiplierRailingTileData_173f8: ; 0x173f8
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $6C
+
+ db $01
+ dw vBGMap + $2F
+ db $6D
+
+ db $00
+
+BonusMultiplierRailingTileData_17404: ; 0x17404
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $6E
+
+ db $01
+ dw vBGMap + $2F
+ db $6F
+
+ db $00
+
+BonusMultiplierRailingTileData_17410: ; 0x17410
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $70
+
+ db $01
+ dw vBGMap + $2F
+ db $71
+
+ db $00
+
+BonusMultiplierRailingTileData_1741c: ; 0x1741c
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $72
+
+ db $01
+ dw vBGMap + $2F
+ db $73
+
+ db $00
+
+BonusMultiplierRailingTileData_17428: ; 0x17428
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $74
+
+ db $01
+ dw vBGMap + $2F
+ db $75
+
+ db $00
+
+BonusMultiplierRailingTileData_17434: ; 0x17434
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $76
+
+ db $01
+ dw vBGMap + $2F
+ db $77
+
+ db $00
+
+BonusMultiplierRailingTileData_17440: ; 0x17440
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $78
+
+ db $01
+ dw vBGMap + $2F
+ db $79
+
+ db $00
+
+BonusMultiplierRailingTileData_1744c: ; 0x1744c
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $7A
+
+ db $01
+ dw vBGMap + $2F
+ db $7B
+
+ db $00
+
+BonusMultiplierRailingTileData_17458: ; 0x17458
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $54
+
+ db $01
+ dw vBGMap + $2F
+ db $55
+
+ db $00
+
+BonusMultiplierRailingTileData_17464: ; 0x17464
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $56
+
+ db $01
+ dw vBGMap + $2F
+ db $57
+
+ db $00
+
+BonusMultiplierRailingTileData_17470: ; 0x17470
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $58
+
+ db $01
+ dw vBGMap + $2F
+ db $59
+
+ db $00
+
+BonusMultiplierRailingTileData_1747c: ; 0x1747c
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $5A
+
+ db $01
+ dw vBGMap + $2F
+ db $5B
+
+ db $00
+
+BonusMultiplierRailingTileData_17488: ; 0x17488
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $5C
+
+ db $01
+ dw vBGMap + $2F
+ db $5D
+
+ db $00
+
+BonusMultiplierRailingTileData_17494: ; 0x17494
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $5E
+
+ db $01
+ dw vBGMap + $2F
+ db $5F
+
+ db $00
+
+BonusMultiplierRailingTileData_174a0: ; 0x174a0
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $60
+
+ db $01
+ dw vBGMap + $2F
+ db $61
+
+ db $00
+
+BonusMultiplierRailingTileData_174ac: ; 0x174ac
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $62
+
+ db $01
+ dw vBGMap + $2F
+ db $63
+
+ db $00
+
+BonusMultiplierRailingTileData_174b8: ; 0x174b8
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $64
+
+ db $01
+ dw vBGMap + $2F
+ db $65
+
+ db $00
+
+BonusMultiplierRailingTileData_174c4: ; 0x174c4
+ dw LoadTileLists
+ db $02
+
+ db $01
+ dw vBGMap + $F
+ db $66
+
+ db $01
+ dw vBGMap + $2F
+ db $67
+
+ db $00
diff --git a/data/queued_tiledata/red_field/bumpers.asm b/data/queued_tiledata/red_field/bumpers.asm
new file mode 100755
index 0000000..c0fbc55
--- /dev/null
+++ b/data/queued_tiledata/red_field/bumpers.asm
@@ -0,0 +1,219 @@
+TileDataPointers_16010:
+ dw TileData_16018
+ dw TileData_1601b
+ dw TileData_1601e
+ dw TileData_16021
+
+TileData_16018: ; 0x16018
+ db $01
+ dw TileData_16024
+
+TileData_1601b: ; 0x1601b
+ db $01
+ dw TileData_1603B
+
+TileData_1601e: ; 0x1601e
+ db $01
+ dw TileData_16052
+
+TileData_16021: ; 0x16021
+ db $01
+ dw TileData_16069
+
+TileData_16024: ; 0x16024
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $60
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $61, $62
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $63, $64
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $65, $66
+
+ db $00 ; terminator
+
+TileData_1603B: ; 0x1603B
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $67
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $68, $69
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $6A, $6B
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $6C, $6D
+
+ db $00 ; terminator
+
+TileData_16052: ; 0x16052
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $6E
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $6F, $70
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $71, $72
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $73, $74
+
+ db $00 ; terminator
+
+TileData_16069: ; 0x16069
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $75
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $76, $77
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $78, $79
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $7A, $7B
+
+ db $00 ; terminator
+
+TileData_16080:
+ dw TileData_16088
+ dw TileData_1608b
+ dw TileData_1608e
+ dw TileData_16091
+
+TileData_16088: ; 0x16088
+ db $01
+ dw TileData_16094
+
+TileData_1608b: ; 0x1608b
+ db $01
+ dw TileData_160ab
+
+TileData_1608e: ; 0x1608e
+ db $01
+ dw TileData_160c2
+
+TileData_16091: ; 0x16091
+ db $01
+ dw TileData_160d9
+
+TileData_16094: ; 0x16094
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $2A
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $2B, $2C
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $2D, $2E
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $2F, $30
+
+ db $00 ; terminator
+
+TileData_160ab: ; 0x160ab
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $31
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $32, $33
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $34, $35
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $36, $37
+
+ db $00 ; terminator
+
+TileData_160c2: ; 0x160c2
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $2A
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $2C, $2B
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $2E, $2D
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $30, $2F
+
+ db $00 ; terminator
+
+TileData_160d9: ; 0x160d9
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $31
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $33, $32
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $35, $34
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $37, $36
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/red_field/diglett.asm b/data/queued_tiledata/red_field/diglett.asm
new file mode 100755
index 0000000..65801b8
--- /dev/null
+++ b/data/queued_tiledata/red_field/diglett.asm
@@ -0,0 +1,771 @@
+TileListDataPointers_14a11: ; 0x14a11
+ dw TileListData_14a1d
+ dw TileListData_14a20
+ dw TileListData_14a23
+ dw TileListData_14a26
+ dw TileListData_14a29
+ dw TileListData_14a2c
+
+TileListData_14a1d: ; 0x14a1d
+ db $01
+ dw TileListData_14a2f
+
+TileListData_14a20: ; 0x14a20
+ db $01
+ dw TileListData_14a3d
+
+TileListData_14a23: ; 0x14a23
+ db $01
+ dw TileListData_14a4b
+
+TileListData_14a26: ; 0x14a26
+ db $01
+ dw TileListData_14a59
+
+TileListData_14a29: ; 0x14a29
+ db $01
+ dw TileListData_14a67
+
+TileListData_14a2c: ; 0x14a2c
+ db $01
+ dw TileListData_14a75
+
+TileListData_14a2f: ; 0x14a2f
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $4C, $4D
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $4E, $4F
+
+ db $00 ; terminator
+
+TileListData_14a3d: ; 0x14a3d
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $50, $51
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $52, $53
+
+ db $00 ; terminator
+
+TileListData_14a4b: ; 0x14a4b
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $54, $80
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $55, $80
+
+ db $00 ; terminator
+
+TileListData_14a59: ; 0x14a59
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $56, $57
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $58, $59
+
+ db $00 ; terminator
+
+TileListData_14a67: ; 0x14a67
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $5a, $5b
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $5c, $5d
+
+ db $00 ; terminator
+
+TileListData_14a75: ; 0x14a75
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $80, $5e
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $80, $5f
+
+ db $00 ; terminator
+
+TileListDataPointers_14a83:
+ dw TileListData_14a8f
+ dw TileListData_14a92
+ dw TileListData_14a95
+ dw TileListData_14a98
+ dw TileListData_14a9b
+ dw TileListData_14a9e
+
+TileListData_14a8f: ; 0x14a8f
+ db $01
+ dw TileListData_14aa1
+
+TileListData_14a92: ; 0x14a92
+ db $01
+ dw TileListData_14aaf
+
+TileListData_14a95: ; 0x14a95
+ db $01
+ dw TileListData_14abd
+
+TileListData_14a98: ; 0x14a98
+ db $01
+ dw TileListData_14acb
+
+TileListData_14a9b: ; 0x14a9b
+ db $01
+ dw TileListData_14ad9
+
+TileListData_14a9e: ; 0x14a9e
+ db $01
+ dw TileListData_14ae7
+
+TileListData_14aa1: ; 0x14aa1
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $54, $55
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $56, $57
+
+ db $00
+
+TileListData_14aaf: ; 0x14aaf
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $58, $59
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $5A, $5B
+
+ db $00 ; terminator
+
+TileListData_14abd: ; 0x14abd
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $5C, $80
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $5D, $80
+
+ db $00 ; terminator
+
+TileListData_14acb: ; 0x14acb
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $55, $54
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $57, $56
+
+ db $00 ; terminator
+
+TileListData_14ad9: ; 0x14ad9
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $59, $58
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $5B, $5A
+
+ db $00 ; terminator
+
+TileListData_14ae7: ; 0x14ae7
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $80, $5C
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $80, $5D
+
+ db $00 ; terminator
+
+Data_14af5: ; 0x14af5
+ dw Data_14b05
+ dw Data_14b0e
+ dw Data_14b17
+ dw Data_14b20
+ dw Data_14b29
+ dw Data_14b32
+ dw Data_14b3b
+ dw Data_14b44
+
+Data_14b05: ; 0x14b05
+ db $04
+ dw Data_14b4d
+ dw Data_14b57
+ dw Data_14b61
+ dw Data_14b6b
+
+Data_14b0e: ; 0x14b0e
+ db $04
+ dw Data_14b75
+ dw Data_14b7f
+ dw Data_14b89
+ dw Data_14b93
+
+Data_14b17: ; 0x14b17
+ db $04
+ dw Data_14b9d
+ dw Data_14ba7
+ dw Data_14bb1
+ dw Data_14bbb
+
+Data_14b20: ; 0x14b20
+ db $04
+ dw Data_14bc5
+ dw Data_14bcf
+ dw Data_14bd9
+ dw Data_14be3
+
+Data_14b29: ; 0x14b29
+ db $04
+ dw Data_14bed
+ dw Data_14bf7
+ dw Data_14c01
+ dw Data_14c0b
+
+Data_14b32: ; 0x14b32
+ db $04
+ dw Data_14c15
+ dw Data_14c1f
+ dw Data_14c29
+ dw Data_14c33
+
+Data_14b3b: ; 0x14b3b
+ db $04
+ dw Data_14c3d
+ dw Data_14c47
+ dw Data_14c51
+ dw Data_14c5b
+
+Data_14b44: ; 0x14b44
+ db $04
+ dw Data_14c65
+ dw Data_14c6f
+ dw Data_14c79
+ dw Data_14c83
+
+Data_14b4d: ; 0x14b4d
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $26
+ dw StageRedFieldBottomBaseGameBoyGfx + $a60
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14b57: ; 0x14b57
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageRedFieldBottomBaseGameBoyGfx + $a90
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14b61: ; 0x14b61
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $2C
+ dw StageRedFieldBottomBaseGameBoyGfx + $ac0
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14b6b: ; 0x14b6b
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $2F
+ dw StageRedFieldBottomBaseGameBoyGfx + $af0
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14b75: ; 0x14b75
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $26
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $720
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14b7f: ; 0x14b7f
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $750
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14b89: ; 0x14b89
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $2C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $780
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14b93: ; 0x14b93
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $2F
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7B0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14b9d: ; 0x14b9d
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $26
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14ba7: ; 0x14ba7
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7F0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bb1: ; 0x14bb1
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $2C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $820
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bbb: ; 0x14bbb
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $2F
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $850
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bc5: ; 0x14bc5
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $26
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $860
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bcf: ; 0x14bcf
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $890
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bd9: ; 0x14bd9
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $2C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14be3: ; 0x14be3
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $2F
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8F0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bed: ; 0x14bed
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $30
+ dw StageRedFieldBottomBaseGameBoyGfx + $B00
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14bf7: ; 0x14bf7
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageRedFieldBottomBaseGameBoyGfx + $B30
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14c01: ; 0x14c01
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $36
+ dw StageRedFieldBottomBaseGameBoyGfx + $B60
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14c0b: ; 0x14c0b
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $39
+ dw StageRedFieldBottomBaseGameBoyGfx + $B90
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14c15: ; 0x14c15
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $30
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $900
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c1f: ; 0x14c1f
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $930
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c29: ; 0x14c29
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $36
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $960
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c33: ; 0x14c33
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $39
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $990
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c3d: ; 0x14c3d
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $30
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c47: ; 0x14c47
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9D0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c51: ; 0x14c51
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $36
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c5b: ; 0x14c5b
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $39
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A30
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c65: ; 0x14c65
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $30
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c6f: ; 0x14c6f
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A70
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c79: ; 0x14c79
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $36
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c83: ; 0x14c83
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $39
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AD0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileListDataPointers_14c8d:
+ dw Data_14c9d
+ dw Data_14ca0
+ dw Data_14ca3
+ dw Data_14ca6
+ dw Data_14ca9
+ dw Data_14cac
+ dw Data_14caf
+ dw Data_14cb2
+
+Data_14c9d: ; 0x14c9d
+ db $01
+ dw TileListData_14cb5
+
+Data_14ca0: ; 0x14ca0
+ db $01
+ dw TileListData_14ccf
+
+Data_14ca3: ; 0x14ca3
+ db $01
+ dw TileListData_14ce9
+
+Data_14ca6: ; 0x14ca6
+ db $01
+ dw TileListData_14d03
+
+Data_14ca9: ; 0x14ca9
+ db $01
+ dw TileListData_14d1d
+
+Data_14cac: ; 0x14cac
+ db $01
+ dw TileListData_14d37
+
+Data_14caf: ; 0x14caf
+ db $01
+ dw TileListData_14d51
+
+Data_14cb2: ; 0x14cb2
+ db $01
+ dw TileListData_14d6b
+
+TileListData_14cb5: ; 0x14cb5
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $80
+ db $06, $07
+
+ db $03 ; number of tiles
+ dw vBGMap + $a0
+ db $08, $09, $0A
+
+ db $03 ; number of tiles
+ dw vBGMap + $c0
+ db $0B, $0C, $0D
+
+ db $02 ; number of tiles
+ dw vBGMap + $e0
+ db $0E, $0F
+
+ db $00 ; terminator
+
+TileListData_14ccf: ; 0x14ccf
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $80
+ db $06, $07
+
+ db $03 ; number of tiles
+ dw vBGMap + $a0
+ db $10, $11, $0A
+
+ db $03 ; number of tiles
+ dw vBGMap + $c0
+ db $12, $13, $0D
+
+ db $02 ; number of tiles
+ dw vBGMap + $e0
+ db $14, $15
+
+ db $00 ; terminator
+
+TileListData_14ce9: ; 0x14ce9
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $80
+ db $06, $07
+
+ db $03 ; number of tiles
+ dw vBGMap + $a0
+ db $10, $16, $17
+
+ db $03 ; number of tiles
+ dw vBGMap + $c0
+ db $12, $18, $19
+
+ db $02 ; number of tiles
+ dw vBGMap + $e0
+ db $14, $15
+
+ db $00 ; terminator
+
+TileListData_14d03: ; 0x14d03
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $80
+ db $1A, $1B
+
+ db $03 ; number of tiles
+ dw vBGMap + $a0
+ db $1C, $1D, $17
+
+ db $03 ; number of tiles
+ dw vBGMap + $c0
+ db $12, $18, $19
+
+ db $02 ; number of tiles
+ dw vBGMap + $e0
+ db $14, $15
+
+ db $00 ; terminator
+
+TileListData_14d1d: ; 014d1d
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $92
+ db $07, $06
+
+ db $03 ; number of tiles
+ dw vBGMap + $b1
+ db $0A, $1E, $08
+
+ db $03 ; number of tiles
+ dw vBGMap + $d1
+ db $22, $0C, $24
+
+ db $02 ; number of tiles
+ dw vBGMap + $f2
+ db $0F, $0E
+
+ db $00 ; terminator
+
+TileListData_14d37: ; 0x14d37
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $92
+ db $07, $06
+
+ db $03 ; number of tiles
+ dw vBGMap + $b1
+ db $0A, $1F, $10
+
+ db $03 ; number of tiles
+ dw vBGMap + $d1
+ db $22, $13, $25
+
+ db $02 ; number of tiles
+ dw vBGMap + $f2
+ db $15, $14
+
+ db $00 ; terminator
+
+TileListData_14d51: ; 0x14d51
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $92
+ db $07, $06
+
+ db $03 ; number of tiles
+ dw vBGMap + $b1
+ db $17, $20, $10
+
+ db $03 ; number of tiles
+ dw vBGMap + $d1
+ db $23, $18, $25
+
+ db $02 ; number of tiles
+ dw vBGMap + $f2
+ db $15, $14
+
+ db $00 ; terminator
+
+TileListData_14d6b: ; 0x14d6b
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $92
+ db $1B, $1A
+
+ db $03 ; number of tiles
+ dw vBGMap + $b1
+ db $17, $21, $1C
+
+ db $03 ; number of tiles
+ dw vBGMap + $d1
+ db $23, $18, $25
+
+ db $02 ; number of tiles
+ dw vBGMap + $f2
+ db $15, $14
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/red_field/spinner.asm b/data/queued_tiledata/red_field/spinner.asm
new file mode 100755
index 0000000..6876e28
--- /dev/null
+++ b/data/queued_tiledata/red_field/spinner.asm
@@ -0,0 +1,659 @@
+TileDataPointers_14eeb:
+ dw TileData_14f0b
+ dw TileData_14f10
+ dw TileData_14f15
+ dw TileData_14f1a
+ dw TileData_14f1f
+ dw TileData_14f24
+ dw TileData_14f29
+ dw TileData_14f2e
+ dw TileData_14f33
+ dw TileData_14f38
+ dw TileData_14f3d
+ dw TileData_14f42
+ dw TileData_14f47
+ dw TileData_14f4c
+ dw TileData_14f51
+ dw TileData_14f56
+
+TileData_14f0b: ; 0x14f0b
+ db $02
+ dw TileData_14f5b
+ dw TileData_14f65
+
+TileData_14f10: ; 0x14f10
+ db $02
+ dw TileData_14f6f
+ dw TileData_14f79
+
+TileData_14f15: ; 0x14f15
+ db $02
+ dw TileData_14f83
+ dw TileData_14f8d
+
+TileData_14f1a: ; 0x14f1a
+ db $02
+ dw TileData_14f97
+ dw TileData_14fa1
+
+TileData_14f1f: ; 0x14f1f
+ db $02
+ dw TileData_14fab
+ dw TileData_14fb5
+
+TileData_14f24: ; 0x14f24
+ db $02
+ dw TileData_14fbf
+ dw TileData_14fc9
+
+TileData_14f29: ; 0x14f29
+ db $02
+ dw TileData_14fd3
+ dw TileData_14fdd
+
+TileData_14f2e: ; 0x14f2e
+ db $02
+ dw TileData_14fe7
+ dw TileData_14ff1
+
+TileData_14f33: ; 0x14f33
+ db $02
+ dw TileData_14ffb
+ dw TileData_15005
+
+TileData_14f38: ; 0x14f38
+ db $02
+ dw TileData_1500f
+ dw TileData_15019
+
+TileData_14f3d: ; 0x14f3d
+ db $02
+ dw TileData_15023
+ dw TileData_1502d
+
+TileData_14f42: ; 0x14f42
+ db $02
+ dw TileData_15037
+ dw TileData_15041
+
+TileData_14f47: ; 0x14f47
+ db $02
+ dw TileData_1504b
+ dw TileData_15055
+
+TileData_14f4c: ; 0x14f4c
+ db $02
+ dw TileData_1505f
+ dw TileData_15069
+
+TileData_14f51: ; 0x14f51
+ db $02
+ dw TileData_15073
+ dw TileData_1507d
+
+TileData_14f56: ; 0x14f56
+ db $02
+ dw TileData_15087
+ dw TileData_15091
+
+TileData_14f5b: ; 0x14f5b
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldTopBaseGameBoyGfx + $cb0
+ db Bank(StageRedFieldTopBaseGameBoyGfx)
+ db $00 ; terminator
+
+TileData_14f65: ; 0x14f65
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldTopBaseGameBoyGfx + $cd0
+ db Bank(StageRedFieldTopBaseGameBoyGfx)
+ db $00 ; terminator
+
+TileData_14f6f: ; 0x14f6f
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14f79: ; 0x14f79
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14f83: ; 0x14f83
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14f8d: ; 0x14f8d
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14f97: ; 0x14f97
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fa1: ; 0x14fa1
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fab: ; 0x14fab
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fb5: ; 0x14fb5
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fbf: ; 0x14fbf
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fc9: ; 0x14fc9
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fd3: ; 0x14fd3
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fdd: ; 0x14fdd
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fe7: ; 0x14fe7
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14ff1: ; 0x14ff1
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14ffb: ; 0x14ffb
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15005: ; 0x15005
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1500f: ; 0x1500f
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15019: ; 0x15019
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15023: ; 0x15023
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1502d: ; 0x1502d
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15037: ; 0x15037
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15041: ; 0x15041
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1504b: ; 0x1504b
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15055: ; 0x15055
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1505f: ; 0x1505f
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15069: ; 0x15069
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15073: ; 0x15073
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1507d: ; 0x1507d
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15087: ; 0x15087
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15091: ; 0x15091
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileDataPointers_1509b:
+ dw TileData_150bb
+ dw TileData_150be
+ dw TileData_150c1
+ dw TileData_150c4
+ dw TileData_150c7
+ dw TileData_150ca
+ dw TileData_150cd
+ dw TileData_150d0
+ dw TileData_150d3
+ dw TileData_150d6
+ dw TileData_150d9
+ dw TileData_150dc
+ dw TileData_150df
+ dw TileData_150e2
+ dw TileData_150e5
+ dw TileData_150e8
+
+TileData_150bb: ; 0x150bb
+ db $01
+ dw TileData_150eb
+
+TileData_150be: ; 0x150be
+ db $01
+ dw TileData_150f9
+
+TileData_150c1: ; 0x150c1
+ db $01
+ dw TileData_15107
+
+TileData_150c4: ; 0x150c4
+ db $01
+ dw TileData_15115
+
+TileData_150c7: ; 0x150c7
+ db $01
+ dw TileData_15123
+
+TileData_150ca: ; 0x150ca
+ db $01
+ dw TileData_15131
+
+TileData_150cd: ; 0x150cd
+ db $01
+ dw TileData_1513f
+
+TileData_150d0: ; 0x150d0
+ db $01
+ dw TileData_1514d
+
+TileData_150d3: ; 0x150d3
+ db $01
+ dw TileData_1515b
+
+TileData_150d6: ; 0x150d6
+ db $01
+ dw TileData_15169
+
+TileData_150d9: ; 0x150d9
+ db $01
+ dw TileData_15177
+
+TileData_150dc: ; 0x150dc
+ db $01
+ dw TileData_15185
+
+TileData_150df: ; 0x150df
+ db $01
+ dw TileData_15193
+
+TileData_150e2: ; 0x150e2
+ db $01
+ dw TileData_151a1
+
+TileData_150e5: ; 0x150e5
+ db $01
+ dw TileData_151af
+
+TileData_150e8: ; 0x150e8
+ db $01
+ dw TileData_151bd
+
+TileData_150eb: ; 0x150eb
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $5E, $5F
+
+ db $00 ; terminator
+
+TileData_150f9: ; 0x150f9
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $60, $61
+
+ db $00 ; terminator
+
+TileData_15107: ; 0x15107
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $62, $63
+
+ db $00 ; terminator
+
+TileData_15115: ; 0x15115
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $64, $65
+
+ db $00 ; terminator
+
+TileData_15123: ; 0x15123
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $66, $67
+
+ db $00 ; terminator
+
+TileData_15131: ; 0x15131
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $68, $69
+
+ db $00 ; terminator
+
+TileData_1513f: ; 0x1513f
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6A, $6B
+
+ db $00 ; terminator
+
+TileData_1514d: ; 0x1514d
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6C, $6D
+
+ db $00 ; terminator
+
+TileData_1515b: ; 0x1515b
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_15169: ; 0x15169
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $70, $71
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_15177: ; 0x15177
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $72, $73
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_15185: ; 0x15185
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $74, $75
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_15193: ; 0x15193
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $76, $77
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_151a1: ; 0x151a1
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $78, $79
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_151af: ; 0x151af
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $7A, $7B
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_151bd: ; 0x151bd
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $7C, $7D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $7E, $7F
+
+ db $00 ; terminator
diff --git a/data/red_wild_mons.asm b/data/red_wild_mons.asm
index b9533ac..b9533ac 100755..100644
--- a/data/red_wild_mons.asm
+++ b/data/red_wild_mons.asm
diff --git a/data/sine_table.asm b/data/sine_table.asm
index c694231..c694231 100755..100644
--- a/data/sine_table.asm
+++ b/data/sine_table.asm
diff --git a/data/stage_base_gfx.asm b/data/stage_base_gfx.asm
index 41f18bd..41f18bd 100755..100644
--- a/data/stage_base_gfx.asm
+++ b/data/stage_base_gfx.asm
diff --git a/data/stage_palettes.asm b/data/stage_palettes.asm
index b2bc94c..b2bc94c 100755..100644
--- a/data/stage_palettes.asm
+++ b/data/stage_palettes.asm
diff --git a/data/timer_digits_tiledata.asm b/data/timer_digits_tiledata.asm
index f20b6fa..f20b6fa 100755..100644
--- a/data/timer_digits_tiledata.asm
+++ b/data/timer_digits_tiledata.asm
diff --git a/data/unknown/unused_4b6a8.bin b/data/unknown/unused_4b6a8.bin
index bddd5a0..bddd5a0 100755..100644
--- a/data/unknown/unused_4b6a8.bin
+++ b/data/unknown/unused_4b6a8.bin
Binary files differ
diff --git a/data/unknown/unused_dbf60.bin b/data/unknown/unused_dbf60.bin
index af8870c..af8870c 100755..100644
--- a/data/unknown/unused_dbf60.bin
+++ b/data/unknown/unused_dbf60.bin
Binary files differ
diff --git a/data/unused_data_d3800.bin b/data/unused_data_d3800.bin
index aedea89..aedea89 100755..100644
--- a/data/unused_data_d3800.bin
+++ b/data/unused_data_d3800.bin
Binary files differ
diff --git a/data/vwf_character_widths.asm b/data/vwf_character_widths.asm
index 7726e5e..7726e5e 100755..100644
--- a/data/vwf_character_widths.asm
+++ b/data/vwf_character_widths.asm
diff --git a/data/wild_mons.asm b/data/wild_mons.asm
index 95940fa..95940fa 100755..100644
--- a/data/wild_mons.asm
+++ b/data/wild_mons.asm
diff --git a/engine/copyright_screen.asm b/engine/copyright_screen.asm
index 35a5329..35a5329 100755..100644
--- a/engine/copyright_screen.asm
+++ b/engine/copyright_screen.asm
diff --git a/engine/erase_all_data_menu.asm b/engine/erase_all_data_menu.asm
index 7504cf5..7504cf5 100755..100644
--- a/engine/erase_all_data_menu.asm
+++ b/engine/erase_all_data_menu.asm
diff --git a/engine/field_select_screen.asm b/engine/field_select_screen.asm
index 0033488..0033488 100755..100644
--- a/engine/field_select_screen.asm
+++ b/engine/field_select_screen.asm
diff --git a/engine/high_scores_screen.asm b/engine/high_scores_screen.asm
index 920fc9d..9823d67 100755..100644
--- a/engine/high_scores_screen.asm
+++ b/engine/high_scores_screen.asm
@@ -645,7 +645,7 @@ Func_cf58: ; 0xcf58
ret
Func_cf7d: ; 0xcf7d
- ld a, [wd809]
+ ld a, [wNewlyPressedButtonsPersistent]
ld b, a
ld a, [wda85]
bit 6, b
diff --git a/engine/options_screen.asm b/engine/options_screen.asm
index e29c96f..e29c96f 100755..100644
--- a/engine/options_screen.asm
+++ b/engine/options_screen.asm
diff --git a/engine/pinball_game.asm b/engine/pinball_game.asm
index 93fbf34..0229035 100755..100644
--- a/engine/pinball_game.asm
+++ b/engine/pinball_game.asm
@@ -15,7 +15,7 @@ GameScreenFunction_LoadGFX: ; 0xd861
call FillBottomMessageBufferWithBlackTile
ld a, $1
ld [wd85d], a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld hl, wScreenState
inc [hl]
ret
@@ -56,7 +56,7 @@ GameScreenFunction_StartBall: ; 0xd87f
and a
call nz, Func_e5d
ld a, $1
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
xor a
ld [wd7c1], a
call Func_b66
@@ -179,8 +179,8 @@ GameScreenFunction_HandleBallLoss: ; 0xda36
ld [wd7eb], a
xor a
ld [wd7e9], a
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
call HandleTilts
ld a, [wCurrentStage]
bit 0, a
@@ -203,7 +203,7 @@ GameScreenFunction_HandleBallLoss: ; 0xda36
jr z, .asm_daa9
ld a, $2
ld [wd49c], a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
call FillBottomMessageBufferWithBlackTile
call Func_30db
ld hl, wScrollingTextStruct3
@@ -306,7 +306,7 @@ TransitionToHighScoresScreen: ; 0xdb5d
ld hl, rIE
res 1, [hl]
xor a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld a, [wCurrentStage]
ld c, a
ld b, $0
diff --git a/engine/pinball_game/ball_gfx.asm b/engine/pinball_game/ball_gfx.asm
index 2aff0d3..2aff0d3 100755..100644
--- a/engine/pinball_game/ball_gfx.asm
+++ b/engine/pinball_game/ball_gfx.asm
diff --git a/engine/pinball_game/ball_init/ball_init.asm b/engine/pinball_game/ball_init/ball_init.asm
index 29dbf64..e7a13c7 100755..100644
--- a/engine/pinball_game/ball_init/ball_init.asm
+++ b/engine/pinball_game/ball_init/ball_init.asm
@@ -23,8 +23,8 @@ InitBallForStage: ; 0x83ba
ld [wBallSpin], a
ld [wBallRotation], a
inc a
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld a, $20
ld [wSCX], a
ld a, [wCurrentStage]
diff --git a/engine/pinball_game/ball_init/ball_init_blue_field.asm b/engine/pinball_game/ball_init/ball_init_blue_field.asm
index 6d33e83..ce27573 100755..100644
--- a/engine/pinball_game/ball_init/ball_init_blue_field.asm
+++ b/engine/pinball_game/ball_init/ball_init_blue_field.asm
@@ -11,7 +11,7 @@ InitBallBlueField: ; 0x1c08d
ld a, $98
ld [wBallYPos + 1], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wd580], a
call InitBlueFieldCollisionAttributes
ld a, [wd4c9]
@@ -52,12 +52,12 @@ InitBallBlueField: ; 0x1c08d
ld [wNumPikachuSaves], a
ld [wd613], a
inc a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld [wd4ef], a
ld [wd4f1], a
ld a, $3
ld [wd610], a
- call Func_1d65f
+ call GetBCDForNextBonusMultiplier_BlueField
ld a, $10
call SetSongBank
ld de, $0001
diff --git a/engine/pinball_game/ball_init/ball_init_diglett_bonus.asm b/engine/pinball_game/ball_init/ball_init_diglett_bonus.asm
index ef12950..ef12950 100755..100644
--- a/engine/pinball_game/ball_init/ball_init_diglett_bonus.asm
+++ b/engine/pinball_game/ball_init/ball_init_diglett_bonus.asm
diff --git a/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm b/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm
index 065a1ca..065a1ca 100755..100644
--- a/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm
+++ b/engine/pinball_game/ball_init/ball_init_gengar_bonus.asm
diff --git a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm
index e452ecb..e452ecb 100755..100644
--- a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm
+++ b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm
diff --git a/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm b/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm
index c95d283..c95d283 100755..100644
--- a/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm
+++ b/engine/pinball_game/ball_init/ball_init_mewtwo_bonus.asm
diff --git a/engine/pinball_game/ball_init/ball_init_red_field.asm b/engine/pinball_game/ball_init/ball_init_red_field.asm
index 5411ac8..a9a8a1a 100755..100644
--- a/engine/pinball_game/ball_init/ball_init_red_field.asm
+++ b/engine/pinball_game/ball_init/ball_init_red_field.asm
@@ -11,7 +11,7 @@ InitBallRedField: ; 0x3007d
ld a, $98
ld [wBallYPos + 1], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wd580], a
ld a, [wd7ad]
bit 7, a
@@ -57,12 +57,12 @@ InitBallRedField: ; 0x3007d
ld [wNumPikachuSaves], a
ld [wd613], a
inc a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld [wd4ef], a
ld [wd4f1], a
ld a, $3
ld [wd610], a
- callba Func_16f95
+ callba GetBCDForNextBonusMultiplier_RedField
ld a, $f
call SetSongBank
ld de, $0001
diff --git a/engine/pinball_game/ball_init/ball_init_seel_bonus.asm b/engine/pinball_game/ball_init/ball_init_seel_bonus.asm
index 84343d1..84343d1 100755..100644
--- a/engine/pinball_game/ball_init/ball_init_seel_bonus.asm
+++ b/engine/pinball_game/ball_init/ball_init_seel_bonus.asm
diff --git a/engine/pinball_game/ball_init/ball_init_unused_stage.asm b/engine/pinball_game/ball_init/ball_init_unused_stage.asm
index 656ce44..656ce44 100755..100644
--- a/engine/pinball_game/ball_init/ball_init_unused_stage.asm
+++ b/engine/pinball_game/ball_init/ball_init_unused_stage.asm
diff --git a/engine/pinball_game/ball_loss/ball_loss.asm b/engine/pinball_game/ball_loss/ball_loss.asm
index 06b0cda..06b0cda 100755..100644
--- a/engine/pinball_game/ball_loss/ball_loss.asm
+++ b/engine/pinball_game/ball_loss/ball_loss.asm
diff --git a/engine/pinball_game/ball_loss/ball_loss_blue_field.asm b/engine/pinball_game/ball_loss/ball_loss_blue_field.asm
index e4d8692..bdde203 100755..100644
--- a/engine/pinball_game/ball_loss/ball_loss_blue_field.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_blue_field.asm
@@ -35,11 +35,11 @@ HandleBallLossBlueField: ; 0xde4f
ld [wPinballLaunched], a
ld [wd4df], a
call Func_ded6
- ld a, [wCurBonusMultiplier]
+ ld a, [wCurBonusMultiplierFromFieldEvents]
and a
jr z, .asm_deb6
dec a
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld a, $1
ld [wd49c], a
ld de, EndOfBallBonusText
@@ -81,7 +81,7 @@ Func_ded6: ; 0xded6
ld [wd604], a
ld a, $1e
ld [wd607], a
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ret
.asm_df05
diff --git a/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm
index e0c1094..e0c1094 100755..100644
--- a/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_diglett_bonus.asm
diff --git a/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm
index 0cb477d..c80e0c5 100755..100644
--- a/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_gengar_bonus.asm
@@ -14,8 +14,8 @@ HandleBallLossGengarBonus: ; 0xdf1a
ld a, [wd6a7]
and a
ret nz
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallSpin], a
ld [wBallRotation], a
ld hl, wBallXVelocity
diff --git a/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm
index 52eb582..52eb582 100755..100644
--- a/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_meowth_bonus.asm
diff --git a/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm
index 75cc423..f8921b1 100755..100644
--- a/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_mewtwo_bonus.asm
@@ -14,8 +14,8 @@ HandleBallLossMewtwoBonus: ; 0xdf7e
ld a, [wd6b2]
and a
ret nz
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallSpin], a
ld [wBallRotation], a
ld hl, wBallXVelocity
diff --git a/engine/pinball_game/ball_loss/ball_loss_red_field.asm b/engine/pinball_game/ball_loss/ball_loss_red_field.asm
index f76bf6e..31f6b4c 100755..100644
--- a/engine/pinball_game/ball_loss/ball_loss_red_field.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_red_field.asm
@@ -35,11 +35,11 @@ HandleBallLossRedField: ; 0xdd76
ld [wPinballLaunched], a
ld [wd4df], a
call Func_ddfd
- ld a, [wCurBonusMultiplier]
+ ld a, [wCurBonusMultiplierFromFieldEvents]
and a
jr z, .asm_dddd
dec a
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld a, $1
ld [wd49c], a
ld de, EndOfBallBonusText
@@ -81,7 +81,7 @@ Func_ddfd: ; 0xddfd
ld [wd604], a
ld a, $1e
ld [wd607], a
- callba Func_10ac8
+ callba ConcludeEvolutionMode
jr .asm_de40
.asm_de2d
diff --git a/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm b/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm
index a3c829e..a3c829e 100755..100644
--- a/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm
+++ b/engine/pinball_game/ball_loss/ball_loss_seel_bonus.asm
diff --git a/engine/pinball_game/ball_saver/ball_saver_20.asm b/engine/pinball_game/ball_saver/ball_saver_20.asm
index db4c55b..db4c55b 100755..100644
--- a/engine/pinball_game/ball_saver/ball_saver_20.asm
+++ b/engine/pinball_game/ball_saver/ball_saver_20.asm
diff --git a/engine/pinball_game/ball_saver/ball_saver_30.asm b/engine/pinball_game/ball_saver/ball_saver_30.asm
index be1dda9..be1dda9 100755..100644
--- a/engine/pinball_game/ball_saver/ball_saver_30.asm
+++ b/engine/pinball_game/ball_saver/ball_saver_30.asm
diff --git a/engine/pinball_game/ball_saver/ball_saver_60.asm b/engine/pinball_game/ball_saver/ball_saver_60.asm
index 9b6b5ef..9b6b5ef 100755..100644
--- a/engine/pinball_game/ball_saver/ball_saver_60.asm
+++ b/engine/pinball_game/ball_saver/ball_saver_60.asm
diff --git a/engine/pinball_game/ball_saver/ball_saver_90.asm b/engine/pinball_game/ball_saver/ball_saver_90.asm
index 7acda2c..7acda2c 100755..100644
--- a/engine/pinball_game/ball_saver/ball_saver_90.asm
+++ b/engine/pinball_game/ball_saver/ball_saver_90.asm
diff --git a/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm b/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm
index 2d1dbdd..2d1dbdd 100755..100644
--- a/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm
+++ b/engine/pinball_game/ball_saver/ball_saver_catchem_mode.asm
diff --git a/engine/pinball_game/billboard.asm b/engine/pinball_game/billboard.asm
index 33975b7..33975b7 100755..100644
--- a/engine/pinball_game/billboard.asm
+++ b/engine/pinball_game/billboard.asm
diff --git a/engine/pinball_game/billboard_tiledata.asm b/engine/pinball_game/billboard_tiledata.asm
index 8af3568..8af3568 100755..100644
--- a/engine/pinball_game/billboard_tiledata.asm
+++ b/engine/pinball_game/billboard_tiledata.asm
diff --git a/engine/pinball_game/bonus_multiplier.asm b/engine/pinball_game/bonus_multiplier.asm
index dfd4a20..d286be3 100755..100644
--- a/engine/pinball_game/bonus_multiplier.asm
+++ b/engine/pinball_game/bonus_multiplier.asm
@@ -1,9 +1,13 @@
-IncrementBonusMultiplier: ; 0x30164
- ld a, [wCurBonusMultiplier]
+IncrementBonusMultiplierFromFieldEvent: ; 0x30164
+; Increments the bonus multiplier count received from game object actions.
+; This is a separate counter than hitting the bonus multiplier railings.
+; I guess they wanted hitting the bonus multiplier railings to be the primary
+; way of racking up the End-of-Ball Bonus Multiplier.
+ ld a, [wCurBonusMultiplierFromFieldEvents]
inc a
- cp MAX_BONUS_MULTIPLIER
+ cp MAX_BONUS_MULTIPLIER_FIELD_EVENTS
jr z, .maxed
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld a, $1
ld [wd4ca], a
ret
diff --git a/engine/pinball_game/catchem_mode.asm b/engine/pinball_game/catchem_mode.asm
index 2abd30d..879b5b0 100755..100644
--- a/engine/pinball_game/catchem_mode.asm
+++ b/engine/pinball_game/catchem_mode.asm
@@ -690,8 +690,8 @@ BallCaptureInit: ; 0x10496
ld [wBallYVelocity], a
ld [wBallYVelocity + 1], a
xor a
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
lb de, $00, $0b
call PlaySoundEffect
ret
@@ -788,8 +788,8 @@ CapturePokemon: ; 0x1052d
ld [wBallYPos], a
ld [wCapturingMon], a
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
callba RestoreBallSaverAfterCatchEmMode
call ConcludeCatchEmMode
ld de, $0001
@@ -799,7 +799,7 @@ CapturePokemon: ; 0x1052d
jr nc, .notMaxed
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier ; increments bonus multiplier every 10 pokemon caught
+ callba z, IncrementBonusMultiplierFromFieldEvent ; increments bonus multiplier every 10 pokemon caught
.notMaxed
call SetPokemonOwnedFlag
ld a, [wPreviousNumPokeballs]
@@ -1078,14 +1078,14 @@ SetPokemonOwnedFlag: ; 0x1077c
call SaveData
ret
-Func_107a5: ; 0x107a5
+ResetIndicatorStates: ; 0x107a5
xor a
ld hl, wIndicatorStates
ld b, $13
-.asm_107ab
+.loop
ld [hli], a
dec b
- jr nz, .asm_107ab
+ jr nz, .loop
ret
Func_107b0: ; 0x107b0
@@ -1244,7 +1244,7 @@ Func_10871: ; 0x10871
ret
Func_108f5: ; 0x108f5
- call Func_107a5
+ call ResetIndicatorStates
call Func_107c2
call Func_107c8
call Func_107e9
@@ -1375,7 +1375,7 @@ Func_1098c: ; 0x1098c
ret
Func_109fc: ; 0x109fc
- call Func_107a5
+ call ResetIndicatorStates
call Func_107c2
callba Func_1f2ff
ld a, [wCurrentStage]
diff --git a/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm b/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm
index c4b90fa..c4b90fa 100755..100644
--- a/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm
+++ b/engine/pinball_game/catchem_mode/catchem_mode_blue_field.asm
diff --git a/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm b/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm
index b34f93d..b34f93d 100755..100644
--- a/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm
+++ b/engine/pinball_game/catchem_mode/catchem_mode_red_field.asm
diff --git a/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm b/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm
index 5354a51..5354a51 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_blue_field_sprites.asm
diff --git a/engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm
index a0dded5..a0dded5 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_diglett_bonus_sprites.asm
diff --git a/engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm
index 212279d..212279d 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_gengar_bonus_sprites.asm
diff --git a/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm
index 5d54a08..5d54a08 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm
diff --git a/engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm
index a4397a0..a4397a0 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_mewtwo_bonus_sprites.asm
diff --git a/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm b/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm
index 024527b..2e34743 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_red_field_sprites.asm
@@ -512,7 +512,7 @@ Func_17e5e: ; 0x17e5e
jr .asm_17e64
DrawPinball: ; 0x17e81
- ld a, [wd548]
+ ld a, [wPinballIsVisible]
and a
ret z
ld hl, wBallSpin
diff --git a/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm
index 261de5b..261de5b 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm
diff --git a/engine/pinball_game/draw_sprites/draw_sprites.asm b/engine/pinball_game/draw_sprites/draw_sprites.asm
index e9dc693..e9dc693 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_sprites.asm
diff --git a/engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm b/engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm
index 473a8c2..473a8c2 100755..100644
--- a/engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm
+++ b/engine/pinball_game/draw_sprites/draw_unused_stage_sprites.asm
diff --git a/engine/pinball_game/end_of_ball_bonus.asm b/engine/pinball_game/end_of_ball_bonus.asm
index c151940..5d312ef 100755..100644
--- a/engine/pinball_game/end_of_ball_bonus.asm
+++ b/engine/pinball_game/end_of_ball_bonus.asm
@@ -40,7 +40,7 @@ LoadEAcuteCharacterGfx: ; 0xf55c
Func_f57f: ; 0xf57f
xor a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld hl, wBottomMessageText
ld a, $81
ld b, $40
@@ -181,7 +181,7 @@ Func_f676: ; 0xf676
ld hl, TotalPointsText
call PlaceTextAlphanumericOnly
ld hl, wBottomMessageText + $50
- ld a, [wd482]
+ ld a, [wCurBonusMultiplier]
call Func_f78e
ld bc, $0040
ld de, $0040
@@ -209,11 +209,11 @@ Func_f676: ; 0xf676
.asm_f6f2
pop hl
pop de
- ld a, [wd482]
+ ld a, [wCurBonusMultiplier]
and a
jr z, .asm_f709
dec a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld hl, wd48f
ld de, wd489
call AddBigBCD6
diff --git a/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm b/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm
index c45b686..f0523d8 100755..100644
--- a/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm
+++ b/engine/pinball_game/evolution_mode/evolution_mode_blue_field.asm
@@ -175,7 +175,7 @@ Func_20c76: ; 0x20c76
Func_20d30: ; 0x20d30
callba RestoreBallSaverAfterCatchEmMode
callba PlaceEvolutionInParty
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ld de, $0001
call PlaySong
ld hl, wNumPokemonEvolvedInBallBonus
@@ -201,7 +201,7 @@ Func_20d7c: ; 0x20d7c
ret nz
call FillBottomMessageBufferWithBlackTile
callba RestoreBallSaverAfterCatchEmMode
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ld de, $0001
call PlaySong
scf
diff --git a/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm b/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm
index f9aa09e..fed675f 100755..100644
--- a/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm
+++ b/engine/pinball_game/evolution_mode/evolution_mode_red_field.asm
@@ -178,7 +178,7 @@ Func_20651: ; 0x20651
Func_2070b: ; 0x2070b
callba RestoreBallSaverAfterCatchEmMode
callba PlaceEvolutionInParty
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ld de, $0001
call PlaySong
ld hl, wNumPokemonEvolvedInBallBonus
@@ -204,7 +204,7 @@ Func_20757: ; 0x20757
ret nz
call FillBottomMessageBufferWithBlackTile
callba RestoreBallSaverAfterCatchEmMode
- callba Func_10ac8
+ callba ConcludeEvolutionMode
ld de, $0001
call PlaySong
scf
diff --git a/engine/pinball_game/extra_ball.asm b/engine/pinball_game/extra_ball.asm
index becdd78..becdd78 100755..100644
--- a/engine/pinball_game/extra_ball.asm
+++ b/engine/pinball_game/extra_ball.asm
diff --git a/engine/pinball_game/flippers.asm b/engine/pinball_game/flippers.asm
index 466975e..466975e 100755..100644
--- a/engine/pinball_game/flippers.asm
+++ b/engine/pinball_game/flippers.asm
diff --git a/engine/pinball_game/load_stage_data/load_blue_field.asm b/engine/pinball_game/load_stage_data/load_blue_field.asm
index be4ffe0..7d5c888 100755..100644
--- a/engine/pinball_game/load_stage_data/load_blue_field.asm
+++ b/engine/pinball_game/load_stage_data/load_blue_field.asm
@@ -65,11 +65,11 @@ Func_1c21e: ; 0x1c21e
ld a, $ff
ld [wd60e], a
ld [wd60f], a
- ld a, [wd60c]
- call Func_1d5f2
- ld a, [wd60d]
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_BlueField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
Func_1c235: ; 0x1c235
@@ -86,9 +86,9 @@ Func_1c235: ; 0x1c235
.asm_1c249
xor a
.asm_1c24a
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wLeftMapMoveCounter]
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_1c267
@@ -106,7 +106,7 @@ Func_1c235: ; 0x1c235
.asm_1c267
ld a, $8
.asm_1c269
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wRightMapMoveDiglettFrame]
and a
jr z, .asm_1c295
@@ -134,10 +134,10 @@ Func_1c235: ; 0x1c235
.asm_1c295
ld a, $2
.asm_1c297
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_1c2b7
@@ -155,15 +155,15 @@ Func_1c235: ; 0x1c235
.asm_1c2b7
ld a, $9
.asm_1c2b9
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ret
.asm_1c2bd
ld a, $6
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ret
Func_1c2cb: ; 0x1c2cb
diff --git a/engine/pinball_game/load_stage_data/load_diglett_bonus.asm b/engine/pinball_game/load_stage_data/load_diglett_bonus.asm
index 6be87a9..6be87a9 100755..100644
--- a/engine/pinball_game/load_stage_data/load_diglett_bonus.asm
+++ b/engine/pinball_game/load_stage_data/load_diglett_bonus.asm
diff --git a/engine/pinball_game/load_stage_data/load_gengar_bonus.asm b/engine/pinball_game/load_stage_data/load_gengar_bonus.asm
index 767d37d..767d37d 100755..100644
--- a/engine/pinball_game/load_stage_data/load_gengar_bonus.asm
+++ b/engine/pinball_game/load_stage_data/load_gengar_bonus.asm
diff --git a/engine/pinball_game/load_stage_data/load_meowth_bonus.asm b/engine/pinball_game/load_stage_data/load_meowth_bonus.asm
index 01a49ba..01a49ba 100755..100644
--- a/engine/pinball_game/load_stage_data/load_meowth_bonus.asm
+++ b/engine/pinball_game/load_stage_data/load_meowth_bonus.asm
diff --git a/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm b/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm
index 47bbfc4..47bbfc4 100755..100644
--- a/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm
+++ b/engine/pinball_game/load_stage_data/load_mewtwo_bonus.asm
diff --git a/engine/pinball_game/load_stage_data/load_red_field.asm b/engine/pinball_game/load_stage_data/load_red_field.asm
index 2cf7296..1e40057 100755..100644
--- a/engine/pinball_game/load_stage_data/load_red_field.asm
+++ b/engine/pinball_game/load_stage_data/load_red_field.asm
@@ -102,11 +102,11 @@ Func_140e2: ; 0x140e2
ld a, $ff
ld [wd60e], a
ld [wd60f], a
- ld a, [wd60c]
- call Func_16f28
- ld a, [wd60d]
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_RedField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
Func_140f9: ; 0x140f9
@@ -120,9 +120,9 @@ Func_140f9: ; 0x140f9
ld [wStageCollisionMap + $103], a
ld a, $2
.asm_1410c
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wLeftMapMoveCounter]
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, [wd4f1]
and a
jr z, .asm_14127
@@ -133,10 +133,10 @@ Func_140f9: ; 0x140f9
ld a, $2
.asm_14127
add $3
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
ret
Func_14135: ; 0x14135
diff --git a/engine/pinball_game/load_stage_data/load_seel_bonus.asm b/engine/pinball_game/load_stage_data/load_seel_bonus.asm
index e72b9a7..e72b9a7 100755..100644
--- a/engine/pinball_game/load_stage_data/load_seel_bonus.asm
+++ b/engine/pinball_game/load_stage_data/load_seel_bonus.asm
diff --git a/engine/pinball_game/load_stage_data/load_stage_data.asm b/engine/pinball_game/load_stage_data/load_stage_data.asm
index 957c009..957c009 100755..100644
--- a/engine/pinball_game/load_stage_data/load_stage_data.asm
+++ b/engine/pinball_game/load_stage_data/load_stage_data.asm
diff --git a/engine/pinball_game/load_stage_data/load_unused_stage.asm b/engine/pinball_game/load_stage_data/load_unused_stage.asm
index 89d1128..89d1128 100755..100644
--- a/engine/pinball_game/load_stage_data/load_unused_stage.asm
+++ b/engine/pinball_game/load_stage_data/load_unused_stage.asm
diff --git a/engine/pinball_game/menu.asm b/engine/pinball_game/menu.asm
index d97d039..a31ff1f 100755..100644
--- a/engine/pinball_game/menu.asm
+++ b/engine/pinball_game/menu.asm
@@ -6,7 +6,7 @@ HandleInGameMenu: ; 0x86d7
ld [wd917], a
call FillBottomMessageBufferWithBlackTile
xor a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld hl, wBottomMessageText
ld a, $81
ld b, $30
@@ -83,7 +83,7 @@ HandleInGameMenu: ; 0x86d7
pop af
ld [wd917], a
ld a, $1
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld a, [wInGameMenuIndex]
and a
ret
diff --git a/engine/pinball_game/object_collision/blue_stage_object_collision.asm b/engine/pinball_game/object_collision/blue_stage_object_collision.asm
index 8252802..8252802 100755..100644
--- a/engine/pinball_game/object_collision/blue_stage_object_collision.asm
+++ b/engine/pinball_game/object_collision/blue_stage_object_collision.asm
diff --git a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
index a59a9f9..f33cd7a 100755..100644
--- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
@@ -16,7 +16,7 @@ ResolveBlueFieldTopGameObjectCollisions: ; 0x1c715
call Func_1f18a
callba Func_146a9
call Func_1f27b
- call Func_1df15
+ call UpdateMapMoveCounters_BlueFieldTop
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -41,7 +41,7 @@ ResolveBlueFieldBottomGameObjectCollisions: ; 0x1c769
callba Func_14733
callba Func_146a2
call Func_1f261
- call Func_1de93
+ call UpdateMapMoveCounters_BlueFieldBottom
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -76,7 +76,7 @@ ResolveBlueStagePinballLaunchCollision: ; 0x1c7d7
ld a, $fa
ld [wBallYVelocity + 1], a
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
lb de, $00, $0a
call PlaySoundEffect
.dontLaunch
@@ -524,665 +524,7 @@ UpdateSpinnerChargeGraphics_BlueField: ; 0x1cb43
call Func_10aa
ret
-TileDataPointers_1cb60:
- dw TileData_1cb80
- dw TileData_1cb85
- dw TileData_1cb8a
- dw TileData_1cb8f
- dw TileData_1cb94
- dw TileData_1cb99
- dw TileData_1cb9e
- dw TileData_1cba3
- dw TileData_1cba8
- dw TileData_1cbad
- dw TileData_1cbb2
- dw TileData_1cbb7
- dw TileData_1cbbc
- dw TileData_1cbc1
- dw TileData_1cbc6
- dw TileData_1cbcb
-
-TileData_1cb80: ; 0x1cb80
- db $02
- dw TileData_1cbd0
- dw TileData_1cbda
-
-TileData_1cb85: ; 0x1cb85
- db $02
- dw TileData_1cbe4
- dw TileData_1cbee
-
-TileData_1cb8a: ; 0x1cb8a
- db $02
- dw TileData_1cbf8
- dw TileData_1cc02
-
-TileData_1cb8f: ; 0x1cb8f
- db $02
- dw TileData_1cc0c
- dw TileData_1cc16
-
-TileData_1cb94: ; 0x1cb94
- db $02
- dw TileData_1cc20
- dw TileData_1cc2a
-
-TileData_1cb99: ; 0x1cb99
- db $02
- dw TileData_1cc34
- dw TileData_1cc3e
-
-TileData_1cb9e: ; 0x1cb9e
- db $02
- dw TileData_1cc48
- dw TileData_1cc52
-
-TileData_1cba3: ; 0x1cba3
- db $02
- dw TileData_1cc5c
- dw TileData_1cc66
-
-TileData_1cba8: ; 0x1cba8
- db $02
- dw TileData_1cc70
- dw TileData_1cc7a
-
-TileData_1cbad: ; 0x1cbad
- db $02
- dw TileData_1cc84
- dw TileData_1cc8e
-
-TileData_1cbb2: ; 0x1cbb2
- db $02
- dw TileData_1cc98
- dw TileData_1cca2
-
-TileData_1cbb7: ; 0x1cbb7
- db $02
- dw TileData_1ccac
- dw TileData_1ccb6
-
-TileData_1cbbc: ; 0x1cbbc
- db $02
- dw TileData_1ccc0
- dw TileData_1ccca
-
-TileData_1cbc1: ; 0x1cbc1
- db $02
- dw TileData_1ccd4
- dw TileData_1ccde
-
-TileData_1cbc6: ; 0x1cbc6
- db $02
- dw TileData_1cce8
- dw TileData_1ccf2
-
-TileData_1cbcb: ; 0x1cbcb
- db $02
- dw TileData_1ccfc
- dw TileData_1cd06
-
-TileData_1cbd0: ; 0xcbd0
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageBlueFieldTopBaseGameBoyGfx + $c20
- db Bank(StageBlueFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_1cbda: ; 0xcbda
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageBlueFieldTopBaseGameBoyGfx + $c40
- db Bank(StageBlueFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_1cbe4: ; 0xcbe4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1800
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cbee: ; 0xcbee
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1820
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cbf8: ; 0xcbf8
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1840
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc02: ; 0xcc02
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1860
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc0c: ; 0xcc0c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1880
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc16: ; 0xcc16
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc20: ; 0xcc20
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc2a: ; 0xcc2a
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc34: ; 0xcc34
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1900
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc3e: ; 0xcc3e
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1920
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc48: ; 0xcc48
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1940
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc52: ; 0xcc52
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1960
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc5c: ; 0xcc5c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1980
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc66: ; 0xcc66
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc70: ; 0xcc70
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc7a: ; 0xcc7a
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc84: ; 0xcc84
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc8e: ; 0xcc8e
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc98: ; 0xcc98
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cca2: ; 0xcca2
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccac: ; 0xccac
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccb6: ; 0xccb6
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccc0: ; 0xccc0
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccca: ; 0xccca
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccd4: ; 0xccd4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccde: ; 0xccde
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cce8: ; 0xcce8
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccf2: ; 0xccf2
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccfc: ; 0xccfc
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cd06: ; 0xcd06
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1BA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileDataPointers_1cd10:
- dw TileData_1cd30
- dw TileData_1cd33
- dw TileData_1cd36
- dw TileData_1cd39
- dw TileData_1cd3c
- dw TileData_1cd3f
- dw TileData_1cd42
- dw TileData_1cd45
- dw TileData_1cd48
- dw TileData_1cd4b
- dw TileData_1cd4e
- dw TileData_1cd51
- dw TileData_1cd54
- dw TileData_1cd57
- dw TileData_1cd5a
- dw TileData_1cd5d
-
-TileData_1cd30: ; 0x1cd30
- db $01
- dw TileData_1cd60
-
-TileData_1cd33: ; 0x1cd33
- db $01
- dw TileData_1cd6e
-
-TileData_1cd36: ; 0x1cd36
- db $01
- dw TileData_1cd7c
-
-TileData_1cd39: ; 0x1cd39
- db $01
- dw TileData_1cd8a
-
-TileData_1cd3c: ; 0x1cd3c
- db $01
- dw TileData_1cd98
-
-TileData_1cd3f: ; 0x1cd3f
- db $01
- dw TileData_1cda6
-
-TileData_1cd42: ; 0x1cd42
- db $01
- dw TileData_1cdb4
-
-TileData_1cd45: ; 0x1cd45
- db $01
- dw TileData_1cdc2
-
-TileData_1cd48: ; 0x1cd48
- db $01
- dw TileData_1cdd0
-
-TileData_1cd4b: ; 0x1cd4b
- db $01
- dw TileData_1cdde
-
-TileData_1cd4e: ; 0x1cd4e
- db $01
- dw TileData_1cdec
-
-TileData_1cd51: ; 0x1cd51
- db $01
- dw TileData_1cdfa
-
-TileData_1cd54: ; 0x1cd54
- db $01
- dw TileData_1ce08
-
-TileData_1cd57: ; 0x1cd57
- db $01
- dw TileData_1ce16
-
-TileData_1cd5a: ; 0x1cd5a
- db $01
- dw TileData_1ce24
-
-TileData_1cd5d: ; 0x1cd5d
- db $01
- dw TileData_1ce32
-
-TileData_1cd60: ; 0x1cd60
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4A, $4B
-
- db $00 ; terminator
-
-TileData_1cd6e: ; 0x1cd6e
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4C, $4D
-
- db $00 ; terminator
-
-TileData_1cd7c: ; 0x1cd7c
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4E, $4F
-
- db $00 ; terminator
-
-TileData_1cd8a: ; 0x1cd8a
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $50, $51
-
- db $00 ; terminator
-
-TileData_1cd98: ; 0x1cd98
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $52, $53
-
- db $00 ; terminator
-
-TileData_1cda6: ; 0x1cda6
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $54, $55
-
- db $00 ; terminator
-
-TileData_1cdb4: ; 0x1cdb4
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $56, $57
-
- db $00 ; terminator
-
-TileData_1cdc2: ; 0x1cdc2
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdd0: ; 0x1cdd0
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdde: ; 0x1cdde
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $5C, $5D
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdec: ; 0x1cdec
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $5E, $5F
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdfa: ; 0x1cdfa
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $60, $61
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce08: ; 0x1ce08
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $62, $63
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce16: ; 0x1ce16
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $64, $65
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce24: ; 0x1ce24
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $66, $67
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce32: ; 0x1ce32
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $68, $69
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $6A, $6B
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/spinner.asm"
ResolveBlueStageBumperCollision: ; 1ce40
ld a, [wWhichBumper]
@@ -1263,225 +605,7 @@ ApplyBumperCollision_BlueField: ; 0x1ce94
BumperCollisionAngleDeltas_BlueField:
db -8, 8
-TileDataPointers_1ceca:
- dw TileData_1ced2
- dw TileData_1ced5
- dw TileData_1ced8
- dw TileData_1cedb
-
-TileData_1ced2: ; 0x1ced2
- db $01
- dw TileData_1cede
-
-TileData_1ced5: ; 0x1ced5
- db $01
- dw TileData_1cef5
-
-TileData_1ced8: ; 0x1ced8
- db $01
- dw TileData_1cf0c
-
-TileData_1cedb: ; 0x1cedb
- db $01
- dw TileData_1cf23
-
-TileData_1cede: ; 0x1cede
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $61
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $62, $63
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $64, $65
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $66, $67
-
- db $00 ; number of tiles
-
-TileData_1cef5: ; 0x1cef5
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $68
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $69, $6A
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $6B, $6C
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $6D, $6E
-
- db $00 ; number of tiles
-
-TileData_1cf0c: ; 0x1cf0c
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $6F
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $70, $71
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $72, $73
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $74, $75
-
- db $00 ; number of tiles
-
-TileData_1cf23: ; 0x1cf23
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $76
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $77, $78
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $79, $7A
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $7B, $7C
-
- db $00 ; number of tiles
-
-TileDataPointers_1cf3a:
- dw TileData_1cf42
- dw TileData_1cf45
- dw TileData_1cf48
- dw TileData_1cf4b
-
-TileData_1cf42: ; 0x1cf42
- db $01
- dw TileData_1cf4e
-
-TileData_1cf45: ; 0x1cf45
- db $01
- dw TileData_1cf65
-
-TileData_1cf48: ; 0x1cf48
- db $01
- dw TileData_1cf7c
-
-TileData_1cf4b: ; 0x1cf4b
- db $01
- dw TileData_1cf93
-
-TileData_1cf4e: ; 0x1cf4e
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $39
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $3A, $3B
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $3C, $3D
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $3E, $3F
-
- db $00 ; terminator
-
-TileData_1cf65: ; 0x1cf65
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $40
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $41, $42
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $43, $44
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $45, $46
-
- db $00 ; terminator
-
-TileData_1cf7c: ; 0x1cf7c
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $39
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $3B, $3A
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $3D, $3C
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $3F, $3E
-
- db $00 ; terminator
-
-TileData_1cf93: ; 0x1cf93
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $40
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $42, $41
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $44, $43
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $46, $45
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/bumpers.asm"
ResolveBlueStageBoardTriggerCollision: ; 0x1cfaa
ld a, [wWhichBoardTrigger]
@@ -1640,7 +764,7 @@ ResolveBlueStagePikachuCollision: ; 0x1d0a1
ld [wBallYVelocity + 1], a
ld [wBallSpin], a
ld [wBallRotation], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
call FillBottomMessageBufferWithBlackTile
jr .asm_1d110
@@ -1699,7 +823,7 @@ Func_1d133: ; 0x1d133
jr nc, .asm_1d185
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1d185
lb de, $16, $10
call PlaySoundEffect
@@ -1712,7 +836,7 @@ Func_1d133: ; 0x1d133
ld a, $fc
ld [wBallYVelocity + 1], a
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld bc, FiveThousandPoints
callba AddBigBCD6FromQueueWithBallMultiplier
xor a
@@ -1805,7 +929,7 @@ ResolveSlowpokeCollision: ; 0x1d216
ld [wBallXPos], a
ld [wBallYPos], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
.asm_1d253
ld hl, SlowpokeCollisionAnimationData ; 0x1d312
ld de, wSlowpokeAnimation
@@ -1827,11 +951,11 @@ ResolveSlowpokeCollision: ; 0x1d216
cp $1
jr nz, .asm_1d2b6
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld a, [wLeftAlleyCount]
cp $3
jr nz, .asm_1d299
- callba Func_10ab3
+ callba StartEvolutionMode
ld a, [wd643]
and a
ret z
@@ -1845,7 +969,7 @@ ResolveSlowpokeCollision: ; 0x1d216
ret nc
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
ret
.asm_1d2b6
@@ -1853,7 +977,7 @@ ResolveSlowpokeCollision: ; 0x1d216
cp $4
jr nz, .asm_1d2c3
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_1d2c3
@@ -1861,7 +985,7 @@ ResolveSlowpokeCollision: ; 0x1d216
cp $5
ret nz
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld a, $b0
ld [wBallXVelocity], a
ld a, $0
@@ -1927,7 +1051,7 @@ ResolveCloysterCollision: ; 0x1d32d
ld [wBallXPos], a
ld [wBallYPos], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
.asm_1d36a
ld hl, CloysterCollisionAnimationData
ld de, wCloysterAnimation
@@ -1949,7 +1073,7 @@ ResolveCloysterCollision: ; 0x1d32d
cp $1
jr nz, .asm_1d3cb
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld a, [wRightAlleyCount]
cp $2
jr c, .noCatchEmMode
@@ -1967,7 +1091,7 @@ ResolveCloysterCollision: ; 0x1d32d
ret nc
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
ret
.asm_1d3cb
@@ -1975,7 +1099,7 @@ ResolveCloysterCollision: ; 0x1d32d
cp $4
jr nz, .asm_1d3d8
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_1d3d8
@@ -1983,7 +1107,7 @@ ResolveCloysterCollision: ; 0x1d32d
cp $5
ret nz
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld a, $4f
ld [wBallXVelocity], a
ld a, $ff
@@ -2027,14 +1151,14 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438
call Func_1d692
ld a, [wWhichBonusMultiplierRailing]
and a
- jp z, Func_1d51b
+ jp z, UpdateBonusMultiplierRailing_BlueField
xor a
ld [wWhichBonusMultiplierRailing], a
lb de, $00, $0d
call PlaySoundEffect
ld a, [wWhichBonusMultiplierRailingId]
sub $f
- jr nz, .asm_1d48e
+ jr nz, .hitRightRailing
ld a, [hGameBoyColorFlag]
and a
jr nz, .asm_1d45c
@@ -2044,7 +1168,7 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438
.asm_1d45c
ld a, $29
.asm_1d45e
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $3c
ld [wd647], a
ld a, $9
@@ -2056,12 +1180,12 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438
ld [wd610], a
ld a, $3
ld [wd611], a
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
set 7, a
- ld [wd60c], a
+ ld [wBonusMultiplierTensDigit], a
jr asm_1d4fa
-.asm_1d48e
+.hitRightRailing
ld a, [hGameBoyColorFlag]
and a
jr nz, .asm_1d497
@@ -2071,7 +1195,7 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438
.asm_1d497
ld a, $2b
.asm_1d499
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $1e
ld [wd647], a
ld a, $a
@@ -2085,41 +1209,41 @@ ResolveBlueStageBonusMultiplierCollision: ; 0x1d438
ld [wd611], a
ld a, $80
ld [wd612], a
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
set 7, a
- ld [wd60d], a
- ld a, [wd482]
+ ld [wBonusMultiplierOnesDigit], a
+ ld a, [wCurBonusMultiplier]
inc a
- cp 100
- jr c, .asm_1d4d5
- ld a, 99
-.asm_1d4d5
- ld [wd482], a
+ cp MAX_BONUS_MULTIPLIER + 1
+ jr c, .setNewBonusMultplier
+ ld a, MAX_BONUS_MULTIPLIER
+.setNewBonusMultplier
+ ld [wCurBonusMultiplier], a
jr nc, .asm_1d4e9
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1d4e9
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
ld [wd614], a
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
ld [wd615], a
ld a, $1
ld [wd613], a
asm_1d4fa: ; 0x1d4fa
ld bc, TenPoints
callba AddBigBCD6FromQueueWithBallMultiplier
- ld a, [wd60c]
- call Func_1d5f2
- ld a, [wd60d]
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_BlueField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $3c
ld [wd647], a
ret
-Func_1d51b: ; 0x1d51b
- call Func_1d5bf
+UpdateBonusMultiplierRailing_BlueField: ; 0x1d51b
+ call ShowBonusMultiplierMessage_BlueField ; only shows the scrolling message when appropriate
ld a, [wd612]
and a
jr z, .asm_1d559
@@ -2140,13 +1264,13 @@ Func_1d51b: ; 0x1d51b
ld [wd610], a
xor a
ld [wd611], a
- ld a, [wd482]
- call Func_1d65f
- ld a, [wd60c]
- call Func_1d5f2
- ld a, [wd60d]
+ ld a, [wCurBonusMultiplier]
+ call GetBCDForNextBonusMultiplier_BlueField
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_BlueField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
.asm_1d559
@@ -2164,17 +1288,17 @@ Func_1d51b: ; 0x1d51b
jr nz, .asm_1d58b
bit 3, b
jr nz, .asm_1d580
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
res 7, a
- ld [wd60c], a
- call Func_1d5f2
+ ld [wBonusMultiplierTensDigit], a
+ call LoadBonusMultiplierRailingGraphics_BlueField
jr .asm_1d58b
.asm_1d580
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
set 7, a
- ld [wd60c], a
- call Func_1d5f2
+ ld [wBonusMultiplierTensDigit], a
+ call LoadBonusMultiplierRailingGraphics_BlueField
.asm_1d58b
ld a, [wd611]
cp $2
@@ -2190,22 +1314,22 @@ Func_1d51b: ; 0x1d51b
ret nz
bit 3, b
jr nz, .asm_1d5b1
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
res 7, a
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
.asm_1d5b1
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
set 7, a
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
add $14
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
-Func_1d5bf: ; 0x1d5bf
+ShowBonusMultiplierMessage_BlueField: ; 0x1d5bf
ld a, [wd5ca]
and a
ret nz
@@ -2232,21 +1356,21 @@ Func_1d5bf: ; 0x1d5bf
ld [hl], a
ret
-Func_1d5f2: ; 0x1d5f2
+LoadBonusMultiplierRailingGraphics_BlueField: ; 0x1d5f2
push af
ld a, [hGameBoyColorFlag]
and a
- jr nz, .asm_1d5fd
+ jr nz, .gameboyColor
pop af
- call Func_1d602
+ call LoadBonusMultiplierRailingGraphics_BlueField_Gameboy
ret
-.asm_1d5fd
+.gameboyColor
pop af
- call Func_1d645
+ call LoadBonusMultiplierRailingGraphics_BlueField_GameboyColor
ret
-Func_1d602: ; 0x1d602
+LoadBonusMultiplierRailingGraphics_BlueField_Gameboy: ; 0x1d602
push af
res 7, a
ld hl, wd60e
@@ -2261,12 +1385,12 @@ Func_1d602: ; 0x1d602
ld c, a
ld b, $0
sla c
- ld hl, TileDataPointers_1d6be
+ ld hl, BonusMultiplierRailingTileDataPointers_1d6be
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_1d6be)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_1d6be)
call Func_10aa
.asm_1d626
pop af
@@ -2280,16 +1404,16 @@ Func_1d602: ; 0x1d602
jr c, .asm_1d638
set 2, c
.asm_1d638
- ld hl, TileDataPointers_1d946
+ ld hl, BonusMultiplierRailingTileDataPointers_1d946
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_1d946)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_1d946)
call Func_10aa
ret
-Func_1d645: ; 0x1d645
+LoadBonusMultiplierRailingGraphics_BlueField_GameboyColor: ; 0x1d645
bit 7, a
jr z, .asm_1d64d
res 7, a
@@ -2298,43 +1422,46 @@ Func_1d645: ; 0x1d645
ld c, a
ld b, $0
sla c
- ld hl, TileDataPointers_1d97a
+ ld hl, BonusMultiplierRailingTileDataPointers_1d97a
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_1d97a)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_1d97a)
call Func_10aa
ret
-Func_1d65f: ; 0x1d65f
- ld a, [wd482]
+GetBCDForNextBonusMultiplier_BlueField: ; 0x1d65f
+; Gets the BCD representation of the next bonus multplier value.
+; Output: [wBonusMultiplierTensDigit] = the tens digit
+; [wBonusMultiplierOnesDigit] = the ones digit
+ ld a, [wCurBonusMultiplier]
inc a
- cp $64
- jr c, .asm_1d669
- ld a, $63
-.asm_1d669
+ cp MAX_BONUS_MULTIPLIER + 1
+ jr c, .max99
+ ld a, MAX_BONUS_MULTIPLIER
+.max99
ld b, a
xor a
ld hl, Data_1d68b
ld c, $7
-.asm_1d670
+.loop
bit 0, b
- jr z, .asm_1d676
+ jr z, .evenNumber
add [hl]
daa
-.asm_1d676
+.evenNumber
srl b
inc hl
dec c
- jr nz, .asm_1d670
+ jr nz, .loop
push af
swap a
and $f
- ld [wd60c], a
+ ld [wBonusMultiplierTensDigit], a
pop af
and $f
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
ret
Data_1d68b:
@@ -2356,1319 +1483,53 @@ Func_1d692: ; 0x1d692
and a
jr nz, .asm_1d6b3
ld a, $1e
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $20
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
.asm_1d6b3
ld a, $2a
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ld a, $28
- call Func_1d5f2
+ call LoadBonusMultiplierRailingGraphics_BlueField
ret
-TileDataPointers_1d6be:
- dw TileData_1d6ee
- dw TileData_1d6f3
- dw TileData_1d6f8
- dw TileData_1d6fd
- dw TileData_1d702
- dw TileData_1d707
- dw TileData_1d70c
- dw TileData_1d711
- dw TileData_1d716
- dw TileData_1d71b
- dw TileData_1d720
- dw TileData_1d725
- dw TileData_1d72a
- dw TileData_1d72f
- dw TileData_1d734
- dw TileData_1d739
- dw TileData_1d73e
- dw TileData_1d743
- dw TileData_1d748
- dw TileData_1d74d
- dw TileData_1d752
- dw TileData_1d757
- dw TileData_1d75c
- dw TileData_1d761
-
-TileData_1d6ee: ; 0x1d6ee
- db $02
- dw TileData_1d766
- dw TileData_1d770
-
-TileData_1d6f3: ; 0x1d6f3
- db $02
- dw TileData_1d77a
- dw TileData_1d784
-
-TileData_1d6f8: ; 0x1d6f8
- db $02
- dw TileData_1d78e
- dw TileData_1d798
-
-TileData_1d6fd: ; 0x1d6fd
- db $02
- dw TileData_1d7a2
- dw TileData_1d7AC
-
-TileData_1d702: ; 0x1d702
- db $02
- dw TileData_1d7b6
- dw TileData_1d7C0
-
-TileData_1d707: ; 0x1d707
- db $02
- dw TileData_1d7ca
- dw TileData_1d7D4
-
-TileData_1d70c: ; 0x1d70c
- db $02
- dw TileData_1d7de
- dw TileData_1d7E8
-
-TileData_1d711: ; 0x1d711
- db $02
- dw TileData_1d7f2
- dw TileData_1d7FC
-
-TileData_1d716: ; 0x1d716
- db $02
- dw TileData_1d806
- dw TileData_1d810
-
-TileData_1d71b: ; 0x1d71b
- db $02
- dw TileData_1d81a
- dw TileData_1d824
-
-TileData_1d720: ; 0x1d720
- db $02
- dw TileData_1d82e
- dw TileData_1d838
-
-TileData_1d725: ; 0x1d725
- db $02
- dw TileData_1d842
- dw TileData_1d84C
-
-TileData_1d72a: ; 0x1d72a
- db $02
- dw TileData_1d856
- dw TileData_1d860
-
-TileData_1d72f: ; 0x1d72f
- db $02
- dw TileData_1d86a
- dw TileData_1d874
-
-TileData_1d734: ; 0x1d734
- db $02
- dw TileData_1d87e
- dw TileData_1d888
-
-TileData_1d739: ; 0x1d739
- db $02
- dw TileData_1d892
- dw TileData_1d89C
-
-TileData_1d73e: ; 0x1d73e
- db $02
- dw TileData_1d8a6
- dw TileData_1d8B0
-
-TileData_1d743: ; 0x1d743
- db $02
- dw TileData_1d8ba
- dw TileData_1d8C4
-
-TileData_1d748: ; 0x1d748
- db $02
- dw TileData_1d8ce
- dw TileData_1d8D8
-
-TileData_1d74d: ; 0x1d74d
- db $02
- dw TileData_1d8e2
- dw TileData_1d8EC
-
-TileData_1d752: ; 0x1d752
- db $02
- dw TileData_1d8f6
- dw TileData_1d900
-
-TileData_1d757: ; 0x1d757
- db $02
- dw TileData_1d90a
- dw TileData_1d914
-
-TileData_1d75c: ; 0x1d75c
- db $02
- dw TileData_1d91e
- dw TileData_1d928
-
-TileData_1d761: ; 0x1d761
- db $02
- dw TileData_1d932
- dw TileData_1d93C
-
-TileData_1d766: ; 0x1d766
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d770: ; 0x1d770
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cc0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d77a: ; 0x1d77a
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d70
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d784: ; 0x1d784
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cd0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d78e: ; 0x1d78e
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d798: ; 0x1d798
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ce0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7a2: ; 0x1d7a2
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d90
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7AC: ; 0x1d7AC
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1cf0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7b6: ; 0x1d7b6
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1da0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7C0: ; 0x1d7C0
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7ca: ; 0x1d7ca
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1db0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7D4: ; 0x1d7D4
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d10
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7de: ; 0x1d7de
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1dc0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7E8: ; 0x1d7E8
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7f2: ; 0x1d7f2
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1dd0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d7FC: ; 0x1d7FC
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d806: ; 0x1d806
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1de0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d810: ; 0x1d810
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d81a: ; 0x1d81a
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $27
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1df0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d824: ; 0x1d824
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7D
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1d50
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d82e: ; 0x1d82e
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ea0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d838: ; 0x1d838
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d842: ; 0x1d842
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1eb0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d84C: ; 0x1d84C
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e10
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d856: ; 0x1d856
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ec0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d860: ; 0x1d860
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d86a: ; 0x1d86a
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ed0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d874: ; 0x1d874
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d87e: ; 0x1d87e
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ee0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d888: ; 0x1d888
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d892: ; 0x1d892
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1ef0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d89C: ; 0x1d89C
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e50
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8a6: ; 0x1d8a6
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8B0: ; 0x1d8B0
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8ba: ; 0x1d8ba
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f10
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8C4: ; 0x1d8C4
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e70
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8ce: ; 0x1d8ce
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8D8: ; 0x1d8D8
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8e2: ; 0x1d8e2
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $28
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1f30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8EC: ; 0x1d8EC
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $7E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1e90
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1d8f6: ; 0x1d8f6
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageBlueFieldBottomBaseGameBoyGfx + $A90
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d900: ; 0x1d900
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $2C
- dw StageBlueFieldBottomBaseGameBoyGfx + $AC0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d90a: ; 0x1d90a
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageBlueFieldBottomBaseGameBoyGfx + $AE0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d914: ; 0x1d914
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $2C
- dw StageBlueFieldBottomBaseGameBoyGfx + $B10
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d91e: ; 0x1d91e
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageBlueFieldBottomBaseGameBoyGfx + $B30
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d928: ; 0x1d928
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $36
- dw StageBlueFieldBottomBaseGameBoyGfx + $B60
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d932: ; 0x1d932
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageBlueFieldBottomBaseGameBoyGfx + $B80
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1d93C: ; 0x1d93C
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $36
- dw StageBlueFieldBottomBaseGameBoyGfx + $BB0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileDataPointers_1d946:
- dw TileData_1d94e
- dw TileData_1d951
- dw TileData_1d954
- dw TileData_1d957
-
-TileData_1d94e: ; 0x1d94e
- db $01
- dw TileData_1d95a
-
-TileData_1d951: ; 0x1d951
- db $01
- dw TileData_1d962
-
-TileData_1d954: ; 0x1d954
- db $01
- dw TileData_1d96a
-
-TileData_1d957: ; 0x1d957
- db $01
- dw TileData_1d972
-
-TileData_1d95a: ; 0x1d95a
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $27
-
- db $00 ; terminator
-
-TileData_1d962: ; 0x1d962
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $7D
-
- db $00 ; terminator
-
-TileData_1d96a: ; 0x1d96a
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $28
-
- db $00 ; terminator
-
-TileData_1d972: ; 0x1d972
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7E
-
- db $00 ; terminator
-
-TileDataPointers_1d97a:
- dw TileData_1d9d2
- dw TileData_1d9d5
- dw TileData_1d9d8
- dw TileData_1d9db
- dw TileData_1d9de
- dw TileData_1d9e1
- dw TileData_1d9e4
- dw TileData_1d9e7
- dw TileData_1d9ea
- dw TileData_1d9ed
- dw TileData_1d9f0
- dw TileData_1d9f3
- dw TileData_1d9f6
- dw TileData_1d9f9
- dw TileData_1d9fc
- dw TileData_1d9ff
- dw TileData_1da02
- dw TileData_1da05
- dw TileData_1da08
- dw TileData_1da0b
- dw TileData_1da0e
- dw TileData_1da11
- dw TileData_1da14
- dw TileData_1da17
- dw TileData_1da1a
- dw TileData_1da1d
- dw TileData_1da20
- dw TileData_1da23
- dw TileData_1da26
- dw TileData_1da29
- dw TileData_1da2c
- dw TileData_1da2f
- dw TileData_1da32
- dw TileData_1da35
- dw TileData_1da38
- dw TileData_1da3b
- dw TileData_1da3e
- dw TileData_1da41
- dw TileData_1da44
- dw TileData_1da47
- dw TileData_1da4a
- dw TileData_1da4d
- dw TileData_1da50
- dw TileData_1da53
-
-TileData_1d9d2: ; 0x1d9d2
- db $01
- dw TileData_1da56
-
-TileData_1d9d5: ; 0x1d9d5
- db $01
- dw TileData_1da5e
-
-TileData_1d9d8: ; 0x1d9d8
- db $01
- dw TileData_1da66
-
-TileData_1d9db: ; 0x1d9db
- db $01
- dw TileData_1da6e
-
-TileData_1d9de: ; 0x1d9de
- db $01
- dw TileData_1da76
-
-TileData_1d9e1: ; 0x1d9e1
- db $01
- dw TileData_1da7e
-
-TileData_1d9e4: ; 0x1d9e4
- db $01
- dw TileData_1da86
-
-TileData_1d9e7: ; 0x1d9e7
- db $01
- dw TileData_1da8e
-
-TileData_1d9ea: ; 0x1d9ea
- db $01
- dw TileData_1da96
-
-TileData_1d9ed: ; 0x1d9ed
- db $01
- dw TileData_1da9e
-
-TileData_1d9f0: ; 0x1d9f0
- db $01
- dw TileData_1daa6
-
-TileData_1d9f3: ; 0x1d9f3
- db $01
- dw TileData_1daae
-
-TileData_1d9f6: ; 0x1d9f6
- db $01
- dw TileData_1dab6
-
-TileData_1d9f9: ; 0x1d9f9
- db $01
- dw TileData_1dabe
-
-TileData_1d9fc: ; 0x1d9fc
- db $01
- dw TileData_1dac6
-
-TileData_1d9ff: ; 0x1d9ff
- db $01
- dw TileData_1dace
-
-TileData_1da02: ; 0x1da02
- db $01
- dw TileData_1dad6
-
-TileData_1da05: ; 0x1da05
- db $01
- dw TileData_1dade
-
-TileData_1da08: ; 0x1da08
- db $01
- dw TileData_1dae6
-
-TileData_1da0b: ; 0x1da0b
- db $01
- dw TileData_1daee
-
-TileData_1da0e: ; 0x1da0e
- db $01
- dw TileData_1daf6
-
-TileData_1da11: ; 0x1da11
- db $01
- dw TileData_1dafe
-
-TileData_1da14: ; 0x1da14
- db $01
- dw TileData_1db06
-
-TileData_1da17: ; 0x1da17
- db $01
- dw TileData_1db0e
-
-TileData_1da1a: ; 0x1da1a
- db $01
- dw TileData_1db16
-
-TileData_1da1d: ; 0x1da1d
- db $01
- dw TileData_1db1e
-
-TileData_1da20: ; 0x1da20
- db $01
- dw TileData_1db26
-
-TileData_1da23: ; 0x1da23
- db $01
- dw TileData_1db2e
-
-TileData_1da26: ; 0x1da26
- db $01
- dw TileData_1db36
-
-TileData_1da29: ; 0x1da29
- db $01
- dw TileData_1db3e
-
-TileData_1da2c: ; 0x1da2c
- db $01
- dw TileData_1db46
-
-TileData_1da2f: ; 0x1da2f
- db $01
- dw TileData_1db4e
-
-TileData_1da32: ; 0x1da32
- db $01
- dw TileData_1db56
-
-TileData_1da35: ; 0x1da35
- db $01
- dw TileData_1db5e
-
-TileData_1da38: ; 0x1da38
- db $01
- dw TileData_1db66
-
-TileData_1da3b: ; 0x1da3b
- db $01
- dw TileData_1db6e
-
-TileData_1da3e: ; 0x1da3e
- db $01
- dw TileData_1db76
-
-TileData_1da41: ; 0x1da41
- db $01
- dw TileData_1db7e
-
-TileData_1da44: ; 0x1da44
- db $01
- dw TileData_1db86
-
-TileData_1da47: ; 0x1da47
- db $01
- dw TileData_1db8e
-
-TileData_1da4a: ; 0x1da4a
- db $01
- dw TileData_1db96
-
-TileData_1da4d: ; 0x1da4d
- db $01
- dw TileData_1dba5
-
-TileData_1da50: ; 0x1da50
- db $01
- dw TileData_1dbb4
-
-TileData_1da53: ; 0x1da53
- db $01
- dw TileData_1dbc3
-
-TileData_1da56: ; 0x1da56
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $62
-
- db $00 ; terminator
-
-TileData_1da5e: ; 0x1da5e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $63
-
- db $00 ; terminator
-
-TileData_1da66: ; 0x1da66
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $64
-
- db $00 ; terminator
-
-TileData_1da6e: ; 0x1da6e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $65
-
- db $00 ; terminator
-
-TileData_1da76: ; 0x1da76
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $66
-
- db $00 ; terminator
-
-TileData_1da7e: ; 0x1da7e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $67
-
- db $00 ; terminator
-
-TileData_1da86: ; 0x1da86
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $68
-
- db $00 ; terminator
-
-TileData_1da8e: ; 0x1da8e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $69
-
- db $00 ; terminator
-
-TileData_1da96: ; 0x1da96
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $6A
-
- db $00 ; terminator
-
-TileData_1da9e: ; 0x1da9e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $6B
-
- db $00 ; terminator
-
-TileData_1daa6: ; 0x1daa6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $58
-
- db $00 ; terminator
-
-TileData_1daae: ; 0x1daae
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $59
-
- db $00 ; terminator
-
-TileData_1dab6: ; 0x1dab6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5A
-
- db $00 ; terminator
-
-TileData_1dabe: ; 0x1dabe
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5B
-
- db $00 ; terminator
-
-TileData_1dac6: ; 0x1dac6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5C
-
- db $00 ; terminator
-
-TileData_1dace: ; 0x1dace
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5D
-
- db $00 ; terminator
-
-TileData_1dad6: ; 0x1dad6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5E
-
- db $00 ; terminator
-
-TileData_1dade: ; 0x1dade
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $5F
-
- db $00 ; terminator
-
-TileData_1dae6: ; 0x1dae6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $60
-
- db $00 ; terminator
-
-TileData_1daee: ; 0x1daee
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $4
- db $61
-
- db $00 ; terminator
-
-TileData_1daf6: ; 0x1daf6
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $76
-
- db $00 ; terminator
-
-TileData_1dafe: ; 0x1dafe
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $77
-
- db $00 ; terminator
-
-TileData_1db06: ; 0x1db06
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $78
-
- db $00 ; terminator
-
-TileData_1db0e: ; 0x1db0e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $79
-
- db $00 ; terminator
-
-TileData_1db16: ; 0x1db16
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7A
-
- db $00 ; terminator
-
-TileData_1db1e: ; 0x1db1e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7B
-
- db $00 ; terminator
-
-TileData_1db26: ; 0x1db26
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7C
-
- db $00 ; terminator
-
-TileData_1db2e: ; 0x1db2e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7D
-
- db $00 ; terminator
-
-TileData_1db36: ; 0x1db36
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7E
-
- db $00 ; terminator
-
-TileData_1db3e: ; 0x1db3e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $7F
-
- db $00 ; terminator
-
-TileData_1db46: ; 0x1db46
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $6C
-
- db $00 ; terminator
-
-TileData_1db4e: ; 0x1db4e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $6D
-
- db $00 ; terminator
-
-TileData_1db56: ; 0x1db56
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $6E
-
- db $00 ; terminator
-
-TileData_1db5e: ; 0x1db5e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $6F
-
- db $00 ; terminator
-
-TileData_1db66: ; 0x1db66
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $70
-
- db $00 ; terminator
-
-TileData_1db6e: ; 0x1db6e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $71
-
- db $00 ; terminator
-
-TileData_1db76: ; 0x1db76
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $72
-
- db $00 ; terminator
-
-TileData_1db7e: ; 0x1db7e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $73
-
- db $00 ; terminator
-
-TileData_1db86: ; 0x1db86
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $74
-
- db $00 ; terminator
-
-TileData_1db8e: ; 0x1db8e
- dw LoadTileLists
- db $01 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $F
- db $75
-
- db $00 ; terminator
-
-TileData_1db96: ; 0x1db96
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $24
- db $25, $26, $27
-
- db $02 ; number of tiles
- dw vBGMap + $44
- db $28, $29
-
- db $00 ; terminator
-
-TileData_1dba5: ; 0x1dba5
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $24
- db $2A, $2B, $2C
-
- db $02 ; number of tiles
- dw vBGMap + $44
- db $2D, $2E
-
- db $00 ; terminator
-
-TileData_1dbb4: ; 0x1dbb4
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $2D
- db $27, $26, $2F
-
- db $02 ; number of tiles
- dw vBGMap + $4E
- db $29, $28
-
- db $00 ; terminator
-
-TileData_1dbc3: ; 0x1dbc3
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $2D
- db $2C, $2B, $30
-
- db $02 ; number of tiles
- dw vBGMap + $4E
- db $2E, $2D
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/bonus_multiplier_railings.asm"
ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld a, [wWhichPsyduckPoliwag]
and a
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
cp $2
- jr z, .asm_1dc33
+ jr z, .hitPsyduck
+ ; hit poliwag
xor a
ld [wWhichPsyduckPoliwag], a
ld hl, wLeftMapMoveCounter
ld a, [hl]
cp $3
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
inc a
ld [hl], a
- ld hl, wd4f7
- ld a, $e0
+ ; Set 8 seconds until the counter will decrease by 1
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wCurrentStage]
bit 0, a
- jr z, .asm_1dc06
+ jr z, .skipCollisionMapChange
ld a, $54
ld [wStageCollisionMap + $e3], a
ld a, $55
ld [wStageCollisionMap + $103], a
-.asm_1dc06
+.skipCollisionMapChange
ld a, $1
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wLeftMapMoveCounter]
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wLeftMapMoveCounter]
cp $3
ld a, $7
@@ -3676,24 +1537,25 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld a, $2
ld [wd646], a
ld a, $78
- ld [wLeftMapMoveDiglettAnimationCounter], a
+ ld [wLeftMapMovePoliwagAnimationCounter], a
ld a, $14
- ld [wLeftMapMoveDiglettFrame], a
+ ld [wLeftMapMovePoliwagFrame], a
jr .asm_1dc8a
-.asm_1dc33
+.hitPsyduck
xor a
ld [wWhichPsyduckPoliwag], a
ld hl, wRightMapMoveCounter
ld a, [hl]
cp $3
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
inc a
ld [hl], a
- ld hl, wd4f9
- ld a, $e0
+ ; Set 8 seconds until the counter will decrease by 1
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wCurrentStage]
bit 0, a
@@ -3704,7 +1566,7 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld [wStageCollisionMap + $110], a
.asm_1dc5c
ld a, $3
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
cp $3
ld a, $8
@@ -3712,41 +1574,41 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld a, [wRightMapMoveCounter]
cp $3
ccf
- call z, Func_1ddf4
+ call z, HitPsyduck3Times
ld a, $2
ld [wd645], a
ld a, $28
- ld [wRightMapMoveDiglettAnimationCounter], a
+ ld [wRightMapMovePsyduckAnimationCounter], a
ld a, $78
- ld [wRightMapMoveDiglettFrame], a
+ ld [wRightMapMovePsyduckFrame], a
.asm_1dc8a
- call Func_1de22
+ call AddScorePsyduckOrPoliwag
ret
-Func_1dc8e: ; 0x1dc8e
- call Func_1dc95
- call Func_1dd2e
+UpdatePsyduckAndPoliwag: ; 0x1dc8e
+ call UpdatePoliwag
+ call UpdatePsyduck
ret
-Func_1dc95: ; 0x1dc95
+UpdatePoliwag: ; 0x1dc95
ld a, [wd646]
cp $0
ret z
- ld a, [wLeftMapMoveDiglettAnimationCounter]
+ ld a, [wLeftMapMovePoliwagAnimationCounter]
and a
jr z, .asm_1dceb
dec a
- ld [wLeftMapMoveDiglettAnimationCounter], a
+ ld [wLeftMapMovePoliwagAnimationCounter], a
ld a, [wd644]
and a
ret nz
- ld a, [wLeftMapMoveDiglettFrame]
+ ld a, [wLeftMapMovePoliwagFrame]
cp $1
jr z, .asm_1dcb9
cp $0
ret z
dec a
- ld [wLeftMapMoveDiglettFrame], a
+ ld [wLeftMapMovePoliwagFrame], a
ret
.asm_1dcb9
@@ -3772,11 +1634,11 @@ Func_1dc95: ; 0x1dc95
.asm_1dcd7
ld a, $8
.asm_1dcd9
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wLeftMapMoveCounter]
cp $3
ccf
- call z, Func_1ddc7
+ call z, HitPoliwag3Times
ld a, $1
ld [wd646], a
ret
@@ -3785,11 +1647,11 @@ Func_1dc95: ; 0x1dc95
ld a, [wd646]
cp $1
ret nz
- ld a, [wLeftMapMoveDiglettAnimationCounter]
+ ld a, [wLeftMapMovePoliwagAnimationCounter]
and a
ret nz
ld a, $0
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wCurrentStage]
bit 0, a
jr z, .asm_1dd0c
@@ -3806,9 +1668,9 @@ Func_1dc95: ; 0x1dc95
ld a, [wLeftMapMoveCounter]
sub $3
ld [wLeftMapMoveCounter], a
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $0
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $0
ld [wd646], a
ret
@@ -3816,7 +1678,7 @@ Func_1dc95: ; 0x1dc95
; XXX
ret
-Func_1dd2e: ; 0x1dd2e
+UpdatePsyduck: ; 0x1dd2e
ld a, [wd645]
cp $0
ret z
@@ -3824,16 +1686,16 @@ Func_1dd2e: ; 0x1dd2e
jr z, .asm_1dd53
cp $3
jr z, .asm_1dd69
- ld a, [wRightMapMoveDiglettAnimationCounter]
+ ld a, [wRightMapMovePsyduckAnimationCounter]
cp $0
jr z, .asm_1dd48
dec a
- ld [wRightMapMoveDiglettAnimationCounter], a
+ ld [wRightMapMovePsyduckAnimationCounter], a
ret
.asm_1dd48
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $1
ld [wd645], a
ret
@@ -3841,20 +1703,20 @@ Func_1dd2e: ; 0x1dd2e
.asm_1dd53
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wRightMapMoveCounter]
add $3
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $3
ld [wd645], a
ret
.asm_1dd69
- ld a, [wRightMapMoveDiglettFrame]
+ ld a, [wRightMapMovePsyduckFrame]
and a
jr z, .asm_1dd74
dec a
- ld [wRightMapMoveDiglettFrame], a
+ ld [wRightMapMovePsyduckFrame], a
ret
.asm_1dd74
@@ -3875,9 +1737,9 @@ Func_1dd2e: ; 0x1dd2e
.asm_1dd89
ld a, $9
.asm_1dd8b
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wCurrentStage]
bit 0, a
jr z, .asm_1dda9
@@ -3895,22 +1757,22 @@ Func_1dd2e: ; 0x1dd2e
sub $3
ld [wRightMapMoveCounter], a
ld a, $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $0
ld [wd645], a
ret
-Func_1ddc7: ; 0x1ddc7
+HitPoliwag3Times: ; 0x1ddc7
ld hl, wNumPoliwagTriples
call Increment_Max100
- ld hl, wNumDugtrioTriples
+ ld hl, wNumDugtrioTriples ; developer oversight
call Increment_Max100
jr nc, .asm_1dde4
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1dde4
xor a
ld [wd55a], a
@@ -3918,15 +1780,15 @@ Func_1ddc7: ; 0x1ddc7
scf
ret
-Func_1ddf4: ; 0x1ddf4
+HitPsyduck3Times: ; 0x1ddf4
ld hl, wNumPsyduckTriples
call Increment_Max100
- ld hl, wNumDugtrioTriples
+ ld hl, wNumDugtrioTriples ; developer oversight
call Increment_Max100
jr nc, .asm_1de11
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1de11
ld a, $1
ld [wd55a], a
@@ -3934,7 +1796,7 @@ Func_1ddf4: ; 0x1ddf4
scf
ret
-Func_1de22: ; 0x1de22
+AddScorePsyduckOrPoliwag: ; 0x1de22
ld a, [wCurrentStage]
bit 0, a
ret z
@@ -3950,7 +1812,7 @@ Func_1de22: ; 0x1de22
call PlaySoundEffect
ret
-Func_1de4b: ; 0x1de4b
+LoadPsyduckOrPoliwagGraphics: ; 0x1de4b
ld b, a
ld a, [wCurrentStage]
bit 0, a
@@ -3962,9 +1824,9 @@ Func_1de4b: ; 0x1de4b
ld hl, TileDataPointers_1df66
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1de63
+ jr z, .gameboyColor
ld hl, TileDataPointers_1e00f
-.asm_1de63
+.gameboyColor
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -3975,7 +1837,8 @@ Func_1de4b: ; 0x1de4b
call Func_10aa
ret
-Func_1de6f: ; 0x1de6f
+LoadPsyduckOrPoliwagNumberGraphics: ; 0x1de6f
+; This is for the map move numbers that appears next to poliwag and psyduck.
ld b, a
ld a, [wCurrentStage]
bit 0, a
@@ -4000,31 +1863,35 @@ Func_1de6f: ; 0x1de6f
call Func_10aa
ret
-Func_1de93: ; 0x1de93
- ld hl, wd4f7
+UpdateMapMoveCounters_BlueFieldBottom: ; 0x1de93
+; Decrements the two counters that cause the map move counters to decrease by one every 8 seconds.
+; Also updates the counter graphics if anything changes.
+; The map move counters appear next to Poliwag and Psyduck.
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1ded2
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1ded2
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_1ded2
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_1ded2
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1decd
+ jr z, .gameboy
ld a, [wLeftMapMoveCounter]
cp $0
jr z, .asm_1deca
@@ -4036,36 +1903,37 @@ Func_1de93: ; 0x1de93
xor a
jr .asm_1decf
-.asm_1decd
+.gameboy
ld a, $8
.asm_1decf
- call Func_1de6f
-.asm_1ded2
- ld hl, wd4f9
+ call LoadPsyduckOrPoliwagNumberGraphics
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df14
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df14
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1df14
+ jr z, .done
cp $3
- jr z, .asm_1df14
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1df0f
+ jr z, .gameboy_2
ld a, [wRightMapMoveCounter]
cp $0
jr z, .asm_1df0b
@@ -4077,946 +1945,70 @@ Func_1de93: ; 0x1de93
ld a, $4
jr .asm_1df11
-.asm_1df0f
+.gameboy_2
ld a, $9
.asm_1df11
- call Func_1de6f
-.asm_1df14
+ call LoadPsyduckOrPoliwagNumberGraphics
+.done
ret
-Func_1df15: ; 0x1df15
+UpdateMapMoveCounters_BlueFieldTop: ; 0x1df15
+; This is identical logic to UpdateMapMoveCounters_BlueFieldTop, but it doesn't load
+; any graphics, since Poliwag and Psyduck aren't in the Top half of the Blue Field.
ld b, $0
- ld hl, wd4f8
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df3e
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df3e
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
-.asm_1df3e
- ld hl, wd4fa
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1df65
+ jr z, .done
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df65
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df65
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1df65
+ jr z, .done
cp $3
- jr z, .asm_1df65
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
-.asm_1df65
+.done
ret
-TileDataPointers_1df66:
- dw TileData_1df74
- dw TileData_1df77
- dw TileData_1df7a
- dw TileData_1df7f
- dw TileData_1df84
- dw TileData_1df89
- dw TileData_1df8e
-
-TileData_1df74: ; 0x1df74
- db $01
- dw TileData_1df93
-
-TileData_1df77: ; 0x1df77
- db $01
- dw TileData_1df9f
-
-TileData_1df7a: ; 0x1df7a
- db $02
- dw TileData_1dfab
- dw TileData_1dfb5
-
-TileData_1df7f: ; 0x1df7f
- db $02
- dw TileData_1dfbf
- dw TileData_1dfc9
-
-TileData_1df84: ; 0x1df84
- db $02
- dw TileData_1dfd3
- dw TileData_1dfdd
-
-TileData_1df89: ; 0x1df89
- db $02
- dw TileData_1dfe7
- dw TileData_1dff1
-
-TileData_1df8e: ; 0x1df8e
- db $02
- dw TileData_1dffb
- dw TileData_1e005
-
-TileData_1df93: ; 0x1df93
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $4A
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $4B
-
- db $00 ; terminator
-
-TileData_1df9f: ; 0x1df9f
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $4C
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $4D
-
- db $00 ; terminator
-
-TileData_1dfab: ; 0x1dfab
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageBlueFieldBottomBaseGameBoyGfx + $CE0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfb5: ; 0x1dfb5
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageBlueFieldBottomBaseGameBoyGfx + $D10
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfbf: ; 0x1dfbf
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageBlueFieldBottomBaseGameBoyGfx + $D30
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfc9: ; 0x1dfc9
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageBlueFieldBottomBaseGameBoyGfx + $D60
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfd3: ; 0x1dfd3
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20B0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dfdd: ; 0x1dfdd
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dfe7: ; 0x1dfe7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2100
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dff1: ; 0x1dff1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2130
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dffb: ; 0x1dffb
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2150
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e005: ; 0x1e005
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2180
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileDataPointers_1e00f:
- dw TileData_1e01d
- dw TileData_1e020
- dw TileData_1e023
- dw TileData_1e026
- dw TileData_1e029
- dw TileData_1e02c
- dw TileData_1e02f
-
-TileData_1e01d: ; 0x1e01d
- db $01
- dw TileData_1e032
-
-TileData_1e020: ; 0x1e020
- db $01
- dw TileData_1e03e
-
-TileData_1e023: ; 0x1e023
- db $01
- dw TileData_1e04a
-
-TileData_1e026: ; 0x1e026
- db $01
- dw TileData_1e05c
-
-TileData_1e029: ; 0x1e029
- db $01
- dw TileData_1e06e
-
-TileData_1e02c: ; 0x1e02c
- db $01
- dw TileData_1e080
-
-TileData_1e02f: ; 0x1e02f
- db $01
- dw TileData_1e092
-
-TileData_1e032: ; 0x1e032
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $35
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $36
-
- db $00 ; terminator
-
-TileData_1e03e: ; 0x1e03e
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $37
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $38
-
- db $00 ; terminator
-
-TileData_1e04a: ; 0x1e04a
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $4F
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $50, $51
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $52, $53
-
- db $00 ; terminator
-
-TileData_1e05c: ; 0x1e05c
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $54
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $55, $56
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $57, $58
-
- db $00 ; terminator
-
-TileData_1e06e: ; 0x1e06e
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $59
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $5A, $5B
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $5C, $5D
-
- db $00 ; terminator
-
-TileData_1e080: ; 0x1e080
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $59
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $5A, $5E
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $5C, $5F
-
- db $00 ; terminator
-
-TileData_1e092: ; 0x1e092
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $60
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $61, $62
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $63, $64
-
- db $00 ; terminator
-
-TileDataPointers_1e0a4:
- dw TileData_1e0b8
- dw TileData_1e0bf
- dw TileData_1e0c6
- dw TileData_1e0cd
- dw TileData_1e0d4
- dw TileData_1e0d9
- dw TileData_1e0de
- dw TileData_1e0e3
- dw TileData_1e0e8
- dw TileData_1e0ed
-
-TileData_1e0b8: ; 0x1e0b8
- db $03
- dw TileData_1e0f0
- dw TileData_1e0fa
- dw TileData_1e104
-
-TileData_1e0bf: ; 0x1e0bf
- db $03
- dw TileData_1e10e
- dw TileData_1e118
- dw TileData_1e122
-
-TileData_1e0c6: ; 0x1e0c6
- db $03
- dw TileData_1e12c
- dw TileData_1e136
- dw TileData_1e140
-
-TileData_1e0cd: ; 0x1e0cd
- db $03
- dw TileData_1e14a
- dw TileData_1e154
- dw TileData_1e15e
-
-TileData_1e0d4: ; 0x1e0d4
- db $02
- dw TileData_1e168
- dw TileData_1e172
-
-TileData_1e0d9: ; 0x1e0d9
- db $02
- dw TileData_1e17c
- dw TileData_1e186
-
-TileData_1e0de: ; 0x1e0de
- db $02
- dw TileData_1e190
- dw TileData_1e19a
-
-TileData_1e0e3: ; 0x1e0e3
- db $02
- dw TileData_1e1a4
- dw TileData_1e1ae
-
-TileData_1e0e8: ; 0x1e0e8
- db $02
- dw TileData_1e1b8
- dw TileData_1e1c2
-
-TileData_1e0ed: ; 0x1e0ed
- db $01
- dw TileData_1e1cc
-
-TileData_1e0f0: ; 0x1e0f0
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageBlueFieldBottomBaseGameBoyGfx + $C10
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e0fa: ; 0x1e0fa
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageBlueFieldBottomBaseGameBoyGfx + $C40
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e104: ; 0x1e104
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageBlueFieldBottomBaseGameBoyGfx + $C70
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e10e: ; 0x1e10e
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e118: ; 0x1e118
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e122: ; 0x1e122
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e12c: ; 0x1e12c
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FF0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e136: ; 0x1e136
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e140: ; 0x1e140
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e14a: ; 0x1e14a
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2020
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e154: ; 0x1e154
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e15e: ; 0x1e15e
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e168: ; 0x1e168
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageBlueFieldBottomBaseGameBoyGfx + $D80
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e172: ; 0x1e172
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageBlueFieldBottomBaseGameBoyGfx + $DA0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e17c: ; 0x1e17c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e186: ; 0x1e186
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e190: ; 0x1e190
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e19a: ; 0x1e19a
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2210
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1a4: ; 0x1e1a4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1ae: ; 0x1e1ae
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2240
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1b8: ; 0x1e1b8
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageBlueFieldBottomBaseGameBoyGfx + $C40
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e1c2: ; 0x1e1c2
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageBlueFieldBottomBaseGameBoyGfx + $C70
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e1cc: ; 0x1e1cc
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageBlueFieldBottomBaseGameBoyGfx + $D80
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileDataPointers_1e1d6:
- dw TileData_1e1f2
- dw TileData_1e1f5
- dw TileData_1e1f8
- dw TileData_1e1fb
- dw TileData_1e1fe
- dw TileData_1e201
- dw TileData_1e204
- dw TileData_1e207
- dw TileData_1e20a
- dw TileData_1e20d
- dw TileData_1e210
- dw TileData_1e213
- dw TileData_1e216
- dw TileData_1e219
-
-TileData_1e1f2: ; 0x1e1f2
- db $01
- dw TileData_1e21c
-
-TileData_1e1f5: ; 0x1e1f5
- db $01
- dw TileData_1e238
-
-TileData_1e1f8: ; 0x1e1f8
- db $01
- dw TileData_1e254
-
-TileData_1e1fb: ; 0x1e1fb
- db $01
- dw TileData_1e270
-
-TileData_1e1fe: ; 0x1e1fe
- db $01
- dw TileData_1e28c
-
-TileData_1e201: ; 0x1e201
- db $01
- dw TileData_1e2a2
-
-TileData_1e204: ; 0x1e204
- db $01
- dw TileData_1e2b8
-
-TileData_1e207: ; 0x1e207
- db $01
- dw TileData_1e2ce
-
-TileData_1e20a: ; 0x1e20a
- db $01
- dw TileData_1e2e4
-
-TileData_1e20d: ; 0x1e20d
- db $01
- dw TileData_1e2fa
-
-TileData_1e210: ; 0x1e210
- db $01
- dw TileData_1e310
-
-TileData_1e213: ; 0x1e213
- db $01
- dw TileData_1e326
-
-TileData_1e216: ; 0x1e216
- db $01
- dw TileData_1e336
-
-TileData_1e219: ; 0x1e219
- db $01
- dw TileData_1e346
-
-TileData_1e21c: ; 0x1e21c
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $36, $37, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $39, $3A, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e238: ; 0x1e238
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $3C, $37, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $3D, $3E, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e254: ; 0x1e254
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $40, $41, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $42, $43, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e270: ; 0x1e270
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $36, $46, $47
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $48, $49, $4A
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e28c: ; 0x1e28c
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $67, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $6A, $6B
-
- db $00 ; terminator
-
-TileData_1e2a2: ; 0x1e2a2
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $6C, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $6D, $6E, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $6F, $70, $6B
-
- db $00 ; terminator
-
-TileData_1e2b8: ; 0x1e2b8
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $6C, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $72, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $73, $6B
-
- db $00 ; terminator
-
-TileData_1e2ce: ; 0x1e2ce
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $75, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $76, $77
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $78, $79
-
- db $00 ; terminator
-
-TileData_1e2e4: ; 0x1e2e4
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $3F, $3A, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e2fa: ; 0x1e2fa
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $44, $45, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e310: ; 0x1e310
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $39, $4B, $4A
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e326: ; 0x1e326
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $6D, $71, $68
-
- db $00 ; terminator
-
-TileData_1e336: ; 0x1e336
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $74, $68
-
- db $00 ; terminator
-
-TileData_1e346: ; 0x1e346
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $67, $77
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/poliwag_psyduck.asm"
ResolveBlueStagePinballUpgradeTriggersCollision: ; 0x1e356
ld a, [wWhichPinballUpgradeTrigger]
@@ -5753,7 +2745,7 @@ Func_1e757: ; 0x1e757
ld [hli], a
ld [hli], a
ld [hli], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallXPos], a
ld [wBallYPos], a
ld a, $50
@@ -5788,7 +2780,7 @@ Func_1e757: ; 0x1e757
cp $c
jr nz, .asm_1e7d0
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld [wBallSpin], a
ld [wBallRotation], a
ret
@@ -5843,8 +2835,8 @@ Func_1e830: ; 0x1e830
callba Func_10000
jr nc, .asm_1e84b
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ret
.asm_1e84b
@@ -5891,12 +2883,12 @@ Func_1e830: ; 0x1e830
cp $d
jr nc, .asm_1e858
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld a, [wCatchEmOrEvolutionSlotRewardActive]
cp EVOLUTION_MODE_SLOT_REWARD
ret nz
- callba Func_10ab3
+ callba StartEvolutionMode
xor a
ld [wCatchEmOrEvolutionSlotRewardActive], a
ret
@@ -7803,177 +4795,7 @@ Func_1f18a: ; 0x1f18a
.asm_1f1b4
ret
-TileDataPointers_1f1b5:
- dw TileData_1f1bd
- dw TileData_1f1c0
- dw TileData_1f1c3
- dw TileData_1f1c6
-
-TileData_1f1bd: ; 0x1f1bd
- db $01
- dw TileData_1f1c9
-
-TileData_1f1c0: ; 0x1f1c0
- db $01
- dw TileData_1f1d7
-
-TileData_1f1c3: ; 0x1f1c3
- db $01
- dw TileData_1f1e5
-
-TileData_1f1c6: ; 0x1f1c6
- db $01
- dw TileData_1f1f3
-
-TileData_1f1c9: ; 0x1f1c9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $70, $71
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $72, $73
-
- db $00 ; terminator
-
-TileData_1f1d7: ; 0x1f1d7
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $74, $75
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $76, $77
-
- db $00 ; terminator
-
-TileData_1f1e5: ; 0x1f1e5
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $78, $79
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7A, $7B
-
- db $00 ; terminator
-
-TileData_1f1f3: ; 0x1f1f3
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $7C, $7D
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7E, $7F
-
- db $00 ; terminator
-
-TileDataPointers_1f201:
- dw TileData_1f209
- dw TileData_1f20c
- dw TileData_1f20f
- dw TileData_1f212
-
-TileData_1f209: ; 0x1f209
- db $01
- dw TileData_1f215
-
-TileData_1f20c: ; 0x1f20c
- db $01
- dw TileData_1f228
-
-TileData_1f20f: ; 0x1f20f
- db $01
- dw TileData_1f23b
-
-TileData_1f212: ; 0x1f212
- db $01
- dw TileData_1f24e
-
-TileData_1f215: ; 0x1f215
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $6C, $6D
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $6E, $6F
-
- db $02
- dw vBGMap + $1c9
- db $70, $71
-
- db $00 ; terminator
-
-TileData_1f228: ; 0x1f228
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $72, $80
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $73, $74
-
- db $02
- dw vBGMap + $1c9
- db $75, $80
-
- db $00 ; terminator
-
-TileData_1f23b: ; 0x1f23b
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $76, $77
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $78, $79
-
- db $02
- dw vBGMap + $1c9
- db $7A, $7B
-
- db $00 ; terminator
-
-TileData_1f24e: ; 0x1f24e
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $80, $7C
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7D, $7E
-
- db $02
- dw vBGMap + $1c9
- db $80, $7F
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/force_field.asm"
Func_1f261: ; 0x1f261
call Func_1f27b
diff --git a/engine/pinball_game/object_collision/diglett_bonus_object_collision.asm b/engine/pinball_game/object_collision/diglett_bonus_object_collision.asm
index 91e0f82..91e0f82 100755..100644
--- a/engine/pinball_game/object_collision/diglett_bonus_object_collision.asm
+++ b/engine/pinball_game/object_collision/diglett_bonus_object_collision.asm
diff --git a/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm
index 3255deb..3255deb 100755..100644
--- a/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/diglett_bonus_resolve_collision.asm
diff --git a/engine/pinball_game/object_collision/gengar_bonus_object_collision.asm b/engine/pinball_game/object_collision/gengar_bonus_object_collision.asm
index adf048b..adf048b 100755..100644
--- a/engine/pinball_game/object_collision/gengar_bonus_object_collision.asm
+++ b/engine/pinball_game/object_collision/gengar_bonus_object_collision.asm
diff --git a/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm
index d2c9770..daf3c5c 100755..100644
--- a/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/gengar_bonus_resolve_collision.asm
@@ -877,8 +877,8 @@ Func_1894c: ; 0x1894c
jr z, .asm_18980
inc a
ld [wd6a5], a
- ld a, [wd548]
- ld hl, wDisableBallGravityAndTilt
+ ld a, [wPinballIsVisible]
+ ld hl, wEnableBallGravityAndTilt
and [hl]
jr z, .asm_18973
ld a, [wBallYPos + 1]
diff --git a/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm b/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm
index 4fc6179..4fc6179 100755..100644
--- a/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm
+++ b/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm
diff --git a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm
index a8284f2..a8284f2 100755..100644
--- a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm
diff --git a/engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm b/engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm
index e6bbae5..e6bbae5 100755..100644
--- a/engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm
+++ b/engine/pinball_game/object_collision/mewtwo_bonus_object_collision.asm
diff --git a/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm
index eb47047..eb47047 100755..100644
--- a/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/mewtwo_bonus_resolve_collision.asm
diff --git a/engine/pinball_game/object_collision/object_collision.asm b/engine/pinball_game/object_collision/object_collision.asm
index 9324829..9324829 100755..100644
--- a/engine/pinball_game/object_collision/object_collision.asm
+++ b/engine/pinball_game/object_collision/object_collision.asm
diff --git a/engine/pinball_game/object_collision/red_stage_object_collision.asm b/engine/pinball_game/object_collision/red_stage_object_collision.asm
index 2d07286..2d07286 100755..100644
--- a/engine/pinball_game/object_collision/red_stage_object_collision.asm
+++ b/engine/pinball_game/object_collision/red_stage_object_collision.asm
diff --git a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
index 082f6b6..f9726f6 100755..100644
--- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
@@ -15,7 +15,7 @@ ResolveRedFieldTopGameObjectCollisions: ; 0x1460e
call Func_164e3
call Func_146a9
call Func_174ea
- call Func_148cf
+ call UpdateMapMoveCounters_RedFieldTop
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -25,7 +25,7 @@ ResolveRedFieldBottomGameObjectCollisions: ; 0x14652
call ResolveWildMonCollision_RedField
call ResolveRedStageBumperCollision
call ResolveDiglettCollision
- call Func_14880
+ call UpdateMapMoveCounters_RedFieldBottom
call UpdateRedStageSpinner
call Func_154a9
call HandleRedStageBallTypeUpgradeCounter
@@ -132,7 +132,7 @@ BgTileData_1472f:
Func_14733: ; 0x14733
ld c, $0
- ld a, [wCurBonusMultiplier]
+ ld a, [wCurBonusMultiplierFromFieldEvents]
and a
jr z, .asm_1473d
ld c, $1
@@ -146,7 +146,7 @@ Func_14733: ; 0x14733
Func_14746: ; 0x14746
ld c, $0
- ld a, [wCurBonusMultiplier]
+ ld a, [wCurBonusMultiplierFromFieldEvents]
and a
jr z, .asm_14750
ld c, $2
@@ -238,11 +238,11 @@ ResolveDiglettCollision: ; 0x147aa
inc a
ld [hld], a
ld [hl], $50
- ld hl, wd4f7
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
add hl, bc
- ld a, $e0
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, c
and a
@@ -252,15 +252,15 @@ ResolveDiglettCollision: ; 0x147aa
ld a, $6b
ld [wStageCollisionMap + $110], a
ld a, $5
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, $8
callba Func_10000
ld a, [wRightMapMoveCounter]
cp $3
- call z, Func_14920
+ call z, HitRightDiglett3Times
jr .asm_14830
.asm_14807
@@ -269,16 +269,16 @@ ResolveDiglettCollision: ; 0x147aa
ld a, $67
ld [wStageCollisionMap + $103], a
ld a, $2
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wLeftMapMoveCounter]
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, $7
callba Func_10000
ld a, [wLeftMapMoveCounter]
cp $3
- call z, Func_14947
+ call z, HitLeftDiglett3Times
.asm_14830
- call Func_1496d
+ call AddScoreForHittingDiglett
ret
.asm_14834
@@ -292,7 +292,7 @@ ResolveDiglettCollision: ; 0x147aa
sub $3
jr nz, .asm_1484d
ld [wLeftMapMoveCounter], a
- call Func_149f5
+ call LoadDiglettNumberGraphics
.asm_1484d
ld a, $64
ld [wStageCollisionMap + $e3], a
@@ -310,7 +310,7 @@ ResolveDiglettCollision: ; 0x147aa
jr nz, .asm_14872
ld [wRightMapMoveCounter], a
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
.asm_14872
ld a, $68
ld [wStageCollisionMap + $f0], a
@@ -320,133 +320,142 @@ ResolveDiglettCollision: ; 0x147aa
call Func_14990
ret
-Func_14880: ; 0x14880
- ld hl, wd4f7
+UpdateMapMoveCounters_RedFieldBottom: ; 0x14880
+; Decrements the two counters that cause the map move counters to decrease by one every 8 seconds.
+; Also updates the counter graphics if anything changes.
+; The map move counters appear next to Digletts.
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148a6
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148a6
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_148a6
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_148a6
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
- call Func_149f5
-.asm_148a6
- ld hl, wd4f9
+ call LoadDiglettNumberGraphics
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148ce
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148ce
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_148ce
+ jr z, .done
cp $3
- jr z, .asm_148ce
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
add $4
- call Func_149f5
-.asm_148ce
+ call LoadDiglettNumberGraphics
+.done
ret
-Func_148cf: ; 0x148cf
+UpdateMapMoveCounters_RedFieldTop: ; 0x148cf
+; This is identical logic to UpdateMapMoveCounters_RedFieldBottom, but it doesn't load
+; any graphics, since the Diglett aren't in the Top half of the Red Field.
ld b, $0
- ld hl, wd4f8
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148f8
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148f8
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
-.asm_148f8
- ld hl, wd4fa
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1491f
+ jr z, .done
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1491f
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1491f
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1491f
+ jr z, .done
cp $3
- jr z, .asm_1491f
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
-.asm_1491f
+.done
ret
-Func_14920: ; 0x14920
+HitRightDiglett3Times: ; 0x14920
ld hl, wNumDugtrioTriples
call Increment_Max100
jr nc, .asm_14937
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_14937
ld a, $1
ld [wd55a], a
callba StartMapMoveMode
ret
-Func_14947: ; 0x14947
+HitLeftDiglett3Times: ; 0x14947
ld hl, wNumDugtrioTriples
call Increment_Max100
jr nc, .asm_1495e
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_1495e
xor a
ld [wd55a], a
callba StartMapMoveMode
ret
-Func_1496d: ; 0x1496d
+AddScoreForHittingDiglett: ; 0x1496d
ld a, $55
ld [wd803], a
ld a, $4
@@ -478,7 +487,7 @@ Func_14990: ; 0x14990
ld a, [wLeftMapMoveDiglettFrame]
xor $1
ld [wLeftMapMoveDiglettFrame], a
- call Func_149d9
+ call LoadDiglettGraphics
.asm_149b6
ld a, [wd4f1]
and a
@@ -500,7 +509,7 @@ Func_14990: ; 0x14990
ld [wRightMapMoveDiglettFrame], a
add $3
; fall through
-Func_149d9: ; 0x149d9
+LoadDiglettGraphics: ; 0x149d9
sla a
ld c, a
ld b, $0
@@ -520,7 +529,7 @@ Func_149d9: ; 0x149d9
call Func_10aa
ret
-Func_149f5: ; 0x149f5
+LoadDiglettNumberGraphics: ; 0x149f5
sla a
ld c, a
ld b, $0
@@ -540,777 +549,7 @@ Func_149f5: ; 0x149f5
call Func_10aa
ret
-TileListDataPointers_14a11: ; 0x14a11
- dw TileListData_14a1d
- dw TileListData_14a20
- dw TileListData_14a23
- dw TileListData_14a26
- dw TileListData_14a29
- dw TileListData_14a2c
-
-TileListData_14a1d: ; 0x14a1d
- db $01
- dw TileListData_14a2f
-
-TileListData_14a20: ; 0x14a20
- db $01
- dw TileListData_14a3d
-
-TileListData_14a23: ; 0x14a23
- db $01
- dw TileListData_14a4b
-
-TileListData_14a26: ; 0x14a26
- db $01
- dw TileListData_14a59
-
-TileListData_14a29: ; 0x14a29
- db $01
- dw TileListData_14a67
-
-TileListData_14a2c: ; 0x14a2c
- db $01
- dw TileListData_14a75
-
-TileListData_14a2f: ; 0x14a2f
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $4C, $4D
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $4E, $4F
-
- db $00 ; terminator
-
-TileListData_14a3d: ; 0x14a3d
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $50, $51
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $52, $53
-
- db $00 ; terminator
-
-TileListData_14a4b: ; 0x14a4b
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $54, $80
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $55, $80
-
- db $00 ; terminator
-
-TileListData_14a59: ; 0x14a59
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $56, $57
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $58, $59
-
- db $00 ; terminator
-
-TileListData_14a67: ; 0x14a67
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $5a, $5b
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $5c, $5d
-
- db $00 ; terminator
-
-TileListData_14a75: ; 0x14a75
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $80, $5e
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $80, $5f
-
- db $00 ; terminator
-
-TileListDataPointers_14a83:
- dw TileListData_14a8f
- dw TileListData_14a92
- dw TileListData_14a95
- dw TileListData_14a98
- dw TileListData_14a9b
- dw TileListData_14a9e
-
-TileListData_14a8f: ; 0x14a8f
- db $01
- dw TileListData_14aa1
-
-TileListData_14a92: ; 0x14a92
- db $01
- dw TileListData_14aaf
-
-TileListData_14a95: ; 0x14a95
- db $01
- dw TileListData_14abd
-
-TileListData_14a98: ; 0x14a98
- db $01
- dw TileListData_14acb
-
-TileListData_14a9b: ; 0x14a9b
- db $01
- dw TileListData_14ad9
-
-TileListData_14a9e: ; 0x14a9e
- db $01
- dw TileListData_14ae7
-
-TileListData_14aa1: ; 0x14aa1
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $54, $55
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $56, $57
-
- db $00
-
-TileListData_14aaf: ; 0x14aaf
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $58, $59
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $5A, $5B
-
- db $00 ; terminator
-
-TileListData_14abd: ; 0x14abd
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $5C, $80
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $5D, $80
-
- db $00 ; terminator
-
-TileListData_14acb: ; 0x14acb
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $55, $54
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $57, $56
-
- db $00 ; terminator
-
-TileListData_14ad9: ; 0x14ad9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $59, $58
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $5B, $5A
-
- db $00 ; terminator
-
-TileListData_14ae7: ; 0x14ae7
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $80, $5C
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $80, $5D
-
- db $00 ; terminator
-
-Data_14af5: ; 0x14af5
- dw Data_14b05
- dw Data_14b0e
- dw Data_14b17
- dw Data_14b20
- dw Data_14b29
- dw Data_14b32
- dw Data_14b3b
- dw Data_14b44
-
-Data_14b05: ; 0x14b05
- db $04
- dw Data_14b4d
- dw Data_14b57
- dw Data_14b61
- dw Data_14b6b
-
-Data_14b0e: ; 0x14b0e
- db $04
- dw Data_14b75
- dw Data_14b7f
- dw Data_14b89
- dw Data_14b93
-
-Data_14b17: ; 0x14b17
- db $04
- dw Data_14b9d
- dw Data_14ba7
- dw Data_14bb1
- dw Data_14bbb
-
-Data_14b20: ; 0x14b20
- db $04
- dw Data_14bc5
- dw Data_14bcf
- dw Data_14bd9
- dw Data_14be3
-
-Data_14b29: ; 0x14b29
- db $04
- dw Data_14bed
- dw Data_14bf7
- dw Data_14c01
- dw Data_14c0b
-
-Data_14b32: ; 0x14b32
- db $04
- dw Data_14c15
- dw Data_14c1f
- dw Data_14c29
- dw Data_14c33
-
-Data_14b3b: ; 0x14b3b
- db $04
- dw Data_14c3d
- dw Data_14c47
- dw Data_14c51
- dw Data_14c5b
-
-Data_14b44: ; 0x14b44
- db $04
- dw Data_14c65
- dw Data_14c6f
- dw Data_14c79
- dw Data_14c83
-
-Data_14b4d: ; 0x14b4d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomBaseGameBoyGfx + $a60
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b57: ; 0x14b57
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomBaseGameBoyGfx + $a90
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b61: ; 0x14b61
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomBaseGameBoyGfx + $ac0
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b6b: ; 0x14b6b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomBaseGameBoyGfx + $af0
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b75: ; 0x14b75
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $720
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b7f: ; 0x14b7f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $750
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b89: ; 0x14b89
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $780
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b93: ; 0x14b93
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7B0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b9d: ; 0x14b9d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14ba7: ; 0x14ba7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7F0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bb1: ; 0x14bb1
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $820
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bbb: ; 0x14bbb
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $850
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bc5: ; 0x14bc5
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $860
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bcf: ; 0x14bcf
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $890
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bd9: ; 0x14bd9
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14be3: ; 0x14be3
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8F0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bed: ; 0x14bed
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomBaseGameBoyGfx + $B00
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14bf7: ; 0x14bf7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomBaseGameBoyGfx + $B30
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c01: ; 0x14c01
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomBaseGameBoyGfx + $B60
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c0b: ; 0x14c0b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomBaseGameBoyGfx + $B90
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c15: ; 0x14c15
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $900
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c1f: ; 0x14c1f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $930
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c29: ; 0x14c29
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $960
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c33: ; 0x14c33
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $990
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c3d: ; 0x14c3d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c47: ; 0x14c47
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9D0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c51: ; 0x14c51
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c5b: ; 0x14c5b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c65: ; 0x14c65
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c6f: ; 0x14c6f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A70
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c79: ; 0x14c79
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c83: ; 0x14c83
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AD0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileListDataPointers_14c8d:
- dw Data_14c9d
- dw Data_14ca0
- dw Data_14ca3
- dw Data_14ca6
- dw Data_14ca9
- dw Data_14cac
- dw Data_14caf
- dw Data_14cb2
-
-Data_14c9d: ; 0x14c9d
- db $01
- dw TileListData_14cb5
-
-Data_14ca0: ; 0x14ca0
- db $01
- dw TileListData_14ccf
-
-Data_14ca3: ; 0x14ca3
- db $01
- dw TileListData_14ce9
-
-Data_14ca6: ; 0x14ca6
- db $01
- dw TileListData_14d03
-
-Data_14ca9: ; 0x14ca9
- db $01
- dw TileListData_14d1d
-
-Data_14cac: ; 0x14cac
- db $01
- dw TileListData_14d37
-
-Data_14caf: ; 0x14caf
- db $01
- dw TileListData_14d51
-
-Data_14cb2: ; 0x14cb2
- db $01
- dw TileListData_14d6b
-
-TileListData_14cb5: ; 0x14cb5
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $08, $09, $0A
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $0B, $0C, $0D
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $0E, $0F
-
- db $00 ; terminator
-
-TileListData_14ccf: ; 0x14ccf
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $10, $11, $0A
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $13, $0D
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14ce9: ; 0x14ce9
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $10, $16, $17
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $18, $19
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14d03: ; 0x14d03
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $1A, $1B
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $1C, $1D, $17
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $18, $19
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14d1d: ; 014d1d
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $0A, $1E, $08
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $22, $0C, $24
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $0F, $0E
-
- db $00 ; terminator
-
-TileListData_14d37: ; 0x14d37
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $0A, $1F, $10
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $22, $13, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
-
-TileListData_14d51: ; 0x14d51
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $17, $20, $10
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $23, $18, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
-
-TileListData_14d6b: ; 0x14d6b
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $1B, $1A
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $17, $21, $1C
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $23, $18, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/diglett.asm"
ResolveVoltorbCollision: ; 0x14d85
ld a, [wWhichVoltorb]
@@ -1498,665 +737,7 @@ UpdateSpinnerChargeGraphics_RedField: ; 0x14ece
call Func_10aa
ret
-TileDataPointers_14eeb:
- dw TileData_14f0b
- dw TileData_14f10
- dw TileData_14f15
- dw TileData_14f1a
- dw TileData_14f1f
- dw TileData_14f24
- dw TileData_14f29
- dw TileData_14f2e
- dw TileData_14f33
- dw TileData_14f38
- dw TileData_14f3d
- dw TileData_14f42
- dw TileData_14f47
- dw TileData_14f4c
- dw TileData_14f51
- dw TileData_14f56
-
-TileData_14f0b: ; 0x14f0b
- db $02
- dw TileData_14f5b
- dw TileData_14f65
-
-TileData_14f10: ; 0x14f10
- db $02
- dw TileData_14f6f
- dw TileData_14f79
-
-TileData_14f15: ; 0x14f15
- db $02
- dw TileData_14f83
- dw TileData_14f8d
-
-TileData_14f1a: ; 0x14f1a
- db $02
- dw TileData_14f97
- dw TileData_14fa1
-
-TileData_14f1f: ; 0x14f1f
- db $02
- dw TileData_14fab
- dw TileData_14fb5
-
-TileData_14f24: ; 0x14f24
- db $02
- dw TileData_14fbf
- dw TileData_14fc9
-
-TileData_14f29: ; 0x14f29
- db $02
- dw TileData_14fd3
- dw TileData_14fdd
-
-TileData_14f2e: ; 0x14f2e
- db $02
- dw TileData_14fe7
- dw TileData_14ff1
-
-TileData_14f33: ; 0x14f33
- db $02
- dw TileData_14ffb
- dw TileData_15005
-
-TileData_14f38: ; 0x14f38
- db $02
- dw TileData_1500f
- dw TileData_15019
-
-TileData_14f3d: ; 0x14f3d
- db $02
- dw TileData_15023
- dw TileData_1502d
-
-TileData_14f42: ; 0x14f42
- db $02
- dw TileData_15037
- dw TileData_15041
-
-TileData_14f47: ; 0x14f47
- db $02
- dw TileData_1504b
- dw TileData_15055
-
-TileData_14f4c: ; 0x14f4c
- db $02
- dw TileData_1505f
- dw TileData_15069
-
-TileData_14f51: ; 0x14f51
- db $02
- dw TileData_15073
- dw TileData_1507d
-
-TileData_14f56: ; 0x14f56
- db $02
- dw TileData_15087
- dw TileData_15091
-
-TileData_14f5b: ; 0x14f5b
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldTopBaseGameBoyGfx + $cb0
- db Bank(StageRedFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_14f65: ; 0x14f65
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldTopBaseGameBoyGfx + $cd0
- db Bank(StageRedFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_14f6f: ; 0x14f6f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f79: ; 0x14f79
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f83: ; 0x14f83
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f8d: ; 0x14f8d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f97: ; 0x14f97
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fa1: ; 0x14fa1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fab: ; 0x14fab
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fb5: ; 0x14fb5
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fbf: ; 0x14fbf
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fc9: ; 0x14fc9
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fd3: ; 0x14fd3
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fdd: ; 0x14fdd
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fe7: ; 0x14fe7
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14ff1: ; 0x14ff1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14ffb: ; 0x14ffb
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15005: ; 0x15005
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1500f: ; 0x1500f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15019: ; 0x15019
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15023: ; 0x15023
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1502d: ; 0x1502d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15037: ; 0x15037
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15041: ; 0x15041
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1504b: ; 0x1504b
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15055: ; 0x15055
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1505f: ; 0x1505f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15069: ; 0x15069
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15073: ; 0x15073
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1507d: ; 0x1507d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15087: ; 0x15087
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15091: ; 0x15091
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileDataPointers_1509b:
- dw TileData_150bb
- dw TileData_150be
- dw TileData_150c1
- dw TileData_150c4
- dw TileData_150c7
- dw TileData_150ca
- dw TileData_150cd
- dw TileData_150d0
- dw TileData_150d3
- dw TileData_150d6
- dw TileData_150d9
- dw TileData_150dc
- dw TileData_150df
- dw TileData_150e2
- dw TileData_150e5
- dw TileData_150e8
-
-TileData_150bb: ; 0x150bb
- db $01
- dw TileData_150eb
-
-TileData_150be: ; 0x150be
- db $01
- dw TileData_150f9
-
-TileData_150c1: ; 0x150c1
- db $01
- dw TileData_15107
-
-TileData_150c4: ; 0x150c4
- db $01
- dw TileData_15115
-
-TileData_150c7: ; 0x150c7
- db $01
- dw TileData_15123
-
-TileData_150ca: ; 0x150ca
- db $01
- dw TileData_15131
-
-TileData_150cd: ; 0x150cd
- db $01
- dw TileData_1513f
-
-TileData_150d0: ; 0x150d0
- db $01
- dw TileData_1514d
-
-TileData_150d3: ; 0x150d3
- db $01
- dw TileData_1515b
-
-TileData_150d6: ; 0x150d6
- db $01
- dw TileData_15169
-
-TileData_150d9: ; 0x150d9
- db $01
- dw TileData_15177
-
-TileData_150dc: ; 0x150dc
- db $01
- dw TileData_15185
-
-TileData_150df: ; 0x150df
- db $01
- dw TileData_15193
-
-TileData_150e2: ; 0x150e2
- db $01
- dw TileData_151a1
-
-TileData_150e5: ; 0x150e5
- db $01
- dw TileData_151af
-
-TileData_150e8: ; 0x150e8
- db $01
- dw TileData_151bd
-
-TileData_150eb: ; 0x150eb
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $5E, $5F
-
- db $00 ; terminator
-
-TileData_150f9: ; 0x150f9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $60, $61
-
- db $00 ; terminator
-
-TileData_15107: ; 0x15107
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $62, $63
-
- db $00 ; terminator
-
-TileData_15115: ; 0x15115
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $64, $65
-
- db $00 ; terminator
-
-TileData_15123: ; 0x15123
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $66, $67
-
- db $00 ; terminator
-
-TileData_15131: ; 0x15131
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $68, $69
-
- db $00 ; terminator
-
-TileData_1513f: ; 0x1513f
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6A, $6B
-
- db $00 ; terminator
-
-TileData_1514d: ; 0x1514d
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6C, $6D
-
- db $00 ; terminator
-
-TileData_1515b: ; 0x1515b
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15169: ; 0x15169
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $70, $71
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15177: ; 0x15177
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $72, $73
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15185: ; 0x15185
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $74, $75
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15193: ; 0x15193
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $76, $77
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151a1: ; 0x151a1
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $78, $79
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151af: ; 0x151af
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $7A, $7B
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151bd: ; 0x151bd
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $7C, $7D
-
- db $02 ; number of tiles
- dw $992E
- db $7E, $7F
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/spinner.asm"
Func_151cb: ; 0x151cb
ld a, [wWhichCAVELight]
@@ -4477,7 +3058,7 @@ ResolveBellsproutCollision: ; 0x15e93
ld a, $78
ld [wBallYPos + 1], a
xor a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
.asm_15eda
ld hl, BellsproutAnimationData
ld de, wBellsproutAnimation
@@ -4499,7 +3080,7 @@ ResolveBellsproutCollision: ; 0x15e93
cp $1
jr nz, .asm_15f35
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld a, [wRightAlleyCount]
cp $2
jr c, .noCatchEmMode
@@ -4515,7 +3096,7 @@ ResolveBellsproutCollision: ; 0x15e93
ret nc
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
ret
.asm_15f35
@@ -4523,7 +3104,7 @@ ResolveBellsproutCollision: ; 0x15e93
cp $4
jr nz, .asm_15f42
ld a, $1
- ld [wd548], a
+ ld [wPinballIsVisible], a
ret
.asm_15f42
@@ -4531,7 +3112,7 @@ ResolveBellsproutCollision: ; 0x15e93
cp $5
ret nz
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
xor a
ld [wBallXVelocity + 1], a
ld a, $2
@@ -4601,7 +3182,7 @@ asm_15fc0
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_15fd0
- ld hl, Data_16080
+ ld hl, TileData_16080
.asm_15fd0
add hl, bc
ld a, [hli]
@@ -4639,225 +3220,7 @@ ApplyBumperCollision_RedField: ; 0x15fda
BumperCollisionAngleDeltas_RedField:
db -8, 8
-TileDataPointers_16010:
- dw TileData_16018
- dw TileData_1601b
- dw TileData_1601e
- dw TileData_16021
-
-TileData_16018: ; 0x16018
- db $01
- dw TileData_16024
-
-TileData_1601b: ; 0x1601b
- db $01
- dw TileData_1603B
-
-TileData_1601e: ; 0x1601e
- db $01
- dw TileData_16052
-
-TileData_16021: ; 0x16021
- db $01
- dw TileData_16069
-
-TileData_16024: ; 0x16024
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $60
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $61, $62
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $63, $64
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $65, $66
-
- db $00 ; terminator
-
-TileData_1603B: ; 0x1603B
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $67
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $68, $69
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $6A, $6B
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $6C, $6D
-
- db $00 ; terminator
-
-TileData_16052: ; 0x16052
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $6E
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $6F, $70
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $71, $72
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $73, $74
-
- db $00 ; terminator
-
-TileData_16069: ; 0x16069
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $75
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $76, $77
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $78, $79
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $7A, $7B
-
- db $00 ; terminator
-
-Data_16080:
- dw Data_16088
- dw Data_1608b
- dw Data_1608e
- dw Data_16091
-
-Data_16088: ; 0x16088
- db $01
- dw Data_16094
-
-Data_1608b: ; 0x1608b
- db $01
- dw Data_160ab
-
-Data_1608e: ; 0x1608e
- db $01
- dw Data_160c2
-
-Data_16091: ; 0x16091
- db $01
- dw Data_160d9
-
-Data_16094: ; 0x16094
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $2A
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $2B, $2C
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $2D, $2E
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $2F, $30
-
- db $00 ; terminator
-
-Data_160ab: ; 0x160ab
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $31
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $32, $33
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $34, $35
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $36, $37
-
- db $00 ; terminator
-
-Data_160c2: ; 0x160c2
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $2A
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $2C, $2B
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $2E, $2D
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $30, $2F
-
- db $00 ; terminator
-
-Data_160d9: ; 0x160d9
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $31
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $33, $32
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $35, $34
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $37, $36
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/bumpers.asm"
ResolveDittoSlotCollision: ; 0x160f0
ld a, [wDittoSlotCollision]
@@ -4875,7 +3238,7 @@ ResolveDittoSlotCollision: ; 0x160f0
ld [hli], a
ld [hli], a
ld [hli], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallXPos], a
ld [wBallYPos], a
ld a, $11
@@ -4909,7 +3272,7 @@ ResolveDittoSlotCollision: ; 0x160f0
cp $9
jr nz, .asm_1616d
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld [wBallSpin], a
ld [wBallRotation], a
ret
@@ -4917,10 +3280,10 @@ ResolveDittoSlotCollision: ; 0x160f0
.asm_1616d
cp $6
jr nz, .asm_1618e
- callba Func_10ab3
+ callba StartEvolutionMode
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld a, $5
ld [wd803], a
ld a, $8
@@ -5092,7 +3455,7 @@ Func_16279: ; 0x16279
ld [hli], a
ld [hli], a
ld [hli], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld [wBallXPos], a
ld [wBallYPos], a
ld a, $50
@@ -5127,7 +3490,7 @@ Func_16279: ; 0x16279
cp $c
jr nz, .asm_162f2
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld [wBallSpin], a
ld [wBallRotation], a
ret
@@ -5182,8 +3545,8 @@ Func_16352: ; 0x16352
callba Func_10000
jr nc, .asm_1636d
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ret
.asm_1636d
@@ -5230,12 +3593,12 @@ Func_16352: ; 0x16352
cp $d
jr nc, .asm_1637a
ld a, $1
- ld [wd548], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wPinballIsVisible], a
+ ld [wEnableBallGravityAndTilt], a
ld a, [wCatchEmOrEvolutionSlotRewardActive]
cp EVOLUTION_MODE_SLOT_REWARD
ret nz
- callba Func_10ab3
+ callba StartEvolutionMode
ld a, [wd7ad]
ld c, a
ld a, [wStageCollisionState]
@@ -5504,7 +3867,7 @@ ResolveRedStagePinballLaunchCollision: ; 0x1652d
ld a, $fa
ld [wBallYVelocity + 1], a
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
lb de, $00, $0a
call PlaySoundEffect
.notLaunchedYet
@@ -5627,7 +3990,7 @@ ResolveRedStagePikachuCollision: ; 0x1660c
ld [wBallYVelocity + 1], a
ld [wBallSpin], a
ld [wBallRotation], a
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
call FillBottomMessageBufferWithBlackTile
jr .asm_1667b
@@ -5686,7 +4049,7 @@ Func_1669e: ; 0x1669e
jr nc, .asm_166f0
ld c, $a
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_166f0
lb de, $16, $10
call PlaySoundEffect
@@ -5699,7 +4062,7 @@ Func_1669e: ; 0x1669e
ld a, $fc
ld [wBallYVelocity + 1], a
ld a, $1
- ld [wDisableBallGravityAndTilt], a
+ ld [wEnableBallGravityAndTilt], a
ld bc, FiveThousandPoints
callba AddBigBCD6FromQueueWithBallMultiplier
xor a
@@ -7070,14 +5433,14 @@ TileData_16d8f: ; 0x16d8f
ResolveRedStageBonusMultiplierCollision: ; 016d9d
ld a, [wWhichBonusMultiplierRailing]
and a
- jp z, Func_16e51
+ jp z, UpdateBonusMultiplierRailing_RedField
xor a
ld [wWhichBonusMultiplierRailing], a
lb de, $00, $0d
call PlaySoundEffect
ld a, [wWhichBonusMultiplierRailingId]
sub $21
- jr nz, .asm_16ddc
+ jr nz, .hitRightRailing
ld a, $9
callba Func_10000
ld a, [wd610]
@@ -7087,12 +5450,12 @@ ResolveRedStageBonusMultiplierCollision: ; 016d9d
ld [wd610], a
ld a, $3
ld [wd611], a
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
set 7, a
- ld [wd60c], a
+ ld [wBonusMultiplierTensDigit], a
jr .asm_16e35
-.asm_16ddc
+.hitRightRailing
ld a, $a
callba Func_10000
ld a, [wd611]
@@ -7104,39 +5467,39 @@ ResolveRedStageBonusMultiplierCollision: ; 016d9d
ld [wd611], a
ld a, $80
ld [wd612], a
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
set 7, a
- ld [wd60d], a
- ld a, [wd482]
+ ld [wBonusMultiplierOnesDigit], a
+ ld a, [wCurBonusMultiplier]
inc a
- cp 100
+ cp MAX_BONUS_MULTIPLIER + 1
jr c, .asm_16e10
- ld a, 99
+ ld a, MAX_BONUS_MULTIPLIER
.asm_16e10
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
jr nc, .asm_16e24
ld c, $19
call Modulo_C
- callba z, IncrementBonusMultiplier
+ callba z, IncrementBonusMultiplierFromFieldEvent
.asm_16e24
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
ld [wd614], a
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
ld [wd615], a
ld a, $1
ld [wd613], a
.asm_16e35
ld bc, TenPoints
callba AddBigBCD6FromQueueWithBallMultiplier
- ld a, [wd60c]
- call Func_16f28
- ld a, [wd60d]
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_RedField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
-Func_16e51: ; 0x16e51
- call Func_16ef5
+UpdateBonusMultiplierRailing_RedField: ; 0x16e51
+ call ShowBonusMultiplierMessage_RedField ; only shows the scrolling message when appropriate
ld a, [wd612]
and a
jr z, .asm_16e8f
@@ -7157,13 +5520,13 @@ Func_16e51: ; 0x16e51
ld [wd610], a
xor a
ld [wd611], a
- ld a, [wd482]
- call Func_16f95
- ld a, [wd60c]
- call Func_16f28
- ld a, [wd60d]
+ ld a, [wCurBonusMultiplier]
+ call GetBCDForNextBonusMultiplier_RedField
+ ld a, [wBonusMultiplierTensDigit]
+ call LoadBonusMultiplierRailingGraphics_RedField
+ ld a, [wBonusMultiplierOnesDigit]
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
.asm_16e8f
@@ -7181,17 +5544,17 @@ Func_16e51: ; 0x16e51
jr nz, .asm_16ec1
bit 3, b
jr nz, .asm_16eb6
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
res 7, a
- ld [wd60c], a
- call Func_16f28
+ ld [wBonusMultiplierTensDigit], a
+ call LoadBonusMultiplierRailingGraphics_RedField
jr .asm_16ec1
.asm_16eb6
- ld a, [wd60c]
+ ld a, [wBonusMultiplierTensDigit]
set 7, a
- ld [wd60c], a
- call Func_16f28
+ ld [wBonusMultiplierTensDigit], a
+ call LoadBonusMultiplierRailingGraphics_RedField
.asm_16ec1
ld a, [wd611]
cp $2
@@ -7207,22 +5570,22 @@ Func_16e51: ; 0x16e51
ret nz
bit 3, b
jr nz, .asm_16ee7
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
res 7, a
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
.asm_16ee7
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
set 7, a
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
add $14
- call Func_16f28
+ call LoadBonusMultiplierRailingGraphics_RedField
ret
-Func_16ef5: ; 0x16ef5
+ShowBonusMultiplierMessage_RedField: ; 0x16ef5
ld a, [wd5ca]
and a
ret nz
@@ -7249,21 +5612,21 @@ Func_16ef5: ; 0x16ef5
ld [hl], a
ret
-Func_16f28: ; 0x16f28
+LoadBonusMultiplierRailingGraphics_RedField: ; 0x16f28
push af
ld a, [hGameBoyColorFlag]
and a
- jr nz, .asm_16f33
+ jr nz, .gameboyColor
pop af
- call Func_16f38
+ call LoadBonusMultiplierRailingGraphics_RedField_Gameboy
ret
-.asm_16f33
+.gameboyColor
pop af
- call Func_16f7b
+ call LoadBonusMultiplierRailingGraphics_RedField_GameboyColor
ret
-Func_16f38: ; 0x16f38
+LoadBonusMultiplierRailingGraphics_RedField_Gameboy: ; 0x16f38
push af
res 7, a
ld hl, wd60e
@@ -7278,12 +5641,12 @@ Func_16f38: ; 0x16f38
ld c, a
ld b, $0
sla c
- ld hl, TileDataPointers_16fc8
+ ld hl, BonusMultiplierRailingTileDataPointers_16fc8
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_16fc8)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_16fc8)
call Func_10aa
.asm_16f5c
pop af
@@ -7297,16 +5660,16 @@ Func_16f38: ; 0x16f38
jr c, .asm_16f6e
set 2, c
.asm_16f6e
- ld hl, Data_171e4
+ ld hl, BonusMultiplierRailingTileData_171e4
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(Data_171e4)
+ ld a, Bank(BonusMultiplierRailingTileData_171e4)
call Func_10aa
ret
-Func_16f7b: ; 0x16f7b
+LoadBonusMultiplierRailingGraphics_RedField_GameboyColor: ; 0x16f7b
bit 7, a
jr z, .asm_16f83
res 7, a
@@ -7315,21 +5678,24 @@ Func_16f7b: ; 0x16f7b
ld c, a
ld b, $0
sla c
- ld hl, TileDataPointers_17228
+ ld hl, BonusMultiplierRailingTileDataPointers_17228
add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, Bank(TileDataPointers_17228)
+ ld a, Bank(BonusMultiplierRailingTileDataPointers_17228)
call Func_10aa
ret
-Func_16f95: ; 0x16f95
- ld a, [wd482]
+GetBCDForNextBonusMultiplier_RedField: ; 0x16f95
+; Gets the BCD representation of the next bonus multplier value.
+; Output: [wBonusMultiplierTensDigit] = the tens digit
+; [wBonusMultiplierOnesDigit] = the ones digit
+ ld a, [wCurBonusMultiplier]
inc a
- cp 100
+ cp MAX_BONUS_MULTIPLIER + 1
jr c, .asm_16f9f
- ld a, 99
+ ld a, MAX_BONUS_MULTIPLIER
.asm_16f9f
ld b, a
xor a
@@ -7348,10 +5714,10 @@ Func_16f95: ; 0x16f95
push af
swap a
and $f
- ld [wd60c], a
+ ld [wBonusMultiplierTensDigit], a
pop af
and $f
- ld [wd60d], a
+ ld [wBonusMultiplierOnesDigit], a
ret
Data_16fc1:
@@ -7364,1287 +5730,7 @@ Data_16fc1:
db $32
db $64
-TileDataPointers_16fc8:
- dw TileData_16ff0
- dw TileData_16ff5
- dw TileData_16ffa
- dw TileData_16fff
- dw TileData_17004
- dw TileData_17009
- dw TileData_1700e
- dw TileData_17013
- dw TileData_17018
- dw TileData_1701d
- dw TileData_17022
- dw TileData_17027
- dw TileData_1702c
- dw TileData_17031
- dw TileData_17036
- dw TileData_1703b
- dw TileData_17040
- dw TileData_17045
- dw TileData_1704a
- dw TileData_1704f
-
-TileData_16ff0: ; 0x16ff0
- db $02
- dw TileData_17054
- dw TileData_1705e
-
-TileData_16ff5: ; 0x16ff5
- db $02
- dw TileData_17068
- dw TileData_17072
-
-TileData_16ffa: ; 0x16ffa
- db $02
- dw TileData_1707c
- dw TileData_17086
-
-TileData_16fff: ; 0x16fff
- db $02
- dw TileData_17090
- dw TileData_1709a
-
-TileData_17004: ; 0x17004
- db $02
- dw TileData_170a4
- dw TileData_170ae
-
-TileData_17009: ; 0x17009
- db $02
- dw TileData_170b8
- dw TileData_170c2
-
-TileData_1700e: ; 0x1700e
- db $02
- dw TileData_170cc
- dw TileData_170d6
-
-TileData_17013: ; 0x17013
- db $02
- dw TileData_170e0
- dw TileData_170ea
-
-TileData_17018: ; 0x17018
- db $02
- dw TileData_170f4
- dw TileData_170fe
-
-TileData_1701d: ; 0x1701d
- db $02
- dw TileData_17108
- dw TileData_17112
-
-TileData_17022: ; 0x17022
- db $02
- dw TileData_1711c
- dw TileData_17126
-
-TileData_17027: ; 0x17027
- db $02
- dw TileData_17130
- dw TileData_1713a
-
-TileData_1702c: ; 0x1702c
- db $02
- dw TileData_17144
- dw TileData_1714e
-
-TileData_17031: ; 0x17031
- db $02
- dw TileData_17158
- dw TileData_17162
-
-TileData_17036: ; 0x17036
- db $02
- dw TileData_1716c
- dw TileData_17176
-
-TileData_1703b: ; 0x1703b
- db $02
- dw TileData_17180
- dw TileData_1718a
-
-TileData_17040: ; 0x17040
- db $02
- dw TileData_17194
- dw TileData_1719e
-
-TileData_17045: ; 0x17045
- db $02
- dw TileData_171a8
- dw TileData_171b2
-
-TileData_1704a: ; 0x1704a
- db $02
- dw TileData_171bc
- dw TileData_171c6
-
-TileData_1704f: ; 0x1704f
- db $02
- dw TileData_171d0
- dw TileData_171da
-
-TileData_17054: ; 0x17054
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1280
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1705e: ; 0x1705e
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1140
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17068: ; 0x17068
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17072: ; 0x17072
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1160
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1707c: ; 0x1707c
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17086: ; 0x17086
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1180
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17090: ; 0x17090
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $12E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1709a: ; 0x1709a
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170a4: ; 0x170a4
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1300
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170ae: ; 0x170ae
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170b8: ; 0x170b8
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1320
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170c2: ; 0x170c2
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $11E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170cc: ; 0x170cc
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1340
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170d6: ; 0x170d6
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1200
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170e0: ; 0x170e0
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1360
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170ea: ; 0x170ea
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1220
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170f4: ; 0x170f4
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1380
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_170fe: ; 0x170fe
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1240
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17108: ; 0x17108
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $46
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17112: ; 0x17112
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $48
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1260
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1711c: ; 0x1711c
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1500
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17126: ; 0x17126
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17130: ; 0x17130
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1520
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1713a: ; 0x1713a
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $13E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17144: ; 0x17144
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1540
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1714e: ; 0x1714e
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1400
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17158: ; 0x17158
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1560
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17162: ; 0x17162
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1420
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1716c: ; 0x1716c
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1580
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17176: ; 0x17176
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1440
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17180: ; 0x17180
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1718a: ; 0x1718a
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1460
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_17194: ; 0x17194
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1719e: ; 0x1719e
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1480
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171a8: ; 0x171a8
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $15E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171b2: ; 0x171b2
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171bc: ; 0x171bc
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1600
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171c6: ; 0x171c6
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171d0: ; 0x171d0
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4a
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1620
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_171da: ; 0x171da
- dw Func_11d2
- db $20, $02
- dw vTilesSH tile $4c
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $14E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-Data_171e4:
- dw Data_171ec
- dw Data_171ef
- dw Data_171f2
- dw Data_171f5
-
-Data_171ec: ; 0x171ec
- db $01
- dw Data_171f8
-
-Data_171ef: ; 0x171ef
- db $01
- dw Data_17204
-
-Data_171f2: ; 0x171f2
- db $01
- dw Data_17210
-
-Data_171f5: ; 0x171f5
- db $01
- dw Data_1721c
-
-Data_171f8: ; 0x171f8
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $C6
-
- db $01
- dw vBGMap + $24
- db $C7
-
- db $00
-
-Data_17204: ; 0x17204
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $C8
-
- db $01
- dw vBGMap + $24
- db $C9
-
- db $00
-
-Data_17210: ; 0x17210
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $CA
-
- db $01
- dw vBGMap + $2F
- db $CB
-
- db $00
-
-Data_1721c: ; 0x1721c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $CC
-
- db $01
- dw vBGMap + $2F
- db $CD
-
- db $00
-
-TileDataPointers_17228:
- dw TileData_17278
- dw TileData_1727b
- dw TileData_1727e
- dw TileData_17281
- dw TileData_17284
- dw TileData_17287
- dw TileData_1728a
- dw TileData_1728d
- dw TileData_17290
- dw TileData_17293
- dw TileData_17296
- dw TileData_17299
- dw TileData_1729c
- dw TileData_1729f
- dw TileData_172a2
- dw TileData_172a5
- dw TileData_172a8
- dw TileData_172ab
- dw TileData_172ae
- dw TileData_172b1
- dw TileData_172b4
- dw TileData_172b7
- dw TileData_172ba
- dw TileData_172bd
- dw TileData_172c0
- dw TileData_172c3
- dw TileData_172c6
- dw TileData_172c9
- dw TileData_172cc
- dw TileData_172cf
- dw TileData_172d2
- dw TileData_172d5
- dw TileData_172d8
- dw TileData_172db
- dw TileData_172de
- dw TileData_172e1
- dw TileData_172e4
- dw TileData_172e7
- dw TileData_172ea
- dw TileData_172ed
-
-TileData_17278: ; 0x17278
- db $01
- dw TileData_172f0
-
-TileData_1727b: ; 0x1727b
- db $01
- dw TileData_172fc
-
-TileData_1727e: ; 0x1727e
- db $01
- dw TileData_17308
-
-TileData_17281: ; 0x17281
- db $01
- dw TileData_17314
-
-TileData_17284: ; 0x17284
- db $01
- dw TileData_17320
-
-TileData_17287: ; 0x17287
- db $01
- dw TileData_1732c
-
-TileData_1728a: ; 0x1728a
- db $01
- dw TileData_17338
-
-TileData_1728d: ; 0x1728d
- db $01
- dw TileData_17344
-
-TileData_17290: ; 0x17290
- db $01
- dw TileData_17350
-
-TileData_17293: ; 0x17293
- db $01
- dw TileData_1735c
-
-TileData_17296: ; 0x17296
- db $01
- dw TileData_17368
-
-TileData_17299: ; 0x17299
- db $01
- dw TileData_17374
-
-TileData_1729c: ; 0x1729c
- db $01
- dw TileData_17380
-
-TileData_1729f: ; 0x1729f
- db $01
- dw TileData_1738c
-
-TileData_172a2: ; 0x172a2
- db $01
- dw TileData_17398
-
-TileData_172a5: ; 0x172a5
- db $01
- dw TileData_173a4
-
-TileData_172a8: ; 0x172a8
- db $01
- dw TileData_173b0
-
-TileData_172ab: ; 0x172ab
- db $01
- dw TileData_173bc
-
-TileData_172ae: ; 0x172ae
- db $01
- dw TileData_173c8
-
-TileData_172b1: ; 0x172b1
- db $01
- dw TileData_173d4
-
-TileData_172b4: ; 0x172b4
- db $01
- dw TileData_173e0
-
-TileData_172b7: ; 0x172b7
- db $01
- dw TileData_173ec
-
-TileData_172ba: ; 0x172ba
- db $01
- dw TileData_173f8
-
-TileData_172bd: ; 0x172bd
- db $01
- dw TileData_17404
-
-TileData_172c0: ; 0x172c0
- db $01
- dw TileData_17410
-
-TileData_172c3: ; 0x172c3
- db $01
- dw TileData_1741c
-
-TileData_172c6: ; 0x172c6
- db $01
- dw TileData_17428
-
-TileData_172c9: ; 0x172c9
- db $01
- dw TileData_17434
-
-TileData_172cc: ; 0x172cc
- db $01
- dw TileData_17440
-
-TileData_172cf: ; 0x172cf
- db $01
- dw TileData_1744c
-
-TileData_172d2: ; 0x172d2
- db $01
- dw TileData_17458
-
-TileData_172d5: ; 0x172d5
- db $01
- dw TileData_17464
-
-TileData_172d8: ; 0x172d8
- db $01
- dw TileData_17470
-
-TileData_172db: ; 0x172db
- db $01
- dw TileData_1747c
-
-TileData_172de: ; 0x172de
- db $01
- dw TileData_17488
-
-TileData_172e1: ; 0x172e1
- db $01
- dw TileData_17494
-
-TileData_172e4: ; 0x172e4
- db $01
- dw TileData_174a0
-
-TileData_172e7: ; 0x172e7
- db $01
- dw TileData_174ac
-
-TileData_172ea: ; 0x172ea
- db $01
- dw TileData_174b8
-
-TileData_172ed: ; 0x172ed
- db $01
- dw TileData_174c4
-
-TileData_172f0: ; 0x172f0
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $40
-
- db $01
- dw vBGMap + $24
- db $41
-
- db $00
-
-TileData_172fc: ; 0x172fc
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $42
-
- db $01
- dw vBGMap + $24
- db $43
-
- db $00
-
-TileData_17308: ; 0x17308
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $44
-
- db $01
- dw vBGMap + $24
- db $45
-
- db $00
-
-TileData_17314: ; 0x17314
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $46
-
- db $01
- dw vBGMap + $24
- db $47
-
- db $00
-
-TileData_17320: ; 0x17320
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $48
-
- db $01
- dw vBGMap + $24
- db $49
-
- db $00
-
-TileData_1732c: ; 0x1732c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $4A
-
- db $01
- dw vBGMap + $24
- db $4B
-
- db $00
-
-TileData_17338: ; 0x17338
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $4C
-
- db $01
- dw vBGMap + $24
- db $4D
-
- db $00
-
-TileData_17344: ; 0x17344
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $4E
-
- db $01
- dw vBGMap + $24
- db $4F
-
- db $00
-
-TileData_17350: ; 0x17350
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $50
-
- db $01
- dw vBGMap + $24
- db $51
-
- db $00
-
-TileData_1735c: ; 0x1735c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $52
-
- db $01
- dw vBGMap + $24
- db $53
-
- db $00
-
-TileData_17368: ; 0x17368
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $2C
-
- db $01
- dw vBGMap + $24
- db $2D
-
- db $00
-
-TileData_17374: ; 0x17374
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $2E
-
- db $01
- dw vBGMap + $24
- db $2F
-
- db $00
-
-TileData_17380: ; 0x17380
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $30
-
- db $01
- dw vBGMap + $24
- db $31
-
- db $00
-
-TileData_1738c: ; 0x1738c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $32
-
- db $01
- dw vBGMap + $24
- db $33
-
- db $00
-
-TileData_17398: ; 0x17398
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $34
-
- db $01
- dw vBGMap + $24
- db $35
-
- db $00
-
-TileData_173a4: ; 0x173a4
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $36
-
- db $01
- dw vBGMap + $24
- db $37
-
- db $00
-
-TileData_173b0: ; 0x173b0
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $38
-
- db $01
- dw vBGMap + $24
- db $39
-
- db $00
-
-TileData_173bc: ; 0x173bc
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $3A
-
- db $01
- dw vBGMap + $24
- db $3B
-
- db $00
-
-TileData_173c8: ; 0x173c8
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $3C
-
- db $01
- dw vBGMap + $24
- db $3D
-
- db $00
-
-TileData_173d4: ; 0x173d4
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $4
- db $3E
-
- db $01
- dw vBGMap + $24
- db $3F
-
- db $00
-
-TileData_173e0: ; 0x173e0
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $68
-
- db $01
- dw vBGMap + $2F
- db $69
-
- db $00
-
-TileData_173ec: ; 0x173ec
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $6A
-
- db $01
- dw vBGMap + $2F
- db $6B
-
- db $00
-
-TileData_173f8: ; 0x173f8
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $6C
-
- db $01
- dw vBGMap + $2F
- db $6D
-
- db $00
-
-TileData_17404: ; 0x17404
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $6E
-
- db $01
- dw vBGMap + $2F
- db $6F
-
- db $00
-
-TileData_17410: ; 0x17410
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $70
-
- db $01
- dw vBGMap + $2F
- db $71
-
- db $00
-
-TileData_1741c: ; 0x1741c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $72
-
- db $01
- dw vBGMap + $2F
- db $73
-
- db $00
-
-TileData_17428: ; 0x17428
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $74
-
- db $01
- dw vBGMap + $2F
- db $75
-
- db $00
-
-TileData_17434: ; 0x17434
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $76
-
- db $01
- dw vBGMap + $2F
- db $77
-
- db $00
-
-TileData_17440: ; 0x17440
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $78
-
- db $01
- dw vBGMap + $2F
- db $79
-
- db $00
-
-TileData_1744c: ; 0x1744c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $7A
-
- db $01
- dw vBGMap + $2F
- db $7B
-
- db $00
-
-TileData_17458: ; 0x17458
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $54
-
- db $01
- dw vBGMap + $2F
- db $55
-
- db $00
-
-TileData_17464: ; 0x17464
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $56
-
- db $01
- dw vBGMap + $2F
- db $57
-
- db $00
-
-TileData_17470: ; 0x17470
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $58
-
- db $01
- dw vBGMap + $2F
- db $59
-
- db $00
-
-TileData_1747c: ; 0x1747c
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $5A
-
- db $01
- dw vBGMap + $2F
- db $5B
-
- db $00
-
-TileData_17488: ; 0x17488
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $5C
-
- db $01
- dw vBGMap + $2F
- db $5D
-
- db $00
-
-TileData_17494: ; 0x17494
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $5E
-
- db $01
- dw vBGMap + $2F
- db $5F
-
- db $00
-
-TileData_174a0: ; 0x174a0
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $60
-
- db $01
- dw vBGMap + $2F
- db $61
-
- db $00
-
-TileData_174ac: ; 0x174ac
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $62
-
- db $01
- dw vBGMap + $2F
- db $63
-
- db $00
-
-TileData_174b8: ; 0x174b8
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $64
-
- db $01
- dw vBGMap + $2F
- db $65
-
- db $00
-
-TileData_174c4: ; 0x174c4
- dw LoadTileLists
- db $02
-
- db $01
- dw vBGMap + $F
- db $66
-
- db $01
- dw vBGMap + $2F
- db $67
-
- db $00
+INCLUDE "data/queued_tiledata/red_field/bonus_multiplier_railings.asm"
Func_174d0: ; 0x174d0
call Func_174ea
diff --git a/engine/pinball_game/object_collision/seel_bonus_object_collision.asm b/engine/pinball_game/object_collision/seel_bonus_object_collision.asm
index e702dd2..e702dd2 100755..100644
--- a/engine/pinball_game/object_collision/seel_bonus_object_collision.asm
+++ b/engine/pinball_game/object_collision/seel_bonus_object_collision.asm
diff --git a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm
index 48dbde4..48dbde4 100755..100644
--- a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm
diff --git a/engine/pinball_game/save_game.asm b/engine/pinball_game/save_game.asm
index 644abb3..1d2f539 100755..100644
--- a/engine/pinball_game/save_game.asm
+++ b/engine/pinball_game/save_game.asm
@@ -13,7 +13,7 @@ SaveGame: ; 0xda05
ld hl, rIE
res 1, [hl]
xor a
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld a, SCREEN_TITLESCREEN
ld [wCurrentScreen], a
xor a
diff --git a/engine/pinball_game/score.asm b/engine/pinball_game/score.asm
index 4cd4695..4cd4695 100755..100644
--- a/engine/pinball_game/score.asm
+++ b/engine/pinball_game/score.asm
diff --git a/engine/pinball_game/slot.asm b/engine/pinball_game/slot.asm
index 2378de0..ab84c61 100755..100644
--- a/engine/pinball_game/slot.asm
+++ b/engine/pinball_game/slot.asm
@@ -264,7 +264,7 @@ SlotRewardPikachuSaver: ; 0xef83
ret
SlotRewardBonusMultiplier: ; 0xefa7
- callba IncrementBonusMultiplier
+ callba IncrementBonusMultiplierFromFieldEvent
ret
SlotRewardSmallPoints: ; 0xefb2
@@ -450,12 +450,12 @@ SlotBonusMultiplier: ; 0xf0c1
xor a
ld [wd611], a
ld [wd612], a
- ld a, [wd482]
+ ld a, [wCurBonusMultiplier]
call .DivideBy25
ld b, c
ld a, [wCurSlotBonus]
inc a
- ld hl, wd482
+ ld hl, wCurBonusMultiplier
add [hl]
cp 100
jr c, .asm_f113
@@ -465,11 +465,11 @@ SlotBonusMultiplier: ; 0xf0c1
call .DivideBy25
ld a, c
cp b
- callba nz, IncrementBonusMultiplier
- callba Func_16f95
- ld a, [wd60c]
+ callba nz, IncrementBonusMultiplierFromFieldEvent
+ callba GetBCDForNextBonusMultiplier_RedField
+ ld a, [wBonusMultiplierTensDigit]
callba Func_f154 ; no need for BankSwitch here...
- ld a, [wd60d]
+ ld a, [wBonusMultiplierOnesDigit]
add $14
callba Func_f154 ; no need for BankSwitch here...
ret
@@ -487,12 +487,12 @@ Func_f154: ; 0xf154
ld a, [wCurrentStage]
call CallInFollowingTable
CallTable_f15a: ; 0xf15a
- padded_dab Func_16f28
- padded_dab Func_16f28
- padded_dab Func_16f28
- padded_dab Func_16f28
- padded_dab Func_1d5f2
- padded_dab Func_1d5f2
+ padded_dab LoadBonusMultiplierRailingGraphics_RedField
+ padded_dab LoadBonusMultiplierRailingGraphics_RedField
+ padded_dab LoadBonusMultiplierRailingGraphics_RedField
+ padded_dab LoadBonusMultiplierRailingGraphics_RedField
+ padded_dab LoadBonusMultiplierRailingGraphics_BlueField
+ padded_dab LoadBonusMultiplierRailingGraphics_BlueField
SlotRewardGoToBonusStage: ; 0xf172
ld a, $1
diff --git a/engine/pinball_game/stage_collision_attributes.asm b/engine/pinball_game/stage_collision_attributes.asm
index 80ff582..80ff582 100755..100644
--- a/engine/pinball_game/stage_collision_attributes.asm
+++ b/engine/pinball_game/stage_collision_attributes.asm
diff --git a/engine/pinball_game/stage_init/init_blue_field.asm b/engine/pinball_game/stage_init/init_blue_field.asm
index 4b166b6..747d1af 100755..100644
--- a/engine/pinball_game/stage_init/init_blue_field.asm
+++ b/engine/pinball_game/stage_init/init_blue_field.asm
@@ -11,7 +11,7 @@ InitBlueField: ; 0x1c000
ld [hld], a
ld [hl], a
ld [wNumPartyMons], a
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld [wd4c9], a
ld [wBallType], a
ld [wd4c8], a
@@ -24,7 +24,7 @@ InitBlueField: ; 0x1c000
ld [wCurrentMap], a ; PALLET_TOWN
ld a, $1
ld [wd49d], a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld a, $2
ld [wRightAlleyCount], a
ld a, $3
@@ -47,7 +47,7 @@ InitBlueField: ; 0x1c000
ld [wd645], a
ld [wd646], a
callba Start20SecondSaverTimer
- callba Func_1d65f
+ callba GetBCDForNextBonusMultiplier_BlueField
ld a, $10
call SetSongBank
ld de, $0001
diff --git a/engine/pinball_game/stage_init/init_diglett_bonus.asm b/engine/pinball_game/stage_init/init_diglett_bonus.asm
index a04b201..a04b201 100755..100644
--- a/engine/pinball_game/stage_init/init_diglett_bonus.asm
+++ b/engine/pinball_game/stage_init/init_diglett_bonus.asm
diff --git a/engine/pinball_game/stage_init/init_gengar_bonus.asm b/engine/pinball_game/stage_init/init_gengar_bonus.asm
index 357de1c..357de1c 100755..100644
--- a/engine/pinball_game/stage_init/init_gengar_bonus.asm
+++ b/engine/pinball_game/stage_init/init_gengar_bonus.asm
diff --git a/engine/pinball_game/stage_init/init_meowth_bonus.asm b/engine/pinball_game/stage_init/init_meowth_bonus.asm
index 178c90c..178c90c 100755..100644
--- a/engine/pinball_game/stage_init/init_meowth_bonus.asm
+++ b/engine/pinball_game/stage_init/init_meowth_bonus.asm
diff --git a/engine/pinball_game/stage_init/init_mewtwo_bonus.asm b/engine/pinball_game/stage_init/init_mewtwo_bonus.asm
index 26410e3..26410e3 100755..100644
--- a/engine/pinball_game/stage_init/init_mewtwo_bonus.asm
+++ b/engine/pinball_game/stage_init/init_mewtwo_bonus.asm
diff --git a/engine/pinball_game/stage_init/init_red_field.asm b/engine/pinball_game/stage_init/init_red_field.asm
index b691d69..ba8d1f8 100755..100644
--- a/engine/pinball_game/stage_init/init_red_field.asm
+++ b/engine/pinball_game/stage_init/init_red_field.asm
@@ -11,7 +11,7 @@ InitRedField: ; 0x30000
ld [hld], a
ld [hl], a
ld [wNumPartyMons], a
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld [wd4c9], a
ld [wBallType], a
ld [wd4c8], a
@@ -24,7 +24,7 @@ InitRedField: ; 0x30000
ld [wCurrentMap], a ; PALLET_TOWN
ld a, $1
ld [wd49d], a
- ld [wd482], a
+ ld [wCurBonusMultiplier], a
ld a, $2
ld [wRightAlleyCount], a
ld a, $3
@@ -41,7 +41,7 @@ InitRedField: ; 0x30000
ld a, $82
ld [wIndicatorStates + 1], a
callba Start20SecondSaverTimer
- callba Func_16f95
+ callba GetBCDForNextBonusMultiplier_RedField
ld a, $f
call SetSongBank
ld de, $0001
diff --git a/engine/pinball_game/stage_init/init_seel_bonus.asm b/engine/pinball_game/stage_init/init_seel_bonus.asm
index ee51417..ee51417 100755..100644
--- a/engine/pinball_game/stage_init/init_seel_bonus.asm
+++ b/engine/pinball_game/stage_init/init_seel_bonus.asm
diff --git a/engine/pinball_game/stage_init/init_stages.asm b/engine/pinball_game/stage_init/init_stages.asm
index 1d4ba78..1d4ba78 100755..100644
--- a/engine/pinball_game/stage_init/init_stages.asm
+++ b/engine/pinball_game/stage_init/init_stages.asm
diff --git a/engine/pinball_game/stage_init/init_unused_stage.asm b/engine/pinball_game/stage_init/init_unused_stage.asm
index ee02abc..4e48eae 100755..100644
--- a/engine/pinball_game/stage_init/init_unused_stage.asm
+++ b/engine/pinball_game/stage_init/init_unused_stage.asm
@@ -22,7 +22,7 @@ Func_18000: ; 0x18000
ld [hld], a
ld [hl], a
ld [wNumPartyMons], a
- ld [wCurBonusMultiplier], a
+ ld [wCurBonusMultiplierFromFieldEvents], a
ld [wd4c9], a
ld a, $1
ld [wd49d], a
diff --git a/engine/pinball_game/timer.asm b/engine/pinball_game/timer.asm
index 49afcee..49afcee 100755..100644
--- a/engine/pinball_game/timer.asm
+++ b/engine/pinball_game/timer.asm
diff --git a/engine/pinball_game/vertical_screen_transition.asm b/engine/pinball_game/vertical_screen_transition.asm
index 81203d5..94290f2 100755..100644
--- a/engine/pinball_game/vertical_screen_transition.asm
+++ b/engine/pinball_game/vertical_screen_transition.asm
@@ -1,14 +1,14 @@
FieldVerticalTransition: ; 0xe674
push af
- ld a, [wd548]
+ ld a, [wPinballIsVisible]
push af
xor a
- ld [wd548], a
+ ld [wPinballIsVisible], a
ld [wd803], a
callba DrawSpritesForStage
call CleanOAMBuffer
pop af
- ld [wd548], a
+ ld [wPinballIsVisible], a
pop af
ld [wCurrentStage], a
xor a
diff --git a/engine/pokedex.asm b/engine/pokedex.asm
index 7f7eddd..8251d03 100755..100644
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -831,11 +831,11 @@ Func_28513: ; 0x28513
Func_285ca: ; 0x285ca
xor a
- ld [wd80a], a
+ ld [wPressedButtonsPersistent], a
call Func_28972
call Func_28a8a
call Func_28ad1
- ld a, [wd80a]
+ ld a, [wPressedButtonsPersistent]
ret
Func_285db: ; 0x285db
diff --git a/engine/pokedex/variable_width_font_character.asm b/engine/pokedex/variable_width_font_character.asm
index 9dba2d8..9dba2d8 100755..100644
--- a/engine/pokedex/variable_width_font_character.asm
+++ b/engine/pokedex/variable_width_font_character.asm
diff --git a/engine/select_gameboy_target_menu.asm b/engine/select_gameboy_target_menu.asm
index 3f18b60..3f18b60 100755..100644
--- a/engine/select_gameboy_target_menu.asm
+++ b/engine/select_gameboy_target_menu.asm
diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm
index 057e937..057e937 100755..100644
--- a/engine/titlescreen.asm
+++ b/engine/titlescreen.asm
diff --git a/gbhw.asm b/gbhw.asm
index 0ad7b2a..0ad7b2a 100755..100644
--- a/gbhw.asm
+++ b/gbhw.asm
diff --git a/gfx/bgattr/copyright_screen.bgattr b/gfx/bgattr/copyright_screen.bgattr
index 5f8d900..5f8d900 100755..100644
--- a/gfx/bgattr/copyright_screen.bgattr
+++ b/gfx/bgattr/copyright_screen.bgattr
Binary files differ
diff --git a/gfx/bgattr/erase_all_data.bgattr b/gfx/bgattr/erase_all_data.bgattr
index 5f8d900..5f8d900 100755..100644
--- a/gfx/bgattr/erase_all_data.bgattr
+++ b/gfx/bgattr/erase_all_data.bgattr
Binary files differ
diff --git a/gfx/bgattr/field_select.bgattr b/gfx/bgattr/field_select.bgattr
index 18387e0..18387e0 100755..100644
--- a/gfx/bgattr/field_select.bgattr
+++ b/gfx/bgattr/field_select.bgattr
Binary files differ
diff --git a/gfx/bgattr/pokedex.bgattr b/gfx/bgattr/pokedex.bgattr
index 0514c68..0514c68 100755..100644
--- a/gfx/bgattr/pokedex.bgattr
+++ b/gfx/bgattr/pokedex.bgattr
Binary files differ
diff --git a/gfx/bgattr/pokedex_2.bgattr b/gfx/bgattr/pokedex_2.bgattr
index d019b3b..d019b3b 100755..100644
--- a/gfx/bgattr/pokedex_2.bgattr
+++ b/gfx/bgattr/pokedex_2.bgattr
Binary files differ
diff --git a/gfx/bgattr/titlescreen.bgattr b/gfx/bgattr/titlescreen.bgattr
index 970479a..970479a 100755..100644
--- a/gfx/bgattr/titlescreen.bgattr
+++ b/gfx/bgattr/titlescreen.bgattr
Binary files differ
diff --git a/gfx/billboard/gotonext_off.png b/gfx/billboard/gotonext_off.png
index ad15a97..ad15a97 100755..100644
--- a/gfx/billboard/gotonext_off.png
+++ b/gfx/billboard/gotonext_off.png
Binary files differ
diff --git a/gfx/billboard/gotonext_on.png b/gfx/billboard/gotonext_on.png
index ce226e4..ce226e4 100755..100644
--- a/gfx/billboard/gotonext_on.png
+++ b/gfx/billboard/gotonext_on.png
Binary files differ
diff --git a/gfx/billboard/hurryup2_off.png b/gfx/billboard/hurryup2_off.png
index 35a70aa..35a70aa 100755..100644
--- a/gfx/billboard/hurryup2_off.png
+++ b/gfx/billboard/hurryup2_off.png
Binary files differ
diff --git a/gfx/billboard/hurryup2_on.png b/gfx/billboard/hurryup2_on.png
index ab5899a..ab5899a 100755..100644
--- a/gfx/billboard/hurryup2_on.png
+++ b/gfx/billboard/hurryup2_on.png
Binary files differ
diff --git a/gfx/billboard/hurryup_off.png b/gfx/billboard/hurryup_off.png
index 1014a27..1014a27 100755..100644
--- a/gfx/billboard/hurryup_off.png
+++ b/gfx/billboard/hurryup_off.png
Binary files differ
diff --git a/gfx/billboard/hurryup_on.png b/gfx/billboard/hurryup_on.png
index ada1d6a..ada1d6a 100755..100644
--- a/gfx/billboard/hurryup_on.png
+++ b/gfx/billboard/hurryup_on.png
Binary files differ
diff --git a/gfx/high_scores/high_scores_transition_palettes.asm b/gfx/high_scores/high_scores_transition_palettes.asm
index cc79951..cc79951 100755..100644
--- a/gfx/high_scores/high_scores_transition_palettes.asm
+++ b/gfx/high_scores/high_scores_transition_palettes.asm
diff --git a/gfx/high_scores/high_scores_transition_palettes_2.asm b/gfx/high_scores/high_scores_transition_palettes_2.asm
index 0cc9b61..0cc9b61 100755..100644
--- a/gfx/high_scores/high_scores_transition_palettes_2.asm
+++ b/gfx/high_scores/high_scores_transition_palettes_2.asm
diff --git a/gfx/stage/ball_capture_smoke.interleave.png b/gfx/stage/ball_capture_smoke.interleave.png
index 55c07e6..55c07e6 100755..100644
--- a/gfx/stage/ball_capture_smoke.interleave.png
+++ b/gfx/stage/ball_capture_smoke.interleave.png
Binary files differ
diff --git a/gfx/stage/shared/arrows.png b/gfx/stage/shared/arrows.png
index ba84c48..ba84c48 100755..100644
--- a/gfx/stage/shared/arrows.png
+++ b/gfx/stage/shared/arrows.png
Binary files differ
diff --git a/gfx/stage/shared/bonus_slot_glow_2.png b/gfx/stage/shared/bonus_slot_glow_2.png
index 26f97f1..26f97f1 100755..100644
--- a/gfx/stage/shared/bonus_slot_glow_2.png
+++ b/gfx/stage/shared/bonus_slot_glow_2.png
Binary files differ
diff --git a/gfx/stage/shared/pika_bolt.png b/gfx/stage/shared/pika_bolt.png
index 3661b37..3661b37 100755..100644
--- a/gfx/stage/shared/pika_bolt.png
+++ b/gfx/stage/shared/pika_bolt.png
Binary files differ
diff --git a/gfx/tilemaps/copyright_screen.map b/gfx/tilemaps/copyright_screen.map
index 3996fa1..3996fa1 100755..100644
--- a/gfx/tilemaps/copyright_screen.map
+++ b/gfx/tilemaps/copyright_screen.map
diff --git a/gfx/tilemaps/erase_all_data.map b/gfx/tilemaps/erase_all_data.map
index 42b0421..42b0421 100755..100644
--- a/gfx/tilemaps/erase_all_data.map
+++ b/gfx/tilemaps/erase_all_data.map
Binary files differ
diff --git a/gfx/tilemaps/field_select.map b/gfx/tilemaps/field_select.map
index 3d96aab..3d96aab 100755..100644
--- a/gfx/tilemaps/field_select.map
+++ b/gfx/tilemaps/field_select.map
Binary files differ
diff --git a/gfx/tilemaps/high_scores_screen.map b/gfx/tilemaps/high_scores_screen.map
index 844aeb6..844aeb6 100755..100644
--- a/gfx/tilemaps/high_scores_screen.map
+++ b/gfx/tilemaps/high_scores_screen.map
Binary files differ
diff --git a/gfx/tilemaps/high_scores_screen_2.map b/gfx/tilemaps/high_scores_screen_2.map
index 1b083dc..1b083dc 100755..100644
--- a/gfx/tilemaps/high_scores_screen_2.map
+++ b/gfx/tilemaps/high_scores_screen_2.map
Binary files differ
diff --git a/gfx/tilemaps/high_scores_screen_3.map b/gfx/tilemaps/high_scores_screen_3.map
index 32cc585..32cc585 100755..100644
--- a/gfx/tilemaps/high_scores_screen_3.map
+++ b/gfx/tilemaps/high_scores_screen_3.map
diff --git a/gfx/tilemaps/high_scores_screen_4.map b/gfx/tilemaps/high_scores_screen_4.map
index 1c75c14..1c75c14 100755..100644
--- a/gfx/tilemaps/high_scores_screen_4.map
+++ b/gfx/tilemaps/high_scores_screen_4.map
Binary files differ
diff --git a/gfx/tilemaps/high_scores_screen_5.map b/gfx/tilemaps/high_scores_screen_5.map
index 1c75c14..1c75c14 100755..100644
--- a/gfx/tilemaps/high_scores_screen_5.map
+++ b/gfx/tilemaps/high_scores_screen_5.map
Binary files differ
diff --git a/gfx/tilemaps/option_menu.map b/gfx/tilemaps/option_menu.map
index ee97896..ee97896 100755..100644
--- a/gfx/tilemaps/option_menu.map
+++ b/gfx/tilemaps/option_menu.map
Binary files differ
diff --git a/gfx/tilemaps/option_menu_2.map b/gfx/tilemaps/option_menu_2.map
index 6cb41e5..6cb41e5 100755..100644
--- a/gfx/tilemaps/option_menu_2.map
+++ b/gfx/tilemaps/option_menu_2.map
Binary files differ
diff --git a/gfx/tilemaps/option_menu_3.map b/gfx/tilemaps/option_menu_3.map
index 16be177..16be177 100755..100644
--- a/gfx/tilemaps/option_menu_3.map
+++ b/gfx/tilemaps/option_menu_3.map
Binary files differ
diff --git a/gfx/tilemaps/option_menu_4.map b/gfx/tilemaps/option_menu_4.map
index d6b625a..d6b625a 100755..100644
--- a/gfx/tilemaps/option_menu_4.map
+++ b/gfx/tilemaps/option_menu_4.map
Binary files differ
diff --git a/gfx/tilemaps/pokedex.map b/gfx/tilemaps/pokedex.map
index c7e0fbe..c7e0fbe 100755..100644
--- a/gfx/tilemaps/pokedex.map
+++ b/gfx/tilemaps/pokedex.map
Binary files differ
diff --git a/gfx/tilemaps/pokedex_2.map b/gfx/tilemaps/pokedex_2.map
index 0950d64..0950d64 100755..100644
--- a/gfx/tilemaps/pokedex_2.map
+++ b/gfx/tilemaps/pokedex_2.map
Binary files differ
diff --git a/gfx/tilemaps/sgb_border.map b/gfx/tilemaps/sgb_border.map
index 4def863..4def863 100755..100644
--- a/gfx/tilemaps/sgb_border.map
+++ b/gfx/tilemaps/sgb_border.map
Binary files differ
diff --git a/gfx/tilemaps/stage_blue_field_bottom_gameboy.map b/gfx/tilemaps/stage_blue_field_bottom_gameboy.map
index 3892771..3892771 100755..100644
--- a/gfx/tilemaps/stage_blue_field_bottom_gameboy.map
+++ b/gfx/tilemaps/stage_blue_field_bottom_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_blue_field_bottom_gameboycolor.map b/gfx/tilemaps/stage_blue_field_bottom_gameboycolor.map
index 0200235..0200235 100755..100644
--- a/gfx/tilemaps/stage_blue_field_bottom_gameboycolor.map
+++ b/gfx/tilemaps/stage_blue_field_bottom_gameboycolor.map
Binary files differ
diff --git a/gfx/tilemaps/stage_blue_field_bottom_gameboycolor_2.map b/gfx/tilemaps/stage_blue_field_bottom_gameboycolor_2.map
index 0b27ba3..0b27ba3 100755..100644
--- a/gfx/tilemaps/stage_blue_field_bottom_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_blue_field_bottom_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/stage_blue_field_top_gameboy.map b/gfx/tilemaps/stage_blue_field_top_gameboy.map
index 0816ec7..0816ec7 100755..100644
--- a/gfx/tilemaps/stage_blue_field_top_gameboy.map
+++ b/gfx/tilemaps/stage_blue_field_top_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_blue_field_top_gameboycolor.map b/gfx/tilemaps/stage_blue_field_top_gameboycolor.map
index 547c22e..547c22e 100755..100644
--- a/gfx/tilemaps/stage_blue_field_top_gameboycolor.map
+++ b/gfx/tilemaps/stage_blue_field_top_gameboycolor.map
Binary files differ
diff --git a/gfx/tilemaps/stage_blue_field_top_gameboycolor_2.map b/gfx/tilemaps/stage_blue_field_top_gameboycolor_2.map
index f064b35..f064b35 100755..100644
--- a/gfx/tilemaps/stage_blue_field_top_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_blue_field_top_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/stage_diglett_bonus_gameboy.map b/gfx/tilemaps/stage_diglett_bonus_gameboy.map
index ab5738f..ab5738f 100755..100644
--- a/gfx/tilemaps/stage_diglett_bonus_gameboy.map
+++ b/gfx/tilemaps/stage_diglett_bonus_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_diglett_bonus_gameboycolor.map b/gfx/tilemaps/stage_diglett_bonus_gameboycolor.map
index ab5738f..ab5738f 100755..100644
--- a/gfx/tilemaps/stage_diglett_bonus_gameboycolor.map
+++ b/gfx/tilemaps/stage_diglett_bonus_gameboycolor.map
Binary files differ
diff --git a/gfx/tilemaps/stage_diglett_bonus_gameboycolor_2.map b/gfx/tilemaps/stage_diglett_bonus_gameboycolor_2.map
index 96e68f0..96e68f0 100755..100644
--- a/gfx/tilemaps/stage_diglett_bonus_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_diglett_bonus_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/stage_gengar_bonus_gameboy.map b/gfx/tilemaps/stage_gengar_bonus_gameboy.map
index e5d4576..e5d4576 100755..100644
--- a/gfx/tilemaps/stage_gengar_bonus_gameboy.map
+++ b/gfx/tilemaps/stage_gengar_bonus_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_gengar_bonus_gameboycolor.map b/gfx/tilemaps/stage_gengar_bonus_gameboycolor.map
index add665a..add665a 100755..100644
--- a/gfx/tilemaps/stage_gengar_bonus_gameboycolor.map
+++ b/gfx/tilemaps/stage_gengar_bonus_gameboycolor.map
Binary files differ
diff --git a/gfx/tilemaps/stage_gengar_bonus_gameboycolor_2.map b/gfx/tilemaps/stage_gengar_bonus_gameboycolor_2.map
index 4f1d758..4f1d758 100755..100644
--- a/gfx/tilemaps/stage_gengar_bonus_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_gengar_bonus_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/stage_meowth_bonus_gameboy.map b/gfx/tilemaps/stage_meowth_bonus_gameboy.map
index 4b16924..4b16924 100755..100644
--- a/gfx/tilemaps/stage_meowth_bonus_gameboy.map
+++ b/gfx/tilemaps/stage_meowth_bonus_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_meowth_bonus_gameboycolor.map b/gfx/tilemaps/stage_meowth_bonus_gameboycolor.map
index 8b5fdf7..8b5fdf7 100755..100644
--- a/gfx/tilemaps/stage_meowth_bonus_gameboycolor.map
+++ b/gfx/tilemaps/stage_meowth_bonus_gameboycolor.map
diff --git a/gfx/tilemaps/stage_meowth_bonus_gameboycolor_2.map b/gfx/tilemaps/stage_meowth_bonus_gameboycolor_2.map
index 0dadf19..0dadf19 100755..100644
--- a/gfx/tilemaps/stage_meowth_bonus_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_meowth_bonus_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/stage_mewtwo_bonus_gameboy.map b/gfx/tilemaps/stage_mewtwo_bonus_gameboy.map
index fec62fc..fec62fc 100755..100644
--- a/gfx/tilemaps/stage_mewtwo_bonus_gameboy.map
+++ b/gfx/tilemaps/stage_mewtwo_bonus_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_mewtwo_bonus_gameboycolor.map b/gfx/tilemaps/stage_mewtwo_bonus_gameboycolor.map
index fec62fc..fec62fc 100755..100644
--- a/gfx/tilemaps/stage_mewtwo_bonus_gameboycolor.map
+++ b/gfx/tilemaps/stage_mewtwo_bonus_gameboycolor.map
Binary files differ
diff --git a/gfx/tilemaps/stage_mewtwo_bonus_gameboycolor_2.map b/gfx/tilemaps/stage_mewtwo_bonus_gameboycolor_2.map
index 38dcaec..38dcaec 100755..100644
--- a/gfx/tilemaps/stage_mewtwo_bonus_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_mewtwo_bonus_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/stage_red_field_bottom_gameboy.map b/gfx/tilemaps/stage_red_field_bottom_gameboy.map
index d126542..d126542 100755..100644
--- a/gfx/tilemaps/stage_red_field_bottom_gameboy.map
+++ b/gfx/tilemaps/stage_red_field_bottom_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_red_field_bottom_gameboycolor.map b/gfx/tilemaps/stage_red_field_bottom_gameboycolor.map
index e33f65f..e33f65f 100755..100644
--- a/gfx/tilemaps/stage_red_field_bottom_gameboycolor.map
+++ b/gfx/tilemaps/stage_red_field_bottom_gameboycolor.map
Binary files differ
diff --git a/gfx/tilemaps/stage_red_field_bottom_gameboycolor_2.map b/gfx/tilemaps/stage_red_field_bottom_gameboycolor_2.map
index e955520..e955520 100755..100644
--- a/gfx/tilemaps/stage_red_field_bottom_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_red_field_bottom_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/stage_red_field_top_gameboy.map b/gfx/tilemaps/stage_red_field_top_gameboy.map
index 9211565..9211565 100755..100644
--- a/gfx/tilemaps/stage_red_field_top_gameboy.map
+++ b/gfx/tilemaps/stage_red_field_top_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_red_field_top_gameboycolor.map b/gfx/tilemaps/stage_red_field_top_gameboycolor.map
index 1cd3f00..1cd3f00 100755..100644
--- a/gfx/tilemaps/stage_red_field_top_gameboycolor.map
+++ b/gfx/tilemaps/stage_red_field_top_gameboycolor.map
Binary files differ
diff --git a/gfx/tilemaps/stage_red_field_top_gameboycolor_2.map b/gfx/tilemaps/stage_red_field_top_gameboycolor_2.map
index fddf922..fddf922 100755..100644
--- a/gfx/tilemaps/stage_red_field_top_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_red_field_top_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/stage_seel_bonus_gameboy.map b/gfx/tilemaps/stage_seel_bonus_gameboy.map
index 62f31bf..62f31bf 100755..100644
--- a/gfx/tilemaps/stage_seel_bonus_gameboy.map
+++ b/gfx/tilemaps/stage_seel_bonus_gameboy.map
Binary files differ
diff --git a/gfx/tilemaps/stage_seel_bonus_gameboycolor.map b/gfx/tilemaps/stage_seel_bonus_gameboycolor.map
index 43b539c..43b539c 100755..100644
--- a/gfx/tilemaps/stage_seel_bonus_gameboycolor.map
+++ b/gfx/tilemaps/stage_seel_bonus_gameboycolor.map
Binary files differ
diff --git a/gfx/tilemaps/stage_seel_bonus_gameboycolor_2.map b/gfx/tilemaps/stage_seel_bonus_gameboycolor_2.map
index b8a7800..b8a7800 100755..100644
--- a/gfx/tilemaps/stage_seel_bonus_gameboycolor_2.map
+++ b/gfx/tilemaps/stage_seel_bonus_gameboycolor_2.map
Binary files differ
diff --git a/gfx/tilemaps/titlescreen.map b/gfx/tilemaps/titlescreen.map
index 4431301..4431301 100755..100644
--- a/gfx/tilemaps/titlescreen.map
+++ b/gfx/tilemaps/titlescreen.map
Binary files differ
diff --git a/gfx/tilemaps/unused_tilemap_c3640.map b/gfx/tilemaps/unused_tilemap_c3640.map
index 95d6159..95d6159 100755..100644
--- a/gfx/tilemaps/unused_tilemap_c3640.map
+++ b/gfx/tilemaps/unused_tilemap_c3640.map
Binary files differ
diff --git a/gfx/tilemaps/unused_tilemap_d2800.map b/gfx/tilemaps/unused_tilemap_d2800.map
index a23437c..a23437c 100755..100644
--- a/gfx/tilemaps/unused_tilemap_d2800.map
+++ b/gfx/tilemaps/unused_tilemap_d2800.map
Binary files differ
diff --git a/home.asm b/home.asm
index c8673cf..d98bf5e 100755..100644
--- a/home.asm
+++ b/home.asm
@@ -367,9 +367,9 @@ VBlank: ; 0x2f2
.asm_3b5
res 3, [hl]
.asm_3b7
- ld a, [wd4aa]
+ ld a, [wDrawBottomMessageBox]
and a
- call nz, Func_e69
+ call nz, DrawBottomMessageBox
pop hl
pop de
pop bc
@@ -1673,7 +1673,7 @@ ReadJoypad: ; 0xab8
.asm_b1a
ld a, [hJoypadState]
ld [hPreviousJoypadState], a
- ld hl, wd808
+ ld hl, wJoypadStatesPersistent
ld a, [hJoypadState]
or [hl]
ld [hli], a
@@ -1685,8 +1685,8 @@ ReadJoypad: ; 0xab8
ld [hli], a
ret
-Func_b2e: ; 0xb2e
- ld hl, wd808
+ClearPersistentJoypadStates: ; 0xb2e
+ ld hl, wJoypadStatesPersistent
xor a
ld [hli], a
ld [hli], a
@@ -2334,10 +2334,13 @@ Func_e5d: ; 0xe5d
jr nz, .asm_e62
ret
-Func_e69: ; 0xe69
+DrawBottomMessageBox: ; 0xe69
+; Draws the current scrolling bottom message box to VRAM during V-Blank.
+; Note, this only applies to the 1-tile high message bar. When it displays, things like Ball Bonus summary, and
+; the Save/Cancel menu, this is not used to draw the message buffer.
ld a, [rLY]
cp $90
- jr nc, Func_e69
+ jr nc, DrawBottomMessageBox ; ensure we're in V-Blank
.asm_e6f
ld a, [rSTAT]
and $3
@@ -2347,60 +2350,60 @@ Func_e69: ; 0xe69
dec a
jr nz, .asm_e77
ld hl, wBottomMessageBuffer + $40
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c00
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c04
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c08
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c0c
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c10
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
ld hl, wBottomMessageBuffer + $c0
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c20
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c24
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c28
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c2c
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
- call Func_eef
+ call Load4BottomMessageBytes
push hl
ld hl, $9c30
- call Func_ef8
+ call Write4BottomMessageBytes
pop hl
ret
-Func_eef: ; 0xeef
+Load4BottomMessageBytes: ; 0xeef
ld a, [hli]
ld b, a
ld a, [hli]
@@ -2411,10 +2414,10 @@ Func_eef: ; 0xeef
ld e, a
ret
-Func_ef8: ; 0xef8
+Write4BottomMessageBytes: ; 0xef8
ld a, [rSTAT]
and $3
- jr nz, Func_ef8
+ jr nz, Write4BottomMessageBytes
ld a, b
ld [hli], a
ld a, c
@@ -3949,7 +3952,7 @@ Func_1ffc: ; 0x1ffc
call Func_2034
call DoScreenLogic
call CleanOAMBuffer
- call Func_b2e
+ call ClearPersistentJoypadStates
rst AdvanceFrame
jr .master_loop
@@ -4218,7 +4221,7 @@ Sine: ; 0x2149
ApplyGravityToBall: ; 0x2168
; Adds a constant to the pinball's y velocity.
- ld a, [wDisableBallGravityAndTilt]
+ ld a, [wEnableBallGravityAndTilt]
and a
ret z
ld de, $000b ; gravity added to y velocity every frame
@@ -5242,8 +5245,8 @@ HandleLeftTilt: ; 0x358c
lb de, $00, $3f
call PlaySoundEffect
.skipSoundEffect
- ld a, [wd548]
- ld hl, wDisableBallGravityAndTilt
+ ld a, [wPinballIsVisible]
+ ld hl, wEnableBallGravityAndTilt
and [hl]
jr z, .skipBallMovement
ld a, [wBallXPos + 1]
@@ -5298,8 +5301,8 @@ HandleRightTilt: ; 0x35f3
lb de, $00, $3f
call PlaySoundEffect
.skipSoundEffect
- ld a, [wd548]
- ld hl, wDisableBallGravityAndTilt
+ ld a, [wPinballIsVisible]
+ ld hl, wEnableBallGravityAndTilt
and [hl]
jr z, .skipBallMovement
ld a, [wBallXPos + 1]
@@ -5354,8 +5357,8 @@ HandleUpperTilt: ; 0x365a
lb de, $00, $3f
call PlaySoundEffect
.skipSoundEffect
- ld a, [wd548]
- ld hl, wDisableBallGravityAndTilt
+ ld a, [wPinballIsVisible]
+ ld hl, wEnableBallGravityAndTilt
and [hl]
jr z, .skipBallMovement
ld a, [wBallYPos + 1]
@@ -5394,8 +5397,8 @@ HandleUpperTilt: ; 0x365a
ret
ApplyTiltForces: ; 0x36c1
- ld a, [wd548]
- ld hl, wDisableBallGravityAndTilt
+ ld a, [wPinballIsVisible]
+ ld hl, wEnableBallGravityAndTilt
and [hl]
ret z
ld c, $0
diff --git a/home/save.asm b/home/save.asm
index 63cfaa8..63cfaa8 100755..100644
--- a/home/save.asm
+++ b/home/save.asm
diff --git a/home/serial.asm b/home/serial.asm
index b63e2a3..b63e2a3 100755..100644
--- a/home/serial.asm
+++ b/home/serial.asm
diff --git a/home/sgb.asm b/home/sgb.asm
index cc0e1b5..cc0e1b5 100755..100644
--- a/home/sgb.asm
+++ b/home/sgb.asm
diff --git a/home/text.asm b/home/text.asm
index 6dd2082..7c67278 100755..100644
--- a/home/text.asm
+++ b/home/text.asm
@@ -48,7 +48,7 @@ Func_310a: ; 0x310a
jr nz, .asm_311d
ret
-PlaceTextHigh: ; 0x3125 inceases address to load into by 64 PlaceTextHigh
+LoadMonNameIntoBottomMessageBufferList: ; 0x3125 increases address to load into by 64
ld b, $1
jr JumpToPlaceText
@@ -744,4 +744,3 @@ TenMillionPoints: ; 34f4
bigBCD6 000010000000
OneHundredMillionPoints: ; 34fa
bigBCD6 000100000000
-
diff --git a/hram.asm b/hram.asm
index 40d0734..40d0734 100755..100644
--- a/hram.asm
+++ b/hram.asm
diff --git a/macros.asm b/macros.asm
index d737152..d737152 100755..100644
--- a/macros.asm
+++ b/macros.asm
diff --git a/macros/sound.asm b/macros/sound.asm
index 35ba240..35ba240 100755..100644
--- a/macros/sound.asm
+++ b/macros/sound.asm
diff --git a/main.asm b/main.asm
index 4f34e9c..31a39eb 100755..100644
--- a/main.asm
+++ b/main.asm
@@ -223,21 +223,21 @@ PointerTable_10a9b: ; 0x10a9b
padded_dab Func_20bae ; STAGE_BLUE_FIELD_TOP
padded_dab Func_20bae ; STAGE_BLUE_FIELD_BOTTOM
-Func_10ab3: ; 0x10ab3
+StartEvolutionMode: ; 0x10ab3
ld a, [wInSpecialMode]
and a
ret nz
ld a, [wCurrentStage]
rst JumpTable ; calls JumpToFuncInTable
-CallTable_10abc: ; 0x10abc
- dw Func_10ebb ; STAGE_RED_FIELD_TOP
- dw Func_10ebb ; STAGE_RED_FIELD_BOTTOM
- dw Func_11054
- dw Func_11054
- dw Func_11061 ; STAGE_BLUE_FIELD_TOP
- dw Func_11061 ; STAGE_BLUE_FIELD_BOTTOM
-
-Func_10ac8: ; 0x10ac8
+StartEvolutionMode_CallTable: ; 0x10abc
+ dw StartEvolutionMode_RedField ; STAGE_RED_FIELD_TOP
+ dw StartEvolutionMode_RedField ; STAGE_RED_FIELD_BOTTOM
+ dw StartEvolutionMode_UnusedField
+ dw StartEvolutionMode_UnusedField
+ dw StartEvolutionMode_BlueField ; STAGE_BLUE_FIELD_TOP
+ dw StartEvolutionMode_BlueField ; STAGE_BLUE_FIELD_BOTTOM
+
+ConcludeEvolutionMode: ; 0x10ac8
xor a
ld [wd5ca], a
call FillBottomMessageBufferWithBlackTile
@@ -252,13 +252,13 @@ Func_10ac8: ; 0x10ac8
callba StopTimer
ld a, [wCurrentStage]
rst JumpTable ; calls JumpToFuncInTable
-CallTable_10af3: ; 0x10af3
- dw Func_10fe3 ; STAGE_RED_FIELD_TOP
- dw Func_10fe3 ; STAGE_RED_FIELD_BOTTOM
- dw Func_11060
- dw Func_11060
- dw Func_11195 ; STAGE_BLUE_FIELD_TOP
- dw Func_11195 ; STAGE_BLUE_FIELD_TOP
+ConcludeEvolutionMode_CallTable: ; 0x10af3
+ dw ConcludeEvolutionMode_RedField ; STAGE_RED_FIELD_TOP
+ dw ConcludeEvolutionMode_RedField ; STAGE_RED_FIELD_BOTTOM
+ dw DoNothing_11060
+ dw DoNothing_11060
+ dw ConcludeEvolutionMode_BlueField ; STAGE_BLUE_FIELD_TOP
+ dw ConcludeEvolutionMode_BlueField ; STAGE_BLUE_FIELD_TOP
Func_10aff: ; 0x10aff
ld a, [wCurrentStage]
@@ -317,21 +317,22 @@ Func_10b3f: ; 0x10b3f
call LoadTextHeader
ret
-Func_10b59: ; 0x10b59
+InitEvolutionSelectionMenu: ; 0x10b59
+; Initializes the list menu, which the player uses to select which pokemon to evolve.
xor a
- ld [wd4aa], a ;load 0 into ???
+ ld [wDrawBottomMessageBox], a
ld hl, wBottomMessageText
ld a, $81
ld b, $30
-.asm_10b64
- ld [hli], a ;load spaces into bottom text? repeat 192 times
+.clearLoop
+ ld [hli], a ; load spaces into bottom text. repeat 192 times
ld [hli], a
ld [hli], a
ld [hli], a
dec b
- jr nz, .asm_10b64
+ jr nz, .clearLoop
ld hl, wPartyMons
- call Func_10b8e
+ call LoadMonNamesIntoEvolutionSelectionList
ld a, BANK(InGameMenuSymbolsGfx)
ld hl, InGameMenuSymbolsGfx + $50
ld de, vTilesSH tile $08
@@ -344,23 +345,28 @@ Func_10b59: ; 0x10b59
call LoadVRAMData
ret
-Func_10b8e: ; 0x10b8e hl = start of party mons
+LoadMonNamesIntoEvolutionSelectionList: ; 0x10b8e
+; Loads 6 pokemon names into the list that allows the player to select which pokemon to evolve.
+; Input: hl = pointer to a list of pokemon ids. (an offset of wPartyMons)
ld a, [wNumPartyMons]
ld c, $0
ld b, a
-.asm_10b94
+.loop
ld a, [hli]
- call Func_10ba2
+ call LoadMonNameIntoEvolutionSelectionList
inc c
ld a, c
cp $6
- jr z, .asm_10ba1
+ jr z, .done
dec b
- jr nz, .asm_10b94
-.asm_10ba1
+ jr nz, .loop
+.done
ret
-Func_10ba2: ; 0x10ba2 a = current party mon, b is number to go before end of list, c is number passed so far
+LoadMonNameIntoEvolutionSelectionList: ; 0x10ba2
+; Loads a single pokemon name into the list of pokemon to evolve.
+; Input: c = index of the list
+; a = pokemon id
push bc
push hl
swap c ;c* 32, does wird things if c starts >15
@@ -392,69 +398,72 @@ Func_10ba2: ; 0x10ba2 a = current party mon, b is number to go before end of lis
ld [de], a
inc de
ld a, $81
- ld [de], a
- inc de ;load 4 spaces into de
- call PlaceTextHigh ;load 1 into b and...
-.asm_10bda
+ ld [de], a ; loaded 4 spaces into de
+ inc de
+ call LoadMonNameIntoBottomMessageBufferList
+.loadBlankCharacterLoop
ld a, e
and $1f
cp $14
- jr nc, .asm_10be7
+ jr nc, .done
ld a, $81
ld [de], a
inc de
- jr .asm_10bda
+ jr .loadBlankCharacterLoop
-.asm_10be7
+.done
pop hl
pop bc
ret
-Func_10bea: ; 0x10bea
+SelectPokemonToEvolveMenu: ; 0x10bea
+; Drivers the menu that allows the player to select a pokemon to evolve.
xor a
ld [wCurSelectedPartyMon], a
ld [wCurSelectedPartyMonScrollOffset], a
ld [wPartySelectionCursorCounter], a
-.asm_10bf4
- call Func_10c0c
- call Func_b2e
- call Func_10c38
+.loop
+ call MoveEvolutionSelectionCursor
+ call ClearPersistentJoypadStates
+ call UpdateEvolutionSelectionList
rst AdvanceFrame
- ld a, [wd809]
- bit 0, a
- jr z, .asm_10bf4
+ ld a, [wNewlyPressedButtonsPersistent]
+ bit BIT_A_BUTTON, a
+ jr z, .loop
lb de, $00, $01
call PlaySoundEffect
ret
-Func_10c0c: ; 0x10c0c
- ld a, [wd80a]
+MoveEvolutionSelectionCursor: ; 0x10c0c
+ ld a, [wPressedButtonsPersistent]
ld b, a
ld a, [wNumPartyMons]
ld c, a
ld a, [wCurSelectedPartyMon]
- bit 6, b
- jr z, .asm_10c28
+ bit BIT_D_UP, b
+ jr z, .didntPressUp
and a
ret z
+ ; move the cursor up
dec a
ld [wCurSelectedPartyMon], a
lb de, $00, $03
call PlaySoundEffect
ret
-.asm_10c28
- bit 7, b
+.didntPressUp
+ bit BIT_D_DOWN, b
ret z
inc a
cp c
ret z
+ ; move the cursor down
ld [wCurSelectedPartyMon], a
lb de, $00, $03
call PlaySoundEffect
ret
-Func_10c38: ; 0x10c38
+UpdateEvolutionSelectionList: ; 0x10c38
ld a, [wCurSelectedPartyMon]
ld hl, wCurSelectedPartyMonScrollOffset
sub [hl]
@@ -476,7 +485,7 @@ Func_10c38: ; 0x10c38
ld b, $0
ld hl, wPartyMons
add hl, bc
- call Func_10b8e
+ call LoadMonNamesIntoEvolutionSelectionList
ld a, [hJoypadState]
and a
ld a, [wPartySelectionCursorCounter]
@@ -531,16 +540,16 @@ PlaceEvolutionInParty: ; 0x10ca5
ld [hl], a
ret
-Func_10cb7: ; 0x10cb7
+SelectPokemonToEvolve: ; 0x10cb7
call FillBottomMessageBufferWithBlackTile
- call Func_10b59
+ call InitEvolutionSelectionMenu
ld a, $60
ld [hWY], a
dec a
ld [hLYC], a
ld a, $fd
ld [hLCDCMask], a
- call Func_10bea
+ call SelectPokemonToEvolveMenu
ld a, $86
ld [hWY], a
ld a, $83
@@ -550,7 +559,7 @@ Func_10cb7: ; 0x10cb7
ld [hLCDCMask], a
ld a, [hGameBoyColorFlag]
and a
- jr nz, .asm_10cee
+ jr nz, .gameboyColor
ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoy)
ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoy + $80
ld de, vTilesSH tile $08
@@ -558,7 +567,7 @@ Func_10cb7: ; 0x10cb7
call LoadVRAMData
jr .asm_10cfc
-.asm_10cee
+.gameboyColor
ld a, BANK(StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor)
ld hl, StageRedFieldTopStatusBarSymbolsGfx_GameBoyColor + $80
ld de, vTilesSH tile $08
@@ -567,7 +576,7 @@ Func_10cb7: ; 0x10cb7
.asm_10cfc
call FillBottomMessageBufferWithBlackTile
ld a, SPECIAL_MODE_CATCHEM
- ld [wd4aa], a
+ ld [wDrawBottomMessageBox], a
ld [wInSpecialMode], a
ld [wSpecialMode], a
xor a
@@ -581,7 +590,7 @@ Func_10cb7: ; 0x10cb7
ld [wCurrentCatchEmMon], a
ret
-Func_10d1d: ; 0x10d1d
+InitEvolutionModeForMon: ; 0x10d1d
ld hl, wd586
ld b, $18
.asm_10d22
@@ -809,12 +818,12 @@ Func_10e8b: ; 0x10e8b
call LoadTextHeader
ret
-Func_10ebb: ; 0x10ebb
+StartEvolutionMode_RedField: ; 0x10ebb
ld a, [wNumPartyMons]
and a
ret z
- call Func_10cb7
- call Func_10d1d
+ call SelectPokemonToEvolve
+ call InitEvolutionModeForMon
ld a, [wd555]
sub $2
ld c, a
@@ -826,12 +835,12 @@ Func_10ebb: ; 0x10ebb
ld l, a
ld de, wIndicatorStates
ld b, $13
-.asm_10eda
+.loop
ld a, [hli]
ld [de], a
inc de
dec b
- jr nz, .asm_10eda
+ jr nz, .loop
xor a
ld [wLeftAlleyCount], a
call Func_107b0
@@ -897,8 +906,8 @@ IndicatorStates_10fbd: ; 0x10fbd
IndicatorStates_10fd0: ; 0x10fd0
db $00, $00, $80, $80, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00
-Func_10fe3: ; 0x10fe3
- call Func_107a5
+ConcludeEvolutionMode_RedField: ; 0x10fe3
+ call ResetIndicatorStates
call Func_107c2
call Func_107c8
call Func_107e9
@@ -932,23 +941,23 @@ Func_10fe3: ; 0x10fe3
call Func_10aa
ret
-Func_11054: ; 0x11054
+StartEvolutionMode_UnusedField: ; 0x11054
ld a, [wNumPartyMons]
and a
ret z
- call Func_10cb7
- call Func_10d1d
+ call SelectPokemonToEvolve
+ call InitEvolutionModeForMon
ret
-Func_11060: ; 0x11060
+DoNothing_11060: ; 0x11060
ret
-Func_11061: ; 0x11061
+StartEvolutionMode_BlueField: ; 0x11061
ld a, [wNumPartyMons]
and a
ret z
- call Func_10cb7
- call Func_10d1d
+ call SelectPokemonToEvolve
+ call InitEvolutionModeForMon
ld a, $1
ld [wd643], a
ld a, [wd555]
@@ -1033,10 +1042,10 @@ IndicatorStates_1116f: ; 0x1116f
IndicatorStates_11182: ; 0x11182
db $80, $00, $80, $80, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00
-Func_11195: ; 0x11195
+ConcludeEvolutionMode_BlueField: ; 0x11195
xor a
ld [wd643], a
- call Func_107a5
+ call ResetIndicatorStates
call Func_107c2
callba Func_1f2ff
ld a, [wCurrentStage]
@@ -1127,6 +1136,7 @@ INCLUDE "data/mon_names.asm"
INCLUDE "data/mon_initial_indicator_states.asm"
Data_1298b: ; 0x1298b
+; This has to do with which indicators will need to be hit to evolve the pokemon.
db $01 ; BULBASAUR
db $02 ; IVYSAUR
db $03 ; VENUSAUR
@@ -1556,9 +1566,9 @@ Func_311b4: ; 0x311b4
.asm_311e2
ld a, $2
- callba Func_149d9
+ callba LoadDiglettGraphics
ld a, $5
- callba Func_149d9
+ callba LoadDiglettGraphics
ld a, $6a
ld [wStageCollisionMap + $f0], a
ld a, $6b
@@ -1579,7 +1589,7 @@ Func_311b4: ; 0x311b4
ret
Func_31234: ; 0x31234
- callba Func_107a5
+ callba ResetIndicatorStates
callba Func_107c2
callba Func_107c8
callba Func_107e9
@@ -1714,7 +1724,7 @@ Func_31326: ; 0x31326
ld [wIndicatorStates + 3], a
ld [wIndicatorStates + 4], a
ld a, $3
- callba Func_1de4b
+ callba LoadPsyduckOrPoliwagGraphics
jr .asm_31382
.asm_3134c
@@ -1726,11 +1736,11 @@ Func_31326: ; 0x31326
ld [wIndicatorStates + 2], a
ld [wIndicatorStates + 4], a
ld a, $1
- callba Func_1de4b
+ callba LoadPsyduckOrPoliwagGraphics
ld a, $6
- callba Func_1de4b
+ callba LoadPsyduckOrPoliwagGraphics
ld a, $7
- callba Func_1de6f
+ callba LoadPsyduckOrPoliwagNumberGraphics
.asm_31382
ld a, [wCurrentStage]
bit 0, a
@@ -1756,7 +1766,7 @@ Func_31326: ; 0x31326
ret
Func_313c3: ; 0x313c3
- callba Func_107a5
+ callba ResetIndicatorStates
callba Func_107c2
callba Func_1f2ff
ld a, $0
diff --git a/rom.md5 b/rom.md5
index ec8f61d..ec8f61d 100755..100644
--- a/rom.md5
+++ b/rom.md5
diff --git a/sram.asm b/sram.asm
index 22bd143..22bd143 100755..100644
--- a/sram.asm
+++ b/sram.asm
diff --git a/text.asm b/text.asm
index beb7903..beb7903 100755..100644
--- a/text.asm
+++ b/text.asm
diff --git a/text/pokedex_descriptions.asm b/text/pokedex_descriptions.asm
index 11f8df9..11f8df9 100755..100644
--- a/text/pokedex_descriptions.asm
+++ b/text/pokedex_descriptions.asm
diff --git a/text/pokedex_mon_attributes.asm b/text/pokedex_mon_attributes.asm
index 8c770f5..8c770f5 100755..100644
--- a/text/pokedex_mon_attributes.asm
+++ b/text/pokedex_mon_attributes.asm
diff --git a/text/pokedex_mon_names.asm b/text/pokedex_mon_names.asm
index 3869a9b..3869a9b 100755..100644
--- a/text/pokedex_mon_names.asm
+++ b/text/pokedex_mon_names.asm
diff --git a/text/pokedex_species.asm b/text/pokedex_species.asm
index 1cb96da..1cb96da 100755..100644
--- a/text/pokedex_species.asm
+++ b/text/pokedex_species.asm
diff --git a/tools/Makefile b/tools/Makefile
new file mode 100644
index 0000000..e5df0a9
--- /dev/null
+++ b/tools/Makefile
@@ -0,0 +1,18 @@
+.PHONY: all clean
+
+CC := gcc
+CFLAGS := -std=c99 -Wall -Wextra
+
+tools := \
+ gfx \
+ pcm \
+ scan_includes
+
+all: $(tools)
+ @:
+
+clean:
+ rm -f $(tools)
+
+%: %.c
+ $(CC) $(CFLAGS) -o $@ $<
diff --git a/tools/common.h b/tools/common.h
new file mode 100644
index 0000000..bc877cc
--- /dev/null
+++ b/tools/common.h
@@ -0,0 +1,37 @@
+#ifndef GUARD_COMMON_H
+#define GUARD_COMMON_H
+
+int __getopt_long_i__;
+#define getopt_long(c, v, s, l) getopt_long(c, v, s, l, &__getopt_long_i__)
+
+FILE *fopen_verbose(char *filename, char *mode) {
+ FILE *f = fopen(filename, mode);
+ if (!f) {
+ fprintf(stderr, "Could not open file: \"%s\"\n", filename);
+ }
+ return f;
+}
+
+uint8_t *read_u8(char *filename, int *size) {
+ FILE *f = fopen_verbose(filename, "rb");
+ if (!f) {
+ exit(1);
+ }
+ fseek(f, 0, SEEK_END);
+ *size = ftell(f);
+ rewind(f);
+ uint8_t *data = malloc(*size);
+ fread(data, 1, *size, f);
+ fclose(f);
+ return data;
+}
+
+void write_u8(char *filename, uint8_t *data, int size) {
+ FILE *f = fopen_verbose(filename, "wb");
+ if (f) {
+ fwrite(data, 1, size, f);
+ fclose(f);
+ }
+}
+
+#endif // GUARD_COMMON_H
diff --git a/tools/gfx.c b/tools/gfx.c
new file mode 100644
index 0000000..3e5624e
--- /dev/null
+++ b/tools/gfx.c
@@ -0,0 +1,291 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <getopt.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "common.h"
+
+static void usage(void) {
+ fprintf(stderr, "Usage: gfx [--trim-whitespace] [--remove-whitespace] [--interleave] [--remove-duplicates [--keep-whitespace]] [--remove-xflip] [--remove-yflip] [--png filename] [-d depth] [-h] [-o outfile] infile\n");
+}
+
+static void error(char *message) {
+ fputs(message, stderr);
+ fputs("\n", stderr);
+}
+
+struct Options {
+ int trim_whitespace;
+ int remove_whitespace;
+ int help;
+ char *outfile;
+ int depth;
+ int interleave;
+ int remove_duplicates;
+ int keep_whitespace;
+ int remove_xflip;
+ int remove_yflip;
+ char *png_file;
+};
+
+struct Options Options = {
+ .depth = 2,
+};
+
+void get_args(int argc, char *argv[]) {
+ struct option long_options[] = {
+ {"remove-whitespace", no_argument, &Options.remove_whitespace, 1},
+ {"trim-whitespace", no_argument, &Options.trim_whitespace, 1},
+ {"interleave", no_argument, &Options.interleave, 1},
+ {"remove-duplicates", no_argument, &Options.remove_duplicates, 1},
+ {"keep-whitespace", no_argument, &Options.keep_whitespace, 1},
+ {"remove-xflip", no_argument, &Options.remove_xflip, 1},
+ {"remove-yflip", no_argument, &Options.remove_yflip, 1},
+ {"png", required_argument, 0, 'p'},
+ {"depth", required_argument, 0, 'd'},
+ {"help", no_argument, 0, 'h'},
+ {0}
+ };
+ for (int opt = 0; opt != -1;) {
+ switch (opt = getopt_long(argc, argv, "ho:d:p:", long_options)) {
+ case 'h':
+ Options.help = true;
+ break;
+ case 'o':
+ Options.outfile = optarg;
+ break;
+ case 'd':
+ Options.depth = strtoul(optarg, NULL, 0);
+ break;
+ case 'p':
+ Options.png_file = optarg;
+ break;
+ case 0:
+ case -1:
+ break;
+ default:
+ usage();
+ exit(1);
+ break;
+ }
+ }
+}
+
+struct Graphic {
+ int size;
+ uint8_t *data;
+};
+
+bool is_whitespace(uint8_t *tile, int tile_size) {
+ uint8_t WHITESPACE = 0;
+ for (int i = 0; i < tile_size; i++) {
+ if (tile[i] != WHITESPACE) {
+ return false;
+ }
+ }
+ return true;
+}
+
+void trim_whitespace(struct Graphic *graphic) {
+ int tile_size = Options.depth * 8;
+ for (int i = graphic->size - tile_size; i > 0; i -= tile_size) {
+ if (is_whitespace(&graphic->data[i], tile_size)) {
+ graphic->size = i;
+ } else {
+ break;
+ }
+ }
+}
+
+void remove_whitespace(struct Graphic *graphic) {
+ int tile_size = Options.depth * 8;
+ if (Options.interleave) tile_size *= 2;
+ int i = 0;
+ for (int j = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) {
+ while (is_whitespace(&graphic->data[j], tile_size)) {
+ j += tile_size;
+ }
+ if (j >= graphic->size) {
+ break;
+ }
+ if (j > i) {
+ memcpy(&graphic->data[i], &graphic->data[j], tile_size);
+ }
+ }
+ graphic->size = i;
+}
+
+bool tile_exists(uint8_t *tile, uint8_t *tiles, int tile_size, int num_tiles) {
+ for (int i = 0; i < num_tiles; i++) {
+ bool match = true;
+ for (int j = 0; j < tile_size; j++) {
+ if (tile[j] != tiles[i * tile_size + j]) {
+ match = false;
+ }
+ }
+ if (match) {
+ return true;
+ }
+ }
+ return false;
+}
+
+void remove_duplicates(struct Graphic *graphic) {
+ int tile_size = Options.depth * 8;
+ if (Options.interleave) tile_size *= 2;
+ int num_tiles = 0;
+ for (int i = 0, j = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) {
+ while (tile_exists(&graphic->data[j], graphic->data, tile_size, num_tiles)) {
+ if (Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) {
+ break;
+ }
+ j += tile_size;
+ }
+ if (j >= graphic->size) {
+ break;
+ }
+ if (j > i) {
+ memcpy(&graphic->data[i], &graphic->data[j], tile_size);
+ }
+ num_tiles++;
+ }
+ graphic->size = num_tiles * tile_size;
+}
+
+bool flip_exists(uint8_t *tile, uint8_t *tiles, int tile_size, int num_tiles, bool xflip, bool yflip) {
+ uint8_t *flip = calloc(tile_size, 1);
+ int half_size = tile_size / 2;
+ for (int i = 0; i < tile_size; i++) {
+ int byte = i;
+ if (yflip) {
+ byte = tile_size - 1 - (i ^ 1);
+ if (Options.interleave && i < half_size) {
+ byte = half_size - 1 - (i ^ 1);
+ }
+ }
+ if (xflip) {
+ for (int bit = 0; bit < 8; bit++) {
+ flip[byte] |= ((tile[i] >> bit) & 1) << (7 - bit);
+ }
+ } else {
+ flip[byte] = tile[i];
+ }
+ }
+ if (tile_exists(flip, tiles, tile_size, num_tiles)) {
+ return true;
+ }
+ return false;
+}
+
+void remove_flip(struct Graphic *graphic, bool xflip, bool yflip) {
+ int tile_size = Options.depth * 8;
+ if (Options.interleave) tile_size *= 2;
+ int num_tiles = 0;
+ for (int i = 0, j = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) {
+ while (flip_exists(&graphic->data[j], graphic->data, tile_size, num_tiles, xflip, yflip)) {
+ if (Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) {
+ break;
+ }
+ j += tile_size;
+ }
+ if (j >= graphic->size) {
+ break;
+ }
+ if (j > i) {
+ memcpy(&graphic->data[i], &graphic->data[j], tile_size);
+ }
+ num_tiles++;
+ }
+ graphic->size = num_tiles * tile_size;
+}
+
+void interleave(struct Graphic *graphic, int width) {
+ int tile_size = Options.depth * 8;
+ int width_tiles = width / 8;
+ int num_tiles = graphic->size / tile_size;
+ uint8_t *interleaved = malloc(graphic->size);
+ for (int i = 0; i < num_tiles; i++) {
+ int tile = i * 2;
+ int row = i / width_tiles;
+ tile -= width_tiles * row;
+ if (row % 2) {
+ tile -= width_tiles;
+ tile += 1;
+ }
+ memcpy(&interleaved[tile * tile_size], &graphic->data[i * tile_size], tile_size);
+ }
+ graphic->size = num_tiles * tile_size;
+ memcpy(graphic->data, interleaved, graphic->size);
+ free(interleaved);
+}
+
+int png_get_width(char *filename) {
+ FILE *f = fopen_verbose(filename, "rb");
+ if (!f) {
+ exit(1);
+ }
+
+ const int OFFSET_WIDTH = 16;
+ uint8_t bytes[4];
+ fseek(f, OFFSET_WIDTH, SEEK_SET);
+ fread(bytes, 1, 4, f);
+ fclose(f);
+
+ int width = 0;
+ for (int i = 0; i < 4; i++) {
+ width |= bytes[i] << (8 * (3 - i));
+ }
+ return width;
+}
+
+
+int main(int argc, char *argv[]) {
+ get_args(argc, argv);
+ argc -= optind;
+ argv += optind;
+ if (Options.help) {
+ usage();
+ return 0;
+ }
+ if (argc < 1) {
+ usage();
+ exit(1);
+ }
+ char *infile = argv[0];
+ struct Graphic graphic;
+ graphic.data = read_u8(infile, &graphic.size);
+ if (Options.trim_whitespace) {
+ trim_whitespace(&graphic);
+ }
+ if (Options.interleave) {
+ if (!Options.png_file) {
+ error("interleave: need --png to infer dimensions");
+ usage();
+ exit(1);
+ }
+ int width = png_get_width(Options.png_file);
+ interleave(&graphic, width);
+ }
+ if (Options.remove_duplicates) {
+ remove_duplicates(&graphic);
+ }
+ if (Options.remove_xflip) {
+ remove_flip(&graphic, true, false);
+ }
+ if (Options.remove_yflip) {
+ remove_flip(&graphic, false, true);
+ }
+ if (Options.remove_xflip && Options.remove_yflip) {
+ remove_flip(&graphic, true, true);
+ }
+ if (Options.remove_whitespace) {
+ remove_whitespace(&graphic);
+ }
+ if (Options.outfile) {
+ write_u8(Options.outfile, graphic.data, graphic.size);
+ }
+ free(graphic.data);
+ return 0;
+}
diff --git a/tools/pcm.c b/tools/pcm.c
new file mode 100644
index 0000000..b10ef54
--- /dev/null
+++ b/tools/pcm.c
@@ -0,0 +1,255 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <getopt.h>
+#include <string.h>
+#include <stdint.h>
+
+#include "common.h"
+
+static void usage(void) {
+ fprintf(stderr, "Usage: pcm [-h] [-s sample_rate] [-o outfile] infile\n");
+}
+
+struct Options {
+ char *outfile;
+ int sample_rate;
+ int help;
+};
+
+struct Options Options = {
+ .sample_rate = 22050
+};
+
+struct Riff {
+ char tag[5];
+ uint32_t size;
+ char wave_tag[5];
+ uint8_t *data;
+};
+
+struct Chunk {
+ char tag[5];
+ uint32_t size;
+ uint8_t *data;
+};
+
+struct Wav {
+ uint16_t format;
+ uint16_t num_channels;
+ uint32_t sample_rate;
+ uint32_t data_rate;
+ uint16_t sample_width;
+ uint16_t bits_per_sample;
+
+ // extensions
+ uint16_t extension_size;
+ uint16_t valid_bits_per_sample;
+ uint32_t channel_mask;
+
+ // results
+ int samples_size;
+ uint8_t *samples;
+};
+
+struct Pcm {
+ int size;
+ uint8_t *data;
+};
+
+#define READ_U16(ptr, i) \
+ ptr[i] << 0 \
+ | ptr[i+1] << 8
+
+#define READ_U32(ptr, i) \
+ ptr[i] << 0 \
+ | ptr[i+1] << 8 \
+ | ptr[i+2] << 16 \
+ | ptr[i+3] << 24
+
+enum {
+ WAVE_FORMAT_PCM = 1,
+};
+
+void read_wav(char *filename, struct Wav *wav) {
+ int size = 0;
+ uint8_t *data = read_u8(filename, &size);
+
+ struct Riff riff = {0};
+ int pos = 0;
+ memcpy(riff.tag, &data[pos], 4); pos += 4;
+ riff.size = READ_U32(data, pos); pos += 4;
+ int riff_end = pos + riff.size;
+ memcpy(riff.wave_tag, &data[pos], 4); pos += 4;
+
+ if (strcmp(riff.tag, "RIFF")) {
+ fprintf(stderr, "'%s': unknown tag '%s' at 0x%x (expected 'RIFF')\n",
+ filename, riff.tag, 4);
+ exit(1);
+ }
+
+ if (strcmp(riff.wave_tag, "WAVE")) {
+ fprintf(stderr, "'%s': unknown tag '%s' at 0x%x (expected 'WAVE')\n",
+ filename, riff.wave_tag, 8);
+ exit(1);
+ }
+
+ while (pos < riff_end) {
+ struct Chunk chunk = {0};
+ memcpy(chunk.tag, &data[pos], 4); pos += 4;
+ chunk.size = READ_U32(data, pos); pos += 4;
+ int start_pos = pos;
+
+ if (!strcmp(chunk.tag, "fmt ")) {
+ wav->format = READ_U16(data, pos); pos += 2;
+ wav->num_channels = READ_U16(data, pos); pos += 2;
+ wav->sample_rate = READ_U32(data, pos); pos += 4;
+ wav->data_rate = READ_U32(data, pos); pos += 4;
+ wav->sample_width = READ_U16(data, pos); pos += 2;
+ wav->bits_per_sample = READ_U16(data, pos); pos += 2;
+
+ if (wav->format != WAVE_FORMAT_PCM) {
+ /*
+ wav->extension_size = READ_U16(data, pos); pos += 2;
+ wav->valid_bits_per_sample = READ_U16(data, pos); pos += 2;
+ wav->channel_mask = READ_U32(data, pos); pos += 4;
+ */
+
+ fprintf(stderr, "unsupported wave format: 0x%04x\n", wav->format);
+ exit(1);
+ }
+
+ } else if (!strcmp(chunk.tag, "data")) {
+ wav->samples = &data[pos];
+ wav->samples_size = chunk.size;
+ pos += chunk.size;
+ } else {
+ pos += chunk.size;
+ }
+
+ if (pos != start_pos + (int)chunk.size) {
+ fprintf(stderr, "BUG: failed to read '%s' chunk at 0x%x (0x%x/0x%x bytes)\n",
+ chunk.tag, start_pos, pos - start_pos, chunk.size - start_pos);
+ exit(1);
+ }
+ }
+
+ if (pos > riff_end) {
+ fprintf(stderr, "BUG: read past end of 'RIFF' chunk (0x%x/0x%x bytes)\n",
+ pos, riff_end);
+ }
+
+ if (pos > size) {
+ fprintf(stderr, "BUG: read past end of file (0x%x/0x%x bytes)\n",
+ pos, size);
+ }
+
+ // only use the first channel
+ int sample_distance = wav->sample_width * wav->num_channels;
+
+ // approximate the desired sample rate
+ float interval = ((float)wav->sample_rate) / Options.sample_rate;
+ if (interval == 0) {
+ fprintf(stderr, "input sample rate too low or output sample rate too high (in: %dHz, out: %dHz)\n",
+ wav->sample_rate, Options.sample_rate);
+ exit(1);
+ }
+
+ int num_samples = wav->samples_size / sample_distance;
+
+ int new_samples_size = num_samples / interval;
+ uint8_t *new_samples = malloc(new_samples_size);
+
+ int new_num_samples = 0;
+
+ float interval_i = 0;
+ int i = 0;
+ while (i < num_samples) {
+ uint8_t sample = 0;
+ int index = i * sample_distance;
+ if (wav->sample_width == 1) {
+ sample = wav->samples[index];
+ } else if (wav->sample_width == 2) {
+ sample = wav->samples[index] + (wav->samples[index + 1] << 8);
+ } else {
+ fprintf(stderr, "unsupported sample width: %d\n", wav->sample_width);
+ exit(1);
+ }
+
+ new_samples[new_num_samples++] = sample;
+
+ interval_i += interval;
+ i = (int)interval_i;
+ }
+
+ wav->samples = new_samples;
+ wav->samples_size = new_num_samples;
+
+ free(data);
+}
+
+void wav_to_pcm(struct Wav *wav, struct Pcm *pcm) {
+ pcm->size = wav->samples_size / 8;
+ pcm->data = calloc(pcm->size, 1);
+
+ long total = 0;
+ for (int i = 0; i < wav->samples_size; i++) {
+ total += wav->samples[i];
+ }
+ float average = (double)total / wav->samples_size;
+
+ for (int i = 0; i < wav->samples_size; i++) {
+ int bit = 0;
+ if (wav->samples[i] >= average) {
+ bit = 1;
+ }
+ pcm->data[i / 8] |= bit << (7 - (i % 8));
+ }
+}
+
+int main(int argc, char *argv[]) {
+ struct option long_options[] = {
+ {"help", no_argument, 0, 'h'},
+ {"--sample-rate", required_argument, 0, 's'},
+ {0}
+ };
+ while (1) {
+ int opt = getopt_long(argc, argv, "ho:", long_options);
+ if (opt == -1) {
+ break;
+ }
+ switch (opt) {
+ case 'h':
+ Options.help = 1;
+ break;
+ case 'o':
+ Options.outfile = optarg;
+ break;
+ case 's':
+ Options.sample_rate = strtoul(optarg, NULL, 0);
+ break;
+ default:
+ usage();
+ exit(1);
+ break;
+ }
+ }
+ argc -= optind;
+ argv += optind;
+
+ if (Options.help) {
+ usage();
+ return 0;
+ }
+ if (argc < 1) {
+ usage();
+ exit(1);
+ }
+ char *infile = argv[0];
+ struct Wav wav = {0};
+ struct Pcm pcm = {0};
+ read_wav(infile, &wav);
+ wav_to_pcm(&wav, &pcm);
+ if (Options.outfile) {
+ write_u8(Options.outfile, pcm.data, pcm.size);
+ }
+}
diff --git a/tools/scan_includes.c b/tools/scan_includes.c
new file mode 100644
index 0000000..02a7810
--- /dev/null
+++ b/tools/scan_includes.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+#include <getopt.h>
+
+void usage(void) {
+ printf("Usage: scan_includes [-h] [-s] filename\n"
+ "-h, --help\n"
+ " Print usage and exit\n"
+ "-s, --strict\n"
+ " Fail if a file cannot be read\n");
+}
+
+struct Options {
+ bool help;
+ bool strict;
+};
+
+struct Options Options = {0};
+
+void scan_file(char* filename) {
+ FILE *f = fopen(filename, "rb");
+ if (!f) {
+ if (Options.strict) {
+ fprintf(stderr, "Could not open file: '%s'\n", filename);
+ exit(1);
+ } else {
+ return;
+ }
+ }
+
+ fseek(f, 0, SEEK_END);
+ long size = ftell(f);
+ rewind(f);
+
+ char *buffer = malloc(size + 1);
+ char *orig = buffer;
+ size = fread(buffer, 1, size, f);
+ buffer[size] = '\0';
+ fclose(f);
+
+ for (; buffer && (buffer - orig < size); buffer++) {
+ bool is_include = false;
+ bool is_incbin = false;
+ switch (*buffer) {
+ case ';':
+ buffer = strchr(buffer, '\n');
+ if (!buffer) {
+ fprintf(stderr, "%s: no newline at end of file\n", filename);
+ }
+ break;
+
+ case 'i':
+ case 'I':
+ if ((strncmp(buffer, "INCBIN", 6) == 0) || (strncmp(buffer, "incbin", 6) == 0)) {
+ is_incbin = true;
+ } else if ((strncmp(buffer, "INCLUDE", 7) == 0) || (strncmp(buffer, "include", 7) == 0)) {
+ is_include = true;
+ }
+ if (is_incbin || is_include) {
+ buffer = strchr(buffer, '"');
+ if (!buffer++) {
+ break;
+ }
+ int length = strcspn(buffer, "\"");
+ char *include = malloc(length + 1);
+ strncpy(include, buffer, length);
+ include[length] = '\0';
+ printf("%s ", include);
+ if (is_include) {
+ scan_file(include);
+ }
+ free(include);
+ buffer = strchr(buffer, '"');
+ }
+ break;
+
+ }
+ if (!buffer) {
+ break;
+ }
+
+ }
+
+ free(orig);
+}
+
+void get_args(int argc, char *argv[]) {
+ while (1) {
+ struct option long_options[] = {
+ {"strict", no_argument, 0, 's'},
+ {"help", no_argument, 0, 'h'},
+ {0}
+ };
+ int i = 0;
+ int opt = getopt_long(argc, argv, "sh", long_options, &i);
+
+ if (opt == -1) {
+ break;
+ }
+
+ switch (opt) {
+ case 's':
+ Options.strict = true;
+ break;
+ case 'h':
+ Options.help = true;
+ break;
+ default:
+ usage();
+ exit(1);
+ break;
+ }
+ }
+}
+
+int main(int argc, char* argv[]) {
+ get_args(argc, argv);
+ argc -= optind;
+ argv += optind;
+ if (Options.help) {
+ usage();
+ return 0;
+ }
+ if (argc < 1) {
+ usage();
+ exit(1);
+ }
+ scan_file(argv[0]);
+ return 0;
+}
diff --git a/vram.asm b/vram.asm
index 3bf8abf..3bf8abf 100755..100644
--- a/vram.asm
+++ b/vram.asm
diff --git a/wram.asm b/wram.asm
index 3c587e0..845a24b 100755..100644
--- a/wram.asm
+++ b/wram.asm
@@ -41,6 +41,7 @@ wc4cc:: ; 0xc4cc
ds $34
wBottomMessageText:: ; 0xc500 WARNING: text loading code may break if this is moved
+; This must be aligned with $100, since there is some logic that depends on the lower byte of the address. (See LoadMonNameIntoEvolutionSelectionList)
ds $100
wBottomMessageBuffer:: ; 0xc600
@@ -144,7 +145,9 @@ wBallTypeCounter:: ; 0xd47f
wBallTypeBackup:: ; 0xd481
ds $1
-wd482:: ; 0xd482
+wCurBonusMultiplier:: ; 0xd482
+; Current value of the bonus multplier. Incremented from achieving various events during the game, or hitting the two bonus multiplier
+; railings. (left one first, then right one). See MAX_BONUS_MULTIPLIER
ds $1
wd483:: ; 0xd483
@@ -175,8 +178,8 @@ wCompletedBonusStage:: ; 0xd49a
; Set to 1 when a bonus stage is successfully cleared.
ds $1
-wCurBonusMultiplier:: ; 0xd49b
-; Current value of the bonus multiplier. See MAX_BONUS_MULTIPLIER.
+wCurBonusMultiplierFromFieldEvents:: ; 0xd49b
+; Current value of the bonus multiplier received from field events, like catching a pokemon or hitting psyduck 3 times. See MAX_BONUS_MULTIPLIER_FIELD_EVENTS.
ds $1
wd49c:: ; 0xd49c
@@ -218,7 +221,9 @@ wNumTimesBallSavedTextWillDisplayBackup:: ; 0xd4a8
wd4a9:: ; 0xd4a9
ds $1
-wd4aa:: ; 0xd4aa
+wDrawBottomMessageBox:: ; 0xd4aa
+; Set to non-zero value if enable drawing the 1-tile high bottom message bar during V-Blank in normal pinball gameplay.
+; Set to 0 to disable.
ds $1
wd4ab:: ; 0xd4ab
@@ -392,28 +397,30 @@ wRightMapMoveCounter:: ; 0xd4f2
ds $1
wLeftMapMoveDiglettAnimationCounter:: ; 0xd4f3
+wLeftMapMovePoliwagAnimationCounter::
ds $1
wLeftMapMoveDiglettFrame:: ; 0xd4f4
+wLeftMapMovePoliwagFrame::
ds $1
wRightMapMoveDiglettAnimationCounter:: ; 0xd4f5
+wRightMapMovePsyduckAnimationCounter::
ds $1
wRightMapMoveDiglettFrame:: ; 0xd4f6
+wRightMapMovePsyduckFrame::
ds $1
-wd4f7:: ; 0xd4f7
- ds $1
-
-wd4f8:: ; 0xd4f8
- ds $1
-
-wd4f9:: ; 0xd4f9
- ds $1
+wLeftMapMoveCounterFramesUntilDecrease:: ; 0xd4f7
+; Holds the number of frames remaining until the wLeftMapMoveCounter
+; counter will decrease by 1.
+ ds $2
-wd4fa:: ; 0xd4fa
- ds $1
+wRightMapMoveCounterFramesUntilDecrease:: ; 0xd4f9
+; Holds the number of frames remaining until the wRightMapMoveCounter
+; counter will decrease by 1.
+ ds $2
wBellsproutCollision:: ; 0xd4fb
; Second byte is set by HandleGameObjectCollision, but is unused
@@ -529,12 +536,15 @@ wRightAlleyCount:: ; 0xd545
wSecondaryLeftAlleyTrigger:: ; 0xd546
ds $2
-wd548:: ; 0xd548
+wPinballIsVisible:: ; 0xd548
+; Set to 1 if the pinball is visible in play.
+; Set to 0 when the pinball disappears in things like the Slot, Slowpoke, Cloyster, Bellsprout, etc.
+; When it's set to 0, it disables tilt effects on the pinball.
ds $1
-wDisableBallGravityAndTilt:: ; 0xd549
-; Set to 1 to disable any affect gravity or tilt has on the pinball.
-; Used for things likes the initial pinball launch or to hold the ball stationary.
+wEnableBallGravityAndTilt:: ; 0xd549
+; Set to 1 to enable the effect of gravity and tilt on the pinball.
+; 0 disables these forces. Used for things likes the initial pinball launch or to hold the ball stationary.
ds $1
wCurrentMap:: ; 0xd54a
@@ -724,16 +734,16 @@ wd5ca:: ; 0xd5ca set to 1 by a commonly called text function that is called at t
wd5cb:: ; 0xd5cb set to 0 if the above is 0 during Func_33e3
ds $1
-wScrollingTextStruct1:: ; 0xd5cc Start of a scrolling struct that contains 8 1 byte vars. wScrollingTextStruct1
-;Byte 1: Toggles if enabled. z is off, nz is on
-;Byte 2: is how many frames until the next scroll
-;Byte 3: holds how long, in frames, it should take for the scroll to move 1 tile
-;Byte 4: is the current position to place the start of the text
-;Byte 5: is where in the scroll the message should stop for an extended period
-;Byte 6: is how many frames the extended stop from Byte 5 has left
-;Byte 7: is a pointer to the source text's position in the buffer
-;Byte 8: is decremented each scroll and scroll denied by the stop
-;scrolling text relies on byte allignment for the text buffer and display area
+wScrollingTextStruct1:: ; 0xd5cc Start of a scrolling message struct that contains 8 1-byte vars.
+; Byte 1: Toggles if enabled. 0 is off, non-0 is on
+; Byte 2: is how many frames until the next scroll
+; Byte 3: holds how long, in frames, it should take for the scroll to move 1 tile
+; Byte 4: is the current position to place the start of the text
+; Byte 5: is where in the scroll the message should stop for an extended period
+; Byte 6: is how many frames the extended stop from Byte 5 has left
+; Byte 7: is a pointer to the source text's position in the buffer
+; Byte 8: is decremented each scroll and scroll denied by the stop
+; Scrolling text relies on byte allignment for the text buffer and display area
ds $8
wScrollingTextStruct2:: ; 0xd5d4 Start of a scrolling struct2
@@ -815,10 +825,12 @@ wWhichBonusMultiplierRailing:: ; 0xd60a
wWhichBonusMultiplierRailingId:: ; 0xd60b
ds $1
-wd60c:: ; 0xd60c
+wBonusMultiplierTensDigit:: ; 0xd60c
+; Holds the tens digit for the current bonus multiplier value. This number is displayed on the left-side bonus multiplier railing.
ds $1
-wd60d:: ; 0xd60d
+wBonusMultiplierOnesDigit:: ; 0xd60d
+; Holds the ones digit for the current bonus multiplier value. This number is displayed on the right-side bonus multiplier railing.
ds $1
wd60e:: ; 0xd60e
@@ -1823,14 +1835,17 @@ wd806:: ; 0xd806
wd807:: ; 0xd807
ds $1
-wd808:: ; 0xd808
+; These three bytes track different joypad states cummulatively, until they are manually cleared.
+; They inherit from their similarly-named counterparts found in hram.asm. (See ReadJoyPad)
+wJoypadStatesPersistent:: ; 0xd808
+wJoypadStatePersistent::
ds $1
-
-wd809:: ; 0xd809
+wNewlyPressedButtonsPersistent:: ; 0xd809
+ ds $1
+wPressedButtonsPersistent:: ; 0xd80a
ds $1
-wd80a:: ; 0xd80a
- ds $2
+ ds $1 ; unused byte
wBGP:: ; 0xd80c
ds $1