summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_anim.s4
-rw-r--r--asm/librfu.s4
-rw-r--r--asm/rom4.s2
-rw-r--r--asm/tileset.s1793
-rw-r--r--data/graphics.s14
-rw-r--r--data/palette.s18
-rw-r--r--data/start_menu.s2
-rw-r--r--data/tileset.s116
-rw-r--r--data/tilesets/primary/building/anim/0.pngbin0 -> 141 bytes
-rw-r--r--data/tilesets/primary/building/anim/1.pngbin0 -> 144 bytes
-rw-r--r--data/tilesets/primary/general/anim/0/0.pngbin0 -> 183 bytes
-rw-r--r--data/tilesets/primary/general/anim/0/1.pngbin0 -> 182 bytes
-rw-r--r--data/tilesets/primary/general/anim/0/2.pngbin0 -> 183 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/0.pngbin0 -> 518 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/1.pngbin0 -> 581 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/2.pngbin0 -> 534 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/3.pngbin0 -> 527 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/4.pngbin0 -> 461 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/5.pngbin0 -> 460 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/6.pngbin0 -> 480 bytes
-rw-r--r--data/tilesets/primary/general/anim/1/7.pngbin0 -> 521 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/0.pngbin0 -> 194 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/1.pngbin0 -> 243 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/2.pngbin0 -> 262 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/3.pngbin0 -> 280 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/4.pngbin0 -> 232 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/5.pngbin0 -> 220 bytes
-rw-r--r--data/tilesets/primary/general/anim/2/6.pngbin0 -> 203 bytes
-rw-r--r--data/tilesets/primary/general/anim/3/0.pngbin0 -> 136 bytes
-rw-r--r--data/tilesets/primary/general/anim/3/1.pngbin0 -> 154 bytes
-rw-r--r--data/tilesets/primary/general/anim/3/2.pngbin0 -> 133 bytes
-rw-r--r--data/tilesets/primary/general/anim/3/3.pngbin0 -> 130 bytes
-rw-r--r--data/tilesets/primary/general/anim/4/0.pngbin0 -> 304 bytes
-rw-r--r--data/tilesets/primary/general/anim/4/1.pngbin0 -> 311 bytes
-rw-r--r--data/tilesets/primary/general/anim/4/2.pngbin0 -> 314 bytes
-rw-r--r--data/tilesets/primary/general/anim/4/3.pngbin0 -> 328 bytes
-rw-r--r--data/tilesets/primary/general/tiles.pngbin7587 -> 7786 bytes
-rw-r--r--data/tilesets/primary/inside_building/tiles.pngbin1556 -> 1813 bytes
-rw-r--r--data/tilesets/primary/secret_base/tiles.pngbin7136 -> 7869 bytes
-rw-r--r--data/tilesets/primary/secret_base/unknown_tiles.pngbin1212 -> 1316 bytes
-rw-r--r--data/tilesets/secondary/battle_arena/tiles.pngbin2067 -> 2340 bytes
-rw-r--r--data/tilesets/secondary/battle_dome/tiles.pngbin3193 -> 3626 bytes
-rw-r--r--data/tilesets/secondary/battle_factory/tiles.pngbin3313 -> 3694 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier/tiles.pngbin2368 -> 2647 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/anim/0.pngbin0 -> 191 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/anim/1.pngbin0 -> 188 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/anim/2.pngbin0 -> 185 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/anim/3.pngbin0 -> 183 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/tiles.pngbin3750 -> 3834 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/anim/0.pngbin0 -> 191 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/anim/1.pngbin0 -> 188 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/anim/2.pngbin0 -> 185 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/anim/3.pngbin0 -> 183 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/tiles.pngbin5505 -> 5892 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_ranking_hall/tiles.pngbin1451 -> 1700 bytes
-rw-r--r--data/tilesets/secondary/battle_palace/tiles.pngbin1513 -> 1633 bytes
-rw-r--r--data/tilesets/secondary/battle_pike/tiles.pngbin3922 -> 4013 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/0/0.pngbin0 -> 228 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/0/1.pngbin0 -> 220 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/0/2.pngbin0 -> 219 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/0.pngbin0 -> 261 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/1.pngbin0 -> 267 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/2.pngbin0 -> 261 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/3.pngbin0 -> 105 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/4.pngbin0 -> 86 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/5.pngbin0 -> 86 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/6.pngbin0 -> 106 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/7.pngbin0 -> 393 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/8.pngbin0 -> 105 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/anim/1/9.pngbin0 -> 111 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/tiles.pngbin3208 -> 3504 bytes
-rw-r--r--data/tilesets/secondary/battle_tent/tiles.pngbin1696 -> 2084 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/anim/0.pngbin0 -> 250 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/anim/1.pngbin0 -> 249 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/anim/2.pngbin0 -> 219 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/tiles.pngbin3270 -> 3505 bytes
-rw-r--r--data/tilesets/secondary/brendans_mays_house/tiles.pngbin2616 -> 3074 bytes
-rw-r--r--data/tilesets/secondary/cable_club/tiles.pngbin2445 -> 2590 bytes
-rw-r--r--data/tilesets/secondary/cable_club/unknown_tiles.pngbin287 -> 311 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/0.pngbin0 -> 100 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/1.pngbin0 -> 126 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/2.pngbin0 -> 108 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/3.pngbin0 -> 109 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/unused/0.pngbin0 -> 100 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/unused/1.pngbin0 -> 121 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/unused/2.pngbin0 -> 108 bytes
-rw-r--r--data/tilesets/secondary/cave/anim/unused/3.pngbin0 -> 105 bytes
-rw-r--r--data/tilesets/secondary/cave/tiles.pngbin5767 -> 5884 bytes
-rw-r--r--data/tilesets/secondary/contest/tiles.pngbin1638 -> 1650 bytes
-rw-r--r--data/tilesets/secondary/dewford/anim/0.pngbin0 -> 185 bytes
-rw-r--r--data/tilesets/secondary/dewford/anim/1.pngbin0 -> 185 bytes
-rw-r--r--data/tilesets/secondary/dewford/anim/2.pngbin0 -> 185 bytes
-rw-r--r--data/tilesets/secondary/dewford/anim/3.pngbin0 -> 192 bytes
-rw-r--r--data/tilesets/secondary/dewford/tiles.pngbin3756 -> 3985 bytes
-rw-r--r--data/tilesets/secondary/dewford_gym/tiles.pngbin598 -> 640 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/0/0.pngbin0 -> 91 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/0/1.pngbin0 -> 91 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/0/2.pngbin0 -> 91 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/0/3.pngbin0 -> 91 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/0.pngbin0 -> 135 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/1.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/2.pngbin0 -> 1260 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/3.pngbin0 -> 1184 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/4.pngbin0 -> 1190 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/5.pngbin0 -> 1248 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/6.pngbin0 -> 1161 bytes
-rw-r--r--data/tilesets/secondary/elite_four/anim/1/7.pngbin0 -> 1153 bytes
-rw-r--r--data/tilesets/secondary/elite_four/tiles.pngbin2826 -> 2876 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/0.pngbin0 -> 204 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/1.pngbin0 -> 204 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/2.pngbin0 -> 197 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/3.pngbin0 -> 200 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/4.pngbin0 -> 204 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/5.pngbin0 -> 204 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/6.pngbin0 -> 201 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/anim/7.pngbin0 -> 201 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/tiles.pngbin2088 -> 2208 bytes
-rw-r--r--data/tilesets/secondary/facility/tiles.pngbin5753 -> 6352 bytes
-rw-r--r--data/tilesets/secondary/fallarbor/tiles.pngbin4602 -> 4781 bytes
-rw-r--r--data/tilesets/secondary/fortree/tiles.pngbin4364 -> 4342 bytes
-rw-r--r--data/tilesets/secondary/fortree_gym/tiles.pngbin771 -> 770 bytes
-rw-r--r--data/tilesets/secondary/generic_building/tiles.pngbin4949 -> 5607 bytes
-rw-r--r--data/tilesets/secondary/inside_of_truck/tiles.pngbin514 -> 545 bytes
-rw-r--r--data/tilesets/secondary/inside_ship/tiles.pngbin2016 -> 2149 bytes
-rw-r--r--data/tilesets/secondary/island_harbor/tiles.pngbin5093 -> 5639 bytes
-rw-r--r--data/tilesets/secondary/lab/tiles.pngbin2592 -> 2844 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/anim/0.pngbin0 -> 83 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/anim/1.pngbin0 -> 92 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/anim/2.pngbin0 -> 88 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/anim/3.pngbin0 -> 100 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/tiles.pngbin4087 -> 4215 bytes
-rw-r--r--data/tilesets/secondary/lavaridge_gym/tiles.pngbin631 -> 713 bytes
-rw-r--r--data/tilesets/secondary/lilycove/tiles.pngbin3597 -> 3912 bytes
-rw-r--r--data/tilesets/secondary/lilycove_museum/tiles.pngbin3345 -> 3938 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/0.pngbin0 -> 177 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/1.pngbin0 -> 175 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/2.pngbin0 -> 171 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/3.pngbin0 -> 160 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/4.pngbin0 -> 178 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/5.pngbin0 -> 177 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/6.pngbin0 -> 175 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/7.pngbin0 -> 171 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/8.pngbin0 -> 160 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/a/9.pngbin0 -> 178 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/0.pngbin0 -> 177 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/1.pngbin0 -> 175 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/2.pngbin0 -> 171 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/3.pngbin0 -> 160 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/4.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/5.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/6.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/0/b/7.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/a/0.pngbin0 -> 177 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/a/1.pngbin0 -> 178 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/a/2.pngbin0 -> 171 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/a/3.pngbin0 -> 160 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/0.pngbin0 -> 177 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/1.pngbin0 -> 178 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/2.pngbin0 -> 171 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/3.pngbin0 -> 160 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/4.pngbin0 -> 100 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/5.pngbin0 -> 121 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/6.pngbin0 -> 108 bytes
-rw-r--r--data/tilesets/secondary/mauville/anim/1/b/7.pngbin0 -> 105 bytes
-rw-r--r--data/tilesets/secondary/mauville/tiles.pngbin6019 -> 6372 bytes
-rw-r--r--data/tilesets/secondary/mauville_game_corner/tiles.pngbin1567 -> 1788 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/anim/0.pngbin0 -> 215 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/anim/1.pngbin0 -> 218 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/anim/2.pngbin0 -> 106 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/anim/3.pngbin0 -> 393 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/tiles.pngbin1454 -> 1534 bytes
-rw-r--r--data/tilesets/secondary/meteor_falls/tiles.pngbin5968 -> 6078 bytes
-rw-r--r--data/tilesets/secondary/mirage_tower/tiles.pngbin5561 -> 5645 bytes
-rw-r--r--data/tilesets/secondary/mossdeep/tiles.pngbin4060 -> 4269 bytes
-rw-r--r--data/tilesets/secondary/mossdeep_game_corner/tiles.pngbin838 -> 893 bytes
-rw-r--r--data/tilesets/secondary/mossdeep_gym/tiles.pngbin927 -> 969 bytes
-rw-r--r--data/tilesets/secondary/mystery_events_house/tiles.pngbin4799 -> 5383 bytes
-rw-r--r--data/tilesets/secondary/navel_rock/tiles.pngbin5966 -> 6073 bytes
-rw-r--r--data/tilesets/secondary/oceanic_museum/tiles.pngbin2662 -> 3219 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/0/0.pngbin0 -> 596 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/0/1.pngbin0 -> 603 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/0/2.pngbin0 -> 625 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/0.pngbin0 -> 198 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/1.pngbin0 -> 219 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/2.pngbin0 -> 241 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/3.pngbin0 -> 213 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/4.pngbin0 -> 138 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/5.pngbin0 -> 140 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/6.pngbin0 -> 138 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/anim/1/7.pngbin0 -> 200 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/tiles.pngbin4688 -> 4812 bytes
-rw-r--r--data/tilesets/secondary/petalburg/tiles.pngbin1689 -> 1910 bytes
-rw-r--r--data/tilesets/secondary/petalburg_gym/tiles.pngbin1222 -> 1429 bytes
-rw-r--r--data/tilesets/secondary/pokemon_center/tiles.pngbin3461 -> 3645 bytes
-rw-r--r--data/tilesets/secondary/pokemon_day_care/tiles.pngbin1451 -> 1528 bytes
-rw-r--r--data/tilesets/secondary/pokemon_fan_club/tiles.pngbin1242 -> 1373 bytes
-rw-r--r--data/tilesets/secondary/pokemon_school/tiles.pngbin980 -> 1027 bytes
-rw-r--r--data/tilesets/secondary/pretty_petal_flower_shop/tiles.pngbin1839 -> 1951 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/0.pngbin0 -> 119 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/1.pngbin0 -> 113 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/2.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/3.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/4.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/5.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/6.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/0/7.pngbin0 -> 72 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/1/0.pngbin0 -> 201 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/1/1.pngbin0 -> 198 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/1/2.pngbin0 -> 185 bytes
-rw-r--r--data/tilesets/secondary/rustboro/anim/1/3.pngbin0 -> 192 bytes
-rw-r--r--data/tilesets/secondary/rustboro/tiles.pngbin3903 -> 4108 bytes
-rw-r--r--data/tilesets/secondary/rustboro_gym/tiles.pngbin759 -> 768 bytes
-rw-r--r--data/tilesets/secondary/rusturf_tunnel/tiles.pngbin2127 -> 2228 bytes
-rw-r--r--data/tilesets/secondary/seashore_house/tiles.pngbin1105 -> 1280 bytes
-rw-r--r--data/tilesets/secondary/secret_base/blue_cave/tiles.pngbin904 -> 905 bytes
-rw-r--r--data/tilesets/secondary/secret_base/blue_cave/unused_tiles.pngbin0 -> 903 bytes
-rw-r--r--data/tilesets/secondary/secret_base/brown_cave/tiles.pngbin1070 -> 1166 bytes
-rw-r--r--data/tilesets/secondary/secret_base/brown_cave/unused_tiles.pngbin0 -> 1163 bytes
-rw-r--r--data/tilesets/secondary/secret_base/red_cave/tiles.pngbin941 -> 941 bytes
-rw-r--r--data/tilesets/secondary/secret_base/red_cave/unused_tiles.pngbin0 -> 938 bytes
-rw-r--r--data/tilesets/secondary/secret_base/shrub/tiles.pngbin1090 -> 1177 bytes
-rw-r--r--data/tilesets/secondary/secret_base/shrub/unused_tiles.pngbin0 -> 1173 bytes
-rw-r--r--data/tilesets/secondary/secret_base/tree/tiles.pngbin1056 -> 1098 bytes
-rw-r--r--data/tilesets/secondary/secret_base/tree/unused_tiles.pngbin0 -> 1095 bytes
-rw-r--r--data/tilesets/secondary/secret_base/yellow_cave/tiles.pngbin1127 -> 1127 bytes
-rw-r--r--data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.pngbin0 -> 1125 bytes
-rw-r--r--data/tilesets/secondary/shop/tiles.pngbin3872 -> 4416 bytes
-rw-r--r--data/tilesets/secondary/slateport/anim/0.pngbin0 -> 179 bytes
-rw-r--r--data/tilesets/secondary/slateport/anim/1.pngbin0 -> 181 bytes
-rw-r--r--data/tilesets/secondary/slateport/anim/2.pngbin0 -> 179 bytes
-rw-r--r--data/tilesets/secondary/slateport/anim/3.pngbin0 -> 181 bytes
-rw-r--r--data/tilesets/secondary/slateport/tiles.pngbin6528 -> 6985 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/0.pngbin0 -> 1201 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/1.pngbin0 -> 1262 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/2.pngbin0 -> 1260 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/3.pngbin0 -> 1184 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/4.pngbin0 -> 1190 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/5.pngbin0 -> 1248 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/6.pngbin0 -> 1161 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/anim/7.pngbin0 -> 1153 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/tiles.pngbin2674 -> 2950 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/0/0.pngbin0 -> 286 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/0/1.pngbin0 -> 283 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/0/2.pngbin0 -> 294 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/0/3.pngbin0 -> 91 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/1/0.pngbin0 -> 389 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/1/1.pngbin0 -> 408 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/anim/1/2.pngbin0 -> 399 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/tiles.pngbin2780 -> 2954 bytes
-rw-r--r--data/tilesets/secondary/trainer_hill/tiles.pngbin3311 -> 3594 bytes
-rw-r--r--data/tilesets/secondary/trick_house_puzzle/tiles.pngbin2567 -> 2797 bytes
-rw-r--r--data/tilesets/secondary/underwater/anim/0.pngbin0 -> 180 bytes
-rw-r--r--data/tilesets/secondary/underwater/anim/1.pngbin0 -> 183 bytes
-rw-r--r--data/tilesets/secondary/underwater/anim/2.pngbin0 -> 185 bytes
-rw-r--r--data/tilesets/secondary/underwater/anim/3.pngbin0 -> 184 bytes
-rw-r--r--data/tilesets/secondary/underwater/tiles.pngbin2988 -> 2846 bytes
-rw-r--r--data/tilesets/secondary/union_room/tiles.pngbin1710 -> 1817 bytes
-rw-r--r--data/tilesets/secondary/unused_1/0.pngbin0 -> 86 bytes
-rw-r--r--data/tilesets/secondary/unused_1/1.pngbin0 -> 86 bytes
-rw-r--r--data/tilesets/secondary/unused_1/2.pngbin0 -> 106 bytes
-rw-r--r--data/tilesets/secondary/unused_1/3.pngbin0 -> 393 bytes
-rw-r--r--data/tilesets/secondary/unused_1/tiles.pngbin80 -> 77 bytes
-rw-r--r--data/tilesets/secondary/unused_2/0.pngbin0 -> 105 bytes
-rw-r--r--data/tilesets/secondary/unused_2/1.pngbin0 -> 111 bytes
-rw-r--r--data/tilesets/secondary/unused_2/2.pngbin0 -> 108 bytes
-rw-r--r--data/tilesets/secondary/unused_2/3.pngbin0 -> 105 bytes
-rw-r--r--data/tilesets/secondary/unused_2/tiles.pngbin864 -> 979 bytes
-rw-r--r--include/battle.h3
-rw-r--r--include/blend_palette.h12
-rw-r--r--include/dma3.h14
-rw-r--r--ld_script.txt6
-rw-r--r--src/battle_1.c17
-rw-r--r--src/berry_blender.c18
-rw-r--r--src/dma3_manager.c18
-rw-r--r--src/field_camera.c28
-rw-r--r--src/field_effect.c15
-rw-r--r--src/field_screen.c15
-rw-r--r--src/fldeff_cut.c19
-rw-r--r--src/link.c56
-rw-r--r--src/main.c2
-rw-r--r--src/main_menu.c15
-rw-r--r--src/malloc.c1
-rw-r--r--src/palette.c75
-rw-r--r--src/pokemon_storage_system.c15
-rw-r--r--src/record_mixing.c28
-rw-r--r--src/rom4.c19
-rw-r--r--src/scrcmd.c15
-rw-r--r--src/script_menu.c16
-rw-r--r--src/tileset_anims.c1411
-rw-r--r--sym_bss.txt268
-rw-r--r--sym_ewram.txt4
291 files changed, 1784 insertions, 2259 deletions
diff --git a/asm/battle_anim.s b/asm/battle_anim.s
index 9c0190214..ee85f5565 100644
--- a/asm/battle_anim.s
+++ b/asm/battle_anim.s
@@ -449,10 +449,10 @@ ma00_load_graphics: @ 80A3D24
lsls r0, 8
orrs r4, r0
lsls r5, r4, 3
- ldr r0, =gUnknown_085112C4
+ ldr r0, =gUnknown_085112B4 + 0x10
adds r0, r5, r0
bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_08511BCC
+ ldr r0, =gUnknown_08511A34 + 0x198
adds r5, r0
adds r0, r5, 0
bl LoadCompressedObjectPaletteUsingHeap
diff --git a/asm/librfu.s b/asm/librfu.s
index d8ca7538c..129e0f34a 100644
--- a/asm/librfu.s
+++ b/asm/librfu.s
@@ -2762,7 +2762,7 @@ sub_82E424C: @ 82E424C
b _082E4266
.align 2, 0
_082E4254: .4byte gUnknown_089A324C
-_082E4258: .4byte gUnknown_030000F0
+_082E4258: .4byte gDma3Requests + 0xE0
thumb_func_end sub_82E424C
thumb_func_start sub_82E425C
@@ -2810,7 +2810,7 @@ _082E4274:
movs r0, 0
b _082E42BE
.align 2, 0
-_082E42B0: .4byte gUnknown_030000FA
+_082E42B0: .4byte gDma3Requests + 0xEA
_082E42B4: .4byte gUnknown_03007890
_082E42B8: .4byte gUnknown_03007894
_082E42BC:
diff --git a/asm/rom4.s b/asm/rom4.s
index 5250659e7..8423d0d9a 100644
--- a/asm/rom4.s
+++ b/asm/rom4.s
@@ -3640,7 +3640,7 @@ VBlankCB_Field: @ 8086390
bl sub_80BA0A8
bl FieldUpdateBgTilemapScroll
bl TransferPlttBuffer
- bl sub_80A09D0
+ bl TransferTilesetAnimsBuffer
pop {r0}
bx r0
thumb_func_end VBlankCB_Field
diff --git a/asm/tileset.s b/asm/tileset.s
deleted file mode 100644
index 0605c7621..000000000
--- a/asm/tileset.s
+++ /dev/null
@@ -1,1793 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80A0954
-@ void sub_80A0954()
-sub_80A0954: @ 80A0954
- push {lr}
- sub sp, 0x4
- ldr r1, =gUnknown_03000F34
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_02037624
- ldr r2, =0x0500003c
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0954
-
- thumb_func_start sub_80A0980
-sub_80A0980: @ 80A0980
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r3, =gUnknown_03000F34
- ldrb r0, [r3]
- cmp r0, 0x13
- bhi _080A09C0
- ldr r2, =gUnknown_02037624
- adds r1, r0, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- str r4, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0x4
- adds r0, r1
- str r5, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r6, [r0, 0x8]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_080A09C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0980
-
- thumb_func_start sub_80A09D0
-sub_80A09D0: @ 80A09D0
- push {r4-r6,lr}
- movs r3, 0
- ldr r4, =gUnknown_03000F34
- adds r6, r4, 0
- ldrb r0, [r4]
- cmp r3, r0
- bge _080A0A02
- ldr r2, =0x040000d4
- ldr r1, =gUnknown_02037624
- movs r5, 0x80
- lsls r5, 24
-_080A09E6:
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [r1, 0x4]
- str r0, [r2, 0x4]
- ldrh r0, [r1, 0x8]
- lsrs r0, 1
- orrs r0, r5
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r1, 0xC
- adds r3, 0x1
- ldrb r0, [r4]
- cmp r3, r0
- blt _080A09E6
-_080A0A02:
- movs r0, 0
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A09D0
-
- thumb_func_start cur_mapheader_run_tileset_funcs_after_some_cpuset
-cur_mapheader_run_tileset_funcs_after_some_cpuset: @ 80A0A18
- push {lr}
- bl sub_80A0954
- bl cur_mapheader_run_tileset1_func
- bl cur_mapheader_run_tileset2_func
- pop {r0}
- bx r0
- thumb_func_end cur_mapheader_run_tileset_funcs_after_some_cpuset
-
- thumb_func_start sub_80A0A2C
-sub_80A0A2C: @ 80A0A2C
- push {lr}
- bl cur_mapheader_run_tileset2_func
- pop {r0}
- bx r0
- thumb_func_end sub_80A0A2C
-
- thumb_func_start sub_80A0A38
-sub_80A0A38: @ 80A0A38
- push {r4,lr}
- bl sub_80A0954
- ldr r2, =gUnknown_03000F36
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ldr r1, =gUnknown_03000F38
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bcc _080A0A56
- movs r0, 0
- strh r0, [r2]
-_080A0A56:
- ldr r4, =gUnknown_03000F3A
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldr r1, =gUnknown_03000F3C
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bcc _080A0A6E
- movs r0, 0
- strh r0, [r4]
-_080A0A6E:
- ldr r0, =gUnknown_03000F40
- ldr r1, [r0]
- cmp r1, 0
- beq _080A0A7C
- ldrh r0, [r2]
- bl _call_via_r1
-_080A0A7C:
- ldr r0, =gUnknown_03000F44
- ldr r1, [r0]
- cmp r1, 0
- beq _080A0A8A
- ldrh r0, [r4]
- bl _call_via_r1
-_080A0A8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0A38
-
- thumb_func_start cur_mapheader_run_tileset1_func
-cur_mapheader_run_tileset1_func: @ 80A0AA8
- push {lr}
- ldr r0, =gUnknown_03000F36
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_03000F38
- strh r1, [r0]
- ldr r1, =gUnknown_03000F40
- movs r0, 0
- str r0, [r1]
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- beq _080A0ACE
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _080A0ACE
- bl _call_via_r0
-_080A0ACE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end cur_mapheader_run_tileset1_func
-
- thumb_func_start cur_mapheader_run_tileset2_func
-cur_mapheader_run_tileset2_func: @ 80A0AE4
- push {lr}
- ldr r0, =gUnknown_03000F3A
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_03000F3C
- strh r1, [r0]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _080A0B0A
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _080A0B0A
- bl _call_via_r0
-_080A0B0A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end cur_mapheader_run_tileset2_func
-
- thumb_func_start TilesetCb_General
-TilesetCb_General: @ 80A0B20
- ldr r1, =gUnknown_03000F36
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F38
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F40
- ldr r0, =sub_80A0B70
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_General
-
- thumb_func_start TilesetCb_InsideBuilding
-TilesetCb_InsideBuilding: @ 80A0B48
- ldr r1, =gUnknown_03000F36
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F38
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F40
- ldr r0, =sub_80A0BB4
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_InsideBuilding
-
- thumb_func_start sub_80A0B70
-sub_80A0B70: @ 80A0B70
- push {r4,r5,lr}
- lsls r5, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r5
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080A0B86
- lsrs r0, r5, 20
- bl sub_80A0BCC
-_080A0B86:
- cmp r4, 0x1
- bne _080A0B90
- lsrs r0, r5, 20
- bl sub_80A0BF4
-_080A0B90:
- cmp r4, 0x2
- bne _080A0B9A
- lsrs r0, r5, 20
- bl sub_80A0C1C
-_080A0B9A:
- cmp r4, 0x3
- bne _080A0BA4
- lsrs r0, r5, 20
- bl sub_80A0C44
-_080A0BA4:
- cmp r4, 0x4
- bne _080A0BAE
- lsrs r0, r5, 20
- bl sub_80A12AC
-_080A0BAE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A0B70
-
- thumb_func_start sub_80A0BB4
-sub_80A0BB4: @ 80A0BB4
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A0BC8
- lsrs r0, r1, 19
- bl sub_80A1688
-_080A0BC8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A0BB4
-
- thumb_func_start sub_80A0BCC
-sub_80A0BCC: @ 80A0BCC
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08510764
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06003f80
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0BCC
-
- thumb_func_start sub_80A0BF4
-sub_80A0BF4: @ 80A0BF4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x7
- ands r0, r1
- ldr r1, =gUnknown_08512574
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06003600
- movs r2, 0xF0
- lsls r2, 2
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0BF4
-
- thumb_func_start sub_80A0C1C
-sub_80A0C1C: @ 80A0C1C
- push {lr}
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, =gUnknown_08512E54
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06003a00
- movs r2, 0xA0
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0C1C
-
- thumb_func_start sub_80A0C44
-sub_80A0C44: @ 80A0C44
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08513174
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06003e00
- movs r2, 0xC0
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0C44
-
- thumb_func_start TilesetCb_Petalburg
-TilesetCb_Petalburg: @ 80A0C6C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Petalburg
-
- thumb_func_start TilesetCb_Rustboro
-TilesetCb_Rustboro: @ 80A0C94
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A103C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Rustboro
-
- thumb_func_start TilesetCb_Dewford
-TilesetCb_Dewford: @ 80A0CC0
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A10B8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Dewford
-
- thumb_func_start TilesetCb_Slateport
-TilesetCb_Slateport: @ 80A0CEC
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A10D0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Slateport
-
- thumb_func_start TilesetCb_Mauville
-TilesetCb_Mauville: @ 80A0D18
- ldr r1, =gUnknown_03000F3A
- ldr r0, =gUnknown_03000F36
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A10E8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Mauville
-
- thumb_func_start TilesetCb_Lavaridge
-TilesetCb_Lavaridge: @ 80A0D48
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A115C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Lavaridge
-
- thumb_func_start TilesetCb_Fallarbor
-TilesetCb_Fallarbor: @ 80A0D74
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Fallarbor
-
- thumb_func_start TilesetCb_Fortree
-TilesetCb_Fortree: @ 80A0D9C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Fortree
-
- thumb_func_start TilesetCb_Lilycove
-TilesetCb_Lilycove: @ 80A0DC4
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Lilycove
-
- thumb_func_start TilesetCb_Mossdeep
-TilesetCb_Mossdeep: @ 80A0DEC
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Mossdeep
-
- thumb_func_start TilesetCb_EverGrande
-TilesetCb_EverGrande: @ 80A0E14
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1188
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_EverGrande
-
- thumb_func_start TilesetCb_Pacifidlog
-TilesetCb_Pacifidlog: @ 80A0E40
- ldr r1, =gUnknown_03000F3A
- ldr r0, =gUnknown_03000F36
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A11FC
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Pacifidlog
-
- thumb_func_start TilesetCb_Sootopolis
-TilesetCb_Sootopolis: @ 80A0E70
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A122C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Sootopolis
-
- thumb_func_start TilesetCb_BattleFrontierOutsideWest
-TilesetCb_BattleFrontierOutsideWest: @ 80A0E9C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A127C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BattleFrontierOutsideWest
-
- thumb_func_start TilesetCb_BattleFrontierOutsideEast
-TilesetCb_BattleFrontierOutsideEast: @ 80A0EC8
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1294
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BattleFrontierOutsideEast
-
- thumb_func_start TilesetCb_Underwater
-TilesetCb_Underwater: @ 80A0EF4
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- movs r0, 0x80
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1244
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Underwater
-
- thumb_func_start TilesetCb_SootopolisGym
-TilesetCb_SootopolisGym: @ 80A0F18
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A15D8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_SootopolisGym
-
- thumb_func_start TilesetCb_Cave
-TilesetCb_Cave: @ 80A0F3C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1260
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_Cave
-
- thumb_func_start TilesetCb_EliteFour
-TilesetCb_EliteFour: @ 80A0F68
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- movs r0, 0x80
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A15F0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_EliteFour
-
- thumb_func_start TilesetCb_MauvilleGym
-TilesetCb_MauvilleGym: @ 80A0F8C
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A15C0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_MauvilleGym
-
- thumb_func_start TilesetCb_BikeShop
-TilesetCb_BikeShop: @ 80A0FB8
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A161C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BikeShop
-
- thumb_func_start TilesetCb_BattlePyramid
-TilesetCb_BattlePyramid: @ 80A0FE4
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1634
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BattlePyramid
-
- thumb_func_start TilesetCb_BattleDome
-TilesetCb_BattleDome: @ 80A1010
- ldr r1, =gUnknown_03000F3A
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000F3C
- ldr r0, =gUnknown_03000F38
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gUnknown_03000F44
- ldr r0, =sub_80A1658
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end TilesetCb_BattleDome
-
- thumb_func_start sub_80A103C
-sub_80A103C: @ 80A103C
- push {r4-r6,lr}
- lsls r5, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r5
- lsrs r6, r0, 16
- cmp r6, 0
- bne _080A105C
- lsrs r4, r5, 19
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A1434
- adds r0, r4, 0
- bl sub_80A1470
-_080A105C:
- cmp r6, 0x1
- bne _080A1068
- lsrs r0, r5, 19
- movs r1, 0x1
- bl sub_80A1434
-_080A1068:
- cmp r6, 0x2
- bne _080A1074
- lsrs r0, r5, 19
- movs r1, 0x2
- bl sub_80A1434
-_080A1074:
- cmp r6, 0x3
- bne _080A1080
- lsrs r0, r5, 19
- movs r1, 0x3
- bl sub_80A1434
-_080A1080:
- cmp r6, 0x4
- bne _080A108C
- lsrs r0, r5, 19
- movs r1, 0x4
- bl sub_80A1434
-_080A108C:
- cmp r6, 0x5
- bne _080A1098
- lsrs r0, r5, 19
- movs r1, 0x5
- bl sub_80A1434
-_080A1098:
- cmp r6, 0x6
- bne _080A10A4
- lsrs r0, r5, 19
- movs r1, 0x6
- bl sub_80A1434
-_080A10A4:
- cmp r6, 0x7
- bne _080A10B0
- lsrs r0, r5, 19
- movs r1, 0x7
- bl sub_80A1434
-_080A10B0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A103C
-
- thumb_func_start sub_80A10B8
-sub_80A10B8: @ 80A10B8
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A10CC
- lsrs r0, r1, 19
- bl sub_80A1520
-_080A10CC:
- pop {r0}
- bx r0
- thumb_func_end sub_80A10B8
-
- thumb_func_start sub_80A10D0
-sub_80A10D0: @ 80A10D0
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- bne _080A10E4
- lsrs r0, r1, 20
- bl sub_80A1598
-_080A10E4:
- pop {r0}
- bx r0
- thumb_func_end sub_80A10D0
-
- thumb_func_start sub_80A10E8
-sub_80A10E8: @ 80A10E8
- push {r4,r5,lr}
- lsls r4, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r4
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080A1100
- lsrs r0, r4, 19
- movs r1, 0
- bl sub_80A1394
-_080A1100:
- cmp r5, 0x1
- bne _080A110C
- lsrs r0, r4, 19
- movs r1, 0x1
- bl sub_80A1394
-_080A110C:
- cmp r5, 0x2
- bne _080A1118
- lsrs r0, r4, 19
- movs r1, 0x2
- bl sub_80A1394
-_080A1118:
- cmp r5, 0x3
- bne _080A1124
- lsrs r0, r4, 19
- movs r1, 0x3
- bl sub_80A1394
-_080A1124:
- cmp r5, 0x4
- bne _080A1130
- lsrs r0, r4, 19
- movs r1, 0x4
- bl sub_80A1394
-_080A1130:
- cmp r5, 0x5
- bne _080A113C
- lsrs r0, r4, 19
- movs r1, 0x5
- bl sub_80A1394
-_080A113C:
- cmp r5, 0x6
- bne _080A1148
- lsrs r0, r4, 19
- movs r1, 0x6
- bl sub_80A1394
-_080A1148:
- cmp r5, 0x7
- bne _080A1154
- lsrs r0, r4, 19
- movs r1, 0x7
- bl sub_80A1394
-_080A1154:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A10E8
-
- thumb_func_start sub_80A115C
-sub_80A115C: @ 80A115C
- push {r4,r5,lr}
- lsls r4, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r4
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080A1176
- lsrs r0, r4, 20
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A12D4
-_080A1176:
- cmp r5, 0x1
- bne _080A1180
- lsrs r0, r4, 20
- bl sub_80A1498
-_080A1180:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A115C
-
- thumb_func_start sub_80A1188
-sub_80A1188: @ 80A1188
- push {r4,r5,lr}
- lsls r4, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r4
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080A11A0
- lsrs r0, r4, 19
- movs r1, 0
- bl sub_80A14C0
-_080A11A0:
- cmp r5, 0x1
- bne _080A11AC
- lsrs r0, r4, 19
- movs r1, 0x1
- bl sub_80A14C0
-_080A11AC:
- cmp r5, 0x2
- bne _080A11B8
- lsrs r0, r4, 19
- movs r1, 0x2
- bl sub_80A14C0
-_080A11B8:
- cmp r5, 0x3
- bne _080A11C4
- lsrs r0, r4, 19
- movs r1, 0x3
- bl sub_80A14C0
-_080A11C4:
- cmp r5, 0x4
- bne _080A11D0
- lsrs r0, r4, 19
- movs r1, 0x4
- bl sub_80A14C0
-_080A11D0:
- cmp r5, 0x5
- bne _080A11DC
- lsrs r0, r4, 19
- movs r1, 0x5
- bl sub_80A14C0
-_080A11DC:
- cmp r5, 0x6
- bne _080A11E8
- lsrs r0, r4, 19
- movs r1, 0x6
- bl sub_80A14C0
-_080A11E8:
- cmp r5, 0x7
- bne _080A11F4
- lsrs r0, r4, 19
- movs r1, 0x7
- bl sub_80A14C0
-_080A11F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1188
-
- thumb_func_start sub_80A11FC
-sub_80A11FC: @ 80A11FC
- push {r4,r5,lr}
- lsls r4, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r4
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080A1216
- lsrs r0, r4, 20
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A131C
-_080A1216:
- cmp r5, 0x1
- bne _080A1224
- lsrs r0, r4, 20
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A136C
-_080A1224:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A11FC
-
- thumb_func_start sub_80A122C
-sub_80A122C: @ 80A122C
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- bne _080A1240
- lsrs r0, r1, 20
- bl sub_80A1798
-_080A1240:
- pop {r0}
- bx r0
- thumb_func_end sub_80A122C
-
- thumb_func_start sub_80A1244
-sub_80A1244: @ 80A1244
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- bne _080A125C
- lsrs r0, r1, 20
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A1344
-_080A125C:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1244
-
- thumb_func_start sub_80A1260
-sub_80A1260: @ 80A1260
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- lsrs r0, 16
- cmp r0, 0x1
- bne _080A1276
- lsrs r0, r1, 20
- bl sub_80A14F8
-_080A1276:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1260
-
- thumb_func_start sub_80A127C
-sub_80A127C: @ 80A127C
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A1290
- lsrs r0, r1, 19
- bl sub_80A1548
-_080A1290:
- pop {r0}
- bx r0
- thumb_func_end sub_80A127C
-
- thumb_func_start sub_80A1294
-sub_80A1294: @ 80A1294
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A12A8
- lsrs r0, r1, 19
- bl sub_80A1570
-_080A12A8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1294
-
- thumb_func_start sub_80A12AC
-sub_80A12AC: @ 80A12AC
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08513684
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06003c00
- movs r2, 0xA0
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A12AC
-
- thumb_func_start sub_80A12D4
-sub_80A12D4: @ 80A12D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x3
- ands r0, r4
- ldr r5, =gUnknown_08513894
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- ldr r1, =0x06006400
- movs r2, 0x80
- bl sub_80A0980
- adds r1, r4, 0x2
- adds r0, r1, 0
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 22
- adds r0, r5
- ldr r0, [r0]
- ldr r1, =0x06006480
- movs r2, 0x80
- bl sub_80A0980
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A12D4
-
- thumb_func_start sub_80A131C
-sub_80A131C: @ 80A131C
- push {lr}
- lsls r0, 24
- movs r1, 0xC0
- lsls r1, 18
- ands r1, r0
- ldr r0, =gUnknown_085143E4
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007a00
- movs r2, 0xF0
- lsls r2, 2
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A131C
-
- thumb_func_start sub_80A1344
-sub_80A1344: @ 80A1344
- push {lr}
- lsls r0, 24
- movs r1, 0xC0
- lsls r1, 18
- ands r1, r0
- ldr r0, =gUnknown_085145F4
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007e00
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1344
-
- thumb_func_start sub_80A136C
-sub_80A136C: @ 80A136C
- push {lr}
- lsls r0, 24
- movs r1, 0xE0
- lsls r1, 19
- ands r1, r0
- ldr r0, =gUnknown_08514E04
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007e00
- movs r2, 0x80
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A136C
-
- thumb_func_start sub_80A1394
-sub_80A1394: @ 80A1394
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- subs r0, r5, r6
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xB
- bhi _080A13F0
- adds r0, r5, 0
- movs r1, 0xC
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- ldr r0, =gUnknown_08515384
- lsrs r4, 14
- adds r0, r4, r0
- ldr r0, [r0]
- ldr r1, =gUnknown_08515344
- lsls r5, r6, 2
- adds r1, r5, r1
- ldr r1, [r1]
- movs r2, 0x80
- bl sub_80A0980
- ldr r0, =gUnknown_085153B4
- adds r4, r0
- ldr r0, [r4]
- ldr r1, =gUnknown_08515364
- adds r5, r1
- ldr r1, [r5]
- movs r2, 0x80
- bl sub_80A0980
- b _080A141C
- .pool
-_080A13F0:
- movs r0, 0x3
- ands r5, r0
- ldr r0, =gUnknown_085153E4
- lsls r5, 2
- adds r0, r5, r0
- ldr r0, [r0]
- ldr r1, =gUnknown_08515344
- lsls r4, r6, 2
- adds r1, r4, r1
- ldr r1, [r1]
- movs r2, 0x80
- bl sub_80A0980
- ldr r0, =gUnknown_085153F4
- adds r5, r0
- ldr r0, [r5]
- ldr r1, =gUnknown_08515364
- adds r4, r1
- ldr r1, [r4]
- movs r2, 0x80
- bl sub_80A0980
-_080A141C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1394
-
- thumb_func_start sub_80A1434
-sub_80A1434: @ 80A1434
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r3, r1, 24
- subs r0, r3
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, =gUnknown_08515824
- lsrs r1, 14
- adds r1, r0
- ldr r2, [r1]
- cmp r2, 0
- beq _080A1464
- ldr r0, =gUnknown_08515804
- lsls r1, r3, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r2, 0
- movs r2, 0x80
- bl sub_80A0980
-_080A1464:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1434
-
- thumb_func_start sub_80A1470
-sub_80A1470: @ 80A1470
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_08515964
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06007800
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1470
-
- thumb_func_start sub_80A1498
-sub_80A1498: @ 80A1498
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08515D8C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005400
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1498
-
- thumb_func_start sub_80A14C0
-sub_80A14C0: @ 80A14C0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1
- lsls r0, 16
- movs r2, 0xE0
- lsls r2, 11
- ands r2, r0
- ldr r0, =gUnknown_085161DC
- lsrs r2, 14
- adds r2, r0
- ldr r0, [r2]
- ldr r2, =gUnknown_085161BC
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A14C0
-
- thumb_func_start sub_80A14F8
-sub_80A14F8: @ 80A14F8
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08515D8C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007400
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A14F8
-
- thumb_func_start sub_80A1520
-sub_80A1520: @ 80A1520
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_085164FC
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005540
- movs r2, 0xC0
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1520
-
- thumb_func_start sub_80A1548
-sub_80A1548: @ 80A1548
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_0851680C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005b40
- movs r2, 0xC0
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1548
-
- thumb_func_start sub_80A1570
-sub_80A1570: @ 80A1570
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08516B1C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005b40
- movs r2, 0xC0
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1570
-
- thumb_func_start sub_80A1598
-sub_80A1598: @ 80A1598
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08516D2C
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005c00
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1598
-
- thumb_func_start sub_80A15C0
-sub_80A15C0: @ 80A15C0
- push {lr}
- lsls r2, r0, 16
- lsrs r0, r2, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A15D4
- lsrs r0, r2, 17
- bl sub_80A1748
-_080A15D4:
- pop {r0}
- bx r0
- thumb_func_end sub_80A15C0
-
- thumb_func_start sub_80A15D8
-sub_80A15D8: @ 80A15D8
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r1
- cmp r0, 0
- bne _080A15EC
- lsrs r0, r1, 19
- bl sub_80A16B0
-_080A15EC:
- pop {r0}
- bx r0
- thumb_func_end sub_80A15D8
-
- thumb_func_start sub_80A15F0
-sub_80A15F0: @ 80A15F0
- push {r4,r5,lr}
- lsls r4, r0, 16
- lsrs r0, r4, 16
- adds r5, r0, 0
- movs r0, 0x3F
- ands r0, r5
- cmp r0, 0x1
- bne _080A1606
- lsrs r0, r4, 22
- bl sub_80A1720
-_080A1606:
- movs r0, 0x7
- ands r0, r5
- cmp r0, 0x1
- bne _080A1614
- lsrs r0, r4, 19
- bl sub_80A16F8
-_080A1614:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A15F0
-
- thumb_func_start sub_80A161C
-sub_80A161C: @ 80A161C
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xC0
- lsls r0, 10
- ands r0, r1
- cmp r0, 0
- bne _080A1630
- lsrs r0, r1, 18
- bl sub_80A1770
-_080A1630:
- pop {r0}
- bx r0
- thumb_func_end sub_80A161C
-
- thumb_func_start sub_80A1634
-sub_80A1634: @ 80A1634
- push {r4,lr}
- lsls r4, r0, 16
- movs r0, 0xE0
- lsls r0, 11
- ands r0, r4
- cmp r0, 0
- bne _080A1650
- lsrs r4, 19
- adds r0, r4, 0
- bl sub_80A17C0
- adds r0, r4, 0
- bl sub_80A17EC
-_080A1650:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1634
-
- thumb_func_start sub_80A1658
-sub_80A1658: @ 80A1658
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xC0
- lsls r0, 10
- ands r0, r1
- cmp r0, 0
- bne _080A166C
- lsrs r0, r1, 18
- bl sub_80A1818
-_080A166C:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1658
-
- thumb_func_start sub_80A1670
-sub_80A1670: @ 80A1670
- push {lr}
- lsls r1, r0, 16
- movs r0, 0xC0
- lsls r0, 10
- ands r0, r1
- cmp r0, 0
- bne _080A1684
- lsrs r0, r1, 18
- bl sub_80A1884
-_080A1684:
- pop {r0}
- bx r0
- thumb_func_end sub_80A1670
-
- thumb_func_start sub_80A1688
-sub_80A1688: @ 80A1688
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_08516E3C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06003e00
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1688
-
- thumb_func_start sub_80A16B0
-sub_80A16B0: @ 80A16B0
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- ldr r0, =gUnknown_08517A44
- lsrs r4, 14
- adds r0, r4, r0
- ldr r0, [r0]
- ldr r1, =0x06007e00
- movs r2, 0xC0
- lsls r2, 1
- bl sub_80A0980
- ldr r0, =gUnknown_08517A50
- adds r4, r0
- ldr r0, [r4]
- ldr r1, =0x06007a00
- movs r2, 0xA0
- lsls r2, 2
- bl sub_80A0980
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A16B0
-
- thumb_func_start sub_80A16F8
-sub_80A16F8: @ 80A16F8
- push {lr}
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- ldr r0, =gUnknown_08517BFC
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06007f00
- movs r2, 0x20
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A16F8
-
- thumb_func_start sub_80A1720
-sub_80A1720: @ 80A1720
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_08517C0C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06007c00
- movs r2, 0x80
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1720
-
- thumb_func_start sub_80A1748
-sub_80A1748: @ 80A1748
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_08518034
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06005200
- movs r2, 0x80
- lsls r2, 2
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1748
-
- thumb_func_start sub_80A1770
-sub_80A1770: @ 80A1770
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_0851829C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06007e00
- movs r2, 0x90
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1770
-
- thumb_func_start sub_80A1798
-sub_80A1798: @ 80A1798
- push {lr}
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, =gUnknown_085202C4
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- ldr r1, =0x06005e00
- movs r2, 0xC0
- lsls r2, 4
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A1798
-
- thumb_func_start sub_80A17C0
-sub_80A17C0: @ 80A17C0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- ldr r1, =gUnknown_08524864
- lsrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x060052e0
- movs r2, 0x80
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A17C0
-
- thumb_func_start sub_80A17EC
-sub_80A17EC: @ 80A17EC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- ldr r1, =gUnknown_08524870
- lsrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x060050e0
- movs r2, 0x80
- lsls r2, 1
- bl sub_80A0980
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A17EC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/data/graphics.s b/data/graphics.s
index e5c8ad49f..e817e62dd 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -365,7 +365,19 @@ gUnknown_08D85600:: @ 8D85600
.incbin "baserom.gba", 0xd85600, 0x20
gUnknown_08D85620:: @ 8D85620
- .incbin "baserom.gba", 0xd85620, 0xa8
+ .incbin "baserom.gba", 0xd85620, 0x20
+
+gUnknown_08D85640:: @ 8D85640
+ .incbin "baserom.gba", 0xd85640, 0x20
+
+gUnknown_08D85660:: @ 8D85660
+ .incbin "baserom.gba", 0xd85660, 0x20
+
+gUnknown_08D85680:: @ 8D85680
+ .incbin "baserom.gba", 0xd85680, 0x20
+
+gUnknown_08D856A0:: @ 8D856A0
+ .incbin "baserom.gba", 0xd856a0, 0x28
gUnknown_08D856C8:: @ 8D856C8
.incbin "baserom.gba", 0xd856c8, 0xe0
diff --git a/data/palette.s b/data/palette.s
deleted file mode 100644
index 2dbfed8d2..000000000
--- a/data/palette.s
+++ /dev/null
@@ -1,18 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_0852487C:: @ 852487C
- .incbin "baserom.gba", 0x52487c, 0x10
-
-gDummyPaletteStructTemplate:: @ 852488C
- .2byte 0xFFFF
- .space 9
- .byte 0x20
- .space 4
-
- .align 2
-gUnknown_0852489C:: @ 852489C
- .incbin "baserom.gba", 0x52489c, 0x20
diff --git a/data/start_menu.s b/data/start_menu.s
index eaba0b8e1..07e428d0d 100644
--- a/data/start_menu.s
+++ b/data/start_menu.s
@@ -26,4 +26,4 @@ gUnknown_085105AC:: @ 85105AC
.incbin "baserom.gba", 0x5105ac, 0x10
gUnknown_085105BC:: @ 85105BC
- .incbin "baserom.gba", 0x5105bc, 0x1a8
+ .incbin "baserom.gba", 0x5105bc, 0x8
diff --git a/data/tileset.s b/data/tileset.s
deleted file mode 100644
index 1221d8967..000000000
--- a/data/tileset.s
+++ /dev/null
@@ -1,116 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_08510764:: @ 8510764
- .incbin "baserom.gba", 0x510764, 0xb60
-
-gUnknown_085112C4:: @ 85112C4
- .incbin "baserom.gba", 0x5112c4, 0x908
-
-gUnknown_08511BCC:: @ 8511BCC
- .incbin "baserom.gba", 0x511bcc, 0x9a8
-
-gUnknown_08512574:: @ 8512574
- .incbin "baserom.gba", 0x512574, 0x8e0
-
-gUnknown_08512E54:: @ 8512E54
- .incbin "baserom.gba", 0x512e54, 0x320
-
-gUnknown_08513174:: @ 8513174
- .incbin "baserom.gba", 0x513174, 0x510
-
-gUnknown_08513684:: @ 8513684
- .incbin "baserom.gba", 0x513684, 0x210
-
-gUnknown_08513894:: @ 8513894
- .incbin "baserom.gba", 0x513894, 0xb50
-
-gUnknown_085143E4:: @ 85143E4
- .incbin "baserom.gba", 0x5143e4, 0x210
-
-gUnknown_085145F4:: @ 85145F4
- .incbin "baserom.gba", 0x5145f4, 0x810
-
-gUnknown_08514E04:: @ 8514E04
- .incbin "baserom.gba", 0x514e04, 0x540
-
-gUnknown_08515344:: @ 8515344
- .incbin "baserom.gba", 0x515344, 0x20
-
-gUnknown_08515364:: @ 8515364
- .incbin "baserom.gba", 0x515364, 0x20
-
-gUnknown_08515384:: @ 8515384
- .incbin "baserom.gba", 0x515384, 0x30
-
-gUnknown_085153B4:: @ 85153B4
- .incbin "baserom.gba", 0x5153b4, 0x30
-
-gUnknown_085153E4:: @ 85153E4
- .incbin "baserom.gba", 0x5153e4, 0x10
-
-gUnknown_085153F4:: @ 85153F4
- .incbin "baserom.gba", 0x5153f4, 0x410
-
-gUnknown_08515804:: @ 8515804
- .incbin "baserom.gba", 0x515804, 0x20
-
-gUnknown_08515824:: @ 8515824
- .incbin "baserom.gba", 0x515824, 0x140
-
-gUnknown_08515964:: @ 8515964
- .incbin "baserom.gba", 0x515964, 0x428
-
-gUnknown_08515D8C:: @ 8515D8C
- .incbin "baserom.gba", 0x515d8c, 0x430
-
-gUnknown_085161BC:: @ 85161BC
- .incbin "baserom.gba", 0x5161bc, 0x20
-
-gUnknown_085161DC:: @ 85161DC
- .incbin "baserom.gba", 0x5161dc, 0x320
-
-gUnknown_085164FC:: @ 85164FC
- .incbin "baserom.gba", 0x5164fc, 0x310
-
-gUnknown_0851680C:: @ 851680C
- .incbin "baserom.gba", 0x51680c, 0x310
-
-gUnknown_08516B1C:: @ 8516B1C
- .incbin "baserom.gba", 0x516b1c, 0x210
-
-gUnknown_08516D2C:: @ 8516D2C
- .incbin "baserom.gba", 0x516d2c, 0x110
-
-gUnknown_08516E3C:: @ 8516E3C
- .incbin "baserom.gba", 0x516e3c, 0xc08
-
-gUnknown_08517A44:: @ 8517A44
- .incbin "baserom.gba", 0x517a44, 0xc
-
-gUnknown_08517A50:: @ 8517A50
- .incbin "baserom.gba", 0x517a50, 0x1ac
-
-gUnknown_08517BFC:: @ 8517BFC
- .incbin "baserom.gba", 0x517bfc, 0x10
-
-gUnknown_08517C0C:: @ 8517C0C
- .incbin "baserom.gba", 0x517c0c, 0x428
-
-gUnknown_08518034:: @ 8518034
- .incbin "baserom.gba", 0x518034, 0x268
-
-gUnknown_0851829C:: @ 851829C
- .incbin "baserom.gba", 0x51829c, 0x8028
-
-gUnknown_085202C4:: @ 85202C4
- .incbin "baserom.gba", 0x5202c4, 0x45a0
-
-gUnknown_08524864:: @ 8524864
- .incbin "baserom.gba", 0x524864, 0xc
-
-gUnknown_08524870:: @ 8524870
- .incbin "baserom.gba", 0x524870, 0xc
diff --git a/data/tilesets/primary/building/anim/0.png b/data/tilesets/primary/building/anim/0.png
new file mode 100644
index 000000000..004eccc67
--- /dev/null
+++ b/data/tilesets/primary/building/anim/0.png
Binary files differ
diff --git a/data/tilesets/primary/building/anim/1.png b/data/tilesets/primary/building/anim/1.png
new file mode 100644
index 000000000..e28281dea
--- /dev/null
+++ b/data/tilesets/primary/building/anim/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/0/0.png b/data/tilesets/primary/general/anim/0/0.png
new file mode 100644
index 000000000..d535d920e
--- /dev/null
+++ b/data/tilesets/primary/general/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/0/1.png b/data/tilesets/primary/general/anim/0/1.png
new file mode 100644
index 000000000..74f93ecce
--- /dev/null
+++ b/data/tilesets/primary/general/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/0/2.png b/data/tilesets/primary/general/anim/0/2.png
new file mode 100644
index 000000000..fb0bfe89f
--- /dev/null
+++ b/data/tilesets/primary/general/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/0.png b/data/tilesets/primary/general/anim/1/0.png
new file mode 100644
index 000000000..a7bb2e631
--- /dev/null
+++ b/data/tilesets/primary/general/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/1.png b/data/tilesets/primary/general/anim/1/1.png
new file mode 100644
index 000000000..c215f1683
--- /dev/null
+++ b/data/tilesets/primary/general/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/2.png b/data/tilesets/primary/general/anim/1/2.png
new file mode 100644
index 000000000..f8e0ee273
--- /dev/null
+++ b/data/tilesets/primary/general/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/3.png b/data/tilesets/primary/general/anim/1/3.png
new file mode 100644
index 000000000..6c6ce3611
--- /dev/null
+++ b/data/tilesets/primary/general/anim/1/3.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/4.png b/data/tilesets/primary/general/anim/1/4.png
new file mode 100644
index 000000000..cc1f9576c
--- /dev/null
+++ b/data/tilesets/primary/general/anim/1/4.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/5.png b/data/tilesets/primary/general/anim/1/5.png
new file mode 100644
index 000000000..3c0c57a86
--- /dev/null
+++ b/data/tilesets/primary/general/anim/1/5.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/6.png b/data/tilesets/primary/general/anim/1/6.png
new file mode 100644
index 000000000..be5ecacaa
--- /dev/null
+++ b/data/tilesets/primary/general/anim/1/6.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/1/7.png b/data/tilesets/primary/general/anim/1/7.png
new file mode 100644
index 000000000..85bc7561a
--- /dev/null
+++ b/data/tilesets/primary/general/anim/1/7.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/0.png b/data/tilesets/primary/general/anim/2/0.png
new file mode 100644
index 000000000..6f9f0c309
--- /dev/null
+++ b/data/tilesets/primary/general/anim/2/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/1.png b/data/tilesets/primary/general/anim/2/1.png
new file mode 100644
index 000000000..bef1f3023
--- /dev/null
+++ b/data/tilesets/primary/general/anim/2/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/2.png b/data/tilesets/primary/general/anim/2/2.png
new file mode 100644
index 000000000..b5d7a9ee9
--- /dev/null
+++ b/data/tilesets/primary/general/anim/2/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/3.png b/data/tilesets/primary/general/anim/2/3.png
new file mode 100644
index 000000000..42a953a83
--- /dev/null
+++ b/data/tilesets/primary/general/anim/2/3.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/4.png b/data/tilesets/primary/general/anim/2/4.png
new file mode 100644
index 000000000..112b20077
--- /dev/null
+++ b/data/tilesets/primary/general/anim/2/4.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/5.png b/data/tilesets/primary/general/anim/2/5.png
new file mode 100644
index 000000000..7f58c0b94
--- /dev/null
+++ b/data/tilesets/primary/general/anim/2/5.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/2/6.png b/data/tilesets/primary/general/anim/2/6.png
new file mode 100644
index 000000000..784a543b4
--- /dev/null
+++ b/data/tilesets/primary/general/anim/2/6.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/3/0.png b/data/tilesets/primary/general/anim/3/0.png
new file mode 100644
index 000000000..2f8bb49b6
--- /dev/null
+++ b/data/tilesets/primary/general/anim/3/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/3/1.png b/data/tilesets/primary/general/anim/3/1.png
new file mode 100644
index 000000000..5a2744a66
--- /dev/null
+++ b/data/tilesets/primary/general/anim/3/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/3/2.png b/data/tilesets/primary/general/anim/3/2.png
new file mode 100644
index 000000000..0ddf1cda7
--- /dev/null
+++ b/data/tilesets/primary/general/anim/3/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/3/3.png b/data/tilesets/primary/general/anim/3/3.png
new file mode 100644
index 000000000..f3fee8470
--- /dev/null
+++ b/data/tilesets/primary/general/anim/3/3.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/4/0.png b/data/tilesets/primary/general/anim/4/0.png
new file mode 100644
index 000000000..90dc0bc02
--- /dev/null
+++ b/data/tilesets/primary/general/anim/4/0.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/4/1.png b/data/tilesets/primary/general/anim/4/1.png
new file mode 100644
index 000000000..4459a94e5
--- /dev/null
+++ b/data/tilesets/primary/general/anim/4/1.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/4/2.png b/data/tilesets/primary/general/anim/4/2.png
new file mode 100644
index 000000000..389875c31
--- /dev/null
+++ b/data/tilesets/primary/general/anim/4/2.png
Binary files differ
diff --git a/data/tilesets/primary/general/anim/4/3.png b/data/tilesets/primary/general/anim/4/3.png
new file mode 100644
index 000000000..ac8936cce
--- /dev/null
+++ b/data/tilesets/primary/general/anim/4/3.png
Binary files differ
diff --git a/data/tilesets/primary/general/tiles.png b/data/tilesets/primary/general/tiles.png
index 3d1e90510..121e835a2 100644
--- a/data/tilesets/primary/general/tiles.png
+++ b/data/tilesets/primary/general/tiles.png
Binary files differ
diff --git a/data/tilesets/primary/inside_building/tiles.png b/data/tilesets/primary/inside_building/tiles.png
index 7d267dfb7..506bb7400 100644
--- a/data/tilesets/primary/inside_building/tiles.png
+++ b/data/tilesets/primary/inside_building/tiles.png
Binary files differ
diff --git a/data/tilesets/primary/secret_base/tiles.png b/data/tilesets/primary/secret_base/tiles.png
index 9adc0e13f..9dee014ea 100644
--- a/data/tilesets/primary/secret_base/tiles.png
+++ b/data/tilesets/primary/secret_base/tiles.png
Binary files differ
diff --git a/data/tilesets/primary/secret_base/unknown_tiles.png b/data/tilesets/primary/secret_base/unknown_tiles.png
index dd5c4e16a..3ca4d9e87 100644
--- a/data/tilesets/primary/secret_base/unknown_tiles.png
+++ b/data/tilesets/primary/secret_base/unknown_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_arena/tiles.png b/data/tilesets/secondary/battle_arena/tiles.png
index 43297aa7b..7414666df 100644
--- a/data/tilesets/secondary/battle_arena/tiles.png
+++ b/data/tilesets/secondary/battle_arena/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_dome/tiles.png b/data/tilesets/secondary/battle_dome/tiles.png
index e0fce3196..be3708bfd 100644
--- a/data/tilesets/secondary/battle_dome/tiles.png
+++ b/data/tilesets/secondary/battle_dome/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_factory/tiles.png b/data/tilesets/secondary/battle_factory/tiles.png
index 7857f0813..4d9463b20 100644
--- a/data/tilesets/secondary/battle_factory/tiles.png
+++ b/data/tilesets/secondary/battle_factory/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier/tiles.png b/data/tilesets/secondary/battle_frontier/tiles.png
index 70ec420e9..1b14ce555 100644
--- a/data/tilesets/secondary/battle_frontier/tiles.png
+++ b/data/tilesets/secondary/battle_frontier/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png
new file mode 100644
index 000000000..8a9905198
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_east/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png
new file mode 100644
index 000000000..836986b12
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_east/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png
new file mode 100644
index 000000000..660d3080f
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_east/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png b/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png
new file mode 100644
index 000000000..7fe571b4a
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_east/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/tiles.png b/data/tilesets/secondary/battle_frontier_outside_east/tiles.png
index 20cb7d67e..da34656d1 100644
--- a/data/tilesets/secondary/battle_frontier_outside_east/tiles.png
+++ b/data/tilesets/secondary/battle_frontier_outside_east/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png
new file mode 100644
index 000000000..8a9905198
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_west/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png
new file mode 100644
index 000000000..836986b12
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_west/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png
new file mode 100644
index 000000000..660d3080f
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_west/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png b/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png
new file mode 100644
index 000000000..7fe571b4a
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_west/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/tiles.png b/data/tilesets/secondary/battle_frontier_outside_west/tiles.png
index 3d5ea94f9..03704bfd0 100644
--- a/data/tilesets/secondary/battle_frontier_outside_west/tiles.png
+++ b/data/tilesets/secondary/battle_frontier_outside_west/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png b/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png
index cf54e1d77..1c1f700c0 100644
--- a/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png
+++ b/data/tilesets/secondary/battle_frontier_ranking_hall/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_palace/tiles.png b/data/tilesets/secondary/battle_palace/tiles.png
index a848a9eef..4e11e3596 100644
--- a/data/tilesets/secondary/battle_palace/tiles.png
+++ b/data/tilesets/secondary/battle_palace/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pike/tiles.png b/data/tilesets/secondary/battle_pike/tiles.png
index cba2f5794..fc11f1d1a 100644
--- a/data/tilesets/secondary/battle_pike/tiles.png
+++ b/data/tilesets/secondary/battle_pike/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/0.png b/data/tilesets/secondary/battle_pyramid/anim/0/0.png
new file mode 100644
index 000000000..c0fb59c0e
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/1.png b/data/tilesets/secondary/battle_pyramid/anim/0/1.png
new file mode 100644
index 000000000..29c019209
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/0/2.png b/data/tilesets/secondary/battle_pyramid/anim/0/2.png
new file mode 100644
index 000000000..7c463d9c3
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/0.png b/data/tilesets/secondary/battle_pyramid/anim/1/0.png
new file mode 100644
index 000000000..2a0921dea
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/1.png b/data/tilesets/secondary/battle_pyramid/anim/1/1.png
new file mode 100644
index 000000000..3474d081f
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/2.png b/data/tilesets/secondary/battle_pyramid/anim/1/2.png
new file mode 100644
index 000000000..b9f1c4423
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/3.png b/data/tilesets/secondary/battle_pyramid/anim/1/3.png
new file mode 100644
index 000000000..8ad81b1e1
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/3.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/4.png b/data/tilesets/secondary/battle_pyramid/anim/1/4.png
new file mode 100644
index 000000000..bea921d90
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/4.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/5.png b/data/tilesets/secondary/battle_pyramid/anim/1/5.png
new file mode 100644
index 000000000..bea921d90
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/5.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/6.png b/data/tilesets/secondary/battle_pyramid/anim/1/6.png
new file mode 100644
index 000000000..16652df19
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/6.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/7.png b/data/tilesets/secondary/battle_pyramid/anim/1/7.png
new file mode 100644
index 000000000..8ea7a49e6
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/7.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/8.png b/data/tilesets/secondary/battle_pyramid/anim/1/8.png
new file mode 100644
index 000000000..2895d3319
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/8.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/anim/1/9.png b/data/tilesets/secondary/battle_pyramid/anim/1/9.png
new file mode 100644
index 000000000..63c22acf2
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/anim/1/9.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/tiles.png b/data/tilesets/secondary/battle_pyramid/tiles.png
index cd45ea045..d9609f3dd 100644
--- a/data/tilesets/secondary/battle_pyramid/tiles.png
+++ b/data/tilesets/secondary/battle_pyramid/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/battle_tent/tiles.png b/data/tilesets/secondary/battle_tent/tiles.png
index 919e3878f..35e5c4b65 100644
--- a/data/tilesets/secondary/battle_tent/tiles.png
+++ b/data/tilesets/secondary/battle_tent/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/anim/0.png b/data/tilesets/secondary/bike_shop/anim/0.png
new file mode 100644
index 000000000..069509b27
--- /dev/null
+++ b/data/tilesets/secondary/bike_shop/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/anim/1.png b/data/tilesets/secondary/bike_shop/anim/1.png
new file mode 100644
index 000000000..4123bb0bf
--- /dev/null
+++ b/data/tilesets/secondary/bike_shop/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/anim/2.png b/data/tilesets/secondary/bike_shop/anim/2.png
new file mode 100644
index 000000000..7c463d9c3
--- /dev/null
+++ b/data/tilesets/secondary/bike_shop/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/tiles.png b/data/tilesets/secondary/bike_shop/tiles.png
index ec109c3be..e068538f5 100644
--- a/data/tilesets/secondary/bike_shop/tiles.png
+++ b/data/tilesets/secondary/bike_shop/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/brendans_mays_house/tiles.png b/data/tilesets/secondary/brendans_mays_house/tiles.png
index 10163e9f1..6d6a5f047 100644
--- a/data/tilesets/secondary/brendans_mays_house/tiles.png
+++ b/data/tilesets/secondary/brendans_mays_house/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/cable_club/tiles.png b/data/tilesets/secondary/cable_club/tiles.png
index 2b153c1f4..c5ad4cfac 100644
--- a/data/tilesets/secondary/cable_club/tiles.png
+++ b/data/tilesets/secondary/cable_club/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/cable_club/unknown_tiles.png b/data/tilesets/secondary/cable_club/unknown_tiles.png
index da68cdff2..84e79f720 100644
--- a/data/tilesets/secondary/cable_club/unknown_tiles.png
+++ b/data/tilesets/secondary/cable_club/unknown_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/0.png b/data/tilesets/secondary/cave/anim/0.png
new file mode 100644
index 000000000..67f294ffe
--- /dev/null
+++ b/data/tilesets/secondary/cave/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/1.png b/data/tilesets/secondary/cave/anim/1.png
new file mode 100644
index 000000000..9c92be807
--- /dev/null
+++ b/data/tilesets/secondary/cave/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/2.png b/data/tilesets/secondary/cave/anim/2.png
new file mode 100644
index 000000000..78ea00e04
--- /dev/null
+++ b/data/tilesets/secondary/cave/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/3.png b/data/tilesets/secondary/cave/anim/3.png
new file mode 100644
index 000000000..7edd52eaa
--- /dev/null
+++ b/data/tilesets/secondary/cave/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/unused/0.png b/data/tilesets/secondary/cave/anim/unused/0.png
new file mode 100644
index 000000000..44564e67a
--- /dev/null
+++ b/data/tilesets/secondary/cave/anim/unused/0.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/unused/1.png b/data/tilesets/secondary/cave/anim/unused/1.png
new file mode 100644
index 000000000..47e7e17ee
--- /dev/null
+++ b/data/tilesets/secondary/cave/anim/unused/1.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/unused/2.png b/data/tilesets/secondary/cave/anim/unused/2.png
new file mode 100644
index 000000000..d1447cde2
--- /dev/null
+++ b/data/tilesets/secondary/cave/anim/unused/2.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/anim/unused/3.png b/data/tilesets/secondary/cave/anim/unused/3.png
new file mode 100644
index 000000000..8ad81b1e1
--- /dev/null
+++ b/data/tilesets/secondary/cave/anim/unused/3.png
Binary files differ
diff --git a/data/tilesets/secondary/cave/tiles.png b/data/tilesets/secondary/cave/tiles.png
index f905c6b21..e8c98dd71 100644
--- a/data/tilesets/secondary/cave/tiles.png
+++ b/data/tilesets/secondary/cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/contest/tiles.png b/data/tilesets/secondary/contest/tiles.png
index 09ddee472..710654f5f 100644
--- a/data/tilesets/secondary/contest/tiles.png
+++ b/data/tilesets/secondary/contest/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/anim/0.png b/data/tilesets/secondary/dewford/anim/0.png
new file mode 100644
index 000000000..adf42975f
--- /dev/null
+++ b/data/tilesets/secondary/dewford/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/anim/1.png b/data/tilesets/secondary/dewford/anim/1.png
new file mode 100644
index 000000000..6e7c23a18
--- /dev/null
+++ b/data/tilesets/secondary/dewford/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/anim/2.png b/data/tilesets/secondary/dewford/anim/2.png
new file mode 100644
index 000000000..86075ffb0
--- /dev/null
+++ b/data/tilesets/secondary/dewford/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/anim/3.png b/data/tilesets/secondary/dewford/anim/3.png
new file mode 100644
index 000000000..6e3c57621
--- /dev/null
+++ b/data/tilesets/secondary/dewford/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford/tiles.png b/data/tilesets/secondary/dewford/tiles.png
index f79972197..1cf4c165c 100644
--- a/data/tilesets/secondary/dewford/tiles.png
+++ b/data/tilesets/secondary/dewford/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/dewford_gym/tiles.png b/data/tilesets/secondary/dewford_gym/tiles.png
index 1dad6f205..7d923b505 100644
--- a/data/tilesets/secondary/dewford_gym/tiles.png
+++ b/data/tilesets/secondary/dewford_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/0/0.png b/data/tilesets/secondary/elite_four/anim/0/0.png
new file mode 100644
index 000000000..806d26e57
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/0/1.png b/data/tilesets/secondary/elite_four/anim/0/1.png
new file mode 100644
index 000000000..2a8e6a31c
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/0/2.png b/data/tilesets/secondary/elite_four/anim/0/2.png
new file mode 100644
index 000000000..c4e6161a6
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/0/3.png b/data/tilesets/secondary/elite_four/anim/0/3.png
new file mode 100644
index 000000000..2a8e6a31c
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/0/3.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/0.png b/data/tilesets/secondary/elite_four/anim/1/0.png
new file mode 100644
index 000000000..7822d1896
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/1.png b/data/tilesets/secondary/elite_four/anim/1/1.png
new file mode 100644
index 000000000..66d60e90b
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/2.png b/data/tilesets/secondary/elite_four/anim/1/2.png
new file mode 100644
index 000000000..09fb59fbf
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/3.png b/data/tilesets/secondary/elite_four/anim/1/3.png
new file mode 100644
index 000000000..0c7c05034
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/1/3.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/4.png b/data/tilesets/secondary/elite_four/anim/1/4.png
new file mode 100644
index 000000000..317db1714
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/1/4.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/5.png b/data/tilesets/secondary/elite_four/anim/1/5.png
new file mode 100644
index 000000000..d0cbfeb57
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/1/5.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/6.png b/data/tilesets/secondary/elite_four/anim/1/6.png
new file mode 100644
index 000000000..4b35ededd
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/1/6.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/anim/1/7.png b/data/tilesets/secondary/elite_four/anim/1/7.png
new file mode 100644
index 000000000..dfe698edb
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/anim/1/7.png
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/tiles.png b/data/tilesets/secondary/elite_four/tiles.png
index 834be3701..d16b2db03 100644
--- a/data/tilesets/secondary/elite_four/tiles.png
+++ b/data/tilesets/secondary/elite_four/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/0.png b/data/tilesets/secondary/ever_grande/anim/0.png
new file mode 100644
index 000000000..7536d08ad
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/1.png b/data/tilesets/secondary/ever_grande/anim/1.png
new file mode 100644
index 000000000..7536d08ad
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/2.png b/data/tilesets/secondary/ever_grande/anim/2.png
new file mode 100644
index 000000000..f0835aa3b
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/3.png b/data/tilesets/secondary/ever_grande/anim/3.png
new file mode 100644
index 000000000..c07cbbd17
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/4.png b/data/tilesets/secondary/ever_grande/anim/4.png
new file mode 100644
index 000000000..7536d08ad
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/anim/4.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/5.png b/data/tilesets/secondary/ever_grande/anim/5.png
new file mode 100644
index 000000000..7536d08ad
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/anim/5.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/6.png b/data/tilesets/secondary/ever_grande/anim/6.png
new file mode 100644
index 000000000..9b5030306
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/anim/6.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/anim/7.png b/data/tilesets/secondary/ever_grande/anim/7.png
new file mode 100644
index 000000000..9b5030306
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/anim/7.png
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/tiles.png b/data/tilesets/secondary/ever_grande/tiles.png
index 0f3689c24..943a3f8f4 100644
--- a/data/tilesets/secondary/ever_grande/tiles.png
+++ b/data/tilesets/secondary/ever_grande/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/facility/tiles.png b/data/tilesets/secondary/facility/tiles.png
index 5585dee3b..f99c24150 100644
--- a/data/tilesets/secondary/facility/tiles.png
+++ b/data/tilesets/secondary/facility/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/fallarbor/tiles.png b/data/tilesets/secondary/fallarbor/tiles.png
index 4c5d72277..21ab321ef 100644
--- a/data/tilesets/secondary/fallarbor/tiles.png
+++ b/data/tilesets/secondary/fallarbor/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/fortree/tiles.png b/data/tilesets/secondary/fortree/tiles.png
index 0875d1d47..78cb1c1ae 100644
--- a/data/tilesets/secondary/fortree/tiles.png
+++ b/data/tilesets/secondary/fortree/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/fortree_gym/tiles.png b/data/tilesets/secondary/fortree_gym/tiles.png
index bb16dd0ca..932b5c06a 100644
--- a/data/tilesets/secondary/fortree_gym/tiles.png
+++ b/data/tilesets/secondary/fortree_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/generic_building/tiles.png b/data/tilesets/secondary/generic_building/tiles.png
index d94085b06..6f681f837 100644
--- a/data/tilesets/secondary/generic_building/tiles.png
+++ b/data/tilesets/secondary/generic_building/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/inside_of_truck/tiles.png b/data/tilesets/secondary/inside_of_truck/tiles.png
index 44f923a5a..65a82e888 100644
--- a/data/tilesets/secondary/inside_of_truck/tiles.png
+++ b/data/tilesets/secondary/inside_of_truck/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/inside_ship/tiles.png b/data/tilesets/secondary/inside_ship/tiles.png
index d4b0471b2..77142a755 100644
--- a/data/tilesets/secondary/inside_ship/tiles.png
+++ b/data/tilesets/secondary/inside_ship/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/island_harbor/tiles.png b/data/tilesets/secondary/island_harbor/tiles.png
index e70a72977..82e419e72 100644
--- a/data/tilesets/secondary/island_harbor/tiles.png
+++ b/data/tilesets/secondary/island_harbor/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lab/tiles.png b/data/tilesets/secondary/lab/tiles.png
index c2a86a73d..6a213d960 100644
--- a/data/tilesets/secondary/lab/tiles.png
+++ b/data/tilesets/secondary/lab/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/anim/0.png b/data/tilesets/secondary/lavaridge/anim/0.png
new file mode 100644
index 000000000..303855f71
--- /dev/null
+++ b/data/tilesets/secondary/lavaridge/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/anim/1.png b/data/tilesets/secondary/lavaridge/anim/1.png
new file mode 100644
index 000000000..7cdee79e2
--- /dev/null
+++ b/data/tilesets/secondary/lavaridge/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/anim/2.png b/data/tilesets/secondary/lavaridge/anim/2.png
new file mode 100644
index 000000000..b5810b806
--- /dev/null
+++ b/data/tilesets/secondary/lavaridge/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/anim/3.png b/data/tilesets/secondary/lavaridge/anim/3.png
new file mode 100644
index 000000000..caf7b5698
--- /dev/null
+++ b/data/tilesets/secondary/lavaridge/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/tiles.png b/data/tilesets/secondary/lavaridge/tiles.png
index 4886aa28e..896c43194 100644
--- a/data/tilesets/secondary/lavaridge/tiles.png
+++ b/data/tilesets/secondary/lavaridge/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge_gym/tiles.png b/data/tilesets/secondary/lavaridge_gym/tiles.png
index 0865ea207..8734cc3bf 100644
--- a/data/tilesets/secondary/lavaridge_gym/tiles.png
+++ b/data/tilesets/secondary/lavaridge_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lilycove/tiles.png b/data/tilesets/secondary/lilycove/tiles.png
index 88c5c7a28..b77f3d379 100644
--- a/data/tilesets/secondary/lilycove/tiles.png
+++ b/data/tilesets/secondary/lilycove/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/lilycove_museum/tiles.png b/data/tilesets/secondary/lilycove_museum/tiles.png
index 495187301..5bcc0ecfe 100644
--- a/data/tilesets/secondary/lilycove_museum/tiles.png
+++ b/data/tilesets/secondary/lilycove_museum/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/0.png b/data/tilesets/secondary/mauville/anim/0/a/0.png
new file mode 100644
index 000000000..88b028b52
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/0.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/1.png b/data/tilesets/secondary/mauville/anim/0/a/1.png
new file mode 100644
index 000000000..ce4010db2
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/2.png b/data/tilesets/secondary/mauville/anim/0/a/2.png
new file mode 100644
index 000000000..5ea20f6db
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/2.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/3.png b/data/tilesets/secondary/mauville/anim/0/a/3.png
new file mode 100644
index 000000000..fdf4d30bf
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/3.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/4.png b/data/tilesets/secondary/mauville/anim/0/a/4.png
new file mode 100644
index 000000000..c8097808c
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/4.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/5.png b/data/tilesets/secondary/mauville/anim/0/a/5.png
new file mode 100644
index 000000000..88b028b52
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/5.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/6.png b/data/tilesets/secondary/mauville/anim/0/a/6.png
new file mode 100644
index 000000000..ce4010db2
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/6.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/7.png b/data/tilesets/secondary/mauville/anim/0/a/7.png
new file mode 100644
index 000000000..5ea20f6db
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/7.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/8.png b/data/tilesets/secondary/mauville/anim/0/a/8.png
new file mode 100644
index 000000000..fdf4d30bf
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/8.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/a/9.png b/data/tilesets/secondary/mauville/anim/0/a/9.png
new file mode 100644
index 000000000..c8097808c
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/a/9.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/0.png b/data/tilesets/secondary/mauville/anim/0/b/0.png
new file mode 100644
index 000000000..88b028b52
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/b/0.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/1.png b/data/tilesets/secondary/mauville/anim/0/b/1.png
new file mode 100644
index 000000000..ce4010db2
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/b/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/2.png b/data/tilesets/secondary/mauville/anim/0/b/2.png
new file mode 100644
index 000000000..5ea20f6db
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/b/2.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/3.png b/data/tilesets/secondary/mauville/anim/0/b/3.png
new file mode 100644
index 000000000..fdf4d30bf
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/b/3.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/4.png b/data/tilesets/secondary/mauville/anim/0/b/4.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/b/4.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/5.png b/data/tilesets/secondary/mauville/anim/0/b/5.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/b/5.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/6.png b/data/tilesets/secondary/mauville/anim/0/b/6.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/b/6.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/0/b/7.png b/data/tilesets/secondary/mauville/anim/0/b/7.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/0/b/7.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/a/0.png b/data/tilesets/secondary/mauville/anim/1/a/0.png
new file mode 100644
index 000000000..88b028b52
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/a/0.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/a/1.png b/data/tilesets/secondary/mauville/anim/1/a/1.png
new file mode 100644
index 000000000..c8097808c
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/a/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/a/2.png b/data/tilesets/secondary/mauville/anim/1/a/2.png
new file mode 100644
index 000000000..5ea20f6db
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/a/2.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/a/3.png b/data/tilesets/secondary/mauville/anim/1/a/3.png
new file mode 100644
index 000000000..fdf4d30bf
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/a/3.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/0.png b/data/tilesets/secondary/mauville/anim/1/b/0.png
new file mode 100644
index 000000000..88b028b52
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/b/0.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/1.png b/data/tilesets/secondary/mauville/anim/1/b/1.png
new file mode 100644
index 000000000..c8097808c
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/b/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/2.png b/data/tilesets/secondary/mauville/anim/1/b/2.png
new file mode 100644
index 000000000..5ea20f6db
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/b/2.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/3.png b/data/tilesets/secondary/mauville/anim/1/b/3.png
new file mode 100644
index 000000000..fdf4d30bf
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/b/3.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/4.png b/data/tilesets/secondary/mauville/anim/1/b/4.png
new file mode 100644
index 000000000..44564e67a
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/b/4.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/5.png b/data/tilesets/secondary/mauville/anim/1/b/5.png
new file mode 100644
index 000000000..47e7e17ee
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/b/5.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/6.png b/data/tilesets/secondary/mauville/anim/1/b/6.png
new file mode 100644
index 000000000..d1447cde2
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/b/6.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/anim/1/b/7.png b/data/tilesets/secondary/mauville/anim/1/b/7.png
new file mode 100644
index 000000000..8ad81b1e1
--- /dev/null
+++ b/data/tilesets/secondary/mauville/anim/1/b/7.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville/tiles.png b/data/tilesets/secondary/mauville/tiles.png
index a015fe5b4..e4ce0d4f8 100644
--- a/data/tilesets/secondary/mauville/tiles.png
+++ b/data/tilesets/secondary/mauville/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_game_corner/tiles.png b/data/tilesets/secondary/mauville_game_corner/tiles.png
index c8f0dd1ee..3f7f565c9 100644
--- a/data/tilesets/secondary/mauville_game_corner/tiles.png
+++ b/data/tilesets/secondary/mauville_game_corner/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/anim/0.png b/data/tilesets/secondary/mauville_gym/anim/0.png
new file mode 100644
index 000000000..090fe6a1a
--- /dev/null
+++ b/data/tilesets/secondary/mauville_gym/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/anim/1.png b/data/tilesets/secondary/mauville_gym/anim/1.png
new file mode 100644
index 000000000..48f325890
--- /dev/null
+++ b/data/tilesets/secondary/mauville_gym/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/anim/2.png b/data/tilesets/secondary/mauville_gym/anim/2.png
new file mode 100644
index 000000000..16652df19
--- /dev/null
+++ b/data/tilesets/secondary/mauville_gym/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/anim/3.png b/data/tilesets/secondary/mauville_gym/anim/3.png
new file mode 100644
index 000000000..8ea7a49e6
--- /dev/null
+++ b/data/tilesets/secondary/mauville_gym/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/tiles.png b/data/tilesets/secondary/mauville_gym/tiles.png
index d710d2e40..5606bb101 100644
--- a/data/tilesets/secondary/mauville_gym/tiles.png
+++ b/data/tilesets/secondary/mauville_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/meteor_falls/tiles.png b/data/tilesets/secondary/meteor_falls/tiles.png
index 5b0342f9b..9c7532805 100644
--- a/data/tilesets/secondary/meteor_falls/tiles.png
+++ b/data/tilesets/secondary/meteor_falls/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mirage_tower/tiles.png b/data/tilesets/secondary/mirage_tower/tiles.png
index 8eab57f93..fd2904ca1 100644
--- a/data/tilesets/secondary/mirage_tower/tiles.png
+++ b/data/tilesets/secondary/mirage_tower/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep/tiles.png b/data/tilesets/secondary/mossdeep/tiles.png
index 1933b8983..818406b23 100644
--- a/data/tilesets/secondary/mossdeep/tiles.png
+++ b/data/tilesets/secondary/mossdeep/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep_game_corner/tiles.png b/data/tilesets/secondary/mossdeep_game_corner/tiles.png
index 379c4f42f..f09edf436 100644
--- a/data/tilesets/secondary/mossdeep_game_corner/tiles.png
+++ b/data/tilesets/secondary/mossdeep_game_corner/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep_gym/tiles.png b/data/tilesets/secondary/mossdeep_gym/tiles.png
index 919d0334e..36a0873a4 100644
--- a/data/tilesets/secondary/mossdeep_gym/tiles.png
+++ b/data/tilesets/secondary/mossdeep_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/mystery_events_house/tiles.png b/data/tilesets/secondary/mystery_events_house/tiles.png
index 1f5f8639b..5afa07fcf 100644
--- a/data/tilesets/secondary/mystery_events_house/tiles.png
+++ b/data/tilesets/secondary/mystery_events_house/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/navel_rock/tiles.png b/data/tilesets/secondary/navel_rock/tiles.png
index 06d8065f1..ffbc04584 100644
--- a/data/tilesets/secondary/navel_rock/tiles.png
+++ b/data/tilesets/secondary/navel_rock/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/oceanic_museum/tiles.png b/data/tilesets/secondary/oceanic_museum/tiles.png
index 25a20d586..a074d4a05 100644
--- a/data/tilesets/secondary/oceanic_museum/tiles.png
+++ b/data/tilesets/secondary/oceanic_museum/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/0/0.png b/data/tilesets/secondary/pacifidlog/anim/0/0.png
new file mode 100644
index 000000000..e7bcfd743
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/0/1.png b/data/tilesets/secondary/pacifidlog/anim/0/1.png
new file mode 100644
index 000000000..dde024f6e
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/0/2.png b/data/tilesets/secondary/pacifidlog/anim/0/2.png
new file mode 100644
index 000000000..1a4cea24d
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/0.png b/data/tilesets/secondary/pacifidlog/anim/1/0.png
new file mode 100644
index 000000000..beb8ee82d
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/1.png b/data/tilesets/secondary/pacifidlog/anim/1/1.png
new file mode 100644
index 000000000..594655120
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/2.png b/data/tilesets/secondary/pacifidlog/anim/1/2.png
new file mode 100644
index 000000000..747306d5c
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/3.png b/data/tilesets/secondary/pacifidlog/anim/1/3.png
new file mode 100644
index 000000000..20e0a7cdd
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/1/3.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/4.png b/data/tilesets/secondary/pacifidlog/anim/1/4.png
new file mode 100644
index 000000000..7b74ee349
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/1/4.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/5.png b/data/tilesets/secondary/pacifidlog/anim/1/5.png
new file mode 100644
index 000000000..b135bdfbe
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/1/5.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/6.png b/data/tilesets/secondary/pacifidlog/anim/1/6.png
new file mode 100644
index 000000000..4eae151e6
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/1/6.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/anim/1/7.png b/data/tilesets/secondary/pacifidlog/anim/1/7.png
new file mode 100644
index 000000000..f1863fdd5
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/anim/1/7.png
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/tiles.png b/data/tilesets/secondary/pacifidlog/tiles.png
index 496232735..94fe6d96b 100644
--- a/data/tilesets/secondary/pacifidlog/tiles.png
+++ b/data/tilesets/secondary/pacifidlog/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/petalburg/tiles.png b/data/tilesets/secondary/petalburg/tiles.png
index 97e8bf187..dd0e23ca4 100644
--- a/data/tilesets/secondary/petalburg/tiles.png
+++ b/data/tilesets/secondary/petalburg/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/petalburg_gym/tiles.png b/data/tilesets/secondary/petalburg_gym/tiles.png
index 8c996f701..cb7c40e5a 100644
--- a/data/tilesets/secondary/petalburg_gym/tiles.png
+++ b/data/tilesets/secondary/petalburg_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_center/tiles.png b/data/tilesets/secondary/pokemon_center/tiles.png
index 826da07bf..673746c5a 100644
--- a/data/tilesets/secondary/pokemon_center/tiles.png
+++ b/data/tilesets/secondary/pokemon_center/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_day_care/tiles.png b/data/tilesets/secondary/pokemon_day_care/tiles.png
index eab49af32..76cd9ab96 100644
--- a/data/tilesets/secondary/pokemon_day_care/tiles.png
+++ b/data/tilesets/secondary/pokemon_day_care/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_fan_club/tiles.png b/data/tilesets/secondary/pokemon_fan_club/tiles.png
index 2714292f0..62dd0f03f 100644
--- a/data/tilesets/secondary/pokemon_fan_club/tiles.png
+++ b/data/tilesets/secondary/pokemon_fan_club/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_school/tiles.png b/data/tilesets/secondary/pokemon_school/tiles.png
index 3c8c4dffe..20e3f32c8 100644
--- a/data/tilesets/secondary/pokemon_school/tiles.png
+++ b/data/tilesets/secondary/pokemon_school/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png b/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png
index 7a9e44935..f10306e7a 100644
--- a/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png
+++ b/data/tilesets/secondary/pretty_petal_flower_shop/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/0.png b/data/tilesets/secondary/rustboro/anim/0/0.png
new file mode 100644
index 000000000..358745e4b
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/1.png b/data/tilesets/secondary/rustboro/anim/0/1.png
new file mode 100644
index 000000000..f5a095b15
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/2.png b/data/tilesets/secondary/rustboro/anim/0/2.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/3.png b/data/tilesets/secondary/rustboro/anim/0/3.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/0/3.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/4.png b/data/tilesets/secondary/rustboro/anim/0/4.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/0/4.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/5.png b/data/tilesets/secondary/rustboro/anim/0/5.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/0/5.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/6.png b/data/tilesets/secondary/rustboro/anim/0/6.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/0/6.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/0/7.png b/data/tilesets/secondary/rustboro/anim/0/7.png
new file mode 100644
index 000000000..91f368cf8
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/0/7.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/1/0.png b/data/tilesets/secondary/rustboro/anim/1/0.png
new file mode 100644
index 000000000..75bd2f8a4
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/1/1.png b/data/tilesets/secondary/rustboro/anim/1/1.png
new file mode 100644
index 000000000..9f8b3a02f
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/1/2.png b/data/tilesets/secondary/rustboro/anim/1/2.png
new file mode 100644
index 000000000..86075ffb0
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/anim/1/3.png b/data/tilesets/secondary/rustboro/anim/1/3.png
new file mode 100644
index 000000000..6e3c57621
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/anim/1/3.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/tiles.png b/data/tilesets/secondary/rustboro/tiles.png
index 8cea2a4d9..fbfc72d46 100644
--- a/data/tilesets/secondary/rustboro/tiles.png
+++ b/data/tilesets/secondary/rustboro/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/rustboro_gym/tiles.png b/data/tilesets/secondary/rustboro_gym/tiles.png
index bfdc07c07..d4ebc14a1 100644
--- a/data/tilesets/secondary/rustboro_gym/tiles.png
+++ b/data/tilesets/secondary/rustboro_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/rusturf_tunnel/tiles.png b/data/tilesets/secondary/rusturf_tunnel/tiles.png
index dc947bcc5..913935f77 100644
--- a/data/tilesets/secondary/rusturf_tunnel/tiles.png
+++ b/data/tilesets/secondary/rusturf_tunnel/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/seashore_house/tiles.png b/data/tilesets/secondary/seashore_house/tiles.png
index 695f83037..ea48f5006 100644
--- a/data/tilesets/secondary/seashore_house/tiles.png
+++ b/data/tilesets/secondary/seashore_house/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/blue_cave/tiles.png b/data/tilesets/secondary/secret_base/blue_cave/tiles.png
index 207e8d845..9d820463b 100644
--- a/data/tilesets/secondary/secret_base/blue_cave/tiles.png
+++ b/data/tilesets/secondary/secret_base/blue_cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png
new file mode 100644
index 000000000..1e42fed54
--- /dev/null
+++ b/data/tilesets/secondary/secret_base/blue_cave/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/brown_cave/tiles.png b/data/tilesets/secondary/secret_base/brown_cave/tiles.png
index 7888f8cc2..a1c8bfe72 100644
--- a/data/tilesets/secondary/secret_base/brown_cave/tiles.png
+++ b/data/tilesets/secondary/secret_base/brown_cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png
new file mode 100644
index 000000000..dfd187d51
--- /dev/null
+++ b/data/tilesets/secondary/secret_base/brown_cave/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/red_cave/tiles.png b/data/tilesets/secondary/secret_base/red_cave/tiles.png
index 5c21865e2..2652f6bbf 100644
--- a/data/tilesets/secondary/secret_base/red_cave/tiles.png
+++ b/data/tilesets/secondary/secret_base/red_cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png
new file mode 100644
index 000000000..5cfebd309
--- /dev/null
+++ b/data/tilesets/secondary/secret_base/red_cave/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/shrub/tiles.png b/data/tilesets/secondary/secret_base/shrub/tiles.png
index 2e0a6d028..692141b04 100644
--- a/data/tilesets/secondary/secret_base/shrub/tiles.png
+++ b/data/tilesets/secondary/secret_base/shrub/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/shrub/unused_tiles.png b/data/tilesets/secondary/secret_base/shrub/unused_tiles.png
new file mode 100644
index 000000000..461d620ae
--- /dev/null
+++ b/data/tilesets/secondary/secret_base/shrub/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/tree/tiles.png b/data/tilesets/secondary/secret_base/tree/tiles.png
index 83ddd6144..94887cc1f 100644
--- a/data/tilesets/secondary/secret_base/tree/tiles.png
+++ b/data/tilesets/secondary/secret_base/tree/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/tree/unused_tiles.png b/data/tilesets/secondary/secret_base/tree/unused_tiles.png
new file mode 100644
index 000000000..567cf7800
--- /dev/null
+++ b/data/tilesets/secondary/secret_base/tree/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/yellow_cave/tiles.png b/data/tilesets/secondary/secret_base/yellow_cave/tiles.png
index e8386a804..b171b5ec6 100644
--- a/data/tilesets/secondary/secret_base/yellow_cave/tiles.png
+++ b/data/tilesets/secondary/secret_base/yellow_cave/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png b/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png
new file mode 100644
index 000000000..f825201cc
--- /dev/null
+++ b/data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/shop/tiles.png b/data/tilesets/secondary/shop/tiles.png
index 31e3c5319..f253a2e53 100644
--- a/data/tilesets/secondary/shop/tiles.png
+++ b/data/tilesets/secondary/shop/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/anim/0.png b/data/tilesets/secondary/slateport/anim/0.png
new file mode 100644
index 000000000..ef62c4143
--- /dev/null
+++ b/data/tilesets/secondary/slateport/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/anim/1.png b/data/tilesets/secondary/slateport/anim/1.png
new file mode 100644
index 000000000..9b926bdfc
--- /dev/null
+++ b/data/tilesets/secondary/slateport/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/anim/2.png b/data/tilesets/secondary/slateport/anim/2.png
new file mode 100644
index 000000000..c5974f105
--- /dev/null
+++ b/data/tilesets/secondary/slateport/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/anim/3.png b/data/tilesets/secondary/slateport/anim/3.png
new file mode 100644
index 000000000..9b926bdfc
--- /dev/null
+++ b/data/tilesets/secondary/slateport/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/slateport/tiles.png b/data/tilesets/secondary/slateport/tiles.png
index f89ca2b0c..d8661b99a 100644
--- a/data/tilesets/secondary/slateport/tiles.png
+++ b/data/tilesets/secondary/slateport/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/0.png b/data/tilesets/secondary/sootopolis/anim/0.png
new file mode 100644
index 000000000..63f97ad47
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/1.png b/data/tilesets/secondary/sootopolis/anim/1.png
new file mode 100644
index 000000000..aa14ec04a
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/2.png b/data/tilesets/secondary/sootopolis/anim/2.png
new file mode 100644
index 000000000..09fb59fbf
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/3.png b/data/tilesets/secondary/sootopolis/anim/3.png
new file mode 100644
index 000000000..0c7c05034
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/4.png b/data/tilesets/secondary/sootopolis/anim/4.png
new file mode 100644
index 000000000..317db1714
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/anim/4.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/5.png b/data/tilesets/secondary/sootopolis/anim/5.png
new file mode 100644
index 000000000..d0cbfeb57
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/anim/5.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/6.png b/data/tilesets/secondary/sootopolis/anim/6.png
new file mode 100644
index 000000000..4b35ededd
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/anim/6.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/anim/7.png b/data/tilesets/secondary/sootopolis/anim/7.png
new file mode 100644
index 000000000..dfe698edb
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/anim/7.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/tiles.png b/data/tilesets/secondary/sootopolis/tiles.png
index 5e9866821..92df774ae 100644
--- a/data/tilesets/secondary/sootopolis/tiles.png
+++ b/data/tilesets/secondary/sootopolis/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/0.png b/data/tilesets/secondary/sootopolis_gym/anim/0/0.png
new file mode 100644
index 000000000..f0ec1ac00
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/anim/0/0.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/1.png b/data/tilesets/secondary/sootopolis_gym/anim/0/1.png
new file mode 100644
index 000000000..4fefe4598
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/anim/0/1.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/2.png b/data/tilesets/secondary/sootopolis_gym/anim/0/2.png
new file mode 100644
index 000000000..f603b3046
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/anim/0/2.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/0/3.png b/data/tilesets/secondary/sootopolis_gym/anim/0/3.png
new file mode 100644
index 000000000..2a8e6a31c
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/anim/0/3.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/0.png b/data/tilesets/secondary/sootopolis_gym/anim/1/0.png
new file mode 100644
index 000000000..e0f807ef4
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/anim/1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/1.png b/data/tilesets/secondary/sootopolis_gym/anim/1/1.png
new file mode 100644
index 000000000..08413b63c
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/anim/1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/anim/1/2.png b/data/tilesets/secondary/sootopolis_gym/anim/1/2.png
new file mode 100644
index 000000000..6681b5e96
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/anim/1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/tiles.png b/data/tilesets/secondary/sootopolis_gym/tiles.png
index b2533b243..4f6b25769 100644
--- a/data/tilesets/secondary/sootopolis_gym/tiles.png
+++ b/data/tilesets/secondary/sootopolis_gym/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/trainer_hill/tiles.png b/data/tilesets/secondary/trainer_hill/tiles.png
index f5330af84..78d292513 100644
--- a/data/tilesets/secondary/trainer_hill/tiles.png
+++ b/data/tilesets/secondary/trainer_hill/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/trick_house_puzzle/tiles.png b/data/tilesets/secondary/trick_house_puzzle/tiles.png
index eb81554cc..5ef1bf9ca 100644
--- a/data/tilesets/secondary/trick_house_puzzle/tiles.png
+++ b/data/tilesets/secondary/trick_house_puzzle/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/anim/0.png b/data/tilesets/secondary/underwater/anim/0.png
new file mode 100644
index 000000000..7609cc82a
--- /dev/null
+++ b/data/tilesets/secondary/underwater/anim/0.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/anim/1.png b/data/tilesets/secondary/underwater/anim/1.png
new file mode 100644
index 000000000..64cddd371
--- /dev/null
+++ b/data/tilesets/secondary/underwater/anim/1.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/anim/2.png b/data/tilesets/secondary/underwater/anim/2.png
new file mode 100644
index 000000000..ff6ff8437
--- /dev/null
+++ b/data/tilesets/secondary/underwater/anim/2.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/anim/3.png b/data/tilesets/secondary/underwater/anim/3.png
new file mode 100644
index 000000000..2863c2261
--- /dev/null
+++ b/data/tilesets/secondary/underwater/anim/3.png
Binary files differ
diff --git a/data/tilesets/secondary/underwater/tiles.png b/data/tilesets/secondary/underwater/tiles.png
index e0569d970..5af21f353 100644
--- a/data/tilesets/secondary/underwater/tiles.png
+++ b/data/tilesets/secondary/underwater/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/union_room/tiles.png b/data/tilesets/secondary/union_room/tiles.png
index 50d44bf93..b38ffe9e5 100644
--- a/data/tilesets/secondary/union_room/tiles.png
+++ b/data/tilesets/secondary/union_room/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/0.png b/data/tilesets/secondary/unused_1/0.png
new file mode 100644
index 000000000..bea921d90
--- /dev/null
+++ b/data/tilesets/secondary/unused_1/0.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/1.png b/data/tilesets/secondary/unused_1/1.png
new file mode 100644
index 000000000..bea921d90
--- /dev/null
+++ b/data/tilesets/secondary/unused_1/1.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/2.png b/data/tilesets/secondary/unused_1/2.png
new file mode 100644
index 000000000..16652df19
--- /dev/null
+++ b/data/tilesets/secondary/unused_1/2.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/3.png b/data/tilesets/secondary/unused_1/3.png
new file mode 100644
index 000000000..8ea7a49e6
--- /dev/null
+++ b/data/tilesets/secondary/unused_1/3.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/tiles.png b/data/tilesets/secondary/unused_1/tiles.png
index 0a35187c8..3ae8bce42 100644
--- a/data/tilesets/secondary/unused_1/tiles.png
+++ b/data/tilesets/secondary/unused_1/tiles.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/0.png b/data/tilesets/secondary/unused_2/0.png
new file mode 100644
index 000000000..2895d3319
--- /dev/null
+++ b/data/tilesets/secondary/unused_2/0.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/1.png b/data/tilesets/secondary/unused_2/1.png
new file mode 100644
index 000000000..63c22acf2
--- /dev/null
+++ b/data/tilesets/secondary/unused_2/1.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/2.png b/data/tilesets/secondary/unused_2/2.png
new file mode 100644
index 000000000..d1447cde2
--- /dev/null
+++ b/data/tilesets/secondary/unused_2/2.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/3.png b/data/tilesets/secondary/unused_2/3.png
new file mode 100644
index 000000000..8ad81b1e1
--- /dev/null
+++ b/data/tilesets/secondary/unused_2/3.png
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/tiles.png b/data/tilesets/secondary/unused_2/tiles.png
index b9c594303..2ab3b63d6 100644
--- a/data/tilesets/secondary/unused_2/tiles.png
+++ b/data/tilesets/secondary/unused_2/tiles.png
Binary files differ
diff --git a/include/battle.h b/include/battle.h
index 67d3d873d..bc70b86ea 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -927,6 +927,9 @@ u8 GetBankSide(u8 bank);
u8 GetBankIdentity(u8 bank);
u8 GetBankByIdentity(u8 bank);
+// battle_transition
+void sub_8149DFC(u8 a1);
+
// Move this somewhere else
#include "sprite.h"
diff --git a/include/blend_palette.h b/include/blend_palette.h
new file mode 100644
index 000000000..1db3f4eb0
--- /dev/null
+++ b/include/blend_palette.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_BLEND_PALETTE_H
+#define GUARD_BLEND_PALETTE_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+
+void BlendPalette(u16, u16, u8, u16);
+
+#endif //GUARD_BLEND_PALETTE_H
diff --git a/include/dma3.h b/include/dma3.h
index db75ea9e3..265b47824 100644
--- a/include/dma3.h
+++ b/include/dma3.h
@@ -1,20 +1,6 @@
#ifndef GUARD_DMA3_H
#define GUARD_DMA3_H
-extern u8 gDma3ManagerLocked;
-extern u8 gDma3RequestCursor;
-
-struct DmaRequestsStruct
-{
- /* 0x00 */ const u8 *src;
- /* 0x04 */ u8 *dest;
- /* 0x08 */ u16 size;
- /* 0x0A */ u16 mode;
- /* 0x0C */ u32 value;
-};
-
-extern struct DmaRequestsStruct gDma3Requests[128];
-
void ClearDma3Requests(void);
void ProcessDma3Requests(void);
int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
diff --git a/ld_script.txt b/ld_script.txt
index 2e1338f45..3170e1919 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -110,7 +110,7 @@ SECTIONS {
asm/reset_rtc_screen.o(.text);
src/start_menu.o(.text);
asm/start_menu.o(.text);
- asm/tileset.o(.text);
+ src/tileset_anims.o(.text);
src/palette.o(.text);
src/sound.o(.text);
asm/battle_anim.o(.text);
@@ -356,8 +356,8 @@ SECTIONS {
data/field_tasks.o(.rodata);
data/reset_rtc_screen.o(.rodata);
data/start_menu.o(.rodata);
- data/tileset.o(.rodata);
- data/palette.o(.rodata);
+ src/tileset_anims.o(.rodata);
+ src/palette.o(.rodata);
data/fanfares.o(.rodata);
data/battle_anims.o(.rodata);
data/title_screen.o(.rodata);
diff --git a/src/battle_1.c b/src/battle_1.c
new file mode 100644
index 000000000..5e4ef5583
--- /dev/null
+++ b/src/battle_1.c
@@ -0,0 +1,17 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA u32 gUnknown_03000DD4;
+IWRAM_DATA u32 gUnknown_03000DD8;
+IWRAM_DATA u32 gUnknown_03000DDC;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/berry_blender.c b/src/berry_blender.c
new file mode 100644
index 000000000..db50fe4c4
--- /dev/null
+++ b/src/berry_blender.c
@@ -0,0 +1,18 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+IWRAM_DATA void *berry_blender_c_unused_03000de4;
+IWRAM_DATA s16 gUnknown_03000DE8[8];
+IWRAM_DATA s16 gUnknown_03000DF8[6];
+IWRAM_DATA s16 gUnknown_03000E04;
+IWRAM_DATA s16 gUnknown_03000E06;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/dma3_manager.c b/src/dma3_manager.c
index 7cce06c15..bb015c5cf 100644
--- a/src/dma3_manager.c
+++ b/src/dma3_manager.c
@@ -1,12 +1,23 @@
#include "global.h"
#include "dma3.h"
+IWRAM_DATA struct {
+ /* 0x00 */ const u8 *src;
+ /* 0x04 */ u8 *dest;
+ /* 0x08 */ u16 size;
+ /* 0x0A */ u16 mode;
+ /* 0x0C */ u32 value;
+} gDma3Requests[128];
+
+static bool8 gDma3ManagerLocked;
+static u8 gDma3RequestCursor;
+
void ClearDma3Requests(void)
{
int i;
gDma3ManagerLocked = TRUE;
- gDma3RequestCursor = FALSE;
+ gDma3RequestCursor = 0;
for(i = 0; i < (u8)ARRAY_COUNT(gDma3Requests); i++)
{
@@ -22,7 +33,6 @@ void ClearDma3Requests(void)
void ProcessDma3Requests(void)
{
// NOTE: the fillerA member of the DMA struct is actually u32 value;
- // NOTE: gUnknown_0300001C is just a pointer inside the gDma3Requests structure, not a true symbol; feel free to remove
u16 total_size;
if (gDma3ManagerLocked)
@@ -331,7 +341,7 @@ _08000DB2:\n\
mov r5, r12\n\
ldrb r0, [r5]\n\
lsls r0, 4\n\
- ldr r3, =gUnknown_0300001C\n\
+ ldr r3, =gDma3Requests + 0x0C\n\
adds r0, r3\n\
ldr r0, [r0]\n\
strh r0, [r1]\n\
@@ -347,7 +357,7 @@ _08000DB2:\n\
bhi _08000DB2\n\
ldrb r0, [r5]\n\
lsls r0, 4\n\
- ldr r5, =gUnknown_0300001C\n\
+ ldr r5, =gDma3Requests + 0x0C\n\
adds r0, r5\n\
ldr r0, [r0]\n\
strh r0, [r1]\n\
diff --git a/src/field_camera.c b/src/field_camera.c
new file mode 100644
index 000000000..17ced6aa5
--- /dev/null
+++ b/src/field_camera.c
@@ -0,0 +1,28 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+struct FieldCameraUnknownStruct
+{
+ u8 unk0;
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+ bool8 unk4;
+};
+
+// Static RAM declarations
+
+IWRAM_DATA struct FieldCameraUnknownStruct gUnknown_03000E20;
+IWRAM_DATA s16 gUnknown_03000E28;
+IWRAM_DATA s16 gUnknown_03000E2A;
+IWRAM_DATA u8 gUnknown_03000E2C;
+IWRAM_DATA void (*gUnknown_03000E30)(void);
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/field_effect.c b/src/field_effect.c
new file mode 100644
index 000000000..628dc776a
--- /dev/null
+++ b/src/field_effect.c
@@ -0,0 +1,15 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA u8 gUnknown_03000F58[32];
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/field_screen.c b/src/field_screen.c
new file mode 100644
index 000000000..2d33d237f
--- /dev/null
+++ b/src/field_screen.c
@@ -0,0 +1,15 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+IWRAM_DATA u8 *gUnknown_03000F50;
+IWRAM_DATA u32 filler_03000f54;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
new file mode 100644
index 000000000..9929dd6f9
--- /dev/null
+++ b/src/fldeff_cut.c
@@ -0,0 +1,19 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA u8 gUnknown_03001100;
+IWRAM_DATA u8 gUnknown_03001101;
+IWRAM_DATA u8 gUnknown_03001102;
+IWRAM_DATA u32 fldeff_cut_unused_03001104;
+IWRAM_DATA u8 gUnknown_03001108[25];
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/link.c b/src/link.c
new file mode 100644
index 000000000..ae2cd1992
--- /dev/null
+++ b/src/link.c
@@ -0,0 +1,56 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+struct BlockTransfer
+{
+ u16 pos;
+ u16 size;
+ void *src;
+ bool8 active;
+ u8 multiplayerId;
+};
+
+struct LinkTestBGInfo
+{
+ u32 screenBaseBlock;
+ u32 paletteNum;
+ u32 dummy_8;
+ u32 dummy_C;
+};
+
+// Static RAM declarations
+
+IWRAM_DATA struct BlockTransfer gUnknown_03000D10;
+IWRAM_DATA u32 link_c_unused_03000d1c;
+IWRAM_DATA struct BlockTransfer gUnknown_03000D20[4];
+IWRAM_DATA u32 gUnknown_03000D50;
+IWRAM_DATA u32 gUnknown_03000D54;
+IWRAM_DATA u8 gUnknown_03000D58;
+IWRAM_DATA u32 gUnknown_03000D5C;
+IWRAM_DATA u32 gUnknown_03000D60;
+IWRAM_DATA u8 gUnknown_03000D64[4]; // not really, but won't match otherwise
+IWRAM_DATA u8 gUnknown_03000D68[4];
+IWRAM_DATA u8 gUnknown_03000D6C;
+IWRAM_DATA bool8 gUnknown_03000D6D;
+IWRAM_DATA u16 gUnknown_03000D6E;
+IWRAM_DATA u16 gUnknown_03000D70;
+IWRAM_DATA u8 gUnknown_03000D72;
+IWRAM_DATA u8 gUnknown_03000D73;
+IWRAM_DATA u8 gUnknown_03000D74[4]; // not really, but won't match otherwise
+IWRAM_DATA u8 gUnknown_03000D78[8]; // not really, but won't match otherwise
+IWRAM_DATA u8 gUnknown_03000D80[16];
+IWRAM_DATA u16 gUnknown_03000D90[8];
+IWRAM_DATA u32 gUnknown_03000DA0;
+IWRAM_DATA u32 gUnknown_03000DA4;
+IWRAM_DATA void *gUnknown_03000DA8;
+IWRAM_DATA void *gUnknown_03000DAC;
+IWRAM_DATA bool32 gUnknown_03000DB0;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/main.c b/src/main.c
index 5707e18af..665a4dd84 100644
--- a/src/main.c
+++ b/src/main.c
@@ -77,7 +77,7 @@ const IntrFunc gIntrTableTemplate[] =
#define INTR_COUNT ((int)(sizeof(gIntrTableTemplate)/sizeof(IntrFunc)))
-extern u16 gUnknown_03000000;
+static u16 gUnknown_03000000;
extern u16 gKeyRepeatStartDelay;
extern u8 gUnknown_030022B4;
diff --git a/src/main_menu.c b/src/main_menu.c
new file mode 100644
index 000000000..8608159c2
--- /dev/null
+++ b/src/main_menu.c
@@ -0,0 +1,15 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA u8 gUnknown_03000DD0;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/malloc.c b/src/malloc.c
index ccb2f7d20..1d64351c3 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -2,6 +2,7 @@
static void *sHeapStart;
static u32 sHeapSize;
+static u32 malloc_c_unused_0300000c; // needed to align dma3_manager.o(.bss)
#define MALLOC_SYSTEM_ID 0xA3A3
diff --git a/src/palette.c b/src/palette.c
index aa9a84e4c..d60efdbc5 100644
--- a/src/palette.c
+++ b/src/palette.c
@@ -1,5 +1,8 @@
#include "global.h"
+#include "blend_palette.h"
#include "palette.h"
+#include "decompress.h"
+#include "gpu_regs.h"
#include "task.h"
enum
@@ -28,7 +31,7 @@ struct PaletteStructTemplate
struct PaletteStruct
{
- struct PaletteStructTemplate *base;
+ const struct PaletteStructTemplate *base;
u32 ps_field_4_0:1;
u16 ps_field_4_1:1;
u32 baseDestOffset:9;
@@ -38,31 +41,6 @@ struct PaletteStruct
u8 ps_field_9;
};
-extern void LZDecompressWram(const void *src, void *dest);
-extern void SetGpuReg(u8 regOffset, u16 value);
-extern void sub_8149DFC(u8 a1);
-extern void sub_80A1670(u16 a1);
-extern void sub_80A2D54(u8 a1);
-extern void SetWordTaskArg(u8 taskId, u8 dataElem, u32 value);
-extern void _call_via_r1(u32 a1, void *a2);
-
-extern void BlendPalette(u16, u16, u8, u16);
-
-EWRAM_DATA u16 gPlttBufferUnfaded[0x200] = {0};
-EWRAM_DATA u16 gPlttBufferFaded[0x200] = {0};
-EWRAM_DATA struct PaletteStruct sPaletteStructs[0x10] = {0};
-EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
-EWRAM_DATA u32 gFiller_2037FE0 = 0;
-EWRAM_DATA u32 sPlttBufferTransferPending = 0;
-EWRAM_DATA u8 gPaletteDecompressionBuffer[0x400] = {0};
-
-extern struct PaletteStructTemplate gDummyPaletteStructTemplate;
-extern void *gUnknown_0852487C;
-extern u8 gUnknown_0852489C[];
-
-extern u16 gUnknown_03000F3C;
-extern void *gUnknown_03000F44;
-
static void unused_sub_80A1CDC(struct PaletteStruct *, u32 *);
static void unused_sub_80A1E40(struct PaletteStruct *, u32 *);
static void unused_sub_80A1F00(struct PaletteStruct *);
@@ -73,32 +51,29 @@ static u8 UpdateFastPaletteFade(void);
static u8 UpdateHardwarePaletteFade(void);
static void UpdateBlendRegisters(void);
static bool8 IsSoftwarePaletteFadeFinishing(void);
+static void sub_80A2D54(u8 taskId);
-void sub_80A1818(u16 a1)
-{
- void **v1 = &gUnknown_0852487C;
- CpuSet(v1[a1 & 0x3], gPlttBufferUnfaded + 0x80, 0x10);
- BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
- if ((u8)FindTaskIdByFunc(sub_8149DFC) != 0xFF )
- {
- gUnknown_03000F44 = sub_80A1670;
- gUnknown_03000F3C = 0x20;
- }
- return;
-}
+EWRAM_DATA u16 gPlttBufferUnfaded[0x200] = {0};
+EWRAM_DATA u16 gPlttBufferFaded[0x200] = {0};
+EWRAM_DATA struct PaletteStruct sPaletteStructs[0x10] = {0};
+EWRAM_DATA struct PaletteFadeControl gPaletteFade = {0};
+static EWRAM_DATA u32 gFiller_2037FE0 = 0;
+static EWRAM_DATA u32 sPlttBufferTransferPending = 0;
+EWRAM_DATA u8 gPaletteDecompressionBuffer[0x400] = {0};
-void sub_80A1884(u16 a1)
-{
- void **v1 = &gUnknown_0852487C;
- CpuSet(v1[a1 & 0x3], gPlttBufferUnfaded + 0x80, 0x10);
- if ((u8)FindTaskIdByFunc(sub_8149DFC) == 0xFF )
- {
- BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
- if (!--gUnknown_03000F3C)
- gUnknown_03000F44 = 0;
- }
- return;
-}
+static const struct PaletteStructTemplate gDummyPaletteStructTemplate = {
+ .uid = 0xFFFF,
+ .pst_field_B_5 = 1
+};
+static const u8 gUnknown_0852489C[] = {
+ 0, 0, 0, 0, 0,
+ 5, 5, 5, 5, 5,
+ 11, 11, 11, 11, 11,
+ 16, 16, 16, 16, 16,
+ 21, 21, 21, 21, 21,
+ 27, 27, 27, 27, 27,
+ 31, 31
+};
void LoadCompressedPalette(const void *src, u16 offset, u16 size)
{
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
new file mode 100644
index 000000000..3e409244c
--- /dev/null
+++ b/src/pokemon_storage_system.c
@@ -0,0 +1,15 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA u8 gUnknown_03000F78[0x188];
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/record_mixing.c b/src/record_mixing.c
new file mode 100644
index 000000000..151835e5e
--- /dev/null
+++ b/src/record_mixing.c
@@ -0,0 +1,28 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA bool8 gUnknown_03001130;
+IWRAM_DATA struct SecretBaseRecord *gUnknown_03001134;
+IWRAM_DATA TVShow *gUnknown_03001138;
+IWRAM_DATA struct UnknownSaveStruct2ABC *gUnknown_0300113C;
+IWRAM_DATA OldMan *gUnknown_03001140;
+IWRAM_DATA struct EasyChatPair *gUnknown_03001144;
+IWRAM_DATA struct DaycareData *gUnknown_03001148;
+IWRAM_DATA void *gUnknown_0300114C; // gSaveBlock2Ptr->field_64C
+IWRAM_DATA LilycoveLady *gUnknown_03001150;
+IWRAM_DATA void *gUnknown_03001154; // gSaveBlock2Ptr->field_0DC;
+IWRAM_DATA void *gUnknown_03001158; // gSaveBlock2Ptr->field_64C
+IWRAM_DATA u32 gUnknown_0300115C;
+IWRAM_DATA u8 gUnknown_03001160[8];
+IWRAM_DATA u32 gUnknown_03001168[3];
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/rom4.c b/src/rom4.c
new file mode 100644
index 000000000..c538595f2
--- /dev/null
+++ b/src/rom4.c
@@ -0,0 +1,19 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+IWRAM_DATA void *gUnknown_03000E0C;
+IWRAM_DATA u8 gUnknown_03000E10[4];
+IWRAM_DATA u8 (*gUnknown_03000E14)(u32);
+IWRAM_DATA u8 gUnknown_03000E18;
+IWRAM_DATA u8 gUnknown_03000E19;
+IWRAM_DATA void *rom4_c_unused_03000e1c;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/scrcmd.c b/src/scrcmd.c
new file mode 100644
index 000000000..b56a53caf
--- /dev/null
+++ b/src/scrcmd.c
@@ -0,0 +1,15 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA u8 gUnknown_03000F30;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/script_menu.c b/src/script_menu.c
new file mode 100644
index 000000000..04f1e82b7
--- /dev/null
+++ b/src/script_menu.c
@@ -0,0 +1,16 @@
+
+// Includes
+#include "global.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+IWRAM_DATA u8 gUnknown_03001124[6];
+IWRAM_DATA u32 filler_0300112c;
+
+// Static ROM declarations
+
+// .rodata
+
+// .text
diff --git a/src/tileset_anims.c b/src/tileset_anims.c
new file mode 100644
index 000000000..e53461e02
--- /dev/null
+++ b/src/tileset_anims.c
@@ -0,0 +1,1411 @@
+
+// Includes
+#include "global.h"
+#include "palette.h"
+#include "blend_palette.h"
+#include "battle.h"
+#include "task.h"
+
+// Static type declarations
+
+// Static RAM declarations
+
+static EWRAM_DATA struct {
+ const u16 *src;
+ u16 *dest;
+ u16 size;
+} sTilesetDMA3TransferBuffer[20] = {0};
+
+static u8 sTilesetDMA3TransferBufferSize;
+static u16 sPrimaryTilesetCBCounter;
+static u16 sPrimaryTilesetCBBufferSize;
+static u16 sSecondaryTilesetCBCounter;
+static u16 sSecondaryTilesetCBBufferSize;
+static void (*sPrimaryTilesetCB)(u16);
+static void (*sSecondaryTilesetCB)(u16);
+
+// Static ROM declarations
+
+static void cur_mapheader_run_tileset1_func(void);
+static void cur_mapheader_run_tileset2_func(void);
+
+// .rodata
+
+
+const u16 gUnknown_085105C4[] = INCBIN_U16("data/tilesets/primary/general/anim/0/1.4bpp");
+
+const u16 gUnknown_08510644[] = INCBIN_U16("data/tilesets/primary/general/anim/0/0.4bpp");
+
+const u16 gUnknown_085106C4[] = INCBIN_U16("data/tilesets/primary/general/anim/0/2.4bpp");
+
+const u16 tileset_anims_space_0[16] = {};
+
+const u16 *const gTilesetAnims_General0[] = {
+ gUnknown_08510644,
+ gUnknown_085105C4,
+ gUnknown_08510644,
+ gUnknown_085106C4
+};
+
+const u16 gUnknown_08510774[] = INCBIN_U16("data/tilesets/primary/general/anim/1/0.4bpp");
+
+const u16 gUnknown_08510B34[] = INCBIN_U16("data/tilesets/primary/general/anim/1/1.4bpp");
+
+const u16 gUnknown_08510EF4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/2.4bpp");
+
+const u16 gUnknown_085112B4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/3.4bpp");
+
+const u16 gUnknown_08511674[] = INCBIN_U16("data/tilesets/primary/general/anim/1/4.4bpp");
+
+const u16 gUnknown_08511A34[] = INCBIN_U16("data/tilesets/primary/general/anim/1/5.4bpp");
+
+const u16 gUnknown_08511DF4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/6.4bpp");
+
+const u16 gUnknown_085121B4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/7.4bpp");
+
+const u16 *const gTilesetAnims_General1[] = {
+ gUnknown_08510774,
+ gUnknown_08510B34,
+ gUnknown_08510EF4,
+ gUnknown_085112B4,
+ gUnknown_08511674,
+ gUnknown_08511A34,
+ gUnknown_08511DF4,
+ gUnknown_085121B4
+};
+
+const u16 gUnknown_08512594[] = INCBIN_U16("data/tilesets/primary/general/anim/2/0.4bpp");
+
+const u16 gUnknown_085126D4[] = INCBIN_U16("data/tilesets/primary/general/anim/2/1.4bpp");
+
+const u16 gUnknown_08512814[] = INCBIN_U16("data/tilesets/primary/general/anim/2/2.4bpp");
+
+const u16 gUnknown_08512954[] = INCBIN_U16("data/tilesets/primary/general/anim/2/3.4bpp");
+
+const u16 gUnknown_08512A94[] = INCBIN_U16("data/tilesets/primary/general/anim/2/4.4bpp");
+
+const u16 gUnknown_08512BD4[] = INCBIN_U16("data/tilesets/primary/general/anim/2/5.4bpp");
+
+const u16 gUnknown_08512D14[] = INCBIN_U16("data/tilesets/primary/general/anim/2/6.4bpp");
+
+const u16 *const gTilesetAnims_General2[] = {
+ gUnknown_08512594,
+ gUnknown_085126D4,
+ gUnknown_08512814,
+ gUnknown_08512954,
+ gUnknown_08512A94,
+ gUnknown_08512BD4,
+ gUnknown_08512D14,
+ gUnknown_08512594
+};
+
+const u16 gUnknown_08512E74[] = INCBIN_U16("data/tilesets/primary/general/anim/3/0.4bpp");
+
+const u16 gUnknown_08512F34[] = INCBIN_U16("data/tilesets/primary/general/anim/3/1.4bpp");
+
+const u16 gUnknown_08512FF4[] = INCBIN_U16("data/tilesets/primary/general/anim/3/2.4bpp");
+
+const u16 gUnknown_085130B4[] = INCBIN_U16("data/tilesets/primary/general/anim/3/3.4bpp");
+
+const u16 *const gTilesetAnims_General3[] = {
+ gUnknown_08512E74,
+ gUnknown_08512F34,
+ gUnknown_08512FF4,
+ gUnknown_085130B4
+};
+
+const u16 gUnknown_08513184[] = INCBIN_U16("data/tilesets/primary/general/anim/4/0.4bpp");
+
+const u16 gUnknown_085132C4[] = INCBIN_U16("data/tilesets/primary/general/anim/4/1.4bpp");
+
+const u16 gUnknown_08513404[] = INCBIN_U16("data/tilesets/primary/general/anim/4/2.4bpp");
+
+const u16 gUnknown_08513544[] = INCBIN_U16("data/tilesets/primary/general/anim/4/3.4bpp");
+
+const u16 *const gTilesetAnims_General4[] = {
+ gUnknown_08513184,
+ gUnknown_085132C4,
+ gUnknown_08513404,
+ gUnknown_08513544
+};
+
+const u16 gUnknown_08513694[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/0.4bpp");
+
+const u16 gUnknown_08513714[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/1.4bpp");
+
+const u16 gUnknown_08513794[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/2.4bpp");
+
+const u16 gUnknown_08513814[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/3.4bpp");
+
+const u16 *const gTilesetAnims_Lavaridge0[] = {
+ gUnknown_08513694,
+ gUnknown_08513714,
+ gUnknown_08513794,
+ gUnknown_08513814
+};
+
+const u16 gUnknown_085138A4[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/0.4bpp");
+
+const u16 gUnknown_08513C64[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/1.4bpp");
+
+const u16 gUnknown_08514024[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/2.4bpp");
+
+const u16 *const gTilesetAnims_Pacifidlog0[] = {
+ gUnknown_085138A4,
+ gUnknown_08513C64,
+ gUnknown_08514024,
+ gUnknown_08513C64
+};
+
+const u16 gUnknown_085143F4[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/0.4bpp");
+
+const u16 gUnknown_08514474[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/1.4bpp");
+
+const u16 gUnknown_085144F4[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/2.4bpp");
+
+const u16 gUnknown_08514574[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/3.4bpp");
+
+const u16 *const gTilesetAnims_Underwater0[] = {
+ gUnknown_085143F4,
+ gUnknown_08514474,
+ gUnknown_085144F4,
+ gUnknown_08514574
+};
+
+const u16 gUnknown_08514604[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp");
+
+const u16 gUnknown_08514704[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp");
+
+const u16 gUnknown_08514804[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp");
+
+const u16 gUnknown_08514904[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp");
+
+const u16 gUnknown_08514A04[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp");
+
+const u16 gUnknown_08514B04[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp");
+
+const u16 gUnknown_08514C04[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp");
+
+const u16 gUnknown_08514D04[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp");
+
+const u16 *const gTilesetAnims_Pacifidlog1[] = {
+ gUnknown_08514604,
+ gUnknown_08514704,
+ gUnknown_08514804,
+ gUnknown_08514904,
+ gUnknown_08514A04,
+ gUnknown_08514B04,
+ gUnknown_08514C04,
+ gUnknown_08514D04
+};
+
+const u16 gUnknown_08514E24[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/0.4bpp");
+
+const u16 gUnknown_08514EA4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/1.4bpp");
+
+const u16 gUnknown_08514F24[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/2.4bpp");
+
+const u16 gUnknown_08514FA4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/3.4bpp");
+
+const u16 gUnknown_08515024[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/1/a/1.4bpp");
+
+const u16 gUnknown_085150A4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/0.4bpp");
+
+const u16 gUnknown_08515124[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/1.4bpp");
+
+const u16 gUnknown_085151A4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/2.4bpp");
+
+const u16 gUnknown_08515224[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/3.4bpp");
+
+const u16 gUnknown_085152A4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/1/b/1.4bpp");
+
+const u16 tileset_anims_space_1[16] = {};
+
+u16 *const gTilesetAnims_MauvilleVDests0[] = {
+ (u16 *)(BG_VRAM + 0x4c00),
+ (u16 *)(BG_VRAM + 0x4c80),
+ (u16 *)(BG_VRAM + 0x4d00),
+ (u16 *)(BG_VRAM + 0x4d80),
+ (u16 *)(BG_VRAM + 0x4e00),
+ (u16 *)(BG_VRAM + 0x4e80),
+ (u16 *)(BG_VRAM + 0x4f00),
+ (u16 *)(BG_VRAM + 0x4f80)
+};
+
+u16 *const gTilesetAnims_MauvilleVDests1[] = {
+ (u16 *)(BG_VRAM + 0x5000),
+ (u16 *)(BG_VRAM + 0x5080),
+ (u16 *)(BG_VRAM + 0x5100),
+ (u16 *)(BG_VRAM + 0x5180),
+ (u16 *)(BG_VRAM + 0x5200),
+ (u16 *)(BG_VRAM + 0x5280),
+ (u16 *)(BG_VRAM + 0x5300),
+ (u16 *)(BG_VRAM + 0x5380)
+};
+
+const u16 *const gTilesetAnims_Mauville0a[] = {
+ gUnknown_08514E24,
+ gUnknown_08514E24,
+ gUnknown_08514EA4,
+ gUnknown_08514F24,
+ gUnknown_08514FA4,
+ gUnknown_08514FA4,
+ gUnknown_08514FA4,
+ gUnknown_08514FA4,
+ gUnknown_08514FA4,
+ gUnknown_08514FA4,
+ gUnknown_08514F24,
+ gUnknown_08514EA4
+};
+
+const u16 *const gTilesetAnims_Mauville0b[] = {
+ gUnknown_085150A4,
+ gUnknown_085150A4,
+ gUnknown_08515124,
+ gUnknown_085151A4,
+ gUnknown_08515224,
+ gUnknown_08515224,
+ gUnknown_08515224,
+ gUnknown_08515224,
+ gUnknown_08515224,
+ gUnknown_08515224,
+ gUnknown_085151A4,
+ gUnknown_08515124
+};
+
+const u16 *const gTilesetAnims_Mauville1a[] = {
+ gUnknown_08514E24,
+ gUnknown_08514E24,
+ gUnknown_08515024,
+ gUnknown_08515024
+};
+
+const u16 *const gTilesetAnims_Mauville1b[] = {
+ gUnknown_085150A4,
+ gUnknown_085150A4,
+ gUnknown_085152A4,
+ gUnknown_085152A4
+};
+
+const u16 gUnknown_08515404[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/0.4bpp");
+
+const u16 gUnknown_08515484[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/1.4bpp");
+
+const u16 gUnknown_08515504[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/2.4bpp");
+
+const u16 gUnknown_08515584[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/3.4bpp");
+
+const u16 gUnknown_08515604[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/4.4bpp");
+
+const u16 gUnknown_08515684[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/5.4bpp");
+
+const u16 gUnknown_08515704[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/6.4bpp");
+
+const u16 gUnknown_08515784[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/7.4bpp");
+
+u16 *const gTilesetAnims_RustboroVDests0[] = {
+ (u16 *)(BG_VRAM + 0x5000),
+ (u16 *)(BG_VRAM + 0x5080),
+ (u16 *)(BG_VRAM + 0x5100),
+ (u16 *)(BG_VRAM + 0x5180),
+ (u16 *)(BG_VRAM + 0x5200),
+ (u16 *)(BG_VRAM + 0x5280),
+ (u16 *)(BG_VRAM + 0x5300),
+ (u16 *)(BG_VRAM + 0x5380)
+};
+
+const u16 *const gTilesetAnims_Rustboro0[] = {
+ gUnknown_08515404,
+ gUnknown_08515484,
+ gUnknown_08515504,
+ gUnknown_08515584,
+ gUnknown_08515604,
+ gUnknown_08515684,
+ gUnknown_08515704,
+ gUnknown_08515784
+};
+
+const u16 gUnknown_08515844[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/0.4bpp");
+
+const u16 gUnknown_085158C4[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/1.4bpp");
+
+const u16 tileset_anims_space_2[16] = {};
+
+const u16 *const gTilesetAnims_Rustboro1[] = {
+ gUnknown_08515844,
+ gUnknown_085158C4
+};
+
+const u16 gUnknown_0851596C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/0.4bpp");
+
+const u16 gUnknown_085159EC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/1.4bpp");
+
+const u16 gUnknown_08515A6C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/2.4bpp");
+
+const u16 gUnknown_08515AEC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/3.4bpp");
+
+const u16 gUnknown_08515B6C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/0.4bpp");
+
+const u16 gUnknown_08515BEC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/1.4bpp");
+
+const u16 gUnknown_08515C6C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/2.4bpp");
+
+const u16 gUnknown_08515CEC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/3.4bpp");
+
+const u16 tileset_anims_space_3[16] = {};
+
+const u16 *const gTilesetAnims_Lavaridge1_Cave0[] = {
+ gUnknown_0851596C,
+ gUnknown_085159EC,
+ gUnknown_08515A6C,
+ gUnknown_08515AEC
+};
+
+const u16 gUnknown_08515D9C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/0.4bpp");
+
+const u16 gUnknown_08515E1C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/1.4bpp");
+
+const u16 gUnknown_08515E9C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/2.4bpp");
+
+const u16 gUnknown_08515F1C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/3.4bpp");
+
+const u16 gUnknown_08515F9C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/4.4bpp");
+
+const u16 gUnknown_0851601C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/5.4bpp");
+
+const u16 gUnknown_0851609C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/6.4bpp");
+
+const u16 gUnknown_0851611C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/7.4bpp");
+
+const u16 tileset_anims_space_4[16] = {};
+
+u16 *const gTilesetAnims_EverGrandeVDests0[] = {
+ (u16 *)(BG_VRAM + 0x5c00),
+ (u16 *)(BG_VRAM + 0x5c80),
+ (u16 *)(BG_VRAM + 0x5d00),
+ (u16 *)(BG_VRAM + 0x5d80),
+ (u16 *)(BG_VRAM + 0x5e00),
+ (u16 *)(BG_VRAM + 0x5e80),
+ (u16 *)(BG_VRAM + 0x5f00),
+ (u16 *)(BG_VRAM + 0x5f80)
+};
+
+const u16 *const gTilesetAnims_EverGrande0[] = {
+ gUnknown_08515D9C,
+ gUnknown_08515E1C,
+ gUnknown_08515E9C,
+ gUnknown_08515F1C,
+ gUnknown_08515F9C,
+ gUnknown_0851601C,
+ gUnknown_0851609C,
+ gUnknown_0851611C
+};
+
+const u16 gUnknown_085161FC[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/0.4bpp");
+
+const u16 gUnknown_085162BC[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/1.4bpp");
+
+const u16 gUnknown_0851637C[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/2.4bpp");
+
+const u16 gUnknown_0851643C[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/3.4bpp");
+
+const u16 *const gTilesetAnims_Dewford0[] = {
+ gUnknown_085161FC,
+ gUnknown_085162BC,
+ gUnknown_0851637C,
+ gUnknown_0851643C
+};
+
+const u16 gUnknown_0851650C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/0.4bpp");
+
+const u16 gUnknown_085165CC[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/1.4bpp");
+
+const u16 gUnknown_0851668C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/2.4bpp");
+
+const u16 gUnknown_0851674C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/3.4bpp");
+
+const u16 *const gTilesetAnims_BattleFrontierOutsideWest0[] = {
+ gUnknown_0851650C,
+ gUnknown_085165CC,
+ gUnknown_0851668C,
+ gUnknown_0851674C
+};
+
+const u16 gUnknown_0851681C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/0.4bpp");
+
+const u16 gUnknown_085168DC[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/1.4bpp");
+
+const u16 gUnknown_0851699C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/2.4bpp");
+
+const u16 gUnknown_08516A5C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/3.4bpp");
+
+const u16 *const gTilesetAnims_BattleFrontierOutsideEast0[] = {
+ gUnknown_0851681C,
+ gUnknown_085168DC,
+ gUnknown_0851699C,
+ gUnknown_08516A5C
+};
+
+const u16 gUnknown_08516B2C[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/0.4bpp");
+
+const u16 gUnknown_08516BAC[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/1.4bpp");
+
+const u16 gUnknown_08516C2C[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/2.4bpp");
+
+const u16 gUnknown_08516CAC[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/3.4bpp");
+
+const u16 *const gTilesetAnims_Slateport0[] = {
+ gUnknown_08516B2C,
+ gUnknown_08516BAC,
+ gUnknown_08516C2C,
+ gUnknown_08516CAC
+};
+
+const u16 gUnknown_08516D3C[] = INCBIN_U16("data/tilesets/primary/building/anim/0.4bpp");
+
+const u16 gUnknown_08516DBC[] = INCBIN_U16("data/tilesets/primary/building/anim/1.4bpp");
+
+const u16 *const gTilesetAnims_InsideBuilding0[] = {
+ gUnknown_08516D3C,
+ gUnknown_08516DBC
+};
+
+const u16 gUnknown_08516E44[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp");
+
+const u16 gUnknown_08516FC4[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp");
+
+const u16 gUnknown_08517144[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp");
+
+const u16 gUnknown_085172C4[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp");
+
+const u16 gUnknown_08517544[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp");
+
+const u16 gUnknown_085177C4[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp");
+
+const u16 *const gTilesetAnims_SootopolisGym0[] = {
+ gUnknown_08516E44,
+ gUnknown_08516FC4,
+ gUnknown_08517144
+};
+
+const u16 *const gTilesetAnims_SootopolisGym1[] = {
+ gUnknown_085172C4,
+ gUnknown_08517544,
+ gUnknown_085177C4
+};
+
+const u16 gUnknown_08517A5C[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/1/0.4bpp");
+
+const u16 gUnknown_08517ADC[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/1/1.4bpp");
+
+const u16 gUnknown_08517B5C[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/0.4bpp");
+
+const u16 gUnknown_08517B7C[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/1.4bpp");
+
+const u16 gUnknown_08517B9C[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/2.4bpp");
+
+const u16 gUnknown_08517BBC[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/3.4bpp");
+
+const u16 tileset_anims_space_5[16] = {};
+
+const u16 *const gTilesetAnims_EliteFour1[] = {
+ gUnknown_08517B5C,
+ gUnknown_08517B7C,
+ gUnknown_08517B9C,
+ gUnknown_08517BBC
+};
+
+const u16 *const gTilesetAnims_EliteFour0[] = {
+ gUnknown_08517A5C,
+ gUnknown_08517ADC
+};
+
+const u16 gUnknown_08517C14[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/0.4bpp");
+
+const u16 gUnknown_08517E14[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/1.4bpp");
+
+const u16 tileset_anims_space_6[16] = {};
+
+const u16 *const gTilesetAnims_MauvilleGym0[] = {
+ gUnknown_08517C14,
+ gUnknown_08517E14
+};
+
+const u16 gUnknown_0851803C[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/0.4bpp");
+
+const u16 gUnknown_0851815C[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/1.4bpp");
+
+const u16 tileset_anims_space_7[16] = {};
+
+const u16 *const gTilesetAnims_BikeShop0[] = {
+ gUnknown_0851803C,
+ gUnknown_0851815C
+};
+
+const u16 gUnknown_085182A4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/0.4bpp");
+
+const u16 gUnknown_08518EA4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/1.4bpp");
+
+const u16 gUnknown_08519AA4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/2.4bpp");
+
+const u16 gUnknown_0851A6A4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/3.4bpp");
+
+const u16 gUnknown_0851B2A4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/4.4bpp");
+
+const u16 gUnknown_0851BEA4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/5.4bpp");
+
+const u16 gUnknown_0851CAA4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/6.4bpp");
+
+const u16 gUnknown_0851D6A4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/7.4bpp");
+
+const u16 tileset_anims_space_8[16] = {};
+
+const u16 gUnknown_0851E2C4[] = INCBIN_U16("data/tilesets/secondary/unused_1/0.4bpp");
+
+const u16 gUnknown_0851EAC4[] = INCBIN_U16("data/tilesets/secondary/unused_1/1.4bpp");
+
+const u16 gUnknown_0851F2C4[] = INCBIN_U16("data/tilesets/secondary/unused_1/2.4bpp");
+
+const u16 gUnknown_0851FAC4[] = INCBIN_U16("data/tilesets/secondary/unused_1/3.4bpp");
+
+const u16 *const gTilesetAnims_Sootopolis0[] = {
+ gUnknown_085182A4,
+ gUnknown_08518EA4,
+ gUnknown_08519AA4,
+ gUnknown_0851A6A4,
+ gUnknown_0851B2A4,
+ gUnknown_0851BEA4,
+ gUnknown_0851CAA4,
+ gUnknown_0851D6A4
+};
+
+const u16 gUnknown_085202E4[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/0.4bpp");
+
+const u16 gUnknown_085203E4[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/1.4bpp");
+
+const u16 gUnknown_085204E4[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/2.4bpp");
+
+const u16 tileset_anims_space_9[16] = {};
+
+const u16 gUnknown_08520604[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/0.4bpp");
+
+const u16 gUnknown_08520704[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/1.4bpp");
+
+const u16 gUnknown_08520804[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/2.4bpp");
+
+const u16 tileset_anims_space_10[7808] = {};
+
+const u16 gUnknown_08524604[] = INCBIN_U16("data/tilesets/secondary/unused_2/0.4bpp");
+
+const u16 tileset_anims_space_11[224] = {};
+
+const u16 gUnknown_08524804[] = INCBIN_U16("data/tilesets/secondary/unused_2/1.4bpp");
+
+const u16 *const gTilesetAnims_BattlePyramid0[] = {
+ gUnknown_085202E4,
+ gUnknown_085203E4,
+ gUnknown_085204E4
+};
+
+const u16 *const gTilesetAnims_BattlePyramid1[] = {
+ gUnknown_08520604,
+ gUnknown_08520704,
+ gUnknown_08520804
+};
+
+extern const u16 gUnknown_08D85640[];
+extern const u16 gUnknown_08D85660[];
+extern const u16 gUnknown_08D85680[];
+extern const u16 gUnknown_08D856A0[];
+
+static const u16 *const gTilesetAnims_BattleDomePals0[] = {
+ gUnknown_08D85640,
+ gUnknown_08D85660,
+ gUnknown_08D85680,
+ gUnknown_08D856A0,
+};
+
+// .text
+
+static void ResetTilesetAnimBuffer(void)
+{
+ sTilesetDMA3TransferBufferSize = 0;
+ CpuFill32(0, sTilesetDMA3TransferBuffer, sizeof sTilesetDMA3TransferBuffer);
+}
+
+static void AppendTilesetAnimToBuffer(const u16 *src, u16 *dest, u16 size)
+{
+ if (sTilesetDMA3TransferBufferSize < 20)
+ {
+ sTilesetDMA3TransferBuffer[sTilesetDMA3TransferBufferSize].src = src;
+ sTilesetDMA3TransferBuffer[sTilesetDMA3TransferBufferSize].dest = dest;
+ sTilesetDMA3TransferBuffer[sTilesetDMA3TransferBufferSize].size = size;
+ sTilesetDMA3TransferBufferSize ++;
+ }
+}
+
+void TransferTilesetAnimsBuffer(void)
+{
+ int i;
+
+ for (i = 0; i < sTilesetDMA3TransferBufferSize; i ++)
+ {
+ DmaCopy16(3, sTilesetDMA3TransferBuffer[i].src, sTilesetDMA3TransferBuffer[i].dest, sTilesetDMA3TransferBuffer[i].size);
+ }
+ sTilesetDMA3TransferBufferSize = 0;
+}
+
+void cur_mapheader_run_tileset_funcs_after_some_cpuset(void)
+{
+ ResetTilesetAnimBuffer();
+ cur_mapheader_run_tileset1_func();
+ cur_mapheader_run_tileset2_func();
+}
+
+void sub_80A0A2C(void)
+{
+ cur_mapheader_run_tileset2_func();
+}
+
+void sub_80A0A38(void)
+{
+ ResetTilesetAnimBuffer();
+ if (++sPrimaryTilesetCBCounter >= sPrimaryTilesetCBBufferSize)
+ sPrimaryTilesetCBCounter = 0;
+ if (++sSecondaryTilesetCBCounter >= sSecondaryTilesetCBBufferSize)
+ sSecondaryTilesetCBCounter = 0;
+ if (sPrimaryTilesetCB)
+ sPrimaryTilesetCB(sPrimaryTilesetCBCounter);
+ if (sSecondaryTilesetCB)
+ sSecondaryTilesetCB(sSecondaryTilesetCBCounter);
+}
+
+static void cur_mapheader_run_tileset1_func(void)
+{
+ sPrimaryTilesetCBCounter = 0;
+ sPrimaryTilesetCBBufferSize = 0;
+ sPrimaryTilesetCB = NULL;
+ if (gMapHeader.mapData->primaryTileset && gMapHeader.mapData->primaryTileset->callback)
+ gMapHeader.mapData->primaryTileset->callback();
+}
+
+static void cur_mapheader_run_tileset2_func(void)
+{
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = 0;
+ sSecondaryTilesetCB = NULL;
+ if (gMapHeader.mapData->secondaryTileset && gMapHeader.mapData->secondaryTileset->callback)
+ gMapHeader.mapData->secondaryTileset->callback();
+}
+
+void TilesetCb_General(void)
+{
+ static void sub_80A0B70(u16);
+
+ sPrimaryTilesetCBCounter = 0;
+ sPrimaryTilesetCBBufferSize = 0x100;
+ sPrimaryTilesetCB = sub_80A0B70;
+}
+
+void TilesetCb_InsideBuilding(void)
+{
+ static void sub_80A0BB4(u16);
+
+ sPrimaryTilesetCBCounter = 0;
+ sPrimaryTilesetCBBufferSize = 0x100;
+ sPrimaryTilesetCB = sub_80A0BB4;
+}
+
+static void sub_80A0B70(u16 timer)
+{
+ static void sub_80A0BCC(u16);
+ static void sub_80A0BF4(u16);
+ static void sub_80A0C1C(u16);
+ static void sub_80A0C44(u16);
+ static void sub_80A12AC(u16);
+
+ if ((timer & 0x0F) == 0)
+ sub_80A0BCC(timer >> 4);
+ if ((timer & 0x0F) == 1)
+ sub_80A0BF4(timer >> 4);
+ if ((timer & 0x0F) == 2)
+ sub_80A0C1C(timer >> 4);
+ if ((timer & 0x0F) == 3)
+ sub_80A0C44(timer >> 4);
+ if ((timer & 0x0F) == 4)
+ sub_80A12AC(timer >> 4);
+}
+
+static void sub_80A0BB4(u16 timer)
+{
+ static void sub_80A1688(u16);
+
+ if ((timer & 0x7) == 0)
+ sub_80A1688(timer >> 3);
+}
+
+static void sub_80A0BCC(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General0[idx], (u16 *)(BG_VRAM + 0x3F80), 0x80);
+}
+
+static void sub_80A0BF4(u16 timer)
+{
+ u8 idx;
+
+ idx = timer % 8;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General1[idx], (u16 *)(BG_VRAM + 0x3600), 0x3C0);
+}
+
+static void sub_80A0C1C(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 8;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General2[idx], (u16 *)(BG_VRAM + 0x3a00), 0x140);
+}
+
+static void sub_80A0C44(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General3[idx], (u16 *)(BG_VRAM + 0x3e00), 0xc0);
+}
+
+void TilesetCb_Petalburg(void)
+{
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = NULL;
+}
+
+void TilesetCb_Rustboro(void)
+{
+ static void sub_80A103C(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A103C;
+}
+
+void TilesetCb_Dewford(void)
+{
+ static void sub_80A10B8(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A10B8;
+}
+
+void TilesetCb_Slateport(void)
+{
+ static void sub_80A10D0(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A10D0;
+}
+
+void TilesetCb_Mauville(void)
+{
+ static void sub_80A10E8(u16);
+
+ sSecondaryTilesetCBCounter = sPrimaryTilesetCBCounter;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A10E8;
+}
+
+void TilesetCb_Lavaridge(void)
+{
+ static void sub_80A115C(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A115C;
+}
+
+void TilesetCb_Fallarbor(void)
+{
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = NULL;
+}
+
+void TilesetCb_Fortree(void)
+{
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = NULL;
+}
+
+void TilesetCb_Lilycove(void)
+{
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = NULL;
+}
+
+void TilesetCb_Mossdeep(void)
+{
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = NULL;
+}
+
+void TilesetCb_EverGrande(void)
+{
+ static void sub_80A1188(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A1188;
+}
+
+void TilesetCb_Pacifidlog(void)
+{
+ static void sub_80A11FC(u16);
+
+ sSecondaryTilesetCBCounter = sPrimaryTilesetCBCounter;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A11FC;
+}
+
+void TilesetCb_Sootopolis(void)
+{
+ static void sub_80A122C(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A122C;
+}
+
+void TilesetCb_BattleFrontierOutsideWest(void)
+{
+ static void sub_80A127C(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A127C;
+}
+
+void TilesetCb_BattleFrontierOutsideEast(void)
+{
+ static void sub_80A1294(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A1294;
+}
+
+void TilesetCb_Underwater(void)
+{
+ static void sub_80A1244(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = 128;
+ sSecondaryTilesetCB = sub_80A1244;
+}
+
+void TilesetCb_SootopolisGym(void)
+{
+ static void sub_80A15D8(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = 240;
+ sSecondaryTilesetCB = sub_80A15D8;
+}
+
+void TilesetCb_Cave(void)
+{
+ static void sub_80A1260(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A1260;
+}
+
+void TilesetCb_EliteFour(void)
+{
+ static void sub_80A15F0(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = 128;
+ sSecondaryTilesetCB = sub_80A15F0;
+}
+
+void TilesetCb_MauvilleGym(void)
+{
+ static void sub_80A15C0(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A15C0;
+}
+
+void TilesetCb_BikeShop(void)
+{
+ static void sub_80A161C(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A161C;
+}
+
+void TilesetCb_BattlePyramid(void)
+{
+ static void sub_80A1634(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A1634;
+}
+
+void TilesetCb_BattleDome(void)
+{
+ static void sub_80A1658(u16);
+
+ sSecondaryTilesetCBCounter = 0;
+ sSecondaryTilesetCBBufferSize = sPrimaryTilesetCBBufferSize;
+ sSecondaryTilesetCB = sub_80A1658;
+}
+
+static void sub_80A103C(u16 timer)
+{
+ static void sub_80A1434(u16, u8);
+ static void sub_80A1470(u16);
+
+ if ((timer & 0x07) == 0)
+ {
+ sub_80A1434(timer >> 3, 0);
+ sub_80A1470(timer >> 3);
+ }
+ if ((timer & 0x07) == 1)
+ sub_80A1434(timer >> 3, 1);
+ if ((timer & 0x07) == 2)
+ sub_80A1434(timer >> 3, 2);
+ if ((timer & 0x07) == 3)
+ sub_80A1434(timer >> 3, 3);
+ if ((timer & 0x07) == 4)
+ sub_80A1434(timer >> 3, 4);
+ if ((timer & 0x07) == 5)
+ sub_80A1434(timer >> 3, 5);
+ if ((timer & 0x07) == 6)
+ sub_80A1434(timer >> 3, 6);
+ if ((timer & 0x07) == 7)
+ sub_80A1434(timer >> 3, 7);
+}
+
+static void sub_80A10B8(u16 timer)
+{
+ static void sub_80A1520(u16);
+
+ if ((timer & 7) == 0)
+ sub_80A1520(timer >> 3);
+}
+
+static void sub_80A10D0(u16 timer)
+{
+ static void sub_80A1598(u16);
+
+ if ((timer & 15) == 0)
+ sub_80A1598(timer >> 4);
+}
+
+static void sub_80A10E8(u16 timer)
+{
+ static void sub_80A1394(u16, u8);
+
+ if ((timer & 0x07) == 0)
+ sub_80A1394(timer >> 3, 0);
+ if ((timer & 0x07) == 1)
+ sub_80A1394(timer >> 3, 1);
+ if ((timer & 0x07) == 2)
+ sub_80A1394(timer >> 3, 2);
+ if ((timer & 0x07) == 3)
+ sub_80A1394(timer >> 3, 3);
+ if ((timer & 0x07) == 4)
+ sub_80A1394(timer >> 3, 4);
+ if ((timer & 0x07) == 5)
+ sub_80A1394(timer >> 3, 5);
+ if ((timer & 0x07) == 6)
+ sub_80A1394(timer >> 3, 6);
+ if ((timer & 0x07) == 7)
+ sub_80A1394(timer >> 3, 7);
+}
+
+static void sub_80A115C(u16 timer)
+{
+ static void sub_80A12D4(u8);
+ static void sub_80A1498(u16);
+
+ if ((timer & 0x0F) == 0)
+ sub_80A12D4(timer >> 4);
+ if ((timer & 0x0F) == 1)
+ sub_80A1498(timer >> 4);
+}
+
+static void sub_80A1188(u16 timer)
+{
+ static void sub_80A14C0(u16, u8);
+
+ if ((timer & 0x07) == 0)
+ sub_80A14C0(timer >> 3, 0);
+ if ((timer & 0x07) == 1)
+ sub_80A14C0(timer >> 3, 1);
+ if ((timer & 0x07) == 2)
+ sub_80A14C0(timer >> 3, 2);
+ if ((timer & 0x07) == 3)
+ sub_80A14C0(timer >> 3, 3);
+ if ((timer & 0x07) == 4)
+ sub_80A14C0(timer >> 3, 4);
+ if ((timer & 0x07) == 5)
+ sub_80A14C0(timer >> 3, 5);
+ if ((timer & 0x07) == 6)
+ sub_80A14C0(timer >> 3, 6);
+ if ((timer & 0x07) == 7)
+ sub_80A14C0(timer >> 3, 7);
+}
+
+static void sub_80A11FC(u16 timer)
+{
+ static void sub_80A131C(u8);
+ static void sub_80A136C(u8);
+
+ if ((timer & 0x0F) == 0)
+ sub_80A131C(timer >> 4);
+ if ((timer & 0x0F) == 1)
+ sub_80A136C(timer >> 4);
+}
+
+static void sub_80A122C(u16 timer)
+{
+ static void sub_80A1798(u16);
+
+ if ((timer & 0x0F) == 0)
+ sub_80A1798(timer >> 4);
+}
+
+static void sub_80A1244(u16 timer)
+{
+ static void sub_80A1344(u8);
+
+ if ((timer & 0x0F) == 0)
+ sub_80A1344(timer >> 4);
+}
+
+static void sub_80A1260(u16 timer)
+{
+ static void sub_80A14F8(u16);
+
+ if ((timer & 0x0F) == 1)
+ sub_80A14F8(timer >> 4);
+}
+
+static void sub_80A127C(u16 timer)
+{
+ static void sub_80A1548(u16);
+
+ if ((timer & 0x07) == 0)
+ sub_80A1548(timer >> 3);
+}
+
+static void sub_80A1294(u16 timer)
+{
+ static void sub_80A1570(u16);
+
+ if ((timer & 0x07) == 0)
+ sub_80A1570(timer >> 3);
+}
+
+static void sub_80A12AC(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_General4[idx], (u16 *)(BG_VRAM + 0x3c00), 0x140);
+}
+
+static void sub_80A12D4(u8 timer)
+{
+ u8 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + 0x6400), 0x80);
+
+ idx = (timer + 2) % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge0[idx], (u16 *)(BG_VRAM + 0x6480), 0x80);
+}
+
+static void sub_80A131C(u8 timer)
+{
+ u8 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog0[idx], (u16 *)(BG_VRAM + 0x7a00), 0x3C0);
+}
+
+static void sub_80A1344(u8 timer)
+{
+ u8 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Underwater0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x80);
+}
+
+static void sub_80A136C(u8 timer)
+{
+ u8 idx;
+
+ idx = timer % 8;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Pacifidlog1[idx], (u16 *)(BG_VRAM + 0x7e00), 0x100);
+}
+
+static void sub_80A1394(u16 timer_div, u8 timer_mod)
+{
+ timer_div -= timer_mod;
+ if (timer_div < 12) // almost certainly a typo
+ {
+ timer_div %= 12;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville0a[timer_div], gTilesetAnims_MauvilleVDests0[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville0b[timer_div], gTilesetAnims_MauvilleVDests1[timer_mod], 0x80);
+ }
+ else
+ {
+ timer_div %= 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville1a[timer_div], gTilesetAnims_MauvilleVDests0[timer_mod], 0x80);
+ AppendTilesetAnimToBuffer(gTilesetAnims_Mauville1b[timer_div], gTilesetAnims_MauvilleVDests1[timer_mod], 0x80);
+ }
+}
+
+static void sub_80A1434(u16 timer_div, u8 timer_mod)
+{
+ timer_div -= timer_mod;
+ timer_div %= 8;
+ if (gTilesetAnims_Rustboro0[timer_div])
+ AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro0[timer_div], gTilesetAnims_RustboroVDests0[timer_mod], 0x80);
+}
+
+static void sub_80A1470(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Rustboro1[idx], (u16 *)(BG_VRAM + 0x7800), 0x80);
+}
+
+static void sub_80A1498(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + 0x5400), 0x80);
+}
+
+static void sub_80A14C0(u16 timer_div, u8 timer_mod)
+{
+ timer_div -= timer_mod;
+ timer_div %= 8;
+
+ AppendTilesetAnimToBuffer(gTilesetAnims_EverGrande0[timer_div], gTilesetAnims_EverGrandeVDests0[timer_mod], 0x80);
+}
+
+static void sub_80A14F8(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Lavaridge1_Cave0[idx], (u16 *)(BG_VRAM + 0x7400), 0x80);
+}
+
+static void sub_80A1520(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Dewford0[idx], (u16 *)(BG_VRAM + 0x5540), 0xC0);
+}
+
+static void sub_80A1548(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideWest0[idx], (u16 *)(BG_VRAM + 0x5b40), 0xC0);
+}
+
+static void sub_80A1570(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattleFrontierOutsideEast0[idx], (u16 *)(BG_VRAM + 0x5b40), 0xC0);
+}
+
+static void sub_80A1598(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Slateport0[idx], (u16 *)(BG_VRAM + 0x5c00), 0x80);
+}
+
+static void sub_80A15C0(u16 timer)
+{
+ static void sub_80A1748(u16);
+
+ if ((timer & 1) == 0)
+ sub_80A1748(timer >> 1);
+}
+
+static void sub_80A15D8(u16 timer)
+{
+ static void sub_80A16B0(u16);
+
+ if ((timer & 7) == 0)
+ sub_80A16B0(timer >> 3);
+}
+
+static void sub_80A15F0(u16 timer)
+{
+ static void sub_80A1720(u16);
+ static void sub_80A16F8(u16);
+
+ if ((timer & 0x3f) == 1)
+ sub_80A1720(timer >> 6);
+ if ((timer & 0x07) == 1)
+ sub_80A16F8(timer >> 3);
+}
+static void sub_80A161C(u16 timer)
+{
+ static void sub_80A1770(u16);
+
+ if ((timer & 3) == 0)
+ sub_80A1770(timer >> 2);
+}
+
+static void sub_80A1634(u16 timer)
+{
+ static void sub_80A17C0(u16);
+ static void sub_80A17EC(u16);
+
+ if ((timer & 7) == 0)
+ {
+ sub_80A17C0(timer >> 3);
+ sub_80A17EC(timer >> 3);
+ }
+}
+
+static void sub_80A1658(u16 timer)
+{
+ static void sub_80A1818(u16);
+
+ if ((timer & 3) == 0)
+ sub_80A1818(timer >> 2);
+}
+
+static void sub_80A1670(u16 timer)
+{
+ static void sub_80A1884(u16);
+
+ if ((timer & 3) == 0)
+ sub_80A1884(timer >> 2);
+}
+
+static void sub_80A1688(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_InsideBuilding0[idx], (u16 *)(BG_VRAM + 0x3e00), 0x80);
+}
+
+static void sub_80A16B0(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 3;
+ AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x180);
+ AppendTilesetAnimToBuffer(gTilesetAnims_SootopolisGym1[idx], (u16 *)(BG_VRAM + 0x7a00), 0x280);
+}
+
+static void sub_80A16F8(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 4;
+ AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour1[idx], (u16 *)(BG_VRAM + 0x7f00), 0x20);
+}
+
+static void sub_80A1720(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_EliteFour0[idx], (u16 *)(BG_VRAM + 0x7c00), 0x80);
+}
+
+static void sub_80A1748(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_MauvilleGym0[idx], (u16 *)(BG_VRAM + 0x5200), 0x200);
+}
+
+static void sub_80A1770(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 2;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BikeShop0[idx], (u16 *)(BG_VRAM + 0x7e00), 0x120);
+}
+
+static void sub_80A1798(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 8;
+ AppendTilesetAnimToBuffer(gTilesetAnims_Sootopolis0[idx], (u16 *)(BG_VRAM + 0x5e00), 0xc00);
+}
+
+static void sub_80A17C0(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 3;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid0[idx], (u16 *)(BG_VRAM + 0x52e0), 0x100);
+}
+
+static void sub_80A17EC(u16 timer)
+{
+ u16 idx;
+
+ idx = timer % 3;
+ AppendTilesetAnimToBuffer(gTilesetAnims_BattlePyramid1[idx], (u16 *)(BG_VRAM + 0x50e0), 0x100);
+}
+
+static void sub_80A1818(u16 a1)
+{
+ CpuCopy16(gTilesetAnims_BattleDomePals0[a1 & 0x3], gPlttBufferUnfaded + 0x80, 32);
+ BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
+ if ((u8)FindTaskIdByFunc(sub_8149DFC) != 0xFF )
+ {
+ sSecondaryTilesetCB = sub_80A1670;
+ sSecondaryTilesetCBBufferSize = 0x20;
+ }
+}
+
+static void sub_80A1884(u16 a1)
+{
+ CpuCopy16(gTilesetAnims_BattleDomePals0[a1 & 0x3], gPlttBufferUnfaded + 0x80, 32);
+ if ((u8)FindTaskIdByFunc(sub_8149DFC) == 0xFF )
+ {
+ BlendPalette(0x80, 0x10, gPaletteFade.y, gPaletteFade.blendColor & 0x7FFF);
+ if (!--sSecondaryTilesetCBBufferSize)
+ sSecondaryTilesetCB = NULL;
+ }
+}
diff --git a/sym_bss.txt b/sym_bss.txt
index aacfa59a0..f32300b15 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -1,262 +1,30 @@
-gUnknown_03000000: @ 3000000
- .space 0x4
-
+ .include "src/main.o"
.include "src/malloc.o"
-
- .align 4
-gDma3Requests: @ 3000010
- .space 0xC
-
-gUnknown_0300001C: @ 300001C
- .space 0xD4
-
-gUnknown_030000F0: @ 30000F0
- .space 0xA
-
-gUnknown_030000FA: @ 30000FA
- .space 0x716
-
-gDma3ManagerLocked: @ 3000810
- .space 0x1
-
-gDma3RequestCursor: @ 3000811
- .space 0x7
-
+ .include "src/dma3_manager.o"
.include "src/gpu_regs.o"
.include "src/bg.o"
.include "src/text.o"
.include "src/sprite.o"
-
-gUnknown_03000D10: @ 3000D10
- .space 0x10
-
-gUnknown_03000D20: @ 3000D20
- .space 0x30
-
-gUnknown_03000D50: @ 3000D50
- .space 0x4
-
-gUnknown_03000D54: @ 3000D54
- .space 0x4
-
-gUnknown_03000D58: @ 3000D58
- .space 0x4
-
-gUnknown_03000D5C: @ 3000D5C
- .space 0x4
-
-gUnknown_03000D60: @ 3000D60
- .space 0x4
-
-gUnknown_03000D64: @ 3000D64
- .space 0x4
-
-gUnknown_03000D68: @ 3000D68
- .space 0x4
-
-gUnknown_03000D6C: @ 3000D6C
- .space 0x1
-
-gUnknown_03000D6D: @ 3000D6D
- .space 0x1
-
-gUnknown_03000D6E: @ 3000D6E
- .space 0x2
-
-gUnknown_03000D70: @ 3000D70
- .space 0x2
-
-gUnknown_03000D72: @ 3000D72
- .space 0x1
-
-gUnknown_03000D73: @ 3000D73
- .space 0x1
-
-gUnknown_03000D74: @ 3000D74
- .space 0x4
-
-gUnknown_03000D78: @ 3000D78
- .space 0x8
-
-gUnknown_03000D80: @ 3000D80
- .space 0x10
-
-gUnknown_03000D90: @ 3000D90
- .space 0x10
-
-gUnknown_03000DA0: @ 3000DA0
- .space 0x4
-
-gUnknown_03000DA4: @ 3000DA4
- .space 0x4
-
-gUnknown_03000DA8: @ 3000DA8
- .space 0x4
-
-gUnknown_03000DAC: @ 3000DAC
- .space 0x4
-
-gUnknown_03000DB0: @ 3000DB0
- .space 0x8
-
+ .include "src/link.o"
.include "src/rtc.o"
-
-gUnknown_03000DD0: @ 3000DD0
- .space 0x4
-
-gUnknown_03000DD4: @ 3000DD4
- .space 0x4
-
-gUnknown_03000DD8: @ 3000DD8
- .space 0x4
-
-gUnknown_03000DDC: @ 3000DDC
- .space 0x4
-
+ .include "src/main_menu.o"
+ .include "src/battle_1.o"
.include "src/egg_hatch.o"
-
-.space 0x4 @ why the gap?
-
-gUnknown_03000DE8: @ 3000DE8
- .space 0x10
-
-gUnknown_03000DF8: @ 3000DF8
- .space 0xC
-
-gUnknown_03000E04: @ 3000E04
- .space 0x2
-
-gUnknown_03000E06: @ 3000E06
- .space 0x2
-
+ .include "src/berry_blender.o"
.include "src/play_time.o"
-
-.align 2
-
-gUnknown_03000E0C: @ 3000E0C
- .space 0x4
-
-gUnknown_03000E10: @ 3000E10
- .space 0x4
-
-gUnknown_03000E14: @ 3000E14
- .space 0x4
-
-gUnknown_03000E18: @ 3000E18
- .space 0x1
-
-gUnknown_03000E19: @ 3000E19
- .space 0x7
-
-gUnknown_03000E20: @ 3000E20
- .space 0x8
-
-gUnknown_03000E28: @ 3000E28
- .space 0x2
-
-gUnknown_03000E2A: @ 3000E2A
- .space 0x2
-
-gUnknown_03000E2C: @ 3000E2C
- .space 0x4
-
-gUnknown_03000E30: @ 3000E30
- .space 0x8
-
-.include "src/script.o"
-
-.align 2
-gUnknown_03000F30: @ 3000F30
- .space 0x4
-
-gUnknown_03000F34: @ 3000F34
- .space 0x2
-
-gUnknown_03000F36: @ 3000F36
- .space 0x2
-
-gUnknown_03000F38: @ 3000F38
- .space 0x2
-
-gUnknown_03000F3A: @ 3000F3A
- .space 0x2
-
-gUnknown_03000F3C: @ 3000F3C
- .space 0x4
-
-gUnknown_03000F40: @ 3000F40
- .space 0x4
-
-gUnknown_03000F44: @ 3000F44
- .space 0x4
-
+ .include "src/rom4.o"
+ .include "src/field_camera.o"
+ .include "src/script.o"
+ .include "src/scrcmd.o"
+ .include "src/tileset_anims.o"
+ .include "src/palette.o"
.include "src/sound.o"
-
-gUnknown_03000F50: @ 3000F50
- .space 0x8
-
-gUnknown_03000F58: @ 3000F58
- .space 0x20
-
-gUnknown_03000F78: @ 3000F78
- .space 0x188
-
-gUnknown_03001100: @ 3001100
- .space 0x1
-
-gUnknown_03001101: @ 3001101
- .space 0x1
-
-gUnknown_03001102: @ 3001102
- .space 0x6
-
-gUnknown_03001108: @ 3001108
- .space 0x1C
-
-gUnknown_03001124: @ 3001124
- .space 0xC
-
-gUnknown_03001130: @ 3001130
- .space 0x4
-
-gUnknown_03001134: @ 3001134
- .space 0x4
-
-gUnknown_03001138: @ 3001138
- .space 0x4
-
-gUnknown_0300113C: @ 300113C
- .space 0x4
-
-gUnknown_03001140: @ 3001140
- .space 0x4
-
-gUnknown_03001144: @ 3001144
- .space 0x4
-
-gUnknown_03001148: @ 3001148
- .space 0x4
-
-gUnknown_0300114C: @ 300114C
- .space 0x4
-
-gUnknown_03001150: @ 3001150
- .space 0x4
-
-gUnknown_03001154: @ 3001154
- .space 0x4
-
-gUnknown_03001158: @ 3001158
- .space 0x4
-
-gUnknown_0300115C: @ 300115C
- .space 0x4
-
-gUnknown_03001160: @ 3001160
- .space 0x8
-
-gUnknown_03001168: @ 3001168
- .space 0xC
+ .include "src/field_screen.o"
+ .include "src/field_effect.o"
+ .include "src/pokemon_storage_system.o"
+ .include "src/fldeff_cut.o"
+ .include "src/script_menu.o"
+ .include "src/record_mixing.o"
gUnknown_03001174: @ 3001174
.space 0x1
diff --git a/sym_ewram.txt b/sym_ewram.txt
index e49b94160..7848dcc7c 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -747,9 +747,7 @@ gUnknown_02037621: @ 2037621
gUnknown_02037622: @ 2037622
.space 0x2
-gUnknown_02037624: @ 2037624
- .space 0xF0
-
+ .include "src/tileset_anims.o"
.include "src/palette.o"
.include "src/sound.o"